Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View ihoneymon's full-sized avatar

Kim Ji-Heon ihoneymon

View GitHub Profile
@ihoneymon
ihoneymon / 20150916_tdd_agenda.md
Last active June 2, 2020 21:48
TDD(Test Driven Development): 테스트주도 개발을 이야기하다

TDD(Test Driven Development): 테스트주도 개발을 이야기하다

TDD란 무엇인가?

TDD와 단위테스트는 같은 것이 아니다.

TDD 작성 패턴

  • 프로그램을 작성하기 전에 테스트 먼저하라.
  • 잘 동작하는 깔끔한 코드
  • 질문 -> 응답 -> 정제 -> 반복

Spring application development and analysis process


최근 스프링개발환경은 많은 변화가 있었다. 고전적인 XML 설정방식외에도 JavaConfig 방식이 가능해졌고, 기존에 설정의 복잡함을 줄이기 위한 관례적인 설정을 자동으로 제공하는 자동설정Auto-configuration’을 제공하는 스프링부트('http://projects.spring.io/spring-boot/) 프로젝트를 기반으로 한 애플리케이션 개발환경이 제공되고 있다.


Quartz Scheduler 적용 정리

Quartz Scheduler를 사용한 이유는 Spring의 스케줄링은 정해진 시간에 도는 설정만 가능한데 비해, Quartz Scheduler의 JobStore 기능을 이용하면 사용자가 입력한 정보를 DB 에 저장하고 변경하고 Quartz Scheduler가 이를 확인하여 실행하는 것이 가능했기 때문이다. 이와 관련된 기본적인 설정 및 구현 내용을 정리한다.


Quartz Scheduler 의존성 추가

쉽게 이해하면 좋을 스프링 프레임워크


'스프링 프레임워크Spring Framework'.

@ihoneymon
ihoneymon / java8-default-method.adoc
Last active November 17, 2018 05:28
Java 8 `Predicate` 인터페이스에서 `and`, `or` 그리고 `negate` 메서드를 사용할 수 있는 이유??

함수형 인터페이스인 Predicate<T> 에서 and, or`과 `negate 메서드를 사용할 수 있는 이유

인터페이스 Predicate<T>

자바 8인 액션에서 람다표현식과 관련된 부분을 읽다가

함수형 인터페이스@FunctionalInterface 에는 메서드가 하나만 있어야 한다.

@ihoneymon
ihoneymon / 20151119_springboot_h2console.adoc
Last active November 8, 2016 02:00
springboot 1.3.0 - h2console 사용하기

[스프링부트] 1.3.0: h2database 의 h2console 사용하기

스프링부트 h2console 관련 설명

스프링부트 1.3.0 부터 h2console 기능을 제공한다.

개발자 개인개발환경(로컬local)에서 개발할 때 h2database를 Database로 사용하면 개발이 매우 용이해진다. 그리고 h2database에서는 데이터베이스에 에 접근할 수 있는 클라이언트를 제공하는데 그게 바로 h2console 이다.

이전버전에서 h2console을 사용하기 위해서는 다음과 같은 형태로 ServletRegistrationBean 으로 h2에서 제공하는 WebServlet을 서블릿빈으로 등록한다.

@ihoneymon
ihoneymon / 20151209_springboot_flywaydb.adoc
Created December 9, 2015 03:15
SpringBoot 1.3.0 기준 flywayDB 설정

[SpringBoot] v1.3.0: FlywayDB 설정

FlywayDB

애플리케이션의 변경에 따라 DB 스키마의 변경이력을 관리하기 위한 목적으로 사용한다.

SpringBoot에서 제공하는 FlywayDB 관련설정

# FLYWAY (FlywayProperties)
@ihoneymon
ihoneymon / use-git-and-git-flow.adoc
Last active November 8, 2023 22:45
git 을 기반으로 git-flow를 사용하여 애플리케이션 배포버전을 관리하자.

GIT을 기반으로 한 프로젝트 개발프로세스

깃을 사용합시다. 깃을 쓰자. 깃을 쓰란 말야!!

  • SVN은 변경이력이 많아질수록 속도가 느리지.

    • 커밋 및 처리속도가 빠르다. 변경이력이 많이 축적되어 있어도 속도저하가 거의 없다.

  • 커밋찍기가 어렵다.

FlywayDB 기술설명

Evolve your Database Schema easily and reliably across all your instances

데이터베이스 스키마의 변화를 손쉽게 관리

하는 기능을 가진 기술


@ihoneymon
ihoneymon / springboot-app-development.adoc
Last active January 12, 2016 08:05
스프링부트 애플리케이션 개발가이드(목차만)

스프링부트 애플리케이션 개발가이드