IT-X: Legends | Сергей Кустиков @eightbitjs
Серёга — тот, кто в алгоритмах и React собаку съел. Такой уровень понимания жабаскрипта, что даже Деми Мурыч бы позавидовал.
• Лидирует беседу с Алгоритмами
• Помог куче людей по вопросам кишков JS
• React от бога. Разбирается в реакте так, будто он его придумал
Также ведет очень крутой канальчик по JS, предлагаю чекнуть. И заглядывайте в беседу с алгосами🐱
Подписаться на гуру → @eightbitjs
Серёга — тот, кто в алгоритмах и React собаку съел. Такой уровень понимания жабаскрипта, что даже Деми Мурыч бы позавидовал.
• Лидирует беседу с Алгоритмами
• Помог куче людей по вопросам кишков JS
• React от бога. Разбирается в реакте так, будто он его придумал
Также ведет очень крутой канальчик по JS, предлагаю чекнуть. И заглядывайте в беседу с алгосами
Подписаться на гуру → @eightbitjs
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥15❤8👍3👏1
🔥 Подойдет даже тем, кто не вкатывается в DS
Подписывайся на телеграмм канал IT-ХОЗЯЕВА, учавствуй в розыгрыше и забирай книжку 😎
Уже есть книга? Без проблем — заменим!
"Математика для DS"
Участников: 332
Призовых мест: 1
Дата розыгрыша: 20:03, 02.09.2025 MSK (завершён)
Победители розыгрыша:
1. fj - 3shqum
Подписывайся на телеграмм канал IT-ХОЗЯЕВА, учавствуй в розыгрыше и забирай книжку 😎
Уже есть книга? Без проблем — заменим!
"Математика для DS"
Участников: 332
Призовых мест: 1
Дата розыгрыша: 20:03, 02.09.2025 MSK (завершён)
Победители розыгрыша:
1. fj - 3shqum
🔥20❤12❤🔥9
Forwarded from В АйТи из Уфы | Раушан Каримов
This media is not supported in your browser
VIEW IN TELEGRAM
Вспомнил тут про сварочное дело и решил проверить свои навыки.
Предварительный вердикт: в целом получается✔️
Если есть тут коллеги ответственные за охрану труда - мне очень стыдно.
Не соблюдал правила безопасности, варил без спецовки и получил ожоги от излучения сварочной дуги❗️
З.Ы. На фоне - сестренка, исполняет лунную походку )
Предварительный вердикт: в целом получается
Если есть тут коллеги ответственные за охрану труда - мне очень стыдно.
Не соблюдал правила безопасности, варил без спецовки и получил ожоги от излучения сварочной дуги
З.Ы. На фоне - сестренка, исполняет лунную походку )
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤7❤🔥3
IT-ХОЗЯЕВА pinned «🔥 Подойдет даже тем, кто не вкатывается в DS Подписывайся на телеграмм канал IT-ХОЗЯЕВА, учавствуй в розыгрыше и забирай книжку 😎 Уже есть книга? Без проблем — заменим! "Математика для DS" Участников: 332 Призовых мест: 1 Дата розыгрыша: 20:03, 02.09.2025…»
Forwarded from 🧊 siberiacancode x IT-ХОЗЯЕВА
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
🕵️ мок собеседование с ai инструментами, frontend middle react
Поддержка автора 🧊
boosty - https://boosty.to/siberiacancode
donatealerts - https://www.donationalerts.com/r/siberiacancode
Социальные сети 🔥
boosty: https://boosty.to/siberiacancode
telegram: https://t.iss.one/siberiacancode
vk: https://vk.com/siberiacancode…
boosty - https://boosty.to/siberiacancode
donatealerts - https://www.donationalerts.com/r/siberiacancode
Социальные сети 🔥
boosty: https://boosty.to/siberiacancode
telegram: https://t.iss.one/siberiacancode
vk: https://vk.com/siberiacancode…
❤2
🧊 siberiacancode x IT-ХОЗЯЕВА
Хасана сейчас будет Дима собесить. Залетаем, будет очень интересно 💪
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤🔥2👍1
Forwarded from 8BitJS
Hoisting в JavaScript: миф о «поднятии» или реальная механика движка
Как часто на собеседованиях вам задавали классический вопрос: «Что такое hoisting?»
Не растерявшись, мы обычно отвечаем: «Это поднятие переменных и функций наверх их области видимости». Интервьюер одобрительно кивает, и мы идём дальше.
Но действительно ли движок переписывает код и «перемещает» объявления? На самом деле это лишь метафора, упрощающая объяснение, но не отражающая реальную механику. В этой статье разберём, что говорит об этом спецификация ECMAScript и как это реализовано во внутренностях V8.
Если открыть учебники и статьи, почти всегда можно встретить объяснение в стиле: «JavaScript поднимает объявление переменной или функции в начало области видимости». Пример из таких источников:
Затем идёт иллюстрация «как будто движок переписал код» и добавил объявление в начало:
TL;DR
Сегодня разберём:
- Hoisting — это не перенос строк кода, а ранняя регистрация привязок до исполнения.
-
-
- Function Declarations поднимаются в виде готовых функций (их можно вызывать до места объявления).
- В V8 это реализовано через вызов
---
Концептуальный разбор процессов
JS‑движок выполняет код в две стадии:
Creation Phase
Фаза создания Execution Context. Иногда её называют Memory Creation Phase или Compile Phase. Во время этой фазы:
- создаются Execution Context, Variable Environment и Lexical Environment;
- для
- для
- Function Declarations получают готовый объект функции.
Execution Phase
Фаза построчного выполнения кода.
Важно: термины фаз — это лишь распространённые формулировки. В спецификации описаны алгоритмы вроде FunctionDeclarationInstantiation и операции с Environment Records (CreateMutableBinding,
Примеры кода и байткод V8
Ниже рассмотрим, как это выглядит в байткоде.
Важно: в байткоде вы не всегда увидите явное
Пример:
Байткод функции (индексы слотов опущены для простоты):
Разбор:
@0
@3
@4
@8
@9
@14
@16
@17…@26 — повторный вызов
@31
@32
To be continue...
---
#JavaScript #Hoisting #V8 #ExecutionContext #TDZ #TemporalDeadZone #Interview #8BitJS
Как часто на собеседованиях вам задавали классический вопрос: «Что такое hoisting?»
Не растерявшись, мы обычно отвечаем: «Это поднятие переменных и функций наверх их области видимости». Интервьюер одобрительно кивает, и мы идём дальше.
Но действительно ли движок переписывает код и «перемещает» объявления? На самом деле это лишь метафора, упрощающая объяснение, но не отражающая реальную механику. В этой статье разберём, что говорит об этом спецификация ECMAScript и как это реализовано во внутренностях V8.
Если открыть учебники и статьи, почти всегда можно встретить объяснение в стиле: «JavaScript поднимает объявление переменной или функции в начало области видимости». Пример из таких источников:
function foo() {
console.log('1:', a)
a = 42
console.log('2:', a)
var a
}
// 1: undefined
// 2: 42
Затем идёт иллюстрация «как будто движок переписал код» и добавил объявление в начало:
function scope() {
var a // hoisting
console.log('1:', a)
a = 42
console.log('2:', a)
}
TL;DR
Сегодня разберём:
- Hoisting — это не перенос строк кода, а ранняя регистрация привязок до исполнения.
-
var создаётся в контексте и инициализируется undefined.-
let/const регистрируются, но попадают в TDZ (Temporal Dead Zone) до инициализации (ранний доступ → ReferenceError).- Function Declarations поднимаются в виде готовых функций (их можно вызывать до места объявления).
- В V8 это реализовано через вызов
Runtime::kDeclareGlobals и видно по инструкциям байткода (LdaTheHole, ThrowReferenceErrorIfHole).---
Концептуальный разбор процессов
JS‑движок выполняет код в две стадии:
Creation Phase
Фаза создания Execution Context. Иногда её называют Memory Creation Phase или Compile Phase. Во время этой фазы:
- создаются Execution Context, Variable Environment и Lexical Environment;
- для
var создаются mutable bindings и сразу инициализируются undefined;- для
let/const создаются bindings, но они остаются неинициализированными (значение the‑hole, TDZ);- Function Declarations получают готовый объект функции.
Execution Phase
Фаза построчного выполнения кода.
Важно: термины фаз — это лишь распространённые формулировки. В спецификации описаны алгоритмы вроде FunctionDeclarationInstantiation и операции с Environment Records (CreateMutableBinding,
InitializeBinding, CreateImmutableBinding и т.д.).Примеры кода и байткод V8
Ниже рассмотрим, как это выглядит в байткоде.
Важно: в байткоде вы не всегда увидите явное
LdaUndefined для var. Ignition при создании кадра (frame) заранее заполняет регистры и слоты значением undefined.varПример:
function demoVar() {
console.log(a) // [1]
var a = 10 // [2]
console.log(a) // [3]
}
Байткод функции (индексы слотов опущены для простоты):
[generated bytecode for function: demoVar]
@0 : LdaGlobal [0]
@3 : Star2
@4 : GetNamedProperty r2, [1]
@8 : Star1
@9 : CallProperty1 r1, r2, r0
@14 : LdaSmi [10]
@16 : Star0
@17 : LdaGlobal [0]
@20 : Star2
@21 : GetNamedProperty r2, [1]
@25 : Star1
@26 : CallProperty1 r1, r2, r0
@31 : LdaUndefined
@32 : Return
Constant pool:
0: <String[7]: #console>
1: <String[3]: #log>
Разбор:
@0
LdaGlobal [0] — загрузить из constant pool console.@3
Star2 — сохранить в регистр r2.@4
GetNamedProperty r2, [1] — получить свойство log. acc = console.log@8
Star1 — сохранить функцию в r1.@9
CallProperty1 r1, r2, r0 — вызвать console.log(a). В регистре r1 мы храним функцию console.log, а в r2 reciever console (аналог this для вызова). Так как регистр r0 (переменная a) ещё не инициализирован в теле, он равен undefined.@14
LdaSmi [10] — загрузить число 10 в аккумулятор@16
Star0 — сохранить в r0, инициализация a = 10.@17…@26 — повторный вызов
console.log(a), теперь r0 = 10.@31
LdaUndefined — подготовка значения возврата по умолчанию.@32
Return — возврат из функции.To be continue...
---
#JavaScript #Hoisting #V8 #ExecutionContext #TDZ #TemporalDeadZone #Interview #8BitJS
6❤🔥11👍5❤2🔥2
IT-ХОЗЯЕВА
🔥 Большущие дяди мальчики на месте? Подписывайся на телеграм канал IT-ХОЗЯЕВА, учавствуй в розыгрыше и забирай книжку 💪 Участников: 206 Призовых мест: 1 Дата розыгрыша: 12:13, 18.09.2025 MSK (завершён) Победители розыгрыша: 1. Александр - 3tr4hd
Там кстати есть реф ссылка на увеличение шанса победы. Одного друга нужно пригласить и будет доп билетик 🚬
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2❤🔥1🔥1👏1🤯1
Вчера наше дружное сообщество ездило в приют "Домашний", который находится в Балашихе! 100 килограммов собачьего стаффа было закуплено. Я горд, что у нас такое крепкое и дружное сообщество. Спасибо всем, кто закидывал деньги! Скоро дропну ролик-отчет 🐶
IT-ХОЗЯЕВА — мы лучшие! Будем дальше делать добро🦮
IT-ХОЗЯЕВА — мы лучшие! Будем дальше делать добро
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3❤27🔥9❤🔥5
Forwarded from 🧊 siberiacancode x IT-ХОЗЯЕВА
Я поражаюсь сообществу IT-ХОЗЯЕВА 😎
Я знаю много сообществ, но сколько же просто жестких людей в нашем сообществе, спикеры, менторы, разработчики, руководы. Это не самое большое сообщество, но точно процент качества и инженерной экспертизы топ один. Также мне нравится, что основной посыл это знания и спорт.
Сильнейшее сообщество, а я и дальше буду закрывать медийный и опенсорсный гештальт🏆
Я знаю много сообществ, но сколько же просто жестких людей в нашем сообществе, спикеры, менторы, разработчики, руководы. Это не самое большое сообщество, но точно процент качества и инженерной экспертизы топ один. Также мне нравится, что основной посыл это знания и спорт.
Сильнейшее сообщество, а я и дальше буду закрывать медийный и опенсорсный гештальт
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤6👍4🤡2❤🔥1
Forwarded from Khasan
This media is not supported in your browser
VIEW IN TELEGRAM
Хозяйский слипер билд 🦾
Спортивный чатик даёт
+50 к тестостерону
и +70 к мотивации
Начал регулярно тренить как пришел в комьюнити ⚡️
Прошло 6 мес.
Пока ачивка - слипер билд
UPDATE:
пошел листать галерею и смотреть что было за эти пол года. Прям настальгии немного словил )
Спортивный чатик даёт
+50 к тестостерону
и +70 к мотивации
Начал регулярно тренить как пришел в комьюнити ⚡️
Прошло 6 мес.
Пока ачивка - слипер билд
UPDATE:
пошел листать галерею и смотреть что было за эти пол года. Прям настальгии немного словил )
🔥13❤3❤🔥1
Khasan
Хозяйский слипер билд 🦾 Спортивный чатик даёт +50 к тестостерону и +70 к мотивации Начал регулярно тренить как пришел в комьюнити ⚡️ Прошло 6 мес. Пока ачивка - слипер билд UPDATE: пошел листать галерею и смотреть что было за эти пол года. Прям настальгии…
Вообще, больше всего я мотивируюсь ребятами из спортивного чата! У нас сейчас там проходят разные спортивные челленджи, в которых может участвовать абсолютно каждый. Давайте развеем миф, что все айтишники — слабаки и зашуганные. У нас всё по-другому!
Мы тебя ждём 💪
Мы тебя ждём 💪
❤🔥14🔥7❤3🤗2💯1