[회고] 원티드 프리온보딩 5차 MySQL "잘" 사용하기

The Flawless Bead·2023년 3월 2일
0

회고

목록 보기
1/1
post-thumbnail

프리온보딩 소개

🔗 [프리온보딩 백엔드 챌린지 2월] 사이트 바로가기


사전과제

  1. 관계형 데이터베이스(RDBMS)와 비관계형 데이터베이스(NoSQL)의 장단점 비교
  2. 트랜잭션(transaction)이란?
  3. MySQL에서 조인(join)의 역할은 무엇인가? (다양한 join의 방식에 대해 설명해주세요.)
  4. MySQL에서 인덱스(index)란?

🔗 사전 과제 제출 Github 보러가기 👉 [ 클릭!]

프리온보딩에선 챌린지에 참여하기 앞서 사전과제를 수행하도록 적극 권장한다.
별거 아닌것 처럼 보이지만 본격적인 챌린지에 앞서 어떤걸 배우는지 흐름을 파악할 수 있어 좋았고, 스스로 부족한 부분을 점검할 수 있어 브리온보딩 챌린지를 시작하려는 사람들에게 사전과제를 하는 것을 강력 추천한다!


[Week 1-1] 다양한 데이터베이스의 특징과 장/단점

CAP Theorem, RDBMS, NoSQL

  • 데이터베이스의 원칙
  • 다양한 데이터베이스 종류와 CAP Theorem
  • 예제로 보는 서비스에 적합한 데이터베이스 선택법
  • 관계형 데이터베이스(RDBMS)와 비관계형 데이터베이스(NoSQL) 비교

[Week 1-2] 왜 Big Tech기업들이 MySQL을 사용하는지에 대해 논의

Transaction, ACID, Lock, Isolation Level

  • MySQL이 Transaction을 통해 작업의 완전성을 보장하는 방식
  • Database Lock을 통한 동시성 제어
  • Isolation Level 설정을 통한 MySQL 동작 제어
  • 각 항목들이 어떤 의미가 있는지?

[아하! 모먼트] 공부하는 방법

  1. 같이하는 방법
  • 회사 프로젝트 / 회사 동료 와 함께 성장하기
  • 스터디 / 사이드 프로젝트 (프론트에서 받기 좋은 API 고민하기 / 배포 해보는게 중요)
  • 커뮤니티
  1. 혼자하는 방법
  • 구글링, 개발 서적, 강의 (근본적인 동작원리를 알기에 좋다)
  • 신입이라면 네트워크, 세션, 쿠키 알아함
  • ORM / Raw Query

[Week 2-1] MySQL이 제공하는 기본 기능에 대해 논의

Query, Join, Subquery, SQL functions, 실행계획

  • query 작동 순서
  • join을 통해 여러 테이블의 데이터를 동시에 가져오는 방법
  • subquery를 활용한 쿼리방법
  • 빠르게 연산을 제공하는 SQL functions

[아하! 모먼트] 이직을 준비하는 방법

  1. 이력서 많이 올리기
  • 원티드, 프로그래머스, 로켓펀치, 링크드인, 점핏 등 다양한 플랫폼에 이력서 올려두기
  • 신입도 3년차까지는 지원하는 것을 추천
  • 지원하는 회사에 맞춰서 이력서를 수정하기 ex) 원하는 기술 순서대로 수정
  • 포폴 만들때 DB 조회 index 사용해서 얼만큼 속도를 줄였는지 등을 예시로 퍼센트로 보여주기
  1. 블로그 운영하기
  1. 코딩테스트를 대비한 알고리즘 공부하기

[Week 2-2] 어떻게 MySQL의 효율을 개선할 수 있는지 논의

Indexing, Normalization, Partitioning, Cache

  • index의 의미화 효율적인 index 사용법
  • normalization을 사용한 중복 데이터 감소
  • partitioning을 활용한 데이터 분산
  • cache를 사용한 쿼리 효율 개선

[아하! 모먼트] 개발자에게 글쓰기(블로그)가 중요한 이유

  1. 글을 쓰며 꾸준한 학습
  2. 자기 브랜딩
  3. 과거의 나 갉아먹기

가끔 블로그를 보고 연락이 오는 회사가 꽤나 있고, 글을 쓸 때 남한테 보여주는 글이라고 생각하고 정성스럽게 쓰는 연습을 해야한다. 그리고 일단 잘 작성해두면 나중에 활용할 수 있으니 퀄리티 신경써서 쓰기! 글은 쓸수록 는다!


총평

강의는 실무에서 바로 적용하고 실제 사례들을 경험할 수 있을거라 기대했으나 이론 설명이 대부분이었다. 그리고 Zoom으로 진행하는 라이브 강의이다보니 중간에 인터넷이 끊기기도 하고, 돌발상황이 발생했을 때 매끄럽게 대처할 수 없어 아쉬웠다.

하지만 강의 후 약 1시간 동안 질문 문답을 해주는게 좋았고, 강의와 별개로 [아하! 모먼트]가 생각보다 유용했다. 그리고 무엇보다 덕분에 MySQL을 보다 깊게 공부할 수 있는 동기부여가 됐고, 그동안 미뤄왔던 이력서 / 포트폴리오를 완성하며 추춤했던 취업활동에 다시 불을 붙여서 좋았다.

마지막으로 아래와 같은 사람들에게 이 챌린지를 추천한다!

  • 강의를 통해 공부 방향성을 잡고싶은 사람
  • 현직자의 오프더레코드(이력서 작성 팁, 면접 후기, 회사를 고르는 팁, 공부하는 방법)를 듣고싶은 사람
  • 러프한 틀 안에서 자기주도학습으로 CS이론을 배우고 이력서 완성하고싶은사람
profile
오늘을 살고 내일을 꿈꾸는 낭만주의자

0개의 댓글