주의점을 알아보기 전에 기존에 알고 있던 재귀 함수와 증감 연산자에 대해 아주 간단히 알아보고 가보자 1) 재귀 함수 함수가 자기 자신을 호출하는 것을 재귀 호출이라 한다. 이 재귀 호출을 수행하는 함수가 바로 재귀 함수이다. 재귀 함수는 아래와 같이 반복 처리를 위해 사용한다. 반복하는 방법으로는 for문 while문등 여러 가지가 있으니 시의적절하게 사용해야 한다. 무조건 재귀 함수가 좋은 건 아니다. function countdown(n) { if(n
분류 전체보기
`package.json`에는 프로젝트에 대한 설명, 종속성 패키지, 실행 스크립트 등의 정보를 담는 매니페이스(Manifest) 파일입니다. 여기서 주의할점은 사용하는 패키지 매니저에따라 속성이 조금씩 다를 수 있기 때문에 공식 홈페이지에서 확인하시는게 좋습니다. (NPM, Yarn berry, pnpm) 아래 설명은 NPM을 기준으로 설명합니다. name 패키지를 게시하려는 경우 `package.json`에서 가장 중요한 사항은 필수인 이름 및 버전 필드입니다. 이름과 버전이 함께 완전히 고유한 것으로 간주되는 식별자를 형성합니다. 패키지 변경은 버전 변경과 함께 이루어져야 합니다. 패키지를 게시할 계획이 없는 경우 이름 및 버전 필드는 선택 사항입니다. { "name": project } 주의 사항..
1. 조합구하기 ex) const arr = ["*", "+"] arr 조합은 ["*", "+"], ["+", "*"] 이 두 가지 이다. function generateOperatorCombinations(arr) { const permutations = []; const permute = (arr, m = []) => { if (arr.length === 0) { permutations.push(m); } else { for (let i = 0; i < arr.length; i++) { const cur = arr.slice(); const next = cur.splice(i, 1); permute(cur.slice(), [...m, ...next]); } } }; permute(arr); retur..
Git Hooks GIt 훅은 Git 레포지토리에서 특정 이벤트가 발생할 때마다 자동으로 실행되는 스크립트입니다. Git 훅을 사용하여 Git의 내부 동작을 사용자 지정하고 개발 수명 주기의 주요 시점에서 사용자 지정 가능한 작업을 트리거할 수 있습니다. Git Hooks는 클라이언트 훅과 서버 훅으로 나눌 수 있습니다. 클라이언트 훅은 commit이나 merge 할 때 실행되고 서버 훅은 push 할 때 서버에서 실행됩니다. hooks 설명 Client-side pre-commit commit 을 실행하기 전에 실행 prepare-commit-msg commit 메시지를 생성하고 편집기를 실행하기 전에 실행 commit-msg commit 메시지를 완성한 후 commit 을 최종 완료하기 전에 실행 p..
overview GitHub Actions는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 지속적 통합 및 지속적 배포(CI/CD)플랫폼으로, 저장소에 대한 풀 리퀘스트를 빌드하고 테스트하거나 병합된 PR을 프로덕션 환경에 배포하는 작업을 자동화할 수 있습니다. GtiHub Actions는 단순히 DevOps를 넘어서서 저장소에서 다른 이벤트가 발생할 때 워크플로우를 실행할 수 있게 해줍니다. 예를 들어, 누군가가 저장소에 새 이슈를 생성할 때마다 적절한 labels을 자동으로 추가하는 워크플로우를 실행할 수 있습니다. GitHub는 리눅스, 윈도우 및 macOS 가상 머신을 제공하여 워크플로우를 실행하거나, 고유한 데이터 센터나 클라우드 인프라에서 자체 호스팅 러너를 호스팅할 수 있습니다. Gi..
해당글은 단순 링크만 저장해놓은 글 입니다. 저는 주로 타입스크립트를 선호하지만, 다른 개발자들이 자바스크립트와 타입스크립트에 대해 어떻게 생각하는지 및 오픈소스 프로젝트를 운영할 때 어떤 고려 사항이 있는지에 대한 정보를 얻을 수 있습니다. https://github.com/hotwired/turbo/pull/971 Remove TypeScript by afcapel · Pull Request #971 · hotwired/turbo https://world.hey.com/dhh/turbo-8-is-dropping-typescript-70165c01 github.com https://world.hey.com/dhh/turbo-8-is-dropping-typescript-70165c01 Turbo 8 is..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 처음에는 그렇게 어려운 문제가 아니라고 생각했습니다. 그래서 문제설계를 아래와 같이 하였습니다. 1. sort : 원소의 길이 오름차순으로 정렬 2. for문으로 순회하면서 0번째 원소부터 나를 포함하고 있는 인원체크 3. 주문 횟수 내림차순으로 정렬 4. return 하지만 이렇게 하면 완전 문제를 잘 못 이해하고 있는 것 입니다. 예제 1번처럼 `orders`가 이렇게 주어졌을 때 ["ABCFG", "AC", "CDE", "ACDE", "BCFG", "ACDEH"] 이렇게 원소길이를 기준으로 오..
1. parseInt() parseInt() 함수는 문자열 인자를 파싱하여 특정 진수의 정수를 반환합니다. parseInt(string); parseInt(string, radix); `string` : 파싱할 값입니다. 문자열이 아닐 경우 Tostring 추상 연산을 사용해 문자열로 변환합니다. `radix` : (optional) string의 진수를 나타내는 2부터 36까지의 정수입니다. 기본 값이 10이 아닙니다 `Number` 자료형이 아닌 경우 `Number`로 변환합니다. console.log(parseInt('123')); // 123 (default base-10) console.log(parseInt('123', 10)); // 123 (explicitly specify base-10)..
이 글은 RSC From Scratch. Part 1: Server Components 를 공부하면서 번역한 글 입니다. 총 6개의 step중 현재 step 5.1 까지 번역이 완료되었습니다. RSC From Scratch. Part 1: Server Components 우리는 지금부터 React Server Components (RSC)의 매우 단순화된 버전을 처음부터 구현해보겠습니다. 이 심도있는 탐구는 React Server Components의 이점, RSC를 사용하여 앱을 구현하는 방법 또는 이를 사용하는 framework를 구현하는 방법에 대해 설명하지 않습니다. 대신, 여기서는 완전히 처음부터 스스로 "발명"하는 과정을 안내합니다. 이것은 새로운 기술을 처음부터 구현하여 배우는 것을 좋아하는..