[SpringBoot] 리눅스 SVN 으로 war 파일 배포하기
·
프레임워크/SpringBoot
리눅스 서버에 SVN을 이용해서 SpringBoot(gradle) war 파일 배포하는 방법에 대해 간략하게 알아보겠습니다.1. Repository 생성SVN에 deploy라는 폴더를 생성 후, checkout 을 진행합니다. 2. build.gradlebuild.gradle 파일 수정plugins { id 'java' id 'org.springframework.boot' version '2.6.15' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'war'}apply plugin: 'war'bootWar { archiveBaseName = '-' archiveFileName = 'myApp.war' ..
[SpringBoot] MSA+JPA로 간단한 소스 구현하기
·
프레임워크/SpringBoot
Eureka 서버와 JPA로 아주 간단한 쇼핑몰 BackEnd 소스를 작성하였습니다. SpringBoot로 구현하였으며, MariaDB를 사용하였습니다.1. 테이블 생성CREATE TABLE `products` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `description` varchar(255) DEFAULT NULL, `price` double NOT NULL, `stock` double NOT NULL, `created_at` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`));CREATE TABLE `users` ( `id` bigint(20) NOT N..
[SpringBoot] Window10 Nexus Repository 구성하기
·
프레임워크/SpringBoot
Nexus를 이용하여 공통 jar 파일을 배포하고 SpringBoot 프로젝트에서 lib 사용하는 방법에 대해 간단히 알아보겠습니다.1. 설치https://help.sonatype.com/en/download.html 사이트에서 본인 상황에 맞는 Nexus를 설치한 후 적당한 경로에 압축을 해제합니다.2. 명령어cmd(관리자모드) 창으로 해당 bin 폴더로 이동후 아래 명령어를 입력합니다. nexus.exe/installinstall 이 완료되면 run을 입력합니다.nexus.exe/run한참뒤, 아래와 같은 문구가 뜨면 실행이 완료된것입니다.3. 접속http://localhost:8081/ 사이트로 접속합니다.초기 패스워드는 nexus-3.69.0-02-win64\sonatype-work\nexus3\..
[SpringBoot] Tomcat 으로 war 파일 배포하기
·
프레임워크/SpringBoot
SpringBoot 프로젝트를 war 파일로 만들어 리눅스서버에 Tomcat 을 이용해 배포하는 방법에 대해 간략하게 알아보겠습니다. IntelliJ + gradle 기준으로 작성되었습니다.1. build.gradleplugins { id 'java' id 'org.springframework.boot' version '2.6.15' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'war'}apply plugin: 'war'bootWar { archiveBaseName = '-' archiveFileName = 'MyApp.war' archiveVersion = "1.0.0"}group = 'com..
[Java] JSch 로 SFTP 파일 전송하기
·
프로그래밍 언어/Java
오늘은 JSch 를 이용하여 특정 사이트에서 이미지를 다운받아 SFTP 로 이미지 전송하는 간단한 소스를 작성해보겠습니다.1. 라이브러리 추가implementation 'com.jcraft:jsch:0.1.55'implementation 'commons-net:commons-net:3.10.0' 2. 이미지 파일 체크특정 사이트에 이미지 파일이 있는지 체크합니다.public boolean existFile(String checkUrl) { HttpURLConnection connection = null; try { URL url = new URL(checkUrl); connection = (HttpURLConnection) url.openConnection(); co..
[Gitlab] Fork-MergeRequest 전략
·
도구 및 환경/Git
Gitlab에서 Fork - MergeRequest 하는 방법을 알아보겠습니다. Fork는 프로젝트를 그대로 복사하기 때문에 사용자가 Fork 프로젝트가 많아질수록 서버의 용량을 많이 차지하게 될 수 있으니 이점 주의하세요. 1. 그룹 생성root 계정으로 로그인하여 Group(test) 을 새로 생성합니다.  2. 계정 추가버튼 > edit > Manage > Members > Invite members를 클릭하여 그룹에 내 계정을 추가합니다.  3. 프로젝트 생성New projects > Create blank project 를 이용하여 새로 프로젝트를 만듭니다. 이미 만들어둔 프로젝트가 있다면, [Git] 원격저장소 연결 를 참고하세요. 4. Fork프로젝트를 만들었다면 로그아웃 후, 본인 계정으로..
[SpringBoot] Cookie 사용하기
·
프레임워크/SpringBoot
쿠키는 1개의 key 당 4kb의 데이터만 담을 수 있기 때문에 주의해서 사용해야 합니다. 이전 포스팅 하였던 세션관리와 비슷하기 때문에 해당 포스팅도 참고하세요.[SpringBoot] Enum 으로 Session 관리하기 [SpringBoot] Enum 으로 Session 관리하기SpringBoot에서 Enum을 활용하여 Session 관리하는 방법을 간단하게 알아보겠습니다.1. SessionKeys 생성@RequiredArgsConstructorpublic enum SessionKeys { // key 를 나열 USER_VO("사용자 정보", UserVO.class), ROOM_VO("채팅방zerobin-dev.tistory.com 1. Key 정의CookieKeys Enum 클래스 생성@Requir..
[네트워크] OSI 7계층과 TCP/IP 4계층
·
네트워크
OSI 7 계층이란?네트워크 통신이 일어나는 과정을 7단계로 나눈 ISO에서 정의한 네트워크 표준 모델입니다.아래 표와 같이 1 계층 ~ 7 계층으로 구성되어 있으며 각 계층을 지날 때마다 Header 가 붙게 되고 수신 측에선 역순으로 Header를 분석하게 됩니다.TCP/IP 4 계층이란?OSI 7 계층 이전 규격입니다.아래 표와 같이 1 계층 ~ 4 계층으로 구성되어 있습니다. OSI 7 계층TCP/IP 4 계층PDU(Protocol Data Unit)Header응용 계층응용 계층데이터(Data) 표현 계층데이터(Data) 세션 계층데이터(Data)데이터전송 계층전송 계층세그먼트(Segment)데이터/TCP헤더네트워크 계층인터넷 계층패킷(Packet)데이터/TCP헤더/IP헤더데이터 링크 계층네트워크..
[SpringBoot] ErrorController 작성하기(With Thymeleaf)
·
프레임워크/SpringBoot
SpringBoot에서 간단하게 에러관리 하는 방법에 대해 알아보겠습니다.1. 예외 Type 생성import com.fasterxml.jackson.annotation.JsonFormat;import lombok.Getter;import lombok.RequiredArgsConstructor;import org.springframework.http.HttpStatus;@Getter@RequiredArgsConstructor@JsonFormat(shape = JsonFormat.Shape.OBJECT) // ENUM 클래스 한글사용public enum ExceptType { /******************/ /** API Exception */ /******************/ RUNTIME..
[SpringBoot] Mybatis 다중 Datasource 적용하기
·
프레임워크/SpringBoot
SpringBoot에서 1개의 Datasource 만 사용할 경우 application.yml 파일에 datasource 만 작성하면 Spring 이 알아서 맵핑을 해주지만 2개 이상의 Datasource는 맵핑에 어려움이 있습니다. 따라서 다중 맵핑에는 Config 파일을 추가로 작성하여야 합니다. 아래는 Config 파일을 작성하는 방법입니다.1. application.ymlserver: port: 1221 servlet: encoding: charset: UTF-8mybatis: config-location: classpath:config/mybatis-config.xmlspring: config: activate: on-profile: "local" datas..
제로빈
ZeroBin`s 개발일지