Latest

QR 결제가 한국에서는 얼마나 통할까?

QR 결제가 한국에서는 얼마나 통할까?

요즘 한국 기사들 중에 QR 결제를 다루는 얘기가 자주 나온다. 소상공인을 위한다는 정책 방향에는 공적인 의미가 있는 듯 한데, 그 부분에 대해서 필자는 식견이 없다. 다만, 중국에서 QR  결제를 2년 넘게 써온 경험으로 미루어보아 사용자 편의성 관점에서는 약점이 많아 보인다. 간단히 질문해보자. 한국에서 신용카드보다 QR이 편한가? 지갑을 가지고 다녀야 한다면

By 안영회
Spring Security OAuth2 소셜 인증 데이터베이스 저장

Spring Security OAuth2 소셜 인증 데이터베이스 저장

데이터베이스에 회원 정보 저장 step-01: Google, Facebook 간단한 소셜 인증에서 소셜 기반으로 인증 처리를 진행했습니다. 이번 차례에서는 해당 정보를 데이터베이스에 영속화 시키는 간단한 예제로 Data JPA, H2를 이용하겠습니다. 전체코드는 Github에 공게되어 있습니다. 테이블 * user_connection : 소셜에서 넘겨준 프로필에 대한 테이블 * user : 해당 프로젝트의 user 테이블 전체적은 플로우는 다음과 같습니다.

By Yun
Spring Security OAuth2 소셜 인증

Spring Security OAuth2 소셜 인증

Spring Scurity OAuth2를 활용해서 Facebook, Google 계정 기반으로 정말 간단하게 인증 처리를 할 수 있습니다. 들어가기에 앞서 OAuth 2인증 방식 : Authorization Code Grant 반드시 기본적인 이해를 하시는것을 권장드립니다. 생활코딩에도 잘 정의되어있습니다. Google, Facebook App 생성 및 Https 설정을 하지 않았다면 step-00: gogole, facebook, https 설정을 참고하여 작업을 완료해주세요. 전체코드는

By Yun
스프링 부트 2.0 JPA Auto-configuration의 변화

스프링 부트 2.0 JPA Auto-configuration의 변화

스프링 애플리케이션을 만들 때 스프링 프레임워크Spring Framework로 직접 구성하기보다는  스프링 부트Spring Boot를 사용하는 것이 더 간단하고 쉽다. 그리고 그 중심에는 스프링 부트 자동 설정Auto-configuration이 있다. 스프링 부트 자동 설정은 스프링 애플리케이션에 추가한 라이브러리(JAR)를 인식하여 관련 값을 스프링 부트 기본으로 설정해 준다. 따라서 스프링 부트를 사용하는 입장에서는 자동으로

By 유 영모
흔한 프로그래머의 작명에 대한 사뭇 진지한 이야기

흔한 프로그래머의 작명에 대한 사뭇 진지한 이야기

얼마 전에 있던 작명에 대한 논의를 소재로 프로그래머의 일상이고, 더러는 중요하지 않게 해치우는(?) 작명에 대해 진지한 글을 하나 써보려고 합니다. 찾아보니 과거에도 비슷한 경험을 쓴 바 있지만 이번에는 조금 다른 느낌으로 다가온 일화를 소개하고 의미를 덧붙이려고 합니다. 작명에 대한 갈등이 발생할 때 두 개발자가 서로 다른 이름 체계로 각각 코드를

By 안영회
하이버네이트는 어떻게 자동 키 생성 전략을 결정하는가

하이버네이트는 어떻게 자동 키 생성 전략을 결정하는가

데이터베이스 테이블의 기본 키Primary key를 선정할 때 크게 2가지 선택지가 있는데 하나는 자연 키Natural key이고 또 하나는 대체 키Surrogate key이다. 자연 키는 전화번호, 이메일처럼 비즈니스적으로 의미 있는 키를 말하며, 대체 키는 비즈니스와 상관없이 임의로 만들어진 키를 말한다. JPAJava Persistence API는 데이터베이스 테이블 대체 키를 기본 키로 자동 생성하는 기능을 지원한다.

By 유 영모
개취인정이 주는 배움과 협업에 대한 힌트

개취인정이 주는 배움과 협업에 대한 힌트

일상 경험을 그대로 담은 글이다. 블로그를 오래 써온[1] 필자는 '이 순간 스치는 아이디어를 쓰고 싶다' 하는 식의 충동을 느낄 때가 있다. 마치 사진을 찍고 싶은 충동과 비슷할 수 있는데, 글로 남기고 싶을 뿐이다. 오늘도 평소와 다르지 않은 일상을 시작하는데, 소소한 경험이 글 쓰고 싶은 생각으로 이어졌다. 어떻게

By 안영회
VIM 스크립트 사용기

VIM 스크립트 사용기

'|' 기호를 이용해서 발생시간, 출발지, 목적지, 출발지포트, 목적지포트, 공격명, 원본로그 필드를 구분하는 로그가 있다. 자고로 로그는 테이블 구조에 우겨 넣어서 분석해야 제 맛. 그런데 원본로그 필드가 3개로 나눠졌네? 로그를 다시 보니 OR 연산자로 사용된 '||' 기호가 확인된다. 결과적으로 원본로그가 3개 필드로 쪼개짐. 옛날 생각이 난다 처음 로그를 필드별로

By 강 명훈
소프트웨어의 가치를 근로자의 노동 시간으로 측정할 것인가?

소프트웨어의 가치를 근로자의 노동 시간으로 측정할 것인가?

* 아직 소프트웨어를 모르는 대한민국 기업의 위기를 읽지 않으신 분은 이를 함께 읽어주세요. 얼마전 주 52시간 근로 제도 논쟁[1]이 있었습니다. 그 중에서 특별히 ICT 업종은 예외를 인정해준다는 정부의 방침이 기사화 되면서 페친들의 비난이 줄을 이었습니다. 사회생활 초기부터 늘 스스로 야근을 했던 제 입장에서는 근로 시간에 대한 규정은 관심 밖의

By 안영회
REST 기반의 간단한 분산 트랜잭션 구현 - 4편 REST Retry

REST 기반의 간단한 분산 트랜잭션 구현 - 4편 REST Retry

이 글은 읽기 전에 이전 글까지 모두 읽을 필요는 없습니다. 다만 맥락을 이해하기 위해서 1편은 미리 읽는 편이 좋습니다. * REST 기반의 간단한 분산 트랜잭션 구현 -1편 TCC 개관 * REST 기반의 간단한 분산 트랜잭션 구현 - 2편 TCC Cancel, Timeout * REST 기반의 간단한 분산 트랜잭션 구현 - 3편 TCC Confirm(Eventual Consistency) * REST

By 유 영모
스프링 부트 Auto-configuration과 JPA(하이버네이트) SQL문 로깅

스프링 부트 Auto-configuration과 JPA(하이버네이트) SQL문 로깅

JPA(하이버네이트)로 개발하다 보면 JPA가 자동으로 만들어 실행하는 SQL문을 확인하고 싶을 때가 있다. 이 글은 스프링 부트와 JPA를 함께 사용하는 환경에서 SQL문을 로깅Logging하는 방법을 소개한다. 예제 프로젝트 이해를 돕기 위해 간단한 스프링 부트 + JPA 예제 프로젝트를 만들고 SQL문 로깅을 추가해 보자. 예제 프로젝트는 스프링 부트에서 제공하는 부트스트랩Bootstrap 도구인 SPRING

By 유 영모
기술블로그 구독서비스 개발 후기 - 2부

기술블로그 구독서비스 개발 후기 - 2부

1부에서는 기술블로그 구독서비스(이하 서비스)를 왜 만들게 되었고 어떤구조로 만들가에 대해 이야기를 해보았다면, 이번 포스팅에서는 만들면서 만나게 된 각종 트러블슈팅 종합세트(?)를 하나씩 풀어보고자 한다.  물론 개발을 하면서 아무 문제 없이 잘 되면 당연히 좋겠으나 잘되도 이상한게 개발이라는 세계가 아니던가. 잘 안되면 문제, 잘 되도 문제 ㅠㅠ, 출처 : https:

By 권태관