분류 전체보기

· 💬 회고
뒤늦은 4월 회고하고 있는 게 많아 처음으로 시간이 좀 지난 회고를 하게 되었습니다. (인스타그램에는 30일에 남겼지만 블로그는 더 늦게..!) 저번 달에는 SOPT를 불합격하고, 다른 일들의 영향으로 방황기를 겪는 만큼 우울한 날이 많았는데 이번 달 (4월)을 돌이켜보면 저번 달처럼 크게 우울하게 보낸 것 같지는 않습니다. 1. 서평단 선정 가장 최근에 일어난 일이지만 너무 좋은 소식이라 가장 첫 번째에 작성합니다. 그동안 저는 현재 개발 업계에서 유명하신 분들이 자신의 이름으로 책과 강의를 만드시는 것을 보고 저 또한 취업을 하고 경력을 쌓게 된다면 제 이름으로 된 책이나 강의를 만들어보고 싶다는 생각을 가지고 있었습니다. 그것을 이루기 위해서는 출판사와 가까워지는 연습을 해두는 것이 첫걸음이라는 것..
· 💬 회고
3월 회고 어느덧, 3월이 끝나면서 2024년 1분기도 함께 끝났습니다. 이번 달에는 잠깐의 방황기를 보낸 영향이 많았습니다. 1. 3월 PCCP 응시 - Lv1 이번에도 PCCP를 봤지만, 코딩테스트에 대해 많은 대비를 하고 있지 않았어서 큰 기대는 하지 않았습니다. 그러다 보니 결과 또한 이전과 같이 Lv1이 나왔습니다. 문제 유형으로는 구현, 구현/시뮬레이션, 완전 탐색, 그래프 문제였습니다. 저번 달과 유형이 비슷한 것으로 보아, 앞으로 1번 문제는 최대한 빨리 풀고, 2~4번 문제에 시간을 더 투자할 수 있도록 하기, 그리고 그래프 문제에 더 대비를 많이 해야겠다고 느꼈습니다. 4월은 중간고사가 겹쳐있는 시즌인데.. 우선순위를 잘 정해야 할 것 같습니다. 2. SOPT 동아리 지원 - 서류 탈락..
문제 상황 프로젝트를 하던 중, 리포지터리 단계의 테스트를 할 때 다음과 같은 문제가 발생했었습니다. No qualifying bean of type '...' available: expected at least 1 bean which qualifies as autowired.. 와 같은 문제가 발생한 것인데요, 코드를 어떻게 짰었는지 알려드리겠습니다. MemberMissionsJpaRepositoryTest 문제가 발생한 지점인 MemberMissionsJpaRepositoryTest 코드입니다. @DisplayNameGeneration은 언더 바(_)를 공백으로 치환할 때 썼고, @SuppressWarnings은 한글에 대해 경고 줄이 뜨지 않도록 하기 위해 사용하였습니다. @DataJpaTest는 ..
오랜만에 기술 팁을 작성하겠습니다. 사실 JWT 관련해서 글을 계속 작성하고 있었는데, 프로젝트도 있고 개강을 한 지 얼마 되지 않아 바쁜 것도 있어서 팁 글은 거의 한 달 만에 올리네요.. 😭 프로젝트를 하며 바쁘게 된 것도 있지만 그 덕분에 REST Docs에 대해 더 잘 다룰 수 있게 되어 이 과정을 공유합니다. 이전 글에서는 document 메서드로 간단히 docs 패키지 아래에 html 문서들이 보관되는 것까지 다루었는데요, 이번에는 테스트를 통해 실제 문서가 작성되도록 하는 것을 알아보겠습니다. 기존 테스트 코드기존 테스트 코드는 아래와 같습니다.// import 표현은 생략@DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.cla..
· 💬 회고
2월 회고 이번 달에도 회고를 작성해 보겠습니다. 이번 달에는 크게 1) PCCP 자격증 취득, 2) 구름 커밋 세미나 참여, 3) 4학년 등록, 4) SW 마에스트로 지원, 5) 토스 지원, 6) 프로젝트 개발, 7) 블로그 글 작성을 중심으로 하였습니다. 1. PCCP 자격증 취득 - Lv1 달성 프로그래머스에서 진행하는 PCCP (Programmers Certified Coding Professional, 코딩전문역량인증) 자격증은 여러 기업에서 특정 레벨 이상 달성 시 코딩테스트 면제 (현대캐피탈, 교보생명 - Lv2 이상) 또는 우대 (대한항공 - Lv1 이상)를 해 줄 수 있는 자격증입니다. 원래는 자격증 같은 것은 공부하지 않으려 했으나, PCCP는 다른 자격증과 다르게 코딩테스트 형식이라 ..
이전 글에 이어서 바로 세션을 이용한 로그인도 구현해 보겠습니다! (회원 식별은 JWT까지 하고 난 뒤에 각각 작성하겠습니다.) 세션세션은 쿠키만을 사용했던 방식과는 조금 다른 방식으로 이루어집니다. 세션의 사용 이유세션을 왜 쓰는지에 대해서는 쿠키에 대해 다시 알아봐야 합니다. 기존 쿠키 방식은, 쿠키 안에 서버가 브라우저를 식별할 수 있는 모든 정보들을 다 기록해놔야 했습니다. (닉네임.비밀번호를 쿠키로 그대로 넣어둔 것 등) 하지만 이렇게 된다면 쿠키를 만약 탈취당했을 경우 (강도가 여행객의 신분증을 훔치는 등), 브라우저 (여행객)에 대한 모든 정보를 다 파악할 수 있겠죠? 바로 이러한 문제를 극복하기 위해 세션을 사용할 수 있습니다. 세션의 특징서버는 유저가 로그인을 하면 세션 DB에 유저를 생..
개요안녕하세요. 이번에는 프로젝트를 하시면서 로그인, 회원가입, 로그인 한 회원 식별을 스프링에서 어떻게 할 수 있는지에 대해 공부한 과정을 공유하고자 합니다! 보통 위 작업들을 하기 위해 스프링 시큐리티를 사용하셨던 경험이 있으실 텐데요, 스프링 시큐리티는 별도의 프레임워크다 보니 깊이 있게 학습하기 위해서는 스프링 시큐리티를 사용하지 않고 스프링만으로 해보는 게 좋겠다고 생각이 들었습니다. (멘토링해 주시는 선배님께서도 같은 생각을 가지고 계셨습니다.) 크게 쿠키, 세션, JWT 방식으로 회원가입 & 로그인을 해 보고, 이것을 어노테이션으로 편리하게 사용하는 등의 방식으로 개선시키는 내용을 작성하겠습니다. 그럼 첫 번째 글에서는 쿠키 방식을 이용한 회원가입 & 로그인에 대해 알아보겠습니다! 따라 할 ..
Spring REST Docs오늘은 스프링 REST Docs에 대해 적용하고, 관리하는 방법을 알아보고자 합니다. 스프링을 어느 정도 써 보고, 테스트 및 문서화등을 해 보신 분들이라면 스웨거나 노션, 포스트맨으로 API 문서를 만든 경험이 있으실 텐데요, 스프링에 있는 REST Docs는 현업에서 많이 쓰는 문서화 스킬이라고 할 수 있습니다. 기존 문서화 도구들은 스웨거의 경우 스웨거를 위한 코드가 프로덕션 환경에 묻는다는 점, 그리고 수정 시 업데이트 상태와 문서의 상태가 서로 맞지 않는 문제 등이 있었는데요, 스프링 REST Docs는 테스트, 빌드를 기반으로 작성하기에 싱크가 유지될 수 있다는 장점이 있습니다. 아마 시작하는 단계에서부터 어떻게 적용해야 할지 감이 오시지 않는 분들이 많을 것 같아..
개요 스프링 데이터 JPA를 쓰다 보면, 거의 무조건 엔티티를 저장하는 save 메서드를 사용하신 적이 있으실 것입니다. 그런데 save의 반환 타입으로는 어떤 것을 써야 할지 고민이 들었던 적이 있으신가요? 오늘은 어쩌면 무의식적으로 넘겨버리기만 했던 반환 타입에 대해 글을 써 보고자 합니다. save 메서드 소개 우선, 스프링 데이터 JPA에 작성되어 있는 save 메서드는 아래 구조로 되어 있습니다. @NoRepositoryBean public interface CrudRepository extends Repository { S save(S entity); ... } 첫 번째로, JpaRepository (인터페이스)는 따라가다 보면 CrudRepository (인터페이스)를 상속받습니다. 그리고 ..
· 💬 회고
개요 월별 회고는 2022년 1년 정도 해본 적이 있고 작년에는 하다가 말았었는데, 지속적으로 발전하기 위해서는 월별 회고가 꼭 필요할 것 같아 이번 연도에도 월별 회고를 작성해보려 합니다. 1. 블로그 정착 (티스토리 - 벨로그 - 노션 - 벨로그 - 현재..) 첫 번째로 느끼는 것은 그동안 벨로그, 티스토리, 노션, 깃허브 리드미 등으로 명확히 잡지 않았던 블로그 플랫폼을 티스토리로 정착했다는 점입니다. 어느덧 이 블로그에 글들을 업로드한 지 세 달 정도 되었는데, 이 정도면 마지막 개발 블로그라고 봐도 되지 않을까 싶습니다. 물론 공부 기록의 대부분은 노션에 기록해두고 있는데, 티스토리에 바로 올리지 않고 노션에 기록하는 이유는 블로그로 작성할 내용들은 제 자신뿐 아니라 다른 분들에게도 이해하기 쉽..
dev_writer
'분류 전체보기' 카테고리의 글 목록 (2 Page)