[내배캠] 데이터분석 6기/본캠프 기록

[본캠프 2일차] 파이썬 코드카타, 아티클 스터디①, SQLD 공부

물맨두 2025. 2. 18. 21:32
어제까진 수료까지 129일 남았으니까
오늘은 128일 남았어야 하는데
갑자기 141일이 남은 건에 대하여..
(이건 마치 일을 하면 줄어들어야 하는데
일을 할수록 늘어나는 인생과 같다)

 

사실 아직까진 바쁠 게 없어서 평안히 맞는 내배캠 2일차. 앞으로도 오늘과 같은 마음이길 바라본다.

 

...그런데 갑자기 공지가 뜨더니 캠프 기간이 6/26(목)에서 7/9(수)로 13일이 늘어나버린 것이다!

 

와우 인생 한 치 앞을 모른다지만 갑자기 기간이 늘어날 거라곤 생각해 본 적 없는걸.

그치만 어쩌겠어, 나는 그냥 "네~" 하고 따를 수밖에.

그나저나 기간이 늘어난 김에 전부터 '내배캠 하면서 혼자 데이터 분석이나 마케팅 관련 서적을 읽고 기록하는 스터디를 해볼까' 싶었는데 이건 하라는 계시인 건가 싶기도 하고.

 

아무튼, 오늘 한 일은,

  • 파이썬 공부
    • [코드카타] 파이썬 문제 2~10번 풀기
  • SQL 공부
    • [코드카타] SQL 문제 11번 풀기
    • [SQLD 자격증 챌린지] 15주차 수강하기 (SQLD 강의 완!!)
  • 아티클 스터디 ① 진행하기 (열두 번째이자 첫 번째)

 


 

아티클 스터디 ①: 데이터 시각화 101 : 데이터 시각화는 왜 중요할까?

사실 아티클 스터디 본캠프 시작하고 만난 조로서는 첫 스터디 시간인데 이전에 한 것까지 치면 벌써 열두 번째 시간이다.

 

오늘 읽은 아티클 :

 

데이터 시각화 101: 1 데이터 시각화는 왜 중요할까? | 요즘IT

데이터의 양이 늘어나고 복잡해질 수록 데이터를 좀 더 쉽게 이해하고 인사이트를 발견하는 것의 필요성이 높아지고 있는데요. 데이터 시각화란 말 그대로 데이터에서 발견한 정보를 시각적으

yozm.wishket.com

 

250218 아티클 스터디를 하며 개인 요약 한 일부

오늘 아티클은 데이터 시각화란 무엇이고 데이터 시각화를 사용해야 하는 이유를 데이터 시각화의 3가지 효과에 따라 전하는 아티클을 읽었다.

 

데이터 시각화라는 방식이 전부터 말하는 수단 같다고 생각했다. 어떤 정보값을 가지는 것들은 그 정보가 신뢰할 만한 것인지, 적절하게 사용되고 있는지 등을 따지는 것도 중요하지만 가독성을 따지는 일 역시 중요하다. 대화라는 행위가 화자와 청자에서 성립하듯이 데이터를 가공한 정보 역시 결국 이를 볼 사람들을 고려하지 않아선 안 된다. '어떻게 하면 효과적으로 전할 수 있는가'는 단지 보기 좋은 장식적인 데에 그치는 질문이 아닌 본질적으로 '얼마나 효과적으로 소통할 수 있는지'에 대한 문제다. 그런 의미에서 인포그래픽에도 관심을 갖고 꾸준히 더 나은 데이터 시각화 방식을 고민해야겠다. 

 


 

파이썬 공부: 파이썬 코드카타

오늘은 어제 계획했듯이 SQL 1문제, 그리고 파이썬을 10번 문제까지 풀었다.

 

SQL은 딱히 어려운 내용이 없어서 적을 내용이 없고, 파이썬은 2~10번까지 푼 문제 중에 두 문제만 어떻게 코드를 작성했는지 기록한다.

 

008. 각도기

Q. 각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.

def solution(angle):
    if 0 < angle < 90:
        answer = 1
    elif angle = 90:
        answer = 2
    elif 90 < angle < 180:
        answer = 3
    else:
        answer = 4
    return answer

처음에는 위와 같이 작성했다.

주어진 조건이 ①예각일 때, ②직각일 때, ③둔각일 때, ④평각일 때로 총 조건을 4개를 걸어야 하므로

if문에 조건을 여러 개 걸 수 있는 elif를 사용하여 작성하였다.

 

그런데 직각 조건을 angle = 90에서 syntax 오류가 발생했다는 메시지가 떠서 다음과 같이 수정했다.

def solution(angle):
    if 0 < angle < 90:
        answer = 1
    elif angle == 90:
        answer = 2
    elif 90 < angle < 180:
        answer = 3
    else:
        answer = 4
    return answer

연산사 =을 연산자 ==로 수정했다.

  • = : 할당 연산자 (a = b : a에 b를 할당한다는 의미)
  • == : 비교 연산자 (a == b : a와 b가 서로 같은지 비교한다는 의미. 같으면 True를, 다르면 False를 출력함)

내가 쓰고자 하는 조건은 angle과 90이 같은지를 비교하는 것이니 여기선 ==를 사용하는 것이 적절하다.

 

009. 짝수의 합

Q. 정수 n이 주어질 때, n 이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요.

def solution(n):
    answer = 0
    for i in range(n+1):
        if i % 2 == 0:
            answer += i
    return answer

for문을 사용해 n 이하의 짝수가 나올 때마다 반복적으로 더해주게 한다. 이때 in 뒤에는 iterable(반복 가능한) 객체만 올 수 있다.

  • iterable 객체 : 값을 차례대로 꺼낼 수 있는 객체 (ex. list, dict, set, range, str 등)

그래서 range() 함수를 사용해 n 이하까지라는 범위를 지정한다.

  • range(stop) : 0부터 stop-1까지 (ex. range(3) = [0, 1, 2]) 
  • range(start, stop) : start부터 stop-1까지 (ex. range(1,3) = [1, 2])
  • range(start, stop, step) : start부터 stop-1까지 step 간격으로 (ex range(1,6,2) = [1, 3, 5])

그리고 마지막으로 if문을 사용해 해당 정수가 짝수일 때 답에 그 숫자를 더하도록 작성했다.

 


 

SQLD 공부: [SQLD 자격증 챌린지] 수강하기

Part 1.

  • ❗1과목은 특히나 과락에 조심해야 한다. 
    • 과락 기준 : 과목별 40% 이상의 점수를 취득하지 못하면 과락
    • 1과목(10문제/20점 만점) → 과락: 4문제 미만/8점 미만

데이터 모델링의 이해

  • 모델링의 특징
      • 추상화(Abstraction) : 현실 세계를 일정한 형식에 맞추어 표현하는 것
      • 단순화(Simplification) : 복잡한 현실 세계를 약속된 규칙에 기반한 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있도록 하는 것
      • 명확화(Clarity) : 대상에 대한 애매모호함을 제거하고 현상을 정확하게 기술하는 것
  • 모델링의 3가지 관점
    • 데이터 관점 : 업무가 어떤 데이터와 관련 있는지
    • 프로세스 관점 : 업무가 실제 하는 일이 무엇인지
    • 데이터와 프로세스의 상관 관점 
  • 모델링의 3가지 단계
    •  개념적 데이터 모델링 :
      전사(전체)적 데이터 모델링 수행시 행해지며 추상화 레벨이 가장 높은 모델링
      - 우리가 어떤 서비스를 만들 때 가장 먼저 생각하는 것 (수강생 DB 필요하고 ,강의 DB랑, 결제 정보 DB랑 등등)
    • 논리적 데이터 모델링 :
      재사용성이 가장 높은 모델링으로 데이터베이스 모델에 대한 Key, 속성, 관계 등을 모두 표현하는 단계
      (수강생 DB 이름, 나이, 성별, 전화번호 등등, 그리고 수강생은 강의를 들을 수 있고 강의 정보엔 결제 정보도 필요하고 등등)
    • 물리적 데이터 모델링 :
      실제 데이터베이스로 구현할 수 있도록 성능이나 가용성 등의 물리적인 성격을 고려하여 모델을 표현하는 단계
      (앞서 생각한 내용들을 실제 데이터베이스에 구현할 수 있게 하는 모델링)
  • ⭐3단계 스키마 구조와 독립성
    • 외부 스키마 : View 단계 여러 개의 사용자 관점으로 구성, 실제로 관심 있는 데이터베이스 부분을 설명하고 나머지는 감춘다.
    • 개념 스키마 : 모든 사용자 관점을 통합한 조직 전체의 DB를 기술, DB에 저장되는 데이터와 그들간의 관계를 표현하는 스키마
      • ---논리적 독립성 : 개념 스키마가 변경되어도 외부 스키마는 영향을 받지 않음
    • 내부 스키마 : DB가 물리적으로 저장된 형식, 물리적 장치에서 데이터가 실제적으로 저장되는 완전히 구체적인 방법
      • ---물리적 독립성 : 내부 스키마가 변경되어도 외부/개념 스키마는 영향을 받지 않음

 

데이터 모델링의 중요 요소: ①엔터티

  • 엔터티의 특징
    • 업무에서 필요로 하는 정보이며, 업무 프로세스에 활용되어야
    • 2개 이상의 인스턴스를 가지고 있어야 함
    • 다른 엔터티와 1개 이상의 관계를 가지고 있어야 함
  • 엔터티의 분류
    • 유/무형
      • 유형 엔터티 : 물리적인 형태 존재 (상품, 강사)
      • 개념 엔터티 : 물리적인 형태 없음 (학과, 코스닥) 무형
      • 사건 엔터티 : 행위를 함으로써 발생 (이벤트 응모, 주문) 무형

 

데이터 모델링의 중요 요소: ②속성

  • 엔터티 - 인스턴스 - 속성- 속성값의 관계
    • 한 개의 엔터티는 두 개 이상의 인스턴스를 가짐
    • 한 개의 인스턴스는 두 개 이상의 속성을 가짐
    • 한 개의 속성은 하나의 속성값을 가짐
  • 속성의 분류
    • 특성에 따른
      • 기본속성 : 업무로부터 추출된 모든 속성
      • 설계속성 : 업무에 존재하지는 않지만 설계하다 보니 필요하다고 판단되어 도출 해낸 속성
      • 파생속성 : 다른 속성의 속성값을 계산하거나 특정한 규칙으로 변형하여 생성한 속성
    • 구성방식에 따른
      • PK(Primary Key) : 엔터티의 인스턴스들을 식별할 수 있는 속성, 각 인스턴스에 유니크함을 부여
      • FK(Foreign Key) : 다른 엔터티의 속성에서 가져온 속성, 다른 엔터티와 관계를 맺게 해주는 매개체 역할
      • 일반속성 : PK, FK를 제외한 나머지 속성
  • 도메인(Domain)
    • 속성이 가질 수 있는 속성값의 범위

 

데이터 모델링의 중요 요소: ③관계

  • 관계의 분류
    • 존재 관계 : 존재 자체로 연관성이 있는 관계 (회사-사원)
    • 행위 관계 : 특정한 행위를 함으로써 연관성이 생기는 관계 (고객-주문)
  • 관계 표기법
    • 관계명(Membership) : 관계의 이름, 모든 관계는 두 개의 관계명을 가지는데, 각 엔터티의 관점에서 관계명을 하나씩 가지기 때문
    • 관계차수(Cardinality) : 관계에 참여하는 수, 일반적으로 1:1, 1:M, M:N 형식으로 구분
    • 관계선택사양(Optionality) : 선택참여관계→참여하는 엔터티가 항상 참여하는지 아니면 참여할 수도 있는지를 나타내는 방법

 

식별자

  • 주식별자
    • 기본키, PK에 해당하는 속성
    • 하나의 속성이 주식별자가 될 수도 있고, 여러 개의 속성이 주식별자가 될 수도 있음
      • 유일성 : 각 인스턴스에 유니크함을 부여하여 식별이 가능하도록
      • 최소성 : 유일성을 보장하는 최소 개수의 속성이어야 함
      • 불변성 : 속성값이 되도록 변하지 않아야 함
      • 존재성 : 속성값이 NULL일 수 없음
  • 식별자의 분류
    • 대표성 여부
      • 주식별자 : 유일성, 최소성, 불변성, 존재성을 가진 대표 식별자로 다른 엔터티와 참조 관계로 연결
      • 보조식별자 : 대표 식별자가 아님. 다른 엔터티와 참조 관계로 연결되지 않음
    • 스스로 생성됐는지 여부
      • 내부식별자 : 엔터티 내부에서 스스로 정의된 식별자
      • 외부식별자 : 다른 엔터티와의 관계를 통해 다른 엔터티로부터 받아오는 식별자
    • 단일 속성의 여부
      • 단일식별자
      • 복합식별자
    • 대체 여부
      • 원조식별자 : 업무에 의해 만들어지는 식별자(본질식별자)
      • 대리식별자 : 주식별자의 속성이 두 개 이상인 경우 그 속성들을 하나로 묶어서 사용하는 식별자(인조식별자)
  • ⭐⭐식별자 관계 vs 비식별자 관계
    • 식별자 관계 : 부모 엔터티의 식별자가 자식 엔터티의 주식별자가 되는 관계
    • 비식별자 관계 : 부모 엔터티의 식별자가 자식 엔터티의 주식별자가 아닌 일반 속성이 되는 관계

 


 

⭐⭐⭐정규화

  • 정규화
    • 데이터의 정합성(데이터의 정확성과 일관성을 유지하고 보장)을 위해 엔터티를 작은 단위로 분리하는 과정
    • 적절한 정규화는 성능상 이롭지만 지나친 정규화는 오히려 성능 저하를 일으킬 수 있음
  • 제1정규형이 안 된 경우
    • 데이터베이스에 반복되는 그룹이 있음
  • 제2정규형이 안 된 경우
    • 주식별자에 종속되지 않은 값이 존재 - 부분함수 종속성을 제거해야 제2정규형이 된 것
  • 제3정규형이 안 된 경우
    • 일반속성이 일반속성에 종속됨 - 이행함수 종속성을 제거해야 제3정규형이 된 것

 

반정규화

  • 반정규화
    • 정규화를 했을 때 조회 성능이 심각하게 저하되는 경우 반정규화를 고려할 수 있음 — 반정규화를 반드시 해야 하는 것은 아님
    • 정규화가 끝난 후 반정규화 과정을 거침
    • 반정규화를 하면 데이터 무결성이 저해된다고 볼 수 있음
  • 테이블 반정규화
    • 테이블 병합
    • 테이블 분할
      • 테이블 수직 분할
        • 자주 사용하는 속성이 아니거나 대부분의 인스턴스가 해당 속성값을 NULL로 갖고 있을 때 고려
      • 테이블 수평 분할
        • 엔터티의 인스턴스를 특정 기준으로 별도로 엔터티를 분할(파티셔닝)
        • 분할 기준은 주로 기간이지만 다른 속성이 될 수도 있음

 

트랜잭션

  • 트랜잭션의 특징
    • 원자성 : 중간에 어떠한 작업이라도 실패하면 이전 상태로 롤백되어야 함
    • 일관성 : 트랜잭션이 시작하기 전과 후에 일관성이 유지되어야 함
    • 고립성 : 여러 트랜잭션이 동시에 실행될 때 각각의 트랜잭션이 서로 영향을 미치지 않아야
    • 지속성 : 트랜잭션이 성공적으로 완료된 경우, 해당 트랜잭션에서 수행한 변경 사항은 영구적으로 데이터베이스에 반영되어야 함

 

NULL

  • NULL값의 특징
    • 값이 없음을 의미
    • NULL이 포함된 사칙연산의 결과는 항상 NULL
    • NULL과의 비교 연산 결과는 항상 NULL
    • ⭐데이터를 집계할 때 NULL은 집계 대상에서 제외

 


 

Part 2.

  • ❗2과목의 요약은 '이런 내용이 있었지~' 하고 확인하는 용도로 활용해야 함

 

SQL문 기본

  • SELECT문
    • DISTINCT 명령어 사용 시 중복값을 제거할 수 있음
    • 합성연산자 ( || )로 문자와 문자 연결 가능

 

  • 문자 함수
    • SUBSTR(문자열, n, m) : 문자열 중 n자리부터 m개의 문자 데이터 추출
    • LENGHT(문자열) : 문자열 길이
    • LTRIM(문자열, 삭제할 문자) / RTRIM(문자열, 삭제할 문자)
      TRIM(leading 삭제할 문자 FROM 문자열) / TRIM(trailing 삭제할 문자 FROM 문자열)
      TRIM(삭제할 문자 FROM 문자열) : 양쪽 제거
    • LPAD(문자열, n, 넣을 문자) / RPAD(문자열, n, 넣을 문자) : 문자열을 넣을 문자를 넣어서 n자리로 늘린다
      • 넣을 문자 생략 시, 공백으로 n자리만큼 늘린다
  • 날짜 함수
    • SYSDATE : 현재 시점의 연, 월, 일, 시, 분, 초를 반환
    • EXTRACT(특정 단위 FROM 날짜 데이터) : 날짜 데이터에서 특정 단위만 추출해서 반환
  • NULL값 관련 함수
    • NVL(인수1, 인수2) : 인수1이 NULL값이면 인수2로 대체
      NVL2(인수1, 인수2, 인수3) : 인수1이 NULL값이 아니면 인수2를, NULL값이면 인수3으로 대체
  • CASE절

 

  • WHERE절
    • 비교 연산자
    • 부정 비교 연산자 : != , ^= , <> 
    • SQL 연산자
      • BETWEEN A AND B : A와 B의 사이 (A, B도 포함)
      • LIKE
        • % : 문자열 / _ : 하나의 문자
      • IN (list) : list 중 하나와 일치
      • IS NULL / IS NOT NULL : NULL값인지 아닌지
    • 논리 연산자 : AND, OR, NOT
  • GROUP BY절, HAVING절
    • 집계합수
      • COUNT(*)
      • SUM(컬럼)
      • AVG(컬럼)
      • MIN(컬럼)
      • MAX(컬럼)
    • HAVING절 : GROUP BY절로 묶인 다음에 적용되는 조건 (WHERE절은 GROUP BY로 묶이기 전에)

 

  • 적용 순서 : FROM → WHERE → GROUP BY → HAVING →SELECT → ORDER BY

 

  • JOIN
    • INNER JOIN
    • LEFT OUTER JOIN / RIGHT OUTER JOIN
      FULL OUTER JOIN
    • NATURAL JOIN ← 많이들 헷갈려 함
      • 컬럼명이 동일한 컬럼 기준으로 DBMS 프로그램이 알아서 JOIN 시켜줌
    • CROSS JOIN

 

SQL문 활용

  • 서브쿼리
    • SELECT절 : 스칼라 서브쿼리
    • FROM절 : 인라인 뷰
    • WHERE절, HAVING절 : 중첩 서브쿼리
      • 메인쿼리와의 관계에 따른 분류
        • 비연관 서브쿼리 : 서브쿼리 내에 메인쿼리의 컬럼이 존재하지 않음
        • 연관 서브쿼리 : 서브쿼리 내에 메인쿼리의 컬럼이 존재
      • 반환하는 데이터 형태에 따른 분류
        • 단일행 서브쿼리 : 단일 행 비교 연산자(=, <, > 등)과 함께 사용
        • 다중행 서브쿼리 : 다중 행 비교 연산자(IN, ALL, ANY 등)과 함께 사용
        • 다중 컬럼 서브쿼리
  • 뷰(View)
    • 뷰를 사용하는 이유
      • 보안성 : 보안이 필요한 컬럼이 가진 테이블일 경우 해당 컬럼을 제외한 별도의 뷰를 생성하여 제공함으로써 보안을 유지할 수 있음
      • 독립성 : 테이블 스키마가 변경되었을 경우 애플리케이션은 변경하지 않고 관련 뷰만 수정
      • 편리성 : 복잡한 쿼리 구문을 뷰명으로 단축시킴으로써 가독성을 높이고 편리하게 사용할 수 있음

 

  • 집합 연산자
    • UNION ALL : 합집합 (중복 제거 X)
    • UNION : 합집합 (중복 제거 O)
    • INTERSECT : 교집합 (중복 제거 O)
    • NINUS / EXCEPT : 차집합(선행 테이블에서 후행 테이블 제외)
  • 그룹 함수
    • 소계 함수
      • ROLLUP : 순서가 중요!! 소계와 총계가 모두 나옴
        • ROLLUP(A) : A로 묶고 / 총합계
        • ROLLUP(A, B) : A로 묶고 / A, B로 묶고 / 총합계
        • ROLLUP(A, B, C) : A로 묶고 / A, B로 묶고 / A, B, C로 묶고 /총합계
      • CUBE : 조합할 수 있는 모든 그룹에 대한 소계 및 총계를 보여줌
      • GROUPING SETS : 특정 항목에 대한 소계를 계산, ROLLUP() 함수, CUBE() 함수를 인자값으로 사용할 수 있음
        • 총계를 보고 싶으면 ()를 인자값으로 넣어주면 됨
        • GROUPING SETS(A, B, ()) : A로 묶고 / B로 묶고 / 총합계
  • 윈도우 함수
    • 순위 함수
      • RANK() OVER : 같은 순위 발생 시 존재하는 수만큼 다음 순위를 건너 뜀 (ex. 1등 2등 2등 4등 …)
      • DENSE RANK() OVER : 같은 순위가 발생해도 순위를 순차적으로 매김 (ex. 1등 1등 2등 3등 3등 4등 …)
      • ROW_NUMBER() OVER : 그냥 일렬로 쭉 순서를 매김
    • 집계 함수
    • 행 순서 함수
      • LAG(컬럼명, n) : 파티션별로 n만큼 앞선 데이터를 구하는 함수 
      • LEAD(컬럼명, n) : 파티션별로 n만큼 뒤에 있는 데이터를 구하는 함수
    • 비율 함수
      • NTILE : 주어진 수만큼 행들을 n등분한 후 현재 행에 해당하는 등급을 구하는 함수

 

  • Top-N
    • ROWNUM : 실제로 존재하지 않는 가짜 컬럼
      •  FROM절에서 ORDER BY 조건을 걸어줘야 함
      • 항상 < 조건 혹은 <= 조건으로 사용해야 함

 

관리구문

  • DML : 데이터를 수정, 삭제, 조회하는 명령어
    • INSERT INTO 테이블명 (컬럼명1, 컬럼명2) VALUES (데이터1, 데이터2);
    • UPDATE 테이블명 SET 컬럼명 = 새로운 데이터 (WHRE절 추가 가능);
    • MERGE : 참조테이블과 내 테이블을 비교해서 참조 테이블과 같이 내 테이블을 업데이트함
  • TCL :트랜잭션을 제어하는 명령어
    • COMMIT
    • ROLLBACK
    • SAVEPOINT
  • DDL : 데이터를 정의하는 명령어
    • 제약조건 종류
      • PRIMARY KEY : 고유성을 보장하고 NULL값이 들어갈 수 없음
      • UNIQUE KEY : 고유성은 보장하지만 NULL값은 허용됨
    • 참조 무결성 규정 관련 옵션
      • CASCADE : 부모 값 삭제 시 자식 값도 함께 삭제됨
      • SET NULL : 부모 값 삭제 시 자식 값은 NULL값 처리됨
      • SET DEFAULT : 부모 값 삭제 시 자식 값은 DEFAULT 값으로 대체됨
      • RESTRICT : 자식 테이블의 해당 데이터가 PK가 아닐 시에만 부모 값 삭제 및 수정이 가능함
      • NO ACTION : 참조 무결성 제약이 걸려있을 시에 삭제 및 수정 불가
    • ALTER
      • ADD COLUMN
      • DROP COLUMN
      • MODIFY COLUMN
      • RENAME COLUMN
      • ADD CONSTRAINT : 제약조건 추가
      • DROP TABLE : 테이블의 존재 자체를 삭제시켜버림
      • TRUNCATE TABLE : 테이블 안에 든 데이터만 싹 날려버림
  • DCL : 유저에게 데이터 사용 권한을 부여하거나 회수하는 명령어
    • 권한 관련 명령어
      • GRANT
      • REVOKE
    • ROLE 관련 명령어
      • ROLE을 만들어, ROLE에게 권한을 부여하고, 그 ROLE을 사용자에게 부여함

 

250218 [SQLD 자격증 챌린지] 강의 다 들었다

 

...

.....

 

SQLD 강의는 다 들었다.. 나중에 시험 앞두고 모의고사 열심히 풀어야지.....

할 일이 하나 줄었다, 휴우.


 

 

내일부터는 SQL 라이브 세션이 시작된다고 한다. 

SQL 이렇게 반복하는데 부디 잘 익혀서 실제 업무에서 잘 사용할 수 있기를 바랄 뿐이다.

 

그리고 이제 강의실에는 [ADsP] 강의 하나 남았는데 지금 시간 있을 때 얘까지 다 들어두는 게 낫겠지 싶다.

부지런히 해치울 수 있는 건 해치워놔야 나중이 편하다.

 

그러면 내일은 이번 2월과 3월까지 오늘 공유해주신 학습 진도 계획을 대충 살펴보고 그에 맞춰서 ADsP 강의 수강 계획도 생각해봐야겠다. 

비록 시험은 5월인가에 보게 되겠지만(5월이 됐다고 전부 까먹고 다시 시작하면 안 된다, 미래의 나 자신아). 

 

내일도 화이팅!