일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- gcp cloud build
- 포너블
- gcp ci/cd
- webhacking.kr
- gcp
- 파이썬
- spring Batch
- Python
- cloud run
- sequelize
- 프로그래머스
- Baekjoon
- 스프링 배치
- 회고
- 리버싱
- docker
- 웹보안
- node.js
- programmers
- Batch
- 시스템 해킹
- 백준
- 사이버보안
- 웹해킹
- hackctf
- pwnable.xyz
- kotest
- nodejs
- 네트워크
- 보안
목록Spring (3)
uju's Tech
https://start.spring.io/ 를 통해 프로젝트를 생성 할 수 있다. 스프링 Initializr는 REST API를 사용하는 브라우저 기반의 웹 애플리케이션이며, 스프링 프로젝트 구조를 생성해준다. 요즘은 Maven 프로젝트 보다는 Gradle 프로젝트를 더 대중적으로 사용하고있어 Gradle로 해주었고 언어는 JAVA , spring Boot 버전은 최신꺼에서 가장 안정화된 버전을 사용해주었다. Dependencies는 spring web과 thymleaf를 설정해주었다. 해당 프로젝트 설정이 끝나면 generate를 해주고 해당 파일을 압축을 풀어서 intellij에서 프로젝트 오픈을 해주면 된다. 쉽고 간단하게 프로젝트 생성 끝~!
먼저 Batch의 사전적 의미는 무엇일까? => 일괄처리 단점을 생각해봐도 잘 모르겠어서 서칭해보았는데 서칭 결과 데이터를 얻는데 오랜 시간이 걸린다? 였었다. 음... 개인적으로는 잘 동감이 안된다. 수 많은 데이터를 사람이 하기에는 너무 비효율적이니 Batch 프로그램을 하는 것이라고 생각하는데 사람이 하는것보다는 훨씬 적게걸리니 단점이라고 말할 수 있을까? (개인적인 생각..) 좀 더 쉽게 이해해보자! 우리가 흔히 듣는 뮤직 앱의 구독 서비스를 예로 들 수 있을 것 같다. 매일매일 수 많은 사람들을 하나하나 구독 갱신을 해줘야 한다고 생각을 해보면 그 만큼 노가다인 일도 없을 것 같다 .. 이러한 경우 매일 Batch를 실행해서 그 날 갱신해야할 사람들을 찾아서 자동으로 구독 갱신을 해주고 있다. ..
개발 중에 기존에 static final로 선언해두었던 JobName과 StepName 변수를 동적으로 할당하고 싶은 경우가 발생하였다. 다른 서비스에서도 해당 클래스를 활용할 수 있도록 확장성을 높이기 위해 static final로 지정되어있던 것을 들어오는 파라미터에 따라서 동적으로 사용해 줄 수 있도록 개발하고 싶었다. 일단 개발하고 있는 것이 Batch라는 것을 생각해본다면 우리는 Job을 가지고있고 그에 따른 JobExecution 또한 가지고있다. JobExecution은 많은 정보를 담고있다. JobInstance, 배치 실행 상태, 시작 시간등 다양한 정보등을 담고있습니다. JobInstance를 보면 jobname 정보를 담고있음을 확인할 수 있다. 그렇다면 StepName은 어떻게 알 ..