-
[프로그래머스/Python] 해시 - 폰켓몬, 완주하지 못한 선수, 전화번호 목록Solve 2025. 1. 23. 14:54
문제 풀이를 너무 안 했더니 유형이 기억이 잘 안 나서 프로그래머스 알고리즘 고득점 kit을 시작했다.한 바퀴 돌고 백준으로 넘어가거나 기출 문제 중 랜덤 유형으로 풀려고 한다!폰켓몬더보기문제 설명당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다..
-
[Spring] Spring Security JWT 구현 (2)Code 2024. 12. 12. 00:39
↓ 이 글에서 이어집니다. [Spring] Spring Security JWT 구현 (1)프로젝트 진행 중 필요했던 로그인 기능 구현을 위해 학습한 내용, 구현한 내용을 정리한 글입니다. 🥹 프로젝트 진행에 필요한 정도만 구현하였기 때문에 OAuth 소셜 로그인이나 요런 녀석들은henhen.tistory.com 이전 글에서 구현 방식 개요와 토큰 저장소 관련 세팅, 토큰 관련 서비스를 생성했다. 이어서 회원 서비스에서 편리하게 사용하기 위하여 UserDetails, UserDetailsService를 구현하고, 세팅한 토큰과 서비스에 대해 커스텀 필터를 구현해 준 다음 SecurityConfig를 구성해보려고 한다. 분량이 된다면 회원 기능에서 인증과 연관이 있을 로직 처리까지 작성해 보겠습니다...
-
[Spring] Spring Security JWT 구현 (1)Code 2024. 12. 7. 23:46
프로젝트 진행 중 필요했던 로그인 기능 구현을 위해 학습한 내용, 구현한 내용을 정리한 글입니다. 🥹 프로젝트 진행에 필요한 정도만 구현하였기 때문에 OAuth 소셜 로그인이나 요런 녀석들은 생략했습니다. JWT(JSON Web Token)Header, Payload, Signature로 구성정보를 Base64 URL-safe Encode을 통해 인코딩해 직렬화API 요청 시 JWT를 전달하여 인증, 인가를 진행하는 토큰 인증 방식의 한 종류구현 방식1. 고려 사항모바일로 접속하는 유저풀이 없으며, 비브라우저 환경을 고려하지 않음모든 회원은 관리자 레벨임Access Token, Refresh Token값이 존재하지 않는 경우유효하지 않은 경우(사용자가 일치하지 않는 경우 등)유효시간이 만료된 경우Acc..
-
[Udemy] Spring Security 사용자 정의, JWT수업 내용 정리 2024. 11. 23. 17:50
* 해당 강의에 대한 정리 글입니다.https://www.udemy.com/course/spring-security-6-jwt-oauth2-korean/?couponCode=CPSALEBRAND241. Authorization 구현권한 기반 인가GrantedAuthority 구현 -> SimpleGrantedAuthority.java: role 필드 보유(String)getAuthority(): 로그인한 사용자에게 할당된 역할, 권한 get로그인한 사용자의 UserDetails를 Authentication 구현 클래스 객체 형태로 저장: UserDetailsService에서 loadUesrByUsername 시 authorities에 유저의 권한 정보(getRole())를 List로 전달(한 유저가 여러..
-
[Udemy] Spring Security 예외 처리, CORs, CSRF수업 내용 정리 2024. 11. 22. 13:17
* 해당 강의에 대한 정리 글입니다.https://www.udemy.com/course/spring-security-6-jwt-oauth2-korean/?couponCode=CPSALEBRAND241. SecurityConfig - HTTPS 프로토콜 허용@BeanSecurityFilterChain defaultSecurityFilterChain(HttpSecurity http) throws Exception { http.requiresChannel(rcc -> rcc.anyRequest().requiresSecure()) // HTTPS 트래픽만 허용 // ... 이후 로직 return http.build();}http.requiresChannel(rcc -> rcc.anyReq..
-
[Udemy] Spring Security Basic수업 내용 정리 2024. 11. 21. 15:08
* 해당 강의에 대한 정리 글입니다.https://www.udemy.com/course/spring-security-6-jwt-oauth2-korean/?couponCode=CPSALEBRAND24 0. 기본 설정spring security dependency 추가application.properties 설정초기 id, pw 변경spring.security.user.name=${SECURITY_USERNAME:(id)}spring.security.user.password=${SECURITY_PASSWORD:(password)}-> SecurityProperties.java 내부에 정의된 로직에 따라 properties에서 자체 비밀번호를 정의할 경우, 프레임워크에서 검증 후 비밀번호를 자동으로 생성하지 ..
-
[Spring] Kafka 채팅 파티션 분산 (3)Code 2024. 11. 11. 17:04
↓ 여기서 이어집니다 Spring, Web Socket, STOMP, MongoDB 환경에서 채팅 구현웹소켓 관련 의존성 추가(build.gradle) implementation 'org.webjars:webjars-locator-core:0.59' implementation 'org.webjars:sockjs-client:1.5.1' implementation 'org.webjars:stomp-websocket:2.3.4' Websocket + STOMP config 구성@Configuration@Enablehenhen.tistory.com 웹소켓 중복 구독, 연결 끊김 문제 해결↓ 여기서 이어집니다 Spring, Web Socket, STOMP, MongoDB 환경에서 채팅 구현웹소켓 관련 의존성 추..
-
[한화시스템 BEYOND SW캠프 8기] 마지막 회고한화시스템 beyond SW 캠프 2024. 11. 10. 14:45
시간이 너무 빠르다. 잉잉 코딩 처음 시작하는데 한개도 몰라요 했던 지가 엊그제 같은데(사실 지금도 한다) 벌써 6개월이 지나고 파이널 프로젝트가 끝나고 8기 수료를 했다. 처음 들어올 때 나와 지금의 내가 크게 달라졌냐 하면 아직까지 같은 사람이고, 똑같냐고 하면 또 그건 아니다. 그래도 처음에 생각했던 것보다 많은 걸 얻어가게 된 것 같아서 중간에 1n주간 기록이 빠졌지만 마지막 회고라도 써보려고 한다. 6개월을 9 to 6으로 어딘가에 소속되어 생활한다는 건 내가 생각했던 것보다 더 더 많은 정이 들고, 더 많이 마음을 쓰게 된다. 파이널 프로젝트를 하면서 잠도 많이 줄이고 개인 생활을 많이 덜어내다 보니 예민하게 굴었던 것도 감정을 냅다 표출했던 것도 뒤돌아보니 후회도 되고 마음이 좋지 않았다. ..
-
[Spring] 채팅 구현 중 웹소켓 중복 구독, 연결 끊김 문제 해결 (2)Code 2024. 11. 3. 18:23
↓ 여기서 이어집니다 Spring, Web Socket, STOMP, MongoDB 환경에서 채팅 구현웹소켓 관련 의존성 추가(build.gradle) implementation 'org.webjars:webjars-locator-core:0.59' implementation 'org.webjars:sockjs-client:1.5.1' implementation 'org.webjars:stomp-websocket:2.3.4' Websocket + STOMP config 구성@Configuration@Enablehenhen.tistory.com 문제frontend채팅 서비스 구현 중 웹소켓을 중복 구독해서 메세지가 이중으로 표시되는 문제페이지 새로고침이나 컴포넌트 이동 시 연결이 끊기는 문제구독 확인 후 ..
-
Argo cd수업 내용 정리 2024. 10. 17. 17:20
(2024.10.17)기본 환경 세팅kubernetes ingress 접근* service: L4 수준의 로드밸런서ingress: 요청을 원하는 pod로 분산(로드밸런싱), L7 계층 -> 클러스터 외부에서 http요청을 통해서 라우팅해서 pod로 분산이미지 생성docker build --no-cache -t testweb:1.0 ./ object 생성1. service object외부에서 직접 접근이 아니라 ingress를 통해서 접근하므로 yaml -> ClusterIP type으로 생성* port: 서비스 포트, targetPort: 포드의 포트2. ingress objectingress.yamlingress 실행 규칙을 지정한 파일ingress nginx 컨트롤러 사용할 예정이므로 yaml에 관련..