전체 글

아무튼개발자되고싶어요...
· TIL
1. Apollo Client 설정 (App Router 버전)Apollo Client 설정 (lib/apolloClient.ts)클라이언트 환경에서 Apollo Client를 생성하는 설정입니다.// lib/apolloClient.tsimport { ApolloClient, InMemoryCache } from "@apollo/client";import { createUploadLink } from "apollo-upload-client";const apolloClient = new ApolloClient({ link: createUploadLink({ uri: process.env.NEXT_PUBLIC_API_BASE_URL, credentials: "include", // 쿠키 포함 ..
· TIL
as const는 TypeScript에서 리터럴 타입 추론을 위해 사용하는 구문입니다. 이를 통해 객체, 배열, 문자열 등의 값을 "읽기 전용"으로 설정하고, 그 값을 리터럴 타입으로 좁힐 수 있습니다.1. as const의 역할as const는 TypeScript에서 다음과 같은 역할을 합니다:리터럴 타입 추론:기본적으로 TypeScript는 값을 더 일반적인 타입으로 추론합니다.as const를 사용하면 값을 리터럴 타입으로 추론하도록 강제합니다.읽기 전용(readonly)로 설정:as const를 사용하면 객체나 배열의 모든 속성을 읽기 전용(readonly)으로 설정합니다.2. 예제a) 기본 값 추론과의 차이const value = "hello"; // TypeScript는 value를 strin..
· TIL
abstractabstract 키워드를 사용한 클래스는 추상 클래스라고 하며, 다음과 같은 특징과 목적을 가지고 있습니다.1. 인스턴스화가 불가능추상 클래스는 직접 인스턴스화할 수 없습니다. 즉, new 키워드로 객체를 생성할 수 없습니다. 오직 다른 클래스가 이를 상속하고 구체적인 구현을 제공할 때만 인스턴스를 만들 수 있습니다. abstract class Animal { abstract makeSound(): void; // 추상 메서드 move(): void { console.log("Moving..."); } } const animal = new Animal(); // 오류 발생: 추상 클래스는 인스턴스화할 수 없습니다.2. 추상 메서드 포함 가능추상 클..
· TIL
sudo lsof -i :5432sudo kill -9
{ "workbench.iconTheme": "material-icon-theme", "workbench.colorTheme": "Default Dark Modern", "editor.linkedEditing": true, "cSpell.diagnosticLevel": "Hint", "workbench.colorCustomizations": { "[Default Dark Modern]": { "activityBarBadge.background": "#2979FF", "activityBar.activeBorder": "#2979FF", "list.activeSelectionForeground": "#2979F..
· TIL
Math.sin, cos, tan이전에 작성했던 Three.js 코드 중에 이해가 안되고 넘어간 부분이 있어 정리합니다.문제의 코드는 다음과 같습니다.// 오브젝트02 서서히 올라갔다 내려갔다octaAnimation() { if (this.objGroup && this.objGroup.getObjectByName('object02')) { const to = this.objGroup.getObjectByName('object02'); if (to) { to.rotation.y += 0.001; to.position.y = -9 + Math.sin(Date.now() / 1000) * 1; } }}그냥 매우 간단한 수학(Math.sin)을 이용한 것이지만바로 이해가 ..
· TIL
*임시방편임 pnpm install 시 pnpm-lock.yaml 이 자꾸 바뀔때 pnpm i --frozen-lockfile --no-verify-store-integrity
· TIL
문제 분석문자열 s에서 각 문자에 대해 문자 t와의 최소 거리를 구하는 문제입니다. 문자열의 길이는 최대 100으로 제한되므로, O(n^2)의 알고리즘도 사용할 수 있습니다. 다만, 더 효율적인 방법을 찾을 수 있다면 좋습니다.풀이법 1: 이중 루프 사용const arr = str.split('');let answer = [];for (let i = 0; i 풀이 설명각 문자에 대해 t의 위치를 기준으로 모든 거리 차이를 구합니다.Math.abs(j - i)를 사용해 각 t와의 거리를 배열 distance에 저장합니다.distance 배열에서 최소값을 찾아 answer 배열에 추가합니다.시간 복잡도바깥쪽 루프(for i)는 n번 실행되고, 내부 루프(for j)도 n번 실행되므로, 총 시간복잡도는 O(n..
· TIL
Docker는 컨테이너 기술을 활용하여 애플리케이션과 그 종속성을 격리된 환경에서 실행할 수 있도록 해주는 오픈 소스 플랫폼입니다. 이를 통해 개발, 테스트, 배포 과정에서 일관된 환경을 제공하고, “한 번 빌드하면 어디서든 실행 가능”한 형태를 구현할 수 있습니다. 1. Docker의 기본 개념컨테이너(Container): 애플리케이션과 그에 필요한 라이브러리, 종속성을 모두 하나의 패키지로 묶어 격리된 환경에서 실행할 수 있는 단위를 의미합니다. 가상머신과 유사하지만, 컨테이너는 운영체제 수준에서 격리되므로 가상머신보다 더 가볍고 효율적입니다.이미지(Image): 컨테이너를 실행하기 위한 모든 요소(코드, 런타임, 라이브러리 등)를 포함한 읽기 전용 템플릿입니다. 이미지는 컨테이너를 생성하는 기반이 ..
· TIL
CD/CDCI/CD는 지속적 통합(Continuous Integration)과 지속적 배포(Continuous Deployment) 또는 지속적 전달(Continuous Delivery)을 의미하며, 소프트웨어 개발 및 배포 프로세스를 자동화하여 코드 품질을 유지하고 더 빠르게 배포할 수 있도록 도와주는 핵심 개념입니다. 실무에서 CI/CD는 보통 버전 관리 시스템(GitHub, GitLab 등)과 연계하여 사용됩니다. 1. CI(Continuous Integration)정의: 개발자들이 각자 작업한 코드를 주기적으로 중앙 저장소에 병합하는 과정. 이때 코드를 병합할 때마다 자동으로 테스트와 빌드가 실행됩니다.목표: 코드가 항상 최신 상태로 유지되고, 각자 개발한 코드가 제대로 동작하는지를 지속적으로 확..
adminisme
elseif