분류 전체보기
-
[매일읽기] SAGA Pattern개발자 라이프/매일읽기 2020. 8. 27. 19:46
원문 : https://medium.com/@omererakman/saga-pattern-2413e636ab16 SAGA Pattern If you are working with Microservices and database per service then SAGA will be a topic for you to think about. With database per service… medium.com 문제 상황 MSA에서는 각 서비스가 각자의 DB를 가지고 있음 단순한 하나의 요청이라도 여러 서비스를 경유하는 트랜잭션이 될 수 있음 이러한 트랜잭션 과정에서 ACID 원칙이 지켜져야 함 전통적인 해결 방법으로 Two Phase Commit(2PC) 방식이 있음 NoSQL 에서 안됨 블록킹 프로토콜 사가(..
-
글또 4기 후기와 많이 늦은 상반기 회고김김 라이프 2020. 8. 16. 11:31
다사다난한 2020년 상반기였다. 그래서인지 시간도 빨리 흘렀고, 벌써 글또 4기가 끝나간다. 글또 4기 후기 글또 4기를 시작하며 2가지를 목표로 삼았다. 첫째는 계획된 글, 둘째는 많이 읽기였다. 계획된 글 첫 번째 목표였던 "계획된 글"은 카프카에 대한 11가지 주제를 미리 정하고 시리즈 글을 작성하는 것이었다. Kafka 101이라는 이름의 시리즈를 진행했고, 목표 달성률은 약 90% 정도 이뤘다. 10% 정도의 미달성은 중간에 패스를 쓰면서 통합된 주제도 있고, 대체된 주제도 있었기 때문이었다. 그래도 나름 카프카 플랫폼에 대해서 전체적으로 정리할 수 있었고, 무엇보다도 다음 주는 뭘 쓰지?라는 걱정은 안 할 수 있어서 좋았다. 나름 1인 스터디 효과를 거둔 것 같다. 다음 5기에서는 코틀린이나..
-
[매일읽기] Garbage Collection: How it’s done개발자 라이프/매일읽기 2020. 8. 16. 10:41
원문 : https://medium.com/@kasunpdh/garbage-collection-how-its-done-d48135c7fe77 Garbage Collection: How it’s done? If you are familiar with the basics of the memory allocation in programming languages, you know that there are two parts in the memory… medium.com Heap과 Stack 메모리 Stack 메모리는 스레드 실행에 사용되는 메모리 함수가 호출되면 스택에 메모리 블록이 할당되고, 그 메모리 함수의 지역 변수들이 저장됨 함수가 반환되면 할당됐던 메모리들도 해제됨 Heap 메모리는 new 등의 키워드..
-
[매일읽기] Java Integer Cache — Why Integer.valueOf(127) == Integer.valueOf(127) Is True개발자 라이프/매일읽기 2020. 8. 8. 09:59
원문 : https://medium.com/programmingmitra-com/java-integer-cache-why-integer-valueof-127-integer-valueof-127-is-true-e5076824a3d5 Java Integer Cache — Why Integer.valueOf(127) == Integer.valueOf(127) Is True posted by Naresh Joshi on November 25, 2018 medium.com 자바의 2가지 타입 primitive type : byte, char, short, int, float, double, long, boolean 메모리에 직접 값이 쓰임 reference type : primitive type 외의 객체에 대한..
-
[Kafka 운영] 1MB 이상의 메시지를 보낼 때 고려해볼만한 설정들개발자 라이프/카프카 2020. 8. 7. 00:42
들어가며 카프카는 기본적으로 1MB 이상의 큰 메시지를 고려하고 만들어진 메시지 시스템이 아닙니다. 하지만 그럼에도 1MB 이상의 메시지로 파이프라인을 구성해야 할 때가 있습니다. 예로 이미지 혹은 정말 큰 JSON 메시지로 파이프라인 구성할 때가 있습니다. 이때, 프로듀서, 브로커, 컨슈머는 그 파이프라인 성격에 맞게 직접적 혹은 간접적으로 영향을 받는 설정들을 조정해줘야 합니다. 이번 글은 각 카프카 컴포넌트들이 1MB 이상의 메시지를 보낼 때 고려해야 하는 설정들을 정리했습니다. 참고로 아래 설정들을 전부 테스트해보지 못했습니다. 몇 가지 설정은 주관적인 판단에 의해 명시되어 있습니다. 혹여나 잘못되거나 부족한 부분은 댓글로 피드백 부탁드립니다. :) 1. 프로듀서 측 1.1. 직접적인 영향을 미치..
-
[매일읽기] A short summary of Java coding best practices개발자 라이프/매일읽기 2020. 8. 6. 21:56
원문 : https://medium.com/@rhamedy/a-short-summary-of-java-coding-best-practices-31283d0167d3 A short summary of Java coding best practices based on coding standards by Oracle, Google, Twitter and Spring Framework medium.com 자바 소스 파일 한 소스 파일은 2,000 라인을 넘지 않는다. 소스 파일은 문서화된 주석과 함께 구성 패키지 선언 클래스에 관한 주석 import 부분 (static은 마지막에) 클래스/인터페이스 부분 네이밍 클래스와 인터페이스는 카멜 케이스 두문 문자와 같은 줄임말(ex. CEO) 외에 모든 단어에 적용 패키..
-
[매일읽기] Functional Patterns in Java개발자 라이프/매일읽기 2020. 8. 5. 11:17
원문 : https://medium.com/better-programming/functional-patterns-in-java-b2b781f84124 Functional Patterns in Java How to use different design patterns with functional programming in Java medium.com 프로그래밍 패턴들 행위 패턴 (Behavioral pattern) 객체 간 일반적인 상호작용을 정의하는 패턴 strategy, visitor, chain of reponsibility, template method, observer, iterator 패턴 등 생성 패턴 (Creational pattern) 객체를 생성하는 메커니즘을 포함하는 패턴 factory..
-
[매일읽기] Understanding Java threads once and for all개발자 라이프/매일읽기 2020. 8. 4. 21:45
원문 : https://medium.com/swlh/understanding-java-threads-once-and-for-all-711f71e0ec1e Understanding Java threads once and for all Sometimes, we want to perform several tasks at the same time. The computer can do this by using Threads. You might be reading this post… medium.com 스레드(Thread) 큰 데이터를 서브 셋으로 쪼개 병렬로 처리할 때 스레드로 처리할 수 있음 CPU 프로세서 코어 수 등 하드웨어 스펙에 따라 스레드 성능이 영향을 받을 수 있음 만약 스레드 수가 코어 수보다 많다..