IT 5분 잡학사전 #7

Noah·2023년 1월 20일
0

개발 도서

목록 보기
7/9
post-thumbnail

TIL 날짜 및 읽은 범위

  • 2023.01.22
  • Ep.30 ~ Ep.34

에피소드 30 : 코로나가 준 레거시 시스템의 교훈

레거시 시스템(legacy system)은 낡은 기술이나 방법론, 컴퓨터 시스템, 소프트웨어 등을 말한다. 이는 현대까지도 남아 쓰이는 기술을 부르는 말일 수도 있지만, 더 이상 쓰이지 않더라도 현대의 기술에 영향을 주는 경우도 포함한다.

코볼, 넌 누구니 ?

코볼은 1959년에 탄생한 정말 오래된 언어야
코볼(COBOL) 은 Common business oriented language의 줄임말
미국의 은행 시스템 가운데 43% 는 코볼로 개발, 미국 ATM 시스템은 95% 가 코볼로 구현

코볼의 문제점! 커뮤니티가 너무 적다!
코볼은 프로그램에서 기능을 매우 훌륭하게 수행하고 있어 그러나 커뮤니티 크기가 문제야
실제로 코볼을 사용한 개발자는 매우매우매우 적어
그리고 코볼 개발자의 평균 연령은 50세 이상이야
즉, 코볼로 개발한 프로그램을 관리할 사람이 점점 사라지는 문제가 생기는 거야
여기서 우리가 생각해야 할 교훈은 무엇일까?

프로그램은 책임 있게 만들어야 한다

개발자는 자신이 만든 프로그램에 완벽하게 책임을 져야 해
왜냐하면 개발자 만든 프로그램은 사람들에게 영향을 줄 테니까
개발자라면 코드를 살아 있는 생명체처럼 대해야 해
꾸준히 관리 해야 하지
물을 자주 주지 않아도 되는 선인장도 방치하면 죽는 거랑 똑같아

에피소드 31 : 데이터와 단짝 친구, SQL

SQL과 데이터 베이스 개념 제대로 짚기

SQL (structured query language) : 데이터 베이스어떤 질문 또는 문의를 하기 위해 어떤 구조를 가진 언어 , 데이터 베이스를 다루는 언어
DBMS (database management system) : 데이터 베이스 관리 시스템
데이터베이스는 엑셀 문서와 똑같이 생겼어
데이터 베이스에서는 한 무리의 데이터를 테이블 이라고 하는데 엑셀의 시트 같아

SQL로 데이터 베이스와 상호작용을 하려면 DBMS를 거쳐야 돼
SQL은 데이터 베이스를 관리해 주는 DBMS와 대화하기 위한 언어!
SQL의 종류: MySQL, PostgreSQL, SQLite, Oracle, MariaDB 등

SQL을 프로그래밍 언어로 쓸 수 있게 해주는 ORM

개발자들이 SQL을 잘 모르는 이유는 바로 ORM 이라는 녀석 때문이야
ORM (object relational mapping)은 개발자에게 SQL 번역기 같은 도구인데, 사용자에게 익숙한 프로그래밍 언어로 SQL을 사용할 수 있게 해줘 (ORM = 통역기)
SQL을 사용해야 하는 모든 상황에서 ORM만이 해결책을 제시하는 도구는 아니거든
번역기가 만능은 아닌 것처럼 말야
그래서 SQL의 기초 공부를 하라고 앞에서 말했던 거야
SQL은 개발에 꼭 필요한 데이터와 데이터베이스를 이해할 수 있게 해주는 언어 이기 때문이지
SQL은 여러분의 미래에 확실히 큰 도움이 될 수 잇는 언어니까 ! 꼭 공부해 봐!!

에피소드 32 : NoSQL 이 뭐죠 ?

NoSQL의 데이터베이스 종류0

도큐먼트 데이터 베이스키 값 데이터 베이스그래프 데이터 베이스
document DBkey-value DBgraph DB
데이터 형식이 매우 자유로움읽고 쓰는 속도가 빠름노드로 관계를 표현
몽고디비(MongoDB)카산드라디비(CassandraDB),다이나모디비(DynamoDB)데이터를 각각의 관계망으로 연결
데이터를 제이슨(JSON)도큐먼트 형태로 저장열이 넓다(column wide)
대괄호와 중괄호로만 구성, 데이터 구성이 같을 필요가 없음대용량 데이터를 빠르게 저장
개발자가 원하는 어떠한 모양, 어떠한 종류의 데이터라도 저장 가능대용량 데이터를 빠르게 읽음

그래서 어떤 게 좋냐고 ?

아주 평범한 프로젝트라면 대부분 SQL 데이터 베이스를 사용한 편이야
NoSQL 데이터 베이스는 특정 사용을 해야하는 경우가 아니면 생각할 일이 없어

에피소드 33 : 깃 & 깃허브, 똑같은 거냐고 ?

깃이 커피라면 깃허브는 커피숍이야 (top...?)

깃은 파일 이력을 관리하는 프로그램

깃은 파일을 항상 지켜보는 사관같아
깃은 감시자처럼 여러분의 파일을 항상 지켜보고 있어
여러분이 파일에 무엇을 기록했는지, 무엇을 지웠는지, 파일을 이동했는지, 파일을 아예 지워 버렸는지 모두 알고 있어
장점은 같은 파일이라도 다른 버전으로 보관할 수 있다는 거야
깃이 있다면 파일은 하나만 유지한 상태로도 작업을 할 수 있어
엔딩 버전을 3개 준비한 소설의 앞쪽의 중복된 내용 수정을 한 번에 적용할 수 있게 해준다는 말씀!

함께 일하는 동료에게도 유용해!
같은 파일을 복사해서 각자 컴퓨터에 저장해서 작업한 뒤 다른 사람이 변경한 부분과 내가 변경한 부분을 비교해서 다시 하나로 만들 수 있으니까!

깃허브는 파일과 깃으로 관리한 이력을 저장하고 공유하는 공간

깃의 내용은 어디서든 접근할 수 있는 곳에 저장해서 공유할 수 있어야 해
바로 그 저장소가 깃허브야!
깃허브는 깃으로 관리한 파일 이력을 모두 저장해서 공유할 수 있는 곳이야

깃허브는 파일 클라우드 서비스와 같다
파일뿐만 아니라 깃으로 관리한 파일 이력도 공유할 수 있어
깃 이력 보관소 서비스 : 깃허브(Github), 깃랩 (GitLab), 비트버킷(Bitbuckket)

푸시
깃 이력을 업로드 하는것깃 이력을 내려받는 것

에피소드 34 : 버전을 표기하는 방법도 있어요 ?

SemVer 는 숫자 3개로 표시하는 버전 표기 방식

시맨틱 버저닝 (semantic versioning specificaion, SemVer): 숫자 3개를 사용하는 버전 표기 방식 , 가장 널리 쓰이는 방식

예시) 4.0.25첫번째 숫자중간 숫자마지막 숫자
의미프로그램에 엄청나게 큰 변화마이너한 업데이트패치나 버그 수정, 기존 프로그램의 오류 수정
비유새 집으로 이사소품을 이용한 인테리어를 살짝 업그레이드숫자'25'은 수정을 25번 했다고 생각해도 좋음

오늘 읽은 소감은?

"지금 자바스크립트, 타입스크립트, 리액트를 공부하는 입장으로... 오래오래 이 언어와 라이브러리가 살아남았으면 좋겠다 ..제발... ㅠㅠ"
"깃이 ... 커피라면 깃허브는 TOP야...(나만 생각한건 아니죠?)"
"깃 푸시할 때, 충돌 났을때의 아찔한 기억이 .. 떠올랐다...
그 뒤로 깃 푸시 할때마다 '두근두근' 떨리는 손으로 푸시 했던 기억이 떠올랐다."
"SQL에 대한 공부를 해야지라고 생각만 하고 있었는데! 마침 이렇게 개념과 NoSQL도 보너스로 같이 읽을수 있어서 좋았다."

profile
프론트엔드가 꿈인 코린이

0개의 댓글