[Week1] Hanwha System BEYOND 6기 D-3 회고

kangking·2024년 5월 2일
0

회고

목록 보기
3/17
post-thumbnail

오늘 배운 내용

  • DB

    • DB의 개념
    • DB의 장점
  • DBMS

    • DB스키마
    • 데이터 모델링
    • DB설계 과정
  • 논리적 설계

    • ERD
    • 개체와 관계
    • 관련 용어 및 규칙
  • DB실습

    • VMware 리눅스로 mariaDB 서버를 켜고 윈도우에 클라이언트를 설치해서 접속하고 이용해보기
    • 아주 간단하게 서비스를 생각해보고 요구분석, 논리적 설계를 진행하여 ERD로 표현하고 테이블 생성까지 해보기
  • 정규화

    • 이상 현상
    • 정규화 과정

새로 알게된 점

겉핥기 식으로 DB와 Spring을 공부했기 때문에 DB연결과 관리 모두 프로젝트 내부 문서에서 진행하는 줄 알았는데, 3일동안 네트워크, 리눅스, 서버 클라이언트 개념을 배우면서 아예 잘못된 개념이었다는 사실을 알게 되었다.

코드를 짜지 않아도, sql을 직접 쓰지 않아도, 쓸 줄도 모르는 도커로 DB를 켜두지 않아도 내가 직접 가상머신에서 서버를 킨 후 네트워크 지식을 활용해 DB 접속부터 사용까지 할 수 있다는게 놀라웠다.

항상 개발자를 코드 짜는 사람이라고 생각했었지만 하루하루 교육을 들으면서 특히 백엔드 개발자는 절대 코드를 짜는 사람이 아니라는 사실을 깨닫는 것 같다.

DB가 무엇인지, 왜 쓰게 되었는지, 백엔드 엔지니어를 희망하는 내가 DB를 어떻게 다뤄야 하는지 개론적인 지식을 정말 많이 얻은 하루였다.

부족했던 점

ERD에 대한 이해도가 상당히 떨어져 있는 것 같다. 자바를 처음 배울 때 클래스, 상속 개념을 머리에서 이해하려고 노력하던 때와 비슷하다.

대략적으로 원리나 개념은 알겠는데 막상 실제 케이스를 만들어보고 그려보니 시작부터 진행도 안되고 거의 4시간 가까이를 맞는지 틀린지 고민해가며 다이어그램을 만들었다.

배운 첫 날이라 어려운 개념인건 맞지만 아직 어떤 방향으로 접근해야 하는지 감이 잘 안온다.

머리속으로 오늘 배운 개념을 적용하여 ERD를 만들어 보면 수십가지의 방법이 쏟아져나오고 매번 맞는 것 같다가도 조금 더 생각해보면 틀린 것 같은 생각이 든다.

절대적인 케이스를 많이 접해보지 못해서 그런 것 같다고 느끼는데 스터디를 좀 활용해보면 어떨까 생각이 든다.

실제 개발까지 착수하진 않더라도 클래스 만드는 연습을 계속 해보는 것과 비슷하게 서비스를 정하고 요구사항을 여럿이 정의해보고 서로의 ERD를 비교하며 토론하는 정도의 스터디면 조금 더 빠르게 감을 잡을 수 있을 것 같다.

생각해볼 점

yum의 동작 원리에 대해 궁금증이 생겼다.

맥의 brew도 이와 비슷한 동작 원리를 갖고 있는 것 같은데, 수업 중에 mariadb라고 다운받으면 클라이언트가 다운 받아지는 문제가 있었다.

이를 해결하는 방법 중 하나로 강사님이 yum이 참조하는 링크 리스트에 mariadb 서버가 있는 링크를 추가하는 방법에 대해 이야기 해주셨다.

추가적으로 어떻게 mariadb가 대놓고 mysql과 똑같이 동작하고 몇몇 디렉토리 및 파일의 이름이 mysql로 되어있는지 궁금해졌다.

실제로 리눅스에

systemctl start mariadb

명령어 입력시 실행되지 않고

systemctl start mysql

위 처럼 mysql을 입력해야 실행되는 것, 포트도 3306을 쓰는점, mysql 클라이언트로 mariadb사용이 되는 점이 그냥 순수하게 궁금해졌다.

profile
하루하루 의미있게

0개의 댓글