1. 함께 자라기 애자일로 가는길링크회사 교육비로 구매한 책이다. 매번 기술 서적만 목을 매어 읽어왔는데, 이번에는 기술 서적이 개발과 관련된 여러 가지 이야기가 담긴 책을 읽어보고 싶었다. 그래서 선택한 책이다. 책은 반 정도 읽은 거 같은데, 나 말고 주변 다른 사람들과 함께 잘 성장하는 방법 그리고 의식적인 학습을 어떻게 잘 할 것인가에 대해 써놓은 글이 매우 인상 깊었다. 두꺼운 책은 아니라서 끝까지 읽는 것에는 부담이 크게 없을 거 같으니 틈틈이 읽어 봐야겠다.2. JPA And Database Lock회사 업무 중 복잡한 데이터 처리 과정이 담긴 API를 개발하고 있다. 기존 레거시 시스템을 개선하는 작업이기도 하고 신규 솔루션과 연동해야 하는 업무라서 은근 골치가 아프다. 특히 Lock을 제..
1. Effective-Java-3e 읽기/실습아이템 20. 추상 클래스보다는 인터페이스를 우선하라아이템 21. 인터페이스는 구현하는 쪽을 생각해 설계하라자바8의 디폴트 메소드에 대한 언급과 더불어 추상화를 위한 구현 방법으로 인터페이스 단독으로 사용하는 경우와 추상클래스를 인터페이스의 구현으로 사용하고 조금 더 확장성 있는 클래스 구조를 가질 수 있도록 설명하는 구절이 인상적이었다. 인터페이스 역시 앞에서의 아이템 설명처럼 충분히 문서화하고 구현에 설명을 자세히 써주는 것이 중요한 구절 역시 보면서 무릎을 탁!2. @JsonViewclass LoanContractViews { interface Simple interface Detailed : Simple }json 반환 데이터를 다이나믹하게 해줘야 할..
1. Effective-Java-3e 읽기/실습아이템 18. 상속보다는 컴포지션을 사용하라아이템 19. 상속을 고려해 설계하고 문서화하라. 그러지 않았다면 상속을 금지하라2. 함수형 코틀린11장. 코틀린에서 스트림 작업Collection vs StreamStream vs ObservablePush Model vs Pull Model코틀린에서 Stream 생성Termianl Method12장. 애로우 시작함수 합성(Compose)부분 적용PipeCurryArrow 구현체를 활용한 불변객체 lense 방법3. Bean Validation 2.0@RequestBody를 활용한 요청 본문 Validation 중 해당 구현에 대해 조금 더 살펴보고자 링크를 살펴보게 되었다.API 개발을 하면서 모르는 내용을 틈틈..
본 글은 How to make sense of Kotlin coroutines을 읽고 발번역(?)한 내용입니다. 영어에 유창한 분들은 링크를 참고해주세요.코루틴은 완벽하게 읽고 유지 보수가 가능한 비동기 코드를 작성하는 좋은 방법이다. Kotlin은 단일 언어 구문으로 비동기 프로그래밍의 기본 요소를 제공하는데, 바로 suspend 키워드이다. 이 키워드와 함께 라이브러리 함수가 빛을 발합니다.What is a coroutine?Kotlin팀은 Coroutine을 경량 스레드: Light-Weighted-Thread로 정의했습니다. 그것들은 실제 스레드가 실행 할 수 있는 일종의 작업입니다. Kotlinlang.org의 배너는 다음과 같습니다.가장 흥미로운 점은 스레드가 특정 "정지 지점"에서 코루틴 실..
현재 재직중인 회사에서 코틀린을 주력으로 사용하고 있는데, 지난 1년 정도 코틀린과 스프링부트를 사용해보면서 겪었던 삽질이나 좋았던 점을 스터디를 통하여 한 번 정리하면 좋겠다하는 마음에서 정리하게 됬다.시작하기 어렵지 않다. Spring Intializer에서 Kotlin 프로젝트를 쉽게 생성 할 수 있으며, 물론 버젼의 제약이 있긴 하겠지만 기존 자바 기반으로 운영하고 있더라도 쉽게 Koltin을 통한 추가 기능 개발이 가능하다.현재 코틀린은 1.3.21 버젼까지 사용할 수 있으며 SpringFramework 5.X, SpringBoot 2.X부터는 공식적으로 코틀린에 대한 지원을 시작했다.SpringFramework 5.2 부터는 코틀린의 협력적 멀티테스킹을 수행할 수 있는 코루틴에 대한 지원이 들..
[2장] 모든 객체의 공통 메서드 Objects는 객체를 만들 수 있는 구체 클래스면서 기본적으로 상속하여 사용이 가능 equals, hashCode, toString, clone, finalize 모두 재정의를 염두로 두고 설계 일반 규약에 맞도록 재정의(overriding)해야 하며, 잘못 구현하면 오작동을 발생 시킬 수 있음 ITEM 10 - equals는 일반 규약을 지켜 재정의하라 일반 규약에 맞도록 재정의 하지 않을꺼면 재정의를 안하는 것이 최선. 아래 항목이 해당하는 경우 재정의를 하는 것이 크게 의미가 없을 수 있음. 각 인스턴스는 본질적으로 고유 인스턴스의 논리적 동치성을 검사할 일이 없는 경우 상위 클래스에서 정의한 equals가 하위 클래스에 딱 들어맞는 경우 클래스가 private이..
스프링 부트 배치 #2 - ItemReader 2.1 ItemReader 스프링 배치에서는 상황에 맞는 ItemReader 구현체를 제공 ItemReader는 쓰레드 세이프하지 않기 때문에(Non-Thread-Safe) 쓰레드 간 경합이 발생하지 않도록 주의해야 한다. 스프링 배치에서는 이를 보완하기 위해, SynchronizedItemStreamReader 구현체를 제공하며, 이를 생성할 수 있는 빌더 구현체인 SynchronizedItemStreamReaderBuilder 또한 제공한다. Flat-File, Message-Queue(AMQP), Database(RDBMS, Mongodb) 등의 ItemReader 구현체들이 존재하며, 스프링 배치에서 제공하고 있는 구현체들은 링크를 통해 확인 가능하다..
스프링 부트 배치 #1 - 개요/주요개념 개요 백엔드의 배치 처리 기능을 구현하는 데 사용하는 프레임워크. 부트 배치의 경우, 스프링 배치의 설정 요소들을 간편화시켜 스프링 배치를 빠르고 쉽게 사용할 수 있도록 구성. 배치란, 순차적으로 자료를 처리한다는 뜻으로 일괄 처리와 같은 뜻 Why Spring Batch? 대용량 처리 최적화되어 있고, 고성능을 발휘 로깅. 통계 처리, 트랜잭션 관리 등 필수 기능 지원 예외 및 비정상 동작에 대한 방어 기능 개발자는 Spring Batch 프로그래밍 모델을 사용하여 비즈니스 로직에 집중하고 프레임워크가 인프라를 관리하도록 함. 주의사항 복잡한 구조와 로직을 피해야 함 데이터를 직접 다루는 코드가 많으므로, 무결성을 유지할 수 있는 방어적인 방법을 사용해야 함. ..
- Total
- Today
- Yesterday
- EJS
- maven
- springboot
- Sublime Text 2
- node.js
- HttpClient
- RestTemplate
- Til
- tomcat
- Sublime Text 3
- SideBarEnhancements
- http method
- Spring
- cluster
- Express.js
- Package Control
- ecma
- WebFlux
- HTTP
- implicit prototype chain
- Spring Boot
- package.js
- Squelize.js
- jade
- 스프링
- Spring MVC
- Handlebars
- pm2
- Prototype
- Kotlin
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |