타입스크립트에서 null을 처리하는 방법Java로 개발할 때 가장 중요하게 여겼던 것은 Null에 대한 처리이다.특히 NullPointerException(이하 NPE)이 발생하면 우리 서비스가 갑자기 종료될 수 있기에 사용자 경험에 매우 좋지 않다. 타입스크립securityinit.tistory.com 이전 글의 마지막을 보면[함수 호출 -> null 체크 -> 실패하면 null 반환 -> 성공하면 다음 단계] 이러한 상황에 대한 처리를 고민했다. Kotlin의 let 체이닝, Java의 Optional 등으로 처리할 수 있지만, Typescript에선 방법이 따로 없었다.Typescript에선 if (null) return null;이라는 구조를 계속 반복했었다. 이번 글에선 이런 구조를 체이닝을 통..
전체 글
컴퓨터 공부하는 블로그입니다. 공부하는거 다 적어요~!Java로 개발할 때 가장 중요하게 여겼던 것은 Null에 대한 처리이다.특히 NullPointerException(이하 NPE)이 발생하면 우리 서비스가 갑자기 종료될 수 있기에 사용자 경험에 매우 좋지 않다. 타입스크립트/자바스크립트에도 Java의 NPE와 비슷한 Cannot read properties of undefined 오류가 있다.이 오류는 NPE만큼이나 치명적이다. 프론트엔드에서 이 오류가 발생하면 사용자 화면이 하얗게 변하거나, 특정 기능이 작동하지 않는다.백엔드에서 발생하면 API 응답이 실패하고 전체 요청이 무산된다.(NPE와 동일하다.)더 큰 문제는 JavaScript의 특성상 undefined와 null이라는 두 가지 '없음'이 공존한다는 점이다. Java 개발자 입장에서는 혼란스..
회사에서 서버를 다룰 때, 각 계층별 스위치에 대한 이야기를 많이 듣게 된다.대학교 학부 시절, 어렴풋이 배웠던 기억만 나지, 정확히 각 계층이 어떤 역할을 하고, 여러 스위치가 왜 존재하는지 등 자세히 설명할 수 없었기에, 실무에서 대화를 제대로 이어가기 어렵단 느낌을 받았다. 그러다 보니 이번에 해당 내용을 정리해보려 한다.내가 실무를 하며 기본적으로 알아야 할 내용들에 대한 공부이므로, 교과서적인 정리는 아니고, 실무에서 이해할 정도만 정리해보려 한다.스위치먼저 스위치란 무엇일까? 스위치는 이름 그대로, 스위칭(Switching)을 해주는 도구이다.데이터가 오고 갈 때, 각 데이터가 목적지에 해당하는 경로로 이동하도록 안내해 주는 이정표와 같은 역할을 한다. 네트워크는 고속도로와 비교할 수 있다.자..
위 영상을 보며 Redis의 내부 Event Loop가 어떻게 동작하는지 궁금해져서 Redis 코드를 따라가 보기로 결심했다. GitHub - redis/redis: For developers, who are building real-time data-driven applications, Redis is the preferred, fastest, andFor developers, who are building real-time data-driven applications, Redis is the preferred, fastest, and most feature-rich cache, data structure server, and document and vector query engine. - red....
회사에서 Java SpringBoot를 백엔드로, html, css, js를 프론트엔드로 구성한 서비스를 마이그레이션 하게 되었다.풀스택으로 개발을 해야했고, 빠르게 프로토타입을 만드는 것이 목표였기에, TS 기반의 기술을 사용하여 빠르게 개발하고, 같은 언어가 주는 장점인 타입 안정성 유지하려 했다.이를 위해 모노레포를 사용하기로 했다.왜 모노레포인가?먼저 모노레포를 선택한 이유 크게 다음 5가지이다.1. 타입 공유의 완전성@koita/shared 패키지에 정의된 타입(예: IAttend, AttendStatus)을 백엔드와 프론트엔드가 공유한다.이를통해 API의 응답 데이터나 상태 관리 시 일관된 타입 시스템 유지가 가능해진다. // @koita/shared에서 정의한 타입을// 백엔드와 프론트엔드가..