오늘의 취준 78

https 연결하기

얼마 전에 진행한 면접에서 http를 사용한 웹 개발 프로젝트에 대해 발표하며 개선점으로 https연결을 꼽았는데, https 연결 흐름에 대한 질문에 답을 못 했던 경험이 있어 직접 실행해 보려고 한다.   http?Hipertext Transfer Protocol. 클라이언트와 서버 간 통신을 위해 사용되는 TCP/IP 기반 프로토콜이다. 연결 상태를 유지하지 않는 비연결성(Stateless) 프로토콜.서버가 클라이언트에게 받은 요청에 응답하고 나면 바로 클라이언트와의 연결의 끊어버린다.그래서 요청 종료 이후에는 클라이언트의 이전 상황을 알 수 없다.이런 단점을 해결하기 위해 Cookie와 Session이 등장했다. 웹은 클라이언트가 서버에 http요청을 보내고 서버가 응답으로 웹 페이지 또는 리소스..

[2023 KAKAO BLIND RECRUITMENT]개인정보 수집 유효기간

https://school.programmers.co.kr/learn/courses/30/lessons/150370 import java.util.HashMap; import java.util.ArrayList; import java.util.Arrays; class Solution { public ArrayList solution(String today, String[] terms, String[] privacies) { ArrayList answer = new ArrayList(); HashMap hash = new HashMap(); int todayY = Integer.parseInt(today.substring(0, 4)); int todayM = Integer.parseInt(today.sub..

[Spring Boot] 스프링 빈 / 의존성 주입

스프링 빈? : 스프링 컨테이너에 등록된 클래스를 말합니다. 서버가 시작되면 스프링 내부에는 컨테이너가 만들어지는데, 해당 컨테이너 안에는 클래스가 위치하며 클래스의 인스턴스화도 이루어집니다. 스프링 컨테이너/스프링 빈을 왜 사용할까? : 스프링 컨테이너를 사용하면 Controller가 Service를, Service가 Repository를 인스턴스화하여 사용하는 경우에 클래스명 변경 또는 의존하는 클래스 변경이 일어나 인스턴스화 코드를 모두 일일히 바꿔줘야 하는 불상사를 피할 수 있습니다. 스프링 빈 등록하기 : 스프링 빈을 등록하기 위해서는 어노테이션을 이용할 수 있습니다. @RestController HTTP요청을 처리하는 데에 특화됨. API 진입 지점을 지정하는 동시에 클래스를 Bean에 등록...

MVC 패턴

2023.09.16 MVC패턴(Model-View-Controller) 소프트웨어 디자인 패턴 중 하나로 애플리케이션의 구조를 구성하고 코드를 조직화하는 데에 사용되는 패턴입니다. 사용자 인터페이스(UI)와 비즈니스 로직을 분리하여 애플리케이션의 유지보수성을 향상시키고 확장성을 높여줍니다. 구성요소 Model DB. 데이터와 비즈니스 로직을 나타냄. 데이터의 상태를 저장하고 조작하는 역할. 데이터의 변경, 유효성 검사, 연산 등을 처리함. View UI. 데이터를 시각적으로 표현하고 사용자와 상호 작용하는 요소. 모델의 상태를 표시하고 사용자 입력을 수신해 Controller에 전달. Controller 모델과 뷰의 중간 역할. View를 통해 들어온 사용자의 요청을 받아 모델에서 데이터를 가져오고 다시..

비대칭키 암호화, 대칭키 암호화

2023.09.16 질문 참고 : https://github.com/ksundong/backend-interview-question GitHub - ksundong/backend-interview-question: 백엔드 개발자로 입사를 준비하며 받았던 질문, 예상했던 질 백엔드 개발자로 입사를 준비하며 받았던 질문, 예상했던 질문, 인터넷 참고한 질문(CC BY-NC) - GitHub - ksundong/backend-interview-question: 백엔드 개발자로 입사를 준비하며 받았던 질문, 예상했던 질문, github.com 비대칭키 암호화 공개키 암호라고도 한다. 암호화에 공개 키를, 복호화에 비밀 키를 사용하는 알고리즘이며, 수학적인 난제를 기반으로 설계되어 있고 암복호화에 복잡한 수학 연..

[Spring Boot] JPA 사용하기 / Spring Data JPA

2023.09.15 JPA(Java Persistent API)란? : JPA는 자바 진영의 ORM(Object-Relational Mapping. 객체와 관계형 DB를 매핑) 기술 표준을 의미합니다. 즉, 데이터를 영구적으로 저장할 수 있도록 Java 진영에서 정해진 규칙이며, SQL문을 직접 작성하지 않고 코드 내에서 CRUD작업을 할 수 있도록 해 줍니다. Hibernate가 JPA를 구현해줍니다. (주의/ JPA를 사용하려면 해당 클래스의 기본 생성자를 꼭 만들어줘야 합니다.) Spring Data JPA란? : 복잡한 JPA코드를 스프링으로 쉽게 사용할 수 있도록 도와주는 라이브러리입니다. JPA를 사용합니다. 왜 필요한가? - SQL문을 사람이 직접 작성하면 문법 실수가 나올 수 있고, 해당 ..

[JAVA] 알고리즘 문제풀이 입문 7-4, 7-5

강의: https://inf.run/w779 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 - 인프런 | 강의 자바(Java)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 코딩테스트에서 가장 많이 출제되는 Top 10 Topic을 다루고 있습니다. 주제와 연동하여 기초문제부터 중급문제까지 단계적으로 구성 www.inflearn.com 7-4번 (재귀함수로 피보나치 수열 출력) import java.util.Scanner; public class Main{ public void solution(int n, int pre1, int pre2){ if(n == 0) return; else{ System.out.print(pre2+" "); solution(--n, pre2, pre1 + pre2..

[JAVA] 알고리즘 문제풀이 입문 7-2, 7-3번

강의: https://inf.run/w779 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 - 인프런 | 강의 자바(Java)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 코딩테스트에서 가장 많이 출제되는 Top 10 Topic을 다루고 있습니다. 주제와 연동하여 기초문제부터 중급문제까지 단계적으로 구성 www.inflearn.com 7-2번(재귀함수로 이진수 출력하기) import java.util.Scanner; public class Main{ public void solution(int n){ if(n == 0) return; else{ solution(n/2); System.out.print(n%2); } } public static void main(String args[]){ ..

[JAVA] 알고리즘 문제풀이 입문 7-1번

강의: https://inf.run/w779 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 - 인프런 | 강의 자바(Java)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 코딩테스트에서 가장 많이 출제되는 Top 10 Topic을 다루고 있습니다. 주제와 연동하여 기초문제부터 중급문제까지 단계적으로 구성 www.inflearn.com 7-1번(재귀함수) import java.util.Scanner; public class Main{ public void solution(int n){ if(n == 0) return; else{ solution(n-1); System.out.println(n+" "); } } public static void main(String args[]){ Main T..