[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] Spring에서 redis 서버 사용
·
Spring
Redis?Remote Dictionary Server의 약자로 Remote에 위치하고 프로세스로 존재하는 In Memory 기반의 Key - Value 구조 데이터 관리 시스템이다. key - value의 구조를 가지기 때문에 RDB와 같이 쿼리 연산을 사용할 수는 없지만 데이터의 읽기, 쓰기의 속도가 아주 빠르게 최적화 되어 있다. 따라서, Redis를 NoSQL로 분류하기도 한다.  In Memory로 분류되기 때문에 DB, Cache 등의 다양한 데이터 구조를 지원한다. 또한, 일반 DB같이 ssd에 데이터를 쓰는 구조가 아니고 dram에서 처리하는 구조이기 때문에 속도가 아주 빠르다.Redis는 다양한 언어 프레임워크에 대해 API를 지원하기 때문에 사용자들이 많다.    Session Clus..
[Spring Boot] 외장 톰캣 웹 배포하기(apache-tomcat)
·
Spring
나는 IntelliJ Ultimate 버전을 사용 중이기 때문에 IntelliJ 기준임.(STS나 이클립스도 아마 비슷할것임) 1. Spring Boot Application 설정public class GkgkApplication { public static void main(String[] args) { SpringApplication.run(GkgkApplication.class, args); }}처음엔 이 구조가 기본 구조일 것이다. 하지만 @SpringBootApplicationpublic class GkgkApplication extends SpringBootServletInitializer { @Override protected SpringApplication..
[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 인코딩을 사용해야 합니다. 또한, 웹 애플리케이션에서 클라이언트가 서버로 데이터를 전송할 때, 특히 폼 데이터를 제출할 때 요청 파라미터의 인코딩이 중요하다.