전체 글(59)
-
레포지터리별로 다른 GitHub 계정으로 Push 하기
1. 문제 정의서로 다른 레포지터리를 각각 다른 GitHub 계정으로 버전 관리하고 싶다.A 레포에서 push → a 계정으로 커밋이 기록되어야 한다.B 레포에서 push → b 계정으로 커밋이 기록되어야 한다.단, push할 때마다 키체인을 삭제하거나 재로그인하는 번거로운 작업 없이 자동으로 처리되어야 한다.처음 마주친 증상remote: Permission to dPwls0125/Kotlin-Practice.git denied to work-account.fatal: ... The requested URL returned error: 403dPwls0125 계정으로 올리고 싶었지만, 엉뚱하게 work-account 계정 자격증명으로 인증되어 권한 거부(403)가 발생했다.2. 원인 분석 — "계정"은 ..
2026.06.17 -
트랜잭션이 커밋된 이후에 메세지 발행하기.
배경배달 주문 프로젝트에서 결제 서비스(PaymentService)를 구현하던 중 발견한 문제. 결제 처리 메서드에 @Transactional을 걸고, 결제 성공 시 Kafka로 PaymentCompletedEvent를 발행하는 구조였다.문제 상황@Transactionalpublic OrderPaymentResponse processPayment(...) { Payment payment = Payment.builder()...build(); paymentRepository.save(payment); // 1. DB 저장 (아직 커밋 X) boolean success = paymentAPI.pay(...); if (success) { payment..
2026.03.21 -
Event-Driven Architecture, 진짜로 이해해보기
들어가며EDA(Event-Driven Architecture)라는 개념을 접했다. 처음엔 "이벤트 기반으로 동작하는 구조"라는 설명만 듣고, 그냥 서비스간 결합도를 낮추면서 비동기로 처리하는 거 아닌가? 하고 넘어가려 했는데, 파고들수록 생각보다 그 필요성과 방식에 대해 이해해야할 지점이 많았다. 이 글은 내가 EDA를 이해하는 과정에서 들었던 의문들과, 그 의문이 풀리는 과정을 정리한 글이다.EDA의 네 가지 패턴부터 구분하자Martin Fowler의 글에서는 EDA라는 이름 아래 실제로는 네 가지 패턴이 섞여 있다고 한다. 이걸 구분하지 않으면 대화할 때 서로 다른 걸 말하면서 같은 말이라고 착각할 수 있다.1. Event Notification — "알림만 던진다""고객 123번 주소가 바뀌었어"라..
2026.03.16 -
기술 소비와 가치 창출 사이에서
한국 AI 인재 육성에 대한 개인적인 문제의식한국은 ‘3대 AI 강국’을 목표로 다양한 정책과 구호를 내세우고 있지만,스위스 국제경영개발원(IMD)이 발표한 2025년 세계 디지털 경쟁력 순위에서는 10위권 밖으로 밀려난 상태다.세부 지표를 살펴보면, 특히 문제를 해결하고 새로운 가치를 창출하는 ‘디지털 자원 생산’ 영역의 점수가 낮다는 점이 눈에 띈다.이는 한국의 디지털 역량이 단순한 기술 소비에는 익숙하지만,기술을 활용해 새로운 가치를 만들어내는 단계까지는 충분히 도달하지 못하고 있음을 시사한다.교육 경험을 통해 느낀 차이이러한 평가에 개인적으로 공감하게 된 계기는 온라인 코딩 과외 경험이었다.한국 학생들과 미국 학생들을 모두 가르치며, 학습 태도에서 비교적 뚜렷한 차이를 느꼈다.한국 학생들은 대체로..
2025.11.17 -
[TIL] VARCHAR(255), 255를 관습적으로 사용했던 이유
왜 VARCHAR(255)를 많이 사용할까?그동안 VARCHAR(255)를 관습처럼 사용하면서도, 왜 하필 255를 많이 쓰는지는 깊게 생각해보지 않았습니다. 이번에 찾아보면서 그 이유를 정리해보았습니다.VARCHAR(255)의 255는 무엇을 의미할까?VARCHAR(255)에서 255는 해당 컬럼에 저장할 수 있는 최대 문자 길이를 의미합니다.VARCHAR는 CHAR와 달리 가변 길이 문자열을 저장합니다.즉, 항상 같은 크기의 공간을 차지하는 것이 아니라, 실제 데이터 길이에 따라 저장 공간이 달라집니다.대신 VARCHAR는 문자열 자체만 저장하는 것이 아니라,앞에 문자열 길이를 저장하는 정보(prefix) 를 함께 저장합니다.즉, 내부적으로는 다음과 같은 형태로 저장된다고 볼 수 있습니다.prefix..
2025.06.17 -
[코테] DFS, DP_ 김밥천국
백준 28069번 : 김밥천국의 계단 _ Gold5 https://www.acmicpc.net/problem/28069 수많은 메모리 초과, 시간초과, 현실 부정(중간의 맞았습니다는 내가 푼게 아니라 정답이 있긴 한거? 하고 다른 사람 정답 풀이를 넣어봤다. 🥲) 끝에 통해 풀이한 문제. 문제 풀이 전부 정리할건 아니고, 내가 이 문제를 풀면서 어떤 논리를 놓치고 있었는지 정리해보려 한다. 📌 키워드 - BFS - DP (나는 BFS로 풀이하였는데, DP로 더 간결하게 풀이할 수 있다.)- 최소 횟수(거리) M만큼 이동하여 N에 도달할 수 있을때, K > M 이라면 K만큼 이동하여 N에 도달할 수 있는가? 📌 문제 이해 이 문제의 핵심은 세번째 키워드를 이해하는 것이다. 문제에서 묻는..
2025.06.11