일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ㅉ때
- pinpoint
- 노드간 통신
- jsonMarshaller
- RedirectService
- LPOS
- formik
- jar 배포
- pinpoint 2.5.3
- fake jwt
- Loki 로그
- intellij
- reids
- Armeria
- OIDC
- 논블록킹 성능
- 애자일 싫타
- 오블완
- UnsupportedOperationException
- 핀포인트
- 개발 어렵당.ㅠ
- 플루터
- 월급루팡 일지
- nGinder
- Ingress Controller Fake
- R2DBC Paging
- 7879
- 티스토리챌린지
- hbase 저장공간 설정
- save/update
- Today
- Total
목록개발이야기/자봐 (27)
대머리개발자

겸사겸사 진행하면서 디펜더쉬 지옥을 맛 보았다. 교훈 : 잘 되는 친구는 괜히 트집 잡는거 아니다!! jdk 1.8 -> 17 plugins{ id 'org.springframework.boot' version '2.7.5' -> version '3.2.3' } dependencies { implementation 'com.linecorp.armeria:armeria-spring-boot2-webflux-starter' ---> implementation 'com.linecorp.armeria:armeria-spring-boot3-webflux-starter' implementation group: 'io.jsonwebtoken', name: 'jjwt', version: '0.9.1' ---> impl..

관련된 데이터를 Save하고 DB에서 자동 생성된 default 값을 같이 리턴하려고 했더니 절대 안 되네.. save 트랜젝션과 별도의 조회하는 fun을 만들어 호출하는 구조로 해봤는데도 ㅋ쥐쥐 비슷한 이슈로 고생했던것 같은데;; 그 또한 블로깅한 것 같은데 왠지 데자뷰.. 안 된는 것을 어떻게든 해볼라고...ㅋ 서비스 로직에서 기본값을 바인딩 하자!! 안 된다!!! @PostMapping("/auths/{boardId}") fun save(@PathVariable("boardId") boardId:Long, @RequestBody authDto: AuthDto): APIResult { return APIResult(ServiceUtils.getAuthService().create( authDto.ap..

JWT 토큰에 대한 검증을 하는 부분이다. Authorizer 구현해서 true/false만 넘겨주면 된다. @ExceptionHandler(Oauth2ExceptionHandler.class) public class AuthorizerConfig implements Authorizer { private final Logger logger = LoggerFactory.getLogger("logging.access"); @Override public @NonNull CompletionStage authorize(ServiceRequestContext ctx, @Nullable HttpRequest request) { if(request.headers().contains("authorization")){ /..

레퍼런스가 없다는건.....경험치로 알 수 있다...행복끝 삽질 시작... 최초 혼자만의 프로젝트 형태로 진행했기에 깊게 생각하지 않고 되는대로 넘어 갔으나 이제는 뒤가 없다. ㅠ 아니 있지만.. 물러 설 수 없다.. 리다이렉트를 도와 주는 RedirectService 고마운 친구가 있다. 그러나 나는 좀 더 친절한 친구가 필요했다. 쿠키를 같이 넘겨주는 친구가 필요했다. ㅠㅠ RedirectService 명세는 쿠키에 대한 명세가 없다. 하악하악... RedirectService 내에 serve() 메서드의 return 형태 힌트로 헤더에 쿠키 값을 셋팅해보기 시작했다. 20분 삽질...중.. 오케!! 쿠키에 대해서 공부좀 해보자!! 쿠키 너 뭐야! Set-Cookie로 브라우저에 쿠키 저장하기 Coo..

하면 할 수록 더더더 어렵지나 간편 로그인 후 전달 받은 사용자 정보를 존재하는지 확인하고 JWT를 리턴해 주는 심플한 코드다. public Mono getToken(QueryParams queryParams){ var userInfo = execute(queryParams, clientId, clientSecret, redirectUrl, authUrl, infoDomain, infoPath); UserGrpc.User loginInfo = UserGrpc.User.newBuilder() .setId(userInfo.get(Constants.ID) + "") .setEmail(String.valueOf(userInfo.get(Constants.EMAIL))) .setName(String.valueOf(..
모든 비지니스 로직이 하나의 흐름에 들어가야 하는 것이 맞는건가?? 결과는 같지만 정확한 이해를 위해서 다시 한번 곱씹어 봤다. 반년전에 작성했던 코드를 다시 보니.. @.@ 1. 적절한 리액티브 연산자를 사용자. Reactive는 흐름을 만들어서 데이터의 조작한다. 기본적으로 flatMap( .. )으로 흐름을 이어주는 즉, 만들어주는 친구다. 예를 들어 보자. return existsById(user.getId()) .flatMap(isOk -> ServiceUtil.getRedisService().delOpsForValue(Constants.REDIS_USER + user.getId())) .flatMap(isOk -> userRepository.updatePassword(user.getPasswo..

코틀린s plugins { id("org.springframework.boot") version "3.1.0" id("io.spring.dependency-management") version "1.1.0" id("com.google.cloud.tools.jib") version "3.3.2" kotlin("jvm") version "1.8.21" kotlin("plugin.spring") version "1.8.21" kotlin("plugin.jpa") version "1.8.21" kotlin("kapt") version "1.8.21" } JDK 17 이상의 설정은 temurin hub.docker.com 계정 정보를 안 넣으면 빌드 실패s.. jib { from { //image = "adopt..

90프로 이상은 진행한것 같다. 끝이 보인다. 언제부터 시작 했는지 모르지만 뭔가에 집중하고 있으면 시간이 진짜 빠르게 흘러간다. End가 아닌 And 순환이다. 끝은 다른시작을 의미하지... 잡소리는 이제 그만!! ㅋ 어떤 도메인 프로젝트든 전체적인 플로우는 비슷한 맥락을 가지고 있다. 단순하다. 정보를 요청하고 그에 대한 응답을 주고(=함수) 이 커다란 흐름속에서 우리는 비지니스 로직에 집중할 수 있도록 많은 도움이들이 존재한다. 그저 구글링하고 고마움 마음으로 가져다 쓰면 된다. 인증서버를 구축했을때는 DB 앞단에 레디스를 이용했고 GRPC를 사용했다. But 도움이 되는 친구들 혹은 스펙만 다를뿐 본질은 동일하다.( =함수닷) 코드은 비지니스를 구체화할 뿐이다. 따라서 실상 코드보다는 비지니스를 ..