일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- enumSet
- softeer
- MySQL
- Test Doulbe
- proxyFactory
- 일상
- RequestBody
- Server
- Coputer Science
- backend
- ExceptionResolver
- Spring
- 소프티어
- ObjectMapper
- JPA
- Test code
- 공룡책
- modelmapper
- 자바
- 인프콘2023
- FCM
- Java
- JPQL
- 테크쇼
- Test
- mapstruct
- Service 계층 테스트
- db
- OS
- Junit 5
- Today
- Total
목록분류 전체보기 (59)
공부내용공유
서론이번 글은 카프카 카프카 핵심 가이드 책을 스터디 내용을 기반으로 나중에 producer 어플리케이션을 개발할 때 참고하기 위해 참고할 사항, 설정 값들을 나열해놓은 글이다. 본문프로듀서 개요이벤트 프로듀싱 과정로직을 수행하고 있는 스레드에서 kafka의 send 메서드 호출serializing, partitioning, compressing 수행Record Accumulator 에 batch로 저장send 메서드로는 하나씩 호출하더라도 Accumulator 에 batch 로 한꺼번에 전송 (여러 배치로도 전송한다.)별도의 스레드 (Sender)에서 브로커로 전송 카프카 프로듀서 생성하기프로듀서 생성 예시코드Properties props = new Properties();props.setProp..
서론@CreateDate와 @LastModifiedDate는 Spring Data JPA를 사용했다면 한번쯤은 사용해봤거나 들어봤을 것이다. 나도 현재 진행중인 프로젝트에서 Spring Data Mongo와 함께 사용중인데 @LastModifiedDate 가 붙은 필드가 업데이트가 안되는 경우가 발생하여서 정확히 언제 어떻게 업데이트를 쳐주는지 알아야 할 것 같아서 슥 조사하고 정리해봤다. 본론 이 글의 목차는@CreateDatet와 @LastModifiedDate업데이트가 왜 안되었는가언제 어떻게 업데이트 되는건가로 구성될 예정이다. 시간이 없으면 결론만 확인하면 된다. @CreateDate와 @LastModifiedDate 어플리케이션에서 기능을 수행하든 어플리케이션에서 다루고 있는 데이터에 대한..
서론 최근 사내에서 카프카 컨슈머 어플리케이션을 개발하게되었다. 최근 들어서 어플리케이션을 개발할 때 예외처리와 로깅을 통한 디버깅의 용이성을 증대시키는 것의 중요성을 많이 느끼고 있어서 나름 열심히 알아보고 적용하였는데 해당 내용을 간단하게 정리하기 위해 글을 작성하였다. (Error Hanlder 에 관한 구체적인 내용은 검색해도 많이 나오지 않는 것 같아 해당 부분에 대해 좀 더 자세히 작성할 예정이다.) 본론 이번 글의 목차는kafka event validationspring kafka의 여러가지 error handler로 구성될 예정이다. kafka Event Validation 사실 해당 내용은 구글 검색하면 잘 작성된 spring docs로 바로 확인이 가능하다, 그래도 내 글을 한번 봐주..
서론 Put vs Patch 검색하면 알 수 있듯이 여러 사람들이 어떤 차이가 있는지, 어떤 상황에 무엇을 사용해야 하는지 헷갈려하는 사안이다. 나도 처음 개발을 할 때는 어떤걸 사용해야 하는지 감이 잘 안왔는데 지금까지 개발을 하면서 느꼈던 선택의 기준, 고민할 점에 대해 간단히 정리할 예정이다. 본론이 글의 목차는put, patch 차이어떤게 좋을까이렇게는 하지 말자.로 구성될 예정이다. Put, Patch 차이 이 둘의 차이점은 너무나도 많은 블로그 글들, 커뮤니티 글들에 자세히 나와있다, 그래도 이 글의 분량을 위해 간단히 설명하자면Put은 자원의 전체를, Patch는 자원의 일부를 업데이트 한다. (제일 직관적인 차이)Put은 멱등하고 Patch는 멱등하지 않을 수 있다. (? 사실 대..
서론 MongoDB에서는 find에서 사용되는 일반적인 문법으로는 RDBMS에서 지원하는 group by, join 과 같은 데이터 조회문을 만들 수 없다, 대신 MongoDB에서는 aggregate 라는 기능을 통해 보다 복잡한 데이터 조회문을 작성할 수 있게 해준다. 지금까지는 aggregate 기능을 사용할 일이 없었는데 이번 배치 작업에서 사용할 일이 생겨서 이번 기회에 aggregate에는 어떤 기능들이 있고 나는 어떻게 사용했는지 간단히 정리할 예정이다. 본론 이번 글의 목차는aggregate 알아보기사용 예시 (with Mongo Template)으로 구성될 예정이다. aggregate 알아보기aggregate는 위에서도 말한 것처럼 보다 복잡한 질의문을 지원해주고 파이프라인을 만들..
서론현재 진행중인 프로젝트에서 대규모 데이터 처리를 하기위해 Spring Batch를 사용하게 되었다. 다른 팀원이 맡고 있는 프로젝트에서도 Spring Batch를 사용하고 있지만 MySql을 사용하고 있는 프로젝트이고 MongoDB를 대상으로 사용하는 프로젝트는 없는 상태이다, 그래서 Spring Batch를 공부한 내용과 MongoDB와 사용할 때 알면 좋은 점을 간단히 정리하고자 이 글을 작성하였다. 본론 이 글의 목차는Spring Batch를 왜쓸까?Spring Batch 간단한 소개Mongo와 사용할 때 알면 좋은 것들로 구성될 예정이다. Spring Batch를 왜 쓸까? 어플리케이션을 개발하다 보면 대규모의 데이터를 처리해야하는 기능이 생기기 마련이다. 예를 들자면 전체 상품 거래 통..
서론 현재 진행중인 이펙티브 자바 스터디에서 예외 처리에 관련한 파트를 공부하게 되었다, 스터디를 준비하기위해 여러 예외, 예외 처리 관련한 글을 찾아보고 또 개발을 하면서 경험한 내용들을 정리하고자 이 글을 작성하였다. 본론 해당 글의 목차는예외 처리의 중요성커스텀 예외에 관하여계층별 예외의 분리으로 구성될 예정이다. 예외 처리의 중요성 프로그램을 만들다 보면 시스템 내부, 사용자의 잘못된 요청, 기능상으로 프로그램의 정상적인 흐름을 멈춰야 할 때가 있다, 이 중에는 코드상으로는 고칠 수 없는 케이스(java 에서는 error로 분류되는)와 코드상으로 재시도를 하거나 어떠한 처리를 하고 다시 이전의 흐름으로 돌리는 케이스 등이 있다. 이 정상적인 흐름을 멈추고 처리하는데 있어서는 여러가지 방법이..
서론 이전 글에 이어서 이번에는 redis의 persistence 기능을 공부하였다, Redis는 메모리를 활용함으로 높은 퍼포먼스를 낼 수 있지만, 서버가 도중에 꺼졌을 때, 특정 작업을 원복해야할 때 등등 다양한 시나리오에 대응하기 위해서는 persistence의 도움이 필요하다. Redis는 AOF, RDB를 통해 persistence 기능을 지원하는데 각각 어떤식으로 작동하고 어떻게 사용하는지 정리할 예정이다. 본론 이번 글의 목차는AOF란RDB란무엇을 사용해야할까으로 구성될 예정이다. RDB(Redis DataBase)란? 스냅샷이란? 일단 SnapShot 이라는 개념을 간단히 알아보자. SnapShot은 Redis뿐만 아니라 다양한 소프트웨어에서 사용하는 기법으로 특정 시점에 데이터 저장..
서론 최근 프로젝트를 진행하면서 풀어야할 요구사항이 있었는데 여러가지 방법이 있었지만 redis를 사용하면 어떨까 싶은 생각이 들었었다, 다만 redis를 사용해야하는 이유에 대해서는 단순히 in-memory라 빨라서, 여러 서버에서 접근이 가능해서 등등 추상적인 답변만 떠오르고 정확히 어떻게 동작하고 어떤 기능을 지원하는지 설명할 수 없었다. 이전에 들었던 redis 관련 세션 복습겸, 내용 정리를 한번 더 하고자 해당 글을 작성하였고 이번 글에서는 redis가 일반 db(disk를 주로 사용하는)보다 왜 빠른지에 대한 내용을 다룰 것이다. 본론 해당 글은 목차는Redis 간단하게 알아보기Redis는 싱글 스레드?Redis는 왜 빠를까?로 구성될 예정이다. Redis 간단하게 알아보기 redis는..
서론 사내 프로젝트중 node(type script)로 구현되어져 있는 프로젝트들이 몇 개 있는데 그 중 하나를 업무로 맡게되었다. 지금까지 자바만 사용을 했었고 express와 sequalizer라는 프레임 워크를 사용하여 프로젝트의 구조도 익숙치 않아 조금 낯설었으나 GPT 한테 열심히 물어보고 검색해가면서 열심히 업무를 진행하고 있다. 마침 최근에 공부했던 함수형 프로그래밍의 개념을 좀 더 살려서 개발을 하고 싶기도 하고 node 자체에 대한 이해도가 부족한것 같아 node의 기본적인 메커니즘을 공부하고 정리하고자 이 글을 작성하였다. 본론 이 글의 목차는node의 event loopmodule cachecall by sharing로 구성될 예정이다. node의 event loop 예전에 j..