컴퓨터
-
typescript 목차컴퓨터/목차 모음 2021. 3. 13. 14:51
* 공식문서 : typescriptlang.org/docs * software engineering daily : softwareengineeringdaily.com/tag/typescript/ * typescript란? : ksj12172.tistory.com/1021 * tsconfig.js : https://ksj12172.tistory.com/1156 * Debugging : using Launch Configuration or ts-node : https://ksj12172.tistory.com/1179 * Types : ksj12172.tistory.com/1023 * array와 tuple : ksj12172.tistory.com/1024 * alias : 내가 타입을 만들 수 있다, 값 자..
-
개별 모듈로 분할하기: CommonJS vs ECMAScript module컴퓨터/JavaScript_typescript 2021. 2. 18. 13:39
* 개별 모듈로 분할하기 ES2015 이후 개별 모듈로 분할하는 방법이 여러 가지 생겼다. 1) 태그 사용하기 2) 직접 갖다 붙이기 (manual concatenation) 3) Makefile 기법 4) NodeJS 스타일의 require 구문 (CommonJS 모듈) 5) AMD 스타일의 define 콜백 6) 타입스크립트 자체 모듈 시스템 7) ECMASCript 모듈 ⭐️ * CommonJS 모듈 시스템: require & module.exports https://nodejs.org/api/modules.html javascript 자체가 지원하는 패키지 읽는 법 module.exports = foo; // 가능: var foo = require('foo'); exports.bar = bar; ..
-
객체지향, 디자인패턴 목차컴퓨터/목차 모음 2021. 2. 8. 01:19
Q. 똑같은 구조인데 결과값이 조금씩 다른 경우 ex. search일 때 아닐 때 * 객체지향이란: ksj12172.tistory.com/977 * 객체지향 원칙 : ksj12172.tistory.com/1031 * 책임과 자율성 : ksj12172.tistory.com/976 * 데메테르 법칙(Law of Demeter) : ksj12172.tistory.com/981 [ 객체 지향 설계 기법 ] * 책임-주도 설계: 책임을 식별하고 할당 더 작은 책임으로 분할해서 할당 역할, 책임, 협력 고안 및 절차제시 * 디자인 패턴 : 모범이 되는 설계 책임-주도 설계의 결과를 표현 역할, 책임, 협력의 템플릿 반복적으로 발생하는 문제와 해법 * 테스트-주도 개발: 응집도가 높고 결합도가 낮은 클래스로 구성된 ..
-
[JavaScript] new FormData(form), Object.fromEntries(iterable), how to seriazlie form data컴퓨터/JavaScript_typescript 2021. 1. 31. 13:46
* forms with multiple fields that have the same name * How to serialize form data with vanilla JS 1) FormData object FormData object provides an easy way to serialize form fields into key/value pairs. Form fields must have a name attribute to be includes object. Otherwise, they're skipped. Title Body Soak up the sun and swim in the ocean. Submit // Get the form let form = document.querySelector(..
-
[ JavaScrip ] 객체 생성 방식, OrdinaryObjectCreate컴퓨터/JavaScript_typescript 2021. 1. 21. 19:22
source : 이웅모, 자바스크립트 deep dive * 자바스크립트는 프로토타입 기반 객체 생성 메커니즘을 지닌다 [ 객체 생성 방식 ] 1. 객체 리터럴 2. Object 생성자 함수 3. 생성자 함수 4. Object.create 메서드 5. 클래스 ( ES6 ) => 프로토타입 체인은 모든 객체 생성 방식에 의해 생성된 인스턴스에 동일하게 적용된다. * 추상연산 OrdinaryObjectCreate 각 방식마다 객체 생성 방식의 차이는 있으나 추상연산 OrdinaryObjectCreate에 의해 생성된다는 공통점이 있다. OrdinaryObjectCreate : 필수적으로 자신이 생성할 객체의 프로토타입을 인수로 전달받는다. ex. 객체 리터럴, new Object() : Object.proto..
-
컴파일러 언어 vs 인터프리터 언어컴퓨터/개념 2021. 1. 18. 23:56
source : 이웅모, 자바스크립트 Deep Dive p.14 * 컴파일러 언어 - 코드가 실행되기 전 단계인 컴파일 타임에 소스코드 전체를 한번에 머신 코드로 변환한 후 실행한다. note: 머신 코드란? CPU가 바로 실행할 수 있는 기계어 - 실행 파일을 생성한다 - 컴파일 단계와 실행 단계가 분리되어 있다. 명시적인 컴파일 단계를 거치고, 명시적으로 실행 파일을 실행한다. - 실행에 앞서 컴파일은 단 한번 수행된다. - 컴파일과 실행 단계가 분리되어 있으므로 코드 실행 속도가 빠르다. * 인터프리터 언어 - 코드가 실행되는 단계인 런타임에 문 단위로 한 줄씩 중간코드인 바이트코드로 변환한 후 실행한다. => 장점 : 동적 기능 지원 => 단점 : 실행 속도가 느리다 note: 바이트코드란? 특정..
-
백준 입출력 받기컴퓨터/자료구조_알고리즘 2021. 1. 16. 17:16
* node var fs = require('fs'); var input = fs.readFileSync("/dev/stdin").toString().split(/\r?\n/); // 출력은 process.stdout.write("hello "); // 줄바꿈없이 가능 * c++ 1) scanf 이용 #include using namespace std; // 문자열 받을 때 char a[600000]; scanf("%s",a); // 정수 받을 때 int m; scanf("%d", &m); // input이 띄어쓰기+target 문자인 경우 // scanf로 받은 이후 줄바꿈된 문자를 받을 때도 띄어쓰기 필요 char target; scanf(" %c", &target); // 여러 개 받을 때 int ..