일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 티스토리
- 프로젝트
- 오라클
- 백준 알고리즘
- 리눅스
- 유사코드
- 문법 정리
- 오라클 디비
- 자바
- jsp
- hyperledger
- SQL
- 운영체제
- 알고리즘
- resilience4j
- 파이썬 소스
- spring
- 파이썬
- 학점
- K6
- auto configure
- c#
- 자바 프로젝트
- smart cast
- oracle
- gradle
- 초대장
- MongoDB
- dynamic query
- JVM
- Today
- Total
목록전체 글 (231)
모종닷컴
요즘 카프카에 푹 빠져서 살고 있습니다. 기존에는 카프카의 메타데이터 관리를 위해 Zookeeper를 사용하고 있었는데, 2.8.0 버전부터는 주키퍼에서 카프카 자체적으로 메타데이터를 관리하기 위해 Self-Managed Metadata Quorum이 추가되었습니다. 카프카 문서 KIP-500에는 주키퍼에서 새로운 Self-Managed Quorum 방식으로 전환하기 위해 Rolling Upgrade 라는 설명을 하고 있습니다. "Rolling Upgrade"라는 것은 소프트웨어의 새로운 버전을 서비스 중단 없이 순차적으로 업그레이드 할 수 있도록 지원하기 위한 방법을 말합니다. 저희도 개발하다보면 위와 같은 상황이 올 수 있습니다. 예를 들어 통신 중인 A,B 서버의 API 스펙이 변경될 때가 있는데,..
최근 카프카를 배우기 위해 책을 읽고 있는데 정말 좋았다 싶은 책들이 있어 추천드리려고 합니다. 총 2권의 책을 추천드리려고 하는데 하나는 "카프카, 데이터 플랫폼의 최강자"와 다른 하나는 "카프카 핵심가이드"입니다. 순서는 "카프카, 데이터 플랫폼의 최강자"를 먼저 읽고 나서 "카프카 핵심가이드" 책을 읽는 게 좋은 것 같습니다. 카프카, 데이터 플랫폼의 최강자 어떤 기술을 배울때 저는 아래 순서로 스터디를 하기 위해 노력합니다. 이 기술은 무엇인가? 이 기술을 사용해야 하는 이유가 무엇인가? 기술의 핵심 원리 이것을 사용하기 위한 방법 기술 응용 단순히 기술을 사용하는 방법을 익히기보다는 기술의 탄생 배경이나 핵심 원리에 관한 지식이 기반이 된 상태로 시작해야 응용 및 운영하기도 편하고 사용할 때에도..
디버깅을 하면서 주석을 열심히 읽고 있는데 익숙한 단어가 보이네요. 익숙하긴 한데 솔직히 기억은 안납니다. Reentrancy Reentrancy는 재진입성이라는 뜻을 가지고 있습니다. 주로 프로그래밍에서 자주 언급이 되는데, 가끔 시스템 디자인 쪽에서도 언급이 되는걸 본적이 있던것 같습니다. 찾아보면 뭐 여러가지 다양한 해석들이 많은데 결국 핵심은 병렬 실행이 가능한 환경에서 안전하게 실행 가능한 함수를 뜻하는 거라고 생각됩니다. 병렬 실행에서 안전하게 실행 가능하기 위해서 몇 가지 조건이 필요할텐데 위키백과에서는 그 특징 몇 개를 이렇게 나열하고 있습니다. 전역 변수를 사용하지 않는다 전역 변수의 주소를 반환하지 않는다 호출자가 제공한 매개변수만으로도 동작해야 한다 싱글턴 객체의 잠금에 의존하지 않는..
요즘 Coroutine을 학습 중에 있습니다. 좀 Deep dive를 하자는 의미에서 디버깅을 시작하는데 시작하자마자 턱 막혀버렸습니다. 오늘의 주인공 contract입니다. Coroutine에서 만든 API인 줄 처음에 착각했는데 막상 보니 코틀린 표준 라이브러리에 들어가 있는 친구였습니다. Kotlin Contract Kotlin 1.3 이후부터 지원하기 시작한 실험적인 API 코틀린 컴파일러에게 함수의 동작을 명시적으로 설명해주는 것 Kotlin Compiler 코틀린으로 작성된 소스 코드를 JVM이 이해할 수 있는 바이트코드(.class 파일)로 변환하는 일을 담당 저희가 작성한 코드를 정적 분석을 통해 바이트코드로 전환할 때 유용한 기능들이 있는데 그중 하나가 스마트 캐스트입니다 스마트 캐스트 ..
k6 결과 매트릭을 외부로 보낼 수 있습니다. Json 파일로 결과 저장 테스트할 때 사용할 스크립트는 아래와 같습니다. import http from 'k6/http'; import { check, sleep } from 'k6'; export const options = { stages: [ { duration: '3s', target: 20 }, { duration: '10s', target: 10 }, { duration: '7s', target: 0 }, ], }; export default function () { const res = http.get('https://httpbin.test.k6.io/'); check(res, { 'status was 200': (r) => r.status =..