뱅
뱅크샐러드
September 6, 20231회
뱅크샐러드 Go 코딩 컨벤션

간단 소개
뱅크샐러드의 Go 코딩 컨벤션은 코드 일관성 유지, 안정적인 에러 처리, 효율적인 HTTP 클라이언트 설정, 명확한 네이밍 규칙 등을 포함한다.
AI Summary
- Go 코딩 컨벤션 개요
- 뱅크샐러드는 Go와 gRPC를 활발히 사용하며 코딩 컨벤션을 정립, 코드 일관성 및 개념적 일관성 유지를 목표
- golangci-lint 같은 린트 도구를 사용해 코드 규칙을 자동화
- 주요 코딩 프랙티스
- 프로덕션 런타임에서 panic을 지양하고, 초기화 시점에만 사용, recovery 체인 추가 권장
- 에러 핸들링 시
errors패키지를 활용해 스택 트레이스를 추가하고, sentinel 에러는 필요한 경우에만 선언 - HTTP client 설정 시 MaxIdleConnsPerHost를 조정하여 커넥션 재사용률을 높임
- Slice 선언 시 len, cap을 미리 설정하고, nil slice를 사용하며, emptyness는 len()으로 판단
- Map 사용 시 ok 체크를 생활화하고, loop를 피하며, bool map과 struct{} map 중 선택 가능
- 코딩 스타일 및 프로젝트 구조
- 함수 인자 순서, 테스트 함수 네이밍, 파일 내 선언 순서 등 일관된 스타일을 유지
- import 그룹을 세 개로 나누고, 단수/복수 네이밍 규칙을 적용하며, 모호한 단어 사용을 지양
- 패키지 네이밍 시 core, util 같은 일반적인 이름 대신 구체적인 이름을 사용
- 프로젝트 구조는 필요한 패키지 폴더만 최소한으로 유지
Next Feeds
Spring Batch 애플리케이션 성능 향상을 위한 주요 팁
Spring Batch 애플리케이션의 성능 향상 팁을 제시하고, I/O 최적화, 병렬 처리, 벌크 업데이트 등의 개선 방법을 설명합니다.
Spring Batch성능 최적화병렬 처리벌크 업데이트JDBC Execute Batch
2023. 9. 5.
카카오페이

MySQL online alter부터 CPU 100% 장애까지
MySQL online alter 작업 후 CPU 100% 장애 발생 원인을 분석하고, 쿼리 최적화 및 캐시 구조 개선을 통해 해결한 경험 공유.
MySQLonline alterPercona ToolkitCPU 100%캐시
2023. 9. 5.
데브시스터즈
카카오페이 기술 블로그는 어떻게 만들었을까요?
카카오페이 기술 블로그 구축 및 운영 경험 공유: Gatsby에서 Astro로 마이그레이션하며 얻은 장단점과 SEO 최적화 전략을 소개합니다.
카카오페이기술 블로그GatsbyAstroSEO
2023. 9. 4.
카카오페이
BackstopJS 적용 후기 (Visual Regression Test)
BackstopJS를 활용한 시각적 회귀 테스트 적용 후기와 자동화 사례, 스토리북 에러 대응 경험을 공유합니다.
BackstopJS시각적 회귀 테스트스토리북자동화사이드 이펙트
2023. 9. 1.
카카오엔터테인먼트FE
BackstopJS 적용 후기 (Visual Regression Test)
BackstopJS를 활용한 시각적 회귀 테스트 적용 후기와 자동화 사례, 스토리북 업데이트 이슈 해결 경험을 공유합니다.
BackstopJS시각적 회귀 테스트스토리북자동화사이드 이펙트
2023. 9. 1.
카카오엔터테인먼트FE

Circuitbreaker를 사용한 장애 전파 방지
올리브영은 Resilience4j의 CircuitBreaker를 도입하여 서비스 장애 전파를 방지하고, 시스템 안정성을 향상시켰습니다.
CircuitBreakerResilience4j장애 전파 방지MSAFailover
2023. 8. 31.
올리브영