SKN/Family AI camp 3기 회고록

SKN Family AI 3기 회고록 2주 차

coiljuice 2024. 7. 22. 13:11
  • 회고(Retrospective) 목적
회고는 우리가 진행하고 있는 방향을 점검하고, 이후 진행할 방향성을 확인하기 위함이다.
또한, 스스로 느꼈던 감정, 했던 일을 통해 Action Item에 대한 아이디어를 생각하는 것이다
  • 회고에 대한 마음가짐
    • 모두에서 이야기할까 말까? 하던 것을 회고를 통해 이야기를 하면서 개선하기
    • 이전 회고를 참고하여 현재 진행하는 프로젝트에 대한 생각과 감정을 정리하기
      • "특정 상황에 내가 어떤 감정이 들었는가?"라는 본인을 되돌아보고 그 당시 어떤 감정을 느꼈는지
      • 만약, 그때에는 많이 힘들었다면 어떤 상황이 힘들었는지, 어떻게 했으면 달라졌는지
      • 문제가 되었던 부분을 비판적으로 분석하고, 어떻게 개선할  수 있는지 
    • 제시되었던 아이디어, 내가 가진 아이디어에 대해 열린 시선으로 바라보기
    • 수동적으로(하라고 해서 한다) 하는 것은 좋지 않으니 적극적으로 하기
    • 가장 중요한 것으로 회고를 꾸준히 하기

 


 

SKN Family AI 3기 회고록 2주 차 (5F 회고 방법론)

 

 

  • Facts : 사실. 무슨 일이 있었는가?
날짜 Facts 참고
07.15 1. 객체지향 언어란 무엇인가?
2. 실모델 구현에 필요한 것은 무엇인가?
3. 클래스 함수의 정의와 작성법, 사용법
4. 모듈 및 패키지 제작 및 사용법 강의
 
07.16 1. 클래스 함수 remind
2. 가변파라미터, 키워드가변파라미터 복습
3. 클래스 연습문제
 
07.17 1. 클래스 함수를 이용해 간단한 게임 만들기
2. 클래스 함수 접근자 지정하기
3. override를 이용하여 게임 코드 수정하기
4. 모듈 및 패키지 직접 제작 하고 사용하기
 
07.18 1. 데이터란 무엇인가?
2. 데이터 베이스란 무엇인가?
3. 데이터베이스 관리 시스템 정의
4. DBMS 기능과 유형 학습
5. ERD 다이어그램 그리기
6. DB 정규화(MySQL, DBeaver)
7. docker-MySQL 실행방법 설명
8. DML 예제 풀기
docker 실행이 안돼있으면 DBeaver가 작동되지 않는다.
07.19 1. DML 예제 풀기  

 

  • Feeling : 느낀 점, 감정. 어떤 느낌이 들었는가?
    • 첫 주와 다르게 진도를 빼는 것이 다소 힘들다는 느낌을 받음
      • MySQL을 학습하면서 오류의 원인이 모호해서 다소 어려움을 느낌
      • Python은 오류가 어디서 나는지 확실하게 보여줘서 편했구나
    • 이후 배울 numpy와 pandas에서 주요하게 사용될 부분이어서 놓친 부분은 개인적으로 공부해야 할 필요성을 느낌

 

  • Finding : 배운 점, 인사이트. 어떤 것을 기억하고 싶은가?
    • MySQL은 처음듣는 강의라 다소 생소하기도 했고 처음 코드 짜는 방법이 어색해서 못 따라가는 부분도 있었지만, 개인 공부를 진행하면서 코드 구조를 알게 되니 다소 어려운 부분도 해결할 수 있는 능력을 가지게 되었습니다.
    • docker와 DBeaver의 사용법은 따로 기록을 해둬서 다음에 공부할 때 필요하면 볼 수 있도록 만들어야 겠다 생각이 듭니다.
    • MySQL의 코드양식은 이후에 데이터 분석에 유용하게 쓰일테니 해당 코드 작성법은 무조건 기억해두고 싶습니다.

 

  • Future Action : 향후 액션 아이템. 앞으로 무엇을 할 것인지?
    • MySQL의 추가 학습과 Regex 정규식을 따로 공부해서 데이터를 더욱 효율적으로 다루고자 합니다.
    • 크롤링과 웹 서비스 기반의 강의를 듣게 되는데 해당 부분과 데이터 부분을 합쳐서 실 서비스를 배포하기 위한 추가적인 기술도 배우려고 합니다.
      • 프론트엔드/백엔드 기술: Django, Javascript, css
      • 데이터 분석 및 시각화 기술: pandas, numpy, matplotlib, seaborn 
      • 자연어 처리 기술: Transformers 
      • 버전 관리 기술: Git, Github
    • 위의 기술은 모두 부트캠프에서 배우는 기술이니 예습과 함께 꼼꼼히 배워야겠다고 생각됩니다.

 

  • Feedback : 피드백. Future Action에서 정한 액션 아이템을 실행하고 어떤 피드백을 받았는가?
    • 체력 단련에 너무 힘을 쓰니 피곤해진다
      • 다소 조절하면서 공부하기 위한 체력관리 잘하자
    • 예습은 지금과 같이 진행하면서 수업에서 다시 확인하면서 복습하자
    • 잘하는 사람의 코드 뿐만 아니라 본인의 코드를 업데이트하는 방법을 통해 더욱 깔끔한 코드를 작성할 수 있게 만들자

 


 

동기들과 코드 비교

  • 내가 짠 코드
############################### -> 생각해보자
# 월마다 누가 가장 많은 물품을 구매했습니까?


desc employees; -- employeeNumber
desc customers ;  -- salesRepEmployeeNumber - customerNumber
desc orders;  -- customerNumber - orderNumber - orderDate
desc orderdetails ; -- orderNumber
 

SELECT -- column
    t1.orderDate
    , sum(od.quantityOrdered) sum_oq
    , t1.employeeNumber
    , t1.orderNumber
from(
    SELECT 
        e.employeeNumber               -- 직원 번호           
        , orderDate                    -- 고객 주문 일자
        , o.orderNumber                -- 고객 주문 번호
    FROM employees e                   -- 직원 DB
        inner join customers c                              -- e에 c를 집어 넣고
        on c.salesRepEmployeeNumber = e.employeeNumber      -- e와 c가 중첩되는 column을 선택,
        inner join orders o                                 -- o에 c를 집어 넣고
        on o.customerNumber = c.customerNumber               -- o와 c가 중첩되는 column을 선택한다
    WHERE year(orderDate)='2003' and month(orderDate)='01'   -- 원하는 일자 추출
) t1
inner join orderdetails od
on od.orderNumber = t1.orderNumber

GROUP by t1.employeeNumber  -- (오류) select 그룹 다 묶어서 해야 함
order by sum_oq DESC
;

 

 

  • 동기가 짠 코드
###############################
# 월마다 누가 가장 많은 물품을 구매했습니까?


desc employees; -- employeeNumber
desc customers ;  -- salesRepEmployeeNumber - customerNumber
desc orders;  -- customerNumber - orderNumber - orderDate
desc orderdetails ; -- orderNumber
 

SELECT 
    e.employeeNumber                     
    , o.orderDate
    , o.orderNumber
    , sum(od.quantityOrdered) t1
FROM employees e 
    inner join customers c              
        on c.salesRepEmployeeNumber = e.employeeNumber
    inner join orders o           
        on o.customerNumber = c.customerNumber      
    inner join orderdetails od
        on od.orderNumber = o.orderNumber
    WHERE year(orderDate)='2003' and month(orderDate)='01'
GROUP by e.employeeNumber
        , o.orderDate
        , o.orderNumber   
order by t1  DESC
;

 

 


 

SQL 배우는데 많이 어려웠지만 그래도 옆에 해본 적 있는 동기가 있어서 많은 도움을 받았습니다. 또한, 주말 동안 왜 안되는지 계속해서 생각해 보고 실행해 보는 과정을 계속해서 겪으면서 코드를 어떻게 짜야하는지 더 명확하게 알게 된 것 같습니다.

 

모르면 남들보다 더 많이 공부해야 하는건 숙명이다!!!

어쩌다 보니 하루 넘겨서 회고록을 작성하게 되었지만 다음엔 꾸준히 작성할 수 있도록 신경 써서 회고록 작성해 봅시다.

나 화이팅!