Latest

SI 개발 10년차인데 코드 좀 봐주세요

SI 개발 10년차인데 코드 좀 봐주세요

최근 한국에 머무르는 시간이 길어지면서 Popit 저자 섭외 활동과 병행하여 개발자 멘토링을 꾸준히 하고 있습니다. SI 경력 10년 정도 되는 개발자와 만나서 이야기 한 내용을 대략적으로 정리해 보았습니다[1]. 어느날 페이스북 메신저로 SI 분야에서 계속 있으면서 10년 정도의 경력을 가지고 있는데 자신이 만든 코드에 대해 리뷰를 해줄 수 없냐는 요청을

By 김형준
카프카 서버 디스크 최적화

카프카 서버 디스크 최적화

이번 주제는 디스크와 관련된 주제로 글을 작성해보겠습니다. 디스크 구성과 관련된 질문들을 여러 차례 받은 경험도 있고, 이러한 주제를 가지고 정리된 글은 없다고 생각되어 적게 되었습니다. 디스크 구성에 대해 이러한 방식이 표준이다라는 정답은 없지만, 향후 규모가 큰 카프카 클러스터를 구성하거나 IO 때문에 고민이신 분들에게 조금이나마 도움이 되었으면 합니다. 사실 예전부터 쓰려고

By 고승범
Spring WebFlux와 Kotlin으로 만드는 Todo 서비스 – 테스트 슬라이스 적용하기

Spring WebFlux와 Kotlin으로 만드는 Todo 서비스 – 테스트 슬라이스 적용하기

* Spring WebFlux와 Kotlin으로 만드는 Todo 서비스 – 1편 * Spring WebFlux와 Kotlin으로 만드는 Todo 서비스 – 2편 * Spring WebFlux와 Kotlin으로 만드는 Todo 서비스 – 테스트 슬라이스 적용하기 개요 지난 예제들에선 간단한 Todo 예제를 만들고 개선해봤습니다.  또한 그렇게 만들어진 예제의 CRUD를 curl을 이용해 동작을 검증하였습니다.  하지만 변경 사항이 발생하였을 경우 매번 애플리케이션을 재기동 하여 잘

By 이상훈

MSA에서 메시징 트랜잭션 처리하기

비동기 메시지를 사용하여 상호 간에 통신하는 방식을 메시징Messaging[1]이라고 부른다. 마이크로서비스 환경에서 비동기 처리 시 보통 카프카Kafka나 래빗엠큐RabbitMQ 같은 메시지 브로커Message Broker를 사용하여 메시징을 구현한다. 아래와 같이 마이크로서비스들이 메시징을 통해 협업하여 주문을 처리한다고 가정해보자. OrderService는 주문 상태 이벤트(예. ORDER_CREATED, ORDER_CANCELLED 등)를 메시지 브로커에 발행하고 이벤트에

By 유 영모
Spring WebFlux와 Kotlin으로 만드는 Todo 서비스 – 2편

Spring WebFlux와 Kotlin으로 만드는 Todo 서비스 – 2편

* Spring WebFlux와 Kotlin으로 만드는 Todo 서비스 – 1편 * Spring WebFlux와 Kotlin으로 만드는 Todo 서비스 – 2편 * Spring WebFlux와 Kotlin으로 만드는 Todo 서비스 – 테스트 슬라이스 적용하기 개요 오늘 예제에서는 Spring WebFlux와 Kotlin으로 만드는 Todo 서비스 - 1편 에서 만들어본 예제를 기반으로 JDBC를 대체하는 R2DBC를 적용해보고 그 둘의 차이점과 R2DBC란 무엇인지 어떤 장단점이 있는지 알아보도록

By 이상훈
하이버네이트 데이터베이스 스키마 자동 생성 시 키워드/예약어 충돌 문제 해결하기

하이버네이트 데이터베이스 스키마 자동 생성 시 키워드/예약어 충돌 문제 해결하기

엔터티 클래스 이름으로 일반적으로 많이 사용하는 Order나 Group으로 만들 때가 있다. 하이버네이트Hibernate는 JPA 엔터티를 기준으로 데이터베이스 스키마를 자동 생성해 주는 기능을 제공한다. 개발 초기에는 스키마가 자주 변경되기 때문에 이 기능을 사용하면 매우 편리하다.(설정값에 따라 테이블을 DROP 하기도 하니 사용 시 주의 필요) 하이버네이트는 스키마를 자동으로 생성할 때 기본적으로 엔터티

By 유 영모
CRC는 언제쩍 기술인가요?

CRC는 언제쩍 기술인가요?

요즘 객체지향에 흥미가 있는 개발자라면 대부분 들어봤을 법한 책이 있습니다. 저도 지난 6월 27일 무려 6권이 사서 회사 동료들에게 돌립니다. 아래 그 증거가 있죠. 분명히 말하지만, 저자가 지인이라서 산 것은 아닙니다. :) 6권 구입의 나비효과 이런 경우에도 나비효과란 말을 써도 되는지 모르겠네요[1]. 책을 나눠줬더니 한 동료가 회사에서 쓰는 협업시스템dooray에 글을

By 안영회
Spring WebFlux와 Kotlin으로 만드는 Todo 서비스 - 1편

Spring WebFlux와 Kotlin으로 만드는 Todo 서비스 - 1편

* Spring WebFlux와 Kotlin으로 만드는 Todo 서비스 – 1편 * Spring WebFlux와 Kotlin으로 만드는 Todo 서비스 – 2편 * Spring WebFlux와 Kotlin으로 만드는 Todo 서비스 – 테스트 슬라이스 적용하기 개요 이 예제에서는 최근 적용 사례가 늘고 있는 Spring WebFlux 와 Kotlin을 이용하여 프로젝트를 구성해보고, 간단한 Todo 서비스를 만들어볼 것입니다. 이번 예제에선 Todo 서비스의 기본적인 기능인 내용

By 이상훈
Spring 테스트 코드 작성에 대한 나름의 고찰

Spring 테스트 코드 작성에 대한 나름의 고찰

해당 코드는 Github에 공개되어 있습니다. 스프링 기반으로 많은 테스트 코드를 작성하면서 느꼈던 나름의 고찰과 어려움을 정리하는 포스팅입니다. 사실은 테스트 코드 작성 시 효율적인 방법을 소개하는 포스팅을 진행하려 했으나 이런저런 고민들 때문에 명확한 결론이 나지 않아서 이런 고민들을 정리한 포스팅입니다. POJO 테스트는 언제나 옳다 이전에 포스팅한 Test 전략 가이드, Spring Boot

By Yun
Unit Test (단위 테스트) 도입하기 - 2편

Unit Test (단위 테스트) 도입하기 - 2편

* 원문 : https://gregor77.github.io/2019/08/16/about-unit-test/ * 관련글 : /introducing-unit-tests-1/ 이전글에서 단위 테스트의 장점과 도입하기 전에 궁금증에 대해서 알아봤다. 이제 단위테스트를 도입할 준비가 되었다면 이번글은 단위테스트 시작 시에 참조할 만한 작성 기준과 지속하기 위한 방법에 대해서 알아보겠다.  꼭 이렇게 할 필요는 없으며, 가장 중요한

By 박 성진
Unit Test (단위 테스트) 도입하기 - 1편

Unit Test (단위 테스트) 도입하기 - 1편

* 원문 블로그 주소 : https://gregor77.github.io/2019/08/16/about-unit-test/ * 관련글 : /introducing-unit-tests-2/ 지금 부서의 역할이 사내에서 제품을 가지고 있는 팀들과 협업을 하면서 기존에 문제를 해결하고 사용자 관점에서 더 가치있는 제품을 항상 딜리버리 가능한 상태로 만드는 것을 목표로 하고 있다. 기존의 문제를 해결하는 방법으로 Agile의

By 박 성진
JPA 연관 관계 조회 그리고 MSA

JPA 연관 관계 조회 그리고 MSA

먼저 아래와 같은 객체 모델이 있다고 가정해 보자. 하나의 Order(주문)는 여러 개의 LineItem(주문 품목) 가지고 각 LineItem은 하나의 Product(상품)에 의존한다. 특정 상품이 포함된 주문 목록은 어떻게 조회할 수 있을까? 가장 쉬운 방법은 객체 연관관계를 사용하는 것이다. 객체 그래프 탐색이라고 부르는 방식인데 Order 목록을 가져와 반복문을

By 유 영모