Dev-Basic17 [git] custom 단축 명령어 만들기 만들게 된 이유 매번 git commit 할 때 마다 test를 하지 않고 올리는 경우가 생겨서, test 명령을 commit 할 때 마다 적용하도록 하려고 한다. 목표 git commit -m 대신에 cm 을 쳤을 때, test 명령어와 git commit -m 까지 실행되는 것을 목표로 한다. 실행과정 1. 터미널에서 vi 편집기 실행 vi ~/.zshrc a 클릭 후, 하단에 아래 명령어 추가 # git commit 이전 test 실행하도록 수정 alias cm="pnpm test && git commit -m" pnpm test를 실행했을 때 명령은 프로젝트 폴더의 package.json에 설정되어 있어야 한다. &&는 순차적으로 실행한다는 의미다. 만약 pnpm test를 실패하면, git co.. Dev-Basic/git 2023. 11. 13. [git] repository 별로 다른 user 를 사용해야 할 때 1. 변경을 하고 싶은 repository를 Local 경로로 이동한다. 2. 다음과 같이 작성한다. git config user.name "AnotherAccount" git config user.email another@example.com --global 옵션을 뺏기 때문에, 해당 repo에서만 적용이 된다. Dev-Basic/git 2023. 11. 4. [재귀함수] 1-100 합계 구하기 재귀함수 쓰는 이유 변수 사용의 제한 사이드 이펙트가 발생할 확률을 없애준다. + 알고리즘을 그대로 연동하는 것이 가능하다. 원칙 명확한 탈출 조건이 있어야 한다. 안그러면, 메모리 오류됨. 코드 const factorial = (num) => { if (num 2+1 이 된다. 계속되면, 100+ ... + 1 = 5050 이 되는 것. 참고 https://velog.io/@tilsong/%EC%9E%AC%EA%B7%80-%ED%95%A8%EC%88%98%EB%8A%94-%EC%96%B8%EC%A0%9C-%EC%8D%A8%EC%95%BC-%ED%95%A0%EA%B9%8C 재귀 함수는 언제 써야 할까? 재귀 함수 velog.io https://devuna.tistory.com/22 [자료구조] 스택 (S.. Dev-Basic/Programming 2023. 11. 1. [ESlint] ESlint 설정 가이드 (. eslintrc 파일 설정 속성 설명) eslint 설정을 처음 보면 어질어질하다. 😱 빠르게 기초 정보라도 확인하기 위한 용도로 아래 글을 작성한다. "extends": 다른 설정 파일을 확장하여 현재 설정을 기반으로 합니다. 대표적인 예로 "eslint-config-airbnb"나 "eslint:recommended"를 확장하는 것이 있습니다. ERP개발팀의 경우, "eslint-config-hanssem" "env": 코드가 실행되는 환경을 정의합니다. 예를 들어, 브라우저 환경을 지정하려면 "browser": true와 같이 설정할 수 있습니다. node 환경이면 “node”:true 설정하면 된다. front는 browser로 설정 "parser": 사용할 JavaScript 파서를 지정합니다. 주로 Babel을 사용하는 경우 "ba.. Dev-Basic/npm 2023. 10. 24. [npm] package.json 주요 옵션 설명 처음보면 난감한. 그러나 하나하나 보면 매우 간단하다. javascript를 package manager를 이용해서 개발을 하다보면, package.json 이 생성된다. next.js 나 react.js 프로젝트를 구동시키기 위해서 CNA, CRA를 진행하면, package.json 이 설치되어 있는 것을 볼 수 있다. 여기서 사용되는 주요 옵션들을 알아보자. package.json 주요 옵션 name: 프로젝트의 이름을 정의합니다. 이 이름은 npm 레지스트리에 패키지를 게시할 때 사용되며 프로젝트를 식별하는 데 중요합니다. version: 프로젝트의 버전을 정의합니다. Semantic Versioning (Semver) 규칙을 따르는 것이 일반적입니다. description: 프로젝트에 대한 간단한.. Dev-Basic/npm 2023. 10. 20. [디자인패턴] 싱글턴 패턴 - Singleton pattern과 전역상태관리 요약 장점 1. 싱글턴 패턴을 사용 하는 이유는 인스턴스를 단 1개로 가져가는 점 때문에 사용하는 것이다. 2. 메모리 측면에서 유리하다. 고정 메모리 영역을 사용한다. 추후 객체 접근 시, 메모리 낭비 최소화 가능하다. (즉, 무지성 인스턴스화로 사용하지 않는 메모리 할당 요소가 없다.) 3. 다른 클래스 간 데이터 공유가 굉장히 쉽다. (그러나 여러 클래스에서 동시에 접근하면, 동시성 문제가 발생한다. 이점을 유의해서 설계해야 함. -> 리액트도 이래서 State값을 useEffect 같은 것들을 처리할 때, batch로 순서대로 처리한다) 단점 1. 구현 코드 자체가 많이 필요하다. 2. 테스트 하기 어렵다. 같은 인스턴스를 사용하기 때문에, 매번 초기화해야 하는 상황이 발생할 수 있다. 3. 클래.. Dev-Basic/디자인패턴 2023. 10. 19. [git] rebase 개념 배경 요즘 내가 주로 rebase를 사용하는 때는, issue에 따라 brunch를 여러 개 만드는 경우다. Merge과정 보통 수정 작업은 issue 생성 -> brunch 생성 -> 작업내용 commit -m -> push to 생성한 brunch(보통 dev) [pull request 생성 (작업 brunch -> parent brunch ) 문제의 시작 1. dev를 기반으로 feat1, feat2 brunch 생성하고 2. feat1을 dev에 Merge를 하고 나서, feat2가 문제가 발생 왜냐하면, feat2 brunch를 생성한 시점의 dev는 feat1이 수정되기 전이기 때문이다. 그래서, 이럴 때 feat1이 merge된 dev brunch를 모두 pull받고 나서 feat2 brun.. Dev-Basic/git 2023. 8. 9. [Network] Http Status CODE [사례 계속 추가] Status Code Error 를 경험할 때마다 계속 추가할 예정이다. 같은 Status Code 여도 다른 경우가 너무 많다. 1XX : Information responses (정보) 2XX : Successful responses (성공) 3XX : Redirection messages (리다이렉션) : 추가작업 필요 4XX : Client error responses (클라이언트 오류) 5XX : Server error responses (서버 오류) 500 Internal Server Error (내부 서버 에러) 경험한 사례 DB 서버에 column이 추가 안되어 있는 상태에서 api를 이용한 경우. Dev-Basic 2021. 10. 12. NPM 명령어 정리, package.json(+scripts) 생성 및 사용 방법 # NPM(Node Package Manager)이란? - Node.js 전용 패키지가 올라가 있는 서버이다. - 패키지 업로드/다운로드 및 버전관리 기능을 제공한다. - node.js를 설치할 때 함께 설치된다. * 패키지는 남들이 만들어 놓은 외부모듈로, 라이브러리 같은 개념이다. * NPM 공식 사이트: https://www.npmjs.com/ # package.json 생성 - 수많은 패키지를 다운받다보면 관리가 어려워진다. - 그래서 프로젝트마다 package.json 파일을 만들어서 패키지 목록 및 버전을 관리한다. * 프로젝트를 생성하자마자 package.json을 만들어주고 시작하길 권장한다. - 명령어: npm init 1) package name 등의 정보를 입력해준다. 필요 없는 항목.. Dev-Basic/npm 2021. 9. 15. [Algorithm] 알고리즘 학습 순서 & 방법 & 참고자료 링크 기록 1. 프로그래밍 기본 문법 공부 (javascript) 2. 알고리즘 기본100제 -> 학습한 javascript 문법을 확인하는 차원부터 진짜 학습까지 https://www.notion.so/JS-100-94d97d294dd14c9b911a02c840fa9f2d 3. 문제풀기(그리디, 탐색, 기초 동적프로그래밍 50문제씩하면 좋음) -> 학습 순서만 참고할 것. javascript도 비슷한 문제는 많다. 프로그래머스로 학습하면 될 듯. 이후에는 javascript문제집을 사서 푸는 것도 괜찮을 듯... https://programmers.co.kr/learn/challenges 4. 기출문제 풀기(프로그래머스:카카오) -> 오히려 이 걸 먼저 해야 하는 것 아닐까? 출처 : 학습순서 안내 https:/.. Dev-Basic/Programming 2021. 9. 9. [방법론] Scaffolding 스케폴딩 간단하게 생각하면, library 같은 것을 말한다. 프로그래밍을 시작하는데 있어서 지지대 역할을 하는 것을 말한다. 자전거를 배울때 도움을 주는 보조바퀴 같은 존재이다. 어떤 그림을 그릴 때, 하나부터 열까지 전부다 할 수는 없다. 캔버스는 누가 만들어 놓은 것을 쓰는게 좋다. 붓도 그렇다. 음식도 그렇다. 모든 재료를 다 재배해서 음식을 만들 수는 없다. scaffolding 도 같은 개념이다. 개발자가 무언가 개발을 시작할 때, 처음부터하자면, 너무 힘들다. 그래서 템플릿이나, 주변에서 누군가 만들어둔 library 같은 것을 이용해서 만들곤 한다. 이렇게 하다보면, 혼자서 library나 template을 만들 수 있는 개발자가 될 수 있게 되는 것이다. (스캐폴딩의 목적) 목적을 이해하고 만들어.. Dev-Basic/Programming 2021. 4. 16. [git] clone하기 전에 해야할 것 1. 본인 컴퓨터에서 ssh 을 생성한다. 2. git사이트의 계정 내에 나의 ssh 정보를 등록한다. 3. git clone 명령어로 다운로드 받는다. 참조 :" xho95.github.io/macos/security/openssh/ssh/gitlab/2017/02/22/Using-SSH-on-Mac.html Dev-Basic/git 2021. 3. 10. 이전 1 2 다음