전체 글 (23) 썸네일형 리스트형 Spring Security @EnableWebSecurity(debug = true) 오류 해결 배경@Configuration@EnableWebSecurityclass AuthConfig() {// ...securityFilterChain 메서드 등} 스프링 시큐리티를 사용하면 위와 같은 스프링 시큐리티 설정 클래스를 만들어야 한다. 여기서 @Configuration은 이 클래스를 Spring의 설정 클래스로 만드는 어노테이션이다. @EnableWebSecurity는 Spring Security를 사용하도록 활성화하는 어노테이션이다. 이 어노테이션이 있는 클레스는 Spring Security를 구성하고 필터 체인을 정의할 수 있다. @EnableWebSecurity는 debug라는 optional element를 가지고 있다. 이 속성은 Spring Security에서 디버깅 지원을 제어한다. 기본.. 2025년 정보처리기사 1회 필기시험 후기 2025년 정기 기사 (정보처리기사) 1회 시험 후기 (필기)시험 일자 : 2025-03-02(일) 접수정처기는 접수가 쉽지 않다. 지역별로 시간대를 나눠서 신청을 받음에도 접수하려는 사람이 워낙 많기 때문인지 신청 당일에 웹사이트에서 페이지 이동에 꽤나 시간이 걸린다. 조금 버벅이다가는 이미 눈여겨본 시험장이 모두 마감될 수 있다. 나도 이런식으로 집에서 가까운 시험장 두 개를 놓치고, 30분 가량 지하철을 타야 되는 곳으로 신청을 완료했다. 공부 방법 정처기 필기는 총 5과목이다. * 소프트웨어 설계 * 소프트웨어 개발 * 데이터베이스 활용 * 프로그래밍 언어 활용 * 정보시스템 구축 관리필기 합격자로부터 받은 기본서(수제비)가 있어서 1주에 한 과목을 잡고 5주 동안 개념 .. JpaSystemException: Could not extract column [6] from JDBC ResultSet [MONTH] 오류 해결 기존 프로젝트에 기능 추가를 하는 중, 개발 환경에서 db 스키마 변경이 필요했다. 문제는 스키마 변경 후 데이터베이스 정합성, 도메인 무결성 등을 위배하는 데이터들 때문에 기존에 정상적으로 작동하던 API 중 몇몇 API에서 오류가 났다. 그중에 한 API 오류 해결 사례를 정리하는 포스팅. 에러 발생{"code": 400,"message": "Bad Request / Could not extract column [3] from JDBC ResultSet [MONTH] [n/a] / org.hibernate.exception.GenericJDBCException: Could not extract column [3] from JDBC ResultSet [MONTH] [n/a] / class org.sp.. 비밀번호 없이 회원가입, 로그인 구현 (kotlin + spring boot) 벨로그(https://velog.io/) 서비스를 이용하다 회원가입, 로그인에서 독특한 플로우를 발견했다. 우선 로그인 안 한 상태로 벨로그에 접속하면 우측 상단에 로그인 버튼이 보인다. 로그인 버튼을 클릭하면 이런 로그인 모달이 뜬다. 이메일을 입력 후 로그인 버튼을 누르면, 벨로그에 가입된 회원인 경우 이메일로 로그인 링크가 발송되며, 가입된 회원이 아닌 경우에는 이메일로 회원가입 링크가 발송된다. (혹은 사용자가 회원가입을 하지 않은 것이 확실하다면 모달 우측 하단의 ‘회원가입’ 텍스트를 틀릭하면 모달창에서 ‘로그인’ 부분이 ‘회원가입’으로 텍스트가 변경된다.)이메일로 로그인 링크를 받은 경우 링크 클릭 시 로그인한 상태로 벨로그 메인 페이지로 이동한다. 이메일로 회원가입 링크를 받은 경우 링크를 .. Kotlin에 MapStruct 적용할 때 주의할 점 개요매퍼 라이브러리로 mapstruct를 사용하는 과정에서 생각과 달리 작동하던 부분이 있어서 애를 먹고 고민했던 부분이 있다.그 과정에서 알게된 것들(코틀린의 기본 문법 포함)에 대해 정리하는 글. 적용한 mapstruct 버전 : 1.5.5 final미리보기이 글의 핵심을 먼저 mapstruct의 도큐먼트 인용으로 언급하자면 다음과 같다.3.9. Using ConstructorsMapStruct supports using constructors for mapping target types. When doing a mapping MapStruct checks if there is a builder for the type being mapped. If there is no builder, then Map.. Kotlin의 @ModelAttribute와 Custom Validation 어노테이션 적용 문제 해결 사례 Spring Boot 프로젝트에서 @ModelAttribute를 통해 요청 데이터를 받으면서, Kotlin의 데이터 클래스를 활용해 커스텀 유효성 검사 어노테이션을 적용할 때 발생했던 문제와 이를 해결한 과정을 정리한다.문제 상황 다음과 같이 @ModelAttribute로 선언한 데이터 클래스 PayRequest가 있다. userId 필드에는 커스텀 유효성 검사 어노테이션이 적용되어 있다. PayRequest 클래스data class PayRequest( val amount: Double, // 결제 금액 @CheckUserId val userId: Long, // 사용자 ID) { init { require(amount > 0) { "금액이 유효하지 않습니다." } .. 유효성 검사 리팩토링 : Kotlin when 구문으로 중복 줄이기 문제 상황유효성 검사 리팩토링 예시를 위해 사용자가 이메일을 수정할 때, 여러 가지 조건을 체크해야 하는 상황을 가정하였다. 조건은 다음과 같다. 이메일이 기존 이메일과 같으면 안 되고, 공백으로 제출되면 안 되며, 이메일 형식이 잘못되었거나 이미 다른 사용자에 의해 사용 중일 경우에는 예외가 발생해야 한다. 기존 코드에서는 각 조건마다 BusinessException을 중복해서 던지고 있다. 각 조건마다 동일한 예외 처리 구문이 반복되는데, 이를 when 구문으로 개선할 수 있다. 이로 인해 코드의 중복을 줄이고, 유지보수성을 높일 수 있다. 리팩토링 전 코드private fun validateUpdateEmail(req: EmailUpdateDto) { val userDto = userDomai.. 방송통신대학교 컴퓨터과학과 3학년 2학기 수강 과목 후기 수강신청2학기에 수강한 과목선형대수 - 2학년 과목자료구조 - 2학년 과목프로그래밍언어론 - 2학년 과목컴퓨터과학개론 - 1학년 과목멀티미디어시스템 - 1학년 과목대학영어(교양) - 1학년 과목모두 3학점씩 총 18학점3학년 1학기로 편입한 방송통신대학교 컴퓨터과학과의 두 번째 학기도 무사히 끝났다!2학기 수강신청 과목을 선택할 때도, 1학기와 마찬가지로 1) 1,2학년 과목 위주로, 2) 추후 듣고 싶은 과목의 선행 여부 , 3) (검색을 통한)수강 후기 등을 고려하였다. 과목별 후기1. 선형대수개요선형대수는 수강 신청할 때 들을지 말지 고민을 많이 하면서 마음을 몇 번 바꿨었다. 인공지능, 컴퓨터그래픽스의 선행과목인데 두 과목에 대한 수강 의지가 그렇게 확고하지 않았다. 주변으로부터는 '어려우니.. 이전 1 2 3 다음