일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Armeria
- RedirectService
- UnsupportedOperationException
- 오블완
- pinpoint 2.5.3
- R2DBC Paging
- 노드간 통신
- 월급루팡 일지
- 티스토리챌린지
- Loki 로그
- 애자일 싫타
- LPOS
- OIDC
- fake jwt
- formik
- 핀포인트
- intellij
- jar 배포
- ㅉ때
- reids
- pinpoint
- 더티체킹
- 개발 어렵당.ㅠ
- 논블록킹 성능
- nGinder
- jsonMarshaller
- hbase 저장공간 설정
- 플루터
- Ingress Controller Fake
- save/update
- Today
- Total
목록전체 글 (226)
대머리개발자
10년동안...사실..왜 있나 싶기도 했다.조인 대상 테이블이 하나일 때 Cross join = Inner join이 된다.실제 쿼리도 cross / inner 무엇을 쓰든 동작은 동일하다. ex)WITHscale_adj_factor AS (SELECT GREATEST(ABS(MAX(score)), ABS(MIN(score))) AS score FROM signal_history_v2)SELECT history.code , history.date , history.price , (history.score / scale_adj_factor.score) * 100 AS score , history.digital_signalFROM history_v2 AS history(cr..
MyBatis --> R2DBC로 마이그레이션 하고 있는데.. 빡치게 재미지네! 제일 험난했던 놈이다. ## 쿼리 바인딩 ## 데이터 클래스abstract class StatusDto ( val category: Int = 10, val code: String = "", val name: String = "", val price: BigDecimal = BigDecimal.ZERO, val digital: Int = 1, val movement: Int = 0)data class ScoreTimeSeries( val date:..
내가 만든것이 아닌 다른 분들의 프로젝트를 분석하면 재미진다.같은 목적을 품고 있지만 가는 길은 다르다. 때문에 찐으로 많은 것들을 배울수 있다. 생각지도 못한!! 1. 올만에 메이븐을 반갑다. 그래들에 쭈욱 밀렸지만 그래도 덕분에 많이 편했어 고맙데이! 니들이 Ant를 아러? ㅠ 2. 프로젝트는 스프링 멀티모듈이다. 사실 최근 프로젝트도 스프링 멀티모듈을 구성하기 위해 고민했던 부분이다.But 진행하지 않았다. 여러 이유가 있었지만 모든 부분이 "공통"으로 처리 될 것 같았고 (정리가 안 되니ㅋ)MSA는 진짜 독립적으로 !! fastify.js두, 코프링두, 스프링두, 장고두...진짜 MSA이다...그래서...포기s! 3. 스프링 시큐리티 깔끔하게 적용. 멀티모듈별 클라이언트도 설정하규.. 와우..
https://sub.domain.co.kr 에서 호출하니 https://main.domain.co.kr 크로스 도메인 이슈가 발생했다... 더 자세히 이야기 하자면 https://hcnmy.tistory.com/128 api gateway - 인그레스 콘트롤러!MAS로 시스템을 설계한다면 누구나 생각을 하게되는 "관문"이다. 잘 몰랐을 때 물론 지금도 잘 모르지만.... 막연히 인증은 "콩게이트웨"이나 "스프링 클라우드 게이트웨이"를 사용해서 공통 처리hcnmy.tistory.com 1. 서브 -> 2.메인 -> 3. 인증 -> 4.라우팅 3.인증 단계에서 "401"을 리턴 해주고 있었다. 로직을 로그를 보니 Request Head에 설정한 authorization 감쪽같이 사라진다. ㅠㅠ 결국 크..
오픈소스인 핀포인트를 통해 모니터링이 되지 않았다. (관련 내용은 몇 번은 작성한듯..) 혹시나.. 와탭(watap)은 될랑가. 14일 무료이기 때문에 적용해 보았다. 역시나.... But 전반적으로 왜 근데 유료를 써야 하는지.. 알았다... 깔끔하다..기능도 좋구 클라우드 형태로 쓰면 상당히 적은 금액으로 이용할 수 있겠다. 핀포인트를 별도 VM으로 띄우고 사용하고 있는데 VM 유지 비용이 약 16매논.. 가격면에서도 압승...기능면에서도...굿S!!고민할 이유가 없데이 아.. 물론 핀포인트도 클라우드 서비스로 이용하면 저렴하지만 현재 핀포인트 클라우드 서비스가 제공하는 버전이 낮았다.(1월달에 문의 했던 내용으로 현 시점에 적용 되었는지 모르겠다. ㅎ) 와탭이 아르메리아를 지원해 주면 좋겠다...
map 구독이 안 되고Flux.just("SMS", "EMAIL").map(it -> userRoleRepository.save(UserRole.builder().userUid(userUid).type("MARKETING") .roleName(it).build())).subscribeOn(Schedulers.boundedElastic()).subscribe(); flatMap은 구독이 된다.Flux.just("SMS", "EMAIL").flatMap(it -> userRoleRepository.save(UserRole.builder().userUid(userUid).type("MARKETING") ..
비동기와 논블로킹은 나는 같은 녀석이라고 본다.둘의 목표가 동일하기 때문이다.병렬처리하기 위함이다. 딱 끝!!! 그리고 모든 블로그가 같은 그림으로 동일한 설명을 하고 있다.되지도 않는 설명을.. 안타깝다. 의미를 몰라도 코딩하는데 전혀 문제가 없다.나의 절친AI에게 정중히 물어 봤다.그래 도전하지 말자!앞서 이야기 했지만 몰러두 코딩할 수 있다. 지금껏 그래 왔듯이 모든 프로그래밍은 기본적으로 순차적 진행 되도록 설계 되어 있다.그리고 또한 순차적으로 해도 무리 없다!! 그럼 언제 써야 하냐? 그 부분에 대해서만 언급해보자! 모든 함수는 동일한 인자값을 던졌을 때 동일한 결과값이 나와야 한다. 다실 말해 결괏값y에 영향을 미치지 않는다고 하면 병렬처리 한다.병렬처리 안 해도 빠르다면 긁어서 부스럼 ..
해당 기능이 있는 줄은... 역시 뭐든 잘 얻어 걸려야 한다. (잘 검색해야 한다.)group_concat은 row 데이터를 column 로 변경해 준다. 설문지 응답 데이터이다. 특정 사용자로 group by를 하고 응답을 하나의 Row으로 변경한다.물론 데이터를 구분 할 수 있는 딜리미터(|@|)가 필요하다.group_concat(qc.view SEPARATOR '|@|')...group by userId 여기서 내가 원했던 기능은 질문의 순서대로 row가 정렬하고자 했던 부분이다.질문지의 ID로 group_concat을 했더니 엉망이다...ㅠ 그냥 row 레벨로 풀어서 엑셀 내보내기를 해두 된다. But 서비스 로직이 복잡해 진다.복잡해 지면 추후에 다시 볼 때 머리에 지진이 온다.해서 뭐든 최대..