BaeBox

자바스크립트는 어떻게 동작하는가 시리즈.(펌) 본문

개발 관련

자바스크립트는 어떻게 동작하는가 시리즈.(펌)

배모씨. 2020. 3. 13. 11:38
반응형

Node, Angular, Vue 등 JavsScript를 기반으로 하는 툴들을 쓰는데 JavaScript가 어떻게 동작하는지에 대한 고민을 해 본적이 없는 것 같다. 

아래 내용의 글들의 내용이 참 좋다.

읽어보자.

출퇴근길에 읽으려고 했는데 난 회사에서 읽고있다. 하하.


* 알림: 아래 링크의 글들은 하나같이 주옥같은 글들이다. 꼭 읽어보자!!!

* 알림 2: 아래 적은 내용은 하단 링크들의 내용을 매우 간략하게 정리한 것이므로 링크들의 글을 읽고나서 보는걸 권장.

 

v8 엔진 동작 방식 (꼭 읽어보시길!)

https://evan-moon.github.io/2019/06/28/v8-analysis/

 

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

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

evan-moon.github.io

 

v8 엔진에 최적화된 자바스크립트 코드를 작성하는 방법

  • 객체 속성의 초기환 순서를 동일하게 유지
  • 객체에 동적으로 속성을 생성하기보다는, 객체의 생성자가 생성할 것.
  • '동일한 메소드를 반복적으로 호출 > 다른 메소드를 한번씩 호출' 
  • 해시테이블이 아닌 이상 배열에 값은 띄엄띄엄 넣지 말 것.
  • 가능하면 31 비트보다 큰 숫자는 사용하지 말 것.

 

 

 


원문출처:

https://blog.sessionstack.com/@zlatkov

 

Alexander Zlatkov – SessionStack Blog

Read writing from Alexander Zlatkov in SessionStack Blog. Co-founder & CEO @SessionStack. Every day, Alexander Zlatkov and thousands of other voices read, write, and share important stories on SessionStack Blog.

blog.sessionstack.com

번역본:

https://engineering.huiseoul.com/search?q=%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%8A%94%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%9E%91%EB%8F%99%ED%95%98%EB%8A%94%EA%B0%80

 

Search – Huiseoul Engineering

Search writing on Huiseoul Engineering Huiseoul Engineering Team Blog.

engineering.huiseoul.com


https://engineering.huiseoul.com/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%9E%91%EB%8F%99%ED%95%98%EB%8A%94%EA%B0%80-%EC%97%94%EC%A7%84-%EB%9F%B0%ED%83%80%EC%9E%84-%EC%BD%9C%EC%8A%A4%ED%83%9D-%EA%B0%9C%EA%B4%80-ea47917c8442

 

자바스크립트는 어떻게 작동하는가: 엔진, 런타임, 콜스택 개관

How JavaScript works: an overview of the engine, the runtime, and the call stack

engineering.huiseoul.com

https://engineering.huiseoul.com/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%9E%91%EB%8F%99%ED%95%98%EB%8A%94%EA%B0%80-v8-%EC%97%94%EC%A7%84%EC%9D%98-%EB%82%B4%EB%B6%80-%EC%B5%9C%EC%A0%81%ED%99%94%EB%90%9C-%EC%BD%94%EB%93%9C%EB%A5%BC-%EC%9E%91%EC%84%B1%EC%9D%84-%EC%9C%84%ED%95%9C-%EB%8B%A4%EC%84%AF-%EA%B0%80%EC%A7%80-%ED%8C%81-6c6f9832c1d9

 

자바스크립트는 어떻게 작동하는가: V8 엔진의 내부 + 최적화된 코드를 작성을 위한 다섯 가지 팁

How JavaScript works: inside the V8 engine + 5 tips on how to write optimized code

engineering.huiseoul.com

https://engineering.huiseoul.com/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%9E%91%EB%8F%99%ED%95%98%EB%8A%94%EA%B0%80-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B4%80%EB%A6%AC-4%EA%B0%80%EC%A7%80-%ED%9D%94%ED%95%9C-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EB%88%84%EC%88%98-%EB%8C%80%EC%B2%98%EB%B2%95-5b0d217d788d

 

자바스크립트는 어떻게 작동하는가: 메모리 관리 + 4가지 흔한 메모리 누수 대처법

How JavaScript works: memory management + how to handle 4 common memory leaks

engineering.huiseoul.com

https://engineering.huiseoul.com/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%9E%91%EB%8F%99%ED%95%98%EB%8A%94%EA%B0%80-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%EB%A3%A8%ED%94%84%EC%99%80-%EB%B9%84%EB%8F%99%EA%B8%B0-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%EC%9D%98-%EB%B6%80%EC%83%81-async-await%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%BD%94%EB%94%A9-%ED%8C%81-%EB%8B%A4%EC%84%AF-%EA%B0%80%EC%A7%80-df65ffb4e7e

 

자바스크립트는 어떻게 작동하는가: 이벤트 루프와 비동기 프로그래밍의 부상, async/await을 이용한 코딩 팁 다섯 가지

How JavaScript works: Event loop and the rise of Async programming + 5 ways to better coding with async/await

engineering.huiseoul.com

https://engineering.huiseoul.com/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%9E%91%EB%8F%99%ED%95%98%EB%8A%94%EA%B0%80-%EC%9B%B9%EC%86%8C%EC%BC%93-%EB%B0%8F-http-2-sse-1ccde9f9dc51

 

자바스크립트는 어떻게 작동하는가: 웹소켓 및 HTTP/2 SSE

How JavaScript works: Deep dive into WebSockets and HTTP/2 with SSE + how to pick the right path

engineering.huiseoul.com

https://engineering.huiseoul.com/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%9E%91%EB%8F%99%ED%95%98%EB%8A%94%EA%B0%80-%EC%9B%B9%EC%96%B4%EC%85%88%EB%B8%94%EB%A6%AC%EC%99%80%EC%9D%98-%EB%B9%84%EA%B5%90-%EC%96%B8%EC%A0%9C-%EC%9B%B9%EC%96%B4%EC%85%88%EB%B8%94%EB%A6%AC%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EA%B2%8C-%EC%A2%8B%EC%9D%80%EA%B0%80-cf48a576ca3

 

자바스크립트는 어떻게 작동하는가: 웹어셈블리와의 비교 + 언제 웹어셈블리를 사용하는 게 좋은가

How JavaScript works: A comparison with WebAssembly + why in certain cases it’s better to use it over JavaScript

engineering.huiseoul.com

 

반응형

'개발 관련' 카테고리의 다른 글

PM2  (0) 2020.03.14
Node - Cluster Module  (0) 2020.03.14
HTML 을 PDF, PPT, Word 로 export 하는 방법  (0) 2020.03.09
Dynamic(동적) Component 생성  (0) 2020.03.02
Component간 데이터 공유  (0) 2020.03.02
Comments