토스뱅크 인턴 개발자의 IDE 플러그인 개발 및 민감 정보 로깅 자동화 경험 공유

🤖 AI 추천

토스뱅크 인턴 개발자의 실제 프로젝트 경험을 통해 IDE 플러그인 개발 및 컴파일러 플러그인 개발의 과정을 배우고 싶은 백엔드 개발자 및 생산성 향상 도구 개발에 관심 있는 개발자에게 추천합니다. 특히 신규 개발자의 온보딩 효율화 및 개발 문화, DRI 문화에 대해 알고 싶은 개발자에게 유용합니다.

🔖 주요 키워드

토스뱅크 인턴 개발자의 IDE 플러그인 개발 및 민감 정보 로깅 자동화 경험 공유

핵심 기술: 금융 도메인에서의 개발 생산성 향상을 위한 IDE 플러그인 개발 및 민감 정보 로깅의 안전성 확보를 위한 Kotlin 컴파일러 플러그인 개발 경험을 공유합니다.

기술적 세부사항:
* 변수명 자동화 플러그인:
* 금융 도메인의 복잡하고 낯선 변수명에서 발생하는 이해의 어려움을 해결하기 위해 개발되었습니다.
* DB에 변수명과 뜻을 저장하고, IDE 플러그인을 통해 변수명 생성 및 단어 뜻 조회를 지원합니다.
* 자연어 처리(OpenKoreanTextProcessorJava)를 활용하여 한국어 합성어 분리 및 영어 CamelCase 분리를 지원합니다.
* LLM을 활용하여 DB에 없는 단어에 대한 추천 및 오타 교정을 제공합니다.
* 사전 데이터 확대, 로컬 메모리 캐시 활용, 파일 기반 관리 등 성능 최적화 및 사용성 개선 방안이 논의되었습니다.
* Secret-ToString-Plugin (Kotlin 컴파일러 플러그인):
* data classtoString() 메서드에서 민감 정보(계좌번호, 주민등록번호 등)가 노출되는 문제를 해결하기 위해 개발되었습니다.
* @Secret 애노테이션이 붙은 프로퍼티에 대해 toString() 메서드를 자동으로 오버라이딩하여 마스킹 처리를 보장합니다.
* Kotlin 컴파일러의 IR(Intermediate Representation) 단계에서 동작하여 기존 toString()을 제거하고 마스킹된 toString()을 생성합니다.
* @SecretToString 애노테이션을 통해 적용 범위를 명확히 하고, @DisableSecretToString으로 예외 처리를 지원합니다.
* 민감 정보 처리의 개발자 부담을 줄이고 보안을 강화하는 데 기여했습니다.

개발 임팩트:
* 변수명 컨벤션 일관성 유지 및 신규 개발자의 도메인 적응 속도 향상.
* 민감 정보 로깅의 안전성 확보 및 개발자의 보안 관련 실수 방지.
* 개발 프로세스의 견고성 및 효율성 증대.

커뮤니티 반응: (원문 내 언급 없음)

📚 관련 자료