목록Spring (6)
코딩마을방범대

Intellij 에서 프로그램을 구동 시킬 때 타임존 세팅이 필요한 경우가 있다. 이럴 때 Intellij 에서 세팅하는 방법을 알아보자! 우측 상단에 보면 run,debug 여러 버튼이 있는데 이 중에서 프로젝트명 옆에 화살표 버튼을 눌러준다. 그 다음 Edit Configurations... 을 클릭 해준다. 그 다음 프로젝트에서 Modify options를 클릭한 다음 'Add VM options' 를 클릭해준다. VM option 칸에 '-Duser.timezone=UTC' 입력 후 OK를 눌러준다. 이후 디버깅 모드로 확인해보니 정상적으로 반영되었다.

HttpURLConnection Java에서 HTTP 프로토콜을 사용하여 웹 리소스에 접근하고 통신하기 위한 클래스 호출하고 응답받기 public void test throws IOException { URL url = new URL("http://javaking75.blog.me/rss"); // 문자열로 URL 표현 System.out.println("URL :" + url.toExternalForm()); // HTTP Connection 구하기 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 요청 방식 설정 ( GET or POST or .. 별도로 설정하지않으면 GET 방식 ) conn.setRequestMethod("..
스케쥴러(Scheduler)에 대하여 스케쥴러란? 일정 시간마다 코드를 실행시킬 수 있음 스레드(sleep)을 이용하면 제대로 관리하지 못할 경우 exception이 날 수 있음 사용법 1. 메인 클래스에 어노테이션 선언 @SpringBootApplication @EnableA sweet-rain-kim.tistory.com 위의 방법대로 @Scheduled를 이용해 반복적인 작업을 수행하는 경우가 있다. 그러나 이 경우엔 cron의 반복 주기를 변경해야될 때 수정 후 war를 재배포해야되는 번거로움이 있다. 동적으로 주기를 선택할 순 없을까 싶어 찾아보니 Quartz를 이용하는 방법이 있다고 한다. Quartz Java 기반의 오픈 소스 스케줄링 라이브러리 다중 작업 지원: Quartz는 여러 작업을 ..

웹 소켓을 이용한 메시지 전송 (이전포스트) 코드에서 아래와 같이 SimpMessageHeaderAccessor을 이용하는 메시지 전송 코드를 보았다. 얼추 봤을 때 WebSocket을 사용하는 것이라고 어림짐작만 했지 본격적으로 알아보기는 이번이 처음이다. Map msgMap = new HashMap(){{ put("키값", "값"); }}; SimpMessageHeaderAccessor headerAccessor = SimpMessageHeaderAccessor.create(SimpMessageType.MESSAGE); headerAccessor.setSessionId(user); headerAccessor.setLeaveMutable(true); simpMessagingTemplate.convert..

FCM - (1) FCM이란? (이전 포스트)FCM - 푸시 메시지를 보내는 방법 2가지 FCM 프로젝트 생성 및 준비 단계 1. 프로젝트 생성 (1) Firebase 프로젝트 생성 (2) 웹 앱 생성 (js에 붙여넣기) 2. 서버 비공개키 생성 (1) 위대로 프로젝트 생성 후 화면대로 '프로젝트 설정' 클릭 (2) '서비스 계정' 탭 선택 후 '새 비공개 키 생성' 클릭 (3) json 파일을 resource 폴더에 붙여넣기 3. 클라이언트 FCM 등록 토큰 획득 (1) 위대로 프로젝트 생성 후 화면대로 '프로젝트 설정' 클릭 (2) '클라우드 메시징' 탭 선택 후 'Generate key pair' 클릭 (3) 생성된 키 복사(1) messagingSenderId ..

Redis를 이용해 String을 저장하는 방법은 매우 간단하다. 그러나 객체를 저장하기 위해선 Json을 이용해 저장 후 convert가 필요하다. ※ conf 파일에 아래와 같이 Json 타입으로 설정 시 자동으로 Json String으로 저장된다. redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer(Object.class)); set 방식으로 저장해서 valueOperations.members(키값) 명령어를 통해 가져왔을 때 안의 따옴표들이 전부 사라졌다. 이 때문에 Json to Java Object 로 변환이 불가능했고, 이리저리 테스트해보다가 해결 방법을 발견했다. 아래와 같이 Set에 담아서 가져온 뒤 Mapper를 통해 co..