TIL 날짜 및 읽은 범위
레거시 시스템(legacy system)은 낡은 기술이나 방법론, 컴퓨터 시스템, 소프트웨어 등을 말한다. 이는 현대까지도 남아 쓰이는 기술을 부르는 말일 수도 있지만, 더 이상 쓰이지 않더라도 현대의 기술에 영향을 주는 경우도 포함한다.
코볼은 1959년에 탄생한 정말 오래된 언어야
코볼(COBOL) 은 Common business oriented language의 줄임말
미국의 은행 시스템 가운데 43% 는 코볼로 개발, 미국 ATM 시스템은 95% 가 코볼로 구현
코볼의 문제점! 커뮤니티가 너무 적다!
코볼은 프로그램에서 기능을 매우 훌륭하게 수행하고 있어 그러나 커뮤니티 크기가 문제야
실제로 코볼을 사용한 개발자는 매우매우매우 적어
그리고 코볼 개발자의 평균 연령은 50세 이상이야
즉, 코볼로 개발한 프로그램을 관리할 사람이 점점 사라지는 문제가 생기는 거야
여기서 우리가 생각해야 할 교훈은 무엇일까?
개발자는 자신이 만든 프로그램에 완벽하게 책임을 져야 해
왜냐하면 개발자 만든 프로그램은 사람들에게 영향을 줄 테니까
개발자라면 코드를 살아 있는 생명체처럼 대해야 해
꾸준히 관리 해야 하지
물을 자주 주지 않아도 되는 선인장도 방치하면 죽는 거랑 똑같아
SQL (structured query language) : 데이터 베이스에 어떤 질문 또는 문의를 하기 위해 어떤 구조를 가진 언어 , 데이터 베이스를 다루는 언어
DBMS (database management system) : 데이터 베이스 관리 시스템
데이터베이스는 엑셀 문서와 똑같이 생겼어
데이터 베이스에서는 한 무리의 데이터를 테이블 이라고 하는데 엑셀의 시트 같아
SQL로 데이터 베이스와 상호작용을 하려면 DBMS를 거쳐야 돼
SQL은 데이터 베이스를 관리해 주는 DBMS와 대화하기 위한 언어!
SQL의 종류: MySQL, PostgreSQL, SQLite, Oracle, MariaDB 등
개발자들이 SQL을 잘 모르는 이유는 바로 ORM 이라는 녀석 때문이야
ORM (object relational mapping)은 개발자에게 SQL 번역기 같은 도구인데, 사용자에게 익숙한 프로그래밍 언어로 SQL을 사용할 수 있게 해줘 (ORM = 통역기)
SQL을 사용해야 하는 모든 상황에서 ORM만이 해결책을 제시하는 도구는 아니거든
번역기가 만능은 아닌 것처럼 말야
그래서 SQL의 기초 공부를 하라고 앞에서 말했던 거야
SQL은 개발에 꼭 필요한 데이터와 데이터베이스를 이해할 수 있게 해주는 언어 이기 때문이지
SQL은 여러분의 미래에 확실히 큰 도움이 될 수 잇는 언어니까 ! 꼭 공부해 봐!!
도큐먼트 데이터 베이스 | 키 값 데이터 베이스 | 그래프 데이터 베이스 |
---|---|---|
document DB | key-value DB | graph DB |
데이터 형식이 매우 자유로움 | 읽고 쓰는 속도가 빠름 | 노드로 관계를 표현 |
몽고디비(MongoDB) | 카산드라디비(CassandraDB),다이나모디비(DynamoDB) | 데이터를 각각의 관계망으로 연결 |
데이터를 제이슨(JSON)도큐먼트 형태로 저장 | 열이 넓다(column wide) | |
대괄호와 중괄호로만 구성, 데이터 구성이 같을 필요가 없음 | 대용량 데이터를 빠르게 저장 | |
개발자가 원하는 어떠한 모양, 어떠한 종류의 데이터라도 저장 가능 | 대용량 데이터를 빠르게 읽음 |
아주 평범한 프로젝트라면 대부분 SQL 데이터 베이스를 사용한 편이야
NoSQL 데이터 베이스는 특정 사용을 해야하는 경우가 아니면 생각할 일이 없어
깃이 커피라면 깃허브는 커피숍이야 (top...?)
깃은 파일을 항상 지켜보는 사관같아
깃은 감시자처럼 여러분의 파일을 항상 지켜보고 있어
여러분이 파일에 무엇을 기록했는지, 무엇을 지웠는지, 파일을 이동했는지, 파일을 아예 지워 버렸는지 모두 알고 있어
장점은 같은 파일이라도 다른 버전으로 보관할 수 있다는 거야
깃이 있다면 파일은 하나만 유지한 상태로도 작업을 할 수 있어
엔딩 버전을 3개 준비한 소설의 앞쪽의 중복된 내용 수정을 한 번에 적용할 수 있게 해준다는 말씀!
함께 일하는 동료에게도 유용해!
같은 파일을 복사해서 각자 컴퓨터에 저장해서 작업한 뒤 다른 사람이 변경한 부분과 내가 변경한 부분을 비교해서 다시 하나로 만들 수 있으니까!
깃의 내용은 어디서든 접근할 수 있는 곳에 저장해서 공유할 수 있어야 해
바로 그 저장소가 깃허브야!
깃허브는 깃으로 관리한 파일 이력을 모두 저장해서 공유할 수 있는 곳이야
깃허브는 파일 클라우드 서비스와 같다
파일뿐만 아니라 깃으로 관리한 파일 이력도 공유할 수 있어
깃 이력 보관소 서비스 : 깃허브(Github), 깃랩 (GitLab), 비트버킷(Bitbuckket)
푸시 | 풀 |
---|---|
깃 이력을 업로드 하는것 | 깃 이력을 내려받는 것 |
시맨틱 버저닝 (semantic versioning specificaion, SemVer): 숫자 3개를 사용하는 버전 표기 방식 , 가장 널리 쓰이는 방식
예시) 4.0.25 | 첫번째 숫자 | 중간 숫자 | 마지막 숫자 |
---|---|---|---|
의미 | 프로그램에 엄청나게 큰 변화 | 마이너한 업데이트 | 패치나 버그 수정, 기존 프로그램의 오류 수정 |
비유 | 새 집으로 이사 | 소품을 이용한 인테리어를 살짝 업그레이드 | 숫자'25'은 수정을 25번 했다고 생각해도 좋음 |
"지금 자바스크립트, 타입스크립트, 리액트를 공부하는 입장으로... 오래오래 이 언어와 라이브러리가 살아남았으면 좋겠다 ..제발... ㅠㅠ"
"깃이 ... 커피라면 깃허브는 TOP야...(나만 생각한건 아니죠?)"
"깃 푸시할 때, 충돌 났을때의 아찔한 기억이 .. 떠올랐다...
그 뒤로 깃 푸시 할때마다 '두근두근' 떨리는 손으로 푸시 했던 기억이 떠올랐다."
"SQL에 대한 공부를 해야지라고 생각만 하고 있었는데! 마침 이렇게 개념과 NoSQL도 보너스로 같이 읽을수 있어서 좋았다."