프로젝트 1 이후 정규 강의와 출석은 다시 시작되었다. 이번에는 한달만 강의하고 바로 2차 프로젝트가 예정되어 있었다. 따라서 내용은 더욱 실습에 집중되었고, 꽤많은 비중이 직접적인 코드 작성과 실행의 반복이었다. 이론적인 부분은 운영체제란 무엇이며, 데이터베이스는 어떻게 구성되어 있는지 정도의 공학적 기초를 다루었다.

docker, sql
이때부터 용량 작은 컴퓨터나 가상환경에도 돌릴 수 있는 docker에 대해 알게 된다. 이미지를 띄우는 방법, 저장하고 백업하는 방법 등등 실전 응용하면 좋은 내용들이었다. 물론 docker 인터페이스는 vscode 설치 가능한 확장자들만큼 편리하지 않고, 때로는 지연도 있기 때문에 대부분의 경우는 내 노트북의 환경으로 실행해도 무방했다.
이제 noSQL인 mongoDB 돌려봤으니 진짜 DB를 다뤄본다: 바로 mariaDB mySQL이다. 데이터베이스 세팅하는 방법, 유저의 계정을 설정하는 방법을 배운다. 이때 배운 코드들 중 비밀번호 재설정, flush privileges 유저 권한 지정이 프로젝트에 제일 도움이 된 것 같다. 다른 도움이 되는 sql 코드는 카테고리 지정해서 모아보거나, 수정 삭제 정도의 구문 정도? 제일 힘들었던 건 역시나 Primary Key PK Foreign Key FK 설정해서 구동하는 게 손에 꼽을 정도로 어려웠다.
PS: 이때 배운 게 그렇게 자주 사용될지 깨닫지 못하고 ‘모로 작성해도 돌아가면 장땡’ 마인드로 학습에 임한다. 결국 2차 프로젝트부터 PK FK가 ERD랑 깊은 연관이 있는 걸 깨우치고 백엔드 디렉토리를 파악하기 위해 죽어나간다… 이건 다른 포스트에서 설명.
numpy, pandas
numpy 로 배열 데이터를 정리하고, pandas로 그룹으로 묶거나, 분류하거나, 선택적으로 분석하는 방식을 배웠다. 테이블을 작성하거나 sql 에 넣을 자료의 중간 정리가 필요한 것이 아니라면 matplotlib로 데이터를 그래프로 시각화하는 데 제일 자주 쓰였던 것 같다.