본문 바로가기

분류 전체보기6

에프랩 자바 백엔드 1개월 후기 돈이 없어서 그리고 나이가 차서 등등 여러 복합적인 생각이 들면서 이번 연도 3월에 취업을 했다. 취업해서 잘 다니다가 업무에 있어서 성장하고 있지 못 한다는 느낌을 받았다. 나는 다른 개발자들처럼 성장에 크게 엄청 집착하는 스타일은 아니지만 성장하지 못 한다는 느낌을 넘어서 이 기업에서의 경력이 어디서든 필요있다고 느껴지지 않을 것 같았다. 단순히 "경력 하나 채웠다"는 의미 외에는 남는 게 없을 것 같았고, 시간이 지날수록 점점 더 "내가 개발자로서 설 자리가 있을까?" 하는 회의감이 들었다. 그렇게 고민을 하다가 에프랩이라는 교육 과정을 알게 됐다. 일단 부딪혀 보자는 마음이었다. 교육비가 내 기준에서는 너무너무 부담돼서 망설였지만 지금 아무 것도 하지 않고 시간을 보내는 것이 더 큰 손해라고 생각.. 2025. 8. 6.
[리뷰] 함께 자라기 요즘 좋은 코드를 작성하는 방법에 대해서 공부하고 있다. 특이하게 강의의 마지막 챕터에서 책을 추천해 주었는데 그 책이 『함께 자라기』 라는 책이었다. 어디서 많이 들어본 책인 것 같아서 기억을 되새겨 보니 이 전에 친구가 추천해 주었던 책이었고, 추천을 두 번이나 받았으니 이쯤 되면 이 책은 꼭 읽어야겠다는 생각이 들어서 바로 서점에서 구매해서 읽었다. 책에 내용은 어렵지 않아서 읽기가 쉬웠다. 특히 내용들이 저자의 경험들과 일상들이 잘 쓰여있고, 이에 빗대어 설명하는 이론들이 많아서 다른 책보다 이해하는 데에 훨씬 수월함을 느낄 수 있었던 게 아닐까 싶다! 또 책을 구매하려고 서점에 가서 찾아볼 때 컴퓨터 카테고리에 있어서 컴퓨터와 관련된 내용들이 많은가? 생각했는데 막상 읽어보니 모든 직군들에서 읽.. 2024. 9. 29.
[JUnit] 여러 매개변수를 테스트해야 한다면? @ParameterizedTest 개요요즘 개발할 때는 의식적으로 테스트 코드를 작성하려고 하고 있습니다. 이 습관을 들이게 된 계기는 조영호 님의 오브젝트> 라는 책에 내용 중, 테스트 코드 작성을 우선으로 개발하는 습관을 들인다면 데이터가 주도하는 개발이 아닌 객체의 행위가 주도하는 개발을 할 수 있다는 글이 와닿아서 그렇게 하고 있습니다. 하지만 테스트를 하다 보면 매개변수를 바꿔가면서 테스트해야 될 때가 많습니다. 예를 들면 특정 메서드에 대해서 경계값을 테스트해야 될 때가 그렇습니다. 이러한 상황에서는 다양한 입력 값에 대해서 테스트가 수행되어야 하는데 이를 일일이 작성하는 것은 비효율적입니다. 이때 JUnit5의 @ParameterizedTest가 아주 아주 유용하게 쓰입니다.  테스트 시나리오 설명이번 포스팅에서는 사용자가 .. 2024. 8. 25.
[Project] HowRead의 RefreshToken 도입기 리프레시 토큰을 왜 도입했을까?현대의 웹 서비스들은 서비스의 사용자 인증을 위해서 다양한 방식이 사용됩니다. 많은 인증 방식 중 제일 많이 사용되는 방식은 JWT(Json Web Token) 인증 방식일 것입니다. 저희 서비스 역시 이 방식을 채택해서 인증 방식을 진행하고 있습니다.    Access Token만 이용한 인증 과정1. 사용자 인증 요청: 사용자가 로그인 요청을 하면 서버는 사용자가 입력한 아이디와 비밀번호를 검증합니다. 2. 토큰을 생성하여 반환: 만약에 사용자가 입력한 아이디와 비밀번호가 일치한다면 서버는 토큰을 생성해서 클라이언트에 반환합니다. 이 토큰에는 여러 필요한 정보들을 담을 수는 있지만 보안에 민감한 정보들은 담지 않는 것이 좋습니다. 3. 클라이언트에서 토큰을 저장: 클라이.. 2024. 8. 10.
[Spring]Spring Converter를 사용한 이유: Enum 타입을 소문자로 받기 위하여 이번 블로그 포스팅에서는 Spring MVC에서 Enum 타입을 소문자로 받기 위하여 Converter 인터페이스를 사용하는 방법에 대해서 다뤄보겠습니다.배경저희 팀이 현재 진행 중인 사이드 프로젝트를 간단히 설명하자면 책에 대한 후기를 남기는 웹 서비스입니다. 최근에 이 사이드 프로젝트에서 새로운 기능으로 각 책에 대한 리액션(좋아요, 싫어요 등등)을 추가할 수 있는 기능을 구현하는 게 어떻냐는 이야기가 나왔고, 이를 구현하기 위해서 각 리액션 타입을 Enum으로 정의하였습니다.   문제점하지만 기능을 구현하는 데에 있어서 문제점이 있었습니다. Spring MVC에서는 기본적으로 Enum 타입을 대문자로 처리합니다.예를 들어서 @PathVariable을 통해서 Enum 타입 값을 받을 때 URL에서 대.. 2024. 8. 5.
[Spring] Spring Security 없이 카카오 로그인 구현하기 사이드 프로젝트에서 제가 로그인 기능을 개발하지 않아서인지 사이드 프로젝트의 인증과 인가 부분을 이해하기가 어려웠습니다.Oauth를 이용한 최근 어플리케이션들에서는 필수로 알아야 하는 지식이므로 꼭 이해하고 넘어가고 싶었습니다.(사실 옛날에 시도했다가 동작은 되지만 이해는 하나도 못 하는 수준으로 개발하였기에 제대로 이해하고 싶은 마음도 있습니다. 😁)✅ 노랑색 마킹한 부분을 잘 확인해 주세요. ✅1. Kakao Developers 설정하기1-1. 내 애플리케이션 등록Kakao Developers에 접속하여 내 애플리케이션 추가하기 버튼을 눌러서 애플리케이션을 등록합니다.1-2. 카카오 로그인 활성화하기1-1에서 등록한 내 애플리케이션을 클릭하여 설정 화면으로 이동합니다.사이드 메뉴에서 카카오 로그인을.. 2024. 7. 28.