목록전체 글 (195)
백지부터 시작하는 이세계 코딩 생활

네트워크의 개념 디자인 프레임 워크입니다 컴퓨터 네트워킹 . 에서는 설계 망 이 원리에 따르면, 애플리케이션 특정 기능은 통신에있는 엔드 노드들 보다는 같은 중간 노드에서보다 네트워크의 게이트웨이 와 라우터 가 네트워크를 구축하기 위해 존재한다. -위키- 종단 간 원칙에 따르면 네트워크는 터미널에 연결에만 응답하며 그 외 모든 종류의 정보들은 터미널에 있어야함. -위키- 응용프로그램에 특화된 기능들은 종단에 있어야 한다는 법칙. i.e) 네트워크 작동에 있어 핵심이 아니면서 특정 사용자들에게는 중요한 활동은 네트워크 종단(외곽부)에 위치해야 한다는 법칙. 이는 네트워크 전반을 유지 보수 및 업데이트시 복잡도를 낮출 수 있게 된다. -마셀 밴 엘스테인- 일반적인 네트워크 상에서 정보 전달이 이루어질 때 진..
Three dots : 나머지 매개 변수 또는 스프레드 연산자입니다. 구분방법 세 개의 점 (…)이 함수 매개 변수의 끝에 있으면 "나머지 매개 변수"이고 나머지 인수 목록을 배열로 수집합니다. 함수 호출 등에서 세 개의 점 (…)이 발생하면 "확산 연산자"라고하며 배열을 목록으로 확장합니다. 나머지 매개 변수를 사용할 때 쓰이는 문법이다. (인수에 의해 유도 된 상용구 코드를 줄이기 위해 나머지 매개 변수가 도입되었다고 함.) function myFunc(a, b, ...args) { console.log(a); // 22 console.log(b); // 98 console.log(args); // [43, 3, 26] }; myFunc(22, 98, 43, 3, 26); 스프레드 연산자 : 확산 연..
라우팅은 어떤 네트워크 안에서 통신 데이터를 보낼 최적의 경로를 선택하는 과정을 뜻함. 익스프레스(Express)를 사용하는 이유 중 하나가 바로 라우팅을 깔끔하게 관리할 수 있다는 점 때문. 서로 연계되는 페이지 (관리하는 페이지)가 많을 때 코드의 복잡도가 높아지는데 이를 해결하는 방법 중 하나가 라우터이다. //app.js ... var indexRouter = require('./routes/index'); var userRouter = require('./routes/users'); ... app.use('/',indexRouter); app.use('/users',usersRouter); ... 출처: https://backback.tistory.com/341 [Back Ground] 익스프레..

any, unknown : 모든 타입을 허용할 수 있게 해주는 타입이다. i.e ) 모든 타입의 값이 할당될 수 있다 특징 : unknown 타입으로 선언된 변수는 any를 제외한 다른 타입으로 선언된 변수에 할당될 수 없다. unknown 타입으로 선언된 변수는 프로퍼티에 접근할 수 없으며, 메소드를 호출할 수 없으며, 인스턴스를 생성할 수도 없다. 알려지지 않은 타입이기 때문. => Type Guard와 함께라면 가능. unknown은 무조건 타입을 좁혀서 사용해야 하는 의무가 있는 반면, any는 타입을 좁혀서 사용하지 않아도 되서 자유롭다는 차이점이 있다. [밴다이어그램] Ref. ㅁ 개요 : jbee.io/typescript/TS-9-unknown/ ㅁ 예시 : simsimjae.tistory...
async function 선언은 AsyncFunction객체를 반환하는 하나의 비동기 함수를 정의합니다. 비동기 함수는 이벤트 루프를 통해 비동기적으로 작동하는 함수로, 암시적으로 Promise를 사용하여 결과를 반환합니다. 그러나 비동기 함수를 사용하는 코드의 구문과 구조는, 표준 동기 함수를 사용하는것과 많이 비슷합니다. - MDN Web Docs - 동기 : 요청을 보낸 후 해당 응답을 받아야 다음 동작을 실행(ex.은행) 비동기 : 요청을 보낸 후 응답에 관계 없이 다음 동작을 실행(ex.카페) 특정 연산(호출) 후 다음 연산을 처리해야 할 경우에 비동기 방식은 로직 순서를 의도적으로 완벽하게 진행시키기에 적합하지 않다(콜백 무한증식 현상). 따라서 이를 보완하고자 promise 키워드를 사용한..
코드의 최적화를 이룰 수 있는 방법. 요약 지금까지 배운 export 타입을 다시 한번 살펴봅시다. 아래 타입들을 쭉 보고 얼마나 기억하는지 체크해 보세요. 클래스, 함수 등의 선언부 앞에 export 붙여서 내보내기: export [default] class/function/variable ... 이름 없는 개체 내보내기: export {x [as y], ...}. 다시 내보내기: export {x [as y], ...} from "module" export * from "module" (default export는 다시 내보내 지지 않음) export {default [as y]} from "module" (default export를 다시 내보냄) 가져오기 타입 역시 정리해 봅시다. named ex..

하나의 프로젝트 구조를 의미 i.e ) 도메인 패턴을 중심에 놓고 설계하는 방식 도메인 모델은 우리가 흔히 객체 지향의 예제로 많이 배우는 형태의 모델로, 각 객체에 객체가 수행해야 하는 업무를 분담시키는 것이다. 주요 특징은 데이터와 프로세스가 같이 존재한다는 점이며, 객체간 관계를 맺을 수 있어, 제약하거나 로직의 단순화에 도움이 된다. 디자인 패턴 중 한가지. (cf. 트렌잭션 모델) DDD를 적용한 프로젝트 구조를 만들기 위해서 예전에는 Layered Structure를 사용하였으나, 요즘은 Onion Structure를 사용합니다. 양파 구조에 대해서는 링크된 포스트를 참고할 것. http://jeffreypalermo.com/blog/the-onion-architecture-part-1/ Th..
3rd party 프로그래밍에서의 서드파티란 프로그래밍을 도와주는 plug_in 이나 library 등을 만드는 회사를 말한다. 개인 개발자나 프로젝트 팀, 혹은 업체등에서 개발하는 라이브러리. i.e) 즉 제 3자 라이브러리 . 제작사에서 만든것이 아니라 다른 업체에서 만든 해당 툴 지원 라이브러리. 제조사와 사용자 이외 외부의 생산자를 가리키는 뜻으로 쓰인다. - 위키 편하고 효율적인 개발을 위해, 플러그인이나 라이브러리 또는 프레임워크등을 사용하게 된다. 예로 프로그래밍 개발과 개발자 사이에 플러그인,라이브러리,프레임워크를 서드파티로 볼 수 있다. 이처럼 제 3자로써 중간다리 역할을 하는 것을 서드파티라고 합니다. 서드파티에 과하게 의존하게 되면, 나중에 다른 서드파티를 사용하게 되었을 때 감당하기..