TIL 50

230905 TIL

오늘 할 일 (계획) 기술 면접 준비 최종 프로젝트 진행 오늘 한 일 최종 프로젝트 중간발표 정리 최종 프로젝트 진행 스톱워치 저장 시 각 User 별로 user_id 통해 저장 되도록 설정 스톱워치 @AuthenticationPrincipal 사용하여 Controller, Service, ServiceImpl 변경 AccumulatedTime 에 저장되는 데이터 Sec 단위까지 저장되도록 변경 Spring ) Spring Security 에 @AuthenticationPrincipal 사용시 예제 TIL 작성 기술면접 준비 JWT, Refresh, Access Token에 대해서 설명 JWT (JSON Web Token) 정보를 안전하게 전송하기 위한 암호화된 문자열. Header.Payload.Sig..

TIL 2023.09.05

230904 TIL

오늘 할 일 (계획) 기술 면접 준비 최종 프로젝트 중간발표 (발표자) 오늘 한 일 최종 프로젝트 중간발표 중간발표 회고, 피드백 기술 면접 준비 토큰과 세션의 차이점 차이점 1. 사이즈 세션 < 토큰 세션을 사용시 주고받는 session id의 크기는 매우 작습니다. 반면 (JWT기준) 토큰은 같은 데이터를 담고 있어도 그에 비해 크기가 큽니다. 차이점 2. 안전성 세션 세션은 서버측에서 저장/관리하기 때문에 상대적으로 온전한 상태를 유지하기 유리합니다. 하지만 여전히 공격의 위험이 있기에 유효기간, HttpOnly, Secure 옵션 등을 주어 쿠키에 저장합니다. 토큰 반대로 토큰은 웹 브라우저측 (local storage, 혹은 쿠키 등)에 저장되기 때문에 공격에 노출될 가능성이 더 큽니다. 이런 ..

TIL 2023.09.05

230902 TIL

오늘 할 일 (계획) 기술 면접 준비 오늘 한 일 기술 면접 준비 OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. 계층을 나눈 이유는 통신이 일어나는 과정이 단계별로 파악할 수 있기 때문이다. 흐름을 한눈에 알아보기 쉽고, 사람들이 이해하기 쉽고, 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있기 때문이다. 응용 계층 응용 계층(Application Layer, 7계층)에서는 OSI 7계층 모델에서 최상위 계층으로 사용자가 네트워크 자원에 접근하는 방법을 제공한다. 그리고 계층 7은 최종적으로 사용자가 볼 수 있는 유일한 계층으로 모든 네트워크 활동의 기반이 되는 인터페이스를 제공하는데, 즉 사용자가..

TIL 2023.09.03

230901 TIL

오늘 할 일 (계획) 기술 면접 준비 최종 프로젝트 프론트 백엔드 구성 / 연결 오늘 한 일 최종 프로젝트 스톱워치 기능 완성 기술 면접 준비 GET 방식 개념: GET은 요청하는 데이터가 HTTP URL의 일부로 포함되어 전송됩니다. 일반적으로 조회 작업에 사용됩니다. 데이터 흐름: 사용자가 브라우저에서 URL을 입력하거나 링크를 클릭합니다. 브라우저가 해당 URL에 포함된 파라미터와 함께 서버에 요청을 보냅니다. 서버가 요청을 처리하고 필요한 정보를 응답으로 보냅니다. 브라우저가 응답을 받아 사용자에게 표시합니다. POST 방식 개념: POST는 요청 데이터를 HTTP 메시지 본문에 담아 전송하며, 서버의 상태를 변경하거나 데이터를 추가하는 작업에 사용됩니다. 데이터 흐름:사용자가 웹 폼에 데이터를 ..

TIL 2023.09.03

230831 TIL

오늘 할 일 (계획) 기술 면접 준비 최종 프로젝트 프론트 백엔드 구성 / 연결 오늘 한 일 최종 프로젝트 프론트 백엔드 결합, Dto 등 필요한 부분 보완,추가 기술 면접 준비 ORM을 사용하면서 쿼리가 복잡해지는 경우에는 어떻게 해결하는게 좋을까요? JPA 같은 ORM은 정적인 상황에서 사용하는걸 권장하기 때문에 복잡한 쿼리와 동적인 쿼리에 대한 문제가 발생할 수 있습니다. 그럴때는 문자열 형태로 직접 쿼리문을 작성하는 JPQL이나 자바코드로 작성하는 Querydsl을 사용할 것을 권장하고 있습니다.

TIL 2023.08.31

230830 TIL

오늘 할 일 (계획) 기술 면접 준비 최종 프로젝트 프론트 구성 오늘 한 일 최종 프로젝트 - 스톱워치 프론트엔드 구성 , 메인 디자인과 결합 기술 면접 준비 대용량 트래픽 처리 대용량 트래픽 발생 대응 방법은 서버 확장, 캐싱, 비동기 처리 등이 있습니다. 그중에서 가장 일반적인 방법인 서버 확장에는 수직확장(scale-up)과 수평확장(scale-out) 이 있습니다. 수직 확장(scale-up)은 한 대의 서버를 구성하는 부품(CPU, RAM, DISK 등..)을 추가하거나 업그레이드하여 서버 자체의 처리 능력을 향상시키는 방법입니다. 하지만 성능 확장에는 한계가 존재합니다. 수평확장(scale-out)은 서버의 개수를 늘려서 많은 트래픽을 여러 서버가 나눠서 처리하는 방법입니다. 이때 한 서버에만..

TIL 2023.08.31

230828 TIL

오늘 할 일 (계획) 기술 면접 준비 CS 공부 오늘 한 일 기술 면접 준비 DI(Dependency Injection)란 스프링이 다른 프레임워크와 차별화되어 제공하는 의존 관계 주입 기능으로, 객체를 직접 생성하는 게 아니라 외부에서 생성한 후 주입 시켜주는 방식이다. DI(의존성 주입)를 통해서 모듈 간의 결합도가 낮아지고 유연성이 높아진다. IoC(Inversion of Control)란 "제어의 역전" 이라는 의미로, 말 그대로 메소드나 객체의 호출작업을 개발자가 결정하는 것이 아니라, 외부에서 결정되는 것을 의미한다. IoC는 **제어의 역전이라고 말하며, 간단히 말해 "제어의 흐름을 바꾼다"**라고 한다. 객체의 의존성을 역전시켜 객체 간의 결합도를 줄이고 유연한 코드를 작성할 수 있게 하여..

TIL 2023.08.29

230826 TIL

오늘 할 일 (계획) 기술 면접 준비 오늘 한 일 기술 면접 준비 HTTP(하이퍼텍스트 전송 프로토콜)와 HTTPS(보안 소켓 계층)는 모두 인터넷을 통한 데이터 통신을 위한 프로토콜이지만, 주요한 보안 차이가 있습니다. 보안: HTTP: 데이터는 암호화되지 않고 평문으로 전송됩니다. 이는 해커가 데이터를 가로챌 수 있고, 중간에서 데이터 변조가 가능하다는 의미입니다. HTTPS: 데이터는 SSL/TLS(보안 소켓 계층/전송 계층 보안) 프로토콜을 사용하여 암호화되어 전송됩니다. 이는 데이터의 기밀성과 무결성을 보호하며, 중간에서의 데이터 가로채기나 변조를 어렵게 만듭니다. 암호화: HTTP: 암호화되지 않은 상태로 데이터가 전송되므로, 민감한 정보(비밀번호, 신용카드 정보 등)를 전송할 때 보안이 취약..

TIL 2023.08.29

230825 TIL

오늘 할 일 (계획) 기술 면접 준비 최종 프로젝트 병합 최종 프로젝트 프론트 구성 시작 오늘 한 일 기술 면접 준비 TCP 와 UDP 에 대한 설명 TCP 와 UDP 는 모두 프로토콜의 한 종류 입니다. TCP는 연속성보다 신뢰성있는 전송이 중요할 때에 사용하는 프로토콜로 예를 들면 파일 전송과 같은 경우에 사용됩니다 TCP와 달리 UDP는 비연결형 프로토콜입니다. 즉, 연결을 위해 할당되는 논리적인 경로가 없는데, 그렇기 때문에 각각의 패킷은 다른 경로로 전송되고, 각각의 패킷은 독립적인 관계를 지니게 되는데 이렇게 데이터를 서로 다른 경로로 독립적으로 처리하게 되고, 이러한 프로토콜을 UDP라고 합니다. 최종 프로젝트 병합 최종 프로젝트 프론트 구성 시작

TIL 2023.08.25