본문 바로가기

전체 글153

[회고록] 2025 몽골 출장 회고록 feat. 100명 실사용자 서버 관리 보호되어 있는 글 입니다. 2025. 6. 22.
[Locust] 웹 서버 부하 테스트 하기 (Feat. python, gcp) Locust 란?Locust는 웹 애플리케이션이나 API의 부하(Load)와 스트레스 테스트(Stress Test)를 수행하기 위해 만들어진 Python 기반의 오픈소스 프레임워크이다. 수천~수만 명의 사용자가 동시에 웹사이트를 사용하거나 API를 호출했을 때, 시스템이 어떻게 반응하는지, 얼마나 견디는지, 어디서 병목이 발생하는지 등을 확인할 수 있는 도구이다. 사용자가 1초에 몇 명씩 접속할지, 총 몇 명이 활동할지, 어떤 행동을 반복할지 모두 프로그래밍적으로 제어 가능로그인 → 게시글 조회 → 댓글 작성처럼 실제 플로우를 재현 가능HTTP뿐만 아니라 WebSocket, gRPC, GraphQL 등도 확장 플러그인으로 테스트 가능Python 코드이기 때문에 기존 코드, 설정값, 외부 API 호출과도 .. 2025. 6. 15.
[postman] 같은 API 요청 여러번 보내기 - Collection Runner Postman + CSV를 활용한 Collection Runner (간단 매크로)!!!!- 계정 110개를 한 번에 생성해야하는 상황- 일일이 postman으로 보내야 할까...? NO....Postman의 Runner 기능과 CSV 입력을 이용해서 계정을 자동으로 생성할 수 있다.📌 방법 요약:Postman에 회원가입 API 요청 작성예: POST /api/v1/auth/registerBody에 변수를 사용:{ "email": "{{email}}", "password": "{{password}}", "nickname": "{{nickname}}"} 3. CSV 파일 준비: 4. Postman 상단 메뉴 → New Runner Tab 클릭 5. 해당 요청 끌어오기 → CSV 업로드 → .. 2025. 6. 15.
[GCP] SSH 패스워드 방식으로 인증 설정하기 (Feat. Config 수정 후 계속되는 오류 해결) GCP 인스턴스를 생성한 후 로컬 PC에서 해당 인스턴스의 IP 주소로 SSH 접속을 시도했을 때,다음과 같은 오류가 발생했다 :gyuri@baggyuliui-MacBookPro ~ % ssh ubuntu@[IP주소]The authenticity of host '[IP주소] ([IP주소])' can't be established.------ key fingerprint is SHA256:----------------.This key is not known by any other names.Are you sure you want to continue connecting (yes/no/[fingerprint])? yPlease type 'yes', 'no' or the fingerprint: yesWarni.. 2025. 6. 11.
[Spring] JPA에서 OneToOne 관계 N+1 문제 (Feat : Lazy Loading) 회사에서 프로젝트를 하면서 발견한 JPA OneToOne 관계의 N+1 문제이다! OneToOne 관계에 놓인 Entity A와 B가 있다고 가정하자. Entity A를 조회했을 때, DB 조회를 위한 한 번의 쿼리가 아닌 B에 대한 조회까지 총 두 번의 쿼리가 나가는 문제점을 발견하였다. 코드는 공개할 수 없어서, Entity인 User와 UserProfile를 예시로 들어보겠다. User: 회원 기본 정보 (아이디, 이메일, 비밀번호 등)UserProfile: 회원의 상세 프로필 정보 (주소, 생년월일, 취미 등)→ 모든 유저는 하나의 프로필을 반드시 가지고 있고, 반대로 프로필은 반드시 특정 유저에 속해야 함.→ 따라서 1:1 관계, 그리고 현실적으로 양방향으로 참조할 필요가 있음.@Entityp.. 2025. 5. 16.
[Spring] 연관관계 편의 메서드 📌 연관관계 편의 메서드는 왜 써야하는가?양방향 연관관계의 일관성 유지 JPA에서는 @OneToOne, @OneToMany, @ManyToOne 등 양방향 연관관계는 객체 기준으로 서로 다른 두 필드를 가지는 구조임.이때 양쪽 객체의 연관관계를 동시에 갱신해주지 않으면, 두 객체의 상태가 서로 불일치할 수 있음.예를 들어, OneToMany 관계를 가지는 Post와 Image가 있다고 가정하자. -------------Post class----------------@Entitypublic class Post { @Id @GeneratedValue private Long id; private String title; @OneToMany(mappedBy = "post", cascade.. 2025. 5. 9.