Latest

Spring REST Docs API 문서를 자동화 해보자

Spring REST Docs API 문서를 자동화 해보자

코드는 GitHub에 공개 되어 있습니다. REST Docs 소개 Spring REST Docs는 테스트 코드 기반으로 RESTful 문서생성을 돕는 도구로 기본적으로 Asciidoctor를 사용하여 HTML를 생성합니다. Spring MVC 테스트 프레임워크로 생성된 snippet을 사용해서 snippet이 올바르지 않으면 생성된 테스트가 실패하여 정확성을 보장해줍니다. Rest Docs vs Swagger 우선 Rest Docs과 Swagger는 성격이 많이 다릅니다. Swagger는

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

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

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

By 안영회
(경) MySQL 전방탐색 지원 (축)

mysql

(경) MySQL 전방탐색 지원 (축)

MySQL은 POSIX 기반 정규표현식을 지원한다. 전방탐색 등의 고오급 기능을 지원하지 않는다는 얘기. 그래서 문제 발생. 다음은 SNORT DB에서 특정 탐지로그를 발생시킨 패킷 페이로드 조회 결과. 해당 로그를 텍스트로 옮기면 빈 줄 포함, 총 5개의 줄로 구성되어 있다. 줄바꿈 문자(0D0A)가 반영된 결과. 이게 왜 문제냐면 한 줄 단위가 아니기

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
"프로그래밍의 정석" 서평

"프로그래밍의 정석" 서평

서평 목적 이 글은 성장하는 프로그래머가 되고 싶은 사람들에게 추천하기 위해 쓴다. 그리고 높임말로 썼다가 내용이 너무 딱딱해지고 지루해져서 쓰기 쉬운 반말투로 다시 변경했다. 말투가 거슬린다면 이해 부탁 드린다. 책 간략 소개 "프로그래밍의 정석" [1]책은 부제가 프로그래머가 반드시 알아야 할 101가지 원리 원칙으로 좋은 프로그래머가 되기 위한

By 강 규진
스프링 부트 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 안영회