[JS 프로토타입] 프로토타입을 사용하여 상속하기

[JS 프로토타입] 프로토타입을 사용하여 상속하기

이번 포스팅에서는 이전 포스팅에 이어, 프로토타입을 사용한 다양한 상속 패턴에 대한 이야기를 해볼까 한다.

사실 자바스크립트에는 상속이나 캡슐화와 같은 개념이 명시적으로 존재하지는 않기 때문에 자바나 C++ 같은 클래스 기반 언어를 사용하던 개발자들은 자바스크립트에 클래스가 없다는 사실에 혼란스러워한다.

[JS 프로토타입] 자바스크립트의 프로토타입 훑어보기

[JS 프로토타입] 자바스크립트의 프로토타입 훑어보기

이번 포스팅에서는 자바스크립트(JavaScript)하면 빠질 수 없는 프로토타입(Prototype)에 대해서 한번 이야기해보려고 한다.

프로토타입은 자바스크립트를 ES5 시절부터 사용해오던 분들에게는 매우 익숙하지만 ES6부터 시작하신 분들은 대부분 클래스를 사용하기 때문에 익숙한 개념은 아닐 것이라고 생각한다.

[JavaScript로 오디오 이펙터를 만들어보자] 나만의 소리 만들기

[JavaScript로 오디오 이펙터를 만들어보자] 나만의 소리 만들기

이번 포스팅에서는 저번 포스팅에 이어 HTML5 Audio API를 사용하여 실제로 오디오 이펙터를 만드는 과정에 대해서 포스팅 하려고 한다. 저번 포스팅에서 이미 이야기 했듯이 Audio API는 여러 개의 노드를 연결하여 오디오의 흐름을 만들어 내는 것을 기본 개념으로 가지고 있고, 이펙터를 만들기 위해 필요한 몇 개의 추상화된 노드들을 기본적으로 제공해주기 때문에 그렇게 어려울 건 없다.

[JavaScript로 오디오 이펙터를 만들어보자] 소리의 흐름을 파악하자

[JavaScript로 오디오 이펙터를 만들어보자] 소리의 흐름을 파악하자

이번 포스팅에서는 컴퓨터는 어떻게 소리를 들을까? 포스팅에서 진행했던 오디오 파형 그리기에 이어서 오디오에 여러가지 효과를 줄 수 있는 이펙터를 만드는 과정을 설명하려고 한다. HTML5의 Audio API는 오디오에 효과를 줄 수 있는 여러가지 노드를 제공하는데, 대부분의 이펙터는 이 노드들만 사용해도 구현할 수 있을 정도로 완성도있는 API를 제공한다.

Webpack Watch의 메모리 누수 고치기

Webpack Watch의 메모리 누수 고치기

이번 포스팅에서는 최근에 고쳤던 Webpack Watch 기능의 메모리 누수에 대해서 간략하게 남겨보려고 한다. 필자가 회사에서 개발한 프로젝트가 점점 커짐에 따라서 Watch 중에 빌드를 여러 번 돌리게되면 어느 순간 갑자기 out of memory가 뜨면서 프로세스가 죽어버리는 이슈가 발생하였다. 이 문제는 사실 꽤 예전부터 발생했던 이슈지만 계속 비즈니스 이슈를 개발하느라고 외면받고 있던 이슈였는데 우연히 기회가 되어 해당 이슈를 자세히 들여다 볼 수 있었다.

로우 레벨로 살펴보는 Node.js 이벤트 루프

로우 레벨로 살펴보는 Node.js 이벤트 루프

1년 전, 필자는 setImmediate & process.nextTick의 차이점에 대해 설명하면서 Node.js의 이벤트 루프 구조에 대해 살짝 언급한 적이 있었다. 놀랍게도 독자 분들은 원래 설명하려고 했던 부분보다 이벤트 루프 부분에 대해서 더 많이 관심을 주었고, 필자는 그 부분에 대해서 많은 질문을 받았었다. 그래서 이번에는 Node.js의 이벤트 루프를 구성하는 로우 레벨의 동작을 자세하게 설명해보려고 한다.

PWA 하루 만에 도입하기(삽질기)

PWA 하루 만에 도입하기(삽질기)

이번 포스팅에서는 필자가 회사에서 2019년 7월 5일 금요일 하루 동안 기존 어플리케이션에 PWA(Progressive Web Application) 기능을 붙힌 삽질기를 기록하려고 한다. PWA는 지원하지 않는 브라우저에 대한 예외처리만 꼼꼼하게 해주면 UX, 성능, SEO 등에서 무조건 플러스 요인이기 때문에 예전부터 계속 해보고 싶었다.

V8 엔진은 어떻게 내 코드를 실행하는 걸까?

V8 엔진은 어떻게 내 코드를 실행하는 걸까?

이번 포스팅에서는 구글의 V8 엔진이 어떤 방식으로 자바스크립트를 해석하고 실행하는지 살펴 보는지에 대해 포스팅하려고 한다. V8C++로 작성되었지만 필자의 메인 언어가 C++이 아니기도 하고, 워낙 소스가 방대하기 때문에 자세한 분석까지는 아니라도 최대한 웹 상에 있는 정보들과 필자가 분석한 V8의 소스코드를 비교해가면서 살펴보려고 한다.

JavaScript와 함께 해시테이블을 파헤쳐보자

JavaScript와 함께 해시테이블을 파헤쳐보자

이번 포스팅에서는 많이 사용되는 자료구조 중 하나인 해시 테이블(Hash Table)에 대해서 정리하려고 한다. 먼저 해시 테이블이 무엇인지, 왜 사용하는지 알아보자!

JavaScript의 let과 const, 그리고 TDZ

JavaScript의 let과 const, 그리고 TDZ

이번 포스팅에서는 JavaScript ES6에서 추가되었던 letconst 키워드에 대해서 자세히 포스팅하려고 한다. 부끄럽지만 지금까지 필자는 letconst는 호이스팅이 되지 않는다고 생각하고 있었다. 하지만 얼마 전 친구와 대화하던 중에 letconst도 호이스팅 대상체이지만 TDZ라는 특수한 영역을 사용하여 참조를 방어하는 것임을 알게 되었다.

ACK AIMD Aamazon Web Service Agile Algorithm Array Asynchronous Atlassian Audio Average Backpropagation Blocking Burn Out CWND Commit Congestion Control Data Driven Data structure Deep Learning ECN Error Control Essay Essay Tips Event Loop Express FIN Feedback Flow Control Freedom & Responsibility Git Go bacK N Good Programmer Gravity HTTP HTTP/2 HTTP3 Hash Table Heap Hoisting IP JavaScript JavaScript Audio API Jira MFS Machine Learning Memory leak Merge Merge and squash Netflix Network NodeJS Non Blocking Notification API OOP Object Oriendted Programming PWA Paypal Progressive Web Application Prototype Rebase Render Optimizing Reno SEO SPA SSR SYN Selective Repeat Server Side Rendering Single Page Application Sliding Window Slow Start Sort Algorithms Sound Engineering Stop and Wait Study Synchronous TCP TCP Handshake TCP 플래그 TDZ Tahoe Temporal Dead Zone Tutorial TypeScript UDP V8 Versioning Vue Web Web Push Webpack Writing memory-fs traceroute webpack dev middleware webpack dev server 개발서적 개발자 객체지향프로그래밍 공동집필 공부 궤도 구현하기 글쓰기 나이퀴스트 난수생성알고리즘 네트워크 넷플릭스 논리학 논블록킹 누적평균 데이터 기반 의사결정 동기 딥러닝 렌더 최적화 머신러닝 메르센 트위스터 면접 배열 성능 최적화 버전관리 번아웃 부트캠프 불안감 불안요소 마주보기 블록킹 비동기 비전공 개발자 사운드 엔지니어 서버사이드 렌더링 소프트웨어 개발 방법론 소프트웨어 장인 리뷰 소프트웨어 장인정신 수학 슬라이딩 윈도우 알고리즘 애자일 애자일 프로세스 에세이 역전파 알고리즘 오디오 이펙터 오류 제어 이벤트 루프 자료 구조 자료구조 자바스크립트 자유와 책임 정렬 알고리즘 조직문화 좋은 프로그래머 중력 중력 구현하기 철학 커피 한잔 마시며 끝내는 VueJS 컴퓨터 공학 컴퓨터공학 케플러 6요소 케플러 궤도 방정식 코딩테스트 코딩학원 타입스크립트 타입스크립트 인공 신경망 퇴사 튜토리얼 페이팔 평균구하기 프라하 프라하 생활 팁 프로그래밍 프로그래밍서적 프로토타입 프로페셔널 피드백 한 달살기 해시테이블 헤더 협업 호이스팅 혼잡 제어 회고 회고록 흐름 제어
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×