Skip to content

Instantly share code, notes, and snippets.

View ihoneymon's full-sized avatar

Kim Ji-Heon ihoneymon

View GitHub Profile
@ihoneymon
ihoneymon / how-to-write-by-markdown.md
Last active March 28, 2024 12:04
마크다운(Markdown) 사용법

[공통] 마크다운 markdown 작성법

영어지만, 조금 더 상세하게 마크다운 사용법을 안내하고 있는
"Markdown Guide (https://www.markdownguide.org/)" 를 보시는 것을 추천합니다. ^^

아, 그리고 마크다운만으로 표현이 부족하다고 느끼신다면, HTML 태그를 활용하시는 것도 좋습니다.

1. 마크다운에 관하여

Quartz Scheduler 적용 정리

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


Quartz Scheduler 의존성 추가

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

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

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

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

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

  • 커밋찍기가 어렵다.

@ihoneymon
ihoneymon / 20200718-lombok-copy-constructor-annotation.adoc
Created July 18, 2020 04:26
롬복(lombok)에서 생성자 필드에 선언된 애노테이션을 복사적용하는 것

[Lombok] Constructor annotation 복사하기

스프링에서 사용할 수 있는 스프링 빈 주입방식은 크게 3가지가 있다.

  • 생성자 주입

  • 설정자(Setter)를 이용한 주입

  • 애노테이션(@Autowired, @Inject, @Resource)이 선언된 필드(field) 주입

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


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

@ihoneymon
ihoneymon / 20190509-woowahan-tech-seminar-jvm.adoc
Last active May 19, 2023 07:00
2019/05/09 5월 우아한형제들 테크 세미나

20190509 우아한 테크 세미나: 자바, 성능, 모니터링

0. 소개

  • 성능테스트 전문가!

  • 개발자가 반드시 알아야 할 자바 성능 튜닝 이야기, 2015

  • 자바 개발자와 시스템 운영자를 위한 트러블 슈팅 이야기, 2011

@ihoneymon
ihoneymon / 201904-java-byte-array-to-input-stream.adoc
Created April 4, 2019 08:52
[spring] RestTemplate 를 이용한 파일 업로드 기능: ByteArrayResource -> InputStreamResource 변경

20190404 [spring] RestTemplate 를 이용한 파일 업로드 기능

기존 방식의 문제점

public AgreementResponse uploadAgreement(String memberId, File agreementFile) {
    log.info("Upload CMS Agreement: memberId: {}, agreement: {}, size: {}", memberId, agreement.getName(), agreement.getSize());
    MultiValueMap<String, Object> bodyMap = new LinkedMultiValueMap<>();
@ihoneymon
ihoneymon / 20220627-spring-boot-application-configuration-data-desc.adoc
Last active March 29, 2023 08:27
스프링 부트 구성파일 데이터 적재 간단설명

스프링 부트 구성속성 이용(Spring Boot External Configuration)

스프링 부트에서는 애플리케이션에서 필요한 속성을 "애플리케이션 구성파일" application.yml(혹은 applicatoin.properties) 에 작성하여 활용합니다.

Note

데이터구조를 계층형으로 표현할 수 있어서 개인적으로 .properties 파일 보다는 .yml(YAML) 파일 이용을 선호합니다.

@ihoneymon
ihoneymon / springboot_javamailsender.md
Created April 13, 2015 10:13
SpringBoot: JavaMailSender를 이용한 메일전송 설정

SpringBoot: JavaMailSender를 이용한 메일전송 설정

19:04:00 ERROR c.i.i.s.s.system.MailServiceImpl - >> Occur Exception: Failed messages: com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first. a11sm6769399pdj.54 - gsmtp

위의 메시지가 나타난다면, compile "com.sun.mail:javax.mail" 의존성을 추가하자.

○ build.gradle

@ihoneymon
ihoneymon / 20171031_ksug_serverless.asc
Last active March 7, 2023 16:31
Dave syer@Spring I/O 2017 에서 발표한 "The Road to Serverless: Functions as Applications" 에 대한 내용정리

The Road to Serverless: Functions as Applications Review