![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dSUUFt/btrtmgg1NHS/v2mxedWRr6ET38TcmGdIKK/img.png)
최근 어플리케이션의 사용자가 많아지면서 대충 만들었던 notification 에 대한 안정성을 평가하고, 코드 리팩토링을 진행하게 되었습니다. expo sdk 를 이용하여 하이브리드 어플리케이션을 제작하고 spring boot 를 이용하여 api server를 만드는 경우 사용하게 되는 expo-server-sdk-java 의 사용법에 대해서 알아보려고 합니다. 0. expo push notification expo-notifications 을 이용하면 어플리케이션에서 ExponentPushToken[...] 형식의 expo push token 을 받아 올 수 있습니다. 어플리케이션에서 전달받은 expo push token 을 database 에 저장하고 백엔드 언어에 맞는 expo-server-sdk-..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/lqnJ5/btrtrXguPhB/5w4dHofDKu7CMJWTHzt9V1/img.png)
가끔 production 브랜치에 merge 한 이후 (새로운 버전을 배포하고 아주 신나는 순간) 갑자기 발생한 에러때문에 급하게 코드를 수정하는 일들이 있다. 급한 마음에 production 브랜치에 그대로 코딩을 하게 되는데, 이런 unstaged 된 코드를 다른 브랜치(특히 dev)에 커밋해야하는 경우가 생긴다. 만약 prod 브랜치에서 a.txt 파일을 수정하고 staging 하지 않은 상태에서 dev 브랜치로 옮겨간다면 지금 작업한 작업물들이 손실됩니다. 이 경우 다음과 같은 프로세스를 통해서 prod 에서 변경한 코드를 dev에 commit 할 수 있습니다. 지금까지 한 작업을 어딘가에 저장한다. prod 에서 변경한 코드를 최신 커밋으로 되돌린다. dev 브랜치로 이동한다 1번에서 저장한 작..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bKBGC4/btrtraAnfQ9/oWsWSzL81BSz6YFKtqVKV1/img.jpg)
최근 spring boot 프로젝트에서 공무원 월급일자를 계산해야하는 일이 생겼습니다. 공무원의 경우 월급날이 공휴일이거나, 주말인 경우 월급을 앞당겨서 지급받기 때문에 특정년도의 공휴일을 계산해주는 계산기가 필요했습니다. 0. 라이브러리 추가 gradle project 에 음력달력을 사용하기 위한 라이브러리를 추가해줍니다. dependencies { // https://mvnrepository.com/artifact/com.ibm.icu/icu4j implementation group: 'com.ibm.icu', name: 'icu4j', version: '4.0.1' } 1. 공휴일 처리 클래스 Lunar2Solar 메서드를 이용하여 음력기준의 공휴일을 양력날자로 변환해준뒤, 대체 공휴일이 적용되는 ..
https://programmers.co.kr/learn/courses/30/lessons/43164?language=java 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr dfs 를 이용해 가능한 모든 경우를 확인하면서 그중 알파벳 순으로 가장 앞서는 답을 구하는 방식입니다. Collections.min() 의 부분에서 따로 Comparator 객체를 람다를 이용해서 넣은것을 확인할 수 있습니다. 이는 1. 긴 답이 먼저오도록 2. 둘이 길이가 같다면 알파벳 순으로 앞서는..