22-15 по Киеву (Это точно) (;
⎡spec:05⎦ Проблематика или почему язык JavaScript, оказался самым непонятым языком на планете.
Talk is cheap. Show me the code
© Линус Торвальдс
Попытаемся, на примерах, разобраться в том, почему язык JavaScript, оказался самым непонятым языком на планете.
Тайм коды:
00:00:00 Музыка
00:03:28 Приветствие
00:04:40 О чем пойдет речь
00:05:00 К сути
00:26:50 Ответы на вопросы:
00:27:30 Мылятся картинки при transform
00:28:30 О чтении синтаксиса стрелочных функций
00:29:05 Primitive Types и toPrimitive
00:33:40 Можно ли сэкономить на Static Semantics
00:34:00 Сколько нужно времени на чтение спецификации
00:35:10 Почему в JavaScript нет переменных
00:37:30 Говорил ли Брендан о том, что typeof null это ошибка
00:40:40 JS это анархия
00:42:30 Про type Object и прочие типы
00:44:50 Пауза или Мурыч ищет ссылки пруфы
00:54:17 Мурыч нашел и на это не ушло больше часа
00:54:34 Ссылка на блок разработчиков V8 о том, что все Object
00:55:16 Инженеры V8 и Null и Брендан
00:56:35 Почему некоторые компании используют JS для обработки данных
00:57:24 О необходимости аналогий
00:59:02 О резервировании памяти для массива
01:00:05 Снова о чтении спеки
01:03:45 Одно поточный или много поточный
01:05:22 Какие значимые вещи в JS лично для Мурыча появятся в будущем
01:13:30 Какое отношение, статьи в блоге инженеров V8 имеют к тому, что говорит Мурыч
https://www.youtube.com/watch?v=6yd_m64mlv8
YouTube
⎡spec:05⎦ Проблематика или почему язык JavaScript, оказался самым непонятым языком на планете.
_Talk is cheap. Show me the code_ © Линус Торвальдс
Попытаемся, на примерах, разобраться в том, почему язык JavaScript, оказался самым непонятым языком на планете.
Таймкоды:
00:00:00 Музыка
00:03:28 Приветствие
00:04:40 О чем пойдет речь
00:05:00…
Попытаемся, на примерах, разобраться в том, почему язык JavaScript, оказался самым непонятым языком на планете.
Таймкоды:
00:00:00 Музыка
00:03:28 Приветствие
00:04:40 О чем пойдет речь
00:05:00…
🔥26👍7❤5
Задача для Senior JS Developer
из моих архивов собеседований
Напишите код (или опишите принцип), который бы запретил выполнение любого метода любой функции кроме заданного. Например кроме console.log.
Например:
То есть при выполнении вышеобозначенного примера, мы увидим в коносли:
Start
End
Подчеркиваю, ограничений на использование любых вызовов не существует. То есть внутри блока допускается использование любой функции или любого внешнего API.
Существует только условие, которое определяет - ЧТО именно разрешено использовать (white list методов или функций) .
Использовать Shafow Realm запрещено. Тогда его просто не было. Да и сейчас он под галкой.
из моих архивов собеседований
Напишите код (или опишите принцип), который бы запретил выполнение любого метода любой функции кроме заданного. Например кроме console.log.
Например:
// Ваш код
{
// внутри этого блока можно вызвать ТОЛЬКО console.log
// и не существует никакой возможности вызвать что-то еще
console.log("Start"); // Работает как ожидается
alert("Yo"); // игнорируется
new Promise(); // игнорируется
setTimeout( ()=>{}); // игнорируется
console.log("End"); // Работает как ожидается
}
То есть при выполнении вышеобозначенного примера, мы увидим в коносли:
Start
End
Подчеркиваю, ограничений на использование любых вызовов не существует. То есть внутри блока допускается использование любой функции или любого внешнего API.
Существует только условие, которое определяет - ЧТО именно разрешено использовать (white list методов или функций) .
Использовать Shafow Realm запрещено. Тогда его просто не было. Да и сейчас он под галкой.
👍12🔥6❤2🐳2👎1
Отгадка на задачу Задача для Senior JS Developer
Напишите код (или опишите принцип), который бы запретил выполнение любого метода любой функции кроме заданного. Например кроме console.log.
Решение задачи возможно в non strict mode, с использование with и Proxy:
Обозначенный выше proof of concept легко адаптируется не только для функциональных обьектов, но и для идентификаторов связанных с прочими типами.
В настоящий момент в спецификацию продвигают
А так же активно обсуждается тема адаптации with для
Для чего использовались подобные решения?
для создания песочниц, где необходимо было наложить ограничения на выполнение кода третьих лиц.
Напишите код (или опишите принцип), который бы запретил выполнение любого метода любой функции кроме заданного. Например кроме console.log.
// Ваш код
{
// внутри этого блока можно вызвать ТОЛЬКО console.log
// и не существует никакой возможности вызвать что-то еще
console.log("Start"); // Работает как ожидается
alert("Yo"); // игнорируется
new Promise(); // игнорируется
setTimeout( ()=>{}); // игнорируется
console.log("End"); // Работает как ожидается
}
Решение задачи возможно в non strict mode, с использование with и Proxy:
var theWhiteList = {
console
// , Promise
// , setTimeout
// , alert
};
var doNope = function(){};
var theObj = new Proxy(
theWhiteList
, {
get: ()=> doNope
, has: (theObj, theKey)=>!( theObj[theKey] )
}
);
with ( theObj )
{
console.log("Start"); // Работает как ожидается
alert("Yo"); // игнорируется
new Promise(); // игнорируется
setTimeout( ()=>{ console.log("time"); }); // игнорируется
console.log("End"); // Работает как ожидается
}
Обозначенный выше proof of concept легко адаптируется не только для функциональных обьектов, но и для идентификаторов связанных с прочими типами.
В настоящий момент в спецификацию продвигают
Shadow Realm
, которые позволят создавать подобные песочницы намного более простым способом. А так же активно обсуждается тема адаптации with для
use strict
with
- это единсвенный способ прямой манипуляции контекстом исполнения.Для чего использовались подобные решения?
для создания песочниц, где необходимо было наложить ограничения на выполнение кода третьих лиц.
👍45❤5👎3🤯2
Не про JS и не про программирование
Внимание:
Для адекватного восприятия следующего - обязательно наденьте шапочку из фольги.
Можно этого и не делать - если Вам нечего защищать.
(Для тех кто не понял - я уже начал и шапочка нужна)
Трудности перевода или Оппенгеймер
Если у Вас есть около 9 часов, когда Ваш моск бесполезен, и вы знаете русский и Украинский, или по крайней мере Английский и русский, очень рекомендую посмотреть фильм Оппенгеймер в двух переводах.
Особенно обратите внимание на сцены, где идет речь о коммунистах и ссср. Отдаю должное воображению авторам русского перевода.
Но то и фиг бы с ним, если бы я не считал что интересуюсь квантовой механикой. И даже способен кое что понять на любительском уровне.
Кстати, крайне всем рекомендую послушать пару лекций Семихатова на YouTube. Откроете для себя много нового. Ну например, что кот Шредингера это не про то, что кот находится в двух состояниях одновременно, но про неудачную аналогию, где речь идет о том, как в квантовом мире, процесс измерения, может повлиять на результат самого измерения. Впрочем как и в случае JS. С аналогиями все очень сложно.
Вернемся к квантовой механике. В фильме переодически звучат очень простые термины или концепции отсылающие к ней самой. Так вот, по какой-то мне неведомой причине, русский перевод эти концепции упрощает до уровня плоской земли.
Поверьте мне, я просмотрел три русских перевода. Официальный и два любительских.
Самый простой пример - сцена где Оппенгеймер знакомится с Гезинбергом. И последний сообщает что знаком с монографией Оппенгеймера по молекулярной физике. Русский перевод звучал как - я прочитал вашу статью про молекулы.
Монография и статья.
Молекулярная физика и молекулы.
И такие ляпы на протяжении всего фильма. Почти вся терминология, в русском переводе упрощена до уровня плинтуса. Хотя в оригинале как и в Украинском переводе ничего подобного нет.
Ну да черт с ней с пропагандой и физикой. По сути это же одно и тоже - так ведь?
Больше всего доставил сухой песок, после минимум 48 часового дождя.
*Шапочку из фольги можно снять*
Рискну предположить, что Оппенгеймер, Энштейн, Гейзинберг это не те люди которые не понимали того простого факта, что ядерный синтез будет понятен любому студенту с физтеха.
Создание ядерной бомбы вопрос не Гения, а времени. Современность тому пример. И потому, подавать историю Оппенгеймера как историю человека который переживал о том, что он приложил руку к БИМБЕ - это не уважать этого человека.
Когда Оппенгеймер говорил в фильме Энштейну, о цепной реакции которая уничтожит весь мир - он говорил не о ядерной бимбе. Оппенгеймер вообще об этом никогда не переживал. Он переживал о том, что не смог найти способа, при всем своем влиянии, выстроить этот мир так, чтобы агрессивное невежество, которое получает в руки такой инструмент - не могло его(мир) разрушить.
Оппенгеймер переживал до конца дней, что человечество подошло к той черте, когда плоды научного прогресса могут в секунду уничтожить все человечество и при этом остановить этот самый прогресс теперь, можно только сделав тоже самое - уничтожив все человечество.
А ядрёно-атомная бимба это пшик. Это вам не гипотезу Пуанкаре доказать. Где только разобраться в том, что написано может 5 человек на всей земле. Не говоря уже о том, чтобы понять.
Да и страна, которая прокакала такого гения - вызывает у меня опасения силой до поноса.
Дискас.
Внимание:
Для адекватного восприятия следующего - обязательно наденьте шапочку из фольги.
Можно этого и не делать - если Вам нечего защищать.
(Для тех кто не понял - я уже начал и шапочка нужна)
Трудности перевода или Оппенгеймер
Если у Вас есть около 9 часов, когда Ваш моск бесполезен, и вы знаете русский и Украинский, или по крайней мере Английский и русский, очень рекомендую посмотреть фильм Оппенгеймер в двух переводах.
Особенно обратите внимание на сцены, где идет речь о коммунистах и ссср. Отдаю должное воображению авторам русского перевода.
Но то и фиг бы с ним, если бы я не считал что интересуюсь квантовой механикой. И даже способен кое что понять на любительском уровне.
Кстати, крайне всем рекомендую послушать пару лекций Семихатова на YouTube. Откроете для себя много нового. Ну например, что кот Шредингера это не про то, что кот находится в двух состояниях одновременно, но про неудачную аналогию, где речь идет о том, как в квантовом мире, процесс измерения, может повлиять на результат самого измерения. Впрочем как и в случае JS. С аналогиями все очень сложно.
Вернемся к квантовой механике. В фильме переодически звучат очень простые термины или концепции отсылающие к ней самой. Так вот, по какой-то мне неведомой причине, русский перевод эти концепции упрощает до уровня плоской земли.
Поверьте мне, я просмотрел три русских перевода. Официальный и два любительских.
Самый простой пример - сцена где Оппенгеймер знакомится с Гезинбергом. И последний сообщает что знаком с монографией Оппенгеймера по молекулярной физике. Русский перевод звучал как - я прочитал вашу статью про молекулы.
Монография и статья.
Молекулярная физика и молекулы.
И такие ляпы на протяжении всего фильма. Почти вся терминология, в русском переводе упрощена до уровня плинтуса. Хотя в оригинале как и в Украинском переводе ничего подобного нет.
Ну да черт с ней с пропагандой и физикой. По сути это же одно и тоже - так ведь?
Больше всего доставил сухой песок, после минимум 48 часового дождя.
*Шапочку из фольги можно снять*
Рискну предположить, что Оппенгеймер, Энштейн, Гейзинберг это не те люди которые не понимали того простого факта, что ядерный синтез будет понятен любому студенту с физтеха.
Создание ядерной бомбы вопрос не Гения, а времени. Современность тому пример. И потому, подавать историю Оппенгеймера как историю человека который переживал о том, что он приложил руку к БИМБЕ - это не уважать этого человека.
Когда Оппенгеймер говорил в фильме Энштейну, о цепной реакции которая уничтожит весь мир - он говорил не о ядерной бимбе. Оппенгеймер вообще об этом никогда не переживал. Он переживал о том, что не смог найти способа, при всем своем влиянии, выстроить этот мир так, чтобы агрессивное невежество, которое получает в руки такой инструмент - не могло его(мир) разрушить.
Оппенгеймер переживал до конца дней, что человечество подошло к той черте, когда плоды научного прогресса могут в секунду уничтожить все человечество и при этом остановить этот самый прогресс теперь, можно только сделав тоже самое - уничтожив все человечество.
А ядрёно-атомная бимба это пшик. Это вам не гипотезу Пуанкаре доказать. Где только разобраться в том, что написано может 5 человек на всей земле. Не говоря уже о том, чтобы понять.
Да и страна, которая прокакала такого гения - вызывает у меня опасения силой до поноса.
Дискас.
👍62❤3🤯3😁2🤡2👎1
Не про JS и не про программистов.
но про хорошее настроение от рассово верной группы - пневмослон.
почему все рассово верные группы пишут такие хорошие песни?
о них я узнал тогда, когда шнур зашкварился типичной рос пропагандой чем вверг меня в уныние и заставил гуглить.
свято место пусто не бывает: пневмослон!
https://youtu.be/-6An7luR9_Q?si=dDlte1_ctTXQdkuO
но про хорошее настроение от рассово верной группы - пневмослон.
почему все рассово верные группы пишут такие хорошие песни?
о них я узнал тогда, когда шнур зашкварился типичной рос пропагандой чем вверг меня в уныние и заставил гуглить.
свято место пусто не бывает: пневмослон!
https://youtu.be/-6An7luR9_Q?si=dDlte1_ctTXQdkuO
❤16🤡9🔥4😁2👍1
As For JS
Как в вашей душе откликается такая обложка?
Это обложка не просто так.
Это обложка под рубрику, где нужно будет решить неординарную задачу.
Решение которой зависит от того, насколько человек мыслит нестандартно, или насколько глубоко знает архитектуру языка JS
Это обложка под рубрику, где нужно будет решить неординарную задачу.
Решение которой зависит от того, насколько человек мыслит нестандартно, или насколько глубоко знает архитектуру языка JS
👍23🔥7🌚1
ша!
с єтого момента я ввожу диктатуру,
и назначаю себя диктатором єтого чата.
всенародно избранным и пожизненно.
как следствие начинаю репрессии в соответствии с тем как зачесалась моя левая пятка
левая пятка у меня чешется от
1) любого упоминания в уничижительной форме Украины, и ее нации
2) языками общения в группе заявляются все которые лично я могу понять. Если я не понимаю - репрессирую
3) писать претензии можно в лигу сексуальных реформ организации озабоченых наций
с єтого момента я ввожу диктатуру,
и назначаю себя диктатором єтого чата.
всенародно избранным и пожизненно.
как следствие начинаю репрессии в соответствии с тем как зачесалась моя левая пятка
левая пятка у меня чешется от
1) любого упоминания в уничижительной форме Украины, и ее нации
2) языками общения в группе заявляются все которые лично я могу понять. Если я не понимаю - репрессирую
3) писать претензии можно в лигу сексуальных реформ организации озабоченых наций
👌62🤡31🔥19👍17😁14❤11🕊5👨💻2❤🔥1🤯1🙏1
Предварительно в 17-00 по киеву, будет спонтанная трансляция по поводу вопроса:
https://t.me/AsForJsTalks/75757
так как я на єтом собаку сьел, то не смог отказать себе в удовольствии проговорить всю єту бадягу в уши тем кому єто ненужно.
Речь пойдет о:
1) http кеширование
2) особенности кешированя js кода браузером
3) service worker-ы
4) json
господа джсеры, у меня к вам вопрос перфа. на стеке с php у меня есть дефолтные текста в элементах при изначальном рендере страницы. при выборе тарифа, мне надо менять текста на значения взятые из дата-атрибутов кнопки активного тарифа.
но если сняли активное состояние с тарифов, то не выбрано ничего и мне надо вернуть дефолтные значения.
лучше это эти первоначальные текста хранить в отдельном объекте зарендерив inline <script> на бекенде php или брать на js из data-attribute.
Минимальная схема того [...]
https://t.me/AsForJsTalks/75757
так как я на єтом собаку сьел, то не смог отказать себе в удовольствии проговорить всю єту бадягу в уши тем кому єто ненужно.
Речь пойдет о:
1) http кеширование
2) особенности кешированя js кода браузером
3) service worker-ы
4) json
👍51🔥28
Что сегодня посмотреть
Life of a Script [eng]
английский простой.
очень рекомендую к просмотру.
делается вводная в общий процесс работы с JS кодом.
о том что все обьект,
о байткоде
о гарбаж коллекторе
введение в оптимизации turboFan
...
свидетелям однопоточного JavaScript особенно доставит в конце ремарка о работе над спецификацией с целью улучшения паралелизма в JavaScript
https://youtu.be/veYjbF1rt5o?si=xjEf5IRfUxTzLkH0
Life of a Script [eng]
английский простой.
очень рекомендую к просмотру.
делается вводная в общий процесс работы с JS кодом.
о том что все обьект,
о байткоде
о гарбаж коллекторе
введение в оптимизации turboFan
...
свидетелям однопоточного JavaScript особенно доставит в конце ремарка о работе над спецификацией с целью улучшения паралелизма в JavaScript
https://youtu.be/veYjbF1rt5o?si=xjEf5IRfUxTzLkH0
YouTube
Life of a Script
The design of V8 and current ongoing work, garbage collection and how V8 fits into Blink and Chrome, and how WebAssembly fits into that picture
🔥33👍6❤3🌚1
У меня завтра будет два часа времени на стрим. Что вам былобы интереснее?
Anonymous Poll
34%
Послушать про вирусную сцену 90-тых? Паралельно напишем компьютерный вирус языком ассемблера?
50%
Что-нибудь про JavaScript полезное, если такое бывает
16%
Я упырь
🔥18🤯1
Удивительное открытие сегодняшнего утра - группа folkulaka
Удивительно в двойне то, что один из ее лидеров Саша Кладбище. Ну та самая - которая пела Оооуооо на мою девушку упал космодесантник.
https://youtu.be/UnceICPij4M?si=hWF6kSdsYa7aWdkQ
Удивительно в двойне то, что один из ее лидеров Саша Кладбище. Ну та самая - которая пела Оооуооо на мою девушку упал космодесантник.
https://youtu.be/UnceICPij4M?si=hWF6kSdsYa7aWdkQ
YouTube
Folkulaka | Мавки лісові | Hey-Hoo (live in Kyiv, April 2023)
Трек із ЕР “Осьо” гурту Folkulaka.
Живе відео з концерту у київському концерт-холі Bel Etage 21 квітня 2023 року.
Оригінальна «Гей-гу, гей-га» — пісня третього куреня старших пластунів «Лісові Чорти», створена в юні роки Тарасом Крушельницьким. Тарас був…
Живе відео з концерту у київському концерт-холі Bel Etage 21 квітня 2023 року.
Оригінальна «Гей-гу, гей-га» — пісня третього куреня старших пластунів «Лісові Чорти», створена в юні роки Тарасом Крушельницьким. Тарас був…
❤🔥12👎7🔥2🤯2
Хочу выразить безграничную благодарность братьям россиянам, за то что успешно поразили очередной гражданский обьект города Одессы.
Бабахнуло знатно. Начинаем искать выживших.
Так держать!!!
С вашей точностью все больше верю в то, что не зсу вам козью рожицу сделают а вы уебете себя сами.
Лихие вы пролежни не интерисующиеся политикой, свидетели всея неоднозначности да неисповедимых путей правды.
Бабахнуло знатно. Начинаем искать выживших.
Так держать!!!
С вашей точностью все больше верю в то, что не зсу вам козью рожицу сделают а вы уебете себя сами.
Лихие вы пролежни не интерисующиеся политикой, свидетели всея неоднозначности да неисповедимых путей правды.
❤67👍21🕊17👎15🤣9🙏6🌚6🤯3🔥2
21-00 По Киеву
⎡perf:5⎦ Производительность JavaScript Exotic Object Array в V8.
Разберем основные аспекты, влияющие на производительность работы с JavaScript Exotic Object Array в V8:
1) Какие существуют виды Array на уровне внутренней реализации V8
2) Что такое holes
3) Что такое slots
4) Что такое Fast or Dictionary Elements
5) Что такое Elements Transitions
6) Аллокация слотов при увеличении количества элементов
7) Аллокация слотов при уменьшении количества элементов
8) К каким последствиям приводят вызовы Array(), new Array(), Array.from, Array literal
https://www.youtube.com/watch?v=fWqOswHMjEo
⎡perf:5⎦ Производительность JavaScript Exotic Object Array в V8.
Разберем основные аспекты, влияющие на производительность работы с JavaScript Exotic Object Array в V8:
1) Какие существуют виды Array на уровне внутренней реализации V8
2) Что такое holes
3) Что такое slots
4) Что такое Fast or Dictionary Elements
5) Что такое Elements Transitions
6) Аллокация слотов при увеличении количества элементов
7) Аллокация слотов при уменьшении количества элементов
8) К каким последствиям приводят вызовы Array(), new Array(), Array.from, Array literal
https://www.youtube.com/watch?v=fWqOswHMjEo
YouTube
Производительность JavaScript Array в V8. ⎡perf:5⎦
Разберем основные аспекты, влияющие на производительность работы с JavaScript Exotic Object Array в V8:
1) Какие существуют виды Array на уровне внутренней реализации V8
2) Что такое holes
3) Что такое slots
4) Что такое Fast or Dictionary Elements
5) Что…
1) Какие существуют виды Array на уровне внутренней реализации V8
2) Что такое holes
3) Что такое slots
4) Что такое Fast or Dictionary Elements
5) Что…
🔥41👍8❤5👎1
По преченческим технинам, трансляция переноситься на 22-00 по Киеву
👍14👌8👎2😍1🤣1👀1
Ссылка на слайды вчерашней трансляции.
В слайды добавлены ссылки на полезные материалы и на исходники непосредственно V8
https://docs.google.com/presentation/d/1WoDvQ0tWZ4mrZs8D6nwUnytGklI0R4NKTGhLvMenQRo/preview?slide=id.g23ce763670e_0_2
В слайды добавлены ссылки на полезные материалы и на исходники непосредственно V8
https://docs.google.com/presentation/d/1WoDvQ0tWZ4mrZs8D6nwUnytGklI0R4NKTGhLvMenQRo/preview?slide=id.g23ce763670e_0_2
Google Docs
perf:5 ⎡~asForJs ~v8 ~array ~holeys⎦
1
🔥31👍9❤5
23-30 по Киеву
Отвечаем на вопросы и разбираем материал: Optimizing JavaScript for fun and for profit
https://romgrk.com/posts/optimizing-javascript
Читаем и разбираем материал: Optimizing JavaScript for fun and for profit. Читаю чат отвечаю на вопросы.
Тайм коды под видео
https://www.youtube.com/watch?v=AbHf_k9ydcU
Отвечаем на вопросы и разбираем материал: Optimizing JavaScript for fun and for profit
https://romgrk.com/posts/optimizing-javascript
Читаем и разбираем материал: Optimizing JavaScript for fun and for profit. Читаю чат отвечаю на вопросы.
Тайм коды под видео
https://www.youtube.com/watch?v=AbHf_k9ydcU
YouTube
Отвечаем на вопросы и разбираем материал: Optimizing JavaScript for fun and for profit
Читаем и разбираем материал: Optimizing JavaScript for fun and for profit. Читаю чат отвечаю на вопросы.
https://romgrk.com/posts/optimizing-javascript
Тем кто не боится задавать вопросы голосом:
https://meet.google.com/gfe-ykke-csr
⎡~talks ~15 ~JsForFunAndProfit⎦…
https://romgrk.com/posts/optimizing-javascript
Тем кто не боится задавать вопросы голосом:
https://meet.google.com/gfe-ykke-csr
⎡~talks ~15 ~JsForFunAndProfit⎦…
👍26🙏1