분류 전체보기
-
Model–view–controller (MVC)Modeling/DesignPattern 2020. 2. 23. 19:26
1. Overview Model–view–controller (usually known as MVC) is a software design pattern commonly used for developing user interfaces that divide the related program logic into three interconnected elements. This is done to separate internal representations of information from the ways information is presented to and accepted by the user. This kind of pattern is used for designing the layout of the..
-
QUICWeb/Protocol 2020. 2. 23. 17:11
1. Overview Among other applications, QUIC improves the performance of connection-oriented web applications that are currently using TCP. It does this by establishing a number of multiplexed connections between two endpoints over the User Datagram Protocol (UDP). This works hand-in-hand with HTTP/2's multiplexed connections, allowing multiple streams of data to reach all the endpoints independen..
-
Browser Rendering ProcessWeb/DOMBrowser 2020. 2. 23. 15:09
1. Description 1.1 Render Tree With the two processes of parsing concluded and with DOM and CSSOM defined, the browser creates a render tree. A render tree is another tree internally stored by the browser and used to represents visual elements. The elements inside are ignored as well as elements defined with display: none. However is worth remembering that elements with visibility: hidden are st..
-
Data Caching with RedisFramework/Node.js 2020. 2. 22. 14:48
1. Overview Redis (Remote Dictionary Server) is an in-memory data structure project implementing a distributed, in-memory key-value database with optional durability. Redis supports different kinds of abstract data structures, such as strings, lists, maps, sets, sorted sets, HyperLogLogs, bitmaps, streams, and spatial indexes. 2. Intuition 2.1 Index search case We have this index over here for s..
-
Enhancing Node PerformanceFramework/Node.js 2020. 2. 21. 22:41
1. Overview 2. Intuition 2.1 Blocking the Event Loop const express = require('express'); const app = express(); function doWork(duration) { const start = Date.now(); while(Date.now() - start { doWork(5000); res.send('Hi there'); }); app.listen(3000) as soon as you and I start writing some javascript code that takes some amount of time to execute our en..
-
Single Thread, Event Loop, and Blocking CodeFramework/Node.js 2020. 2. 21. 21:16
1. Overview 1.1 Event Loop The event loop is automatically started by node.js when your program starts. This is responsible for handling event callbacks though. The event loop is responsible for basically running that code when a certain event occurs you could say, it's aware of all these callbacks and basically well, execute said code. It's important to understand that this operation is not han..
-
The Internals of Node.jsFramework/Node.js 2020. 2. 21. 14:33
1. Overview Node.js is an open-source, cross-platform, JavaScript library that executes JavaScript code outside of a browser. Node.js lets developers use JavaScript to write command-line tools and for server-side scripting—running scripts server-side to produce dynamic web page content before the page is sent to the user's web browser. Consequently, Node.js represents a "JavaScript everywhere" p..
-
Spring Inversion of Control (IoC)Framework/SPRING 2020. 2. 6. 15:30
1. Overview Inversion of Control is a principle in software engineering by which the control of objects or portions of a program is transferred to a container or framework. The container will create the objects, wire them together, configure them, and manage their complete life cycle from creation till destruction. The responsibilities of IoC container are: Instantiating the bean Wiring the bean..