본문 바로가기

코딩코딩80

[IntelliJ Idea]asj abbreviation for assertj using live template https://www.jetbrains.com/help/idea/creating-and-editing-live-templates.html Create live templates | IntelliJ IDEA www.jetbrains.com 2024. 3. 6.
TDD 2부 - xUnit 예시 Xunit 예제 (매우 요약된)테스팅 프레임워크 만들기 테스트 메서드를 호출하게 한다. setUp, tearDown을 호출한다. 결과를 출력한다. 테스트 여러 개를 실행시킨다 느낀 점 저는 평소에 자바의 Junit와 Mockito를 굉장히 많이 쓰는 편입니다. 그러다 보니 "와 테스트 프레임워크 엄청 잘 만들어놨다. 이걸 어떻게 만들었지?" 라고 생각하곤 했습니다. 하지만 mock지원을 빼고 단순히 테스팅 프레임워크만 봤을 때는 지원할 기능이 생각보다 간단하더라구요. 극단적으로 요약해보면 몇가지 안 되는 것 같습니다.(물론 xUnit이라는 프레임워크에 한정된 이야기일 수는 있지만) 내가 테스트하고 싶은 메소드를 실행시키고 setUp과 teadrDown을 실행시키고 테스트 실행 결과를 확인한다. 뿐만 아니.. 2024. 2. 12.
[기록용] 카카오 소셜 로그인 카카오 소셜로그인 간단한 흐름 오늘 제가 직접 연동해보니 이런 순서더라구요. 각 단계별로 예제코드와 함께 살펴보겠습니다. (저는 javascript SDK 말고 REST API 방식으로 했으니 SDK 원하시는 분들은 다른 곳 ㄱㄱ) 1. 프론트가 카카오한테 인가코드 받아오기 카카오 로그인 하려면 카카오 개발자 계정에 있는 앱 중에 어떤 앱이고, 로그인하면 어디로 리다이렉트 받을지 써놔야함. 유저가 a태그를 누르고 저 url로 이동하면 익숙한 카카오 로그인 화면이 뜬다. 로그인하면 리다이렉트 주소로 보내주는데, 이때 url에 query string으로 code를 껴준다. 이 code가 바로 인가코드다. const KAKAO_URL = `https://kauth.kakao.com/oauth/authorize.. 2023. 6. 4.
Oh !! Stop using @Builder라는 글을 읽고... 글 요약 Lombok이나 Ide 덕분에 getter setter같은 보일러플레이트 코드가 대폭 감소 근데 우리가 Lombok의 @Builder를 꼭 써야해? -> No, 안티패턴으로 쓰일 때도 많음 예시(롬복으로 만든 빌더는 아래와 관련된 설정을 해줄 수 없다) 빌더는 setter가 있으면 안돼 == immutable해야돼 Optional이 있으면 안돼. 만약 멤버 변수가 mandatory가 아니라면 contructor가 default값을 제공해주어야.. 대안 그런 부분에 있어서 롬복의 @Builder는 좋은 대안이 아니지. 라고 하면서 2가지 대안을 제시한다. 예제코드들은 본문을 참고해주세요 ㅎㅎ 대안 1 - Builder 생성자에서 mandatory값들을 지정하게 한다. 장 : mandatory값들에.. 2023. 4. 1.