전체 글

개 발 자 로 살 아 남 기
· etc
{ "key": "alt+cmd+-", "command": "HookyQR.beautify" }, { "key": "shift+\\", "command": "inlineChat.start", "when": "editorFocus && inlineChatHasProvider && !editorReadonly" }, { "key": "cmd+i", "command": "-inlineChat.start", "when": "editorFocus && inlineChatHasProvider && !editorReadonly" }, { "key": "cmd+r i", "command": "-inlineChat.start", "when": "edi..
· etc
{ // ======================== // Workspace UI Settings // ======================== "workbench.iconTheme": "material-icon-theme", "workbench.colorTheme": "Default Dark Modern", "workbench.colorCustomizations": { "[Default Dark Modern]": { "activityBarBadge.background": "#2979FF", "activityBar.activeBorder": "#2979FF", "list.activeSelectionForeground": "#2979FF", "list..
· TIL
Hasura란?Hasura는 GraphQL 기반의 실시간 API 생성 엔진으로, 데이터베이스에서 자동으로 GraphQL API를 생성해주는 도구입니다. 특히 PostgreSQL과 잘 연동되며, 최소한의 설정만으로 강력한 CRUD API 및 실시간 데이터 쿼리 기능을 제공할 수 있습니다.🔹 주요 특징자동 GraphQL API 생성PostgreSQL, MySQL, SQL Server 등의 데이터베이스에서 자동으로 GraphQL API를 생성함.REST API를 따로 개발할 필요 없이 빠르게 백엔드 구축 가능.실시간 데이터 처리 (Subscriptions)GraphQL의 subscriptions 기능을 기본적으로 지원하여, 데이터 변경 시 자동으로 프론트엔드에 반영됨.WebSocket을 활용하여 실시간 데이..
· TIL
n8n이란?n8n은 오픈 소스 기반의 워크플로우 자동화(Workflow Automation) 도구로, 다양한 API 및 서비스 간의 데이터 흐름을 자동화할 수 있도록 도와주는 노코드(No-Code) / 로우코드(Low-Code) 플랫폼입니다.🔹 주요 특징오픈 소스 & 셀프 호스팅 가능n8n은 오픈 소스이므로 무료로 사용할 수 있으며, 직접 서버에 배포하여 사용할 수도 있습니다.SaaS(클라우드) 버전도 제공됨.직관적인 노드 기반 UI플로우 차트처럼 노드를 연결하여 워크플로우를 구성할 수 있음.개발자가 아니더라도 쉽게 자동화할 수 있음.150개 이상의 서비스 통합 지원Slack, GitHub, Notion, Google Sheets, Trello, PostgreSQL, MySQL, Stripe 등 다양한..
· TIL
Git에서 Rebase와 Merge는 브랜치를 병합하는 두 가지 방식인데, 각각 장단점이 있어요. 실무에서는 코드 히스토리를 관리하는 전략에 따라 다르게 사용됩니다.1️⃣ Merge (git merge)✅ 기본적인 브랜치 병합 방식✅ 새로운 Merge Commit이 생성됨사용법git checkout maingit merge feature-branch예시A---B---C (main) \ D---E---F (feature-branch) ➡ git merge feature-branch 실행 후:A---B---C---M (main) \ / D---E---F (feature-branch) ✅ M(Merge Commit)이 생성됨.✅ 과거 히스토리를 그대로 유지하며, 브랜치..
· algorithm
🔹 행렬 곱셈(Matrix Multiplication)이란?행렬 곱셈은 두 개의 2차원 배열(행렬)을 곱하는 연산입니다.행렬 곱셈은 단순한 원소별 곱셈이 아니라 행과 열을 이용한 연산으로 이루어집니다.✅ 1. 행렬 곱셈의 조건A(행렬)이 m × n 크기이고, B(행렬)이 n × p 크기라면,A의 열 개수(n)과 B의 행 개수(n)가 같아야 곱할 수 있음결과 행렬 C는 m × p 크기의 행렬이 됨🔹 즉, A(m × n) * B(n × p) = C(m × p)✅ 2. 행렬 곱셈 과정행렬 A와 B가 주어졌을 때, A의 각 행(row)과 B의 각 열(column)을 곱해서 더한 값이 결과 행렬 C의 원소가 됩니다.예제A (2 × 3 행렬)| 1 2 3 || 4 5 6 | B (3 × 2 행렬)| 7 ..
· algorithm
모듈로 연산을 사용하여 일관된 인덱싱 처리🔹 비교배열이 기준배열보다 긴 경우✅ 모듈로 연산(i % pattern.length)은 항상 0 이상 pattern.length - 1 이하의 값을 반환✅ 즉, 패턴이 길어도 i가 그 범위를 초과하지 않으면 처음 몇 개 값만 사용됨const answers = [1, 3, 2]; // 정답 3문제const pattern = [1, 2, 3, 4, 5, 6, 7, 8]; // 8개짜리 패턴 (더 김)for (let i = 0; i  → 패턴이 길더라도 처음 answers.length만큼만 비교되므로, i % pattern.length는 그냥 i와 동일한 효과. 💡 즉, pattern.length >= answers.length일 때 i % pattern.lengt..
· TIL
🔹 Number.EPSILON 이란?Number.EPSILON은 JavaScript에서 부동소수점 연산의 오차를 처리하기 위해 사용되는 상수입니다.이 값은 1과 가장 가까운 부동소수점 숫자 사이의 차이를 나타내며, 2^(-52) (약 2.220446049250313e-16)의 값을 가집니다.console.log(Number.EPSILON); // 2.220446049250313e-16🔹 왜 필요한가?JavaScript에서 숫자는 IEEE 754 부동소수점 방식으로 저장됩니다.이 때문에 정확한 실수 연산이 어려워 미세한 오차가 발생할 수 있습니다.❌ 부동소수점 오차 예시console.log(0.1 + 0.2); // 0.30000000000000004console.log(0.3 === (0.1 + 0...
· algorithm
키워드상황스택- 쌍이 맞는지- 최근- 무언가를 저장하고 반대로 처리해야 할 때- 데이터의 조합이 균형을 이루어야 할 때- 알고리즘이 재귀 특성을 가질 때- 최근 상태 추적큐- 순서대로- ~대로 동작하는 경우- 스케줄링- 최소 시간- 특정 조건에 따라 시뮬레이션 할 때- 시작 지점부터 목표 지점까지 최단 거리깊이 우선 탐색- 모든 경로- 메모리 사용량이 제한적일 때의 탐색- 백트래킹 문제를 풀 때너비 우선 탐색- 최적- 레벨 순회- 최소 단계- 네트워크 전파- 시작 지점 부터 최단 경로나 최수 횟수를 찾아야 할 때백트래킹- 조합- 순열- 부분 집합- 조합 및 순열 문제- 특정 조건을 만족하는 부분 집합최단 경로- 최단 경로- 최소 시간- 최소 비용- 트래픽- 음의 순환- 단일 출발점 경로- 다익스트라: 특..
· javascript
JavaScript는 1995년 넷스케이프(Netscape) 사에서 브랜든 아이크(Brendan Eich) 가 단 10일 만에 개발한 것으로 유명합니다.이렇게 짧은 시간 안에 만들어진 이유는, 당시 브라우저에서 경량의 스크립트 언어가 필요했기 때문입니다.초기에는 “Mocha”라는 이름으로 개발되었으며, 이후 “LiveScript”를 거쳐 JavaScript라는 이름으로 변경되었습니다. 1996년, 마이크로소프트는 넷스케이프의 JavaScript를 리버스 엔지니어링하여 JScript를 개발했고,이를 자사 브라우저인 Internet Explorer(IE) 에 탑재하면서 브라우저 간의 표준 차이로 인해 비호환성 문제가 발생하게 되었습니다. 이에 따라 1997년 ECMA(European Computer Manu..
adminisme
elseif