| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- REACT
- 시뮬레이션
- 다익스트라
- JavaScript
- 이분탐색
- 그리디
- 컴퓨터 구조
- Air Table
- CI/CD
- jpa
- 펜윅 트리
- 데이터 분석
- 삼성SW역량테스트
- 수학
- dp
- 고속 푸리에 변환
- r
- 접미사 배열
- 삼성 SW 역량테스트
- Cloud Pub/Sub
- Cloud Run
- 우선순위 큐
- BFS
- 종만북
- 다이나믹 프로그래밍
- Bit
- LCS
- ICPC
- 백준 1753번
- 생활코딩
- Today
- Total
목록전체 글 (156)
코딩스토리
서론어느 순간부터 코딩 실력보다는 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의 모든 서비스를 사용할 수 있는 권한이 있지만 그만큼 탈취당했을 시 큰 위험이 따른..
개요 프로젝트에 새로운 기능을 추가하기 위해 CloudRun에 배포를 하려고 한다. 지난번 CloudRun을 사용할 때에는 CI/CD 환경을 구축하지 못했었는데 (그때 당시에는 빠르게 결과물을 내야 했고, 숙련도도 부족해서.. 핑계입니다..😭 시간 나면 이전 기능도 구축 예정) 이번에는 멘토님의 말씀처럼 개발을 시작하기 전에 CI/CD 환경을 구축해놓으려고 한다. CI/CD 환경 구축하기 기본적으로 Github을 사용하면 빠르게 CI/CD 환경을 구축할 수 있다. 물론 public으로 해야 한다는 점 등 단점이 있지만 빠르고 쉽게 구현할 수 있다는 장점이 커서 많이 사용한다고 한다. (실제로 옛날 프로젝트에서 CI/CD를 구현했을 때 꽤나 빠르게 완성했던 걸로 기억한다.) 먼저 CloudRun에 배포할 ..
현재 진행하고 있는 프로젝트에서 PlanetScale이란 DB를 사용하고 있다. 해당 DB는 서버리스 기반으로 Read Row Count로 비용을 산출한다. 즉, 몇 개의 Row에 접근했는지에 따라 비용을 내야 한다. 하지만 무료 비용이 월 10억 번 접근이기 때문에 전혀 걱정하지 않고 있었다. 하지만 어느 날 서비스 분석을 하던 중, 7억 번의 접근을 했음을 확인했다. 해당 DB는 "가사 제공 기능"과 관련하여 사용 중이다. 즉, 가사를 저장하고 있는 테이블이 주로 사용되고 있는데, 절대 저렇게 나올 수가 없다고 생각했다. 그래서 Insight를 확인해보니 아래와 같았다. 하루 동안 쿼리가 날아온 개수는 분명 717개인데, Rows read는 3900만 번이다. 즉, 한 번의 쿼리당 약 5만 번의 ro..
