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를 사용
'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 |