Daniel: The Dev Story
Daniel: The Dev Story
    • 홈
  • 분류 전체보기
    • 프로젝트
    • Spring
    • NodeJS
    • Basics
    • Git
    • DB
    • Algorithm
    • Error
    • Private
      • Database
      • Tip
  • 글쓰기
  • 관리자
  • myoskin

      [Only for me] Git에 대한 꿀팁 모음

      보호되어 있는 글입니다.

      Git 2023.06.22

      [Git] diff 사용해서 코드 변경 사항 비교하기

      git diff란? 두 가지 버전간의 차이점을 보여주는 Git 명령어다. 이를 통해서 커밋 전에 변경 내용을 확인하거나, 두 개의 브랜치 사이에 어떤 변경사항이 있는지 확인할 수 있다. 기본 사용법 git diff git diff를 단독실행하면 Working Directory의 현재 상태와 Staging Area 사이의 차이를 보여준다. git diff를 실행하면 다음과 비슷한 내용을 볼 수 있다. Git diff 결과 이해하기 diff --git a/Chloe.txt b/Chloe.txt 이 부분은 a/Chloe.txt 파일과 b/Chloe.txt 파일을 비교했다는 의미이다. a는 이전 파일을 의미하고 b는 변경된 파일을 의미한다. 여기서 +는 추가된 내용이고, -는 삭제된 내용이다. @@ -0, 0..

      Git 2023.06.22

      [Git] Git에서 무시할 파일들 정의하기 .gitignore 활용

      gitignore이란? 개인 설정, 로그 파일, 패키지 디렉토리 등등 이런 파일들은 버전관리가 필요하지도 않고, 보안상 좋지 않다. 이런 파일들을 Git이 추적하지 못하게 하는 것이 .gitignore의 역할이다. .gitignore 파일 작성 방법 각 줄마다 하나의 패턴이 오며, 이 패턴에 해당하는 파일 혹은 디렉토리는 Git에 의해 무시된다. 패턴의 예시는 다음과 같다. *.log // .log 확장자를 가진 모든 파일을 무시한다. node_modules/ // node_modules 디렉토리와 그 하위 모든 파일/디렉토리를 무시한다. !important.log // 모든 log 파일을 무시하지만 important파일은 무시하지 않는다. gitignore이 필요한 이유 저장소의 불필요한 파일을 줄여 ..

      Git 2023.06.22

      [Git] Git의 작업흐름 이해 - Workflow

      Workflow: 한국어로는 작업흐름 으로 번역된다. 작업흐름은 세 가지로 구분할 수 있다 1. Working Directory 2. Staging Area 3. .git Directory (Repository) Working Directory 파일이 실제 존재하고 편집되는 곳이다. 우리가 작업하는 곳이다. Staging Area, 또는 Index Git이 관리하는 중간단계로 commit을 준비하는 영역이다. 'git add'명령어를 통해서 변경이 완료된 파일들을 Working Directory에서 선택적으로 Staging Area로 옮길 수 있다. 이는 여러 변경 사항 중 어떤 것들을 commit으로 묶을지 선택할 수 있게 해준다. new file: Daniel.txt를 볼 수 있다. 이 파일은 이제 ..

      Git 2023.06.22

      [TypeScript] 타입스크립트로 sequelize를 활용하여 데이터베이스 연결

      준비사항:express, @types/express, mysql2, sequelize, sequelize-cli, dotenv 시작하기 sequelize init으로 config, migrations, models, seeders디렉토리를 생성한다. 이 디렉토리들을 src 디렉토리 안에 넣어도 괜찮고, 밖에 놔도 괜찮다. 자기 스타일대로 하면 된다.나는 src 디렉토리 안으로 옮겼다. 각각 설정, 데이터베이스 관리, 모델, 초기 데이터이다. // 터미널sequelize init 환경변수 설정 .env 파일을 만들어주고 환경변수를 설정해 준다.(환경변수를 모르면 나중에 따로 찾아보던가 하자)환경변수는 key=value 형식으로 작성한다.데이터베이스 연결에 필요한 username(DB username)..

      NodeJS 2023.06.15

      [Sequelize-Error] Dialect needs to be explicitly supplied 해결방법

      에러내용: ERROR: Dialect needs to be explicitly supplied as of v4.0.0 문제 발생 과정 사건의 발달은 처음이지만 migrate를 해서 데이터베이스 관리를 해보고 싶은 마음에서 시작되었다. 그리고 이 에러는 migrate를 해서 table을 만드는 과정에서 생긴 에러이다. 문제 발생 전 Typescript로 ~/config/config.ts 파일에 작성하고 컴파일링을 시도했다. 근데 Error 메세지로 '너 경로에 파일 없는데? sequelize init은 했니?' 라고 한다. (아래 사진 참고) 구성 파일에서 입력을 찾을 수 없습니다: 에러메세지 확인 일단 이 문제는 최종적으로 컴파일링의 문제였고, VSCODE를 껐다 키니까 해결되었다. 문제 발생 위에 하나..

      Error 2023.06.15

      [TypeScrip-Error] 구성파일에서 입력을 찾을 수 없습니다.

      에러내용: ~/config/tsconfig.json' 구성 파일에서 입력을 찾을 수 없습니다. 지정된 '포함' 경로는 '[\"**/*\"]'이고 '제외' 경로는 '[\"./build\"]'이었습니다.", "source": "ts", "startLineNumber": 1, "startColumn": 1, "endLineNumber": 1, "endColumn": 2 }] 문제 발생 과정 어느 시점부터 타입스크립트 파일이 컴파일되지 않기 시작했다. 이유 모름 해결방법 VSCODE를 완전히 껏다 키니까 문제가 해결되었다. 그러니까 tsconfig는 건들지 말자.

      Error 2023.06.15

      [DevStory] MVC 패턴

      MVC 패턴 - M: Model = Data = - V: View = Display(Frontend) = Router(Backend) - C: Controller = Logic MVC를 사용하는 이유: 유지보수와 확장성에 용이함 V(view)에서 이벤트가 발생한다면 C(controller)에게 요청하고 M(data)에서 읽어와서 V(view)에 전달해서 사용자에게 보여지게 한다. 백엔드에서는 V가 Router 라고 할 수 있다. Router는 C에게 요청을 하고 C가 데이터를 처리한 후 Router에게 보내준다.

      Basics 2023.06.14

      [OnlyForMe] TSConfig 셋업(프로젝트 구조 정리하기)

      보호되어 있는 글입니다.

      NodeJS 2023.06.13

      [TypeScript] 다양한 Utility Type이해하기

      기본 지식: Index 목 차 Index Type이란? Mapped Type이란? Readonly Type Pick type Omit Type Index Type이란? type역시 객체 프로퍼티에 접근방법을 동일하게 사용 가능하다. 예) type gender = User['gender'] Mapped Type이란? Mapped Type의 기본 문법이다. 여기서 [P in keyof T] 는 객체 반복문인 for...in...문 이라고 생각하면 편하다. T로 들어오는 타입의 프로퍼티를 빙글빙글 돌며 P에 할당하고, T[P](Index Type)를 통해서 그 속성의 타입을 가져온다. type MappedType = { [P in keyof T]: T[P]; }; Mapped type의 예시는 다음과 같다. ..

      NodeJS 2023.06.13

      [TypeScript] type과 interface 차이점과 사용 팁

      공통점과 차이점 먼저 다음과 같은 type과 interface가 있다고 가정하자. // type type UserType = { name: string; age: number }; // interface interface UserInterface { name: string; age: number; } 둘 다 자신을 따르는 객체와 클래스를 만들 수 있다. 예시는 다음과 같다.(객체) const user1: UserType = {name: "John", age: 25}; const user2: UserInterface = {name: "Jane", age: 30}; 확장성(Extendibility) interface는 다른 interface를 확장할 수 있다. type은 불가능하다. interface Use..

      NodeJS 2023.06.13

      [OnlyForMe] 기본 TS 프로젝트 설정하는 방법

      보호되어 있는 글입니다.

      NodeJS 2023.06.12

      [TypeScript] abstract(추상 클래스)에 대해 이해하기

      추상클래스: 자체적으로 인스턴스를 생성할 수 없는 클래스를 말한다. 추상클래스는 일반적으로 하나 이상의 추상 메소드(abstract method)를 포함하고, 이 메소드들은 선언만 있고 구현 내용은 없다. 추상클래스를 사용하는 이유는? 추상클래스를 사용하는 이유는 기본적인 구조나 기능을 정의하고, 그 것을 확장하는 자식 클래스들에 특정 메소드 구현을 강제하기 위함이다. 이렇게 함으로 자식 클래스들이 일관된 방식으로 동작하도록 보장할 수 있다. // 추상 클래스, Animal 클래스는 인스턴스를 생성할 수 없음 abstract class Animal { // abstract 사용으로 추상 메소드 추가함 abstract makeSound(): void; move(): void { console.log('Mo..

      NodeJS 2023.06.11

      [TypeScript] 함수와 메소드에 type alias를 붙이는 방법

      type alias: 타입을 변수 처럼 미리 저장하고 사용하기 함수에 Type alias 사용하기 파라미터의 타입과, 리턴값의 타입을 지정 가능하다. ⚠️ 함수에 type alias를 적용시킬 때는 함수 표현식으로 함수를 작성해야 한다. // 함수의 type alias 지정 // a, b 파라미터는 number 타입이어야 한다. 리턴값도 number 타입이어야 한다. type AddFunction = (a: number, b: number) => number; let add: AddFunction = function(x, y) { return x + y; }; 메소드에 type alias 사용하기 객체에 type을 지정해주면 된다. 타입을 위에서 선언해도 되고, 아니면 객체 타입을 지정하는 곳에서 바로 ..

      NodeJS 2023.06.06

      [TypeScript] Literal Type과 as const이해하기

      Literal Type: 특정 값 자체가 타입이 되는 것이다. 문자열 값 자체를 타입으로, 숫자 값 자체를 타입으로, true 혹은 false를 가진 불린 값 자체를 타입으로 가지게 할 수 있다. Union Type으로도 지정 가능 | UnionType이란? type Pet = "cat" | "dog"; // Literal Type으로 지정함 let myPet: Pet; myPet = "cat"; // OK myPet = "dog"; // OK myPet = "bird"; // 오류! "bird"는 Pet 타입에 없습니다. as const as const를 객체나 배열 뒤에 붙여주면 프로퍼티의 값이나 요소의 값을 변경할 수 없다. let obj = { name: "John", age: 30 } as co..

      NodeJS 2023.06.05

      [TypeScript] 초기 설정 및 데이터 유형별 타입 지정 방법

      타입스크립트 설치 npm install -g typescript 컴파일 할 때 옵션 설정: tsconfig.json 파일에 다음과 같이 설정 사용할 자바스크립트 버전 설정 module은 파일간 내보내기/가져오기 기능 사용할 때 무슨 문법을 사용할지 정하는 것이다. commonJS: require 문법 es2015, esnex는 import 문법 { "compilerOptions": { "target": "ES6", "module": "commonJS" } } 자동 컴파일 기능: 터미널에 tsc -w 입력 ⚠️오류 발생시: 터미널 경로 확인 tsc -w 변수에 타입 지정가능 string 타입 이외의 타입이 입력될 시 오류 발생 입력 가능 타입 List :string :number :boolean :null..

      NodeJS 2023.06.04

    12345678
    Daniel: The Dev Story

    찾기

    공지

    최근 글

    인기글

    최근 댓글

    캘린더

      7 / 2025
      일 월 화 수 목 금 토
      1 2 3 4 5
      6 7 8 9 10 11 12
      13 14 15 16 17 18 19
      20 21 22 23 24 25 26
      27 28 29 30 31

    글 보관함

    태그

      백준BOJ자바타입스크립트알고리즘AlgorithmgitMYSQLjava코딩

    즐겨찾기

    방문자 수

    • Today
    • Yesterday
    • Total
    myoskin

    티스토리툴바