전체 글

개발은 좋은데 뭘로 개발할까
자기계발/생각 정리

2025년 회고 & 2026년 계획

2학기에 인턴하면서 바쁘다고 지금까지 미뤘더니 회고를 연말 회고로 한번에 쓰게 됐다.매달 회고를 했을 때는 그래도 지난 달 회고 내용을 의식하면서 좀 다르게 살려고 했던 것 같은데, 회고 주기가 늘어지니 열심히 살지 못한 것 같아서 아쉽다. 내년엔 아무리 바빠도 매달 회고는 꼭 써야지 2025년 9월막학기 개강막학기에는 영상 일본어, 졸프, 분산시스템특론(대학원) 3가지 수업을 들었다.수업이 수요일 목요일에 있었어서 회사는 월화금 오프라인 출근, 수목은 오전 재택근무 방식으로 진행하였다. 9월달에도 회사 일은 대체로 베트남에 외주 맡긴 개발 작업 결과 QA 하고, 기능 문서화 업무를 위주로 진행했다.대학원 수업은 일반적인 학부 수업과 비슷한 느낌으로 진행되는 동시에 학생들끼리 연구 주제를 공유하고 자신의..

자기계발/코딩테스트, 대회

현대 소프티어 부트캠프 7기 BE 합격 후기

현대 소프티어 부트캠프는 현대 모빌리티 그룹에서 진행하는 단기 교육 & 프로젝트 활동이다.방학기간에 2달간 오프라인으로 교육 및 프로젝트를 수행하고, 소프티어 참가자 대상으로 비공개 현대/기아 채용 프로세스에 참여할 수 있다. 지원 프로세스는 위와 같다.원래 5기까지는 서류, 코테, CS 테스트만으로 선발하고, 인성검사와 면접은 내부 비공개 채용 프로세스때 진행했는데 6기부터 바뀌었다고 한다.덕분에 부트캠프가 아니라 신입 공채 채용 프로세스 같은 느낌이 들기도 한다. 찾아본 바로는 6기부터 현대/기아의 IT 인력 신입 채용은 전원 소프티어로 뽑는다는 말을 들어봤는데 그래서 그런 것 같기도 하고직전 기수라 그런지 정보가 적어서 6기에서 진행했던 내부 신입 채용 프로세스는 모르겠으나, 5기까지는 자소서,..

CS/분산시스템특론

[분산시스템특론] 6. 해밍 코드

섀넌의 정보이론아날로그 데이터를 전송할 때는 먼저 인코딩 과정을 거쳐 bit 의 형태로 변형한 뒤 변형된 데이터를 채널을 통해 전송한다.이때 채널을 통해 전송되는 데이터에는 잡음이 껴서 데이터가 손상될 수 있다. (패킷 오염)따라서 정보를 수신하는 측에서는 잡음을 제거하고, bit 데이터를 디코딩하여 본래의 아날로그 데이터 형태로 변환하여 데이터를 수신한다. 잡음을 제거하는 방법 중 하나는 비트를 전송할 때 3번씩 전송해서 수신한 3개의 비트중 더 많은 값을 최종 비트로 결정하는 방법이 있다.만약 bit 하나가 뒤바뀔 가능성이 10% 라고 한다면, 3개의 비트중 2개 이상의 비트가 뒤바뀔 가능성은 많이 낮아진다.하지만 결국 0%는 아니기 때문에 이 방법이 완전한 방법은 아니다. 해밍 코드그래서 해밍 코드..

CS/분산시스템특론

[분산시스템특론] 5. CAP 이론 & FLP 정리

CAP 이론두 저장소가 서로 단절된 상태에서는 Consensus 를 유지하는 동시에 Available 을 유지하는 것이 불가능하다는 이론이다.간단히 말하면, 단절된 상태에서는 가용성과 강한 일관성을 동시에 만족할 수 없다.(P = Partition tolerance, 단절 내성, 분할 허용성, 네트워크 장애등으로 노드간 통신이 끊겨도 시스템이 동작 가능해야 한다는 특성.정확하게는 분산시스템에서 CAP 3가지 특성을 모두 만족하는 것은 불가능하다는 이론이다.) 먼저 두 저장소가 서로 단절된 상태에서 각 저장소에 서로 다른 데이터가 업데이트 되었다고 해보자.각 저장소는 상대방 저장소에 어떤 데이터가 들어있는지 알 수 없으므로 일관성을 유지할 수 없다. 만약 일관성을 유지하고자 한다면, 직접 (수동으로) 일관..

CS/분산시스템특론

[분산시스템특론] 4. 시간 동기화 문제와 램포트 시계

이중화된 데이터베이스 문제어떤 큰 대형은행이 있다.이 은행은 서울에 데이터베이스가 하나 있고, 부산에 데이터베이스가 하나 있다.이 은행의 어떤 계좌에는 잔액이 10,000원 들어있다.그리고 서울에 살고 있는 이 계좌의 주인이 계좌에 1,000원을 입금했다.그런데 부산에서는 모든 계좌에 이자를 지급할 시점이 되어 현재 계좌의 잔고를 기준으로 1%의 이자를 지급하였다.그래서 서울에 있는 데이터베이스의 잔액은 11,000원이 되었고, 부산에 있는 데이터베이스의 잔액은 10,100원이 되었다. 그리고 이 두 데이터베이스는 상대방의 상태를 알지 못한 채서울에 있는 데이터베이스는 부산에 있는 데이터베이스에게 잔액을 1,000원 늘리라고 지시하고부산에 있는 데이터베이스는 서울에 있는 데이터베이스에게 잔액을 1% 늘리..

CS/분산시스템특론

[분산시스템특론] 3. 2단계 커밋 프로토콜

계좌 이체 문제은행에서 돈을 다른 계좌로 이체할 때, 안전하게 이체하는 것은 어려운 일이다.단순하게 생각하면 내 통장에서 돈을 2000원 감소시키고, 상대방 통장의 돈을 2000원 증가시키면 될 것 같다.하지만 나와 상대방이 둘 다 같은 액수에 대해 동시에 돈을 감소시키고 증가시켜야 한다는 점을 생각하면 쉽지 않다는 것을 알 수 있다. 온라인으로 돈을 보내는 것은 비동기적인 통신이다.나는 돈을 보냈다고 생각해서 2000원을 감소시켰는데, 상대방은 돈을 받았다는 신호를 못 받아서 돈을 증가시키지 않았다면 나의 잔액만 2000원이 줄어들 뿐이다. 돈의 액수에 대한 원만한 '합의' 를 위해서 사이에 중간자를 두는 방법을 생각할 수 있다.우리나라로 치면 금융결제원 같은 중간자를 두는 것이다. 안전성과 라이브니..

CS/분산시스템특론

[분산시스템특론] 2. 두 장군 이야기

두 장군 이야기어느 중세시대, 적의 부대 Z를 아군부대 A와 B가 동시에 공격하려고 한다.이때 이 두 부대가 동시에 적의 부대를 공격해야만 이길 수 있으며, 두 부대 사이에는 적의 부대가 존재하기 때문에, 전령이 메세지를 전달하기 위해서는 적진을 은밀하게 뚫고 지나가야 한다고 해보자. 과연 A와 B는 동시에 Z를 공격하는 것이 가능할까? 우선 A와 B는 언제 동시에 공격할 지 먼저 공격 시간을 정해야 한다.만약 현대같이 그냥 카톡같은 메신저가 있다면 A가 '10시에 공격하자' 라고 해도 B가 빠르게 이를 확인하여 서로 합의에 다다를 수 있을 것이다.하지만 이 상황에서는 사람이 직접 적진을 뚫고 메세지를 전달해야 하기 때문에 전령이 중간에 잡혀서 죽으면 메세지가 유실될 수도 있다. 만약 전령이 메세지를 전..

CS/분산시스템특론

[분산시스템특론] 1. AI Agents vs. Agentic AI

샘 알트만은 2025년이 agent 의 해가 될 것이라고 했다.즉, AI 가 사람 대신 특정한 일을 수행하는 것이다. (문제 풀이, 영상 제작 등) 그런데 agent 와 관련한 용어로 AI Agent 와 Agentic AI 가 있다.얼핏 비슷해보이지만, 이 둘은 엄밀하게는 다르다. 올해 5월에 이와 관련하여 논문이 하나 나왔다. (https://arxiv.org/pdf/2505.10468)AI Agent 는 하나의 개별 Agent 를 말한다.위 그림으로 보면, 온도를 자동으로 세팅하는 한가지 일만 수행하는 AI 가 AI Agent 이다. 반면, Agentic AI 는 여러 Agent 가 모여서 각자의 역할을 수행하며 하나의 큰 작업을 처리하는 것을 말한다.위 그림으로 보면, 전기 사용량을 체크하는 A..

자기계발/생각 정리

2025년 마지막 여름 방학 회고

7월 회고를 쓰려다 미루고 미뤄져서 여름 방학으로 퉁치는 회고7월 회고를 적었던 내용에 8월 회고를 곁들여서 작성해보았다. 오랜만에 보는 올해 목표하나씩 적당히 묶어서 되돌아보았다. 진로 관련 활동들전공 (졸업프로젝트)4-1 이 끝나서 이제 전공 관련 회고는 졸프만 남았다.이 글을 작성하고 있는 시점을 기준으로 회고를 해보자면 졸업 프로젝트는 순조롭게 진행중이다.방학 초에 '방학 동안 어떤 것을 할 지' 에 대해 논의해서 합의를 봤었다.그래서 개강하기 전까지 적어도 이것까지는 하자는 목표가 생겼고, 그 목표가 있어서 지금도 열심히 달릴 수 있는 원동력이 되고 있다. 이번 졸업 프로젝트를 하면서 그냥 하고 싶은 거, 넣고 싶은 것들을 다 적어보았다.이거를 다 구현하는 건 당연히 욕심이기 때문에, 우선..

WEB(BE)/Spring & Spring Boot

[Redis] READONLY You can't write against a read only replica. 에러 해결기 (feat. 중국)

프로젝트에 적용한 소셜 로그인에서 중간에 에러가 발생하면서 로그인이 되지 않는 현상이 발생했다.20분 전에 성공했던 소셜로그인이 갑자기 실패하는 상황. 프론트에서 소셜로그인 버튼을 클릭하면 이런 에러가 나온다.스프링에서 에러 로그는 다음과 같이 나타났다. 2025-08-06T10:47:45.164Z ERROR 1 --- [becareful-server] [io-8080-exec-12] OAuth2AuthorizationRequestRedirectFilter : Authorization Request failed: org.springframework.data.redis.RedisSystemException: Error in executionorg.springframework.security.oauth2...

에버듀
Blog. 에버듀