전체 글

좋은 영향력을 전파하기 위해 노력하는 엔지니어 리오입니다.
· CS
넷플릭스, 티빙, 디즈니 플러스등 다양한 OTT 플랫폼 서비스 시장에 나오고 있다. 기존에 영상 매체를 사용하지 않던 몇몇 플랫폼 서비스들도 틱톡, 유튜브 쇼츠 등의 유행으로 짧은 영상 형태로 컨텐츠를 제공하는 것이 트렌드가 되면서 시장이 커지기 시작했고 더불어 스트리밍과 관련된 기술들이 많이 발전하게 되었다. 그런 스트리밍 기술들을 직접적으로 사용하기 전에 스트리밍 기술의 기반이라고 할 수 있는 스트리밍 프로토콜들을 알아보고 각각의 장단점을 살펴보고자 한다. 스트리밍 프로토콜의 작동 방식 스트리밍 프로토콜을 설명하기에 앞서서 프로토콜을 간단하게 설명하자면 컴퓨터끼리 송수신할 때 어떤 규칙으로 통신할 지 정의한 것이다. 예를들어 우리가 한국에 살면 한국어를 암묵적으로 쓰는 것처럼 스트리밍 프로토콜의 동작..
· Git
커밋 메시지 커밋의 컨벤션은 커밋 메시지안에 기능, 수정사항 및 주요 변경 사항을 설명해야 됩니다. 커밋 메시지의 양식은 아래의 양식 처럼 구성해야 합니다. [optional scope]: [optional body] [optional footer] 커밋은 해당 라이브러리의 소유자에게 의도를 전달하기 위해 다음과 같은 구조요소를 설명해야 합니다. fix: fix: 유형의 커밋은 해당 코드베이스의 버그를 수정하다는 의미. feat: feat: 유형의 커밋은 해당 코드베이스의 새로운 기능을 추가한다는 의미. BREAKING CHANGE: BREAKING CHANGE: 는 footer에 추가하거나 type/scope 에 ! 를 붙이고 추가한다. 해당 커밋은 새로운 버전으로 import해주거나 추가로 다른 모듈..
· 일상
ERD? 데이터 모델링 분야에서 개체-관계 모델이란 구조화된 데이터에 대한 일련의 표현이다. "구조"화된 데이터를 저장하기 위해 데이터베이스를 쓴다. 이 데이터의 "구조" 및 그에 수반한 제약 조건들은 다양한 기법에 의해 설계될 수 있다. 그 기법 중 하나가 개체-관계 모델링이다. 출처:위키백과 QuickDBD는 다른 툴과 다르게 프로그래머들을 위해 DB ERD를 쉽게 사용하게 하는데 특화된 툴이라는 것을 느꼈다. Quick DBD를 사용하면서 느낀 점들을 정리해 보았다. 간단한 명령어를 통한 손쉬운 테이블 설계 우리가 직접 모형을 가져오고 테이블에 하나하나 입력하지 않고 명령어를 통해 입력해서 손쉽게 구성이 테이블 설계가 가능해서 작업시간을 효율적으로 사용할 수 있어서 시간을 절약하여 데이터 베이스에 ..
· CS
네트워크에 대해 공부하던 중 우리가 브라우저를 통해 웹사이트를 접속할때에 대략적인 부분을 알고 있지만 세세한 부분은 모르는 부분이 있다. 이번 기회를 통해 세세한 부분까지 다시 정리하고자 한다. 출처: https://github.com/JaeYeopHan/Interview_Question_for_Beginner/tree/master/Network 브라우저 우리가 위처럼처럼 네이버를 검색하게 되면 브라우저는 일단 해당 URL의 구조를 분석합니다. 분석한 의미에 따라 Http request 메시지를 만든다. 브라우저는 os를 통해 url을 IP로 변경하게 되는데 과정은 아래와 같다. 자신의 로컬 hosts 파일과 브라우저 캐시에 해당 URL이 존재하는지 확인. 존재하지 않는다면 해당 url을 DNS를 통해 ..
npm을 통해 express를 다운로드하고 express 프로젝트를 생성하면 아래와 같은 구조로 생성하게 되는데 프로젝트를 진행하기 전에 각각 무슨 역활을 하는지 알아 보고자한다. 프로젝트 구조 ├── app.js ├── bin │ └── www ├── package.json ├── public │ ├── images │ ├── javascripts │ └── stylesheets │ └── style.css ├── routes │ ├── index.js │ └── users.js └── views www express의 핵심파일로 아래와 같이 구성되어 있다. var app = require('../app'); var debug = require('debug')('learn-express:server')..
평소에 자바를 공부하면서 백엔드 공부를 하고 있었지만 스타트업은 Python이나 Node.js를 통하여 서버리스 환경을 구축한다. 그렇기에 자바 뿐만 아니라 Node.js에 대해서 좀 더 알아 보려고 한다. Node.js ? 위키에는 아래와 같이 정의 되어 있다. 이 의미를 하나씩 분석 해보았다. "Node.js는 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼이다. 작성 언어로자바크립트를 활용하며 논블록킹(Non-blocking) I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다. 내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치 등의 별도의 소프트웨어 없이 동작하는 것이 가능하며 이를 통해 웹 서버의 동작에 있어 더 많은 통..
ri5
리오의 개발일지