분류 전체보기 276

아프니까 청춘이다

"아프니까 청춘이다" 책의 저자 김난도 씨는 사실 아직도 논란이 많이 되고 있고, "청년층의 적"처럼 여겨지기도 한다.하지만 개인적으로 이 말은 어느정도 맞다고 생각하는 부분이 있어, 조금은 꼰대같을 수 있겠지만 대나무숲처럼 끄적여본다."시스템"화가 잘 되어있는가나는 주변 사람들이 원치 않는 일을 겪었을 때, 대부분의 문제는 시스템 탓이라고 이야기한다.누군가를 위로하거나 응원해줄 때 자주 이야기해주는 말이지만, 사실 속으론 하지 못한 말이 있다.그 시스템을 바꿀 수 있는 것도 사람이다. 그 문제는 이미 "시스템화"되어 있어, 나 뿐만 아니라 그 다음사람도, 그 다다음 사람도 겪게 된다.그 시스템을 바꾸려면, 일시적인 손해(비용)이 발생하기 마련이다.그때, 나는 "이를 감당할 자신이 있는가?"를 물어봐야 ..

[PinIt] Dependency 도메인과 Schedule 도메인 간의 연관관계 풀기

문제가 되는 비즈니스 로직일정 간의 사이클 검사Dependency는 from/to 두 개의 schedule을 알고 있다.CycleChecker는 그 중 indegree가 0인 임의의 schedule을 잡고, 의존관계를 탐색하며 사이클이 존재하는지를 파악한다.일정 삭제일정 삭제 시, 해당 일정을 알고 있는 모든 의존관계를 제거한다.즉, Dependency 추가와 삭제 모두 관련된 모든 일정이 관리한다.이전 일정이 완료되었는지 확인일정은 이전 일정을 직접 알고있지 않다.Dependency라는 엔티티를 거쳐서 알고 있다.from.isCompleted()로 사전 완성 일정 체크 일정 간의 사이클 검사일정 간의 사이클 검사에는 Schedule 정보가 필요하지 않다.따라서, ownerId로 해당 사용자의 모든 연관..

2025년 10월 5주차 회고

항상 무언가를 수행하기.체계적인 상태를 유지하기.보상 체계를 깨끗히 유지하기.다음에 무엇을 해야 할 지 상상하기.이번주에 한 것ADsP쉽다과하게 준비한 감도 없잖아 있지만, 유의미한 학습이었다.쿠팡카페 알바카카오 2차 코테마이다스 코테이번주에 하지 못한 것핀잇 프론트 (미완)디자인 토큰 완성레이아웃/라우팅 스켈레톤컴포넌트 조립다음주에 할 수 있는 것핀잇 프론트 (미완)디자인 토큰 완성레이아웃/라우팅 스켈레톤컴포넌트 조립시행착오다음주에 할 수 없는 것쿠팡Double DQN 논문 리뷰코틀린 코루틴 학습 다음주에 해야하는 것프로그래머스 AI추천 문제 풀기면접용 CS 재정리 → 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 정리

DB 설계와 쿼리 최적화

주의: 본 내용은 DB 내용에 대한 기초 지식이 어느정도 있음(DB 스캔의 작동 방식)을 가정하고 작성되었습니다.DB는 백엔드에서 가장 중요한 역할을 수행한다.DB 성능은 연동하는 모든 서버 성능에 영향을 주기 때문에, DB에 존재하는 기능을 전문가 수준으로 깊이 이해할 수 있다면 이상적이겠지만 조금만 신경 써도 DB 성능 문제를 충분히 줄이거나 없앨 수 있다.인덱스 설계예상하지 못한 테이블 풀 스캔은 DB 성능에 좋지 않은 영향을 끼친다.이를 피하기 위해서 보통 인덱스를 사용하는데, 이때 인덱스를 제대로 알고 써야 원하는 성능 효율을 얻을 수 있다.인덱스는 조회 패턴을 기준으로 설계해라.단일 인덱스 vs 복합 인덱스의 차이를 고려해라선택도(Selectivity)를 고려해라가능하다면, 커버링 인덱스를 활..

사내 정치는 제로섬이 아니라 윈윈이다.

필자는 사내 정치에 대한 개인적인 기준을 세워두지 못한 상태였다.이 상태에서 다양한 기업에서 면접을 진행하며, 해당 부분에 대한 면접 질문이 들어왔을 때, 깔끔하게 대답할 수 없었다. 그런데 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식(최범균 著) 도서에 대해 내용을 학습하면서, 중요한 인사이트를 얻을 수 있었다. 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 | 최범균 | 한빛미디어 - 예스24실무에서 자주 겪는 다양한 문제를 효과적으로 해결하는 법서비스 환경에서는 커넥션을 닫지 않아 서버가 멈추고 외부 API의 지연이 전체 장애로 번지며 사소한 설정 실수가 사용자 전체에 영향www.yes24.com 새로 추가할 쿼리가 기존에 존재하는 인덱스를 사용하지 않을 때에는 요구사항을 일부 변경..

느려진 서비스, 어디부터 봐야 할까?

본 내용은 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 도서를 참고하여 작성되었습니다. 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 | 최범균 | 한빛미디어 - 예스24실무에서 자주 겪는 다양한 문제를 효과적으로 해결하는 법서비스 환경에서는 커넥션을 닫지 않아 서버가 멈추고 외부 API의 지연이 전체 장애로 번지며 사소한 설정 실수가 사용자 전체에 영향www.yes24.com 성능 문제는 주로 DB나 외부 API를 연동하는 과정에서 발생한다.외부 API 호출에 블로킹/타임아웃이 발생하는가?힙 크기와 GC 방식에 적절한 최적화가 필요한가?OOM이 발생했는가?응답해야 하는 데이터의 양이 많은가?DB 커넥션 풀이 고갈되었는가?문제 예시순간적으로 모든 사용자 요청에 대한 응답 시간이 심각하게 느..

사라지는 발판 - 2022 KAKAO BLIND RECRUITMENT

문제 링크 상태 전이 개념 + 백트래킹 알고리즘의 적용을 학습하기 좋았던 문제였기에 이렇게 포스트로 기록해둔다. 이 문제를 읽어보고 나면, 전형적인 게임 이론 문제로 보인다. 게임 이론 문제에는 크게 두가지 접근 방식이 있다.게임 로직으로 인해 게임 시작 시 바로 결정되는 승자와 패자를 파악하고, 승자와 패자가 각자의 전략에 맞춰 최적으로 행동하는 방법상태 기계를 설계해, 서로간에 최적의 행동을 직접 수행시켜보고, 행동했을 때 자신이 얻을 수 있는 결과 중 최적을 반환하는 방법 이 문제의 경우, 게임 시작 시 바로 결정되는 승자와 패자를 파악하기 어려웠다. 따라서 직접 시뮬레이션해보는 두 번째 접근 방식으로 자연스레 손이 가게 되는데,이러면 -> 내가 이기는 경우, 가장 빨리 끝나는 결과를 알아둔다..

PS 2025.10.24

Exact 알고리즘과 휴리스틱(근사) 알고리즘의 선택 기준

필자는 개발보다 알고리즘을 먼저 접했기 때문에, 휴리스틱한 기법보단 증명을 통한 완벽한 계산에 익숙했다.하지만 최근 직접 서비스를 개발해보고, 다양한 AI-ML 알고리즘을 접하기도 하며 휴리스틱과 근사 방법에 어느정도 익숙해지면서, "엄밀한 증명"만 생각하던 상태에서 벗어나게 되었다.이 과정에서 자연스럽게 "Exact 알고리즘"과 "휴리스틱 알고리즘"의 분류 기준을 생각하게 되었다. Exact 알고리즘정확한 답이 증명으로 보장된 알고리즘 휴리스틱 알고리즘정확한 답이 아니더라도, 정확한 답 수준의 풀이를 반환하는 알고리즘원래의 정의는 이렇지만, 이 정의는 실무에서 알고리즘을 선택하는데에는 약간의 미흡함이 있다고 생각했다.따라서 정의를 다음과 같이 약간 수정했다. Exact 알고리즘정확한 답이 증명으로 보장..

2025년 10월 4주차 회고

예비군이 끝났기에, 해야할 일 리마인드를 위해 일찍 작성함. 항상 무언가를 수행하기.체계적인 상태를 유지하기.보상 체계를 깨끗히 유지하기.다음에 무엇을 해야 할 지 상상하기.이번주에 한 것예비군요새 사람들 죄다 숏츠/릴스만 보네이번주에 하지 못한 것핀잇 프론트 (미완)디자인 토큰 완성레이아웃/라우팅 스켈레톤컴포넌트 조립다음주에 할 수 있는 것핀잇 프론트 (미완)디자인 토큰 완성레이아웃/라우팅 스켈레톤컴포넌트 조립프로그래머스 AI추천 문제 풀기면접용 CS 재정리 → 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 정리다음주에 할 수 없는 것쿠팡Double DQN 논문 리뷰코틀린 코루틴 학습 다음주에 해야하는 것카페 알바카카오 2차 코테마이다스 코테ADsP

2025년 10월 3주차 회고

항상 무언가를 수행하기.체계적인 상태를 유지하기.보상 체계를 깨끗히 유지하기.다음에 무엇을 해야 할 지 상상하기.이번주에 한 것관심있는 도메인 다루는 기업에 이력서 제출프로그래머스 AI추천 문제 풀기하루 2~3문제푸쉬알림 발송해보기JAVA RestTemplate or WebClient 사용해보기쿠팡이번주에 하지 못한 것핀잇 프론트 (미완)디자인 토큰 완성레이아웃/라우팅 스켈레톤컴포넌트 조립다음주에 할 수 있는 것핀잇 프론트 (미완)디자인 토큰 완성레이아웃/라우팅 스켈레톤컴포넌트 조립다음주에 할 수 없는 것쿠팡Double DQN 논문 리뷰코틀린 코루틴 학습 다음주에 해야하는 것예비군