SSAFY

나름 CS 상식(?)

황성안 2021. 10. 18. 08:27
728x90

JWT

header, payload, signiture 로 나뉘어진다.

웹표준으로 두 개체에서 JSON 객체를 사용하여 가볍고 자기 수용적 방식으로 정보 안정성있게 전달

Stateless하기 때문에 데ㅐ용량 분산 구조에 사용하기 적합합

모바일 환경에서는 안전한 영역에 JWT 보관

레디스에 JWT 토큰을 보관해서 사용하는 경우가 많음

 

 

TypeScript

TypeScript는 Javascript에 타입 표기를 할 수 있도록 한 자바스크립트의 슈퍼셋

Microsoft에서 지원

놀라운 생산성의 향상

Type을 통해 미리 오류를 방지할 수 있음

Class 기반의 언어에서 사용하던 코딩 패턴을 사용 가능함

 

도커

컨테이너 기반의 오픈소스 가상화 플랫폼

리눅스 컨테이너를 사용 프로세스를 격리시키기때문에 가볍고 빠르게 동작

동일한 프로그램을 여러 서버에 배포하는 것 가능

이미지를 생성해서 공유하는 것이 가능

Jenkins와 더불어 백 프론트 배포에 사용해보자

 

 

프로젝트와 맞다면 써보자

프로젝트에 필요한 기술 스택이라면

최신 기술X 사용해야하는 이유가 있을때

성능, 보안, 대용량 구조 등등 이유가있어야함

자기소개서와 포트폴리오의 키워드로 포함

사용했다면 기본적은 것들에 대해서 대답 가능해야함

 

JPA

java persistence API

JPA 는 java를 위한 영속성 관리와 ORM을 위한 표준 기술

SQL 중심적 개발의 문제점을 해소

지루한 코드의 반복을 없애 생산성을 높인다

(쿼리의 90%는 CRUD)

MyBatis를 사용하고 있었는데 새로운 column이 하나 추가됐다.

여러 개의 쿼리를 수정해야하는데 쿼리 하나를 수정하는 걸 깜빡 했다면...

자기소개서에서 최근 트렌드에 대해 이해하고있다는 시그널을 보낼수있다.

 

React

사용자 인터페이스를 만들기 위한 JavaScript 라이브러리

꼭 하라는 것X 기업에서 Vue.js 보다 선호

Vue와 React를 어설프게 두 가지 하나를 하는 것보다 하나를 확실히 더 잘하는 것이 좋다

회사에서도 Vue 와 React는 서로 호환된다는 시각 바라본다

공식 문서를 중심으로 공부해보자

 

Vue VS React

두 경우의 장단점

###

MongoDB

관계형 데이터베이스가 아닌 SQL ( NoSQL )

Document Oriented Database

Not Only SQL

Document는 key-value pair로 이루어져있고

Collection은 Document의 그룹

Database는 Collection들의 물리적 컨테이너다.

"_id" : ObjectID("54654654564ㅠ6545454654f5fd"),
"username":"asdasdas",
"name":{ first : "M.J", last: "Kim" }

 

 

websocket

Client와 Server 간의 통신

실시간 상호작용하는 웹 서비스를 만드는 표준 기술

연결을 맺는 비용이 가장 큼, 연결을 만들어 놓고 계속해서 사용하는 방법

지속적으로 서버와 통신이 필요한 기능(알림, 채팅 등)을 구현하기에 적합

브라우저의 버전에 따라서 websocket을 지원하지 않는 경우가 있기 때문에 socket.io라는 라이브러리를 주로 사용한다

Redis와 함께 쓰면 좋다

면접관에게 어필하기 좋은 기술 스택

 

 

Redis (MongoDB 대신? 다른 DB)

Remote Dictionary Server

메모리 기반의 Key-value 데이터 베이스

메모리를 사용+ key-value 구조라 굉장히 빠름

만료일을 지정해서 저장 기능이있어 JWT 나 채팅을 저장할 때 사용하면 좋다

과도한 사용자의 요청을 Count해서 막는 방법

랭킹 구현도 간단히 가능하다.(모바일? 가병운 게임 구현시 가능)

 

 

Jenkins

Continuous Integration를 위한 도구

Git과 같은 형상 관리 도구에서 변경이 감지되면 자동으로 빌드해 주는 것이 가능하다

빌드 후에 pipeline을 통해 정적 분석/자동화 테스트를 수행한다.

분석과 테스트가 종료되면 개발 서버에 DEploy하거나 개발 서버와 동일한 결과물로 상용서버에 Deploy 한다

 

Spring Batch

Batch(일괄 처리)작업을 수행해주는 SPring Module

ex) @ 달의 민족에서 매일 0시에 하루 매출을 정산한다면

Quartz나 Spring Scheduler 등과 함께 사용한다

정기적으로 수행해야하는 대용량 데이터 처리가 있다면 Batch를 사용

728x90

'SSAFY' 카테고리의 다른 글

[ ssafy ]하둡 & 블록체인  (0) 2021.10.01
병렬 분산 알고리즘 구현 ( 이론 )  (0) 2021.08.25
[ SSAFY ] 캐싱의 개념과 적용  (0) 2021.08.24
[SSAFY] 산업혁명  (0) 2021.08.17
[SSAFY] TDD (Test Driven Dev)  (0) 2021.08.12