분류 전체보기221 오픈소스 - Naver scavenger - 로깅 문자열 연결 vs 파라미터 치환 오늘은 Naver scavenger 오픈소스 프로젝트를 살펴보았습니다. scavenger는 런타임 Dead Code 분석 도구입니다. 디버깅 또는 로그를 추가하지 않고 메서드 호출이 확인 가능하고 이를 시각화해 유저들에게 보여줍니다. 이를 통해서 손쉽게 Dead Code를 파악하고 리팩토링할 수 있습니다. 1. 분석 대상분석 대상은 프로젝트 전체에서 발견되는 log 코드였습니다. 이번에 인공지능 알고리즘을 활용하는 프로젝트를 진행하면서 수많은 연산이 발생하는 경우 중간에 로그를 하나 찍더라도 성능에 많은 영향을 주는 것을 경험하였기에 프로젝트 전반에 걸쳐서 작성되어 있는 로그 코드를 유심하게 보게 되었습니다. 그러다가 scavenger는 거의 대부분의 로그들이 문자열 연결 방식으로 만들어져있다는 것을 .. 2024. 11. 23. 오픈소스 - 표준프레임워크 기여하기 - logging-log4j2, readme 기여 개요이번에는 전자정부 표준프레임워크 egovframe에 기여한 내용에 대해서 포스팅하겠습니다. 1. https://github.com/eGovFramework/egovframe-docs/pull/351 logging-log4j2_configuration_file.md 오탈자 수정 by junhyeongkim2 · Pull Request #351 · eGovFramework/egovframe-docsAppender 선언과 정의 테이블의 태그명 미표기 문제를 마크다운 수정으로 해결했습니다. 참고 : https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte3:fdl:%EC%84%A4%EC%A0%95_%ED%8C%8C%EC%9D%BC%EC%9D%84_.. 2024. 11. 13. 캠프라이드, 택시 카풀 커뮤니티 앱을 출시하다 들어가며... 올해 6월 말부터 혼자서 진행했던 캠프라이드 프로젝트가 드디어 출시되었다. 캠프라이드 서비스에 대해 간단하게 소개하자면 교통비 절약이 필요한 직장인, 예비군, 대학생들에게 택시 또는 카풀 커뮤니티를 제공하는 서비스이다. 내가 이 서비스를 처음 떠올리게 된 계기는 올해 학생 예비군을 참여하면서부터이다. 당시 나는 학교 근처에서 자취를 하다가 서울로 이사를 온 상태였고 학생 예비군은 경기도 안산 쪽에서 진행을 하게 되었다. 예비군에 참여하기 위해서 교통편을 알아보니 지하철을 타고 1시간 30분 정도 가야 했고 역에서 또 버스를 타고 예비군 훈련장에 가야하는데 이 버스의 배차 간격이 30분 이상이었고 심지어 정보도 잘 없었다. 아침 8시30분에 훈련을 시작하고 늦으면 예비군 훈련에 참여할 수 .. 2024. 11. 8. 오픈소스 - 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. 스프링부트 CloudWatch, API 성공, 실패, 소요시간을 모니터링해 보자 들어가며 . . .3개월 동안 혼자서 Flutter와 Spring Boot로 개발을 진행한 '캠프라이드'가 앱스토어 출시를 앞두고 있습니다. 앱 심사가 완료되면 다양한 개발자 커뮤니티와 에브리타임, 그리고 주변 지인분들을 통해 홍보를 진행할 예정입니다. 서비스 홍보 후에는 적지 않은 사용자 유입이 예상되는데, 현재는 다음과 같은 문제점들이 있었습니다.예상치 못한 에러가 발생했을 때 이를 실시간으로 모니터링할 수 있는 방법이 없음API 응답 시간 저하나 에러 발생과 같은 문제를 조기에 발견하고 조치할 수 있는 모니터링 수단이 필요이러한 문제들을 해결하기 위해 AWS CloudWatch를 도입하게 되었고, 이번 글에서는 Spring Boot 애플리케이션에서 CloudWatch를 활용하여 API 모니터링 시스.. 2024. 10. 29. 이전 1 2 3 4 ··· 37 다음