본문 바로가기

전체 글

AWS Lambda 서버에서 moment.js timezone 문제 AWS Lambda 기반의 nodejs를 운영 서버로 사용중이다. ( 팀에 참여가 늦어서 왜?(lambda와 nodejs인가) 라는 질문은 아직 못했고... 답변해 줄 수 있는 분은 없는 듯 하다. ) 여튼 15분이 지난 주문에 대해 사용자의 알림 액션을 막아 달라는 운영 업무 티켓이 하나 들어왔다. 기존에 있던 분은 원래 이상없이 잘 되던건데 말이죠..를 나에게 얘기해 준다. 까짓 nodejs가 별거냐 어짜피 javascript다 하며..소스를 까본다. moment().tz('Asia/Seoul').isBefore(moment(dbOrderCompletedDateTime, 'YYYY/MM/DD HH:mm:ss.SSS').add(15, 'm')); 즉, 현재시간 기준으로 db에 저장되어 있는 주문완료 시.. 더보기
Gradle 5 멀티 모듈 만들기 - SpringBoot 2.2.x 스크립트 개인 메모 -> jpa, querydsl....모두 적용까지 https://github.com/KimHyeongi/gradle-multi-module KimHyeongi/gradle-multi-module 멀티모듈 프로젝트 최신 유지. Contribute to KimHyeongi/gradle-multi-module development by creating an account on GitHub. github.com root-project - core - api workspaces에서 {root-project} 디렉토리 생성 후, 각 하위 디렉토리 생성. settings.gradle 각 디렉토리에 생성. root-project rootProject.name = 'grissom-multi-modul.. 더보기
Spring EL 의 @Value Annotation 처리 기본 값 app: el: demo: default: default text comma: el1,el2,el3,el4 mapv: "{key1:'1',key2:'2'}" 각 코드 주의사항으로는 모두 *.properties 와 동일하지만 Map 처리의 경우 중괄호 밖을 한번 더 감싸야 한다. properties => app.el.demo.mapv = {key1:'1',key2:'2'} yml => 위 코드 참조. @Slf4j @RunWith(SpringRunner.class) @ActiveProfiles(inheritProfiles = false, resolver = ActiveProfileResolver.class) @SpringBootTest(classes = ApiApplication.class) pub.. 더보기
POS 연동 개발을 조금 시작하고.. 요즘 POS 쪽 서버 개발을 하다 보니 음식점이나 마트에서 사용하는 POS를 자꾸 보게 되고, 점주분들에게 물어보고 사진 찍고 그러고 다니는데, POS가 상당히 보수적인 시스템이라는 게 절실히 느껴지는 요즘이다. 뭔가 카뱅이나 토스 같은 아이템이 될 수도 있을 거 같은 느낌적인 느낌이지만 역시 사고의 전환은 빠르지 않은 듯하고.. 그래도 관련 업종 기사들을 찾아보면 뭔가 많은 작업이 이루어지는 걸 볼 수는 있다.(이미 Mobile POS 부터 클라우드(?)라는 이름하에 뭔가 막...) 여튼 일과 연계해서 보면 POS는 POS만의 시스템 + a 면 될 듯 하고, 애드온 형태로 서버에서 보면 배달대행 연계(API), 매장관리, 온/오프 매출정산, 온/오프 메뉴관리, 자재/재고 관리, 고객관리, 상권정보, 지.. 더보기
MQTT를 발행/수신 해보자. 작은 쇼핑몰을 만들어 보려고 하면서 뭔가 시나리오를 크게 잡고 하기보다는( 이렇게 하면 만들다 지쳐버린 경험도 있고 해서..) 작은 단위의 시나리오로 만들려고 한다. 기존 JPA관련 간단팁으로 정리하던 repository를 복사해서 시작하기로 맘을 먹고 준비땅을 외침. 멀티 데이터베이스, 멀티 모듈등 기본 인프라사항을 적용해놓고, 전시카테고리를 구현하려고 하던중 급 MQTT에 대한 처리를 하고 싶어졌다. 기본 단위의 시나리오는 이렇다. '사용자가 주문을 한다 -> 주문 프로세스가 완료된다 -> 완료 정보는 사용자에게 돌아간다. -> ASYNC로 주문완료 토픽을 발행한다. -> 구독 디바이스에서 해당 정보를 확인한다.' 간단하다. 아주~ 대충 토픽을 가져가는 서비스들은 POS라던지 EMAIL 이라던지..... 더보기