전체 글 80

TypeScript의 클래스

Class - 객체를 만들기 위한 템플릿 - 데이터를 처리하기 위한 코드로 데이터를 캡슐화 함 생성자 (Constructors) : 클래스의 객체 인스턴스를 만들고 초기화 하기위한 메서드 → 파라미터들을 써주기만 하면 TypeScript가 알아서 생성자 메서드를 만들어 줌 class Player { constructor ( private firstName:string, private lastName:string, public nickName:string ) {} } const jisu = new Player("jisu", "lee", "dlwltn98"); jisu.firstName // 오류발생 jisu.nickName // 정상 + 추가로 메서드에서도 접근 제어자 사용 가능 abstract class..

TypeScript 2023.01.29

TypeScript 함수

Call Signatures - 함수 위에 마우스를 올렸을때 보이는 것 - 함수를 어떻게 호출해야하는 것인지 알려줌 함수가 어떻게 구현되는지를 알려주는게 아닌 arguments(인자)의 타입이랑 함수의 반환 타입을 알려줌 // 함수의 call signature 타입을 만드는 방법 type Add = (a:number, b:number) => number; // 위와 같음, 이렇게도 표현 가능 type Add = { (a: number, b: number) : number } // type을 명시해주지 않아도 오류가 나지 않음 const add:Add = (a, b) => a + b Overloading JavaScript의 함수는 다양한 argument의 개수와 타입에 의해 호출 될 수 있음 그래서 Ty..

TypeScript 2023.01.28

TypeScript 타입 정리

TypeScript는 2가지의 접근 방식을 결합했음 1. 데이터와 변수의 타입을 명시적으로 정의 ( C, JAVA 처럼 ) let b : boolean = true 2. JavaScript 처럼 변수만 생성 // 이런 경우에는 TypeScript가 타입을 추론해줌 let a = "hello" TypeScript 의 타입들 1. 원시 타입 ( string, number, boolean ... ) 2. 배열 3. 객체 타입 - 원시 타입을 제외하고 가장 많이 마주치는 타입 - 객체 타입을 정의 하기 위해서는 객체의 프로퍼티들과 각 프로퍼티의 타입들을 나열하면 됨 ** 객체 : 프로퍼티를 가지는 JavaScript 값 // 매개 변수의 타입 = 객체 function printCoord(pt: { x: numb..

TypeScript 2023.01.27

git 명령어 정리

git init 디렉토리 초기화 git status 버전 관리 상황 보여줌 git add git 에게 버전 관리하라고 명령 (staging area에 추가) git add . 명령어를 실행한 디렉토리 이하에서 발생한 변경 내용 넘김 git add -A 디렉토리 어디에 위치하든 동일하게 모든 변경 내용 넘김 - 최초로 파일이 생성되어도 사용하고 이미 git add를 했던 파일이라도 수정을 했다면 git add를 다시 해줘야 commit 가능 - staging area : commit 대기를 하고 있는 파일들이 가는 곳 - repository : commit 된 결과가 저장 되는 곳 git commit repositor에 commit 결과 저장 git commit -m"커밋 메시지" 커밋 에디터 키지 않고 ..

기타/git & github 2023.01.26

JavaScript 와 TypeScript

안정성(타입의 안정성) 때문에 많은 사람들이 JavaScript를 두고 TypeScript로 넘어간다고 함 타입의 안정성 ⇒ TypeScript의 가장 큰 장점 버그 ↓ 런타임 에러 ↓ 생산성 향상 등 다양한 이점이 있음 JavaScript 매우 유연한 언어 타입을 가지고 이상한 코드가 실행 가능 [1,2,3,4] + false *******************result******************* '1, 2, 3, 4false' → 배열이 사라지고 boolean type과 함께 String 으로 변해버림 function divide(a, b) { return a / b } *******************result******************* divide (2, 3) 0.6666666..

TypeScript 2023.01.25

그리디 알고리즘

Greedy Algorithm - 어떤 문제가 있을때 단순 무식하게, 탐욕적으로 문제를 푸는 알고리즘 - 현재 상황에서 가장 좋아보이는 것만 선택 그리디 알고리즘 문제 풀이 https://github.com/dlwltn98/practiceCodingTest/tree/main/greedy GitHub - dlwltn98/practiceCodingTest: 코딩테스트 문제 풀이 코딩테스트 문제 풀이. Contribute to dlwltn98/practiceCodingTest development by creating an account on GitHub. github.com

GraphQL 간단한 서버 만들기 3

Documentation - apollo 서버를 사용하면 내가 만든 API Schema 확인 가능 - 위 사이트에 설명을 넣으려면 아래와 같이 """ 사이에 설명을 넣으면 됨 const typeDefs = gql` """ Tweet object represents a resource for a Tweet """ type Tweet { """ id 설명 """ id: ID! text: String! author: User } ` REST API를 GraphQL API로 감싸는 방법 - https://yts.mx/api/v2/list_movies.json 에서 데이터 복사 "id":48298,"url":"https:\/\/yts.mx\/movies\/the-braves-2021","imdb_code":"tt..

GraphQL 2023.01.23

GraphQL 간단한 서버 만들기 2

resolvers - resolvers들은 하나의 객체가 됨 - 객체는 우리의 타입 정의와 같은 형태를 가져야 함 - 각 유형의 각 필드는 GraphQL 서버 개발자가 제공하는 resolvers라는 기능에 의해 지원됨 - typeDefs에 정의된 애들이 resolvers의 함수를 거쳐감 const resolvers = { Query: { allTweets() { return tweets; }, tweet(root, args) { console.log(args); return null; } } } * tweet은 function이 됨 , null 반환 * tweet(root, args) 의 root 자리는 고정, tweet(_, args) 이런식으로도 사용 가능 args가 넘겨 받아야하는 파라미터 // 임..

GraphQL 2023.01.22

자주 사용하는 명령어

초기화 git init 버전 관리 상황 확인 git status 디렉토리 변경 내용을 스테이징 영역에 추가 git add . git add -A . : 명령어를 실행한 디렉토리 이하에서 발생한 변경 내용 넘김 -A : 디렉토리 어디에 위치하든 동일하게 모든 변경 내용 넘김 스테이징 영역에 추가된 내용 commit git commit -m"커밋설명" 원격 저장소 추가 git remote add origin origin : 사용하고 싶은걸로 해도 됨, 보통 origin 씀 url : 깃허브에 생성한 repositories 주소 원격 저장소에 저장 git push -u origin main origin : 사용하고 싶은걸로 해도 됨, 보통 origin 씀 main : 브랜치명, master에서 main으로 바뀜

기타/git & github 2023.01.21

Spring boot 프로젝트 생성, 설정

프로젝트 생성 file -> new -> other -> Spring Boot -> Spring Stater Project ** 추가로 필요한 것들은 나중에 Maven에서 추가 가능 - Spring Boot DevTools 스프링부트에서 제공하는 개발 편의를 위한 라이브러리로 기능은 아래와 같이 있음 + Diagnosing Classloading Issues (클래스 로딩 문제 진단) 다중 모듈 프로젝트에서 클래스 로딩 문제가 발생 할 수 있고 문제를 확인하기 위해 restart 사용하지 않도록 설정 가능 + Property Defaults (속성 기본값) Thymeleaf는 성능 향상을 위해 캐싱 기능을 사용하는데 개발 과정에서 캐싱 기능을 사용하면 방금 변경한 내용을 확인하기 어려움 그래서 스프링부트..

Spring Boot 2023.01.20