TIL

강하주 공부 시작.

whateveryouwish 2024. 7. 12. 21:25

드디어 SQL, Python 필수 강의를 완강하였다.

두 강의를 완강하고 SQL문제 10개를 풀어보았다.

파이썬 라이브 세션 숙제 7개 중 6개도 풀어보았다.

 

우선, 두 강의를 동시에 듣고 진행하니 조금씩 다른 문법으로 인해 혼동되기 쉽다는 걸 느꼈다.

대학에서 공부했던 파이썬 경험으로 인해 파이썬은 금방 따라잡을 자신이 있었으나,

SQL은 같은 반복문, 조건문을 활용함에도 불구하고 다른 형식이어야 하므로

기존에 가지고 있던 파이썬 지식도 혼동되는 느낌이었다.

게다가 공부하는 습관이 부서진 지 오래 됐어서 마음을 다잡기도 힘들었다.

 

7월 11일에 비로소 도서관을 가는 선택을 하게 되었고

하루종일 도서관에서 시간을 보내며 이제서야 공부할 자세가 된 것이 느껴진다.

 그동안 열심히 하지 못하는 나 자신이 조원들에게 창피했는데

빠른 성장세로 꼭..! 도움이 되고싶다.

 

SQL문제를 풀고, 파이썬 과제를 하면서

처음으로 코딩을 CHAT GPT와 함께 해봤다.

정답을 구하려는 목적보다는 이런 함수가 이렇게 작용하는 것을 알고 있는데

그 함수나 메서드의 용법을 정확하게 모르고 있었기에

용례나 공식을 알려달라는 부탁을 위주로 했다.

 

이러한 공부 습관이 그다지 효과적이지 않다는 것을 알지만, 그리고 본인의 성향에도 맞지 않지만

TIL, WIL 제도를 통해 철저한 복습을 하게 되면서 효율적인 공부 방법으로 사용할 수 있으리라 생각된다.

지피티와 나눴던 대화는 모두 '기록'이 되어 있어 정리하기에 굉장히 편리하기 때문이다.

 

그리고 사람에게 무언가를 물어보는 것을 불편해하는 본인에게

챗지피티는 정말 좋은 선생님이 되어주었다.

 

하나의 정답만을 보여주는 게 아니고 몇가지의 용법, 용례를 보여주면서

궁금해하는 모든 것들에 가장 효율적인 대답들을 내주었다.

감탄하지 않을 수 없었다.

 

Chat gpt는 일정 질문 이상 하니 텀을 두거나 유료로 업그레이드 해야했다.

뤼튼이라는 AI 사이트가 있기 때문에 아주 좋은 대체재라고 생각한다.

다만, 대답하기 어려운 게 있으면 사람이 많아 이용이 원활하지 못하다고 하는 경우도 있다.

 

https://wrtn.ai/

 

뤼튼

당신의 첫 AI 에이전트 뤼튼. AI 검색부터 나만의 AI 캐릭터까지, AI의 끝없는 가능성을 탐험해 보세요.

wrtn.ai

 

또한 엣지의 코파일럿도 좋은 비서가 된다고 하니, 그쪽도 경험해보면 좋을 것 같다.

 

우선 라이브 세션에서 잠깐씩 알려준 팁들에 대해서 정리해두고자 한다.

 

1. SHIFT + TAB

 

함수나 메서드를 선택하고 Shift+Tab을 누르면

파이썬 안에 누군가가 만들어둔 내장 함수에 대해 용법과 설명 등이 정리된 팝업이 뜬다.

 

나처럼 용법을 몰라 AI의 힘을 빌리는 사람들에게

아주 편리한 기능이라고 생각된다.

 

이걸 Chat GPT한테 물어보면,

더보기를 참조하시오!

더보기

주피터 노트북에서 Shift + Tab의 기능

 

파이썬 주피터 노트북(Jupyter Notebook)에서 Shift + Tab을 누르면 코드 편집기에서 다양한 유용한 기능을 제공합니다. 이 단축키는 주로 코드 작성 및 디버깅을 도와주는 기능을 활성화합니다. 다음은 Shift + Tab의 주요 기능들입니다:

1. 도큐멘테이션 팝업

Shift + Tab을 한 번 누르면 커서가 위치한 함수나 메서드의 간략한 도큐멘테이션(문서)을 팝업으로 표시합니다. 이 도큐멘테이션에는 해당 함수나 메서드의 간단한 설명, 인자(argument), 반환 값(return value) 등에 대한 정보가 포함됩니다.

2. 상세 도큐멘테이션 팝업

Shift + Tab을 두 번 연속으로 누르면 더욱 상세한 도큐멘테이션을 팝업으로 표시합니다. 이 팝업에는 함수나 메서드에 대한 자세한 설명이 포함되어 있으며, 함수의 서명(signature) 및 인자에 대한 자세한 설명도 볼 수 있습니다.

3. 팝업 고정

Shift + Tab을 세 번 연속으로 누르면 도큐멘테이션 팝업이 고정되어 화면에 남아 있습니다. 이 기능은 코드를 작성하면서 참고 문서를 계속 보고 싶을 때 유용합니다.

4. 도큐멘테이션 사이드 패널

Shift + Tab을 네 번 연속으로 누르면 도큐멘테이션이 편집기의 오른쪽에 사이드 패널 형태로 표시됩니다. 이 패널은 고정되어 있어 스크롤을 하거나 다른 작업을 할 때도 계속 참고할 수 있습니다.

예제

다음은 주피터 노트북에서 Shift + Tab 기능을 사용하는 예제입니다:

  1. 함수 작성:
  2.  
  3. import numpy as np np.arange
  4. python코드 복사
  5. 커서를 np.arange 함수에 위치시키고 Shift + Tab을 한 번 누르면, arange 함수의 간략한 도큐멘테이션이 팝업으로 표시됩니다.
  6. Shift + Tab을 두 번 연속으로 누르면, arange 함수의 상세한 도큐멘테이션이 표시됩니다.
  7. Shift + Tab을 세 번 연속으로 누르면, 팝업이 고정되어 화면에 남습니다.
  8. Shift + Tab을 네 번 연속으로 누르면, 도큐멘테이션이 편집기 오른쪽에 사이드 패널 형태로 표시됩니다.

이 기능은 특히 새로운 함수나 메서드를 배울 때, 코드의 정확성을 확인할 때 매우 유용합니다. 또한, 외부 라이브러리나 모듈을 사용할 때 해당 함수나 메서드의 사용법을 빠르게 참조할 수 있어 개발 생산성을 크게 향상시킵니다.

 

2. 제곱근 구하는 방법

 

더보기

1. Math.sqrt() 사용

 

math.sqrt() 함수는 파이썬의 math 모듈에 포함된 함수로, 주어진 숫자의 제곱근을 계산하여 반환합니다.

제곱근은 어떤 수를 제곱했을 때 원래 수가 되는 수를 의미합니다.

사용법

먼저 math 모듈을 임포트한 다음 math.sqrt() 함수를 사용할 수 있습니다.

이 함수는 양수와 0에 대해 동작하며, 음수를 입력하면 ValueError 예외가 발생합니다.

예제

  1. 양수의 제곱근: math.sqrt(25)는 5.0을 반환합니다.
  2. 0의 제곱근: math.sqrt(0)는 0.0을 반환합니다.
  3. 부동 소수점 수의 제곱근: math.sqrt(2.25)는 1.5를 반환합니다.
  4. 음수의 제곱근: math.sqrt(-1)를 호출하면 ValueError가 발생하며, 이는 수학적으로 음수의 제곱근이 실수 범위 내에서 정의되지 않기 때문입니다.

추가 정보

제곱근을 계산할 때, math.sqrt() 함수는 항상 부동 소수점 수(float)를 반환합니다.

만약 복소수의 제곱근을 계산하려면 cmath 모듈의 sqrt 함수를 사용해야 합니다.

이 함수는 복소수의 제곱근을 반환합니다.

이와 같이 math.sqrt() 함수는 주어진 숫자의 제곱근을 계산하는 데 사용되며, 다양한 용도로 활용할 수 있습니다.

 

 

2. number**1/2 or number**0.5

 

이후 오후 스크럼에서 조원들에게 배운 것들에 대해서 정리해두고자 한다.

 

1. Zip() 메서드 (Python)

zip() 함수는 파이썬 내장 함수로, 여러 개의 반복 가능한(iterable) 객체(예: 리스트, 튜플 등)를

병렬로 묶어서 튜플의 이터레이터를 생성합니다.

각 튜플은 전달된 이터러블 객체들의 동일한 위치에 있는 요소를 포함합니다.

 

 

반복 가능한 객체들의 동일한 위치에 있는 요소들을 묶어서 튜플로 만들기 때문에

데이터 구조를 변환하거나 동시에 여러 리스트를 순회하는 등의 다양한 작업을 쉽게 할 수 있습니다.

 

2. With as 용법(SQL)

 

SQL에서 WITH ... AS 구문은

공통 테이블 식(Common Table Expression, CTE)을 정의하는 데 사용됩니다.

CTE는 복잡한 쿼리를 더 읽기 쉽고 관리하기 쉽게 만들기 위해

일시적인 결과 집합을 정의하는 방법입니다.

CTE는 쿼리의 시작 부분에서 정의되며,

이후 쿼리의 다른 부분에서 마치 테이블인 것처럼 사용할 수 있습니다.

기본 사용법

CTE를 정의하려면 WITH 키워드를 사용하고, 그 뒤에 CTE의 이름과 CTE에 해당하는 쿼리를 괄호로 묶어 작성합니다. 그런 다음 메인 쿼리에서 이 CTE를 사용할 수 있습니다.

예제

다음 예제는 직원 테이블에서 부서별 평균 급여를 계산한 후, 평균 급여가 50000 이상인 부서를 선택하는 쿼리입니다.

 

여러 CTE 사용하기

여러 개의 CTE를 정의하려면 각 CTE를 쉼표로 구분하여 나열하면 됩니다. 각 CTE는 메인 쿼리에서 서로 참조할 수 있습니다.

예제

다음 예제에서는 두 개의 CTE를 사용하여 먼저 부서별 평균 급여를 계산하고, 그 다음에는 이 정보를 사용하여 부서별 직원 수를 계산합니다.

 

이 예제에서 DeptAvgSalary와 DeptEmployeeCount라는 두 개의 CTE를 정의하고, 메인 쿼리에서 이를 사용하여 부서별 평균 급여와 직원 수를 결합하여 출력합니다.

요약

  • WITH ... AS 구문을 사용하여 공통 테이블 식(CTE)을 정의할 수 있습니다.
  • CTE는 일시적인 결과 집합을 정의하는 데 사용되며, 복잡한 쿼리를 더 읽기 쉽고 관리하기 쉽게 만듭니다.
  • 여러 개의 CTE를 정의할 때는 각 CTE를 쉼표로 구분하여 나열합니다.

이와 같은 CTE는 쿼리의 가독성을 높이고 복잡한 쿼리를 더 간단하게 작성하는 데 매우 유용합니다.