개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
프로그램은 책임 있게 만들고 꾸준히 관리해야 한다.
엑셀 형태로 데이터를 저장하는 SQL, 다양한 성질을 가지고 있는 NoSQL.
시맨틱 버저닝은 메이저 업데이트.마이너 업데이트.패치
형태로 작성한다.
TIL (Today I Learned) 날짜
2025. 01. 12
오늘 읽은 범위
에피소드 30 - 코로나가 준 레거시 시스템의 교훈
에피소드 31 - 데이터와 단짝 친구, SQL
에피소드 32 - NoSQL이 뭐죠?
에피소드 33 - 깃 & 깃허브, 똑같은 거냐고?
에피소드 34 - 버전을 표기하는 방법도 있어요?
책에서 기억하고 싶은 내용을 써보세요.
에피소드 30
코볼은 매우 오래 전에 만들어진 프로그래밍 언어이지만, 당시에는 꽤나 유명했기에 오래 된 시스템 중에는 코볼로 만들어진 것들이 여전히 많다.
개발자는 프로그램을 만들 때 책임 있게 만들어야 하고, 관리자는 프로그램을 끊임없이 관리해야 한다는 사실을 기억해야 한다.
에피소드 31
SQL은 데이터베이스에 질문을 하기 위해 만들어진 구조를 가진 언어, 즉 데이터베이스를 다루는 언어이다.
데이터베이스는 데이터를 보관하는 창고 역할을 하고, 데이터를 정리하고 처리하는 것은 DBMS(DataBase Management System)이 한다. SQLite, MySQL, PostgreSQL, MariaDB 등이 DBMS이다.
데이터베이스는 엑셀에 데이터를 입력한 테이블의 형태로 생겼다.
ORM(Object Relation Mapping)을 이용하면 프로그래밍 언어로 SQL을 사용할 수 있지만, 이것에 지나치게 의존하여 SQL 공부를 미루는 것은 좋지 않다.
에피소드 32
MongoDB는 document DB로, 데이터를 JSON document 형태로 저장한다. 데이터 형식이 매우 자유롭다는 장점이 있다.
key-value DB는 읽기와 쓰기 속도가 매우 빠르기 때문에 대용량의 데이터를 저장해야 할 때 유용하다. CassandraDB, DynamoDB 등이 있다.
graph DB는 노드와 노드 사이의 관계 형태로 데이터를 저장한다.
SQL과 NoSQL은 애초에 다른 것이기 때문에 필요한 것을 골라서 사용하면 된다. 보통은 평범한 프로젝트에는 SQL을 사용하다가 NoSQL이 필요할 때 데이터베이스를 수정한다.
에피소드 33
깃은 파일의 이력을 관리하는 프로그램이다. 특히 협업할 때 각자의 컴퓨터에서 수정한 것을 비교해서 다시 하나로 만들 수 있다는 큰 장점이 있다.
깃허브는 깃으로 관리한 파일 이력을 모두 저장해서 공유할 수 있도록 하는 서비스이다. 파일 클라우드 서비스에 깃으로 관리한 파일 이력을 추가로 공유할 수 있다고 생각하면 된다.
에피소드 34
시맨틱 버저닝(Semantic Versioning Specification, SemVer)은 숫자 3개를 사용하는 버전 표기 방식으로, 가장 널리 쓰이는 방식이다.
첫 번째 숫자는 메이저 업데이트, 두 번째 숫자는 마이너 업데이트, 세 번째 숫자는 패치나 버그 수정을 뜻한다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
예전에 회사에 있던 개발자 분 중 한 분이 새로운 기능을 하나 추가하려면 기존에 있지만 잘 사용하지 기능을 하나 지우고 만들어야 한다는 이야기를 한 적이 있었다. 그 당시에는 잘 몰랐었지만, 이번에 책을 읽으면서 보니 프로그램을 책임감 있게 만들고, 꾸준히 관리해야 한다는 사실을 잘 아는 분이었다는 생각이 들었다.
회사에서 종종 SQL을 사용해 본 적은 있었는데, NoSQL에 대해서 간략하게 알 수 있게 되었다.
시맨틱 버저닝이 어떤 식으로 숫자를 관리하는지 궁금했었는데 이것에 대해서 좀 더 명확하게 알 수 있게 되었다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
NoSQL에서 사용하는 쿼리는 어떤 식으로 작성하는 걸까?
오늘 읽은 다른사람의 TIL
구르미님의 TIL (https://jisoo09.notion.site/ep-30-34-1795f5b6c36780cb8c91fb7aec14fa59)
DEVIN KIM님의 TIL (https://velog.io/@devindown/booktil06)