Celery 에 대해 알아보자 01
Celery Celery 란? Celery 란 분산 메시징에 기반을 둔 비동기 작업 큐입니다. 주로 파이썬, 특히 장고와 결합되어 사용됩니다(다른 언어도 상관 없음!) Celery 의 특징을 뽑자면 다음 10가지 입니다. 분산성 : 워커들은 여러개의 머신에 배포될 수 있습니다. 브로커 : 메시지 브로커는 클라이언트와 워커 사이를 중계...
Celery Celery 란? Celery 란 분산 메시징에 기반을 둔 비동기 작업 큐입니다. 주로 파이썬, 특히 장고와 결합되어 사용됩니다(다른 언어도 상관 없음!) Celery 의 특징을 뽑자면 다음 10가지 입니다. 분산성 : 워커들은 여러개의 머신에 배포될 수 있습니다. 브로커 : 메시지 브로커는 클라이언트와 워커 사이를 중계...
다중 데이터베이스 환경에서 더티체킹이 발생하지 않았다. 최근 Spring Boot와 JPA를 사용하는 다중 데이터베이스 환경에서 흥미로운 문제를 겪었습니다. JPA의 더티 체킹(dirty checking)이 제대로 동작하지 않아 엔티티의 변경사항이 데이터베이스에 반영되지 않는 현상이 발생했죠. 이 글에서는 문제의 원인과 해결 과정을 공유하고자 합니다...
코프링과 코루틴에서 SSE 를 사용해보자 코프링에서 SSE 를 사용해서 알림 기능을 구현해보겠습니다. MongoDB Kotlin Spring Boot Coroutine 왜 SSE 인가요? 알림 기능을 구현하기 위해서 가장 먼저 고려한 옵션은 롱풀링과 소켓 방식이었습니다. 그러나 토이 프로젝트 특성 ...
이펙티브 엔지니어 후기입니다. 지금까지 해온 여러 일들 중에, 단순한 기능을 구현하기 위한 일도 있었고, 팀의 귀찮은 반복 작업을 제거하기 위한 일도 있었고, 동료의 생산성을 올려주기 위한 일도 있었습니다. 팀을 위한 일, 다른 동료를 위한 일을 하는 것은 그 자체로 보람찬 일이지만 그 일을 하는 것이 ‘레버리지’가 좋은 일이라는 것을 이...
JVM 밑바닥까지 파헤치기 후기입니다. 이 책을 읽게된 계기는 다음과 같은 브런치 글을 접했기 때문입니다. JVM 밑바닥까지 파헤치기 탄생 비화 이런 노력을 통해서 번역을 하신 책이라면 믿고 봐도 되지 않을까라는 생각이 들었고, 출시되자마자 바로 구입해서 읽었습니다. 5월부터 읽었으니 4개월에 걸쳐서 읽었는데 그만큼 책의 내용이 방대...
자바와 스레드 안정성 스레드 안정성이라는 용어는 무엇일까요? Java Concurrency In Practice 에 따르면 다음과 같습니다. 여러 스레드가 한 객체에 동시에 접근할 때, 다음 두 조건을 충족하면서 객체를 호출하는 행위가 올바른 결과를 얻을 수 있는 것입니다. 1. 특별한 스레드 스케줄링이나 대체 실행 수단을 고려할 필요 없다...
자바와 스레드 스레드는 프로세스보다 가벼운 스케줄링 단위입니다. 프로그램에서 스레드를 구현하기 위해서는 3가지 방법이 존재합니다. 커널 스레드 구현(커널 스레드와 프로그램 스레드의 1:1 매핑) 사용자 스레드 구현(커널 스레드와 프로그램 스레드의 1:N 매핑) 하이브리드 구현(커널 스레드와 프로그램 스레드의 M:N 매핑) 자바에서...
자바 메모리 모델과 volatile 키워드 volatile 키워드는 자바 가상 머신이 제공하는 가장 가벼운 동기화 메커니즘이지만, 저를 포함한 많은 개발자들이 synchronized 를 주로 활용하고는 합니다. 이번 게시글에서는 volatile 키워드에 대한 이해도를 높일 수 있도록 내용을 정리해보고자 합니다. volatile 키워드는 2개의 특...
깃헙 workflows 로 테스트 결과를 자동으로 comment 로 남기자 github 에서 pr 을 생성한 후, 테스트 결과를 자동으로 comment 로 남겨줄 수 있도록 actions 를 추가해주자. forked repository 가 아닌 경우 forked repository 가 아닌 경우에는 간단하다. # workflow의 이름을 ...
테스트 싱글 컨테이너 개선기 사이드 프로젝트를 하면서, 테스트 컨테이너를 싱글로 띄우는 형식으로 변경한 경험을 공유하고자 합니다. 사용중인 주요 기술 스택은 다음과 같습니다. Kotlin, Spring Boot, Kotest, MongoDB, TestContainer, Coroutine AS IS : 테스크 클래스 별 MongoDB Co...