일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Request
- Codewars
- property
- springboot
- 로그인
- 플라이웨이트
- enum
- response
- ResponseDto
- redis
- RequestParam
- yml
- 코딩테스트
- JWT
- RequestBody
- Security
- Boot
- @RequestParam
- Spring
- @RequestBody
- 디자인 패턴
- @Value
- 반환
- 헬스체크
- 코드워즈
- DTO
- actuator
- Docker
- 파라미터
- 프로퍼티
- Today
- Total
목록분류 전체보기 (14)
있을 유, 참 진
Dependency 추가 & Yaml 파일 설정 💡 password를 설정했다면 yml 파일에 password 또한 설정해준다. // Redis implementation 'org.springframework.boot:spring-boot-starter-data-redis' #Redis 설정 spring: redis: lettuce: pool: max-active: 5 max-idle: 5 min-idle: 2 host: localhost port: 6379 password: 1234 Redis Configuration 설정 @Configuration @EnableRedisRepositories public class RedisConfig { @Value("${spring.redis.host}") pri..
Redis 이미지 받아오기 💡 docker pull redis를 통해서 redis를 받아온다. redis의 가장 최근 버전을 받아온다. PS C:\Users\USER-PC> docker pull redis Using default tag: latest latest: Pulling from library/redis 26c5c85e47da: Pull complete 39f79586dcf2: Pull complete 79c71d0520e5: Pull complete 60e988668ca1: Pull complete 873c3fc9fdc6: Pull complete 50ce7f9bf183: Pull complete Digest: sha256:f50031a49f41e493087fb95f96fdb3523bb25dc..
목표 기존의 Spring Boot main() - 시작 전 메인 함수 초기화 빈 컨테이너 생성하기 - 결과 보기 Servlet 매핑하기 & Servlet Request 처리 - 결과 보기 Servlet mapping -> Controller로 변환 - Hello Controller 생성 - 코드 변경 1. 기존 코드 2. 변경 코드 목표 💡 Spring Boot는 별도의 Web Server의 설치나 설정이 없이 개발에만 집중할 수 있게 해 준다. 기존의 Spring Boot의 main 함수 내에 직접 그것을 구현 및 정리 기존의 Spring Boot main() 💡 기존의 Spring Boot 메인, 해당 메인을 실행하면 부트 내의 내장된 톰캣이 실행되고 컨테이너를 초기화, `@SpringBootAppl..
처음에 풀었던 방법 문장을 단어로 분할 -> 단어를 캐릭터로 변환 후 점수를 계산(알파벳 enum을 활용), 문자열의 아스키 코드를 그대로 사용하려고 했는데 원하는 답이 나오지 않아 해당 방법을 사용함 package _code_wars; public class HighestScoringWord { public static void main(String[] args) { String test = "man i need a taxi up to ubud"; String test2 = "what time are we climbing up to the volcano"; String test3 = "take me to semynak"; System.out.println(high(test)); System.out.pr..
JWT Filter 생성 - JwtSecurityConfig Spring Security 공통 에러처리 - JwtAccessDeniedHandler - JwtAuthenticationEntryPoint WebSecurity에 값 설정 JWT Filter 생성 💡 JWT 토큰을 활용해 Security에서 인가를 처리하는 필터를 생성, 차후 `UsernamePasswordAuthenticationFilter` 전에 들어가 JWT의 정보를 통해 유저의 인가를 처리한다. @Slf4j @RequiredArgsConstructor public class JwtFilter extends GenericFilter { //헤더에서 받아올 이름 지정 public static final String AUTHORIZATION..
로그인 기능 구현 - 사용법 설명 JWT 관련 값 설정 loadUserByUsername(final String username) - User createUser(String username, User user) JWT Provider 생성 - String createToken(Authentication authentication) - Authentication getAuthentication(String token) - boolean validateToken(String token) 로그인 기능 구현 💡 로그인에 관련된 Controller 구현, `api/auth/authenticate` 을 호출하면 로그인이 된다. 순서는 아래와 같다. 유저의 아이디와 비밀번호 값을 이용해 authenticationT..
Spring Actuator? Dependency 추가 - 정상상태(Health check) 점검 결과 확인 1. 서버 상태 세부정보 표시 Spring Actuator? 💡 스프링 부트 애플리케이션의 다양한 운영 정보(health check, metrics, info 등)를 노출하는 엔드포인트를 제공하는 라이브러리입니다. 애플리케이션의 상태 모니터링, 운영 환경 필요 정보 확인. Dependency 추가 💡 스프링 부트 엑츄에이터를 추가해 준다. 스프링 애플리케이션 재실행 시 아래와 같이 나오면 성공 org.springframework.boot spring-boot-starter-actuator 2023-04-09 14:15:50.658 INFO 26768 --- [ main] o.s.b.a.e.web...
회원가입 DTO Controller 및 SecurityConfig 설정 - Controller - SecurityConfig UserService 테스트 결과 회원가입 DTO @Getter @NoArgsConstructor @AllArgsConstructor public class UserDto { @NotNull @Size(min = 3, max = 50) private String userName; @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) @NotNull @Size(min = 3, max = 50) private String password; @NotNull @Size(min = 3, max = 50) private String nickName..
JWT(Json Web Token)란 무엇인가? - 사용법 설명 JWT 기반 토큰 인증 JWT의 장단점 - 장점 - 단점 JWT(Json Web Token)란 무엇인가? 💡 JSON 객체를 통해 안전하게 정보를 전송할 수 있는 웹표준(RFC7519), JWT는 `.`을 구분자로 세 부분으로 구분된 문자열로 이뤄지고 구성은 아래와 같다. 헤더: 토큰의 타입과 해싱 알고리즘 내용: 실제로 전달할 정보 서명: 위변조 방지를 위한 값 회원을 구분할 수 있는 정보가 담기는 곳이 JWT의 payload 부분이고 이곳에 담기는 정보의 한 부분을 Claim이라고 칭한다. Claim은 name : value 한 쌍으로 이뤄지며 여러 개의 Claim을 넣을 수 있다. 한마디로 요약하면 JSON이다. JWT 기반 토큰 인증..
플라이웨이트 패턴 설명 - 장점 - 단점 문제점 분석 - 예시 코드 설명 1. Character 2. Client 플라이웨이트 패턴 적용 - instrinsit 속성 1. Font 2. FontFactory - extrinsit 속성 + 구현 1. Character 2. Client 플라이웨이트 패턴 설명 💡 복싱이나 격투기에서는 가장 가벼운 체급을 플라이급이라고 칭한다. 구조 패턴 중 하나로 메모리 사용을 줄이는 패턴. 자주 변하는 속성(extrinsit)과 변하지 않는 속성(instrinsit)을 분리, 재사용해 메모리 사용을 줄인다. 플라이웨이트 패턴은 아래와 같을 때 큰 효과를 볼 수 있다. 1. 애플리케이션에 의해 생성되는 객체가 많아질 때 2. 생성된 객체가 많아져 저장 비용이 높아질 때 3...