전체 글126 Error에 정보값 집어넣기 개발 중, 서버에서 던지는 에러에 특정 정보값을 넣을 필요성이 생겼다.서버에서 직접 에러 메시지를 던지는 대신, 별도의 에러 코드를 정의하여 사용하는 방식으로 개발을 진행하고 있었는데, 그러다 보니 ‘어떤 필드(값)에서 에러가 나타났는지’에 대한 정보를 포함할 필요성이 생겼다.이를 구현하기 위해 거친 과정을 짤막히 기록한다.구현 방법 알아보면서 생각해봤는데, 자신의 프로젝트 상황에 따라서 방법이 갈릴 것 같다. 1. 내 프로젝트가 ECMA2022 이상을 지원한다.⇒ 별도의 추가 개발 없이 원래의 Error 클래스를 사용하면 될 것이다. 이는 ECMA2022 부터 Error 클래스에 cause라는 속성이 지원되기 때문이다.https://developer.mozilla.org/ko/docs/Web/Jav.. 2025. 5. 31. GraphQL에는 유연한 객체가 존재할까 (GraphQL 스칼라 타입에 대해) 어느날 서버 코드를 작업하다가… 의문이 들었다. GraphQL에는 Any 같은 타입이 존재하나?이것이 갑자기 궁금해진 이유는, 구조가 정해지지 않은 객체 타입을 반환하고 싶은데, 이걸 그냥 JS/TS에서 하듯이 하는 것이 불가능해보였기 때문이다.// 참고로 이런 방식을 얘기한다{ [key:string]: string }그래서 GraphQL에는 이런 타입을 지원할까.→ 결론부터; GraphQL은 강한 타입 시스템 때문인지 ‘일단은’ 이런 타입이 없다.그렇지만, 편법처럼 어떤 모양의 객체든 허용하게끔 만드는 것은 가능하다.이걸 가능하게 해주는 것이 '커스텀 GraphQL 스칼라 타입' 이라는데, 이 부분에 충분한 이해가 없어 조금 더 알아봤다. GraphQL이 지원하는 타입스칼라 타입 공식 스펙 문서를 조.. 2025. 5. 5. PostgreSQL 로컬 DB 세팅기 Query/Mutation 등을 작성할 때, 이를 테스트 하는 과정에서 DB 내에 잘못된 데이터(Bad data)가 들어갈 수 있다는 애로사항이 있었다.이를 방지하고 싶어서 생각해보던 중, 로컬 DB를 세팅하고 백엔드 프로젝트에 연결하여 사용하는 것으로 해결할 수 있겠다는 생각이 들어 PostgreSQL로 로컬 DB를 세팅해보기로 하였다.아래는 이를 세팅하면서 겪은 이런저런 오류들과 GPT와의 논의 과정(?)을 개인적으로 기록했다. 과정을 꼼꼼하게 기록하질 않았어서... 중간중간 애매모호한 부분이나 의문점이 있는데, 이 부분들은 나중에 한 번 더 확인해봐야 할 것 같다.과정1. PostgreSQL 설치 PostgreSQL 공식 홈페이지에서 운영체제에 맞는 버전을 받아 설치한다. Mac 기준 Homebr.. 2025. 3. 23. 상태 관리 라이브러리 비교해보기 개발을 해보며 사용해본 상태 관리 라이브러리가 어느덧 꽤 늘었다.이제껏 써본 상태 관리 라이브러리는 Redux Toolkit/Recoil/Zustand 의 3가지 였는데, 여기에 많이 들어본 Jotai 까지 총 4가지의 라이브러리를 사용해보고 어떤 차이점이 보이는지 한 눈으로 확인해보기 위해 간단한 투두 화면을 만들었다.공통 조건 위에서 언급한 대로 간단한 Todo List 화면을 만든다고 가정하고, 이 때 필요한 상태들을 위 4개의 라이브러리로 구현한다. 아래의 항목들을 구현했다(Recoil의 공식 문서 튜토리얼을 참고했다). interface TodoItem { id: string; title: string; description: string; isDone: boolean; date: Date;}.. 2024. 12. 19. 이분 탐색 문제 풀어보기 빈말로라도 알고리즘 문제를 잘 풀진 못하지만(...) 특히나 잘 접하지 않았던 유형의 문제들을 풀어보고자 과거에 풀었던 문제들을 돌아보던 중, 이분 탐색 문제를 엄청나게 안 풀어봤다는 것을 깨달았다.개념적으로는 이분 탐색이 어떤 것인지 알고 있지만, 알고리즘 문제 풀이에 대해서는 확실히 익숙하지 않다는 느낌이 들어, 이분 탐색 문제를 풀고 문제 유형에 익숙해지고자 글을 남기기로 했다.이분 탐색 문제이분 탐색 형식의 풀이를 요구하는 알고리즘 문제들은 주로 방대한 범위의 수에서 특정 조건을 만족하는 값을 찾는 문제에서 많이 쓰이는 듯 하다.이분 탐색의 이론은, 정렬된 배열 혹은 리스트 내에서 탐색 범위(인덱스)를 절반으로 나누어 가며 탐색 대상의 범위를 좁혀나가는 것이다.이를 알고리즘 문제 풀이에 대입하면,.. 2024. 12. 13. Three.js and TypeScript (11) Udemy의 Three.js and TypeScript 강의를 듣고 정리한 내용을 기록한다.31. GLTF DRACO 부터 33. Rapier Debug Renderer 까지.DRACO loader three.js docs threejs.org 3D Mesh를 압축하거나 압축을 풀기 위해 사용하는 오픈소스 라이브러리.그동안 사용해온 GLTF 파일도 압축될 수 있으며, GLTFLoader를 통해 불러오는 것도 가능하다. gltf-transform 설치gltf 파일 형식을 읽고, 수정할 수 있게 한다(참고)강의에서는 모델 파일을 압축하기 위해 사용한다.// 설치yarn global add @gltf-transform/cli// 예제 파일을 압축한다gltf-transform optimize './public/.. 2024. 12. 3. 이전 1 2 3 4 ··· 21 다음