일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Test
- JPA
- MySQL
- Server
- enumSet
- ExceptionResolver
- 테크쇼
- FCM
- OS
- 소프티어
- Test code
- db
- Java
- RequestBody
- proxyFactory
- 공룡책
- Service 계층 테스트
- JPQL
- backend
- modelmapper
- mapstruct
- Coputer Science
- 인프콘2023
- Spring
- ObjectMapper
- 일상
- softeer
- 자바
- Junit 5
- Test Doulbe
- Today
- Total
목록Server (25)
공부내용공유
서론이번 글은 카프카 카프카 핵심 가이드 책을 스터디 내용을 기반으로 나중에 producer 어플리케이션을 개발할 때 참고하기 위해 참고할 사항, 설정 값들을 나열해놓은 글이다. 본문프로듀서 개요이벤트 프로듀싱 과정로직을 수행하고 있는 스레드에서 kafka의 send 메서드 호출serializing, partitioning, compressing 수행Record Accumulator 에 batch로 저장send 메서드로는 하나씩 호출하더라도 Accumulator 에 batch 로 한꺼번에 전송 (여러 배치로도 전송한다.)별도의 스레드 (Sender)에서 브로커로 전송 카프카 프로듀서 생성하기프로듀서 생성 예시코드Properties props = new Properties();props.setProp..
서론 최근 사내에서 카프카 컨슈머 어플리케이션을 개발하게되었다. 최근 들어서 어플리케이션을 개발할 때 예외처리와 로깅을 통한 디버깅의 용이성을 증대시키는 것의 중요성을 많이 느끼고 있어서 나름 열심히 알아보고 적용하였는데 해당 내용을 간단하게 정리하기 위해 글을 작성하였다. (Error Hanlder 에 관한 구체적인 내용은 검색해도 많이 나오지 않는 것 같아 해당 부분에 대해 좀 더 자세히 작성할 예정이다.) 본론 이번 글의 목차는kafka event validationspring kafka의 여러가지 error handler로 구성될 예정이다. kafka Event Validation 사실 해당 내용은 구글 검색하면 잘 작성된 spring docs로 바로 확인이 가능하다, 그래도 내 글을 한번 봐주..
서론 MongoDB에서는 find에서 사용되는 일반적인 문법으로는 RDBMS에서 지원하는 group by, join 과 같은 데이터 조회문을 만들 수 없다, 대신 MongoDB에서는 aggregate 라는 기능을 통해 보다 복잡한 데이터 조회문을 작성할 수 있게 해준다. 지금까지는 aggregate 기능을 사용할 일이 없었는데 이번 배치 작업에서 사용할 일이 생겨서 이번 기회에 aggregate에는 어떤 기능들이 있고 나는 어떻게 사용했는지 간단히 정리할 예정이다. 본론 이번 글의 목차는aggregate 알아보기사용 예시 (with Mongo Template)으로 구성될 예정이다. aggregate 알아보기aggregate는 위에서도 말한 것처럼 보다 복잡한 질의문을 지원해주고 파이프라인을 만들..
서론 현재 진행중인 이펙티브 자바 스터디에서 예외 처리에 관련한 파트를 공부하게 되었다, 스터디를 준비하기위해 여러 예외, 예외 처리 관련한 글을 찾아보고 또 개발을 하면서 경험한 내용들을 정리하고자 이 글을 작성하였다. 본론 해당 글의 목차는예외 처리의 중요성커스텀 예외에 관하여계층별 예외의 분리으로 구성될 예정이다. 예외 처리의 중요성 프로그램을 만들다 보면 시스템 내부, 사용자의 잘못된 요청, 기능상으로 프로그램의 정상적인 흐름을 멈춰야 할 때가 있다, 이 중에는 코드상으로는 고칠 수 없는 케이스(java 에서는 error로 분류되는)와 코드상으로 재시도를 하거나 어떠한 처리를 하고 다시 이전의 흐름으로 돌리는 케이스 등이 있다. 이 정상적인 흐름을 멈추고 처리하는데 있어서는 여러가지 방법이..
서론 사내 프로젝트중 node(type script)로 구현되어져 있는 프로젝트들이 몇 개 있는데 그 중 하나를 업무로 맡게되었다. 지금까지 자바만 사용을 했었고 express와 sequalizer라는 프레임 워크를 사용하여 프로젝트의 구조도 익숙치 않아 조금 낯설었으나 GPT 한테 열심히 물어보고 검색해가면서 열심히 업무를 진행하고 있다. 마침 최근에 공부했던 함수형 프로그래밍의 개념을 좀 더 살려서 개발을 하고 싶기도 하고 node 자체에 대한 이해도가 부족한것 같아 node의 기본적인 메커니즘을 공부하고 정리하고자 이 글을 작성하였다. 본론 이 글의 목차는node의 event loopmodule cachecall by sharing로 구성될 예정이다. node의 event loop 예전에 j..
서론 이번주에 진행한 스터디의 주제는 스트림이었다. 스트림의 문법, 여러 사용 예시 등을 공부하고 정리하면서 내 이목을 가장 많이 끈것은 함수형 프로그래밍이라는 키워드였다. 자바의 스트림은 함수형 프로그래밍을 지원하기 위해 도입되었기에 서치를 하면서 함수형 프로그래밍에 대한 여러 자료들을 접할 수 있었고 이번 기회에 확실히 개념을 정리하고자 이 글을 작성하였다. 본론 해당 글은 기본적인 자바의 문법을 알고있다는 가정하에 글을 작성하였다. 목차는함수형 프로그래밍이란?자바에서 함수형 프로그래밍을 사용하기 위한 방법들로 이루어질 예정이다. 함수형 프로그래밍이란? 일단 함수형 프로그래밍에 대해 간단히 알아보자, 널리 알려진 프로그래밍 패러다임을 카테고리화 하면 아래와 같이 정리가 될 것이다.명령형 프로그래밍절..
서론 아주 예전에 자바 공부를 할 때 'inner 클래스는 비정적으로 사용하면 메모리 누수가 일어나니 조심하자' 라는 내용의 블로그 글을 본적이 있었고 어렴풋하게 내 머리에 남아있었다. 그러던 도중 이펙티브 자바 item 24. 멤버 클래스는 되도록 static으로 만들어라 라는 주제에 대해 스터디를 하면서 비정적 멤버 클래스(non-static) , 정적 멤버 클래스(static)의 차이와 어떤 때 사용하게 되는지 알게 되었고 해당 글에서 간단히 정리할 예정이다. 본론이 글은 자바의 멤버 클래스 (inner class)와 static에 대한 기본적인 이해가 있다는 가정하에 작성되어졌다. 목차는비정적 멤버 클래스를 사용했을 때 생길 수 있는 문제점HashMap은 이걸 사용한다.문제가 있을 수 있나?로 ..
서론 이펙티브 자바 스터디에서 item 23 태그달린 클래스보다는 클래스 계층 구조를 활용해라라는 주제에 대해 팀원들과 얘기를 나누고 얼마 지나지 않아 오브젝트라는 도서에서 비슷한 주제를 보게 되었다. 이번 글에서는 두 책에서 다루는 클래스 계층 구조 (상속) 과 태그 달린 클래스 방식의 장,단점을 정리할 예정이다. 본론이 글의 목차는태그 달린 클래스계층 구조를 활용한 클래스어떤게 더 좋을까로 이루어져있다. 태그 달린 클래스 태그 달린 클래스란 무엇일까? 코드로 예시를 보면 빠르게 이해가 가능할 것이다.public class User { long id; String name; long level; Address address; UserType userType;}public ..
서론 어떤 기능을 구현하면서 글자 수가 제한되어 있는 중복되면 안되는 랜덤 문자열을 만들어야했다, 글자 수가 제한이 안되어 있다면 uuid, hash 등 다양한 방식을 편하게 사용할 수 있었지만 그렇지 못했기에 이것 저것 찾아보았다. 이번 글에서는 찾아보면서 알게된 랜덤 값을 만드는 클래스, 클래스들의 특징등을 정리할 예정이다. 본론 해당 글은 자바에 구현되어져있는 클래스와 라이브러리를 다룬다. 다른 언어를 사용하는 사람들에게는 큰 도움이 되지 않을 것 같다.글의 목차는랜덤하고 유니크한데 길지는 않은 쌈@뽕한 문자열RandomApache Common (RandomString, RandomUtil ...)Secure Random이렇게 구성될 예정이다. 1. 랜덤하고 유니크한데 길지는 않은 쌈@뽕한 ..
서론 MongoDB는 다양한 장점이 있고 그 중 샤딩과 관련된 유용한 기능들을 제공하는 것도 큰 장점이다. 오늘은 샤딩과 관련하여 이것 저것 테스트를 하기 위해서 로컬에다가 샤딩 환경을 구성하면서 공부한 샤딩과 관련된 내용을 정리할 예정이다. 본론 이번 글의 목차는 - sharding cluseter 만들기- sharding 적용해보기 로 구성되어져 있다. (만약 샤딩이 정확히 뭔지 모르는다면 해당글을 참고하자.) sharding cluster 만들기 샤딩을 위한 shard cluster는 로컬에서 docker로 간단히 만들었고router 1개config DB 1개 (replica set)shard DB 2개 (replica set)이렇게 구성하였다. config 서버의 경우에는 docker로 작성..