일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Machine Learning
- kubernetes
- Docker
- vuejs
- BFS
- 메세지큐
- 로깅
- 오픈시프트
- LeetCode
- k8s
- 컨설팅
- OpenShift
- LLaMa
- 솔루션조사
- 쿠버네티스
- 리트코드
- 컨설턴트
- vue.js
- 생성형
- 머신러닝
- fastapi
- GPT
- SpringBoot
- jpa
- Python
- 도커
- POD
- 생성형 AI
- fast api
- Redis
- Today
- Total
목록SpringBoot (3)
수 많은 우문은 현답을 만든다
우리는 보통 난수를 생성할때 Random() 을 사용합니다. 그러나 Random() 함수는 치명적인 문제가 있어서 운영 프로그램을 짤때는 SecureRandom()을 사용해야한다는 것을 알게되어 공유하고자 합니다. 스프링 부트를 이용해서 웹 애플리케이션을 만들 때 우리는 기본적으로 톰캣을 이용합니다. 그리고 톰캣이 리눅스 환경에서 난수를 생성할 수 있도록 다음 옵션을 줘야합니다. JAVA_OPTS='-Djava.security.egd=file:///dev/urandom 실제로 Random() 함수를 사용하면 소나큐브에서 아래와같은 Critical 버그가 발생합니다. Random 값이 필요할 때마다 새 개체를 만드는 것은 비효율적이며 JDK에 따라 임의의 숫자가 생성되지 않을 수 있습니다. 무심코 사용했던..
안녕하세요, 조영호 입니다. 간단한 쇼핑몰을 제작해보면서 기초를 다지고 스스로 놓쳤던 부분들을 챙길 수 있을 것이라는 기대로 글을 시작합니다. 이번 프로젝트에서는 다양한 기술들을 다뤄볼 예정입니다. Springboot, JPA, Mysql, Swagger, Spring Security, JWT Token, Redis, Spring Batch, Rabbit MQ, Docker, Exception Handler, React.js or Vue.js 등의 내용을 다루면서 쇼핑몰을 제작하도록 하겠습니다. 오늘은 IntelliJ IDE를 사용해 간단한 Springboot Web Application을 제작해보겠습니다. ORM은 JPA를 사용할 계획이고 API 문서화는 Swagger를 사용해보겠습니다. 1. 인텔리제..
안녕하세요, 오늘은 Springboot Application에 Spring Batch를 적용하면서 고민했던 내용을 공유하려고 합니다. 현재 DDD(Domain Driven Design) 방식을 채택하여 개발을 진행하고 있으며 Bounded Context(도메인 경계)를 5가지로 구분했습니다. organization, settings, attendance, approval, batch 5가지 개별 모듈로 서비스가 구성되어있으며 각각의 필요에 의해 서로 의존성을 가지도록 설정했습니다. 오늘은 batch 모듈을 구성한 방식에 대해 간략히 설명하고 배치서비스 구성을 어떻게 구현했는지 설명하도록 하겠습니다. 1. Batch 모듈의 의존성 설정 우선 프로젝트의 build.gradle > dependencies에 모..