2021-11-28 실시간으로 처리해야 하는 요청이 있는 반면에 정해진 시간에 처리해야 하는 작업이 있을 수 있다. 예를 들자면 백업 작업, 사용자에게 특정 시간에 메일을 보내야 할 경우가 그 예가 될 수 있다. 오늘은 특정 시간에 동작하도록 설정할 수 있도록 해주는 @Scheduled에 대하여 알아보자. - 예제 @Scheduled(cron="10 30 12 * * *") public void sendMail() { //특정 시간에 매일을 보내는 메소드 System.out.println("메일을 발송합니다.") } 위의 코드를 보자. 스케줄러를 설정하고 싶은 메소드에 @Scheduled 어노테이션을 붙여주면 해당 메서드는 @Scheduled에 지정해준 시간에 따라 동작하게 된다. cron은 유닉스 계열..
2021-11-20 팝업을 띄운 부모 창을 새로고침해야 하는 경우가 종종 있는데, 이럴 때 코드 한 줄로 부모 창을 새로고침 하는 방법이 있다. - 예제 function parentRefresh(){ opener.location.reload(); } 바로 위의 코드이다. 메소드명도 굉장히 명시적으로 표현되고 있으며 말 그대로 팝업을 띄운 부모 창(opener)의 경로(location) 정보를 새로고침(reload)한다. 위의 코드를 사용하면 기존의 부모창이 새로고침 되는 것을 확인할 수 있다. 메인 이미지 출처: Photo by XPS on Unsplash
2021-11-13 JWT 형식의 데이터를 주고받으면 따로 DB의 저장하지 않아도 해당 토큰의 값만 가지고 데이터 처리를 할 수 있다는 장점이 있다. 다만 base64로 인코딩 되어 있어 누구나 해당 토큰 정보를 확인할 수 있는데, 이러한 단점을 보안하기 위해서는 내부의 데이터는 따로 암호화 작업을 거쳐서 전달하는 것이 바람직하다. 바로 사용한 라이브러리와 예제 코드를 보자. - 라이브러리(build.gradle) // https://mvnrepository.com/artifact/io.jsonwebtoken/jjwt implementation group: 'io.jsonwebtoken', name: 'jjwt', version: '0.9.1' - 예제 import java.io.UnsupportedEn..
2021-10-26 기존에 @Controller라는 어노테이션은 이미 MVC 구조의 프로젝트를 다루면서 많이 익숙해졌을 것이라고 생각한다. @Controller 경우 자신에게 맵핑된 view를 찾아가는 것이 주요 목표이다. 하지만 view이외의 JSON과 같은 데이터 형식을 전달하기 위해서 @ResponseBody와 같은 어노테이션과 같이 사용되는 경우도 많은데, 이러한 두 가지 기능을 하나의 어노테이션으로 사용하고 조금 더 RestFul API 적합한 개발을 위해 나온 어노테이션이 바로 @Restcontroller이다. 사용방법은 간단하며, 아래의 스프링 문서에서 제공하는 예제 코드를 보자. - 예제1 @RestController public class MyController { @RequestMapp..
2021-09-26 오늘은 오픈 API를 연동하는 과정을 알아보도록 하자. 예제는 https://open.assembly.go.kr/portal/openapi/main.do를 활용해서 진행할 예정이며, 가이드라인도 열린 국회 정보 API를 따른다. - 예제 먼저 아래는 View를 구성하는 jsp 화면이다. api 연동으로 얻어진 정보를 openInfo라는 하나의 객체로 담아 간단히 나타낼 것이기 때문에 매우 간단하다. 얻어온 Open API 정보 ${openInfo } API화면 아래는 api 정보를 받아올 dto 객체이다. package com.test.test.dto; public class ApiDto { private String billId; private String billNo; privat..
2021-09-05 자바스크립트 함수를 호출할 때 a태그를 사용하여 호출하는 경우가 많은데 오늘은 이와 같은 방법을 빠르게 알아보자. -코드 사실 방법은 크게 두가지로 하는 href 링크를 이용해 자바스크립트 함수를 호출하는 방법이고 나머지 하나는 onclick 이벤트를 이용해 함수를 호출하는 방법이다.