프록시와 AOP
들어가기 전에
들어가기 전에
들어가기 전에
Transaction 밖에서도 계속 select + update query가 발생해 찾아보던 중 OSIV에 대해 알게되어 공부하고, on/off 여부에 따른 평균 응답 시간 개선까지 확인한 것을 정리했다.
알고 있던 것
Java8 부터 지원한 stream을 사용하면서 filter, map, flatMap, collect가 어떤 기능을 위해 쓰는지는 필요에 의해 검색해가며 알긴 했지만, stream에 대해 궁금증이 생겼을 때 일단 동작하니 넘겼던 지난날의 근본없음을 반성하는 마음으로 공부해보게...
팀에서 개발하고있는 project가 spring-boot-starter-web, spring-boot-starter-webflux 둘 다 dependency에 추가 하고 사용하고 있어, 어떻게 돌아가는지 궁금해서 알아보기로 했다.
Mono, Flux를 사용하면서 리액티브라는 용어를 정확히 알고있다고 생각하지 않아, 기본 개념부터 하나 씩 이해해보려고 한다. JS를 할때는 V8 engine이 어떻게 이벤트 루프를 처리하는지 등의 내용을 읽어봤는데, Java의 동작 방식은 잘 나와있지 않아 이에대한 궁금증...
로그 출력 시 이메일 등의 개인 정보를 * 로 masking 해야하는 경우가 생겼다. 이 때 masking을 직접 구현하지 않고도 쓸 수 있는 방법이 있을 것 같아 찾아보는 중 Custom Annotation을 알게되면서 Annotation을 더 알아보고싶다는 생각이 들었다.
TypeReference 관련해서 찾아보다가 Generic 부터 제대로 알지 못하고 있다는 느낌을 받게 되었고, 기본적인 것 부터 다시 학습해보고 정리한다.
Sock.IO의 Multi Namespace를 사용하며 고민한 글입니다.
들어가기 전에
실시간 서비스를 보장하는 웹 애플리케이션 서버를 어떻게 구성할지에 대해 고민한 글입니다.
6주간 Backend 개발을 하면서 협업 process에서 개선해야할 점들을 파악하고 개선 사항에 대하여 공유합니다.
docker를 왜 써야할까?
MongoDB를 쓰면서 생각했던 일련의 과정들을 담고있습니다.
상황에 따라 프로젝트와 가장 적합한 데이터베이스를 검토 및 결정해보자
Error Slack bot으로 편하게 에러를 확인해 보자
들어가기에 앞서
들어가면서
들어가기 이 글은 java spring 프로젝트에서 websocket stomp 메세지를 전달하는 기능을 구현하기 위해 찾아본 사혼의 조각을 정리한 것이다.
들어가기 정보의 바다 속에서 내가 원하는 정보만 찾기가 어렵다. 어쩔 땐 제대로 된 강의나 책을 읽는 것이 더 나을 때가 있다..!
앞서 정리한 개념 내용을 실제 DB를 띄워서 RealMySQL 8.0 책의 실습 내용을 더해보기로 했다.
클러스터 인덱스, 유니크키, 외래키 같은 기본 개념은 알고있었는데, InnoDB가 실제로 어떻게 인덱스 탐색을 하는지 궁금해서 공부했다.
DBMS의 격리성 수준은 알고있었으나 내부적으로 어떻게 동작하는지는 알지 못했다. 데드락 문제를 마주하면서 기본은 알고있어야 나중에 트러블 슈팅하기 수월할 것 같아서 MySQL 책을 구매했다.
운영 업무만 처리하고 있던 기간에 처리율 제한 장치 업무가 들어왔다. 팀에서 사용하지 않았던 기술이라 검토부터 적용까지 스스로 해나아간 과정들이 즐거워서 실수들이 있었지만 배포가 끝난 시점에 회고 겸, 사내 컨플루언스에 적었던 글에 보완해 다시 작성해본다.
문제점 EC2에서 kafka와 spring socket server간의 통신을 설정하면서 로컬에서 localhost:29092로 broker 주소를 설정해 잘 동작했으나, server를 docker로 이미지화 하여 배포 시, localhost가 docker 내부에만 갇혀 통신을 하...
8월에 시작한 단위 테스트 스터디가 끝났다! 11주 동안 스터디에 한 번도 빠지지 않고, 시간이 없어서 공부를 못해도 스터디 전날 새벽까지 바득바득 다 읽고 정리해서해서 참석했다. 학습 정리 Notion 링크 공부를 하게 된 계기 단위 테스트는 특히 작년 이맘 때 부터 계속 오랫...