전체 글 (79)

Sonnet 5.5, 굳이? 싶었는데

모델 경쟁이 한풀 꺾인 요즘, 굳이라고 생각했던 Sonnet 5.5를 Opus 5.5와 같은 작업으로 한 번씩 돌려보고 생각이 바뀐 이야기입니다.

화이트 신호등을 두고 갈린 두 가지 관점

NC State 연구팀이 제안한 자율주행 교차로용 White Phase를 놓고 누나와 나눈 대화에서, 같은 기술을 개발자와 기획자가 얼마나 다르게 보는지 정리했습니다.

캐시 스탬피드인 줄 알았는데, 회원 트래픽이 원인이었다

방송 중 발생한 모바일 서비스 지연 원인을 추적하며, 단순 캐시 스탬피드가 아니라 회원 등급 캐시 설정과 맞물린 특수 상황이었음을 확인한 과정을 정리합니다.

Qwen AI Build Day Seoul과 루퍼스 loop talk, 이틀의 기록

8월 20일 Qwen AI Build Day Seoul과 21일 루퍼스 loop talk에서 각각 얻은 인사이트를 정리했습니다.

구글 클라우드 스터디잼으로 공부해보기

이번 하반기 구글 클라우드 스터디 잼에 참가하기로 했습니다. 첫 스킬 배지로 만난 Google AI Studio 실습에서 온도 설정 하나로 이렇게 다른 답이 나올 줄은 몰랐습니다.

AI스러움을 줄이는 법

AI를 많이 쓸수록 AI가 만든 티는 더 꺼려지는 시대. 글·화면·규칙 세 층위에서 실제로 손댄 것들을 정리합니다.

말하지 않아도 전제는 이미 정해져 있었습니다

AI에게 쿼리를 짜달라고 하면 왜 항상 행 지향 DB를 가정할까 궁금했는데, 비슷한 이야기를 전혀 다른 곳에서도 들었습니다.

열 지향 DB라는 걸 오늘 처음 알았습니다

같은 조건으로 뽑은 통계가 왜 매번 다르냐는 질문에서 시작해, 스냅샷 테이블과 열 지향 DB까지 알아본 하루를 정리합니다.

다 같은 정적 리뷰가 아닌 것 같습니다

AI가 만든 코드를 왜 굳이 내가 봐야 하는지 애매했는데, '이해가 새로운 병목이다'라는 글을 읽고 목적이 두 개로 갈라진다는 걸 알게 됐습니다.

내가 만든 걸, 왜 그렇게 만들었냐고 물었다

이직 면접에서 잘 대답하지 못한 질문들을 다시 붙잡고, 내가 운영해온 구조를 '왜'라는 눈으로 다시 봤습니다.

Redis Cache Stampede 방지를 위한 Distributed Lock(Redisson RLock) 정리

최근 Redis Cache Stampede 현상을 방지하는 대책들을 공부하면서 Redisson RLock과 SET NX 기반의 락 패턴을 대조해보고 정리한 내용입니다.

Git이라는 이름이 궁금해서 내부 구조까지 봤습니다

개발 용어 어원을 따라가다 Git에 도착했고, 결국 스냅샷·브랜치·merge·rebase가 내부에서 실제로 무슨 일을 하는지까지 들여다본 하루를 정리합니다.

나는 어떤 유형의 개발자일까

Boris Cherny가 정리한 다섯 가지 개발자 유형을 보고, 지금의 나는 어디쯤 있고 앞으로 무엇을 지향해야 할지 생각해봤습니다.

KAIT 프롬프트 엔지니어 1급 시험을 봤습니다

개발자가 프롬프트 엔지니어 자격증을 신청한 이유, Gemini로 준비한 과정, 그리고 주관식에서 멍해진 이야기.

스프링 트랜잭션과 이중 커넥션 점유 문제 (리팩토링 계획 2편)

발표 자료를 정리하던 도중 발견된 또 다른 잠재적 버그, 이중 커넥션 점유 현상의 원인 분석과 단기/장기 리팩토링 계획

스프링 트랜잭션 설정 오류와 리팩토링 계획 (feat. 에이전트와의 과외)

AI 에이전트와 코틀린/스프링 공부를 하다가 우연히 발견한 @Transactional 무효화 현상과 이를 해결하기 위한 리팩토링 로드맵

카카오 맵 API, 7월 21일부터 두 번째 앱은 유료

개발자 계정 기준 첫 번째 앱만 무료로 바뀌는 카카오 맵 API 정책 변경. 신규 API 추가는 반가운데, 조금 아쉬운 부분이 있어서 공유합니다.

바닐라 JS 2D 물리 엔진 게임 리팩토링 및 성능 최적화 (Chaos-Drop)

기존의 단일 파일 3,000줄짜리 레거시 물리 엔진 코드를 모듈화하면서 겪은 물리 버그 해결책과 저사양 최적화 경험을 기록합니다.

Claude Fable 5, 하루 써봤다

22일까지 한정 공개된 Claude Fable 5를 업무와 사이드 프로젝트에 써봤다. 1년된 버그와 6년된 정책 불일치가 하루 만에 나왔다.

AWS Summit Seoul 2026 참관 및 HTML 프레젠테이션 제작 후기

휴가를 내고 다녀온 AWS Summit 경험과, 팀 내 공유를 위해 PPT 대신 HTML로 발표 자료를 만들어본 소회

dev 블로그 연대기

Blogger, 벨로그, 그리고 직접 만든 블로그까지. 플랫폼이 세 번 바뀌는 동안 쓰는 이유는 크게 달라지지 않았다.

Redis 프로젝트 회고

Redis 프로젝트 마무리 — 운영에서만 보이는 것들

프로젝트 종료 후 운영팀 배정 이후 겪은 운영 특화 문제들을 정리하고, Redis가 단순 캐시 솔루션이 아닌 서비스 성장의 핵심 인프라임을 깨달은 과정을 기록합니다.

Redis 프로젝트 회고

상품 상세 페이지 캐시 전략 — STEP 기반 DB·캐시 혼합 설계

개인화와 실시간성이 필요한 상품 상세 페이지에 풀 캐싱을 적용할 수 없는 이유를 분석하고, 데이터 성격에 따라 DB와 Redis를 혼합하는 STEP 기반 설계로 해결한 과정을 기록합니다.

Redis 프로젝트 회고

Redis 3차 대규모 배포 장애 회고 — 기술·프로세스·조직의 복합 사고

velocity 템플릿 직접 수정과 마케팅 프로모션 실수가 겹쳐 홈메인이 9분간 먹통이 된 배포 사고를 분석하고, 재발 방지 프로세스를 정리합니다.

Redis 프로젝트 회고

개인화 추천 모듈의 Redis 캐시 skip을 AtomicReference로 동적 관리하기

shopCode 기반 정적 properties 관리의 한계를 넘어, moduleCd와 Redis 헬스 응답을 기반으로 캐시 적용 여부를 런타임에 동적으로 판별하도록 개선한 과정을 기록합니다.

Redis 프로젝트 회고

멀티 인스턴스 환경에서 Caffeine + Redis 캐시 동기화하기 (Pub/Sub)

로컬 Caffeine 캐시와 Redis 캐시를 병합 운영하던 중 발생한 인스턴스 간 캐시 불일치를 Redis Pub/Sub 무효화 이벤트로 해결한 과정을 기록합니다.

Redis 프로젝트 회고

CompletableFuture에서 객체 참조 공유로 인한 데이터 오염 해결하기

여러 Future에서 같은 객체 인스턴스를 공유하다 발생한 데이터 정합성 문제를 깊은 복사(Deep Copy)로 해결한 과정을 기록합니다.

Redis 프로젝트 회고

Lettuce AsyncCommand.complete() 에러 분석과 mget 체인 단순화

RedisFuture를 toCompletableFuture()로 브리지한 mget 비동기 체인에서 간헐적으로 발생한 complete() 예외를 분석하고, 브리지 제거와 명시적 타임아웃 처리로 해결한 과정을 기록합니다.

Redis 프로젝트 회고

Redis 캐시 적재 중 NPE와 캐스팅 에러 방어하기

외부 API에서 bnrSeq가 누락되거나 타입이 섞여 들어오는 케이스를 instanceof 타입 가드와 방어 로직으로 안전하게 처리한 과정을 기록합니다.

Redis 프로젝트 회고

Redis WarmUp 개선과 TTL 다층화로 초반 응답 지연 줄이기

캐시가 있음에도 초반 요청이 느린 아이러니를 WarmUp 비동기화, optionTTL 세분화, fastExpire 연계로 해결한 과정을 기록합니다.

Redis 프로젝트 회고

CompletableFuture 스레드풀 분리로 pool starvation 해결하기

ForkJoinPool.commonPool에 블로킹 I/O를 태워 발생한 스레드풀 고갈 현상을 CPU/IO 실행기 분리로 해결한 과정을 기록합니다.

Redis 프로젝트 회고

Redis 키 네이밍 파편화 해결기

여기저기서 다른 규칙으로 만들어지던 Redis 키를 단일 진입점으로 강제해 정규화한 과정을 기록합니다.

Redis 프로젝트 회고

RestTemplate 한글 깨짐과 Custom ObjectMapper 미적용 해결하기

기본 RestTemplate의 ISO-8859-1 인코딩과 커스텀 ObjectMapper 미반영 문제를 직접 Primary Bean으로 등록해 해결한 과정을 기록합니다.

MyBatis 캐시와 찜하기 해제 문제

찜하기 해제 후 상품 조회 API에서 wishYn이 약 1분간 1로 반환되는 현상을 MyBatis 캐시 구조와 함께 분석하고 해결한 과정을 기록합니다.

Palindrome 기초

Palindrome - 회문 거꾸로 뒤집어도 똑같은 (ex: 토마토, 기러기) 문자 찾기 알고리즘 검색 해보니 manacher 알고리즘이 나오는데 감을 찾는 중이라 가장 easy 문제로 접근해보았다. 9. Palindrome-number Given an integer

오라클 invalid Object 이슈

데이터베이스에서 사용되고 있는 테이블에 대하여 컬럼을 추가 또는 수정 될 때가 있다. 이게 기존 회사에서는 큰 작업 사항으로 여겨지지 않았는데 이번에 바뀐 환경에서는 해당 작업을 굉장히 신중하게 진행 하기에 해당 부분을 찾아보았다. invalid Object? Obje

실용주의 프로그래머-2장

실용주의 프로그래머(20주년 기념판) 데이비드 토머스•앤드류 헌트 2장 - 실용주의 접근법 (~Topic 9) ETC 좋은 설계는 나쁜설계보다 바꾸기 쉽다. - 우리는 ETC 원칙을 따라야 한다. (Easier to Change) 바꾸기 쉽게! - 결합도를 줄이는 이유

실용주의 프로그래머

실용주의 프로그래머(20주년 기념판) 데이비드 토머스•앤드류 헌트 유명한 책이라고 계속 들어온 몇몇 책이 있다. 이펙티브자바, 클린코드 그리고 실용주의 프로그래머, 이 중 실용주의 프로그래머가 정말 공통적으로 도움이 될만하다고 추천받아서 이를 간단히 정리 해보고자 한다

자율 프로젝트 end

시작 당시 사용하려 했던 기술을 사용해서 웹게임을 구현했고, 3일간 싱글게임 약 400회 멀티게임 약 250회가 플레이 되었다. 애시당초 구현하려던 충돌 멀티엔진은 실패 했지만 문서화나 사람들의 플레이 후기가 썩 괜찮았던 만족스러운 프로젝트 시작 때 사용하려 했던 기술

자율 프로젝트 start

프로젝트에서 적어도 안 써본 기술 하나는 써보자 라는 다짐하에 2학기 3번째 프로젝트, 자율 프로젝트가 시작되었다. 이번에는 유행했던 점프킹과 같은 장애물을 피해 올라가는 게임을 구현하려고 하는데 이걸 멀티접속이 가능하게 하려고 한다. 당연히 웹소켓이 필요하고 지금 껏

OAuth

OAuth 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준 쉽게 말해서 카카오, 네이버, 구글 등의 아이디로 나의 서비

21년 9월의 알게된 것

거진 한달 만의 블로그 글 업데이트. 지난 한달은 주로 프론트 부분을 진행했기 때문에 알고리즘이나 코딩 관련해서 새로운걸 업뎃하기 좀 그랬다. 이번 주는 다시 알고리즘을 진행했고, 월말평가에는 알고리즘 응용부분 문제가 나온다고 하니 슬그머니 생각나는 블로그 현재는 DP

git-receive-pack not permitted on 깃 허브 로그인 관련 문제

개인적인 알고리즘 연습관련으로 커밋푸쉬를 하고 있는 레파지터리에서 며칠전까지만 해도 잘되던 푸쉬가 갑자기 안되는 이슈가 발생했다. 대략 이와 같은 경고가 뜨면서 발생하는 것이고 이는 깃허브측에서 아이디/비밀번호 인증방식을 더이상 지원하지 않으면서 발생하는 이슈라고 한다

21년 8월의 알게된 것

간만의 주저리주저리 blogger의 제한된 기능으로 좀 답답했는데, HTML을 조작하여 그나마 몇몇 기능을 추가할 수 있다는걸 알게되었다. 일례로 그간 코드를 스크린샷 찍어서 올려서 매번 크기가 뒤죽박죽이었지만 이 전 포스팅을 기준으로 획일화된 코드를 올릴 수 있게 되

다차원배열의 알고리즘

다차원배열의 알고리즘 하루에 알고리즘만 3~4개씩 푸는 수업이 계속 되고 있다. 처음 접했던 Bufferedreader 와 Stringtokenizer가 어느정도 익숙해졌고, 2차원 배열에 데이터를 넣고 빼는 것에 숙달되어서 처음은 데이터를 입력받는 곳에서 엄청난 오류

Scanner 와 BufferedReader

Scanner 와 BufferedReader

코딩테스트 - 재귀 알고리즘

알고리즘 기본: 재귀 실제 프로그래밍에서는 딱히 안쓰이는 것 같지만, 알고리즘을 위해서는 꼭 알아야 한다는 재귀함수 사용법! 속도면에서 딱히 좋지 않지만 구현이 간단하고 보기에 편하다고 하다. 근데 내 생각은 알고리즘은 무조건 속도 아닌가요 ...? 알 수 없는 알고리

21년 7월의 알게된 것

예외처리 자바에서 예외처리라고 하면 보통 두가지 방법이 거론된다. try-catch 문으로 감싸주는 방식과 throws 로 던져주는 방식인데, 이번에 새로 배운 사실은 엄밀히 말하자면 throws 는 예외처리가 아니다. 던져주는 곳 중 가장 마지막 장소에서는 어찌됐든

ssafy6기 첫 월말평가 후기

월말평가, 알고리즘 어제 월말 평가를 처음 진행하며, 1번부터 4번까지는 단순 구현 문제였지만 5번같은 경우는 알고리즘 문제로 나왔다. 카톡방에서 의견교류를 한 결과 이게 백준 2615번 문제 "오목" 이라는걸 알았는데... 역시 내가 급하게 풀었던 답은 다수의 문제가

자식클래스에 객체생성

부모를 참조한 자식클래스 객체 생성 사실 이는 굉장히 기초적인 부분이지만 교수님의 말씀대로 1) 자식 = new 부모 2) 부모 = new 자식 이 두가지에 대해서 꽤나 헷갈렸던 부분이라 배운김에 정리하고 넘어가려한다. 일단 2번 부-자 부분이 에러가 나지 않는 상황이

0719 첫째날부터 왕창 배운다.

반복문 제어 평소에는 지양하지만 알고리즘 문제를 해결하다 보면 이중 반복문을 사용하게 되는 상황이 자주 있다. 이 때 특정 조건에 따라 continue와 break를 적용 시키는 상황이 있는데, 항상 가장 안쪽의 반복문에 대해서만 제어가 되는거라 임의의 flag변수를

ssafy 6기 지원 후기

1기가 나왔을 때부터 간간이 소식을 접했던 ssafy ( Samsung software academy for youth) 이번에는 내가 직접 지원부터 온라인 테스트, 면접까지 경험해 보았다. 우선 지원 시 자소서 문항은 매년 비슷한 것 같고, 난이도도 무난하다. 다만

쿼리튜닝과 인덱스

약 한달 전 조회 조건을 추가해달라는 요청이 왔고 대수롭지 않게 추가했던 적이 있다. LEFT JOIN tb_review re ON re.care_no = ca.care_no AND re.delete_yn = 'N' AND re.reg_type = '0' 이게 전체 조

알고리즘 연습[2]

해시 > 위장 스파이가 여러 종류의 옷을 가지고 총 몇가지의 위장을 할 수 있냐는 문제다. 이건 수학문제중에 경우의 수에서 자주 볼 수 있는 문제인데 중간까지 그걸 파악못하고 혼란을 겪었다. map 에 중복되는 요소들을 넣기 위해 이전 테스트에서 배운 getOrDefa

알고리즘 연습 [1]

완주하지 못한 자 map 부분에서 가장 낮은 난이도에 있는 문제다. 입출력 예 participant completion return ["leo", "kiki", "eden"] ["eden", "kiki"] "leo" ["marina", "josipa", "nikola"

API 문서를 정리하면서

API 문서를 정리하면서.... 우리는 swagger나 restdocs 같은 자동화 api 문서툴을 사용하지 않기 때문에 구글 스프레드 시트에 직접 만들고 있다. 그나마도 정형화 되지않은 형식 + 대충 기입하는 req, res 때문에 조금 난항을 겪고있는데 .... 그

백엔드개발자 질문 정리

- redis, memcached > nosql - mongodb > nosql Redis 와 Memcached 는 모두 nosql 중 key-value 형 데이터베이스로 빠른 속도가 장점인 데이터 베이스다. 메모리 데이터 저장소. 캐시 형태로 데이터를 사용한다. Me

URL Shortening Algorithm 구현하기(2)

URL shorteing 간단하게 입력할 수 있는 jsp 단과 프론트 검증 및 기능 작업까지 방금 막 끝냈다. 다 만들고 보니 가장 중요한 기능적인 부분은 처음 생각 그대로 만들었고, 결국 db에서 CRUD 하는 느낌이라 조금 허접해 보이긴 하지만 ... 또 생각보다

URL Shortening Algorithm 구현하기(1)

URL Shortening URL을 입력받아 짧게 줄여주고, Shortening된 URL을 입력하면 원래 URL로 리다이렉트하는 URL Shortening Service 문제를 딱 봤을 때 약간혼란스러움을 느꼈다. 쉬운건가? 어려운건가? 최근에 적용시킨 서비스중에 ur

intellij랑 친해지는 중...

인텔리 제이가 좋다라는건 처음 자바를 배울 때부터 들었지만 그간 금액적인 부분때문에 이클립스만 쭈욱 써왔었다. 이클립스를 계속 쓰면서도 새로운 기능도 발견하고 새로운 단축키를 발견하면서 만족하고 신기해하면서 사용했는데, 이제 회사에서 지원도 해주겠다 + 툴 통합하자 라

update, delete가 너무 무서운 사람

언뜻 듣기로 update문은 delete을 사용하는것보다 더 위험하기 때문에 사용을 지양해야 한다는 이야기를 본적이 있다. 근데 만들어 놓은 기능을 어떻게 안쓰고만 있겠나. 이걸 이리 저리 사용하는데 좀 새로이 알게된 정보들이 존재한다. 워크벤치에서 다수의 데이터가 나

백기선 live-study (2020)

백기선 live-study 12주차

12주차 과제: 애노테이션 #12 목표 자바의 애노테이션에 대해 학습하세요. 학습할 것 (필수) 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 애노테이션 정의하는 방법 Java 애노테이션은 소스 코드에 메타 데이터

백기선 live-study (2020)

백기선 live-study 11주차

11주차 과제: Enum 목표 자바의 열거형에 대해 학습하세요. 학습할 것 (필수) enum 정의하는 방법 enum이 제공하는 메소드 (values()와 valueOf()) java.lang.Enum EnumSet Enum 정의하는 방법 enum은 상수 그룹 (변수와

백기선 live-study (2020)

백기선 live-study 10주차

10주차 과제: 멀티쓰레드 프로그래밍 목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. 학습할 것 (필수) Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 Thread 클래스와 Runnable 인터페이스

백기선 live-study (2020)

백기선 live-study 9주차

9주차 과제: 예외 처리 목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 (필수) 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeEx

백기선 live-study (2020)

백기선 live-study 6주차

6주차 과제: 상속 목표 자바의 상속에 대해 학습하세요. 학습할 것 (필수) 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 자바 상속의 특징

백기선 live-study (2020)

백기선 live-study 8주차

8주자 과제: 인터페이스 목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 (필수) 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8

신입개발자 신년 일기

시간이 느리기도 하고 적당히 빠르기도 하며 균형을 맞춰서 새해가 왔는데 .... 자바스터디만 생각하면 일주일 너무나도 짧게 지나가버린다. 벌써 2번이나 빠져버리고 이번 주는 꼭 해내겠다던 다짐과 달리 지금 라이브 영상도 못보고 수요일이 지나가고 있다. 이론 공부도 왜이

백기선 live-study (2020)

백기선 live-study 7주차

7주차 과제: 패키지 목표 자바의 패키지에 대해 학습하세요. 학습할 것 (필수) package 키워드 import 키워드 클래스패스 CLASSPATH 환경변수 -classpath 옵션 접근지시자 마감일시 2021년 1월 2일 토요일 오후 1시까지. package 키워드

신입 개발자 근무 한달차 후기

단순하게 써왔던것들이 직접 API를 구현하면서 조금 익숙해지고 있다. 지금 나에게 주어진일은 엑셀 업로드를 제외하면 사실 단순 CRUD인데 이런 단순 작업에서도 며칠씩 소모하면서 하나하나 배우는 중이다. 막상 구현하고 나면 '이렇게 짧고 간단한 일인가?' 싶은데 구현전

백기선 live-study (2020)

백기선 live-study 5주차

5주차 과제: 클래스 목표 자바의 Class에 대해 학습하세요. 학습할 것 (필수) 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 마감일시 2020년 12월 19일 토요일 오후 1시

백기선 live-study (2020)

백기선 live-study 4주차

4주차 과제: 제어문 목표 자바가 제공하는 제어문을 학습하세요. 학습할 것 선택문 반복문 과제 과제 0. JUnit 5 학습하세요. 인텔리J, 이클립스, VS Code에서 JUnit 5로 테스트 코드 작성하는 방법에 익숙해 질 것. 이미 JUnit 알고 계신분들은 다른

백기선 live-study (2020)

백기선 live-study 3주차

3주차 과제: 연산자 목표 자바가 제공하는 다양한 연산자를 학습하세요. 학습할 것 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof assignment(=) operator 화살표(->) 연산자 3항 연산자 연산자 우선 순위 (optional) Ja

백기선 live-study (2020)

백기선 live-study 시작과 이모저모

한 주가 시작한 23일이다. 그간 회사일을 하면서 백기선님이 내준 스터디를 병행하고 있는데 변수나 연산자같은 기초적인 부분임에도 내가 간과하고 넘어간 부분을 짚을 수 있고, 헷갈렸던 개념을 정리할 수도 있어서 너무 좋다. 보통 개념 부분은 누군가가 질문하면 아 그거 분

spring 과 java 기초 한번 더 잡고 가기

자바를 단지 도구로만 생각하고 이를 더 잘 쓰는걸 jsp, spring 이라고 생각했는데 오히려 자바에 대해서 알아야 하는게 더 깊고 깊다는걸 배웠다. spring의 근간이 되는 기술인 만큼 다른 기술들에도 적용할 수 있고 java는 내 생각보다 더 엄청난 언어임이 틀

mybatis의 새로운 면모와 JPA(?) 키워드 첫만남

MyBatis 문법에 새로운게 있다. <![CDATA[ ]]> 여기서 [ ] 안에 있는 데이터들은 쓴 그대로 DB로 전송된다. 즉 부등호를 사용할 때 쓰는것 전체를 감싸도 되고 부등호만 따로 감싸도 작동한다. #과 $ 의 차이 생각해보니 학원에서는 주로 $를 썼다. #

신입 개발자는 환경세팅이 가장 어렵습니다.

주말과 월요일을 지나서 화요일 금요일 오후부터 코드를 살펴보기 시작하면서 이클립스와 씨름하고 있다. 먼저 찾아본건 VO패턴 종류는 총 세가지로 점층적 생성자 패턴, 자바 빈 패턴, 빌더 패턴 등이 있는데 내가 그동안 만들었던 빈객체를 만들고 setter로 채워나가는 패

신입 개발자 근무 7일차 후기(2)

불과 어제 배웠던 REST API가 실무에서는 엄청나게 다르게 쓰이는 걸 배웠다. 과장해서 말하자면 실제로 지키는 곳은 구글 아마존 뭐 이런 초거대 기업 정도라는거 ? 그와 관련해서 새로이 배운 단어는 '페이로드' 와 '멱등성' 특히 멱등성은 단어가 주는 느낌부터 어려

신입 개발자 근무 7일차 후기

살면서 가장 실무에 가깝게 정보들을 접하고 나니 취미나 학원에서 배웠던 개발에 관련된 지식보다 엄청나게 많은 진입장벽이 있는게 코디이었다. 개발 툴의 목적이나 방법들의 진화는 대체로 한 방향으로 흐르는 것 같다. 초기 설정은 복잡하게 방법은 심플 하게 조각은 최대로 나