Blog
view all tagsIntroducing ksqlDB
What (formerly Kafka SQL, KSQL) is a streaming SQL engine for Kafka. It provides an SQL interface that allows developers to easily perform…
April 02, 202321 minsAWS에서 EC2로 API 서버 구축하기
API 서버를 구축하기 위해 사용할 수 있는 서비스는 아래와 같이 여러 서비스가 존재한다. Heroku GCP PythonAnywhere AWS (Amazon Web Service…
March 18, 20238 minsIntroducing Jaeger
1.What is Jaeger? 1.1 Distributed Tracing? In a distributed environment such as Microservices, it is not easy to identify the problems right…
March 07, 202311 mins하나의 구글 계정으로 여러 이메일 주소 사용하기
하나의 구글 이메일 계정으로 여러 이메일 주소를 사용할 수 있다는 걸 알고 계셨나요? AWS 계정은 12월간 무료로 사용할 수 있어 개인적으로 매년 AWS…
March 06, 20231 minsKafka CLI Collection
When using Kafka, it is much nicer to have some kind of UI interface and I believe many people use Ahkq UI including myself. But sometimes…
March 06, 202310 mins구글 시트에서 사용자 정의 함수 구현하기
투자 스터디를 하면서 주식 투자 매매일지를 구글 시트로 작성하고 있는데 Google Apps Script를 유용하게 사용하게 되어 간단하게 정리합니다. Google Finance 함수란? Apps Script에 언급하기 전에 먼저 Google…
March 05, 20232 minsM1 맥북에서 Memongo 실행하기
M1 맥북 + + 조합으로 개발하고 있다면 아래와 같은 오류 메시지를 보게 되고 어떻게 해결하면 되는지 검색하게 된다. 팀에 새로운 분들이 올 때마다 설정하는 방법을 까먹게 되어 다시 정리해둔다. Memongo does not support…on…
February 25, 20233 minsMongo Script Collection 모음
개발 시 mongoDB를 주 데이터베이스로 사용하면 데이터 마이그레이션을 자주 하게 되는데, MYSQL보다는 덜 익숙한 면도 있어서 종종 하게 되는 migration…
February 25, 20231 minsjq - 명령어 JSON 처리기 사용법
는 자주 사용하지는 않지만, 필요할 때는 용이하게 사용하는 경우가 종종 있어서 기록상 블로그에 남겨둡니다. jq 사용법 모음 1. jq로 array에서 특정 필드로 매칭되는 필드 값을 추출하려면? 아래와 같은 json array…
January 27, 20231 minsksqlDB 소개
What ksqlDB (formerly Kafka SQL, KSQL)는 Kafka를 위한 스트리밍 SQL 엔진이다. SQL 인터페이스를 제공하고 있어 익숙한 SQL 구문으로 개발자들이 쉽게 Kafka…
October 28, 202220 minsKafka Connect에 대한 소개
1. Kafka Connect 소개 Kafka Connect를 사용하려고 고려하고 있다면 Kafka에 대해서는 이미 잘 알고 찾아봤을 거라고 생각해서 Kafka는 간단하게 언급만 하고 바로 Kafka Connect…
August 27, 20229 minsKafka CLI 명령어 모음
Kafka 사용시 Ahkq UI를 대부분 사용하고 있지만, Trouble-shooting이나 스크립트 작성을 하는 경우에는 Kafka CLI를 사용하는 경우도 종종있다. 자주 사용하는 Kafka CLI 명령어를 정리합니다. 로컬환경에서 Kafka…
August 14, 20229 mins로컬환경에서 Kafka 실행하기 (with AKHQ)
로컬환경에서 Kafka를 실행하는 방법에 대해서 알아보자. 개인 맥북이 M1이라서 M1 기준으로 실행방법에 대해서 기술합니다. 1.실행 조건 명령어를 이용해서 Kafka…
August 07, 20222 minsGo Recover 함수에서 반환값을 반환하는 예제
Validation API 함수를 개발하는 과정에서 복잡한 expression을 evaluation 하는 과정에서 잘못된 표현식의 경우에는 panic이 발생하는 경우가 있었다. panic…
August 07, 20223 minsMongodb 원격 서버에 있는 Collection을 로컬환경 서버로 복사하기
개발 시 원격에 있는 데이터를 로컬환경에 그대로 복사해서 테스트할 필요가 종종 생긴다. 그전 포스팅에서는 같은 서버에서 collection을 cloning 하는 방법에 대해서 알아보았다면, 이번에는 원격에서 로컬환경으로 cloning…
July 24, 20222 minsJaeger에 대한 소개
본 내용은 저희 Platform Engineering 팀내 CNCF…
July 22, 202210 minsMongodb Collection Cloning하는 방법
종종 기존의 데이터를 수정하지 않고 테스트를 위해서 기존 collection을 clone을 해서 테스트해보고 싶을 때가 있다. MongoDB 스크립트로 쉽게 clone 하는 방법에 대해서 알아보자 clone 테스트를 위해서 inventory…
July 16, 20221 mins도커라이즈 파이썬 어플리케이션 (Dockernize Python Application)
1.Dockernize Python Application…
June 05, 20224 minsArgo Projects
Argo Projects? Argo Project란 쿠버네티스 환경에서 application이나 job을 실행하거나 배포를 도와주는 일련의 쿠버네티스 도구 집합이다. 모든 Argo 프로그램은 와 사용자 쿠버네티스 클러스터로 구현되어 있다. 현재…
March 04, 20222 minsArgo CD
Argo Projects 그전 발표내용은 여기를 참고해주세요. Argo CD? What? Argo CD는 GitOps 기반의 CD 도구이고 다음과 같은 여러 기능을 제공하고 있다 Feature 타겟 환경(Git…
March 04, 20229 minskcat 사용방법
은 아파치 카프카를 쉽게 테스트하고 디버깅하는데 유용하게 사용할 수 있는 도구이다. 명령어를 통해서 메시지를 보내고 받거나 메타데이터 목록을 확인할 수 있다. 기본적인 사용방법에 대해서 알아보자. 카프카 설치는 로컬환경에서 Kafka…
July 20, 20216 mins라즈베리파이에 도커 설치하기
라즈베리파이에 도커 설치하는 방법에 대해서 알아보겠습니다. 사전 조건 라즈베리파이에 Raspbian OS 설치 참고 : 모니터없이 Raspberry Pi 4 OS 설치 SSH…
July 18, 20211 mins헬름으로 Kafka 설치하기
1.들어가며 로컬환경에서 헬름으로 Kafka를 설치하는 방법에 대해서 알아보겠습니다. 2.Kafka 설치 2.1 Helm repo 추가 및 helm으로 설치 Helm Repository에 Bitnami가 없은 경우 아래 명령어로 repository…
July 18, 20213 minsGo Test Suite (Lifecycle 메서드)
Golang에서는 testify library에서 제공하는 여러 기능 (ex. assertion, mocking, suite)를 통해서 쉽게 unit test를 작성할 수 있다. 특정 config 설정에 따라 전체 테스트를 skip…
July 17, 20213 mins모니터 없이 Raspberry Pi 4 OS 설치
1. 들어가며 회사에서 좋은 동료로부터 라즈베리파이4를 선물로 얻게 되어 당분간 나의 개인 Toy로 사용할 수 있을 듯하다. 조금 더 적극적으로 사용하기 위해 개인적으로 운용하고 있는 명언 서비스를 AWS…
June 19, 20215 minsGo에서의 다형성 (Polymorphism)
다형성 (Polymorphism…
June 06, 20212 minsGo Strings (문자열 함수)
문자열 함수 Golang에서 표준 라이브러리중에 패키지에서 많이 유용하게 사용할 수 있는 문자열 함수들을 제공한다. 여러 예제를 통해서 문자열를 다루어보자. 1. Search (Contains, Prefix/Suffix, Index)…
May 28, 20212 minsGo Ternary Operator (삼항연산자)
삼항연산자란? 삼항 연산자 (Ternary Operator)는 아래 형식으로 if 조건문 대신 사용할 수 있는 문법이다. JavaScript, Java와 같은 여러 언어에서 지원하는 문법이고 아래 코드는 자바의 삼항 연산자이다. Golang…
May 18, 20211 minsGo에서 컬렉션 정렬하는 방법 (Go Sort)
1. 들어가며 Go에서는 여러 컬렉션 타입에 대해서 어떻게 정렬할 수 있는지에 대해서 알아보자. Primitive 데이터 타입 정렬하기 Custom comparator로 정렬하기 Sort interface로 정렬하기 Map에서 특정 key/value…
May 09, 20213 minsGo에서 삼 도트 (dot) 사용방법 (Three Dots Usage)
1. 들어가며 Go에서 삼 도트(dot) 사용법에 대해서 알아보자. Go에서는 아래 4가지 방법으로 사용된다. 함수의 인자에 가변 인자로 선언하는 경우 가변 인자를 인자로 받는 함수에 slice…
May 08, 20212 minsGo에서의 메서드 (Method in Go)
Go에서는 함수외에도 메서드를 제공한다. 메서드는 리시버 인자(Receiver Parameter)를 가진 함수를 말한다. 기능적으로 보면 일반 함수와 별 차이가 없고 아래 문법과 같이 func…
February 19, 20214 mins타입 단언 (Type Assertion)
Go는 타입 단언(Type assertion…
January 16, 20214 mins타입 변환 (Type Conversion)
타입 변환은 데이터 타입을 변경하는 것이다. Java에서는 명시적 타입 변환(explicit type conversion)과 암시적 타입 변환(implicit type conversion) 둘 다 지원하지만, Go…
January 16, 20211 mins타입 스위치 (Type switch)
티입 스위치는 형 단언을 실행하여 해당 변수의 타입이 스위치 문의 조건에 일치하는 블럭을 실행한다. 타입 스위치 선언문은 형 단언 와 같은 구문을 가진다. 그러나 T…
January 16, 20211 minsGo에서의 게터, 세터 메서드 (Getter, Setter in Go)
캡슐화는 내부 속성값을 외부에서 직접적으로 접근하게 못 하게 하고 공개된 메서드 (ex. getter, setter)로만 접근하여 내부 값을 보호하는 역할을 한다. 즉, 내부 구현을 감추고 데이터 체크를 통해서 유효한 값만 저장하게 한다. Go…
January 14, 20212 minsGit Reset으로 커밋된 내용 다시 되돌리기 (using GitKraken)
1.Git Reset Git으로 작업하다 보면 커밋된 이력을 다시 되돌려야 할 때가 종종 발생한다. Git Reset에서는 아래와 같이 3가지 옵션을 제공한다. 각 옵션의 차이점에 대해서 알아보자. 1.1 Git Reset…
January 04, 20215 minsGo에서의 로그깅 (Logging in Go)
1. 들어가며 Go 표준 패키지 중에 log에서 로깅에 필요한 기본 메서드를 제공한다. 표준 출력 stdout, stderr외에 파일로 로그를 저장하는 방법, 그리고 로그 포맷 변경해서 출력하는 방법 등에 대해서 알아보자. 추가 설치 없이 log…
January 02, 20215 minsGo에서의 열거형 상수 (Enums in Go)
1. 들어가며 Go에서는 Java에서 제공하는 Enums 타입은 존재하지 않는다. 하지만, Go에서도 를 이용해서 Enums과 같은 상수값을 쉽게 선언하여 사용할 수 있다. 키워드는 선언에서 사용할 수 있는 로 연속적인 정수 상수 0, 1,…
December 20, 20204 minsMaven + JaCoCo + Coveralls + Travis CI : 자바 프로젝트 Coverage 생성하는 방법
1. 들어가며 Maven + Java 프로젝트의 코드 커버리지를 확인할 수 있는 방법에 대해서 알아보자. 전체적인 작업 흐름은 JaCoCo로 자바 커버리지를 생성하고 Coveralls 사이트로 업로드하여 결과를 확인할 것이다. JaCoCo…
December 12, 20203 mins자바8 스트림 사용해서 max, min 값 찾기
1. 들어가며 자바8의 스트림 API를 사용해서 List나 배열에서 max, min 값을 찾는 방법에 대해서 알아보자. 2. 스트림을 사용하여 max 값 찾기 2.1 숫자 List에서 Max 값 찾기 : 숫자 List에서 max…
October 25, 20203 minsTravis CI에서 Slack 연동해서 빌드 notification 받기
들어가며 Travis CI로 빌드 이후 notification을 Slack으로 받는 방법에 대해서 알아보자. Github 소스를 Travis CI…
October 22, 20203 minsSSL 인증서 Ngnix 서버에 설치하기 (무료 Lets Encrypt 인증서 발급)
1. 들어가며 웹사이트를 HTTPS로 설정하는 방법에 대해서 알아보자. HTTP -> HTTPS로 적용하려면 아래 절차가 필요하다. SSL 인증서 발급 받기 letsencrypt에서 SSL 인증서를 무료로 받을 수 있다 서버에 SSL…
October 01, 20205 mins자바 자료구조 - Priority Queue (우선순위 큐)
1.Priority Queue (우선순위 큐)란? 자바에서 제공하는 여러 자료구조 중에 에 대해서 알아보자. 우리가 잘 알고 있는 자료구조와 같이 (First-In-First-Out) 알고리즘으로 동작하지만, 추가로 우선순위가 있는 (Best…
September 20, 20203 mins자주 접하는 게 되는 Http Status Code
API 개발 시 접하게 되는 HTTP 상태 코드를 정리해보았다. 이외에도 더 많겠지만, 한 번쯤 들어보고 접한 응답 코드들이다. HTTP 상태 값에 따라 고양이 이미지를 보여주는 사이트도 존재한다. 이 개발자는 고양이를 무척 좋아하나보다. HTTP…
September 12, 20202 mins파이썬 딕셔너리 리스트에서 특정 키 값으로 정렬하기
1. 들어가며 파이썬에서 딕셔너리 리스트에서 특정 키 값(ex. age)에 따라서 정렬하는 방법에 대해서 알아보자. 리스트 정렬를 위해 파이썬에서 기본적으로 와 함수를 제공한다. 리스트를 직접 수정하여 방식으로 정렬한다 list…
September 03, 20203 mins파이썬에서 람다 함수 익숙해지기
1. 람다란? 파이쎤에서도 이름 없는 함수인 람다 표현식을 지원한다. syntax는 아래와 같다. 파이썬에서는 bracket (ex. { })을 지원하지 않아 single line으로만 작성해야 한다. 람다에서 multi-line…
August 30, 20202 minsCustom Handler Method ArgumentResolver 만들어보기
1.HandlerMethodArgumentResolver란? 1.1 들어가면 에 대해서 알아보자. 아래와 같이 컨트롤러 메서드에 여러 인자 값(ex…
July 20, 20206 minsGit 브랜치 여러 개 한번에 삭제하기
Git local, remote 브랜치를 한번에 삭제하는 방법에 대해서 알아보자. 1. 다중 Local 브랜치 삭제하기 1.1 삭제하려는 브랜치 목록보기 명령어로 삭제하려는 브랜치 목록을 확인한다. 1.…
July 11, 20202 mins자바8 Stream API 사용해서 List of Object 생성하기
자바8에 도입된 스트림 API에 조금 더 익숙해지기 위해 loop으로 자주 사용하던 코딩을 스트림 API로 변환해보자. 1. Loop 사용해서 객체 리스트 생성하기 - 자바8 이전 자바8 전 버전에서는 아래와 같은 방식으로 for loop…
June 29, 20201 mins스프링부트 기본 에러 페이지 변경하기 - Customize Whitelabel Error Page
1. 들어가며 존재하지 않는 API를 접속하게 되면 아래와 같은 Whitelabel Error Page를 자주 접하게 됩니다. 별도 설정을 하지 않았다면 스프링부트에서는 기본적으로 Whitelabel Error Page…
June 03, 20205 mins자바8 스트림 사용해서 List -> Map 형태로 변환하는 방법
1. 들어가며 객체 를 형태로 변환할 때 아래와 같이 loop을 돌면서 에 내용을 채운다. 자바8에 도입된 스트림을 사용해서 -> Map으로 어떻게 변환하는지 알아보자. 2. List -> Map 변환 2.1 자바8에서 스트림 사용하여 List…
April 20, 20203 mins자바 Comparable과 Comparator의 차이점
자바에서 객체 정렬 시 사용되는 Comparator와 Comparable 인터페이스 간의 차이점을 알아보겠습니다. 예제로 작성한 코드는 github java-compare 모듈을 참고해주세요. Comparable vs. Comparator…
April 15, 20205 minsnGrinder 사용법에 대해서 알아보자
1. 들어가며 nGrinder는 스트레스 테스트 도구로 Grinder 오픈소스 기반으로 작성되었고 네이버에 의해서 개발되었다. nGrinder 설치에서부터 API 테스트까지 알아보자. 1.1 nGrinder 구성요소 구성 설명 controller…
March 22, 20203 mins자바8 HashMap 보다 간결하고 효과적으로 작성하기
자바8부터 에 여러 메서드들이 추가되었고 이런 메서드를 사용해서 을 조금 더 간결하면서 효율적으로 사용하는 방법에 대해서 알아보겠습니다. 작성된 코드는 java8-hashmap을 참고해주세요. 1. putIfAbsent() vs…
March 01, 20205 mins[JPA-4] JPA 일대일(1:1) @One-To-One 연관관계
1. 들어가며 이번 포스팅에서는 일대일 (1:1) 매핑에 대해서 알아보겠습니다. 2. 개발 환경 포스팅에서 작성한 코드는 깃허브에 올라가 있어요. OS : Mac OS IDE: Intellij Java : JDK 1.8 Source code…
December 27, 20196 mins[JPA-3] JPA N+1 문제 및 해결방법
1. 들어가며 JPA로 작업하다 보면 N+1 문제에 맞닥뜨리게 되는데요. N+1은 언제 발생할 수 있는 이슈이고 이를 해결하기 위해서 어떤 방법들이 있는지 알아보겠습니다. 2. 개발 환경 포스팅에서 언급한 코드는 github…
December 10, 201912 mins(Docker-1) Docker 도커 명령어 모음
1. 들어가며 도커를 다루는 데 있어서 크게…
December 08, 201913 mins[JPA-2] JPA 다대일(N:1)+일대다(1:N) @ManyToOne, @OneToMany 연관관계
1. 들어가며 JPA 연관관계 매핑에 대한 내용은 JPA 연관관계 매핑 정리 포스팅을 참고해주세요. 이번 포스팅에서는 JPA에서 가장 자주 사용하는 다대일(N:1)과 그 반대 방향인 일대다(1:N) 연관관계에 대해서 알아보겠습니다. Post…
December 06, 201914 mins[JPA-1] JPA 연관관계 매핑 정리
1. 들어가며 엔티티는 다른 엔티티의 참조(변수)를 가지면서 관계를 서로 맺게 됩니다. 블로그에서 해당 포스트에 댓글을 다는 경우를 예를 들면, 댓글(Comment) 엔티티는 포스트 (Post…
December 04, 20192 minsQ&A Spring Boot 관련 질문 모음
개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. application.properties : server…
December 04, 20193 minsH2 데이터베이스 사용법 및 Intellij에서 Database 연동하기
1. 들어가며 H…
November 20, 20196 mins추가된 LOG를 JUnit에서 확인하는 방법
1. 들어가며 Unit Test를 작성할 때 메서드의 결과를 기본적으로 확인하여 로직을 검증합니다. void…
November 18, 20192 minsQ&A JPA 관련 질문 모음
개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. @EntityListeners 이란? 엔티티를 DB…
October 21, 20195 mins[Quartz-3] Multi WAS 환경을 위한 Cluster 환경의 Quartz Job Scheduler 구현
1. 들어가며 Quartz에서는 메모리 기반의 스케줄러뿐만이 아니라 DB 기반의 스케줄러도 지원합니다. DB 기반의 스케줄러의 경우에는 스케줄러 정보를 메모리가 아닌 DB에 저장하기 때문에 다중 서버 간의 스케줄링이 가능합니다. Quartz…
October 13, 20199 minsJackson에서 Infinite Recursion 이슈 해결방법
1. 들어가며 Jackson에서 양방향 관계 (Bidirectional Relationship…
October 12, 20196 mins[Quartz-4] Quartz에서 실행중인 Job을 Interrupt하여 Job Scheduler를 정상종료 시키는 방법
1. 들어가며 본 포스팅은 Quartz 튜터리얼에서 4번째 시리즈로 Quartz 서버를 셧다운 시킬 때 gradefully하게 처리하는 방법에 대해서 다룹니다. 셧다운 이벤트가 발생하면 실행 중인 Quartz Job에 내부 interrupt…
October 12, 20194 mins[Quartz-2] Spring Boot + Quartz을 이용한 Job Scheduler 구현 (In-memory)
1. 들어가며 이 포스팅은 Quartz 튜터리얼 시리즈에 한 부분으로 첫 번째의 포스팅 Quartz Job Scheduler란? 에 이어 2부 내용으로 Spring Boot 기반의 RAMJobStore을 이용한 Quartz…
September 09, 20198 mins[Quartz-1] Quartz Job Scheduler란?
1. 들어가며 Quartz Job Scheduler에 대한 내용은 여러 시리즈 형식으로 작성을 하였습니다. Quartz에 대한 간단한 설명을 시작으로 스프링 부트 기반에서의 Quartz Job Scheduler…
September 07, 201912 minsGit Rebase로 병합하기
1. 들어가며 Git Rebase 하는 방법에 대해서 알아보겠습니다. Merge와 다르게 Rebase는 한 브랜치에 커밋된 여러 commit…
August 11, 20196 minsQ&A : Git 관련 질문 모음
개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 미 답변 질문 - 답변완료 1. WIP란? Work In Progress…
July 03, 20191 minsQ&A Spring Boot Annotation 모음
개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A…
July 03, 20191 minsQ&A Spring JPA Annotation 모음
개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 쉽게 찾기 위해서 알파벳 순으로 정리합니다. @EntityScan…
July 03, 20192 mins스프링 RestTemplate
1. 들어가며 스프링 프레임워크에서는 REST 서비스의 Endpoint를 호출할 수 있도록 크게 2가지 방식인 동기, 비동기 REST Client을 제 공합니다. 이번 포스팅에서는 동기방식인 RestTemplate…
May 06, 201917 minsNode.js 모듈 NPM 저장소에 배포하기
1. 들어가며 이번 포스팅에서는 Node.js 모듈을 NPM 저장소에 배포하는 방법에 대해서 알아보겠습니다. NPM은 Node Package Modules 약자로 Node.js 모듈 관리해주는 패키지 관리자입니다. NPM의 명령어로 쉽게 Node.js…
March 24, 20194 minsQ&A Lombok 관련 질문 모음
개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. @AllArgsConstructor…
March 23, 20191 minsQ&A Java 관련 질문 모음
개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 미 답변 질문 - java8 에서 mapToInt(ToIntFunction…
March 21, 20194 mins맥환경에서 countdown shell script으로 집중력 강화하기
1. 들어가며 스터디나 블로그 작성을 시작하려고 노트북을 켜면 바로 스터디나 블로그 작성보다는 먼저 가는 곳이 인터넷 뉴스나 유튜브 동영상을 먼저 보게 됩니다. 그리고 3…
February 26, 20192 mins관계형 데이터베이스에서 조인(join)이란?
1.JOIN…
February 06, 201910 mins관계형 데이터베이스 설계 및 구축
…
February 06, 201911 minsJava Jayway JsonPath 사용법
1. 들어가며 Jayway JsonPath는 Stefan Goessner의 JsonPath 구현을 자바로 포팅한 라이브러리입니다. XML의 가장 큰 장점은 XPath(XML Path Language)로 XML…
January 19, 20197 mins자바 keystore에 SSL 인증서 import 하기
1. 들어가며 회사에서 Zencoder API 을 사용하게 되어 자바에서 작업을 시작하려는데, 아래와 같이 SSLHandshakeException…
January 09, 20195 mins스프링 파일 업로드 처리
…
January 02, 201911 minsSimple Spring Memcached(SSM)란
1. 들어가며 In-memory DB로 Memcached를 사용하면 자바에서는 simple-spring-memcached (SSM) 라이브러리를 자주 사용됩니다. SSM…
January 01, 201916 minsLombok 기본 사용법 익히기
1. 들어가며 Lombok는 자바에서 작성해야 하는 boilerplate code(ex. getter/setter, constructor, toString…
December 16, 20188 mins데이터베이스의 키 종류
1. 데이터베이스의 키 종류 이번 포스팅에서는 데이터베이스의 여러 키 종류를 정리해보겠습니다. 키 종류에 대한 설명을 위해 아래 샘플 데이터를 사용하겠습니다. 샘플 데이터는 자동으로 생성해주는 dummy data 사이트에서 얻어왔습니다. 1.…
November 25, 20182 mins자바 커스텀 어노테이션 만들기
1. 어노테이션이란 스프링 프레임워크를 사용하면 어노테이션을 자주 사용하게 됩니다. 아래는 스프링 웹 MVC를 사용한 예로 GET HTTP 요청(/helloworld)이 있으면 “Hello World…
November 18, 20187 mins맥 환경에서 여러 JDK 버전 설치하고 변경하기
자바 개발을 하다 보면 하나의 JDK 버전이 아니라 여러 버전을 설치해야 할 때가 종종 있습니다. 진행하는 프로젝트마다 개발하는 JDK…
November 11, 20181 mins파이썬 : 커맨트 라인에서 명령어 옵션들 argparse 모듈를 이용해서 쉽게 파싱하기
1. argparse 모듈이란? 셀이나 리눅스 명령어를 실행할 때 많은 옵션이 존재합니다. 아래는 pip 명령어(파이썬 패키지 관리자)의 옵션 목록입니다. Flag 형태의 옵션(ex. —no-color)이나 입력값을 받을 수 있는 옵션(ex. —log…
November 04, 20184 minsAlgorithm 정수값에서 1이 설정된 bit를 카운트하기
1. Problem 정수값에서 1인 비트를 카운트하는 문제입니다. 1.1 입력 / 결과 7 : 111 —> 3 23 : 10111 —> 4 13 : 1101 —> 3 2. Solution 2.1 Approach…
October 28, 20182 mins자바 Garbage Collection이란
1. 가비지 컬랙션이란? C/C++ 언어와 달리 자바는 개발자가 명시적으로 객체를 해제할 필요가 없습니다. 자바 언어의 큰 장점이기도 합니다. 사용하지 않는 객체는 메모리에서 삭제하는 작업을 Gargabe Collection(GC)라고 부르며 JVM…
October 17, 20189 mins새로운 기능 및 개선 사항 목록 - 자바10에서의 변화
자바10 언어 JEP 286: Local Variable Type Inference JVM/Compiler JEP 304: Garbage-Collector Interface JEP 307: Parallel Full GC for G1 JEP 31…
September 11, 20184 mins자바에서 final에 대한 이해
1. 개요 위와 같이 final 키워드를 떠올릴 때면 그냥 상수로만 생각할 때가 종종 있습니다. final…
September 11, 20184 mins새로운 기능 및 개선 사항 목록 - 자바Beyond에서의 변화
자바Beyond JEP 301: Enhanced Enums - 현재 보류중 JEP 302: Lambda Leftovers - Candidate JEP 305: Pattern Matching - Candidate JEP ???: Data Classes…
September 10, 20185 mins새로운 기능 및 개선 사항 목록 - 자바11에서의 변화
자바11 JEP 181: Nest-Based Access Control JEP 309: Dynamic Class-File Constants JEP 315: Improve Aarch64 Intrinsics JEP 318: Epsilon: A No-Op…
September 09, 20182 mins새로운 기능 및 개선 사항 목록 - 자바9에서의 변화
자바9 Java Platform Module System JEP 222: Jshell - REPL JEP 158: Unified VM logging JVM component에 대한 공통 로깅 시스템 제공 (-Xlog) HTML5 Javadoc HTML…
September 03, 20182 mins새로운 기능 및 개선 사항 목록 - 자바8에서의 변화
자바8 언어 람다식 표현 스트림 Method Reference Default Method Type inferece 개선 Optional 새 자바스크립트 엔진 (Nashorn) JDK11에서 제거될 예정 Joda Time 방식의 새 날짜 API…
September 02, 20181 mins전후처리를 위한 자바 메서드 래퍼 메서드 생성하기 - pre and post processing for java wrapper method
1.개요 코딩을 하다 보면 어떤 작업을 하기 전에 전후 처리가 필요할 때가 종종 생깁니다. 전처리(pre-processing)에서는 실제 작업을 수행하기 전에 필요한 세팅을 하고 후처리(post-processing)에서는 cleanup…
August 26, 20184 minsHeroku에 Node.js+MongoDB App 배포하기
1. Heroku란 헤로쿠(Heroku)는 PaaS(Platform as a Service)형태의 클라우드 서비스입니다. 헤로쿠는 터미널이나 웹에서 필요한 여러 티어(ex. DB)를 쉽게 생성하고 연동시킬 수 있습니다. 최초 버전에서는 Ruby…
August 21, 20189 mins자바에서 클래스의 상속 구조에서 메서드 체이닝 해보기 - Method Chaining with Inheritance
1. 메서드 체이닝이란 메서드 체이닝이란 여러 메서드 호출을 연결해 하나의 실행문으로 표현하는 문법 형태를 말합니다. (위키피디아 참고 #4.1) 메서드 체이닝의 매직은 간단합니다. 체이닝으로 연결하고 싶은 메서드의 반환 값으로 this…
August 19, 20184 mins웹 스크래핑하면서 차단 방지하는 방법
…
August 13, 20186 mins파이썬으로 웹 스크래핑하는 방법 - Web scraping
1. 소개 웹 정보 바다라고 할 만큼 엄청난 양의 데이터를 가지고 있습니다. 트위터, 페이스북과 같은 사이트에서는 정규화된 JSON 형태의 데이터를 API로 제공해서 쉽게 원하는 데이터에 접근할 수 있습니다. 하지만, API…
August 05, 20185 minsAlgorithm 괄호 기호가 Valid한지 체크하기
1. Problem 괄호 기호가 OPEN, CLOSE 매칭이 제대로 되도록 확인하는 코드 문제입니다. 1.1 입력 / 결과 입력 가능한 String 값은 아래와 같습니다. ()()() —> true )( —> false…
July 29, 20181 minsAlgorithm 2개의 array에서 common value 찾기
1. Problem 2개의 array에서 common value값을 찾아 결과를 반환하는 문제입니다. 메서드 정의는 아래와 같이 2개의 array를 받고 결과를 Set으로 반환합니다. 1.…
July 29, 20182 minsQ&A MySql 관련 질문 모음
개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. 테이블 생성시 InnoDB를 왜 설정해야 하나? MySQL…
July 29, 20188 minsQ&A Mybatis 관련 질문 모음
개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. _long 타입은 뭔가? _long : long…
July 29, 20184 minsJUnit Rules이란
1. 들어가며 JUnit Rules은 테스트 케이스를 실행하기 전후에 추가 코드를 실행할 수 있도록 도와줍니다. @Before와 @After로 선언된 메서드에서도 실행 전후처리로 코드를 넣을 수 있지만, JUnitRules…
July 29, 201810 minsQ&A Cache-SSM 관련 질문 모음
개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. @CacheKeyMethod 란? SSM…
July 29, 20181 minsQ&A JsonPath 관련 질문 모음
개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. com.jayway.jsonpath…
July 29, 20181 minsQ&A Maven 관련 질문 모음
개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. maven으로 특정 클래스의 메서드 unit test…
July 29, 20182 minsQ&A 개발관련 질문 모음
…
July 29, 20183 mins아마존 S3 Bucket API 사용법
1. 들어가며 기업에서도 그렇고 이제 아마존 서비스를 쓰지 않은 곳이 없을 정도로 회사마다 아마존의 서비스를 많이 사용하고 있습니다. 최근에 이직을 한 곳에서도 S3 (Simple Storage Service) 스토리지 서비스를 이용하고 있어 S…
July 29, 20187 mins[자바8-1] 자바8 Optional이란
1. Optional이란 Optional은 null을 대신하기 위해 만들어진 새로운 코어 라이브러리 데이터 타입입니다. Optional 클래스는 null이나 null이 아닌 값을 담을 수 있는 클래스입니다. 이미 다른 언어(ex. Scala…
July 29, 201810 minsGitbook으로 전자책 만들어보기
1. 개요 요즘은 콘텐츠 시대라고 해도 과언이 아닙니다. 특정 방송 회사가 콘텐츠를 만들기보다 개인이 직접 좋은 콘텐츠를 만들어 유튜브와 같은 플랫폼에서 퍼블리쉬하는 시대로 바뀌었습니다. 리디북스 와 같은 eBook…
July 29, 20184 minsQ&A Jackson 관련 질문 모음
개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. @JsonInclude(Include.NON_NULL…
March 25, 20184 minsQ&A JavaScript 관련 질문 모음
개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. 이건 뭔가? ES…
March 23, 20183 mins여러 페이지 있는 PDF 파일 PNG로 변환하기
여러 페이지가 있는 PDF를 이미지 파일로 변환해야 하는 경우가 있는데, 바로 기억을 못해서 기록상 블로그에 남깁니다. 명령어로 여러 페이지가 있는 PDF를 png 파일로 변환했다. 옵션은 man page에서 참고 가능한다. 참고 https…
Invalid date2 mins