Frank's Blog
  • Blog
  • About
  • Contact

Blog

view all tags
  • golanggorecoverreturnpanic

    Go Recover 함수에서 반환값을 반환하는 예제

    Validation API 함수를 개발하는 과정에서 복잡한 expression을 evaluation 하는 과정에서 잘못된 표현식의 경우에는 panic이 발생하는 경우가 있었다. panic…

    August 07, 20222 mins
  • kafkadockerlocalakhq로컬환경카프카

    로컬환경에서 Kafka 실행하기 (with AKHQ)

    로컬환경에서 Kafka를 실행하는 방법에 대해서 알아보자. 개인 맥북이 M1이라서 M1 기준으로 실행방법에 대해서 기술합니다. 1.실행 조건 명령어를 이용해서 Kafka…

    August 07, 20222 mins
  • mongoclonebackupdumpimport

    Mongodb 원격 서버에 있는 Collection을 로컬환경 서버로 복사하기

    개발 시 원격에 있는 데이터를 로컬환경에 그대로 복사해서 테스트할 필요가 종종 생긴다. 그전 포스팅에서는 같은 서버에서 collection을 cloning 하는 방법에 대해서 알아보았다면, 이번에는 원격에서 로컬환경으로 cloning…

    July 24, 20222 mins
  • jaegertelemetrytracemonitormsa분산추적

    Jaeger에 대한 소개

    본 내용은 저희 Platform Engineering 팀내 CNCF…

    July 22, 202210 mins
  • mongomongodbclonecollectionscript몽고

    Mongodb Collection Cloning하는 방법

    종종 기존의 데이터를 수정하지 않고 테스트를 위해서 기존 collection을 clone을 해서 테스트해보고 싶을 때가 있다. MongoDB 스크립트로 쉽게 clone 하는 방법에 대해서 알아보자 clone 테스트를 위해서 inventory…

    July 16, 20221 mins
  • pythondockerdockernize도커파이썬도커라이즈

    도커라이즈 파이썬 어플리케이션 (Dockernize Python Application)

    1.Dockernize Python Application…

    June 05, 20224 mins
  • argoargocdeventsworkflowcloud

    Argo Projects

    본 내용은 저희 Platform Engineering 팀내 CNCF…

    March 04, 20222 mins
  • argoargocdeventsworkflowdevops

    Argo CD

    본 내용은 저희 Platform Engineering 팀내 CNCF…

    March 04, 20229 mins
  • kafkakafkacat카프카브로커메시지아파치

    kafkacat 사용방법 (메시지 보내고 받기 테스트)

    은 아파치 카프카를 쉽게 테스트하고 디버깅하는데 유용하게 사용할 수 있는 도구이다. 명령어를 통해서 메시지를 보내고 받거나 메타데이터 목록을 확인할 수 있다. 기본적인 사용방밥에 대해서 알아보자. 카프카 설치는 헬름으로 Kafka…

    July 20, 20216 mins
  • raspberrydockerinstall도커라즈베리파이설치

    라즈베리파이에 도커 설치하기

    라즈베리파이에 도커 설치하는 방법에 대해서 알아보겠습니다. 사전 조건 라즈베리파이에 Raspbian OS 설치 참고 : 모니터없이 Raspberry Pi 4 OS 설치 SSH…

    July 18, 20211 mins
  • kafkakubernetesdockerhelmbitnami카프카쿠버네티스헬름차트

    헬름으로 Kafka 설치하기

    1.들어가며 로컬환경에서 헬름으로 Kafka를 설치하는 방법에 대해서 알아보겠습니다. 2.Kafka 설치 2.1 Helm repo 추가 및 helm으로 설치 Helm Repository에 Bitnami가 없은 경우 아래 명령어로 repository…

    July 18, 20213 mins
  • golangtestsuitetestifybeforeafter

    Go Test Suite (Lifecycle 메서드)

    Golang에서는 testify library에서 제공하는 여러 기능 (ex. assertion, mocking, suite)를 통해서 쉽게 unit test를 작성할 수 있다. 특정 config 설정에 따라 전체 테스트를 skip…

    July 17, 20213 mins
  • linuxpiosinstallmonitorraspbian라즈베리파이라즈비안운용체제리눅스설치모니터

    모니터 없이 Raspberry Pi 4 OS 설치

    1. 들어가며 회사에서 좋은 동료로부터 라즈베리파이4를 선물로 얻게 되어 당분간 나의 개인 Toy로 사용할 수 있을 듯하다. 조금 더 적극적으로 사용하기 위해 개인적으로 운용하고 있는 명언 서비스를 AWS…

    June 19, 20215 mins
  • gogolangducktypingduck typepolymorphism다형성고랭덕타입고언어

    Go에서의 다형성 (Polymorphism)

    다형성 (Polymorphism…

    June 06, 20212 mins
  • golangstringreplacesplitjoinrepeat스트링문자열고랭

    Go Strings (문자열 함수)

    문자열 함수 Golang에서 표준 라이브러리중에 패키지에서 많이 유용하게 사용할 수 있는 문자열 함수들을 제공한다. 여러 예제를 통해서 문자열를 다루어보자. 1. Search (Contains, Prefix/Suffix, Index)…

    May 28, 20212 mins
  • gogolangternaryoperator고랭연산자삼항삼항연산자3항연산자

    Go Ternary Operator (삼항연산자)

    삼항연산자란? 삼항 연산자 (Ternary Operator)는 아래 형식으로 if 조건문 대신 사용할 수 있는 문법이다. JavaScript, Java와 같은 여러 언어에서 지원하는 문법이고 아래 코드는 자바의 삼항 연산자이다. Golang…

    May 18, 20211 mins
  • gogolangcomparatorsort고랭정렬

    Go에서 컬렉션 정렬하는 방법 (Go Sort)

    1. 들어가며 Go에서는 여러 컬렉션 타입에 대해서 어떻게 정렬할 수 있는지에 대해서 알아보자. Primitive 데이터 타입 정렬하기 Custom comparator로 정렬하기 Sort interface로 정렬하기 Map에서 특정 key/value…

    May 09, 20213 mins
  • gogolangdotthree점고랭도트표기법

    Go에서 삼 도트 (dot) 사용방법 (Three Dots Usage)

    1. 들어가며 Go에서 삼 도트(dot) 사용법에 대해서 알아보자. Go에서는 아래 4가지 방법으로 사용된다. 함수의 인자에 가변 인자로 선언하는 경우 가변 인자를 인자로 받는 함수에 slice…

    May 08, 20212 mins
  • golangmethodreceiverparameterpointer메서드리시버인자포인터

    Go에서의 메서드 (Method in Go)

    Go에서는 함수외에도 메서드를 제공한다. 메서드는 리시버 인자(Receiver Parameter)를 가진 함수를 말한다. 기능적으로 보면 일반 함수와 별 차이가 없고 아래 문법과 같이 func…

    February 19, 20214 mins
  • gogolangtypeassertion타입형단언타입단언단언고고랭

    타입 단언 (Type Assertion)

    Go는 타입 단언(Type assertion…

    January 16, 20214 mins
  • golangtypeconversioncastcasting형변환타입변환타입변환명시적캐스팅

    타입 변환 (Type Conversion)

    타입 변환은 데이터 타입을 변경하는 것이다. Java에서는 명시적 타입 변환(explicit type conversion)과 암시적 타입 변환(implicit type conversion) 둘 다 지원하지만, Go…

    January 16, 20211 mins
  • gogolangtypeswitch형스위치타입스위치고고랭

    타입 스위치 (Type switch)

    티입 스위치는 형 단언을 실행하여 해당 변수의 타입이 스위치 문의 조건에 일치하는 블럭을 실행한다. 타입 스위치 선언문은 형 단언 와 같은 구문을 가진다. 그러나 T…

    January 16, 20211 mins
  • gogolangsettergetterencapsulation고고랭캡슐화게터세터

    Go에서의 게터, 세터 메서드 (Getter, Setter in Go)

    캡슐화는 내부 속성값을 외부에서 직접적으로 접근하게 못 하게 하고 공개된 메서드 (ex. getter, setter)로만 접근하여 내부 값을 보호하는 역할을 한다. 즉, 내부 구현을 감추고 데이터 체크를 통해서 유효한 값만 저장하게 한다. Go…

    January 14, 20212 mins
  • gitresetrevertgitkraken깃깃허브리셋

    Git Reset으로 커밋된 내용 다시 되돌리기 (using GitKraken)

    1.Git Reset Git으로 작업하다 보면 커밋된 이력을 다시 되돌려야 할 때가 종종 발생한다. Git Reset에서는 아래와 같이 3가지 옵션을 제공한다. 각 옵션의 차이점에 대해서 알아보자. 1.1 Git Reset…

    January 04, 20215 mins
  • gogolanglogloggingloggerlogrus고고랭로그로깅

    Go에서의 로그깅 (Logging in Go)

    1. 들어가며 Go 표준 패키지 중에 log에서 로깅에 필요한 기본 메서드를 제공한다. 표준 출력 stdout, stderr외에 파일로 로그를 저장하는 방법, 그리고 로그 포맷 변경해서 출력하는 방법 등에 대해서 알아보자. 추가 설치 없이 log…

    January 02, 20215 mins
  • gogolangenumsiota열거형상수고고랭

    Go에서의 열거형 상수 (Enums in Go)

    1. 들어가며 Go에서는 Java에서 제공하는 Enums 타입은 존재하지 않는다. 하지만, Go에서도 를 이용해서 Enums과 같은 상수값을 쉽게 선언하여 사용할 수 있다. 키워드는 선언에서 사용할 수 있는 로 연속적인 정수 상수 0, 1,…

    December 20, 20204 mins
  • jacococoverallstraviscoveragejunit메이븐커버리지테스트

    Maven + JaCoCo + Coveralls + Travis CI : 자바 프로젝트 Coverage 생성하는 방법

    1. 들어가며 Maven + Java 프로젝트의 코드 커버리지를 확인할 수 있는 방법에 대해서 알아보자. 전체적인 작업 흐름은 JaCoCo로 자바 커버리지를 생성하고 Coveralls 사이트로 업로드하여 결과를 확인할 것이다. JaCoCo…

    December 12, 20203 mins
  • javajava8streamlistmaxmin스트림자바자바8최대값최소값

    자바8 스트림 사용해서 max, min 값 찾기

    1. 들어가며 자바8의 스트림 API를 사용해서 List나 배열에서 max, min 값을 찾는 방법에 대해서 알아보자. 2. 스트림을 사용하여 max 값 찾기 2.1 숫자 List에서 Max 값 찾기 : 숫자 List에서 max…

    October 25, 20203 mins
  • traviscislacknotificationbuild빌드슬랙

    Travis CI에서 Slack 연동해서 빌드 notification 받기

    들어가며 Travis CI로 빌드 이후 notification을 Slack으로 받는 방법에 대해서 알아보자. Github 소스를 Travis CI…

    October 22, 20203 mins
  • letsencrypthttp2sslcertificatengnix인증서

    SSL 인증서 Ngnix 서버에 설치하기 (무료 Lets Encrypt 인증서 발급)

    1. 들어가며 웹사이트를 HTTPS로 설정하는 방법에 대해서 알아보자. HTTP -> HTTPS로 적용하려면 아래 절차가 필요하다. SSL 인증서 발급 받기 letsencrypt에서 SSL 인증서를 무료로 받을 수 있다 서버에 SSL…

    October 01, 20205 mins
  • javaqueueprioritypriorityqueueheap자바자료구조우선순위큐힙

    자바 자료구조 - Priority Queue (우선순위 큐)

    1.Priority Queue (우선순위 큐)란? 자바에서 제공하는 여러 자료구조 중에 에 대해서 알아보자. 우리가 잘 알고 있는 자료구조와 같이 (First-In-First-Out) 알고리즘으로 동작하지만, 추가로 우선순위가 있는 (Best…

    September 20, 20203 mins
  • httpstatuscodestatuscode상태값응답값상태코드

    자주 접하는 게 되는 Http Status Code

    API 개발 시 접하게 되는 HTTP 상태 코드를 정리해보았다. 이외에도 더 많겠지만, 한 번쯤 들어보고 접한 응답 코드들이다. HTTP 상태 값에 따라 고양이 이미지를 보여주는 사이트도 존재한다. 이 개발자는 고양이를 무척 좋아하나보다. HTTP…

    September 12, 20202 mins
  • pythonsortkeydict파이썬정렬키딕셔너리리스트

    파이썬 딕셔너리 리스트에서 특정 키 값으로 정렬하기

    1. 들어가며 파이썬에서 딕셔너리 리스트에서 특정 키 값(ex. age)에 따라서 정렬하는 방법에 대해서 알아보자. 리스트 정렬를 위해 파이썬에서 기본적으로 와 함수를 제공한다. 리스트를 직접 수정하여 방식으로 정렬한다 list…

    September 03, 20203 mins
  • pythonlambdaanonymousfunction파이선람다이름없는함수익명함수

    파이썬에서 람다 함수 익숙해지기

    1. 람다란? 파이쎤에서도 이름 없는 함수인 람다 표현식을 지원한다. syntax는 아래와 같다. 파이썬에서는 bracket (ex. { })을 지원하지 않아 single line으로만 작성해야 한다. 람다에서 multi-line…

    August 30, 20202 mins
  • javaspringspringbootArgumentResolver자바스프링스프링부트리졸버

    Custom Handler Method ArgumentResolver 만들어보기

    1.HandlerMethodArgumentResolver란? 1.1 들어가면 에 대해서 알아보자. 아래와 같이 컨트롤러 메서드에 여러 인자 값(ex…

    July 20, 20206 mins
  • gitgithubbranchmultipledelete깃깃허브다중삭제브랜치

    Git 브랜치 여러 개 한번에 삭제하기

    Git local, remote 브랜치를 한번에 삭제하는 방법에 대해서 알아보자. 1. 다중 Local 브랜치 삭제하기 1.1 삭제하려는 브랜치 목록보기 명령어로 삭제하려는 브랜치 목록을 확인한다. 1.…

    July 11, 20202 mins
  • javajava8streamobject람다자바스트림객체

    자바8 Stream API 사용해서 List of Object 생성하기

    자바8에 도입된 스트림 API에 조금 더 익숙해지기 위해 loop으로 자주 사용하던 코딩을 스트림 API로 변환해보자. 1. Loop 사용해서 객체 리스트 생성하기 - 자바8 이전 자바8 전 버전에서는 아래와 같은 방식으로 for loop…

    June 29, 20201 mins
  • javajava8springexceptionerror자바자바8스프링부트스프링오류

    스프링부트 기본 에러 페이지 변경하기 - Customize Whitelabel Error Page

    1. 들어가며 존재하지 않는 API를 접속하게 되면 아래와 같은 Whitelabel Error Page를 자주 접하게 됩니다. 별도 설정을 하지 않았다면 스프링부트에서는 기본적으로 Whitelabel Error Page…

    June 03, 20205 mins
  • javajava8streamlistmap스트림자바자바8리스트맵

    자바8 스트림 사용해서 List -> Map 형태로 변환하는 방법

    1. 들어가며 객체 를 형태로 변환할 때 아래와 같이 loop을 돌면서 에 내용을 채운다. 자바8에 도입된 스트림을 사용해서 -> Map으로 어떻게 변환하는지 알아보자. 2. List -> Map 변환 2.1 자바8에서 스트림 사용하여 List…

    April 20, 20203 mins
  • javajava8comparatorcomparingsort자바자바8정렬

    자바 Comparable과 Comparator의 차이점

    자바에서 객체 정렬 시 사용되는 Comparator와 Comparable 인터페이스 간의 차이점을 알아보겠습니다. 예제로 작성한 코드는 github java-compare 모듈을 참고해주세요. Comparable vs. Comparator…

    April 15, 20205 mins
  • ngrindertestperformanceapi테스트성능테스트

    nGrinder 사용법에 대해서 알아보자

    1. 들어가며 nGrinder는 스트레스 테스트 도구로 Grinder 오픈소스 기반으로 작성되었고 네이버에 의해서 개발되었다. nGrinder 설치에서부터 API 테스트까지 알아보자. 1.1 nGrinder 구성요소 구성 설명 controller…

    March 22, 20203 mins
  • javajava8MapHashMapputIfAbsentcomputeIfcomputegetOrDefault자바자바8맵

    자바8 HashMap 보다 간결하고 효과적으로 작성하기

    자바8부터 에 여러 메서드들이 추가되었고 이런 메서드를 사용해서 을 조금 더 간결하면서 효율적으로 사용하는 방법에 대해서 알아보겠습니다. 작성된 코드는 java8-hashmap을 참고해주세요. 1. putIfAbsent() vs…

    March 01, 20205 mins
  • databasejpaOneToOne데이터베이스스프링스프링부트연관관계단방향양방향일대일

    [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
  • jpaN1fetchbatchsize페치조인배치사이즈데이터베이스스프링스프링부트

    [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
  • jpaManyToOneOneToMany단방향양방향다대일일대다

    [JPA-2] JPA 다대일(N:1)+일대다(1:N) @ManyToOne, @OneToMany 연관관계

    1. 들어가며 JPA 연관관계 매핑에 대한 내용은 JPA 연관관계 매핑 정리 포스팅을 참고해주세요. 이번 포스팅에서는 JPA에서 가장 자주 사용하는 다대일(N:1)과 그 반대 방향인 일대다(1:N) 연관관계에 대해서 알아보겠습니다. Post…

    December 06, 201914 mins
  • jpaOneToManyOneToOne연관관계단방향양방향다대다다대일일대다일대일

    [JPA-1] JPA 연관관계 매핑 정리

    1. 들어가며 엔티티는 다른 엔티티의 참조(변수)를 가지면서 관계를 서로 맺게 됩니다. 블로그에서 해당 포스트에 댓글을 다는 경우를 예를 들면, 댓글(Comment) 엔티티는 포스트 (Post…

    December 04, 20192 mins
  • Q&Afaqspringspringbootbatch스프링배치질문

    Q&A Spring Boot 관련 질문 모음

    개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. application.properties : server…

    December 04, 20193 mins
  • h2databasespringspringbootintellijIn-Memory인메모리DB데이터베이스인텔리제이

    H2 데이터베이스 사용법 및 Intellij에서 Database 연동하기

    1. 들어가며 H…

    November 20, 20196 mins
  • javaloggerjunitunittest자바유닛테스트로거

    추가된 LOG를 JUnit에서 확인하는 방법

    1. 들어가며 Unit Test를 작성할 때 메서드의 결과를 기본적으로 확인하여 로직을 검증합니다. void…

    November 18, 20192 mins
  • Q&Afaqjpamysqldatabasedb

    Q&A JPA 관련 질문 모음

    개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. @EntityListeners 이란? 엔티티를 DB…

    October 21, 20195 mins
  • springquartzjavamultijobcluster자바스프링퀄츠스케줄러이중화클러스터스케줄러

    [Quartz-3] Multi WAS 환경을 위한 Cluster 환경의 Quartz Job Scheduler 구현

    1. 들어가며 Quartz에서는 메모리 기반의 스케줄러뿐만이 아니라 DB 기반의 스케줄러도 지원합니다. DB 기반의 스케줄러의 경우에는 스케줄러 정보를 메모리가 아닌 DB에 저장하기 때문에 다중 서버 간의 스케줄링이 가능합니다. Quartz…

    October 13, 20199 mins
  • TAGCircularINFINITEJacksonjsonignore

    Jackson에서 Infinite Recursion 이슈 해결방법

    1. 들어가며 Jackson에서 양방향 관계 (Bidirectional Relationship…

    October 12, 20196 mins
  • quartzspringjobinterrupthook인터럽트셧다운훅스케줄러스케줄스프링스프링부트

    [Quartz-4] Quartz에서 실행중인 Job을 Interrupt하여 Job Scheduler를 정상종료 시키는 방법

    1. 들어가며 본 포스팅은 Quartz 튜터리얼에서 4번째 시리즈로 Quartz 서버를 셧다운 시킬 때 gradefully하게 처리하는 방법에 대해서 다룹니다. 셧다운 이벤트가 발생하면 실행 중인 Quartz Job에 내부 interrupt…

    October 12, 20194 mins
  • quartzspringjobschedulermemory메모리기반스케줄러스케줄스프링스프링부트

    [Quartz-2] Spring Boot + Quartz을 이용한 Job Scheduler 구현 (In-memory)

    1. 들어가며 이 포스팅은 Quartz 튜터리얼 시리즈에 한 부분으로 첫 번째의 포스팅 Quartz Job Scheduler란? 에 이어 2부 내용으로 Spring Boot 기반의 RAMJobStore을 이용한 Quartz…

    September 09, 20198 mins
  • quartzspringspringbootjobscheduler스케줄러스케줄스프링스프링부트

    [Quartz-1] Quartz Job Scheduler란?

    1. 들어가며 Quartz Job Scheduler에 대한 내용은 여러 시리즈 형식으로 작성을 하였습니다. Quartz에 대한 간단한 설명을 시작으로 스프링 부트 기반에서의 Quartz Job Scheduler…

    September 07, 201912 mins
  • gitrebasemerge깃병합

    Git Rebase로 병합하기

    1. 들어가며 Git Rebase 하는 방법에 대해서 알아보겠습니다. Merge와 다르게 Rebase는 한 브랜치에 커밋된 여러 commit…

    August 11, 20196 mins
  • faqgitgithubgitrakenwipcommit

    Q&A : Git 관련 질문 모음

    개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 미 답변 질문 - 답변완료 1. WIP란? Work In Progress…

    July 03, 20191 mins
  • Q&Afaqspringannotation

    Q&A Spring Boot Annotation 모음

    개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A…

    July 03, 20191 mins
  • Q&Afaqspringjpadbdatabase

    Q&A Spring JPA Annotation 모음

    개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 쉽게 찾기 위해서 알파벳 순으로 정리합니다. @EntityScan…

    July 03, 20192 mins
  • springresttemplateRESTjava스프링스프링부트

    스프링 RestTemplate

    1. 들어가며 스프링 프레임워크에서는 REST 서비스의 Endpoint를 호출할 수 있도록 크게 2가지 방식인 동기, 비동기 REST Client을 제 공합니다. 이번 포스팅에서는 동기방식인 RestTemplate…

    May 06, 201917 mins
  • npmnode노드배포저장소

    Node.js 모듈 NPM 저장소에 배포하기

    1. 들어가며 이번 포스팅에서는 Node.js 모듈을 NPM 저장소에 배포하는 방법에 대해서 알아보겠습니다. NPM은 Node Package Modules 약자로 Node.js 모듈 관리해주는 패키지 관리자입니다. NPM의 명령어로 쉽게 Node.js…

    March 24, 20194 mins
  • Q&AQAfaqlombokannotationjava자바어노테이션

    Q&A Lombok 관련 질문 모음

    개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. @AllArgsConstructor…

    March 23, 20191 mins
  • Q&AQAfaqjava

    Q&A Java 관련 질문 모음

    개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 미 답변 질문 - java8 에서 mapToInt(ToIntFunction…

    March 21, 20194 mins
  • countdownshellscriptmactimer맥스트립트뽀모도로

    맥환경에서 countdown shell script으로 집중력 강화하기

    1. 들어가며 스터디나 블로그 작성을 시작하려고 노트북을 켜면 바로 스터디나 블로그 작성보다는 먼저 가는 곳이 인터넷 뉴스나 유튜브 동영상을 먼저 보게 됩니다. 그리고 3…

    February 26, 20192 mins
  • sqlEREERERDschema릴레이션디아어그램요구사항스키마설계

    관계형 데이터베이스 설계 및 구축

    …

    February 06, 201911 mins
  • joininnercrossouterleftright조인내부조인교차조인비등가조인외부조인

    관계형 데이터베이스에서 조인(join)이란?

    1.JOIN…

    February 06, 201910 mins
  • jaywayjavajsonpathxpathjson-path

    Java Jayway JsonPath 사용법

    1. 들어가며 Jayway JsonPath는 Stefan Goessner의 JsonPath 구현을 자바로 포팅한 라이브러리입니다. XML의 가장 큰 장점은 XPath(XML Path Language)로 XML…

    January 19, 20197 mins
  • sslkeystoreimportcertificate인증서자바

    자바 keystore에 SSL 인증서 import 하기

    1. 들어가며 회사에서 Zencoder API 을 사용하게 되어 자바에서 작업을 시작하려는데, 아래와 같이 SSLHandshakeException…

    January 09, 20195 mins
  • webspringfileuploadspringboot

    스프링 파일 업로드 처리

    …

    January 02, 201911 mins
  • ssmcachejavaspringmemcache캐쉬스프링

    Simple Spring Memcached(SSM)란

    1. 들어가며 In-memory DB로 Memcached를 사용하면 자바에서는 simple-spring-memcached (SSM) 라이브러리를 자주 사용됩니다. SSM…

    January 01, 201916 mins
  • lombokjavaannotation자바어노테이션

    Lombok 기본 사용법 익히기

    1. 들어가며 Lombok는 자바에서 작성해야 하는 boilerplate code(ex. getter/setter, constructor, toString…

    December 16, 20188 mins
  • databasekeysuperkeyprimaryforeign키후보키대체키수퍼키기본키외래키

    데이터베이스의 키 종류

    1. 데이터베이스의 키 종류 이번 포스팅에서는 데이터베이스의 여러 키 종류를 정리해보겠습니다. 키 종류에 대한 설명을 위해 아래 샘플 데이터를 사용하겠습니다. 샘플 데이터는 자동으로 생성해주는 dummy data 사이트에서 얻어왔습니다. 1.…

    November 25, 20182 mins
  • javaannotation자바어노테이션

    자바 커스텀 어노테이션 만들기

    1. 어노테이션이란 스프링 프레임워크를 사용하면 어노테이션을 자주 사용하게 됩니다. 아래는 스프링 웹 MVC를 사용한 예로 GET HTTP 요청(/helloworld)이 있으면 “Hello World…

    November 18, 20187 mins
  • javamacjdkversion자바버전

    맥 환경에서 여러 JDK 버전 설치하고 변경하기

    자바 개발을 하다 보면 하나의 JDK 버전이 아니라 여러 버전을 설치해야 할 때가 종종 있습니다. 진행하는 프로젝트마다 개발하는 JDK…

    November 11, 20181 mins
  • pythonargparsecommandoption

    파이썬 : 커맨트 라인에서 명령어 옵션들 argparse 모듈를 이용해서 쉽게 파싱하기

    1. argparse 모듈이란? 셀이나 리눅스 명령어를 실행할 때 많은 옵션이 존재합니다. 아래는 pip 명령어(파이썬 패키지 관리자)의 옵션 목록입니다. Flag 형태의 옵션(ex. —no-color)이나 입력값을 받을 수 있는 옵션(ex. —log…

    November 04, 20184 mins
  • 알고리즘인터뷰면접코드면접비트카운트

    Algorithm 정수값에서 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
  • gcgarbagejavagarbagecollection

    자바 Garbage Collection이란

    1. 가비지 컬랙션이란? C/C++ 언어와 달리 자바는 개발자가 명시적으로 객체를 해제할 필요가 없습니다. 자바 언어의 큰 장점이기도 합니다. 사용하지 않는 객체는 메모리에서 삭제하는 작업을 Gargabe Collection(GC)라고 부르며 JVM…

    October 17, 20189 mins
  • java10javajdkopenjdk자바

    새로운 기능 및 개선 사항 목록 - 자바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
  • finaljava자바

    자바에서 final에 대한 이해

    1. 개요 위와 같이 final 키워드를 떠올릴 때면 그냥 상수로만 생각할 때가 종종 있습니다. final…

    September 11, 20184 mins
  • javaupgradeJEP자바개선사항

    새로운 기능 및 개선 사항 목록 - 자바Beyond에서의 변화

    자바Beyond JEP 301: Enhanced Enums - 현재 보류중 JEP 302: Lambda Leftovers - Candidate JEP 305: Pattern Matching - Candidate JEP ???: Data Classes…

    September 10, 20185 mins
  • javaupgradeJEP자바개선사항

    새로운 기능 및 개선 사항 목록 - 자바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
  • javajava8jdk8jdk1.8openjdkJEP자바

    새로운 기능 및 개선 사항 목록 - 자바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
  • javajava8jdk8jdk1.8openjdkJEP자바

    새로운 기능 및 개선 사항 목록 - 자바8에서의 변화

    자바8 언어 람다식 표현 스트림 Method Reference Default Method Type inferece 개선 Optional 새 자바스크립트 엔진 (Nashorn) JDK11에서 제거될 예정 Joda Time 방식의 새 날짜 API…

    September 02, 20181 mins
  • javawrapperprepost자바래퍼 메서드전후처리

    전후처리를 위한 자바 메서드 래퍼 메서드 생성하기 - pre and post processing for java wrapper method

    1.개요 코딩을 하다 보면 어떤 작업을 하기 전에 전후 처리가 필요할 때가 종종 생깁니다. 전처리(pre-processing)에서는 실제 작업을 수행하기 전에 필요한 세팅을 하고 후처리(post-processing)에서는 cleanup…

    August 26, 20184 mins
  • herokunode하루쿠클라우드노드몽고배포가상화

    Heroku에 Node.js+MongoDB App 배포하기

    1. Heroku란 헤로쿠(Heroku)는 PaaS(Platform as a Service)형태의 클라우드 서비스입니다. 헤로쿠는 터미널이나 웹에서 필요한 여러 티어(ex. DB)를 쉽게 생성하고 연동시킬 수 있습니다. 최초 버전에서는 Ruby…

    August 21, 20189 mins
  • methodchainingjavainheritance자바메서드체이닝

    자바에서 클래스의 상속 구조에서 메서드 체이닝 해보기 - Method Chaining with Inheritance

    1. 메서드 체이닝이란 메서드 체이닝이란 여러 메서드 호출을 연결해 하나의 실행문으로 표현하는 문법 형태를 말합니다. (위키피디아 참고 #4.1) 메서드 체이닝의 매직은 간단합니다. 체이닝으로 연결하고 싶은 메서드의 반환 값으로 this…

    August 19, 20184 mins
  • scrappingwebpythonrobots.txtTor스크래핑웹파이썬

    웹 스크래핑하면서 차단 방지하는 방법

    …

    August 13, 20186 mins
  • webscrappythoncheeriobs4soup4웹스크래핑파이썬

    파이썬으로 웹 스크래핑하는 방법 - Web scraping

    1. 소개 웹 정보 바다라고 할 만큼 엄청난 양의 데이터를 가지고 있습니다. 트위터, 페이스북과 같은 사이트에서는 정규화된 JSON 형태의 데이터를 API로 제공해서 쉽게 원하는 데이터에 접근할 수 있습니다. 하지만, API…

    August 05, 20185 mins
  • arraycommon알고리즘인터뷰면접코드면접배열공통값

    Algorithm 2개의 array에서 common value 찾기

    1. Problem 2개의 array에서 common value값을 찾아 결과를 반환하는 문제입니다. 메서드 정의는 아래와 같이 2개의 array를 받고 결과를 Set으로 반환합니다. 1.…

    July 29, 20182 mins
  • 알고리즘인터뷰면접코드면접괄호

    Algorithm 괄호 기호가 Valid한지 체크하기

    1. Problem 괄호 기호가 OPEN, CLOSE 매칭이 제대로 되도록 확인하는 코드 문제입니다. 1.1 입력 / 결과 입력 가능한 String 값은 아래와 같습니다. ()()() —> true )( —> false…

    July 29, 20181 mins
  • Q&Afaqmysqldbslow query

    Q&A MySql 관련 질문 모음

    개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. 테이블 생성시 InnoDB를 왜 설정해야 하나? MySQL…

    July 29, 20188 mins
  • Q&Afaqmybatisdbmysqlsql

    Q&A Mybatis 관련 질문 모음

    개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. _long 타입은 뭔가? _long : long…

    July 29, 20184 mins
  • junitunit testtestrules

    JUnit Rules이란

    1. 들어가며 JUnit Rules은 테스트 케이스를 실행하기 전후에 추가 코드를 실행할 수 있도록 도와줍니다. @Before와 @After로 선언된 메서드에서도 실행 전후처리로 코드를 넣을 수 있지만, JUnitRules…

    July 29, 201810 mins
  • Q&Afaqssmcache-ssmcache

    Q&A Cache-SSM 관련 질문 모음

    개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. @CacheKeyMethod 란? SSM…

    July 29, 20181 mins
  • Q&Afaqjsonjsonpathjava

    Q&A JsonPath 관련 질문 모음

    개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. com.jayway.jsonpath…

    July 29, 20181 mins
  • Q&Afaqmavenjava

    Q&A Maven 관련 질문 모음

    개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. maven으로 특정 클래스의 메서드 unit test…

    July 29, 20182 mins
  • Q&AQAfaq질문개발

    Q&A 개발관련 질문 모음

    …

    July 29, 20183 mins
  • s3amazonsdkbucket버킷아마존

    아마존 S3 Bucket API 사용법

    1. 들어가며 기업에서도 그렇고 이제 아마존 서비스를 쓰지 않은 곳이 없을 정도로 회사마다 아마존의 서비스를 많이 사용하고 있습니다. 최근에 이직을 한 곳에서도 S3 (Simple Storage Service) 스토리지 서비스를 이용하고 있어 S…

    July 29, 20187 mins
  • javajava10jdkopenjdk

    [자바8-1] 자바8 Optional이란

    1. Optional이란 Optional은 null을 대신하기 위해 만들어진 새로운 코어 라이브러리 데이터 타입입니다. Optional 클래스는 null이나 null이 아닌 값을 담을 수 있는 클래스입니다. 이미 다른 언어(ex. Scala…

    July 29, 201810 mins
  • gitbookpdfepubkindlegitgithub전자책

    Gitbook으로 전자책 만들어보기

    1. 개요 요즘은 콘텐츠 시대라고 해도 과언이 아닙니다. 특정 방송 회사가 콘텐츠를 만들기보다 개인이 직접 좋은 콘텐츠를 만들어 유튜브와 같은 플랫폼에서 퍼블리쉬하는 시대로 바뀌었습니다. 리디북스 와 같은 eBook…

    July 29, 20184 mins
  • Q&AQAfaqjacksonjava자바

    Q&A Jackson 관련 질문 모음

    개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. @JsonInclude(Include.NON_NULL…

    March 25, 20184 mins
  • Q&AfaqjavascriptdefaultPropses6

    Q&A JavaScript 관련 질문 모음

    개인적으로 모르는 부분 적어두고 알게 되는 부분에 대해서 간단하게 정리해둔 자료입니다. 미 답변중에 알고 계신 부분 있으면 코멘트 달아주세요. 감사합니다. Q&A 전체 목록 답변완료 1. 이건 뭔가? ES…

    March 23, 20183 mins
  • github
  • @frank.coffeetime
  • @frank.photosnap

Hand-crafted with love by Yinka Adedire