오늘 읽은 범위
IT 5분 잡학사전
에피소드 30 ~ 에피소드 34
책에서 기억하고 싶은 내용을 써보세요.
ep.30
- 코볼은 1959년에 탄생한 정말 오래된 언어이다.
- 프로그램은 작동되도록 작성하고 그대로 방치하면 나중에 관리하기 힘들어지므로 지속적으로 관리해야 한다.
ep.31
- SQL(structured query language)는 데이터베이스 질의를 위한 구조화된 언어이다.
- MySQL, PostgreSQL, SQLite 같은 것들은 데이터베이스가 아닌 DBMS(database management system)이라고 한다. 이들은 SQL로 데이터베이스와 상호작용할 수 있도록 해준다.
- SQL 데이터베이스는 마치 엑셀처럼 행과 열이 있는 표 모양으로 생겼으며 한 무리의 데이터를 테이블 이라고 한다.
- ORM(object relational mapping)은 프로그래밍 언어로 SQL을 사용할 수 있도록 해주는 도구이다. 편리하지만 지나치게 의존하는 것은 문제가 발생했을 때 대처하기에 좋지 않다.
ep.32
- NoSQL은 SQL 데이터베이스와 성질이 다른 데이터베이스 구조를 말한다.
- document database를 사용하는 DBMS 중 MongoDB는 데이터를 JSON document 형태로 저장한다. 이는 SQL 데이터베이스에 비해 각 데이터의 구성을 유연하게 할 수 있다.
- key-value database를 사용하는 DBMS 중 CassandraDB는 열이 넓다는 특징을 가지며 읽고 쓰는 속도가 매우 빠르다. DynamoDB도 key-value database 구조를 사용한다.
- 노드로 관계를 표현하는 graph database도 있으며 관계망을 데이터베이스로 구축할 때 사용한다.
- SQL 데이터베이스, NoSQL 데이터베이스 간 좋고 나쁨은 존재하지 않으며, 필요에 따라 적절히 선택해서 사용하면 된다.
ep.33
- git은 파일의 변경 이력을 관리하는 프로그램이다.
- git은 하나의 파일로 여러 버전의 파일을 관리할 수 있도록 해준다.
- 또한 git은 하나의 파일을 여러 사람과 변경 이력을 공유하면서 작업할 수 있도록 해준다.
- github은 git으로 관리하던 파일 변경 이력을 파일과 함께 업로드 할 수 있는 파일 클라우드 서비스이다.
ep.34
- 시맨틱 버저닝(semantic versioning specification, SemVer)는 숫자 3개를 점으로 구분하여 버전을 표기하는 방식을 말한다.
- 4.0.5에서 첫번째 숫자는 엄청나게 큰 변화, 새 버전에 맞게 코드를 업데이트 해야 할 정도의 변화를 줄 때 바뀌며, 두번째 숫자는 마이너한 업데이트, 새로운 기능 추가 정도의 업데이트에서 바뀌며, 마지막 세번째 숫자는 패치나 버그 수정을 할 때 바뀐다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
DB, DBMS 개념을 별로 신경쓰지 않고 있었는데 이번 기회에 확실히 알게 되었다. semantic versioning을 읽고 놀랐다. 왜냐하면 오늘 카카오톡 업데이트 현황을 읽다가 버전의 숫자가 각각 정확히 뭘 의미하지? 라는 생각을 잠깐 했는데 이게 책 내용으로 나온 것이다. semantic versioning이라는 표기법의 이름도 있었다는 사실도 알게 되었다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
이미지도 데이터베이스에 저장할 수 있을까?
-> 가능하지만 비효율적인 방법이어서 이미지 파일은 서버에 저장하고 파일 경로와 같은 메타 정보만 DB에 저장하는 식으로 관리한다고 한다.