728x90

전체 글 211

백엔드 개발자 1년차 회고록

들어가며 학교 + 부트캠프 8개월 수료를 완료하고 백엔드/서버팀에 합류한지 1년차가 되어간다.내가 할 수 있을까 라는 생각을 많이 했는데 어쩌다보니 1년이 되었다.그동안 내가 느끼고 배운 점을 기록하기 위해 작성한다. 상상 vs 현실입사 전 백엔드/서버 개발자라고 하면 하루종일 코드를 분석하고, 설계하고, 코딩하는 모습을 떠올렸다.부트캠프에서 실무자 멘토님에게 들었던 말인,개발하는 시간은 실제로 많지 않다. 개발 능력은 시간이 지나면 다들 비슷비슷해진다. 좋은 개발자를 판별하는 것은 결국 요구사항을 명확하게 정의하는 것, 의사소통 하는 것이다.이 말을 처음엔 믿지 않았다 입사 1년차인 지금 저 뼈저리게 공감된다.하루 8시간( 야근하면 12시간이 될수도...) 동안 코드를 쳐다보면 당연히 개발 능력이..

회고록 2026.02.05

프롬프트 엔지니어링 Prompt Engineering 이란

프롬프트 엔지니어링 Prompt Engineering대규모 언어 모델(LLM)이 원하는 작업을 수행하도록 프롬프트(GEMINI.md, CALUDE.md 등)를 설계하고 개선하는 과정이다. 좋은 프롬프트는 좋은결과를 가져온다. 프롬프트 엔지니어링은 생성형 AI 결과물의 품질, 관련성 및 정확성에 직접적인 영향을 미치기 때문에 매우 중요하다. LLM은 인간을 모방하려고 시도하지만 고품질의 관련성 높은 결과물을 생성하려면 자세한 지침이 필요하다. 잘 만들어진 프롬프트는 AI가 사용자의 의도를 이해하고 의미 있는 응답을 생성해 후처리를 회소화하는데 도움이 된다. 프롬프트 Prompt프롬프트는 특정 작업을 수행하도록 생성형 AI에 요청하는 자연어 텍스트이다. 단순히 말 해 우리가 ChatGpt, Gemini 등..

AI 2026.01.22

Claude Code 란

Claude Code터미널 기반 AI 코딩 도우미 + 코드 에이전트요즘 유행하는 바이브 코딩 중심에 있다. Chat GPT 에게 코드 수정을 부탁하려면,상황 설명 -> 서비스 레이어 -> 레포지토리 레이어 -> DB 설계를 모두 복사 붙여넣기 해줘야했다.하지만 Claude Code는 다음과 같은 작업을 한 번에 수행한다.프로젝트 전체 코드베이스를 이해테스트 코드 작성테스트 실행 → 실패 확인코드 수정다시 실행즉, 사람이 하던 개발 사이클 자체를 자동으로 수행한다. 이런 프로젝트 단위 사고로 인해 판단 하나하나를 일일이 알려주지 않아도 된다. Claude code는 파일 단위로 진행 되는 것이 아니라, 프로젝트 단위로 명령을 이행한다. 1. 전체 코드 베이스 인식단일 파일이 아닌 프로젝트 구조 전체를 ..

AI 2026.01.21

Hallucination 할루시네이션 환각 이란

Gemini CLI 테스트 자동화 도입의 최대 난제, Hallucination 환각Hallucination생성형 AI 모델에서 주어지는 옳지 않거나 잘못된 응답을 가리킨다. 그럴듯 하지만 틀린 답변을 의미한다. 유명한 예로는 세종대왕 맥북 사건이 있다. 환각의 원인LLM은 “모른다”라는 상태를 기본적으로 가지려고 하지 않고, 항상 가장 그럴듯한 답을 생성하려고 시도한다. 학습 및 평가 방식의 구조적 문제: 현재의 평가 방식에서 잘못된 인센티브를 설정했기 때문이다. 정답을 모르더라도 과감하게 추측해서 운이 좋으면 정답을 맞힐 수도 있다. 객관식 시험에서 답안지를 비워 두면 0점이지만, 어떤 답안이라도 적어 낸다면, 정답 확률은 20%가 된다. OpenAI의 연구 논문⁠에서는 언어 모델 환각이 표준..

AI 2026.01.21

LLM 이란?

LLM : Large Language Model 대규모 언어 모델방대한 텍스트 데이터를 기반으로 사전 학습된 딥 러닝 모델로 인간의 언어를 이해하고 생성하며 번역, 요약, 질의응답 등 다양한 자연어 처리 작업을 수행할 수 있는 인공지능 모델이다.LLM 은 방대한 데이터 세트를 학습해 대규모 라는 이름이 붙었다. LLM은 문자, 단어, 문장이 함께 작동하는 방식을 이해하기 위해 딥러닝이라는 일종의 머신 러닝을 사용한다. 딥러닝은 비정형 데이터의 확률적 분석을 포함하며, 딥러닝 모델은 사람의 개입 없이도 콘텐츠 간의 구분을 인식할 수 있다. 딥러닝과 LLM 의 관계?딥 러닝은 인간의 두뇌에서 영감을 받은 방식으로 컴퓨터가 데이터를 처리하도록 가르치는 방법이다.대규모 비정형 데이터에서 패턴과 구조를 스스로..

AI 2026.01.21

스프링 배치를 사용해 적재되고 있는 로그 압축 , 삭제하기 - 병렬 실행

https://wonder-why.tistory.com/243 스프링 배치를 사용해 적재되고 있는 로그 압축 , 삭제하기 - 순차적 실행1. 요구사항현재 적재되고 있는 a,b 로그를 일정 기간이 지나면 압축, 삭제 할 것기간은 config 로 설정할 것모든 pod 에 적용할 것2. 해결 방안 코드 작성 전 알아야 할 것적용될 프로젝트의 이름로wonder-why.tistory.com 지난 글과 이어지는 글 해당 배치는 4가지 기능으로 나뉜다.위 기능들을 꼭 순차적으로 실행 시켜야할 이유가 없다고 느꼈다. a, b 로그가 해당 경로에 저장되고 있기 때문이다.그래서a,b 로그 압축, 삭제a,b 로그 삭제를 병렬 실행 하는 것으로 리팩토링 했다. @Slf4j@RequiredArgsConstructor@Confi..

JAVA/SpringBoot 2025.07.26

스프링 배치를 사용해 적재되고 있는 로그 압축 , 삭제하기 - 순차적 실행

1. 요구사항현재 적재되고 있는 a,b 로그를 일정 기간이 지나면 압축, 삭제 할 것기간은 config 로 설정할 것모든 pod 에 적용할 것2. 해결 방안 코드 작성 전 알아야 할 것적용될 프로젝트의 이름로그의 경로로그 파일의이름압축 확장자yaml 에 로그 경로와 적용될 프로젝트, 로그 보관 기간, 압축 기간을 설정한다. compressAfterDays: 7 // 7일 지나면 압축 keepDays: 730 // 730 일 지나면 삭제이 설정으로 편하게 관리할 수 있다. 2.CRON 을 설정한다 .나는 YAML 파일에 프로젝트를 | 으로 구분해 작성해 놓았고, 이것을 코드로 불러와 |로 나눠 리스트를 순회하는 방식으로 job 을 실행 시켰다.이렇게 파라미터를 달리해 배치를 실행 시키려면 ..

JAVA/SpringBoot 2025.07.26

인덱스 추가로 대용량 데이터 조회 속도 향상 시키기

1. 요구사항현재 페이지 조회 기능에 문제 발생, 팝업 창이 나오지 않음. 정상 작동 하게 수정 요구 2. 문제 파악어느 기능에서 문제가 발생 했나?SELECT a,b,c FROM 1TABLE WHERE d ORDER by created_dt DESC 위와 같은 쿼리를 두 개 사용중(테이블만 다름)으로, 단순 조회 기능으로, 부하를 줄 부분은 없어 보임개발기로 접속해 해당 기능 테스트, 로그 찍어봄 -> 정상 작동 함. 해당 기능은 상용기, 개발기에 차이점은 없다. -> 로직 문제는 아님. 단순 테이블 조회 하데이터 베이스를 확인해보니, 개발기 테이블에는 몇 천개의 데이터가 있지만, 상용기에는 500만건, 900만건의 대용량의 데이터를 조회하고 있었다. -> 단순히 데이터가 많아서 생기는 문제였던 것 ..

Spring Integration - mqtt

MQTT: Message Queuing Telemetry Transport iot 낮은 대역폭과 리소스가 제한된 환경에서 안정적으로 통신할 수 있는 경량 메세징 프로토콜. 최소한의 리소스와 적은 전력을 소비하기 때문에 iot 같은 제한된 환경에서 사용하기 적합하다pub/ sub 모델을 기반으로 메세지 발행 pub, 구독 sub 방식으로 통신을 처리한다. publisher 는 메세지를 발행, Subscriber 는 관심 있는 Topic 을 구독해 메세지를 수신한다.클라이언트가 데이터를 비동기적으로 주고받을 수 있어 실시간 메세징 시스템 구축이 가능하다.클라이언트 - mqtt - 서버 환경을 구성해 서버가 mqtt 에 메세지를 보내면 다수의 클라이언트에게 전송 QoS Quality of Service 제공..

JAVA/SpringBoot 2025.03.17

linux - network, curl, netstat

curlurl을 통해 데이터를 전송하거나, 받을 때 시용되는 명령어주로 HTTP. HTTPS, FTP 등 다양한 프로토콜을 지원하여 웹 요청을 주고 받는데 사용한다.//설치sudo apt updatesudo apt install curl//버전 확인curl -V//전체 명령어curl --help all//기본적인 도움말curl --help//기본 문법curl [option] [URL]//HTTP GET 요청 보내기curl "curl -X GET //GET 요청 시 헤더만 보기. 서버가 응답하는지 확인 시 사용curl -I "//POST 요청 보내기curl -X POST -d "username=admin&password=12345" //POST 를 사용해 서버의 JSON 데이터 {"a":"1"} 를 전송 ..

기타 2025.02.23
728x90
반응형