본문 바로가기

오픈소스 기여3

오픈소스 - hibernate-orm 기여하기 - testing orm 기여 개요이번에는 Hibernate-ORM 오픈소스에서 성능 최적화를 위한 개선 작업을 진행했습니다. 구체적으로는hibernate-testing/src/main/java/org/hibernate/testing/orm/domain/gambit/Shirt.java의 convertToEntityAttribute 메서드에서 불필요한 Integer.valueOf() 호출을 제거하는 작업이었습니다. 변경 사항 상세 설명변경 전 코드@Overridepublic String convertToEntityAttribute(Integer dbData) { if (dbData != null) { switch (Integer.valueOf(dbData)) { // 불필요한 변환 case .. 2024. 11. 8.
오픈소스 - 스프링프레임워크 기여하기 - WebSocketHandlerMapping Spring Framework에 기여한 내용 소개오늘은 Spring Framework 오픈소스에 기여한 내용에 대해서 작성하겠습니다.먼저 제가 오픈소스 기여에 관심을 가지게 된 계기는 GDG Songdo에서 진행하고 있는 오픈소스 멘토링을 통해서 많은 분들이 크고 작은 글로벌 오픈소스에 기여를 하는 것을 보고 나도 저렇게 내가 사용하는 프레임워크에 기여를 해보고 싶다는 생각으로 시작되었습니다.현재는 스프링프레임워크의 아주 작은 코드를 수정하는 수준의 기여를 하였는데 앞으로는 더 큰 로직을 더 나은 방향으로 수정하고 직접 테스트 코드도 짜서 검증하는 기여를 해보고 싶습니다.이번에 기여한 내용은 Pull Request #33634에서 확인하실 수 있습니다.변경 사항 설명이번 기여에서는 WebSocketHan.. 2024. 11. 7.
오픈소스 - Naver Arcus Client - MapDelete, MapGet JMH 벤치마킹 오늘은 Naver Arcus Client 오픈소스 프로젝트에 대한 성능 분석 결과를 공유하고자 합니다. 특히 문자열 연결(String Concatenation) 부분에 초점을 맞추어 분석을 진행했습니다.1. 배경Naver에 대한 관심으로 시작된 이 분석은 오픈소스 프로젝트를 탐색하는 과정에서 시작되었습니다. 코드를 살펴보던 중, MapDelete와 MapGet 클래스의 getSpaceSeparatedMkeys() 메소드에서 복잡한 for 루프와 StringBuilder를 사용하는 것이 눈에 띄었습니다. 왜 이렇게 복잡한 방식을 사용했는지 궁금해졌고, 이를 간단한 String.join()으로 리팩토링해보기로 결정했습니다.2. 분석 대상분석 대상은 MapDelete와 MapGet 클래스의 getSpaceSe.. 2024. 10. 10.