[Spring] Scheduled 어노테이션
·
Spring
@Scheduled해당 어노테이션을 활용하면 일정 시간 간격 혹은 특정 시간에 원하는 메소드를 실행하도록 해주는 어노테이션이다. 사용법나같은 경우에는 실제로 원하는 디렉토리의 파일들을 최종 수정시간과 현재 시간을 비교하여 특정 시간만큼 차이가 나면 삭제시키도록 하는 기능을 만들어야 했다. 우선 @Scheduled를 사용하기 위해서는 Application 파일에 @EnableScheduling 를 추가해줘야 한다.(나 Scheduled 쓴다~ 하고 선언하는 것) 그리고는 @Scheduled를 적용할 클래스를 만드는데@Componentpublic class FileClean { @Scheduled(fixedRate = 60 * 60 * 1000) // 1시간마다 실행 public void run() {  ..
[Spring] AES 암호화 알고리즘
·
Spring
암호화 방식에는 크게 두 가지가 있다. 1. 대칭키 암호화대칭키는 암호화 및 복호화에 사용하는 키가 동일한 방식이다. 암복호화에 참여하는 쪽에서 해당 키를 통해 데이터에 접근할 수 있게 되며 대표적인 알고리즘으로는 AES, DES, SEED 등이 있다. 대칭키 방식은 비대칭키 방식보다 속도가 빠르다는 장점이 있다. 하지만 키가 하나이기 때문에 키를 교환해야 하는 문제가 발생할 수 있다. 이것은 키를 탈취 당하는 문제가 발생할 수 있고 해당 데이터를 복호화하여 사용하는 사람이 많을수록 키 교환을 따로 해줘야 하기 때문에 관리해야 할 키가 방대해 질 수 있다. 2. 비대칭키 암호화비대칭키는 암호화하는 키와 복호화하는 키가 서로 다른 방식이다.일반적으로, 암호화를 위한 키는 공개키, 복호화를 위한 키는 개인키..
[Spring] WAR과 JAR
·
Spring
WAR과 JAR 모두 자바의 java-jar 을 통해 생성된 아카이브 파일로 Application을 쉽게 배포하고 동작시킬 수 있게 패키징된 파일이라고 볼 수 있다. 1. JAR(Java Archive).jar의 확장자를 가지며, 자바 프로그램의 실행에 필요한 Class와 리소스 파일, 메타 데이터, 설정 파일 등이 .zip으로 압축되는 아카이브 파일이다. 플랫폼에 귀속된다는 점을 제외하면 .zip과 동일한 구조이고 Maven이나 Gradle을 통해 받는 라이브러리들은 Class파일이 묶인 .jar 파일로 구성된 것을 확인할 수 있다. 원하는 구조로 구성할 수 있고 JDK에 포함된 JRE만 있어도 실행은 가능하다. 장점1. 독립적인 자바 Application을 패키징할 수 있고 실행 가능한 JAR 파일로..
[Spring + Postman] 포스트맨으로 파일 다운로드 테스트
·
Tools/Postman
업무 중 파일을 관리하는 기능을 구현해야 했다. 하지만 아직 앞단 작업이 부족하여 테스트용 뷰페이지를 쓸 수 없는 환경이었다. 평소 postman을 즐겨 사용하지만 다운로드까지 해볼 수 있다는 건 이번에 처음 알게 되어 기록을 해야겠다고 생각했다.  방법은 아주 간단하다.  Send 버튼의 화살표를 누르면 Send and Download라는 버튼이 활성화 된다. 하지만 먼저 Send 버튼을 눌러보자.(API 통신을 하고자 하는 메소드의 리턴값은 ResponseEntity 이다. )��������~~~~~~~ 어쩌고 저쩌고이와 같은 현상은 당연하게도 인코딩 문제라고 볼 수 있다.  하지만 내가 원하는 것은 내가 클라이언트 측에서 보내준 데이터인 xxx.jpg 파일 자체를 다운하고 싶은 것이다.   이번엔 ..
[Spring] web.xml 한글 필터
·
Spring
기본적으로 스프링을 통한 개발을 진행할 때 web.xml에 한글 필터 적용을 하는  encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding utf-8 encodingFilter /* 코드를 추가해 주곤 한다.  HTTP 요청과 응답은 기본적으로 ISO-8859-1 (Latin-1) 인코딩을 사용한다. 하지만 한글과 같은 비 ASCII 문자는 ISO-8859-1 인코딩으로 표현할 수 없기 때문에 깨져 보일 수 있다. 이를 방지하기 위해 UTF-8 인코딩을 사용해야 합니다. 또한, 웹 애플리케이션에서 클라이언트가 서버로 데이터를 전송할 때, 특히 폼 데이터를 제출할 때 요청 파라미터의 인코딩이 중요하다.
[Spring] Mac에서 lombok 설치 및 사용법
·
카테고리 없음
lombok이란?자바의 라이브러리로 Annotation을 사용하여 getter/setter/toString 등 반복적으로 만들어야 하는 함수들을 자동으로 작성해준다.그렇기 때문에 개발자 입장에서는 매번 코드를 작성하는 번거로움을 줄일 수 있는 장점이 있다. 보통 Eclipse, STS, InteliJ에서 자동생성하는 기능들이 있지만 이것도 다 생성을 해야하는 작업이 들어가기 때문에 번거롭다.lombok을 사용하면 코드상에 getter/setter 등과 같은 함수가 보이지 않는다. ( 실제로는 .class파일(컴파일된 결과물)에는 코드가 생성되어있다. )그래서 이 라이브러리는 직관성을 중요시 하는 개발자에게는 비선호하는 라이브러리이다.  lombok 설치하는 방법https://projectlombok.or..