Spring Batch란?
·
Spring
Spring Batch 알아보기다양한 도메인 내의 많은 애플리케이션은 보통 비즈니스 운영을 수행하기 위해 대량의 데이터 처리가 필요합니다. 그래서 가볍고 포괄적이며 Spring Framework의 특성(생산성, POJO 기반 개발 방식, 일반적인 사용 편의성)을 기반한 Spring Batch를 사용해서 데이터를 일괄적으로 처리하곤 합니다. Spring Batch는 스케줄링 프레임 워크인가?결론적으로 Spring Batch는 스케줄링 프레임워크가 아닙니다. Batch -> 논리적 또는 물리적으로 관련된 일련의 데이터를 그룹화하여 일괄 처리하는 방법을 의미합니다.Scheduler -> 주어진 작업을 미리 정의된 시간에 실행할 수 있게 해주는 도구나 소프트웨어를 의미합니다. 주의할점1. 대량의 데이터를 일괄적..
VMware Ubuntu가상환경 Jenkins 설치
·
Daily
Jenkins란?오픈 소스 자동화 서버로, 주로 소프트웨어 개발과 관련된 작업의 자동화를 지원하는 도구입니다.그리고 CI/CD 파이프라인을 설정하고 관리하는 데 많이 사용됩니다. Jenkins의 주요 사용 목적중 하나는 개발자가 코드를 변경할 때마다 자동으로 빌드, 테스트, 배포를 실행하여 개발 주기를 가속화하고 품질을 높이는 것입니다.Jenkins 주요 기능과 구성 요소1. 자동화된 빌드와 테스트코드가 레포지토리에 커밋될 때마다 자동으로 빌드를 수행하고, 테스트를 실행하여 코드가 정상적으로 작동하는지 확인합니다. 2. 플러그인 시스템플러그인 기반 아키텍처를 채택하고 있어, 다양한 플러그인을 통해 기능을 확장할 수 있습니다. 가령 Git과 같은 버전 관리 시스템, Gradle과 같은 빌드 도구 지원, D..
git pull error
·
Daily
사람들과 협업하며, 프로젝트를 진행하다 보면 다음과 같은 에러를 자주 마주하곤 합니다. 저는 주로 개발 작업이 좀 오래 걸렸을때, 혹은 변경사항에 있어 커밋을 몇번 하고 나서  push를 진행했을때 저런 에러를 마주하곤 했었습니다.  한두번 마주한게 아닌, 종종 모습을 나타내는 이자식... 그래서 어떤 에러인지? 해결방법은 무슨 차이가 있는지? 자세히 에러에 대해서 알아보고, git에서 제시하는 3가지 방법 중 필요한 방법을 선택해서 진행하려고 합니다.  발생 원인해당 에러가 발생하는 이유는 다음과 같습니다. 1. Pull 방식을 명시적으로 정하지 않음2. 그로 인한 분기 차이가 발생3. 로컬 브랜치와 remote 원격 브랜치 사이에 변경 사항 충돌이 발생 발생 원인 예시   가령 로컬 브랜치에서 커밋 ..
Mac M1 VMware + Ubuntu 설치
·
Daily
이번에는 M1환경에서 VMware를 활용해서 Ubuntu를 설치하는 과정에 대해서 다뤄보려고 합니다. 진행하기에 앞서, 일단 VMware를 설치해 주시길 바랍니다..!https://www.techspot.com/downloads/downloadnow/2755/?evp=b9879fcc0383c08cef26189e2277a4ec&file=11022#google_vignette VMware Fusion for macOSVMware Fusion delivers the best way to run Windows, Linux and more on Apple Macs without rebooting.www.techspot.com운영체제 파일 준비보통 운영체제를 설치할 때 가장 최신버전은 피해서 설치하시는 걸 권장드립..
Github Actions로 배포 자동화
·
Daily
프로젝트를 관리하다 보면 유지보수 과정에서 배포를 자동화하고 싶다는 생각을 한 번씩 하곤 했었습니다. 그러다가 마주하게된 Github에서 제공하는 Actions기능을 활용하면 버전관리를 자동화시킬 수 있다는 소식을 접했고, 오늘은 이를 활용한 자동 배포에 대해서 다뤄보려고 합니다. 정확히 다뤄볼 내용은, 백엔드 프로젝트를 배포하는 파이프라인에서 마지막에 백엔드 서버를 실행하고, 만약 서버가 실행 중이면 재부팅할 수 있게 프로그램을 짜볼 예정입니다!! 저는 AWS EC2에 배포를 하겠습니다!준비 환경일단 배포하기에 앞서, 간단한 Spring Boot 프로젝트와, EC2를 준비해 주시면 감사하겠습니다!!EC2를 생성한 후, SSH 접속까지 한 상태로 진행해주시면 됩니다.Spring Boot 프로젝트 jar파..
VMware 포트포워딩 - 외부접속(2)
·
Daily
지난 포트포워딩은 로컬환경에서 가상환경으로 DB 서버를 구축하고, 활용하는 글을 포스팅했었습니다. 이번 포스팅은 로컬환경에 국한되지 않고, 정말 다른 인터넷 환경에서 접속할 수 있는 포트포워딩 추가 설정에 대해서 다뤄보려고 합니다. 포트포워딩을 다루기 전, 준비해야 할 환경은 로컬환경에서 포트포워딩이 완료된 VMware가 필요합니다.해당 준비는 아래 포스팅을 참고하여 준비해 주시면 됩니다....!!!https://hyunily.tistory.com/20 VMware 포트포워딩 - 외부접속(1)많은 사람들이 활용하고 있는 가상환경중 VMware도 적지않게 많이 사용하고 있습니다. 하지만 사용자들 중에서 "나는 VMware로 DB서버를 구축하고, 외부에서 접속해서 쓰고싶은데?" 라는 생각을 해hyunily...
Spring Boot 회원가입 - 이메일(SMTP) 인증 구현하기
·
Spring
많은 서비스에서 회원가입 과정에 이제는 당연하다고 여겨지는 이메일 인증 기능을 구현해보려고 합니다. 구현에 앞서 프로젝트에 gradle 설정부터 진행하며 시작해 보겠습니다. build.gradle 설정dependencies { ... implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-mail' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.mariadb.jdbc:mariadb-java-clien..
Spring Boot Profile 설정
·
Spring
Spring Boot 프로젝트를 진행하다 보면 가끔 드는 생각중 하나는단발성으로 한번만 실행하고 싶은 코드들의 모음들은 어떻게 단발성으로만 실행할 수 있을까? 라고 생각합니다. 저도 가령 dummy data를 넣는 과정을 코드로 작성하면, 서버를 실행할때 한번만 실행하고 주석처리를 한다던가....이런 과정을 반복했던 적이 있는데요!! 이러한 부분에서 활용할 수 있는 설정중 하나는 Profile을 설정해서 활용하는 방안이라고 생각합니다.Spring Boot Profile이란?Spring 프레임워크에서 애플리케이션 설정을 환경별로 다르게 관리할 수 있게 해주는 기능입니다.이를 활용하면 개발, 테스트, 프로덕션 환경 등 다양한 환경에 맞추어 설정을 손쉽게 전환할 수 있습니다.그리고 환경에 따라 다른 속성 파일..