Skip to content

[IC2_BE] 김승빈 - 마스킹 라이브러리 #10

@seungbin-kim

Description

@seungbin-kim

프로젝트 이름

cloak4j

개요

개인정보 등의 마스킹을 도와주는 라이브러리

  • 기본적인 개인정보 마스킹 기능 제공
  • 기본 적용 패턴에 따라 자동 적용
  • 지정 적용
  • 객체단위 필드 적용
  • 직접 패턴 지정, 커스텀
  • 직접 범위 지정

저장소 주소

cloak4j

체크리스트

  • 개인 저장소 생성
  • README.md 파일 작성 (다음 항목 포함)
    • 프로젝트 개요
    • 설치 방법 / 사용 방법
    • 라이선스 표기
  • 기능 구현
    • 단순 마스킹 ex) mask(string, start, end, maskChar)
    • 객체 필드 마스킹 - 마스킹 어노테이션 표시
      • 필드 수동 마스킹: 수동마스킹 어노테이션+처리핸들러 어노테이션을 필드에 표시
      • 필드 자동 마스킹: 자동마스킹 어노테이션 -> 처리 핸들러 존재시 자동으로 마스킹
    • 사용자 정의
      • 사용자 정의 마스킹 핸들러: 마스킹 처리 로직 사용자 정의 가능
      • 사용자 정의 마스킹 어노테이션: 라이브러리의 필드 마스킹 어노테이션을 메타 어노테이션으로 사용하여 단축 가능
    • 기본 마스킹 제공
      • 주민번호
      • 운전면허번호
      • 카드번호
      • 이메일
      • 전화번호
      • 주소
  • 테스트 추가 (라인 커버리지 60% 이상)
  • 문서화 주석 작성
  • 사용 예제 프로젝트 추가 (examples 폴더 아래에 2개 이상)
  • 라이브러리 퍼블리싱
  • CI 설정
    • PR에 등록되었을 때 테스트 실행
    • main 프로젝트에 머지되었을 때 라이브러리 퍼블리싱

질문사항

  • 프로젝트 구조
    • 패키지 구조 등 구조적인 부분
    • 인터페이스 설계 부분
    • 코드 가독성 부분 (ObjectMasker.java)
      • 리팩토링은 AI에 부탁하고, 주는 결과물을 조금 수정했습니다.
  • 리플렉션과 정규식을 같이 사용하면서 오는 성능저하?
    • 트래픽이 많은 실무에서 인터셉터나 AOP처리로 데이터 응답이 나갈때 "정규식처리+리플렉션" 동작이 계속 일어나도 큰 문제가 없는지
      • 문제가 있다면 최적화 방식, 또는 다른 처리방법이 있을지
    • 실무에서 리플렉션을 적극적으로 사용해도 괜찮을지
  • examples 예제 프로젝트 코드를 전부 junit 으로 작성
    • main 클래스가 아닌 원하는 예제들만 테스트를 돌려 확인할 수 있는걸 의도하였는데, 이렇게 해도 괜찮을까요?

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions