개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
SQL은 꼭 공부할 것
SQL과 NoSQL, git과 gitHub는 서로 다른 것이다
앱 업데이트 버전 숫자의 의미를 알 수 있게 되었다
TIL (Today I Learned) 날짜
2023.09.03 (일)
오늘 읽은 범위
Episode 30 ~ 34
책에서 기억하고 싶은 내용을 써보세요.
코볼 (COBOL, common business oriented language)
1959년에 탄생한 언어
레거시 (legacy: 유산) 언어로 개발 된 시스템 = 레거시 시스템
현대인 중에 코볼을 사용할 줄 아는 개발자는 거의 없음
커뮤니티가 매우 작음
SQL (structured query language)
데이터베이스(데이터를 보관하는 창고)에 어떤 질문/문의를 하기 위해 어떤 구조를 가진 데이터베이스를 다루는 언어
DBMS (database management system): 데이터베이스를 관리(정리/처리)하는 시스템
SQL은 데이터베이스를 관리해주는 DBMS와 대화하기 위한 언어
MySQL, PostgreSQL, SQLite, Oracle, MariaDB, etc.
데이터베이스와 SQL의 상호작용
엑실 문서와 같이 생긴 데이터베이스
한 무리의 데이터 = 테이블 (table)
필요로하는 내용을 function을 이용해 찾을 수 있음
ORM (object relational mapping)
개발자에게 SQL 번역기 같은 도구
익숙한 프로그래밍 언어로 SQL을 사용할 수 있게 해줌
하지만 너무 의지하는게 좋지 않음
SQL을 공부하면 각종 문제가 발생했을 때 유연하게 대체할 수 있는 능력을 키울 수 있음
NoSQL
SQL과 언어도 다르고 사용되는 데이터베이스 자체의 성질도 다름
도큐먼트 데이터베이스 (MongoDB)
데이터를 JSON(JavaScript Object Notation) 도큐먼트 형태로 저장
데이터마다 구성이 같을 필요 없어서 개발자가 원하는 어떤 모양과 종류의 데이터로 저장할 수 있음
키값 데이터베이스 (CassandraDB, DynamoDB)
CassandraDB:
Column wide, 한 행의 열이 엄청 넓은 데이터베이스
읽고 쓰는 속도가 매우 빠름
Netflix, Apple, etc.
DynmaoDB:
Made by Amazon
읽는 속도가 매우 빠름
Duolingo
그래프 데이터베이스
열과 도큐먼트 필요 없음
BUT 노드 개념 필요
SQL vs. NoSQL, 어느걸 써야하나?
평범한 프로젝트 -> SQL
특징을 상요해야하는 경우 -> NoSQL
인스타그램: PostgreSQL -> 그래프 데이터베이스
깃 vs 깃허브
깃 (git): 파일 이력을 관리(늘 감시)하는 프로그램
같은 파일, 여러 버전 보관 가능
협업이 쉬워짐
깃허브 (gitHub): 깃으로 관리한 파일 이력을 모두 저장해서 공유할 수 있는 곳
깃허브에 깃 이력을 업로드 = Push
깃허브에서 깃 이력을 다운로드 = Pull
프로그램 버전
시맨틱 버저닝 (semantic versioning specification, SemVer)
React, Jango
큰 변화: 앞 숫자가 바뀜
4.0.3 -> 5.0.3
마이너한 업데이트: 중간 숫자가 바뀜
4.1.2 -> 4.2.2
패치/버그 수정: 끝 숫자가 바뀜
4.1.2 -> 4.1.3
☆ 프로그램은 책임있게 만들고 끊임없이 관리해야함
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
이전에 많이 사용되다가 관리 소홀로 인해 없어진 언어가 있다는 것을 몰랐다
그렇다면 우리가 현재 잘 사용하고 언어 중에서도 하나가 사라질 수도 있다...?
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
SQL에서 NoSQL로, NoSQL에서 SQL로 전환하기는 쉬운가?
오늘 읽은 다른사람의 TIL
again님
bitbong님