얼마 전, Spring Security에 기여를 하게 되었다! 🎉🎉
첫 오픈소스 기여였다!
결론은 2줄 아주 작은 부분을 수정했다.
발단
요즘 Spring Security 공부를 하면서, 시큐리티 전체 프로세스 과정을 공부하고 있었다.
그중 인프런 강의를 보다가 강사님께서 Spring Security의 FilterChainProxy를 설명해 주시는 과정에서
Security에서 List가 비어있는지 확인하기 위해서 filters.size() == 0을 사용한 부분이 눈에 거슬렸다.
Size() == 0 vs isEmpty()
JAVA Collection <T> 메서드 중 isEmpty()는 원소가 비어 있는지 확인하는 기능을 한다.
코드를 볼 때, isEmpty가 코드의 의도를 더 쉽게 이해할 수 있고 가독성 측면에서도 좋다고 생각해 왔다.
그리고, 직접적으로 숫자 값을 명시하는 것보다는 제공 메서드를 사용하는 것이 강건성을 높일 수 있다고 생각한다.
바로 PR 올릴 생각에 신나서 바로 github로 뛰어갔다.
그런데 이미 변경되어있었다 🫨
포기하려는 순간, 문득 비슷한 결과를 찾아보게 되었다.
그래서 저 클래스를 깊게 분석하기 시작했다.
PR 시작
먼저, isNull이라는 메서드 이름이 size() == 0 인 것도 이상하지만 위에서 말했던 isEmpty()를 사용하도록 변경했다.
조금 더 코드 의도를 알았다면, 과감하게 수정할 수 있을 것 같았지만
최대한 문제없게 같은 동작을 하도록 작은 부분만 수정을 진행했다.
Spring Security Contiribute 문서를 꼼꼼히 읽고 나서, 시간을 뺐어서 미안하다는 느낌으로 최대한 조심스럽고 공손하게 PR을 올렸다.
그 이후 상태가 변경되더니 답글을 남겨주셨고
사과할 필요 없다며 So sweet 하게 남겨주셨다.
작은 변경사항이었지만, Main으로 Merge 되었고
Spring Security 기여자가 될 수 있었다.
마무리
첫 기여를 이렇게 마무리할 수 있었다.
비록 큰 변화나 대단한 성과는 아니지만, 나에게는 새로운 도전이었고 뜻깊은 경험이었다.
나는 세상의 뛰어난 개발자들이 활동하는 영역이 나와는 멀게만 느껴져, 이런 도전을 시작하는 것조차 망설여졌다.
그러나 이번 기여를 통해, 비록 작은 발걸음일지라도 노력하면 성장할 수 있다는 가능성을 느낄 수 있었다.
조금 더 성장한 개발자로서, 동기부여와 자신감을 얻은 것 같다.
앞으로도 도전을 멈추지 않고, 더 넓고 깊은 배움을 이어가고 싶다.
추가
이제 Spring Security 보면 내 이름을 볼 수 있다!
'Development' 카테고리의 다른 글
[Project] Cloud Migration 도전기 (1) | 2025.02.09 |
---|---|
[spring security] 시큐리티 초기화 과정 톺아보기 (1) | 2025.01.17 |
[MSA] Spring Cloud vs Kubernetes (0) | 2025.01.11 |
[CS] REST이란? (0) | 2024.05.27 |
[UML] Mermaid를 사용해서 다이어그램을 그려보자. (0) | 2023.10.21 |