일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 뮤텍스
- 개발
- 프로그래밍
- 정보처리기사
- 신입사원
- Public
- 신입
- 깃
- IT
- 자바
- 우리카드
- 스프링
- CS
- java
- Effective Java
- 컴퓨터공학
- 이펙티브 자바
- 메모리
- github
- OS
- 스터디
- 컴퓨터과학
- 깃허브
- 세마포어
- 공채
- spring
- 운영체제
- package-private
- 디지털
- 알고리즘
- Today
- Total
목록전체 글 (116)
주니어 개발자 성장기
Overview 이번에는 Spring Session을 쓰는 이유와 도입 과정에 대해 다룬다. Session in Spring Security 기본적으로 Spring Security 에서는 세션 저장소로 Tomcat 서버가 사용된다. 즉, 메모리에 Session이 저장된다. 이 때, JSESSION 이라는 이름으로 활용되며, 브라우저는 Set-Cookie 헤더로 JSESSIONID를 받게 된다. 구체적인 세션 생성 내용은 아래를 통해 학습할 수 있다. 정리가 잘 되어 있다. Session Management in Tomcat - Junhyunny’s Devlogs Session Management in Tomcat junhyunny.github.io 문제는 메모리(내장 톰캣)에 Session 정보를 저장하..
가이드 참고 일단 Spring Security를 통한 인증을 먼저 구현하기 위해 Spring Security Guide 를 참고한다. Getting Started | Securing a Web Application Getting Started | Securing a Web Application Suppose that you want to prevent unauthorized users from viewing the greeting page at /hello. As it is now, if visitors click the link on the home page, they see the greeting with no barriers to stop them. You need to add a barrier t..
목적 여태까지 모든 프로젝트에서 JWT 토큰과 OAuth를 사용해서 인증 기능을 구현했었다. 그래서 이번에는 JWT가 아닌 Session 인증을 사용해서 예제 프로젝트를 만들어보려고 한다. 시작하기에 앞서, 각 인증 방식의 장단점을 비교해보자. 토큰 인증 방식 아래는 Glims 프로젝트에서 테스트용으로 발급한 JWT 토큰이다. eyJ0eXAiOiJqd3QiLCJhbGciOiJIUzUxMiJ9 .eyJzdWIiOiJ3bnN2eTYwN0BuYXZlci5jb20iLCJpYXQiOjE2ODQyMzQxMzcsImV4cCI6MTY4NDMyNDEzNywid G9rZW5fdHlwZSI6ImFjY2Vzc190b2tlbiIsInJvbGUiOiJST0xFX1VTRVIifQ .kZNkxiSoy5OpdWhqyJS0x0ru3Hc..
싱글톤 패턴 구현 스프링의 도움 없이 순수 자바로 싱글톤 패턴을 구현해보자. 영문 위키피디아에 따르면 구현 절차는 간단하게 다음과 같다. 다른 객체에 의해서 초기화되는 것을 방지하기 위해 모든 생성자를 private 으로 선언한다. 인스턴스에 대한 참조(reference)를 반환하는 정적(static) 메서드를 제공한다. 위의 절차에 따라 구현하는 방법이 크게 5가지가 있다. 결론부터 말하자면, 가장 바람직한 모델은 5번 Bill Pugh 구현과 Enum 구현이다. 그럼 차례대로 직접 구현해보자. 1. Eager Initialization Eager Initialization은 클래스 로딩 단계에서 인스턴스를 생성하는 방법이다. // 싱글톤 객체 public class EagerSingletonServ..
디자인 패턴이란? In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. 출처: 위키피디아 소프트웨어 설계 중 특정한 상황에서 흔히 일어나는 문제들에 대한 일반적이고 재사용 가능한 해결책이라고 할 수 있다. 수천가지의 디자인 패턴들이 존재하지만 제일 유명한 것은 "Gang of Four" design patterns 에 나온 23가지 디자인 패턴들이다. 싱글톤 패턴 싱글톤 패턴은 하나의 클래스가 오직 하나의 인스턴스만을 갖는 것을 보장하는 생성 디자인 패턴(creational de..
빈 생명주기 콜백 시작 데이터베이스 커넥션 풀이나, 네트워크 소켓처럼 애플리케이션 시작 시점에 필요한 연결을 미리 해두고, 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하려면 객체의 초기화와 종료 작업이 필요하다. 스프링 빈은 간단하게 다음과 같은 라이프사이클을 가진다. 객체 생성 -> 의존관계 주입 스프링 빈은 객체를 생성하고, 의존관계 주입이 다 끝난 다음에야 필요한 데이터를 사용할 수 있는 준비가 완료된다. 따라서 초기화 작업은 의존관계 주입이 모두 완료되고 난 다음에 호출해야 한다. 그런데 개발자가 의존관계 주입이 모두 완료된 시점을 어떻게 알 수 있을까? 스프링은 의존관계 주입이 완료되면 스프링 빈에게 콜백 메서드를 통해서 초기화 시점을 알려주는 다양한 기능을 제공한다. 또한 스프링..