| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 시뮬레이션
- Air Table
- JavaScript
- 다이나믹 프로그래밍
- 삼성SW역량테스트
- 종만북
- 삼성 SW 역량테스트
- 데이터 분석
- r
- Bit
- jpa
- REACT
- 접미사 배열
- 생활코딩
- 그리디
- 펜윅 트리
- CI/CD
- ICPC
- dp
- 컴퓨터 구조
- BFS
- 수학
- LCS
- 고속 푸리에 변환
- Cloud Run
- 이분탐색
- Cloud Pub/Sub
- 다익스트라
- 백준 1753번
- 우선순위 큐
- Today
- Total
목록전체 글 (158)
코딩스토리
서론흔히들 Monolithic과 MSA 이 두 아키텍처에 대해서는 들어본 적이 있을 것이다.각 아키텍처의 장단점은 뚜렷하다. 그리고 방향성 역시 뚜렷하다. 작은 규모의 팀은 모놀리틱 구조에서 시작해서 서비스가 커지면서 분리할 필요성이 느껴질 때 마이크로서비스 환경으로 넘어가는 것을 고려하면 된다는 것이 학계? 의 정설이었던 것 같다. 전환 과정을 직접 경험해 본 사람으로서 생각해 보면, 상황에 맞게 판단해야 하지만 확실한 건 한 번 진행하면 되돌리기는 쉽지 않다. 당시에 내가 느꼈던 문제점들은 명확했다.- 혼재되어 있는 비즈니스 로직과 스파게티성 코드들- 조직개편으로 인한 담당 도메인 및 역할 분리- 언제 분리될지 모르는, 하지만 또 언제 다시 합쳐질지 모르는.. A 도메인 로직을 개발하려다 보면, ..
서론어느날, 팀원분이 "kafkatemplate의 send 메서드가 비동기로 동작하고 있지 않은것 같은데요??" 라고 얘기하셨다. 나는 분명 비동기로 동작하는것을 의도했고 그렇게 코딩했다고 생각했지만, 근거가 있던 질문에 답변하기 위해 테스트를 진행했고, 놓쳤던 부분들이 있어서 이 글을 쓰게 되었다. 카프카 프로듀싱 (kafkatemplate.send())가 진짜로 비동기로 작동하는가? 진행했던 테스트는 아래와 같았다.1. Api start2. 10초 sleep3. Sleep 하는 사이에 토픽 삭제4. 10초 지난 뒤 kafka 프로듀싱[예상] 비동기이기 때문에 에러는 따로 떨어지고 api는 바로 응답이 와야함 결과 : Error while fetching metadata with correlation ..
서론어느 순간부터 코딩 실력보다는 AI 활용 능력이 더 중요하게 평가받는 시대가 온 것 같다. 언젠가 Youtube 영상에서 AI 활용에 대한 내용을 본 적이 있었다. 개발자가 얼마나 잘 활용하느냐에 따라서 생산력이 어마무시하게 차이가 난다는 영상이었다. (이게 무려 1년 전 영상인데.. 벌써 그 차이는 얼마나 벌어졌을지 감도 안 잡히네요..) 그리고 AI 토큰을 무자비하게 소모하는 게 개발을 잘하는 게 아니라, 토큰을 어떻게 활용하느냐가 중요하다는 그런 느낌. 요즘 들어 더 동의하는 내용이다. 내 생각엔 그 출발점에 AI 활용 툴이 있는 것 같다. 정말 초창기에는 GPT나 Claude Desktop 앱에 채팅으로 물어보고 답변을 받으며 단순히 검색 엔진을 대체하는 정도의 용도로 사용했었다. (기억이 새..
서론서비스를 하다 보면 크고 작은 장애를 접하게 된다. 요즘 들어서는 이런 장애 경험이 정말 큰 자산이 되고 있음을 느끼고 있는중이다.최근에 있었던 장애를 회고하면서, http timeout에 대해서 관성적으로만 넘어가던 부분들이 있었다는것을 느꼈고, 다시 간단하게 정리해보려고 한다.Timeout 이란?Timeout이란, 호출자(caller)가 대상(target)에 요청을 보낼 때 "연결 → 송신 → 응답 대기 → 수신" 중 어느 단계든 정해진 시간 안에 끝나지 않으면, 해당 호출을 실패로 처리하고 점유한 자원을 회수하는 메커니즘이다. 여기서 호출자는 사용자의 단말(앱,웹 브라우저)일 수도 있고, 다른 서버를 호출하는 서버일 수도 있다. 왜 필요한가?이 글을 쓰게 해준 장애상황은 Timeout이 없어서가..
서론개발을 하다 보면, 문득 드는 의문점으로부터 많은 것들을 얻는 것 같다.graceful shutdown에 관련된 부분도 어느날 문득 kafka consumer의 안정성에 대한 고민을 시작하면서 깊이 파보게 됐었다.컨슈머 서버가 셧다운 됐을 때, graceful 하게 종료되지 않는다면 컨슈밍 하려는 메시지의 유실이 가능하다. 물론 복구 처리가 되어있지만, 완벽한가?라는 질문에 답할 수 없었다.현재는 로직이 수행되는 중 서버가 종료됐을때, ack 시점에 따라서 중복 로직을 탈 수도 있고 혹은 로직을 다시는 안타는 경우가 생길 수도 있다. 모든 로직이 이걸 고려해서 설계되었는가? 이 서버를 개발하던 모두가 이 부분을 인지하고 있었을까?이 외에도 @Async api를 사용하는 api 서버 역시 같은 질문이 ..
# 해당 포스팅은 "카프카-데이터 플랫폼 최강자 (저자 고승범)" 도서를 읽으며 공부한 내용입니다. 서론 카프카를 공부하기 전에 이미 여러 블로그들을 보면서 프로듀싱 서버와 컨슈머 서버를 구성했다. 하지만 정말 "pub sub 구조"라는 단편적인(단편을 넘어서 거의 백지상태😂) 지식만을 가진 상태로 구현하다 보니 많은 궁금증들이 생겼다. 그래서 이 글에서는 내가 느꼈던 궁금증들을 토대로 공부한 내용을 정리해보려고 한다. 카프카의 기본 개념에 대해서는 이미 많은 블로그들이 잘 정리해 놓았기 때문에 이 부분은 패스!! 나도 크게 세 가지 개념 정도만 알고 이 책을 읽었기 때문에 아래 내용들에 대해서 알고 있다면 글을 읽는데 무리가 없을 것이다. (아래 질문에 대해서 예시 답변정도로만 답할 수 있다면 충분!!..
2023 카카오 신입개발자 블라인드 채용이 9월 초 시작되었습니다. 카카오는 블라인드 채용이기 때문에 서류 접수까지 10초 정도의 시간밖에 걸리지 않습니다. (물론 자신의 이름과 전화번호를 알고 있다면 😆) 1차 코딩테스트 소프트웨어 마에스트로 활동을 하면서 바쁜 일상을 보내다 보니, 어느새 어렵고 어렵다는 카카오 코딩테스트 1차 날이 다가왔습니다. 카카오는 1차 코테를 5시간 동안 진행합니다. 이미 작년, 재작년 카카오 1차 코테를 봤었고, 시간도 많고 구글링이 가능하다면 충분히 통과할 수 있을 거란 자신감이 있었습니다. 하지만 생각보다는 아슬아슬했던 것 같습니다. 문항별로 배점이 다르다는 소문이 있었는데 실제로 그런 것 같기도..? 2차 코딩테스트 2차 코딩테스트는 준비 없이는 사실상 합격이 불가능한..
프로젝트를 진행 중에 Spring 서버에서 Dynamo DB를 사용해야 할 일이 생겼다. 그래서 여러 자료를 찾아보려고 구글링 했는데 이상하게 자료가 많지 않았다. 특히 gradle을 사용하는 자료는 거의 없었다. 왜지..? (Spring으로는 Dynamo DB를 잘 안 다루나요...? 🧐) 나는 기존에 구현했던 AWS S3 코드를 비교해가며 구현하긴 했는데 만약 이런 경험이 없다면 구현하기 쉽지 않을 것 같다. 그래서 이 기회에 코드를 남겨놓으려고 한다. 먼저 대부분의 블로그에서 말해주고 있듯이 AWS IAM을 생성해야 한다. IAM은 쉽게 말하면 권한을 가지고 있는 부계정을 생성해주는 것인데 내 Root 계정은 AWS의 모든 서비스를 사용할 수 있는 권한이 있지만 그만큼 탈취당했을 시 큰 위험이 따른..
