본문 바로가기
메뉴

분류 전체보기39

JetBrains IDE 백준 플러그인 BOJ Helper 개발

요즘 자바로 알고리즘 문제를 푸는데, VSCode에는 BOJ Tester라는 문제를 보고 테스트할 수 있는 확장 프로그램이 있다. 근데 인텔리제이나 파이참에는 이러한 플러그인이 없어 직접 개발하게 되었다. 이 프로젝트는 바이브 코딩으로만 개발되었고, 단 한 줄도 내가 코드를 작성하지 않았다. 내가 한건 오로지 설계, UI/UX 구상, 프롬프팅..아래 기능들이 2~3일에 걸쳐 완성됐다는게 너무 놀랍다. 결과물도 준수하고. 옛날이었으면 넉넉하게 2주~1달은 걸리지 않았을까..? 플러그인 등록/심사도 까다로울 줄 알았는데 4시간만에 승인됐다.JetBrains Marketplace: https://plugins.jetbrains.com/plugin/30394-boj-helper 주요 기능문제 자동 불러오기파일..

무신사 코딩테스트 결과물 개선 및 부하테스트 해보기

무신사 2차 코딩테스트에서 비관적 락으로만 대학교 수강 신청 시스템을 처리했다. (후기글 보기)예전에 쿠폰 이벤트 관련 프로젝트를 했을 때, 처음부터 쌩으로 비관적 락으로만 해보진 않고 카운팅에는 바로 레디스를 도입했어서 성능이 어느정도인지 비교하고 싶어졌다.그래서 점차 개선해 나가며 수치를 비교하고자 한다. (Github 레포)테스트 방향성내가 원하는 방향은 있지만 좀 더 AI에게 자율성을 주기 위해 테스트 도구 지정 외에 다른 제약은 주지 않고 물어봤다. 여기서 k6를 선택한 이유는, 따로 GUI로 설정하지 않고 Javascript와 터미널로 실행되기 때문에 에이전트가 다루기 더 쉬울 것 같아 선택하게 됐다. 이것저것 나에게 질문을 하다가 3가지 접근법을 던져줬다. 내가 원하던 방향은 접근법 A라서..

[Spring Boot/JPA] globally_quoted_identifiers와 네이밍 전략 이슈

MySQL 예약어 충돌을 회피하기 위해 테이블명이나 컬럼명을 항상 따옴표로 감싸주게끔 globally_quoted_identifiers 옵션을 true로 설정하고 있다. 그리고 동시에 camelCase인 이름들을 snake_case로 바꾸기 위해 PhysicalNamingStrategySnakeCaseImpl 네이밍 전략을 사용하고 있다. application.yaml 설정:spring: jpa: properties: hibernate: globally_quoted_identifiers: true hibernate: naming: physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingSt..

무신사 ROOKIE AI Native 코딩테스트 2차 후기

지난 2월 8일 오후 3시부터 6시까지 무신사 2차 코테를 보고 후기를 남길지 말지 정말 고민을 많이 했다.이번 코테는 문제 내용을 자세하게 언급해야 글 작성을 할 수 있는데, 외부에 노출해도 되는지 아닌지 정책을 몰라서 모르면 하지 말자 생각해 안올리고 있었다. 설날 지나서야 결과 발표가 있을 것 같았는데, 2월 13일 17시 31분에 합격 메일이 왔다.1차/2차 코테 회고를 하고, 코딩테스트와 관련해서 자유롭게 쓸 수 있다는 내용...! 그래서 이 글을 작성하게 됐다. 무신사 2차 문제도 public으로 공개가 되어있다. https://github.com/musinsatech/2026-musinsa-rookie 코테 준비2차 코딩테스트를 보기전 공개된 내용은 다음이 전부였다.AI Agent 사용 가능..

Spring Security 이해 (2) - 인증 아키텍처

이번엔 스프링 시큐리티의 서블릿 인증에서 사용되는 주요 아키텍처 구성 요소에 대해 살펴보자.SecurityContextHolder스프링 시큐리티에서 인증 모델의 핵심 요소이고, SecurityContext 를 포함하고 있다.(SecurityContext 는 SecurityContextHolder 안에 들어있는 컨테이너로, 현재 요청의 Authentication 객체를 보관한다.) 인증된 사용자의 세부 정보를 저장하는 곳이고, 스프링 시큐리티는 SecurityContextHolder 가 내부적으로 어떻게 채워졌는지는 신경 쓰지는 않는다. 홀더에 들어있는 Authentication 을 현재 인증 정보로 사용하게 된다. 사용자 인증의 가장 간단한 방법은 그냥 이 홀더에 값을 설정해주면 된다. SecurityC..

Spring Security 이해 (1) - 서블릿 기반 아키텍처

OAuth2와 JWT를 이용한 서비스를 만들기 전에, 서블릿 기반 애플리케이션에서의 Spring Security에 대해 공부하려고 한다. 인증(Authentication), 인가(Authorization), 공격에 대한 방어(Protection Against Exploits)에 대해 다루기 전에 먼저 이해해야 하는 것들을 알아보자.서블릿(Servlet)자바에서 HTTP 요청을 처리하고 응답을 생성하는 서버 컴포넌트 서블릿이 하는 일요청 객체(HttpServletRequest) 사용서블릿 메서드 실행 (비지니스 로직, DB 조회 등)응답 반환 (HttpServletResponse 설정)서블릿 컨테이너(Servlet Container)서블릿 컨테이너는 자바 웹 애플리케이션(서블릿/JSP)을 실행해주는 런타임..

Claude Opus 4.6 그리고 GPT-5.3-Codex 등장

2월 6일 거의 동시에 두 모델이 발표됐다. 2월 3일에 Sonnet 5가 나올 것 같다하더니 이거 기다리다가 Opus 4.6이 먼저 나와버렸다. 오랫동안 새로운 모델을 기다려왔는데, 뭐가 좋아졌는지 살펴보자. Claude Opus 4.6https://www.anthropic.com/news/claude-opus-4-6 Claude Opus 4.6We’re upgrading our smartest model. Across agentic coding, computer use, tool use, search, and finance, Opus 4.6 is an industry-leading model, often by wide margin.www.anthropic.com 1M 토큰 컨텍스트를 제공한다(베타)...

무신사 ROOKIE AI Native 코딩테스트 1차 후기

무신사 코딩테스트MUSINSA ROOKIE AI NATIVE ENGINEER (6개월 전환형)에 지원했고 1차 코테를 보게 되었다. 당연하게 언어로 C++을 선택할 수 있을줄 알았는데, Java, Kotlin, JavaScript, Python 중 하나만 선택해서 응시할 수 있다고해서 살짝 당황했다. 그래도 뭐 다른 언어를 못하는건 아니니깐 준비하면 되는 부분이었고, 관건은 "코테에 어떤 문제가 나올까?" 였다. 메일에서 친절하게 평가 목적과 방향성을 알려주셔서 내 나름대로 뭐가 나올지 생각해봤다.복잡한 알고리즘 암기 X (특정 알고리즘 지양)입출력 처리, 엣지 케이스 처리 (구현력과 꼼꼼함)코딩테스트 진행 시간 1시간복잡한 알고리즘은 사람마다 주관적으로 갈리는 부분이고(기본적인 BFS, DFS도 복잡..

[Java] 제네릭/와일드카드/타입 소거 정리

제네릭과 타입 파라미터제네릭은 클래스/인터페이스/메서드가 다룰 타입을 타입 파라미터로 받아, 컴파일 시점에 타입을 강하게 체크한다.타입 파라미터는 관례적으로 T, E, K, V 같은 단일 대문자를 많이 쓴다.T : TypeE : ElementK : KeyV : Value사용하는 이유컴파일 타임 타입 안정성: 잘못된 타입 사용을 컴파일 단계에서 막는다.캐스팅 제거: 컬렉션에서 꺼낼 때 불필요한 캐스팅과 런타임 예외 위험을 줄인다.raw type을 쓰면 컴파일러가 타입을 제대로 검사하지 못해, 나중에 꺼내 쓸 때 캐스팅이 필요하고 런타임 오류 가능성이 커진다.제네릭 클래스/인터페이스선언부에 하나 이상의 타입 파라미터를 두면 제네릭 클래스/인터페이스라 부른다. 타입 파라미터 도입으로 타입 변수(Type Var..

주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 - 부록

10장 11장 작성은 건너뛰었는데, 이 쪽은 세부적으로 포스팅하려고 한다. (DDD, CQRS등) 성능 테스트부하 테스트 (load)목적: 예상되는 부하에서 시스템이 요구 성능을 만족하는지 확인하기 위한 테스트TPS/RPSp95/p99 latency에러율스트레스 테스트 (stress)목적: 시스템을 한계 이상으로 내몰아 최대 성능을 확인하기 위한 테스트최대 수용량 확인붕괴 지점 이후에 어떻게 동작하는가?지속 부하 테스트 (soak)목적: 일정 부하를 장시간 유지했을 때 버틸 수 있는지 확인하기 위한 테스트커넥션/메모리 누수 확인성능 저하 확인스파이크 테스트 (spike)목적: 갑작스런 트래픽 급증에 대해 시스템의 반응성과 안정성 확인하기 위한 테스트회복력 확인오토스케일링/레이트 리밋 등 설계 점검용어포화..

보호된 글

비밀번호를 입력하세요