모든 블로그
펫프렌즈

펫프렌즈

블로그 방문

최신 게시글 (20)

3월 25일

AI

AI 워크플로우 자동화 : 펫프렌즈 n8n 해커톤

n8n으로 사내 해커톤의 신청부터 시상까지 전 과정을 자동화했습니다. 결과적으로 82개 워크플로우를 개발해 25개를 배포했습니다.

#자동화#n8n#해커톤
38000

1월 27일

프론트엔드

Next.js에서 QueryClient를 전역변수로 사용해도 될까요?

Next.js 서버에서 전역 QueryClient 사용으로 메모리 누수와 OOM 위험이 발생했습니다. 요청별로 QueryClient를 분리하여 캐시를 격리하고 메모리 사용을 안정화했습니다.

#Next.js#SSR#Node.js
145000

12월 9일

백엔드

MongoDB 커넥션 풀 모니터링과 알림 시스템 구축기

ConnectionPoolListener로 MongoDB 커넥션 풀을 실시간 모니터링하고 80% 초과 시 WARN 로그 생성. OpenSearch Alerting과 Slack 연동으로 사전 경고 받아 풀 사이즈 조정 및 트래픽 대응 가능

#Java#MongoDB#Monitoring
85000

12월 3일

백엔드

AOP 기반 Feature Toggle 라이브러리

이 글은 Spring AOP 기반으로 구현한 Feature Toggle 라이브러리의 구조와 동작 방식을 소개합니다. 라이브러리는 멀티모듈로 구성되어 환경에 맞게 기능 토글을 유연하게 처리하며, 토글 상태를 외부 API로 조회합니다.

#Java#AOP#spring boot
47000

12월 3일

프론트엔드

App Store 5.1.1 가이드라인 리젝 대응기: SwiftUI Repository 패턴으로 게스트 기능 구현하기

SwiftUI 기반 iOS 앱에서 App Store 가이드라인에 맞춰 게스트 모드를 Repository 패턴과 DI Container로 구현해 리젝 문제를 해결했습니다. 이 과정에서 코드 구조 개선과 사용자 경험 향상을 동시에 달성했습니다.

#iOS#swift#SwiftUI
36000

11월 7일

백엔드

Kafka에서 S3로 실시간 데이터 수집 파이프라인 설계와 구축기

펫프렌즈는 기존 배치 방식 대신 Kafka CDC 기반 실시간 데이터 수집 파이프라인을 구축해 S3에 데이터를 저장하고 있습니다. 이를 통해 운영 부담을 줄이고 데이터 분석 활용 범위를 넓혔으며, 향후 Iceberg 도입으로 데이터 일관성 강화도 계획 중입니다.

#Kafka#CDC#S3
107000

9월 25일

백엔드

국밥 같은 단위테스트 시나리오로 마음 든든하게 개발하기

펫프렌즈 백엔드 개발팀은 단위 테스트를 적극 도입하여 코드 신뢰도와 유지보수성을 크게 향상시켰습니다. JUnit, Mockito, Fixture Monkey 등의 도구 활용과 효율적인 테스트 관리 방법을 공유하며, 테스트 자동화와 실행 시간 단축 등 향후 개선 방향도 제시합니다.

#Java#테스트자동화#junit
124000

8월 20일

데브옵스

Github Action과 self-hosted runner로 구축하는 E2E 테스트 자동화: POC부터 확장까지 우리팀의 내재화 여정

펫프렌즈 팀은 Github Action과 self-hosted runner를 활용해 iOS 및 Android 웹뷰 기반 앱의 E2E 테스트 자동화 환경을 구축했습니다. Slack과 연동하여 테스트 실행과 결과 알림을 자동화하며 점진적으로 개선하여 비용 절감과 효율성 향상을 달성했습니다.

#자동화#mobile#E2E
67000

7월 30일

프론트엔드

프론트엔드 테스트 비용과 효용 사이에서

프론트엔드 배송 정보 컴포넌트에 대한 테스트 코드 작성 경험과 개선 과정을 공유합니다. 테스트 코드 작성의 비용과 효용, 효율적 설계 방법 그리고 지속적 고민의 중요성을 강조합니다.

#react#TypeScript#CI/CD
169000

5월 12일

백엔드

레거시 탈출! 추천 구좌 시스템 개선기

펫프렌즈 Pre-Order 파트는 복잡한 레거시 추천 구좌 시스템을 전략 패턴과 서킷 브레이커 적용 등으로 안정성과 유지보수성을 크게 개선했습니다. 또한 어드민 UI와 비동기 처리, E2E 테스트 도입을 통해 확장성과 운영 효율성도 향상시켰습니다.

#refactoring#Microservice#webflux
114000

4월 17일

백엔드

Firehose부터 OpenSearch까지: AWS 서비스를 활용한 로그 분리 전략

이 글은 AWS Firehose와 OpenSearch를 활용해 애플리케이션 로그를 조건별로 분리하고 장기간 보관하는 전략을 소개합니다. Java MDC, Fluent Bit, Lambda 함수 등 다양한 기술을 조합하여 로그 관리 효율을 높이는 방법을 설명합니다.

#AWS#Opensearch#lambda
49000

4월 10일

프론트엔드

Playwright로 로그인을, Lighthouse로 성능을: 인증 페이지 성능측정 자동화

이번 글에서는 Playwright를 활용하여 인증된 페이지의 성능 측정을 자동화하는 방법을 소개합니다. 또한, AWS CloudWatch와 Grafana를 통해 성능 데이터를 시각화하여 지속적인 모니터링 환경을 구축한 과정도 설명합니다.

#CI/CD#자동화#성능
106000

3월 7일

백엔드

DocumentDB 성능 최적화: 슬로우쿼리 수집부터 AI를 활용한 인덱스 추천까지

DocumentDB 프로파일러(Profiler) 설정, 슬로우쿼리 오픈서치(OpenSearch) 전송 파이프라인과 대시보드 구성, ChatGPT API를 활용한 인덱스 추천까지 차

#AWS
66000

2월 11일

데브옵스

트래픽이 복사가 된다고?! 미러링 테스트 도입기 — nginx

트래픽이 복사가 된다고?! 미러링 테스트 도입기 — nginx 안녕하세요 펫프렌즈 커머스개발팀 Pre-Order 파트 백엔드 개발자 에이미(김영미) 입니다. 이번에 펫프렌

#API#test#nginx
25000

1월 10일

백엔드

MSA 기반 미디어 업로드 고도화: 람다 함수 구조 변경으로 유지보수성 향상

이 게시물은 MSA 아키텍처를 활용한 미디어 업로드 기능의 고도화 과정을 다룹니다. Lambda 함수의 구조를 개선하여 유지보수성을 높이고 서비스의 독립성을 강화했습니다.

#docker#AWS#MSA
20000

12월 30일

프론트엔드

iOS 앱개발자가 Appium으로 구현해본 웹뷰 테스팅

이 게시물은 iOS 앱 개발자가 Appium을 사용하여 웹뷰에 대한 UI 테스팅을 구현한 경험을 공유합니다. XCUITest의 한계를 극복하고 TypeScript를 활용한 코드 유지보수성 향상을 강조합니다.

#TypeScript#iOS#UI/UX
37000

12월 12일

데브옵스

Lint Cl 속도 개선: 변경 파일만 검사하는 방법

안녕하세요. 펫프렌즈 Post-Order 파트 프론트엔드 개발자제이와이입니다. Lint는 어느새 개발자들 사이에서 코드 품질 유지를 위한 필수 도구로 자리 잡았습니다. 협

#CI/CD#GitHub#자동화
13000

12월 6일

백엔드

ArchUnit으로 아키텍처 원칙을 코드로 지키는 방법

안녕하세요. 펫프렌즈 Post-Order 파트 백엔드 개발자 진크(Jincrates/이진규)입니다. 저희 파트는 주문, 결제, 교환/반품 등 주문 관련 다양한 도메인의 개

#agile#test#품질
50000

11월 28일

데브옵스

웹 성능 측정 자동화 비법: Lighthouse CI와 CI/CD의 만남

안녕하세요. 펫프렌즈 커머스개발팀 Post-Order 파트 프론트엔드 개발자 “플린(고경호)" 입니다. Lighthouse CI를 활용해 CI/CD 파이프라인에 성능 측정

#CI/CD#자동화#Lighthouse
26000

11월 28일

백엔드

백앤드서버에게 자유를 PresignedURL

안녕하세요. 펫프렌즈 Pre-Order 백앤드 개발자지그입니다! 펫프렌즈에서는 작년 커뮤니티 서비스를 시작하며, 커뮤니티 백엔드 서버에서 이미지/비디오 업로드량이 급증했습

#AWS#서버리스#DynamoDB
17000