전체 글 31

개발에서 기록은 왜 중요할까?

요즘 내가 진짜 실감하는 게 하나 있다. 기록은 진짜 중요하다. 그냥 "이거 나중에 기억하겠지" 했다가 두세 달만 지나도 다 까먹는다. 근데 그때그때 잘 정리해두면 나중에 다시 써먹을 수 있고, 개발 속도도 훨씬 빨라진다. 개발하면서 "이 기능 예전에 만들었었는데…" 하면서 기억 더듬고 있으면 시간 다 간다. 근데 예전에 정리해둔 문서 딱 보면, "아 이거였지!" 하고 바로 떠오른다. 예전에 JWT로 SSO 구현했을 때, Redis에 토큰 저장하는 방식 헷갈려서 시간 좀 걸렸는데, 이번에 비슷한 구조 다시 쓰게 됐을 때는 문서만 보고도 바로 적용할 수 있었다. 예전의 내가 진짜 고마웠다. 구글, 아마존, 메타 같은 빅테크 기업들이 문서를 코드만큼 중요하게 여긴다는 얘길 들은 적 있다. 처음엔 그냥 멋진 ..

[실버1][BFS][백준 14940] 쉬운 최단거리

https://www.acmicpc.net/problem/14940목표 지점까지 거리 구하기 (BFS로 푸는 문제)오늘은 BFS를 이용해서 풀 수 있는 문제 하나를 정리해본다. 지도가 주어지면, 각 지점에서 목표 지점까지의 거리를 구하는 문제인데, 이동은 오직 상하좌우만 가능하다. 대각선은 안 된다.문제 설명0: 갈 수 없는 땅1: 갈 수 있는 땅2: 목표 지점 (단 한 개만 존재)각 지점에서 목표 지점까지 최소 거리를 구하는 게 핵심이다.단, 원래 갈 수 없는 땅은 0, 갈 수 있는 땅인데 도달 못 하면 -1을 출력해야 한다.문제 풀이 흐름이 문제는 BFS로 푸는 게 가장 자연스럽다.먼저 전체 맵을 돌면서 목표 지점(2)을 찾고, 거기서부터 BFS를 돌리면 된다.BFS를 돌릴 때 필요한 것들:visit..

차장이 대부분인 조직에서 혼자 대리로 살아남기

전통적인 회사는 대부분 수직적인 구조를 갖고 있다. 내가 다니는 회사도 마찬가지다. 차장 라인이 대부분이고 아래로 내려갈수록 인원이 확 줄어드는, 역피라미드 구조다. 내가 어떻게 이 회사에 오게 됐는지부터 풀어보자면, 이전 회사는 Mendix라는 솔루션을 삼성전자에 교육하러 다니는 회사였다. 물론 교육만 한 건 아니고, SK 프로젝트에서 Mendix로 개발도 했다. 그런데 이게 SI 회사 특성상, Mendix만 하는 게 아니었다. 갑자기 Java 프로젝트에 긴급 투입돼서, 설명도 제대로 못 듣고 거의 막바지에 투입됐다. 노장 프리랜서분들 코드 수정하면서 밤늦게까지 일하고, 스트레스 받고, 그 와중에 "아, 이 회사는 사람을 그냥 부품처럼 다루는구나" 싶었다. 그래서 정보처리기사 자격증 따고, 이직 준비했..

성공을 파는 책들

나는 자기계발서를 정말 많이 읽어봤다. 『타이탄의 도구들』, 『원씽』, 『퓨처 셀프』 같은 책들은 한때 내 책상 위에서 떠나지 않았다. 그 책들 안에는 성공한 사람들의 습관, 사고방식, 태도들이 담겨 있었고, 나는 그들의 이야기를 따라가며 마치 나도 조금씩 성장하고 있는 것 같은 기분이 들었다. 하지만 책을 여러 권 읽으면 읽을수록, 묘한 거리감과 피로감이 쌓여갔다. 어느 순간부터 나는 이런 질문을 하게 됐다."내가 지금 진짜로 성장하고 있는 걸까, 아니면 성장하고 있다는 착각에 빠진 걸까?" 자기계발서는 마치 성공을 하나의 상품처럼 포장한다. 실패를 두려워하지 말고, 포기하지 말며, 자신을 계속 단련하라는 말들은 분명 힘이 되지만, 동시에 반복되면서 점점 공허하게 느껴지기도 한다. 마치 '성공 공식'이..

2025.04.05 | 제10회 빅데이터 분석기사 필기 독학합격 후기

정보처리기사 자격증을 취득한 후, AI 관련 업무를 담당하게 되면서 자연스럽게 빅데이터 분야에도 관심이 생기기 시작했습니다.백터 데이터베이스 구축, 회사 내 로컬 LLM(Local Language Model) 구축, RAG(Retrieval-Augmented Generation) 등을 직접 다뤄보며 점점 더 이 분야에 매력을 느끼게 되었고, 본격적으로 공부를 해보자는 생각에 빅데이터 분석기사 준비를 시작하게 되었습니다. 처음에는 ‘2025 이기적 빅데이터분석기사 필기 기본서’로 공부를 시작했습니다. 여러 후기들을 참고해보니, 아직 교재들이 정형화되어 있지 않고 완벽하지 않다는 의견이 많았습니다. 실제로 책 앞부분을 읽어보니, 전체 내용을 다 암기하는 방식보다는 큰 흐름을 먼저 이해한 뒤 필요한 내용을 정..

효율적인 협업을 위한 선택, YAML 기반 코드 생성기

과거에는 jQuery나 Axios를 이용해 데이터를 요청하고, 응답을 받은 뒤 직접 후처리하는 방식으로 개발을 진행하는 경우가 많았다. 하지만 이러한 방식은 현재 기준으로는 구식이며, 단순히 개발에 그치지 않고 유지보수까지 고려해야 하는 현대 소프트웨어 개발 환경에 적합하지 않다. 최근에는 여러 개발자가 협업하는 환경이 일반화되면서, 보다 체계적이고 효율적인 개발 방식들이 도입되고 있다. 그럼에도 여전히 jQuery나 Axios와 같은 전통적인 기술을 사용하는 사례가 많지만, 이 방식은 코드가 점차 복잡해지고 유지보수가 어려워진다는 단점이 있다. 이러한 한계를 극복하기 위해, 최근에는 gRPC와 같은 기술이 널리 사용되고 있다. gRPC는 중앙에서 정의된 함수를 원격으로 호출할 수 있도록 해주며, 여러 ..

MPSC(Multiple Producers Single Consumer) 정리글

MPSC란?여러 개의 생산자(Multiple Producers)가 하나의 소비자(Single Consumer)에게 데이터를 보내는 패턴대표적인 특징으로는 여러 Producer가 동시에 데이터를 큐에 밀어넣고, 하나의 Consumer가 그 큐에서 데이터를 읽어서 처리한다. 즉, 데이터 쓰기는 여러 개, 읽기는 하나.흐름도 그려보면A, B, C는 동시에 데이터를 [Queue]에 넣을 수 있다.Consumer A는 Queue에서 하나씩 차례로 꺼내 처리한다.Producer 수여러 개Consumer 수하나데이터 경합Producer들이 동시에 쓰려고 할 때 발생 (Queue에서 동시성 제어 필요)처리 방식Consumer는 순차적으로 데이터를 하나씩 꺼내서 처리장점간단하고 효율적, Consumer 쪽 논리가 단순함..

gRPC와 Protocol Buffers 사용해보기

gRPC를 사용해봤는데 구조 자체는 다르지만 사용방법(구조정의 → 변환 → 함수사용)이 뭔가 openapi spec code generator과 비슷해서 이해하기가 쉬웠다.gRPC를 사용하기 위해서는 아래의 3가지를 다운받아야된다. gRPC를 사용하기 위한 라이브러리와 proto에 정의된 내용을 사용할수있게 코드로 변환해주는 라이브러리를 다운받는다.go get google.golang.org/grpcgo install google.golang.org/protobuf/cmd/protoc-gen-go@latestgo install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latestuser.proto 작성syntax = "proto3";package user;opti..

keycloak을 사용한 sso 구축

최근에 sso로그인에 관심이 생겨서 오픈소스인 keycloak을 사용해서 sso로그인을 구현해봤다.https://www.keycloak.org/getting-started/getting-started-dockerkeycloak의 docker에 들어가보면 아래와 같은 명령어가 있는데 나는 docker compose를 사용해서 keycloak을 실행시켜보고싶다.docker run -p 8080:8080 -e KC_BOOTSTRAP_ADMIN_USERNAME=admin -e KC_BOOTSTRAP_ADMIN_PASSWORD=admin quay.io/keycloak/keycloak:26.1.0 start-dev아래는 내가 keycloak을 실행할때 쓴 docker compose다. postgres databas..

Milvus을 사용해서 임베팅 모델 비교해보기

저번 글에서 Milvus 벡터 데이터베이스를 설치해보고 데이터 까지 입력해보았다.이번에는 임베딩 모델을 사용해보고 비교해볼 것이다. 질문: 개통했는데 유심인식이 안되는데 이거 해결을 어떻게하는거죠?? KURE-v1scoreidinputresponse0.8680369257926944.55476166124594E+017유심이동 후 "기기인증에 실패하였습니다."*이용하시려는 단말기에 유심 이동성 허용이 되어있는지 확인…0.8677237033843994.55476166124594E+017유심 인식이 되지 않아요. 유심 인식이 되지 않을 경우 아래와 같이 확인 및 진행해주세요.1. 바로개통 또는 후개통 진행- 개통이 되지 않은 유심을 꽂으면 작동하지 않…0.8644729256629944.55476166124594..