전체 글

아무튼개발자되고싶어요...
· 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)정의: 개발자들이 각자 작업한 코드를 주기적으로 중앙 저장소에 병합하는 과정. 이때 코드를 병합할 때마다 자동으로 테스트와 빌드가 실행됩니다.목표: 코드가 항상 최신 상태로 유지되고, 각자 개발한 코드가 제대로 동작하는지를 지속적으로 확..
블로그 그냥 만들어도되고 이전해도 되고 한데쓰던거 귀찮아서 그냥 쓰고 있었다. 그런데 자꾸 광고를 누르고 간다는 사람들이 있어서웬 광고 하고 있었는데 알고보니 모바일웹에서 티스토리 자체 배너광고가 돌고 있었다. 스킨 업로드로 간단히 display: none 해봤는데/m에는 커스텀 스킨이 적용이 안되고 있었다.딱 보고 그것도 못알아차리다니 실격이다 실격... 암튼 그래서 그냥 설정에서 모바일웹 자동연결 꺼봤더니 사라졌다... 별 어이없는 일이 다있다
· TIL
CORS? SOP?1. SOP(동일 출처 정책, Same-Origin Policy)웹 보안 모델의 핵심으로, 다른 출처의 리소스에 대한 접근을 제한브라우저에서 실행되는 JavaScript가 다른 출처의 API나 리소스에 접근하지 못하도록 함동일 출처의 정의: 프로토콜, 호스트, 포트가 모두 같은 경우 참고링크SOP의 목적: 악의적인 스크립트가 민감한 정보에 접근하는 것을 방지하기 위함2. CORS(교차 출처 리소스 공유, Cross-Origin Resource Sharing)SOP의 제한을 일부 해제하기 위한 보안 정책서버측에서 특정 출처에 대한 접근을 허용할 수 있게 해줌동작방식:클라이언트 측 요청: 요청이 발생할 때 브라우저는 요청이 안전한지 확인하기 위해 CORS 확인서버 측 응답: 특정 클라이언트..
· TIL
0. Closure + HOC클로저: 이벤트가 발생할 때마다 이전의 상태를 기억해야 하기 때문에 클로저가 필요. 반환된 함수가 실행될 때마다 클로저를 사용하여 함수 실행여부를 결정할 수 있음고차 함수: 인자로 실행하려는 함수를 받아, 이 함수를 조건에 따라 실행하는 새로운 함수를 반환1. Debouncingtype Debounce = (...args: T) => void;function debounce(func: (...args: T) => void, delay: number): Debounce { let timer: ReturnType | null = null; return (...args: T) => { if (timer !== null) clearTimeout(timer); timer..
· TIL
1.Q1: OOP는 Stateful 프로그램에는 적합하지만, Stateless 프로그램에는 적합도가 떨어지는 편인가?A1: ① Stateful과 Stateless의 개념 Stateful 프로그램은 내부에 상태(state)를 유지하며, 그 상태에 따라 프로그램의 동작이 달라집니다. 예를 들어, 은행 계좌의 잔액 정보를 저장하고 그에 따라 입출금 작업을 수행하는 시스템은 상태를 유지해야 합니다. 반면에 Stateless 프로그램은 내부에 상태를 유지하지 않습니다. 즉, 각 요청이나 함수 호출은 이전의 상태에 영향을 받지 않고 독립적으로 처리됩니다. 예를 들어, 단순한 계산기 프로그램은 입력값에 따라 결과를 반환하지만, 내부에 상태를 저장하지 않습니다.A1: ② 객체지향 프로그래밍(OOP)과 Stateful ..
· TIL
1. 싱글톤 패턴이란? Zustand 는 싱글톤 패턴?싱글톤 패턴(Singleton Pattern)은 소프트웨어 디자인 패턴 중 하나로, 하나의 클래스에서 단 하나의 인스턴스만 생성되도록 보장하는 패턴입니다. 즉, 애플리케이션 전체에서 특정 클래스의 객체가 오직 하나만 존재하고, 어디서든 이 객체에 접근할 수 있는 전역적인 접근점을 제공합니다. 정의:싱글톤 패턴은 클래스의 인스턴스를 하나로 제한하고, 해당 인스턴스가 전역적으로 사용될 수 있도록 하는 디자인 패턴입니다. 동작 방식:• 클래스 내에 하나의 인스턴스만을 생성하며, 외부에서 해당 인스턴스를 직접 생성할 수 없도록 생성자를 private으로 설정합니다.• 클래스가 처음 호출되면 내부적으로 인스턴스를 생성하고, 이후부터는 동일한 인스턴스를 반환하여..
adminisme
elseif