본문 바로가기

분류 전체보기104

[신입 개발자의 '작디 작고 작디 작고 자그만' 첫 라이브러리 제작기] 3. Bridge-Api 에러핸들러 구현 안녕하세요!회사에서 프로젝트가 산더미 처럼 떨어져서, 아주 오랜만에 글을 이어가려 합니다.오늘은 Bridge-Api 라이브러리의 에러핸들러 구현에 대해 이야기해보려고 하는데요!에러핸들러는 라이브러리의 중요한 부분으로, 일관성 있고 효율적인 에러 처리를 가능하게 합니다.1. 에러핸들러의 필요성에러핸들러를 만들게 된 주요 이유는 다음과 같습니다:일관성: 모든 에러를 일관된 방식으로 처리할 수 있습니다.중앙화: 최상위 레벨에서 에러를 처리함으로써 코드 중복을 줄이고 관리를 용이하게 합니다.유연성: 다양한 타입의 에러에 대해 각각 다른 처리 방식을 적용할 수 있습니다.디버깅 용이성: 모든 에러가 한 곳에서 처리되므로 디버깅이 쉬워집니다.2. 에러핸들러 인터페이스 설계먼저, 에러핸들러의 인터페이스를 설계했습니다... 2024. 10. 3.
[신입 개발자의 '작디 작고 작디 작고 자그만' 첫 라이브러리 제작기] 2. Bridge-Api 클라이언트 라이브러리 구현과 비동기 처리 문제 해결 안녕하세요~어느덧 세 번째 글을 작성하게 됐습니다 ㅎㅎ이번 글에서는 Bridge-Api 라이브러리의 클라이언트 측 구현 과정과 그 과정에서 마주친 비동기 처리 문제, 그리고 그 해결 과정에 대해 다루어보겠습니다.1. 친숙한 인터페이스의 클라이언트 라이브러리 구상우리가 일반적으로 사용하는 HTTP 클라이언트 라이브러리들, 예를 들어 axios나 jQuery의 Ajax는 매우 직관적이고 사용하기 쉬운 인터페이스를 제공합니다.Bridge-Api의 클라이언트 라이브러리도 이와 유사한 사용 경험을 제공하고자 했습니다.목표로 한 사용 방식은 다음과 같았습니다:const api = BridgeApi.create({ headers: {"Authorization": "Bearer token"}, timeout.. 2024. 7. 25.
[신입 개발자의 '작디 작고 작디 작고 자그만' 첫 라이브러리 제작기] 1. Bridge-Api 초기 구현 및 리팩토링 과정 안녕하세요!이번 글에서는 지난 포스트에서 소개드린 Bridge-Api 라이브러리의 구체적인 구현 과정을 적어볼텐데요.초기 구현과 성능 개선을 위한 리팩토링 과정에 대해 다루어 보겠습니다.결론 부터 말씀 드리자면, 초기 구현에 비해 리팩토링 후 라우팅 로직에 약 2배의 성능 향상이 있었습니다.1. 초기 구상 (리플렉션과 정규식을 활용)처음 Bridge-Api를 설계할 때, 저는 리플렉션과 정규식을 활용한 방식을 채택했습니다.이 접근법은 유연성과 간결성 측면에서 장점이 있었습니다.1.1 초기 라우팅 find 코드초기 라우팅 코드는 다음과 같았습니다:fun handleRequest(pathAndQueryString: String, method: MethodType, jsonStringBody: String =.. 2024. 7. 23.
[신입 개발자의 '작디 작고 작디 작고 자그만' 첫 라이브러리 제작기] 0. Bridge-Api를 구상하게 된 계기. 안녕하세요.아주아주아주 오랜만에 생성형 AI가 만든 글이 아닌 직접 쓰는 글을 올리게 됐습니다.이번 주제는 제가 처음으로 만들어본 작은 라이브러리, Bridge-Api의 제작기입니다.여태까지 시리즈 글을 두 어번 시도해서 늘, 중간에 글쓰기를 멈추었는데, 이번 시리즈 글은 끝까지 적어보려 합니다.이번 프롤로그에서는레거시 코드의 문제점 파악,새로운 라이브러리 구상,그리고 완성된 라이브러리가 적용된 코드를 간략히 살펴보겠습니다.레거시 코드와 그에 따르는 문제점백엔드 측면:레거시 코드@JavascriptInterfacefun paymentCardRequest(cardRequest: String): String = try { LogHelper.info("paymentCardRequest : $cardReq.. 2024. 7. 22.