코볼

코볼 1959년에 탄생한 정말 오래된 언어. 프로그램에서 기능을 매우 훌륭히 수행하고 있어 지금도 쓰이지만, 커뮤니티가 매~~우 적어서 문제다. (코볼 개발자의 평균 연령은 50세 이상)

*시스템은 한번 구축하면 끝이 아님. 개발자라면 코드를 살아있는 생명체처럼 대할 것. (꾸준히 관리)

 

 

SQL / DBMS

SQL : Structured Query Language 의 줄임말. 데이터베이스에 어떤 질문 또는 문의를 하기 위해 어떤 구조를 가진 언어이다.  즉, SQL은 데이터베이스가 아니라 데이터베이스를 다루는 언어(데이터베이스를 관리해주는  DBMS와 대화하는 말)(:

DBMS : Database Management System 데이터베이스 관리 시스템.
종류 : MySQL, PostgreSQL, SQLite, Oracle, MariaDB 등

관리자의 종류가 많으니 같은 SQL이라도 특징은 조금씩 다르다. 

데이터베이스는 엑셀 문서와 똑같이 생김.
한 무리의 데이터를 테이블(table)이라고 한다. (엑셀의 시트와 같음)

SQL문법이 그렇게 어렵지 않은데 의외로 SQL을 잘 모르는 개발자가 많다. 그 이유는 ORM이라는 녀석때문! 

 

 

ORM : Object Relational Mapping 

개발자에게 SQL 번역기 같은 도구인데- 사용자에게 익숙한 프로그래밍 언어로 SQL을 사용할 수 있게 해준다. 편리한 도구는 맞지만, 지나치게 의존도가 높다는게 문제점. (파이썬 개발자는 계속 파이썬으로만 작업하고 싶을 것…)

*파이썬에는 장고 ORM(Django ORM)이라는 도구가 있고, 라라벨에는 엘러퀀트 ORM(eloquent ORM), 노드제이에스에는 시퀄라이즈 ORM(Sequelize ORM)이나 타입 ORM(type ORM)이라는 도구가 있다.

***ORM에 의존하면 ORM만으로 해결하기 어려운 상황에 대처하기 어렵다. 고로, 개발에 꼭 필요한 데이터와 데이터베이스를 이해할 수 있게 해주는 언어인 SQL의 기초 공부를 하자(:

 

NoSQL

사투리처럼 프로그램마다 조금씩 다른게 SQL이라면, NoSQL은 언어의 특징 뿐 아니라 그들이 사용하는 데이터베이스 자체의 성질도 다르다.

1) 도큐먼트 데이터베이스(document DB)
: 몽고디비(MongoDB)가 대표적. 

SQL로 다루는 데이터베이스는 표의 형태를 ㄸ고 있어서 형태가 매우 정적이다. 반면 JSON 도큐먼트 형태는 대괄호와 중괄호로만 구성하면 되고, 데이터마다 구성이 같을 필요가 없다. 그래서 개발자가 원하는 어떠한 모양, 어떠한 종류의 데이터라도 저장가능하다(:

2) 읽고 쓰는 속도가 엄청 빠른 키값 데이터베이스
: 대표적으로 카산드라디비(CassandraDB), 다이나모디비(DynamoDB)가 있다. 

카산드라디비의 특징은 열이 넓다(column wide)는 것. -> 한 행의 열이 엄청 넓은 데이터베이스인데 수만개의 데이터를 1초 만에 순식간에 쓸 수 있을 정도로 속도가 빠르다(: 

때문에 애플은 카산드라디비로 10테라바이트의 데이터를 저장하고 있다는것<

다이나모디비는 아마존이 만듦. 듀오링고(Duolingo)라는 언어 학습 애플리케이션에서 다이나모디비를 쓴다. 이 녀석도 굉장히 빠름!

3) 노드로 관계를 표현하는 그래프 데이터베이스

열이나 도큐먼트가 필요하지 않고, 각각 관계망으로 연결하는, 대표적인 예) 페이스북

평범한 프로젝트의 경우 : 대부분 SQL 데이터베이스

실제로 인스타그램도 처음엔 SQL데이터베이스로 시작했는데 회사가 점점 성장하면서 그래프 데이터베이스(NoSQL 데이터베이스)로 옮겨야 하는 상황이 되었을 때 수정함.

 

 

&깃허브

깃 : 파일의 이력을 관리하는 프로그램 (감시자처럼 항상 우리의 파일을 지켜봄)
깃허브 : 파일과 깃으로 관리한 이력을 저장하고 공유하는 공간

깃허브는 파일 클라우드 서비스(원드라이브, 구글 드라이브 등의 파일 클라우드 서비스)와 같다. 다만 파일 뿐 아니라 깃으로 관리한 파일 이력도 공유할 수 있다는 점에 차이가 있다.

깃허브에 깃 이력을 업로드하는 것을 푸시, 내려받는 것을 풀이라고 함.

깃허브 외에도 깃랩(GitLab), 비트버킷(Bitbucket)이라는 깃 이력 보관소 서비스도 있지만, 깃허브가 가장 유명.

 

버전표기법 - Semver

숫자 3개로 표시하는 버전 표기 방식시맨틱 버저닝(Semantic Versioning Specification)이라고 한다.

대표기술 ) 리액트 / 장고

ex. 장고의 버전이 4.0.5로 표기되었다고 할 경우, 첫번째 숫자 4는 프로그램에 엄청나게 큰 변화가 있을 때 바뀐다(이사수준) / 중간 숫자는 마이너한 업데이트를 의미. (예쁜 카페트나 소품을 이용해서 인테리어 살짝 업그레이드하는 느낌) / 마지막 숫자는 패치나 버그 수정(기존 프로그램의 오류를 수정)한 것으로 만약 4.0.25와 같이 표기되었다면 수정을 25번했다고 생각해도 좋다(:

 

 

반응형