Namespace 네임스페이스는 말 그대로 Name(이름)을 기반으로 나눈 Space(공간)을 의미하며, '나누었기 때문에' 서로 구분하는데 도움이 된다. (프로그래머(휴먼)한테 좋다) 네임스페이스라는 개념이 어색하다면, 구글링을 통해 친절한 좋은 자료들을 쉽게 얻을 수 있다. Namespace - Wikipedia From Wikipedia, the free encyclopedia Jump to navigation Jump to search Container for a set of identifiers In computing, a namespace is a set of signs (names) that are used to identify and refer to objects of various kin..
Windows에서 개발할 때, PowerShell을 터미널로써 자주 사용하게 된다. 그런데 기본 터미널은 테마가 예쁘지도(중요) 않고, git 명령어 자동 완성이 안되서 귀찮았다. 그래서, git 사용할 때는 git bash로 터미널을 켜서 사용하곤 했는데, 그런것도 불편했다. 그러다가 알게 된 것이 Oh My Posh 라는 shell 테마였다. 모듈 설치 Introduction | Oh My Posh Oh My Posh is a custom prompt engine for any shell that has the ability to adjust ohmyposh.dev 설치 가이드는 위에서 워낙 설명이 잘 되어 있으니 따르면 된다. 하지만, 그거조차 귀찮을 수 있기 때문에 Powershell (새로운 버..
덕 타이핑 (Duck Typing)과 구조적 타이핑(Structural Typing) 만약 오리처럼 걷고 오리처럼 꽥 소리를 낸다면, 그것은 분명히 오리이다. Duck typing - Wikipedia Style of dynamic typing in object-oriented programming Duck typing in computer programming is an application of the duck test—"If it walks like a duck and it quacks like a duck, then it must be a duck"—to determine whether an object can be used for a p en.wikipedia.org 덕 타이핑은 위의 설명 그대..
이펙티브 타입스크립트 - YES24 타입스크립트는 타입 정보를 지닌 자바스크립트의 상위 집합으로, 자바스크립트의 골치 아픈 문제점들을 해결해 준다. 이 책은 《이펙티브 C++》와 《이펙티브 자바》의 형식을 차용해 타입스 www.yes24.com TS 컴파일러의 독립적인 두 가지 역할 TS 컴파일러의 역할을 큰그림에서 봤을 때 아래와 같이 나타낼 수 있다고 한다. 1. TS/JS를 브라우저에서 동작할 수 있도록 JS로 트랜스파일(transpile) 한다 (버전간 변환도 해줌) 2. 코드의 타입 오류 체크 그리고, 이 두가지는 완전히 독립적으로 동작한다. 이것이 무슨 말이냐면, 실제 TS를 컴파일 해보면 알 수 있는데, 코드 중간에 타입 에러가 있어도 끝까지 트랜스파일을 한다는 것이다. 즉, transpil..
the_inside_story_on_shared_libraries_and_dynamic_loading.pdf Chapter 12. Boost.DLL - master Adding a specific features to an existing software applications at runtime could be useful in many cases. Such extensions, or plugins, are usually implemented using Dynamic Library Modules (DLL,SO/DSO) loaded at runtime. This library was designed to simpli www.boost.org
type vs interface 타입 스크립트를 사용하다 보면, type (type aliases)과 interface를 사용하게 된다. 이름을 봐서는 분명 서로 간에 차이가 있을 것 같지만, 생김새가 똑같고 실제 사용 방식도 거의 비슷하다. 어느 때 어떤 것을 사용하는 것이 좋을까? type T = { cnt: number; }; interface T { cnt: number; } 아래는 공식 페이지 플레이그라운드에 공개된 예제 코드이다. 제목부터 Types vs Interfaces인데, 이 예제 코드 영어 주석 밑에 한글로 설명을 추가하였으니 코드를 보며 읽어보면 좋을 것 같다. TS Playground - An online editor for exploring TypeScript and JavaSc..
공식 핸드북 Handbook - The TypeScript Handbook Your first step to learn TypeScript www.typescriptlang.org README - TypeScript Deep Dive TypeScript Compiler Internals basarat.gitbook.io React와 사용시 GitHub - typescript-cheatsheets/react: Cheatsheets for experienced React developers getting started with TypeScript Cheatsheets for experienced React developers getting started with TypeScript - GitHub - typ..
GitHub - npryce/adr-tools: Command-line tools for working with Architecture Decision Records Command-line tools for working with Architecture Decision Records - GitHub - npryce/adr-tools: Command-line tools for working with Architecture Decision Records github.com ADR (Architectural Decision Records) 아키텍처를 설계함에 있어서 이해관계자들끼리의 수많은 논의가 필요하다. 그리고, 이러한 논의를 통해 아키텍처가 결정되는데, 처음부터 전체가 결정되기는 어렵다. 따라서 부분부분..
소프트웨어 아키텍처 101 - YES24 막막했던 아키텍처가 쉬워지는 실무 지침서소프트웨어 아키텍트는 전 세계 연봉 10위 안에 드는 직업이지만, 지금까지 ‘개발자가 아키텍트’로 전향하는 데 실질적으로 도움이 될 만한 지침이 www.yes24.com 도메인 중심의 서비스 기반 아키텍처 아키텍처에 별 관심이 없는 사람들이라도 MSA(Micro Serivce Architecture)라는 말을 들어봤을 가능성이 높다. 우선 이 서비스 기반 아키텍처는 MSA의 기반 중 하나이다. 뿐만 아니라 아키텍처에 대해 관심 있는 사람들은 SOA (Service Oriented Architecture)도 들어봤을 것인데 이것을 기반으로 한다. (사실 Based와 Oriented에서 큰 차이를 못 느낄 수 있지만, Based..
소프트웨어 아키텍처 101 - YES24 막막했던 아키텍처가 쉬워지는 실무 지침서소프트웨어 아키텍트는 전 세계 연봉 10위 안에 드는 직업이지만, 지금까지 ‘개발자가 아키텍트’로 전향하는 데 실질적으로 도움이 될 만한 지침이 www.yes24.com 이름에서 알 수 있듯이, micro한 커널(kernel) 아키텍처이다. 또한 플러그인(plug-in) 아키텍처라고도 불리는데, 위 그림에서 알 수 있듯이 코어 시스템을 중심으로 플러그인을 붙여나가는 형태이기 때문이다. 일반적으로 모놀리식 형태에서 많이 사용되며, 가장 좋은 예시는 Eclipse IDE와 같은 Plugin 기반의 IDE이다. 즉, Eclipse core system 자체는 단순한 텍스트 에디터지만, 여기에 플러그인을 어떤걸 붙이느냐에 따라 C+..