일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Loki 로그
- 핀포인트
- 애자일 싫타
- hbase 저장공간 설정
- 월급루팡 일지
- RedirectService
- OIDC
- 티스토리챌린지
- 오블완
- nGinder
- R2DBC Paging
- jar 배포
- UnsupportedOperationException
- jsonMarshaller
- pinpoint
- Ingress Controller Fake
- pinpoint 2.5.3
- Armeria
- save/update
- intellij
- 논블록킹 성능
- fake jwt
- ㅉ때
- formik
- reids
- 노드간 통신
- LPOS
- 개발 어렵당.ㅠ
- 플루터
- 7879
- Today
- Total
목록2024/07 (7)
대머리개발자

static은 위험한 녀석이다. 공용으로 쓰기 때문에 객체의 상태를 보관하기 적합하지 않다. 보통의 아래와 같은 이유로 사용하지 않나 싶다. 1. 불변의 객체!!2. 객체의 상태가 아닌 Utils성의 메서드3. 내부 클래스는 static 기본기가 없으니.. ㅠ 여러개의 오류 폭탄이 떨어지면...삽질에 삽질을 거듭하네 잘 돌아가는 코드는 어지간하면 건들지 말자 !! 네이버 내부 클래스 static 선언을 필요 없지 않을까 해서 시원하게 삭제를 러쉬했다.네이버를 이용하는 "특정" 사용자가 로그인이 안 된다고. ㅎㄷㄷ 결론은 NULL이 바인딩되서 문제가 발생한 부분인데... 차이는 static이 있고 없고의 차이non-static 클래스로 선언하면 nullstatic 클래스로 선언하면 blank 그냥 다시 ..

든든한 동반자이자 경쟁자이다. 무조건 의지하는 것이 아닌 양방향 교차 검증 차원에서 이용하면 Nice 코딩을 직접 만드는 것도 너무 좋지만 한계가 분명있다. 웰 메이든 된 코드를 많이 봐야 한다. 그래서 보통 쥬니어 친구는 솔루션 회사를 추천한다. ㅎㅎ; 뭐 암튼! 같은 리소스를 운영에 반영하면 메서드가 실행이 되지 않아서 질의를 했던 부분이다. 로컬에서 너무나도 잘 실행하는 친구가...운영환경(k8s)에서.. 먹통이다. @PostConstruct 해결책은 InitializingBean 상속 받아서 afterPropertiesSet() 구현하면 된다. AI 고맙다. 쉽게 해결했으야! 대에충 이유같지 않은 이유를 끄쩍여 보자면스프링(부트) 진영에서 나온 어노테이션이(@)이 아니다. 즉, 프레임워..

oauth의 개념은 정말 심플하다.인증을 대신 해준다는 것이다. SSO의 개념이쥬. 작년에 휘갈긴 내용이 있네.https://hcnmy.tistory.com/25 What the OAuth2.0생각의 흐름대로 주저리 주저리!! 수 많은 블로그에서 저마다의 이해를 바탕으로 저마다의 생각이...온전하지 못한 나를 흔들고 있다. 여긴 오데?? 나는 누구?? 무엇을 하고 있지??...아아어어...hcnmy.tistory.com 뭐 암튼.. 네이버, 카카오, 구글, 애플, 페이스북, .. 대형 서비스 업체들에 "이미 가입된 내 정보"를 통해서 인증을 위임하고 전달받은 토큰을 우리내 시스템에 녹여서 서비스하면 된다. 근데 보통 전달받은 토큰을 그저 사용하기 보다는 내부 토큰을 다시 만들어서 사용한다. Why -> ..

스프링 시큐리티를 이용하면 쉽게(?) 적용 가능하다.http.csrf().disable().authorizeRequests().antMatchers("/admin/**").hasRole("ADMIN") // Only ADMIN users can access /admin/**.antMatchers("/user/**").hasAnyRole("ADMIN", "USER") // ADMIN and USER can access /user/**.anyRequest().authenticated() // Any other req... 나름 인증서버를 구축해서 사용하기 때문에...비지니스 로직에서 녹여야 한다. 아르메리아 프레임워크를 적용해 인증서버를 구축했기 때문에 쉽게(?) 적용할 수 있다. @Beanpublic Ar..

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. 스프링 시큐리티 깔끔하게 적용. 멀티모듈별 클라이언트도 설정하규.. 와우..