일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Armeria
- 애자일 싫타
- 오블완
- intellij
- 개발 어렵당.ㅠ
- 논블록킹 성능
- formik
- OIDC
- jsonMarshaller
- R2DBC Paging
- 핀포인트
- LPOS
- 티스토리챌린지
- pinpoint
- 노드간 통신
- pinpoint 2.5.3
- RedirectService
- Ingress Controller Fake
- reids
- ㅉ때
- hbase 저장공간 설정
- save/update
- nGinder
- Loki 로그
- 월급루팡 일지
- 7879
- 플루터
- fake jwt
- jar 배포
- UnsupportedOperationException
- Today
- Total
목록전체 글 (241)
대머리개발자
그냥 달려 들면 몸이 고생한다. 코틀린이란 친구랑 별로 친하지 못하다. 우리 2일차? ㅋㅋ 하지만 급하게 친해 지고 싶어서 무작정 친구하자고 했더니... 미안해 친구야.. 천천히 알아갈께~ 앞선 내용에서서 코틀린 + 스프링 + JPA로 프로젝트를 설정했다. 답이 이쁘게 콘솔에 나와 있는데...잘 모르니 엄한 곳에서만 삽질을 했다.. Failed to instantiate instance of destination com.forum.board.BoardDto. Ensure that com.forum.board.BoardDto has a non-private no-argument constructor. 생각보다 래퍼런스가 많지 않네..친구야 너도 분발좀 해야겠으.. 아래 내용만 추가하면 삽질이 마무의리가 될..

미니 프로젝트로 게시판 하나 구축 하려고 하는데 기존 했던 방식이 아닌 새롭게 해보 싶은 맘에 코틀린 JDK 1.8을 사용할 예정이라. 부트 버전을 3으로 설정할 수가 없다. ㅠ 사실상 문법만 찌금(?) 다르지... 자봐랑 똑같다고 본다. 삽질좀 해보자s 렛츠고! 프레임을 새롭게 설정하는 부분은 실상 노가다의 부분도 많다. 아파트를 만들기 위한 지반을 단단하게 만드는 과정이다. 기본적으로 설정을 해야 할 녀석들이 너무 많다.. 예외설정... 메세지 설정....설정설정....해서 멀티모듈을 설정하는 듯??.. 셋팅이 반이라고.. 잘 만들어진 길에 위에 우린 단지 숟가락만 얹이면 되는 것이다. 늘 먼저 수고스럽고 정성스럽게 작성하시는 블로그님들 감사s!!! server: port: 80 spring: pro..
이제 정말 몇 가닥 안 남았는데 ㅠ 진정 민머리가 얼마 안 남았다.. 가즈아!! //runtimeOnly 'io.asyncer:r2dbc-mysql:1.0.0' //runtimeOnly 'com.github.jasync-sql:jasync-r2dbc-mysql' //runtimeOnly 'org.mariadb:r2dbc-mariadb' runtimeOnly 'dev.miku:r2dbc-mysql:0.8.2.RELEASE' 로컬의 개발환경은 마리아DB다. 마리아의 모태가 mysql이기 때문에 호환이 되는것 같다. 완벽하게는 아니지만.. 각 라이브러리를 테스트 한 이유는 클라우드 환경에서 커넥션이 끊어졌다. 붙었다.. 끊어졌다.. 붙었다......힘들어 돌아 가시겠네... 20230412 16:41:15.0..
개발 환경에서는 잘 되는데? 왜 운영 환경에서는 안 되지?? 200%로 데이터의 문제다. 운영환경에서는 디버깅(?)도 쉽지 않기 때문에 친절하게 로깅을 남겨야 나야 한다. 어째거나 최대한 방어적인 코드로!! 고민하고 설계하자...한줄한줄 복사 & 붙여넣기 아니고용!! 1. 무조건 예외처리가 만능이 아니다. Assert.notNull(params.get(OAuth2Constants.REDIRECT_URI), "A redirectUri must be"); --> default 값을 지정 할 수 있도록 하자. String targetURL = params.get(OAuth2Constants.REDIRECT_URI, ""); 2. Optional 을 이용하자! Optional.ofNullable(str).orE..

리액트에서 ContextAPI 같은 친구다. 메서드 인자로 계속으로 Values를 넘기려면 귀찮으니.. 하나의 요청 영역에서의 공용으로 쓰기 위한 고마운 친구이다. 저 친구가 없다면 계속 사용자 정보를 들고 다녀야 한다.. AS-IS : 사용자 정보 --> 사용자 정보 ---> 사용자 정보 --> DB Layer TO-BE : 사용자 정보 --> DB Layer 뭐든 왜 쓰는지를 알고 쓰자잉!! 남들 다 쓰니깐 쓰는것이 아닌 스프링 시큐리티에서도 ThreadLocal을 이용해서 사용자 인증 정보를 전파한다. ThreadLocal 구현체로 3가지가 존재한다. ...피곤피곤s
# 동적 쿼리를 쓰기에는 아직 무리가 보인다. public interface UserRepository extends R2dbcRepository { Mono findByEmail(String email); @Query("select * from user limit :#{[0]} ,:#{[1]}") Flux findAllPaging(int offset, int limit);} 어여 JPA 만큼 올러와야 하는데.. 뜨뜻미지근한 느낌이다. ㅎㅎ 좋다면서?? 왜? 사용자 이름으로 검색을 하려 했더니...새롭게 interface를 추가하는 방법 말고는 없네. 날짜 조건에.. 기타 조건 넣고 빼고 하면.... 멘붕s 오겠다..@Query("select * from user where name l..
새로고침하거나 Path(주소)를 브라우저에서 치고 접속을 하면 리덕스는 매번 "새 옷"을 입는다. 그래서 새 옷을 입지 않도록 [Redux-Persist] 도움을 받어 영속성을 유지 시켜 준다. (브라우저의 생존과 함께 한다.) 사실 SPA 특성상 새 옷을 입는게 맞다고 생각이 든다. 어째거나 두 가지 방식이 있다고 한다. 1. 위에서 언급 한 Redux-Persist 이용하거나 2. 리덕스 상태가 초기화 되었을 때 다시 설정을 해주거나.. 1번이 깔끔s하겠다. 관련내용은 https://velog.io/@nemo/redux-persist
생각보다 어렵다. 많이..이것저것 그냥 하다보면서 얻어 걸려서 진행하고 있지만 사실 deep한 이해가 있어야 한다... 모든 딥해야지..딥딥! f(values.email && values.code){ /// 서브 밋 !! loginAction(values).then(resultData => { const token = resultData as Oauth2Token if(token.access_token){ tokenSet(token.access_token, token.refresh_token) dispatch(fetchUserInfo( {'type':'token', 'targetID': token.access_token})) navigate( "/",{ replace: true }) }else{ setP..