일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- webframework
- springboot
- Redis
- 반버논
- springcloud
- docker
- armeria
- Spring
- 개발자
- spring scheduler
- MongoDB
- springboot3
- 바운디드컨텍스트
- spring6
- mongo
- 값객체
- Kotlin
- IDDD
- ddd
- zuul
- kakao
- Conference
- 애그리거트
- java17
- MSA
- Pay
- ifkakao
- spring-web
- spring caching
- 신입
- Today
- Total
목록분류 전체보기 (67)
Easy Understanding
11. Spring Cloud Spring Initializr를 보시면 스프링 클라우드와 관련된 모듈들이 굉장히 많은 것을 보실 수 있습니다. 최근 개발의 트렌드는 MSA 환경과 Container 환경을 중심으로 새로운 기술들이 많이 나오고 발전하고 있는데, Spring Cloud 또한 그러한 흐름에 맞게 관리되고 있는 프로젝트라고 할 수 있습니다. 스프링 클라우드는 MSA 아키텍쳐라고 하여, 많은 어플리케이션들이 하나의 어플리케이션처럼 동작하는 것처럼 보이도록 하는 여러가지 기능을 제공합니다. MSA와 관련해서 가장 많이 참조되고 있는 글인 'The 12 Factor App'입니다. 12factor.net/ko/ The Twelve-Factor App (한국어) 배경 이 문서에 기여한 사람들은 수백개 ..
7. Messaging 메시징은 어플리케이션 간에 요청 / 행동 전달 등을 할 때 이용합니다. 어플리케이션 A에서 어떤 일이 일어났다면 어플리케이션 B에서 그 일에 대한 일을 처리합니다. 여러 어플리케이션이 상호작용 한다면 메시지 큐를 사이에 두어서 그 일들을 잇게 됩니다. - Spring Integration(필요시 사용) Spring Integeration은 메시징과 관련된 패턴을 구현한 모듈입니다. 처음에는 메시징이 Integration과 무슨 상관이 있지라고 생각했지만 다른 뜻이 있더라구요. Enterprise Integration Patterns(EIP) 라고 유명한 책이 있는데 거기에서 이름을 따왔습니다. 이 책에 의하면 기업에서 다양한 어플리케이션들을 개발하고 그것들끼리 소통하는 데에 적합한..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Ha3VJ/btqM2HNfaRR/MPUpsy44cecCPDnezzYeu0/img.png)
이번 글은 Spring Initialzr(start.spring.io/)에서 추가할 수 있는 스프링의 모듈은 어떤 것이 있는가를 전체적으로 쭉 훑어보고자 합니다. 간단한 설명과 함께 참조할만한 링크들을 함께 작성할 예정입니다. SpringBoot 2.3.5 버전을 기준으로 설명합니다. 스프링은 기본적으로는 웹 서비스를 만들 수 있는 자바의 대표적인 웹 프레임워크입니다. 앞으로도 설명하겠지만 지원할 수 있는 건 다 지원한다 싶을 정도로 엄청난 생태계를 갖추고 있습니다. 많은 모듈들이 있으나 실제로 적용해야할 모듈은 몇 개 되지 않을 수도 있습니다. 그럼에도 어떤 도구가 있는지 미리 알아두는 것은 스프링을 사용하는 데에 있어서 도움이 됩니다. 스프링 initializr에서는 원하는 모듈을 Dependenci..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/RS6FZ/btqMLRvxVmZ/GlLfg2witEGyj9Cv4dNAik/img.jpg)
요새 자바에 대해서 좋은 정보를 얻을 수 있는 커뮤니티가 어디없나 찾아보다가, 영어로 된 커뮤니티 중 좋은 곳을 찾았습니다. InfoQ라는 곳이고 각종 가이드, 기사, 팟캐스트 등을 이용해서 기술에 대한 자료들을 정리하고 있는 좋은 곳입니다. 이미 이 정도 규모면 아는 사람들은 다 아는 곳일 것 같은 느낌이 들었습니다. (혹시 이외에도 괜찮은 곳이 있다면 정보 부탁드립니다) InfoQ: Software Development News, Videos & Books www.infoq.com 여기에서 본 것 중에 가장 흥미롭고, 한 번 정리해보고 싶은 글이 2020년 10월 29일에 InfoQ에 올라온 다음 글입니다. www.infoq.com/articles/java-jvm-trends-2020/?topicPa..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dA6qhb/btqMiZm1zJw/TAVQs7rbcbvFxJYkKkuUH1/img.png)
시작 전에 쿠버네티스를 이해하기 전에 기존의 배포 과정들을 저는 다음의 어플리케이션들을 사용한다는 시나리오를 가정하겠습니다. MySQL, Java, Node, Redis, Kafka, Zookeeper 등 임의로 배포하고자 하는 어플리케이션을 설정했습니다. 그리고 MySQL, JAVA, Node는 여러 개의 인스턴스로 배포하려고 합니다. 아래의 어플리케이션들 각각에 대한 자세한 이해는 필요 없습니다. 간단하게 이것들이 단계별로 어떻게 배치되는지만 보시면 됩니다. 이 글은 세세한 기술적인 디테일은 일부러 생략했습니다. 최대한 개념적인 이해에만 집중하도록 큰 틀 위주로 설명하도록 하겠습니다. 서비스를 기존에는 어떻게 배포했는가? 우리는 서비스들을 서버 컴퓨터에 배포합니다. 보통 개발의 단계는 다음의 단계를 ..
초보 주의 예전 개발 경험이 적을 때 작성한 거라서 지금 저의 시점으로 보니 너무 도움이 안 되는 글이네요... 솔직히 지우고 싶으나 풋풋함을 기억하기 위해서 남겨둡니다. (심지어 지금 결제 도메인 개발 중이라 더 부끄러움) 이제 무엇을 더 적용해봐야할까 아직 시스템엔 추가해야 하는 기능과, 개선하고자 하는 것들이 남아 있습니다. 제가 이번에 적용하려고 하는 것은 1. 최근에 기록된 거래들만 빠르게 확인할 수 있는 캐싱 시스템 2. 하루 내에 송금을 받지 않았을 경우에 송금 취소하고 원래대로 돌려놓기 위와 같은 두 가지 기능을 기존 시스템에 보완해볼 예정입니다. 간단한 캐싱 적용해보기 캐싱은 자주 사용되는 데이터베이스에 대한 빠른 접근을 위해 사용합니다. 여기에서는 거래 내역을 조회하는 것에 캐싱을 적용..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bhnH7M/btqLU9ZiNWO/h4RYDtqwo9Z0Ga5MSutO10/img.png)
초보 주의 예전 개발 경험이 적을 때 작성한 거라서 지금 저의 시점으로 보니 너무 도움이 안 되는 글이네요... 솔직히 지우고 싶으나 풋풋함을 기억하기 위해서 남겨둡니다. (심지어 지금 결제 도메인 개발 중이라 더 부끄러움) MSA, Spring Cloud란? MSA라는 단어는 많이들 들어보셨을겁니다. Micro Service Architecture 를 줄여서 MSA라고 합니다. MSA는 기술/기법으로 여겨지기도 하지만, 단어 자체로는 어떠한 개념을 뜻합니다. Micro: 작게 Service: 서비스를 Architecture: 구성하라 저는 위의 느낌으로 MSA를 이해했습니다. 기존에 하나의 서비스에 여러가지를 넣어서 개발하던 시기와 다른 개발 방식이죠. 저의 세 가지 프로젝트들(조회/결제/송금)을 만들..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cdovrN/btqLQc8RdYW/dTvs7Mn0VbPzqymSkQ1qDk/img.png)
초보 주의 예전 개발 경험이 적을 때 작성한 거라서 지금 저의 시점으로 보니 너무 도움이 안 되는 글이네요... 솔직히 지우고 싶으나 풋풋함을 기억하기 위해서 남겨둡니다. (심지어 지금 결제 도메인 개발 중이라 더 부끄러움) Why Kotlin? Kotlin은 Java의 뒤를 이어서 Java를 대체할 수 있는 언어로 나온 핫한 언어입니다. 안드로이드에서는 공식 언어로 지원을 받고 있을 정도로 검증된 언어이기도 합니다. - 요새 많은 회사들에서 Java에서 Kotlin으로의 전환을 고려하고 있다는 점 - Kotlin의 활용성이 최신 언어적 특성을 반영한 트렌디한 언어라는 점 - Java와의 높은 호환성 - 그리고 기존 Springboot 프레임워크를 사용하여 러닝커브가 낮다는 점 이런 점들을 고려하여 Ko..