본문 바로가기

전체 글178

2019년 9월 3주차 - "KG이니시스, ‘테이블 오더’ 서비스 본격 개시" 1. 점원 대신 모바일 '테이블 주문'…경쟁 불 붙는다 테이블 오더는 테이블에 앉아서 주문과 결제까지 이루어지는 서비스로, 대표적인 예가 바로 스타벅스의 사이렌 오더입니다. 지난 9일부터 KG이니시스가 QR 기반의 '테이블 오더' 서비스를 본격적으로 개시했고, NHN과 카카오톡, 배달의 민족 등도 하반기 출시를 목표로 개발 중이라고 밝혔습니다. 대부분 업체들이 QR코드 기반으로 시스템을 구축하였으며, 카카오의 경우 카카오 챗봇을 통해 시스템을 구축한다고 합니다. 이미 서비스를 제공 중인 KG이니시스의 경우 국내 및 해외 카드 결제와 주요 6개사 간편 결제(삼성 페이, 카카오페이 등)를 연동해 제공함으로써, 국내 업계 중 가장 많은 결제 수단을 제공한다고 합니다. 테이블 오더 서비스 경쟁이 심화될 것으로 .. 2020. 11. 15.
Memoization Pattern 메모이제이션(Memoization)은 동일한 계산을 반복해야 할 경우, 결괏값을 메모리에 저장해 두었다가 꺼내어 씀으로써 중복 계산을 방지하는 기법입니다. 딱 들어도 캐싱과 유사한 건가? 생각이 드는데, 메모이제이션은 넓게 말해서 캐싱의 일종으로 볼 수 있습니다. 좀 더 엄밀히 말하면, 최적화의 특정 사례라고 할 수 있습니다. 순수한 함수형 프로그래밍에서는 메모이제이션을 강력한 최적화 기법으로 소개하며, 내부적으로 자동으로 메모이제이션이 수행됩니다. 일반적으로 함수 레벨에서 캐시하는 것을 지칭하는 경우가 많습니다. 메모이제이션 vs 동적 계획법 vs 타뷸레이션 메모이제이션 : 계산이 필요한 순간 계산해서 저장하는 방식(Lazy-Evaluation) 동적 계획법 : 저장했던 값을 재활용해서 사용하는 방식 .. 2020. 11. 15.
String Constants Pool 프리미티브 타입의 값을 비교할 때에는 주소 값을 비교하기 위해 '==' 연산자를, 레퍼런스 타입의 값을 비교할 때에는 실제 참조하는 값을 비교하기 위해 'equals' 메서드를 이용합니다. 그리고 String의 경우에는 비교할 때에는 'equals'를 이용하기를 권장하는데, '==' 연산자로 비교하면 어떻게 될까요? String str1 = "FLYING"; String str2 = "FLYING"; System.out.println(str1 == str2); //true System.out.println(str1.equals(str2)); //true (literal 방식으로 String을 생성한다면) '==' 연산자를 이용해도 결과가 일치합니다. '==' 연산자를 이용했을 때 true가 나온다는 것은.. 2020. 11. 15.
2019년 9월 2주차 - "롯데멤버스, 상품 분석 인사이트 플랫폼 'LAIP' 선보여" 1. 롯데멤버스, 상품 분석 인사이트 플랫폼 'LAIP' 선보여 롯데멤버스가 엘포인트 구매 데이터 기반 상품 분석 인사이트 플랫폼인 LAIP(L.POINT-Aimia Insights Platform)를 출시했습니다. 2018년 6월에 고객 행동 분석 솔루션 기업 에이미아와 파트너십을 체결한 결과물로, 에이미아의 독자 기술과 노하우로 개발한 AIP에 엘포인트 빅데이터를 적용한 것이 바로 LAIP입니다. 실제 롯데 유통 채널에서 발생하는 구매 데이터를 분석하기 때문에 분석 규모도 훨씬 크고 정확도도 높다고 합니다. LAIP는 현재 상품국 성과 분석 및 고객 구매행동 분석, 상품 구색 분석, 신상품 성과 분석을 제공합니다. 2020년에는 마케팅 성과 분석 모듈이 추가될 예정이라고 하며, 이러한 기능에 필요한 .. 2020. 11. 15.
클린 코드 작성 : 더 나은 개발자가 되기 위한 단계 ※ 이 글은 Sushil Ale가 쓴 Writing Clean Code: A Step Towards Being a Better Developer의 번역본입니다. 개발자들은 빠르게 변화하는 기술 시장에서 살아남기 위해 기술 스택을 알고, 숙련도를 높이는 등 개인의 스킬을 향상하기 위해 노력합니다. 보유기술을 늘리기 위해 새로돈 도구, 언어, 기술들을 배우려 합니다. 하지만 이렇듯 새로운 역량을 키우는 것 외에도 중요한 것은 어떻게 코드를 작성하는가에 대한 고찰입니다. 코드는 지속적으로 추가되거나 수정되고, 디버그 할 필요가 있기 때문에 깨끗하고 이해하기 쉬운 코드가 되어야 합니다. 쉽게 읽을 수 있고, 이해할 수 있고, 유지 보수할 수 있는 프로그램을 작성하기 위해 클린 코드의 지침을 따르는 것을 권고합니.. 2020. 11. 15.