본문 바로가기

분류 전체보기273

[TS] TS 연습하기2 //변수에 type 넣어서 사용하기 (type Alias) //PascalCase로 타입이름을 지정하는 게 국룰 type Animal = string|number|undefined type Animal2 = {name:string, age:number}; const 동물 : Animal = '스트링/넘버/언디' ; const 동물2 : Animal2 = {name:'강아지', age:2} //reference data type 락걸기 (ts파일 안에서만 그럼) type Gf = {readonly name:string, age:number} // type에 readonly라고 지정해주면, 내부 수정이 불가능하다. const 여친:Gf = {name : '경아', age:30}; // 여친.name = '누.. 2023. 4. 12.
[TS] TS 연습하기1 //Primitive Variable const 이름:string = 'Lee'; //Array let 어레이:string[] = ['어레이1', '어레이2'] //Object let 오브젝트:{name : string, name2 : number} = {name : 'Lee', name2 : 123}; // 중요한 것은 온 갖 곳에 다 ts 타입질을 안해도 된다. // 타입스크립트는 대부분 알아서 자동으로 해준다구요. let 테스트 = '테스트라구'; // 테스트 = 123; 이거 에러난다구요 ts가 자동으로 테스트:string 해주기 때문이다. // 연습 let project:{member : string[], days : number, started : boolean} = { member : ['k.. 2023. 4. 12.
[DevOps] 도구와 기술 - 도구와 기술은 DevOps 문화에서 중요한 역할을 담당한다. - 그러나 주의가 필요한 유일한 부분은 아니다. - 스킬적인 부분이 많고, 파이프라인과 도구의 장점, 기술스택과 연동성, 프로젝트의 요구사항 등을 잘 고려해서 사용해야 한다. 1. Git (Version Control System) - 모르면 취업 못함 - 코드의 버전을 이용해서 이전 버전까지 추적이 가능하고, 개발자의 협업에서 매우 중요한 역할을 한다. - 많은 개발자가 동시에 작업이 가능하게 해준다. - 소스코드 저장 서버가 있으므로 문제 발생 시 복구가 가능하다. - 비선형 개발을 지원한다. - 호환성이 좋다. 업계 표준이다. - 툴킷 기반 설계이다. - 다양한 병합기법(git branch strategy)을 지원한다. 2. SVN(S.. 2023. 4. 11.
[O'REILLY] Node & Express - 15장 : REST API와 JSON - 지금까지 여러 REST API의 예제를 보아왔지만, 지금껏 '서버에서 데이터를 처리하고 클라이언트에게 html을 전송한다는 예제' 가 주를 이뤘다. - 하지만 2023 현재 대세는 상당수가 HTML, CSS, JS 등의 렌더링 파일 자체는 정적으로 받아오고, 실제 데이터는 JSON으로 AJAX를 통해 받아서 HTML를 구성하는 SPA의 형태를 띄는 경우도 많다. 물론 SEO가 구려서 SSR이 다시 대두되고 있어서 프로젝트의 형태와 목적에 따라서 적절히 구성하는 것이 현명하다. - 어쨌든 SSR 방식이더라도, 서버의 API는 매우 중요하며, API엔드포인트를 제공하는 방법을 알아야한다. - 웹 서비스는 HTTP로 접근할 수 있는 어플리케이션 프로그래밍 인터페이스 (Application Programmi.. 2023. 4. 11.
[Jenkins] 설치 및 기본 문법 1. 설치 : 나는 MacOS다. brew install jenkins 2. 실행 : 설치가 다되면 실행한다. brew services start jenkins - 설치 이후 http://localhost:8080 로 접속한다. - 터미널에 적힌 키를 이용하여 첫 접속을 한다. 안적혀있으면 다음 명령어를 터미널에 실행한다. cat /Users/내컴터유저이름/.jenkins/secrets/initialAdminPassword - 나오는 키를 입력하고 접속한다. - 추천하는 플러그인을 설치하고 메인 대시보드를 확인한다. 3. 새로운 작업 생성(Pipeline) - Jenkins 대시보드에서 "새로운 작업"을 선택하고, "Pipeline"을 선택한 후 작업 이름을 지정한다. - 작업 설정 페이지에서 "Pipe.. 2023. 4. 10.
[TS] 타입스크립트 변수 문법 빠르게 정리하기 빠르게빠르게 tsconfig.json 2023. 4. 10.
[TS] MERN에서 TS 사용하기 1. CRA 세팅하기 (npx) npx create-react-app your-app-name --template typescript 2. Express에서 세팅하기 - 설치하기 npm init -y npm install typescript express ts-node @types/node @types/express --save - 세팅하기 npx tsc --init //tsconfig.json 생성 - tsconfig.json 설정하기 { "compilerOptions": { "module": "commonjs", "esModuleInterop": true, "target": "es6", "moduleResolution": "node", "sourceMap": true, "outDir": "dist",.. 2023. 4. 10.
[Algorithm] Greedy (그리디/탐욕) - 그리디 알고리즘은 최적화 문제에서 주로 사용된다. - 단계별로 가장 좋아 보이는 선택을 함으로써 전체적으로 최적의 해답을 찾으려고 시도한다. - 항상 최적의 해를 찾지는 못하지만, 많은 경우에 효율적인 근사치를 찾을 수 있다. Q) 거스름돈을 지불해야 하는 금액이 주어졌을 때, 동전의 개수를 최소로 하려면 어떤 동전을 사용해야 할까? - 동전의 종류가 [25, 10, 5, 1]로 주어진다고 가정한다. A1) 아이디어 - 주어진 금액에서 동전의 개수를 최소로 하려면 가장 금액이 큰 동전부터 차례대로 남은금액에 최대한 개수를 채우면 된다. - 상식적인 아이디어이다. - 이를 구현하면 다음과 같다. - 상식적으로 최적의 해인 것 같은데, 그리디 알고리즘이 항상 최적의 해를 찾지 못하는 이유는? A) 각 단.. 2023. 4. 10.