결제 도메인 간이 조사
기타2024. 4. 28. 23:32결제 도메인 간이 조사

VAN, PGVANValue Added Network부가통신사업자, 망사업자결제 흐름에서 카드사들의 앞에 존재덕분에 가맹점(기업)은 편리하게 결제 연동 가능이게 없었다면 가맹점은 각 카드사마다 결제 연동을 해야한다수수료가 PG에 비해 저렴e.g. NHN 결제, 나이스PGPayment Gateway결제 흐름에서 VAN의 앞에 존재VAN과 달리 정산이 가능하다e.g. 토스 페이먼츠, NHN 결제, KG 이니시스   오프라인 → 온라인 상점 확장을 생각하고 있다면 PG와 VAN 개념을 확인해 보세요PG와 VAN의 수수료 차이, 어디서 오는 걸까요? PG와 VAN의 개념과 차이를 한 번에 정리해 봤어요.www.tosspayments.com 결제 종류키인 결제가장 최초의 결제 형태, 카드 정보등 모든 정보를 입력..

스프링 배치 정리
Back-end/Spring Boot, JPA2024. 4. 27. 19:16스프링 배치 정리

지금까지 알고 있던, 업무상으로 해오던 스프링 배치에 대해 정리했다. 배치란 대량 일괄 작업을 뜻하며 몇 시간에 한번씩 실행되는 등의 스케줄 개념은 포함되지는 않는다.  이점 스프링 웹 MVC와는 달리 스프링 배치를 사용하면 편리한 이유는 아래와 같다.   특정 작업 단위만큼 트랜잭션 처리를 하여 메모리에 한번에 올리는 양이 적기 때문에 OOM으로부터 상대적으로 안전하고 작업에 문제가 있으면 근방에서 다시 시작할 수 있다. (Chunk Oriented)성공한 작업 건에 대해서 실수로 재실행을 하더라도 작업이 수행되지 않는다. (ItemStream)작업을 세부적으로 나누어, 성공/실패시에 어떤 작업을 할 지 쉽게 지정할 수 있다. (Flow)무엇이 잘못되었는지 기본적으로 제공하는 이력 테이블을 통해 쉽게 ..

월간 헬스 일지 24년 3월 (F45 후기)
Life/운동2024. 4. 11. 23:59월간 헬스 일지 24년 3월 (F45 후기)

변한 것 2월 말에 운동에 대한 중요성을 다시 깨달아서 다짐을 다시 한 뒤로 열심히 해보았다. 그 결과 위처럼 빼곡히 운동으로 차인 나날들로 보냈다. 그리고 중요한 게 있다 !! F45를 시작했다. 1.5개월 동안 사람들도 안만나고 거의 60~70 시간씩 일을 하다가 우울감이 찾아왔는데... 마침 무료 이벤트를 한다고 해서 한 번 참여를 해봤는데 3일만에 멘탈이 아주 빠르게 회복됐다. 이때 정말 진지하게 생각했다. 현재 내 계좌 잔고와 이 회원권 가격을 생각했을때의 비용, 그리고 눈에 띄게 건강해진 내 정신력... 결국 나는 F45를 끊고 말았다. 지금은 아주 만족하면서 다니고 있다. 기록 규칙 이전과 다르게 볼륨 기록을 마지막 무게 포함 3개로 한다. (생각보다 오래 걸린다...) 등 날짜 항목 볼륨 ..

kotlin-jdsl 기여 일기
Back-end/Java, Kotlin2024. 4. 6. 16:10kotlin-jdsl 기여 일기

큰 건 아니지만, 난 지금까지 kotlin-jdsl에 약 3개 정도의 작은 PR을 반영한 적이 있다. 가장 염원한 것은 중위 연산, 연산자 오버로드였지만 아쉽게도 해당 논의건은 승인되지 않았다 .. ㅎ 이 글은 기여하면서 느끼고 배운 것들에 대해 작성했다. 느낀 것 코드 내부가 정말 이쁘다 아름답지 않은가? 얼마 전에 조사한 JPA 내부구조와 비교하면 정말 아름답다.. (미안하다 하이버네이트) 처음보는 데도 어떤 클래스가 무슨 역할을 하는지 지례 짐작하는 것이 어렵지 않았다. 무엇보다 OCP를 바로 떠올릴만큼 확장에 유연했다. 아, 그리고 Lint라던가 Commit 규약이라던가 하나라도 안 맞으면 PR을 못올린다 ㅠ 잘 체크해볼 것! 정성이 담긴 리뷰 우테코 이후 이런 리뷰는 오랜만인 것 같았다. 거기선..

Quiz! 다음 코드에서 JPA가 실행하는 Query는?
Back-end/Spring Boot, JPA2024. 4. 4. 16:48Quiz! 다음 코드에서 JPA가 실행하는 Query는?

운전 면허를 취득하고 알게된 사실은, 되려 경험이 많은 운전자일 수록 도로 법규나 운전 예절에 대해 망각하는 경우가 종종 있다는 것이었다. 최근 나와 JPA의 관계가 그렇게 되었다는 생각이 문득 들었다. 내 JPA에 대한 실무적인 이해도는 어느 정도일까? JPA나 DB를 개발하는 코어 개발자가 아닌 이상 실무에서 사용하는 기술의 이해도와 응용 능력이 보다 더 중요하지 않을까? 대다수의 개발자는 프레임워크나 라이브러리보다는 현실에 존재하는 특정 도메인에 대해 개발하거나 유지보수를 한다. 그래서 이 글을 보는 여러분들도 필자와 같이 JPA의 동작에 대해 다시 한 번 되짚어 보면 좋을 것이라는 생각이 든다. 퀴즈 자, 아래와 같은 코드가 있다고 하자. 그리고 임의의 컨트롤러가 method1을 호출한다고 가정한..

DDD 세미나에서 느낀 것들
Back-end/DDD, Hexagonal ..2024. 3. 31. 21:09DDD 세미나에서 느낀 것들

[주의] 이 글은 Common Sense의 범주에 벗어난 내용들이 일부 있을 수 있음을 알립니다. 그렇게 생각한 항목에 대해선🎃이모지로 표시하겠습니다. 3월에 바쁜 일이 너무 많이 있어서 밀린 포스팅이 한 가득이지만, 우선 DDD 세미나가 가장 최근에 있었기 때문에 여운이 아직 남아있을 떄 올리는 것이 좋다고 생각했다. 나는 DDD를 좋아한다. 그러나 아쉽게도 좋아한 세월에 비해 이해의 정도는 낮은 것 같았다. 공유 커널과 안티 코렙션 계층 등을 이용해서 무언가를 설계해 본적은 없기 때문이다. 이건 내가 코드 레벨에서의 이해도가 낮았기 때문에 도전 조차 못했던 것으로 느껴졌다. 그래서 그런지 평상시 좋아하는 모임에 DDD 강의가 열린다는 소식을 들었을 때는 무척 반가웠다. 발표한 사람은 평상시 모각코에서..

2024. 2~3월의 작은 기록
기타2024. 3. 29. 17:252024. 2~3월의 작은 기록

열심히 달린 것 같다. 하지만, 잘 못 쉬면서 달린 것 같다. 주변 사람들은 걱정을 했고 나는 그저 달리기에 바빴다. 그제서야 알았다. 아 내가 조금씩 나사가 풀리다 못해, 몇개는 잃어버렸다는 사실을.. 블로그 포스팅과 토이 프로젝트를 잠자는 시간을 거의 제외하고 하기도 했고 잠시 프리랜서 일을 할 때는 주 7일 동안 한 달이 넘게 일하기도 하였다. 이렇게 해서 생긴 내 변화는 육체적으로 근력 약화로 인해 허리 통증, 목 통증이 생겼고 정신적으로는 많이 예민해진 상태였다. 스트레스에 대한 내성 약화. 3월 중순 이후 여유가 생겨서 다시 운동을 시작했고, 못 만난 지인들을 만나기 시작했다. 다행히 약 열흘에 걸쳐서 내 멘탈과 건강은 빠르게 회복했다. 이때 내가한 것은 아래와 같다. - 코딩하는 시간 줄이기..

월간 헬스 일지 24년 2월
Life/운동2024. 3. 11. 23:44월간 헬스 일지 24년 2월

느낀점과 반성한 점 몸담은 프로젝트 일이 상당히 바빠지면서 운동을 하지 못한 날들이 많아졌다... 그래서 기록을 지금한다 ㅠ 덩달아서 컨디션도 안좋아진 것 같다.. 3월 초-중순부터 다시 운동을 하면서 정신력도 강화되고 컨디션도 좋아지기 시작했다 운동은 시간이 날때 하는게 아니라 무조건 내서 해야한다는 것을 다시 한 번 깨달았다 (특히 유산소) 규칙 볼륨은 마지막 4세트의 기록만을 남긴다 (변경 사항) 세트수는 되도록 4세트 이상을 하며, 최소 3세트 이상을 가져간다 (가벼운 무게의 세트수가 많으면 쉬는 시간도 길어지고 루즈해지는 것을 느꼈다... 시간이란 넉넉한 자원이 아니며 항상 부족하다) 등 날짜 항목 볼륨 (부분 기록) 비고 2.1 목 시티드 케이블 로우 20kg * 10set 32kg * 10s..

Jenkins Pipeline in Wooteco 22
Infra, DevOps/Jenkins, Github Action2024. 2. 24. 23:49Jenkins Pipeline in Wooteco 22

무중단 배포와 로드 밸런스 Pipeline 현재 구성된 아키텍쳐 기준으로 작성하였습니다. 여기서 현재란 우아한테크코스 교육 때를 뜻합니다 :) … 해당 글은 22년 늦가을에 작성된 오래된 글을 재구성하여 작성되었습니다. 두 가지 관점에서 무중단 배포를 기획했습니다. 하나는 배포 과정 중에는 사용자의 요청이 중단되지 않아야 한다는 것. (무중단) 다른 하나는 배포 후에 두 WAS 모두 사용자 요청을 받을 수 있어야 한다는 것입니다 (부하 분산) 아래 파이프라인은 복잡하게 보이나 결국 롤링 배포를 하는 것일 뿐입니다 (단, 현재 아키텍처 구조상 스케줄러 역할을 교체하는 과정이 있어서 보다 더 복잡하게 되었습니다) 저때 실제로 배포가 이루어지는 곳, 즉 WAS의 재기동이 일어나는 곳은 아래와 같이 세 군데입니..

[k8s] 쿠버로 백엔드 환경 구축하기
Infra, DevOps/Kubernetes, Docker2024. 2. 19. 16:59[k8s] 쿠버로 백엔드 환경 구축하기

이 글을 작성한 시점의 저는 아직 k8s에 대해 깊게 알지 못합니다, Backend 부분에 비해 틀린점이 있을 수 있습니다 또, 위 그림은 실제 진행한 설계의 일부분입니다. 특히 StatefulSet과 DB의 관계가 적절한지 아직 확실히 검증되지 않았습니다 (구상하다보니 애틋해져서 넣었습니다) 이 글을 보고 클론 코딩을 하며 배우겠다는 느낌보다는, (아마 그렇게 할 수 없을거에요...) 이런 기능이 있고 어떤 식으로 구성되어있구나란 것을 개략적으로 같이 느끼셨으면 좋겠습니다 :) k8s는 과제를 준비하면서 급하게 공부하게 되었는데, 아주 좋은 기술이라 느껴졌다 (구글이 그 동안의 노하우를 담아서 만들었다는게 잘 느껴졌다) 쿠버를 사용하면 인프라 구성도를 코드로 쉽게 관리할 수 있다는 장점이 있다 또 코드..

일자별 집중한 시간을 기록해 봤다  feat 주 69시간
기타2024. 2. 12. 23:59일자별 집중한 시간을 기록해 봤다 feat 주 69시간

어느 정도 주관적인 시간 기록이 들어있습니다. 변명부터 하자면, 사실 이 글은 8일 간 넘나도 바쁜 나머지 글을 작성하지 못해서, 무엇을 작성할 지 샤워하다가 번뜩 떠올라 작성한 글입니다. 양해 부탁드립니다..♡ (TMI) 나는 생각이 많다 그래서 어떤 한 일을 하더라도 여러 생각이 들어서 시작 조차 못하거나 어려워하는 경향이 있었다 남들이 부지런하게 시작부터 하고 결과를 내고 있을 때, 나는 구상과 설계, 만약의 만약을 생각하며 한참을 뒤에 시작을 하곤 했었다 문제는 이렇게 시작을 해도 끝마무리가 어색하거나 중간에 완주하지 못한 것도 부지기수였다 이런 습관을 조금이나마 고칠 수 있었던 건 일과 자기 계발을 하면서이다 내겐 그날마다 항상 해야하는 것들이 있었고, 6개의 일 중에서 1~2개를 못하거나 컨디..

[일프로님 k8s 복습인증] 5. App기능으로 이해 Probe
Infra, DevOps/인프런 k8s 복습인증2024. 2. 5. 00:49[일프로님 k8s 복습인증] 5. App기능으로 이해 Probe

이 글은 일프로 선생님의 쿠버네티스 어나더 클래스 지상편을 수강하고 복습 메뉴얼을 가이드에 따라 작성한 포스팅입니다 쿠버는 probe라는 기능을 통해서 앱을 관리한다 개략적인 설명 pod가 만들어지자마자 startupProbe가 동작한다 startupProbe가 성공하면 readinessProbe와 livenessProbe가 동작한다 readinessProbe가 성공하면 pod를 외부 트래픽과 연결한다 livenessProbe가 성공하다가 실패하면 App을 재기동한다 상세 설명 /ready URL에 10초에 한 번, 10번씩 호출을 해서 단 한번이라도 응답이 오면 성공이라고 간주한다 이 프로브가 성공하면 앞서 설명했듯 readinessProbe와 ivenessProbe가 동작한다 프로브가 실패할 경우 컨..

image