오늘은 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 하는 방법을 알아보겠습니다. Fork는 프로젝트를 그대로 복사하기 때문에 사용자가 Fork 프로젝트가 많아질수록 서버의 용량을 많이 차지하게 될 수 있으니 이점 주의하세요. 1. 그룹 생성root 계정으로 로그인하여 Group(test) 을 새로 생성합니다. 2. 계정 추가버튼 > edit > Manage > Members > Invite members를 클릭하여 그룹에 내 계정을 추가합니다. 3. 프로젝트 생성New projects > Create blank project 를 이용하여 새로 프로젝트를 만듭니다. 이미 만들어둔 프로젝트가 있다면, [Git] 원격저장소 연결 를 참고하세요. 4. Fork프로젝트를 만들었다면 로그아웃 후, 본인 계정으로..
쿠키는 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 계층이란?네트워크 통신이 일어나는 과정을 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에서 간단하게 에러관리 하는 방법에 대해 알아보겠습니다.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에서 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..

SpringBoot에서 MockMvc를 이용하여 Test 코드를 작성하는 방법에 대해 간략하게 알아보겠습니다.1. 라이브러리 추가testImplementation 'org.springframework.boot:spring-boot-starter-test'testImplementation 이 작성되어 있는지 확인합니다. 2. Test 클래스 생성test 경로 밑에 원하는 패키지와 클래스를 생성합니다. 3. 어노테이션 작성@SpringBootTest(classes = MymsgApiApplication.class)@AutoConfigureMockMvc@ActiveProfiles("local") @SpringBootTest : 스프링부트 통합 테스트라는 것을 나타내며 classes 속성에 @SpringBoot..
zip 파일을 압축해제 전, 압축 파일 내부 파일의 정보를 확인 할 수 있습니다. 간단하게 파일명과 최종수정일을 조회하는 소스를 작성해볼게요.1. 라이브러리 추가implementation 'org.apache.commons:commons-compress:1.26.1'implementation 'commons-io:commons-io:2.15.1'Maven Repository 에서 각각 최신 버전을 다운로드 또는 빌드도구를 통해 설치하면 됩니다. 2. 소스작성import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;impo..
CDN 서버를 통해 이미지를 가져오던 중 해당 서버에 요청한 이미지가 없을 경우 기본 이미지를 지정하기 위해 onerror 속성을 사용합니다. 이번 포스팅에서는 onerror 이벤트를 javascript 에서 핸들링 하는 방법에 대해 가볍게 작성하였습니다1. img 태그 작성th:onerror 에 함수를 지정하고 파라미터 값으로 속성(th:baseCd)을 넘깁니다. 2. 스크립트 작성함수 내부에서 추가적인 작업을 진행하고 img 의 src를 지정할 수 있습니다.감사합니다.
주민번호로 성별과 만나이를 구하는 함수를 간략하게 작성하였습니다.1. 성별 가져오기// ssno = 9412201234567 형식function getGender(ssno) { // 주민등록번호 형식을 확인하는 정규 표현식 var regex = /^[0-9]{6}(?:0[1-9]|1[0-2])(?:0[1-9]|[1-2][0-9]|3[0-1])[0-9]{6}$|^[0-9]{7}(?:0[1-9]|1[0-2])(?:0[1-9]|[1-2][0-9]|3[0-1])[0-9]{3}$|^[0-9]{13}$/; // 주민등록번호 형식이 맞는지 확인 if (!regex.test(ssno)) { console.log('올바른 주민등록번호 형식이 아닙니다.'); return 'E'; } // 성별 추출 ..
- Total
- Today
- Yesterday