본문 바로가기

반응형

전체 글

(193) PORTFOLIO GITHUB 방명록
[스프링 시큐리티] 비인증 사용자를 위한 '익명 사용자' 알아보기 DEVELOPER/Spring & JPA / 2023. 3. 15. 안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘 포스팅할 내용은 스프링 시큐리티와 관련된 내용입니다. 제가 프로젝트를 진행하면서 인증과 관련된 기능을 구현하던 중이었습니다. 해당 기능의 요구사항은 인증된 회원과 비인증 회원에게 서로 다른 데이터를 제공하는 역할을 하는 것이었습니다. 따라서 Security Context Holder에 인증 정보가 있는지 체크를 해야 했습니다. 여기서 저는 비인증 회원이라면, Security Context에 당연히 인증 정보가 없을 것이라고 이분법적인 사고를 했습니다. 만약 저의 논리에 따른다면, 비인증 회원의 요청에 해당 메서드는Null을 리턴하겠죠? 하지만 문제는! Null 체크를 진행한다면, Null 이 아닌 결과가 나옵니다. 제 생각과는 완전히 달랐습니다. 위에..
[프로그래밍] 자주 사용하는 정규식 표현 정리 DEVELOPER/Programming / 2023. 3. 8. 안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘은 정규식 표현에 대해서 정리하도록 하겠습니다. 검증을 위해 유용하게 사용하는 정규식인데요. 그중 IP 주소, URL, email, Id, 패스워드, youtube 등, 자주 사용할 표현으로 정리했습니다. 1) IP 주소 IP 주소 (IPv4) ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ IP 주소 (IPv6) ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ IP 주소 (IP..
[IDE] MacOS 터미널(CLI)에서 IntelliJ 바로 실행하기 DEVELOPER/Programming / 2023. 2. 27. 안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘은 MacOS 의 터미널에서 IntelliJ 에디터를 실행하는 방법을 알아보겠습니다. 이전에는 프로젝트를 실행하기 위해 직접 폴더에 들어가서 마우스로 실행했던 적이 많았습니다. 개발자의 입장에서 굉장히 번거로웠습니다. 알아보니 터미널에서 명령어를 통한 방법이 있었습니다. 먼저 간단한 설정을 진행해줘야 합니다. 초기설정 1) IntelliJ(인텔리제이) 에디터 상단의 Tools를 클릭합니다. 2) 'Create Command-line Launcher' 를 클릭합니다. 3) 아래와 같은 창에서 OK를 클릭합니다. 설정 후 설정이 끝나면, 터미널에서 프로젝트의 경로로 이동하고 [idea .] 명령어를 입력합니다. idea .
[스프링 시큐리티] WebSeucrityConfigurerAdapter Deprecated 대처 DEVELOPER/Spring & JPA / 2023. 1. 25. 문제 위 그림과 같이 Spring Security 5.7.0-M2 버전부터, WebSecurityConfigurerAdapter가 deprecated 되었습니다. 공식 문서에 따르면, 다른 설정 방식을 권장한다고 합니다. 자세한 내용은 아래에서 확인하겠습니다. Deprecated : 더 이상 사용되지 않는 변경 내용 기존에는 해당 클래스를 상속받아 설정을 오버라이딩 하는 방식이었습니다. 바뀐 방식에서는 SecurityFilterChain 과 WebSecurityCustomizer 를 Bean으로 등록하여 사용합니다. HttpSecurity 구성 비교 (이전 방식) WebSecurityConfigurerAdapter 상속 후, configure 메소드 오버라이딩하여 설정하는 방식 @Configuration..
[DB] 트랜잭션(Transaction)에 대해서 알아보기 DEVELOPER/Database / 2023. 1. 23. 안녕하세요😎 백엔드 개발자 제임스입니다 :) 모두 새해 복 많이 받고, 하는 일 모두 잘되세요! 오늘은 트랜잭션에 대해서 정리하겠습니다. 트랜잭션은 데이터베이스를 다루기 위해 필수로 알아야 할 개념입니다. 기술면접에서도 이와 관련된 질문이 자주 나옵니다. 그만큼 기본적이면서 중요하죠. 이제 자세하게 알아보겠습니다. 트랜잭션(Transaction)이란? 간략한 표현 : Tx 1초당 처리할 수 있는 트랜잭션의 개수 : TPS 트랜잭션은 데이터베이스의 상태를 변경시키기 위해 수행하는 작업의 단위입니다. 또는 더 이상 쪼갤 수 없는 업무 처리의 최소 단위입니다. 여기서 상태를 변경시킨다는 의미는 DML(Data Manipulation Language)에 해당하는 SELECT, INSERT, UPDATE, DEL..
[프로그래머스/JAVA] Level 4, 도둑질 DEVELOPER/DS & Algorithms / 2023. 1. 20. https://school.programmers.co.kr/learn/courses/30/lessons/42897 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 도둑이 어느 마을을 털 계획을 하고 있습니다. 이 마을의 모든 집들은 아래 그림과 같이 동그랗게 배치되어 있습니다. 각 집들은 서로 인접한 집들과 방범장치가 연결되어 있기 때문에 인접한 두 집을 털면 경보가 울립니다. 각 집에 있는 돈이 담긴 배열 money가 주어질 때, 도둑이 훔칠 수 있는 돈의 최댓값을 return 하도록 solution 함수를 작성하세요. 제한사항 이 마을에 있는..

반응형