Prog. Langs & Tools

RxJS 목차 Ch01. 반응형으로 생각하기 Ch02. RxJS로 배우는 반응형 프로그래밍 Ch03. 핵심 연산자 Ch04. RxJS에서의 시간 - 상 이전 포스팅의 내용에 이어서 RxJS에서 다루는 시간에 대해서 다뤄 보고자 한다. 사용자 입력 처리하기 interval()과 timer() 정적 메서드는 모두 옵저버블을 만들고 설정된 오프셋 시간 후 작업을 시작하는데 사용된다. 이들은 delay()와 함께 설정된 간격 또는 설정된 시간 후에 한 번 실행되는 미래의 작업을 스케줄링 할 때 가장 많이 사용하는 조합이다. 이 연산자는 수행할 작업을 알고 있으며 이를 나중에 실행되도록 스케줄링하려는 명시적 이벤트에 사용하기 적합하다. 그런데 만약 마우스 움직임이나 키 입력처럼 동적 이벤트 이미터에 일련의 이벤트..
이번 포스팅에서는 STL의 벡터(Vector)에 대해서 정리해 보려고 한다. C++의 표준 템플릿 라이브러리(STL)는 C++ 프로그래밍에서 필요한 자료구조와 알고리즘을 템플릿으로 제공하는 라이브러리이다. STL은 일반적으로 다음 세 가지 라이브러리를 의미한다. 컨테이너(Container) : 임의 타입의 객체를 보관. 객체를 저장하는 자료구조 시퀀스 컨테이너(Sequence Container) : Array, Vector, List, Deque 협력 컨테이너(Associative Container) : Set, Multiset, Map, Multimap 반복자(Iterator) : 포인터와 유사한 개념. 컨테이너에 보관된 원소에 접근하여 다음 원소를 가리킴. 순회 알고리즘(Algorithm) : 반복자..
이번 포스팅에서는 자바스크립트의 클로저에 대해서 정리를 해 보려고 한다. 그리고 이 포스팅을 마지막으로 카일 심슨 저
이번 포스팅에서는 Next.js에서 지원하는 동적 라우트(Dynamic Route)에 대한 개념을 살펴보고 간단한 예제로 실습까지 해보는 시간을 가지려고 한다. 참고로 튜토리얼은 Next.js 공식 홈페이지에서 제공하는 자료 및 소스코드를 가지고 진행하였다. 예제는 간단한 블로그를 만드는 프로젝트이다. 블로그의 페이지 컨텐츠는 외부 데이터에 의존하는데, getStaticProps 함수를 통해서 데이터를 패치하고 렌더링한다. 이번에는 각각의 블로그 포스팅 페이지 경로가 외부 데이터에 의존하는 부분에 대해서 다뤄보려고 한다. Next.js에서는 경로를 바탕으로 정적으로 페이지를 생성할 수 있는 기능을 제공한다. 이 기능이 Next.js에서 동적 url을 가능하게 한다. 동적 라우트를 생성한다는 말은 만약에 ..
이번 포스팅에서는 함수 vs 블록 스코프에 대한 비교와 호이스팅의 개념까지 정리를 해 보려고 한다. 함수 기반 스코프 스코프는 컨테이너나 바구니와 같은 구실을 하는 일련의 '버블'이고 변수나 함수 같은 확인자가 그 안에서 선언된다. 자바스크립트는 함수 기반 스코프를 사용하기 때문에 함수는 이러한 버블을 만든다. 많은 개발자들은 각각의 선언된 함수는 버블을 생성하지만, 다른 자료구조는 자체적인 스코프를 생성하지 않는다고 알고 있다. 위 예제 코드에서 foo()의 스코프 버블은 a,b,c와 bar를 포함한다. 따라서 foo() 바깥에서는 이들에게 접근할 수 없다.(접근 시 ReferenceError 발생) 하지만 foo() 안에서는 이 모든 확인자(a, b, c, foo, bar 등)에 접근이 가능하고, b..
C++에서 예외를 어떻게 처리하는지에 대해서 알아보도록 한다. C++에서도 예외를 지원한다. 다만 C++에서는 예외의 중요성이 다른 언어(ex. JAVA)에 비해서 좀 떨어진다. JAVA나 C#에 당연히 있는 예외가 C++에는 없는 경우도 있다. 그래서 이번 포스팅에서는 올바른 사용법 위주로만 알아본다. 예외를 남용하는 것은 지양해야 한다. 예외가 발생하는 상황 첫 번째 예외 발생 상황은 범위 이탈이다. 다음과 같이 범위를 넘어서서 참조를 하는 상황일 경우 에러가 발생하고 try/catch를 통해서 예외 처리를 해줄 수 있다. try/catch가 없는 경우 Visual Studio는 핸들링이 되지 않은 exception이 있는 경우 breakpoint를 걸어주는 기능이 있다. 참고로 아래와 같은 코드는 ..
이번 실습은 여러 호스트를 다루면서 컨테이너를 배치하는 방법에 대해서 다뤄보는 튜토리얼이다. 이번 튜토리얼에서는 도커 스웜(docker swarm)을 사용한다. 도커 스웜은 여러 도커 호스트를 클러스터로 묶어주는 컨테이너 오케스트레이션 도구이다. 여러 도커 호스트를 사용하여 확장성 있는 어플리케이션을 만들기 위해서는 (거의) 필수적이다. 오케스트레이션 도구를 사용하면 어느 도커 호스트에 어떤 컨테이너를 배치해야 하는지, 서로 다른 호스트에 위치한 컨테이너 간의 통신은 어떻게 해야 하는지 등의 조율을 수월하게 할 수 있다. 여기서 잠깐, 도커에서 쓰이는 다양한 도구들의 역할을 복습하고 가자 도커 컴포즈(docker-compose) : 여러 컨테이너로 구성된 도커 어플리케이션을 관리 (주로 단일 호스트) 도..
이번 포스팅에서는 RxJS에서 시간에 대한 개념을 정리해 보고자 한다. 왜 우리가 시간을 신경써야 하는지, RxJS에서는 시간을 어떻게 처리하는지 등에 대해서 알아보고자 한다. 앞서 우리가 살펴본 바에 따르면 옵저버블은 시간 경과에 따른 이벤트의 무한 시퀀스이다. 동기적인 코드라면 실행 시간을 정확하게 측정하여 예측할 수가 있지만 비동기는 명령들이 선형적으로 실행이 되지 않기 때문에 실행 시간을 정확하게 알 수 없고 예측은 더더욱 할 수가 없다. 따라서 특정 작업이 언제 완료될지를 추측하는 것이 아닌, 작업에 반응한다는 방식으로 접근해야 한다. 왜 시간을 신경써야 할까 시간을 신경써야 하는 이유는 단순하다. 시간이 오래 걸리면 사용자는 초조함을 느끼고 결국에는 떠난다. 따라서 우리는 시간을 최대한 단축할..
DevOwen
'Prog. Langs & Tools' 카테고리의 글 목록 (3 Page)