Telegram Group & Telegram Channel
Пригадую, як у своїй першій компанії доводилось проходити різні “екзамени”, щоб отримати вищий рівень (ну і зарплату, само собою). Якогось цілком конкретного фреймворку для цього не було, тому це проходило більше у форматі звичайної розмови, нагадувало інтерв’ю в компанію, але з глибшими питаннями.

Так як я тоді не знав, до чого готуватись, то сам склав собі Trello-дошку з можливими темами по JS і загалом програмуванню. Та дошка потім пішла як спадщина по тімейтах.

Одна з таких тем називалась Hidden Classes. Насправді, крім таких співбесід, ніде більше не зустрічав цієї теми, але прикольно знати — дає краще уявлення про роботу JS і оптимізатора.

Ось коротко:

Так як в JS ми можемо динамічно створювати об’єкти, то це створює масу варіантів того, якої форми ці об’єкти набудуть (форма, тобто структура, назва полів та їх порядок). Але вже під час рантайму відбувається оптимізація і створюються ці Hidden Classes. На кожну форму об’єкта створюється прихований клас, який потім використовується двигуном, щоб швидше діставати значення.

Ось приклад, скопіював з LLM:


function Point(x, y) {
this.x = x; // creates hidden class A
this.y = y; // transitions to hidden class B
}

const p1 = new Point(1, 2); // uses class B
const p2 = new Point(3, 4); // reuses class B — fast

p2.z = 5; // creates a new hidden class — potential slowdown


Малоімовірно, що така оптимізація потрібна буде у відносно простих додатках. Але, наприклад, якби я працював у New Relic чи PostHog, Sentry, то, можливо, це б мало значення для великих об’ємів даних.

Ось цікава відповідь, щоб почитати: stackoverflow
А також стаття: v8.dev



group-telegram.com/thirdwavedev/145
Create:
Last Update:

Пригадую, як у своїй першій компанії доводилось проходити різні “екзамени”, щоб отримати вищий рівень (ну і зарплату, само собою). Якогось цілком конкретного фреймворку для цього не було, тому це проходило більше у форматі звичайної розмови, нагадувало інтерв’ю в компанію, але з глибшими питаннями.

Так як я тоді не знав, до чого готуватись, то сам склав собі Trello-дошку з можливими темами по JS і загалом програмуванню. Та дошка потім пішла як спадщина по тімейтах.

Одна з таких тем називалась Hidden Classes. Насправді, крім таких співбесід, ніде більше не зустрічав цієї теми, але прикольно знати — дає краще уявлення про роботу JS і оптимізатора.

Ось коротко:

Так як в JS ми можемо динамічно створювати об’єкти, то це створює масу варіантів того, якої форми ці об’єкти набудуть (форма, тобто структура, назва полів та їх порядок). Але вже під час рантайму відбувається оптимізація і створюються ці Hidden Classes. На кожну форму об’єкта створюється прихований клас, який потім використовується двигуном, щоб швидше діставати значення.

Ось приклад, скопіював з LLM:


function Point(x, y) {
this.x = x; // creates hidden class A
this.y = y; // transitions to hidden class B
}

const p1 = new Point(1, 2); // uses class B
const p2 = new Point(3, 4); // reuses class B — fast

p2.z = 5; // creates a new hidden class — potential slowdown


Малоімовірно, що така оптимізація потрібна буде у відносно простих додатках. Але, наприклад, якби я працював у New Relic чи PostHog, Sentry, то, можливо, це б мало значення для великих об’ємів даних.

Ось цікава відповідь, щоб почитати: stackoverflow
А також стаття: v8.dev

BY Розробка третьої хвилі




Share with your friend now:
group-telegram.com/thirdwavedev/145

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

During the operations, Sebi officials seized various records and documents, including 34 mobile phones, six laptops, four desktops, four tablets, two hard drive disks and one pen drive from the custody of these persons. Russians and Ukrainians are both prolific users of Telegram. They rely on the app for channels that act as newsfeeds, group chats (both public and private), and one-to-one communication. Since the Russian invasion of Ukraine, Telegram has remained an important lifeline for both Russians and Ukrainians, as a way of staying aware of the latest news and keeping in touch with loved ones. What distinguishes the app from competitors is its use of what's known as channels: Public or private feeds of photos and videos that can be set up by one person or an organization. The channels have become popular with on-the-ground journalists, aid workers and Ukrainian President Volodymyr Zelenskyy, who broadcasts on a Telegram channel. The channels can be followed by an unlimited number of people. Unlike Facebook, Twitter and other popular social networks, there is no advertising on Telegram and the flow of information is not driven by an algorithm. Elsewhere, version 8.6 of Telegram integrates the in-app camera option into the gallery, while a new navigation bar gives quick access to photos, files, location sharing, and more. In addition, Telegram's architecture limits the ability to slow the spread of false information: the lack of a central public feed, and the fact that comments are easily disabled in channels, reduce the space for public pushback.
from ca


Telegram Розробка третьої хвилі
FROM American