전체 글 302

개발자의 AI 활용 7단계와 단계별 레벨업 가이드

AI 활용의 레벨업은 더 좋은 모델을 찾는 것보다, 사람이 하던 개발 작업을 점점 더 넓은 단위로 AI에게 맡기고 그 결과를 검증 가능한 구조로 만드는 과정에 가깝다.아래에서는 이미지의 7단계를 기준으로, 각 단계에서 무엇을 익혀야 다음 단계로 넘어갈 수 있는지만 정리한다. 1. Level 1 — Chat AssistantAI를 질문·검색·초안 작성 도구로 사용하는 단계다. 코드와 로그를 사람이 가져오고, 답변을 다시 사람이 프로젝트에 반영한다.레벨업 방법오류 해석뿐 아니라 코드·SQL 초안, 테스트 케이스, 리팩터링에 반복적으로 활용한다.질문할 때 목적, 제약조건, 기대 결과를 함께 전달하는 습관을 만든다.복사·붙여넣기 중심 사용에서 벗어나 AI가 실제 코드베이스를 보게 만든다.Level 2 기준: A..

ETC/AI 2026.09.14

[포트폴리오] Node.js·Socket.IO 기반 실시간 멀티플레이 RPG 백엔드 서버 구축

Unity 기반 멀티플레이 RPG 게임을 1인 개발·운영하며 Node.js와 Socket.IO를 이용한 실시간 통신 서버를 설계·구축했다. 처음에는 채팅과 플레이어 위치 공유로 시작했지만, 게임이 확장되면서 레이드와 파티 퀘스트의 전투 상태, 여러 오브젝트의 위치, 네트워크 단절 후 상태 복구까지 처리해야 했다. 이 글에서는 Socket.IO를 단순 메시지 전달 수단이 아닌, 여러 사용자가 동일한 게임 상태를 공유하는 핵심 통신 계층으로 활용한 과정을 정리한다. 1. 시스템 구성프로젝트는 REST API와 Socket.IO 서버의 역할을 구분했다.REST API사용자·아이템·퀘스트·랭킹 조회 및 저장PostgreSQL에 보존해야 하는 영속 데이터 처리Socket.IO플레이어 위치·HP·버프 상태 동기화스..

Bumday/About Me 2026.08.23

Base64 PNG 내부 문자열이 WAF의 SQL Injection으로 오탐된 사례

외부망에서 Base64 PNG를 포함한 POST 요청이 HTTP 응답 없이 종료됐다. WAF가 표준 Base64를 디코딩한 뒤 PNG 압축 데이터의 o'# 바이트를 SQL Injection으로 오탐한 것이 원인이었다. 전송 값을 Base64URL 형식으로 변환한 뒤 정상 동작을 확인했다.증상이미지가 포함된 보고서 조회 요청에서 브라우저 ERR_EMPTY_RESPONSE가 발생했다.HTTP 상태 코드와 응답 본문이 없었고, 연결이 수십 ms 안에 종료됐다.이미지 파라미터를 제외하면 같은 API가 HTTP 200을 반환했다.내부 애플리케이션 로그에는 요청 흔적이 없어 앞단 보안장비를 의심했다. 어떻게 좁혔나1) 파라미터를 하나씩 제거했다 테스트 결과 판단 원본 요청Empty Response재현Bas..

[포트폴리오] 반도체 소재 제조 현장의 공정·품질 데이터 시스템 구축기

반도체 소재 제조사에서 근무하며, 현장 장비 데이터를 수집·분석해 품질과 운영을 관리하는 시스템을 직접 설계·구축했다.이 글에서는 그중 대표적인 두 가지를 정리한다. 하나는 공정/품질을 통계적으로 관리하는 SPC(Statistical Process Control), 다른 하나는 분석·평가실의 장비 운영을 다루는 FIMS(Fab Information Management System)다. 두 시스템 모두 "현장에서 실제로 쓰이는 데이터를, 사람 손을 거치지 않고, 신뢰할 수 있게 다룬다"는 같은 문제의식에서 출발했다.1. SPC(통계적 공정관리) 시스템 구축배경제조 현장에는 공정별로 품질 편차가 존재했고, 설비에 이상이 생겼을 때 이를 실시간으로 감지해 대응하기가 어려웠다. 고객 불량이 발생하면 근거 자료가..

Bumday/About Me 2026.08.04

PC작업을 하지 않고 앱을 개발하고 운영하는 방법

운영 중인 앱 서비스를, PC 앞에 앉지 않고도 기획부터 배포 검증까지 유지보수한 방법을 정리한다. 핵심은 세 가지다. 원격으로 명령하는 AI 코딩 에이전트, 사람이 앉아서 하던 일까지 걷어낸 CI/CD, 그리고 이동 중에도 쓰는 음성 대화다.배경현재 육아와 병행하는 상황에서는 PC 앞에 앉아서 작업을 하기 어렵다. 하루 왕복 2시간의 운전 통근의 상황도 있다. 그럼에도 개인적으로 운영하는 앱 서비스(클라이언트 앱, API 서버, 내부 운영 콘솔로 구성)는 기능 추가와 버그 대응이 계속 필요하다. 예전에는 이 과정을 전부 PC 앞에서 직접 해야 했다. 지금은 대부분을 자리에 앉지 않고 처리한다. 1. 기획부터 개발까지, 채팅으로 원격 명령요즘 개발은 상당 부분 AI 에이전트가 한다. 최근에는 Claud..

Record/IT Diary 2026.07.23

운영 서버 CPU가 100%로 멈춘 뒤 악성 cron 제거 및 DB 계정 분리한 사례

운영 서버 CPU가 100%까지 치솟아 응답이 멈췄다. 처음에는 새로 추가한 시스템 메트릭 샘플러를 의심했으나, 최종 원인은 postgres OS 유저 crontab에 심어진 악성 wget | sh 스크립트였다. cron 제거 후 API DB 접속을 postgres 슈퍼유저에서 [앱DB계정] 전용 계정으로 분리해 재발 가능성을 줄였다. 증상평소 CPU 약 14% 유지특정 새벽 02:30 전후 CPU 100% → 서버 응답 불가[API프로세스] 재시작·재부팅 후에도 부하 지속 (cron 미삭제 시)동시에 시스템 메트릭 테이블 10초 INSERT 로그가 syslog에 대량 기록됨 → 처음엔 메트릭 기능이 원인으로 의심됨 어떻게 좁혔나1) 메트릭 샘플러 의심 (오탐)SystemMetricsManager가 10..

Windows Cursor 터미널 한글 깨짐, PowerShell 프로필로 해결하는 방법

Cursor 터미널과 Git에서 한글이 깨지는 건 대부분 Windows 코드페이지(CP949) 때문이다. PowerShell 프로필에 UTF-8 자동 전환 스크립트를 넣으면 터미널·Git 커밋까지 대부분 같이 해결된다. 절차1단계: PowerShell 프로필 만들기경로 (Windows PowerShell 5.1):C:\Users\\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 PowerShell 7+(pwsh)라면:C:\Users\\Documents\PowerShell\Microsoft.PowerShell_profile.ps1 파일이 없으면 새로 만들고, 아래 내용을 넣는다.if ($Host.Name -eq 'ConsoleHost') {..

Windows 비밀번호를 잊었을 때 포맷 없이 복구하는 방법

회사 보안 프로그램이 주기적으로 비밀번호 변경을 요구해, 해당 프로그램 내에서 멍때리고 새로운 패스워드를 입력했다가..이후 로그인할때 기억하는 모든 패스워드를 쳐봐도 로그인이 되지 않았다..(ㅠㅠ) Windows 로그인 비밀번호를 분실했을 때, 포맷 없이 기존 데이터를 유지한 채 CMD 우회법으로 비밀번호를 강제 변경하는 방법이다. 핵심은 설치 USB 복구 환경에서 접근성 실행 파일(utilman.exe)을 cmd.exe로 교체해, 로그인 화면에서 시스템 권한 CMD를 실행하는 것이다. 배경다음 상황에서 사용한다.로그인 화면에서 비밀번호 입력이 막히고, Microsoft 계정 온라인 재설정도 보안 질문 분실 등으로 불가능한 경우데이터 유실 없이 해결해야 해서 포맷이 선택지가 될 수 없는 경우 원리는 ..

Window 2026.06.18

운영 미배포 작업을 보류 브랜치로 분리해 관리하는 방법

운영 배포 전 main에만 올린 작업을 취소해야 하는데, 이미 개발 환경 배포 브랜치에는 반영돼서 그쪽은 건드릴 수 없는 상황. 별도 보류 브랜치에 작업을 먼저 백업한 뒤, main에서는 git revert로 되돌리고, 운영 배포 시점에 보류 브랜치를 다시 합치는 방식으로 해결한다. 배경배포 흐름이 아래처럼 분리된 환경을 가정한다.feat/* → main → 개발 배포 브랜치 → 개발 환경 배포feat/* → main → 운영 배포 브랜치 → 운영 환경 배포작업을 main에 올리고 개발 배포 브랜치까지 merge해 개발 환경에는 이미 반영됐지만, 운영 배포 브랜치에는 아직 merge하지 않은 시점에 다음 배포 일정이 미뤄지는 경우가 있다. 이때 main은 다음 운영 배포 전까지 깨끗한 상태를 유지해야..

Git 2026.06.18

eGovFrame 채번 테이블 불일치로 메뉴 ID가 중복된 사례

eGovFrame 기반 시스템에서 메뉴 등록 후 웹페이지가 멈추거나 Duplicate Key 오류가 발생했다. 최종 원인은 채번 테이블의 NEXT_ID가 실제 데이터 최댓값보다 작았고, 대상 테이블에 PK 제약이 없어 중복 삽입이 즉시 막히지 않았던 것이다. 증상관리 화면에서 메뉴 등록·저장 시 오류가 발생하거나, 저장 후 메뉴 트리·특정 페이지가 로딩되지 않는다(먹통)애플리케이션 로그에 Duplicate entry / Unique constraint violation 류 메시지가 남는다DB에는 이미 동일 entityId(메뉴 ID) 를 가진 행이 2건 이상 존재할 수 있다처음에는 애플리케이션 버그·캐시 문제를 의심했으나, 채번 값과 실데이터 불일치 쪽으로 좁혀졌다 어떻게 좁혔나1) 오류 시점·경..

Framework 2026.06.16
반응형