As For JS
رفتن به کانال در Telegram
3 197
مشترکین
-324 ساعت
-257 روز
-5930 روز
آرشیو پست ها
3 196
Я очень давно не чувствовал себя настолько счастливым.
А всего-то нужно был где-то найти кота, которому нужен дом
3 196
Пусть недопрограммист написал функцию compare, которая возвращает true если enumerable ключи обьекта подобны.
{
const compare = (o1, o2)=> {
const a = Object.keys(o1).sort();
const b = Object.keys(o2).sort();
if (a.join('-') !== b.join('-')) {
return false;
}
return true;
}
compare(
{ a: 1, c: 2},
{ c: 2, a: 1}
); // True
compare(
{ a: 1, c: 2},
{ c: 2, a: 1, d: 3}
); // False
}
Приведите пример такой пары обьектов, чтобы функция вернула true, а по условиям задачи должна была бы вернуть false.3 196
НаМТЗ 93омбр СБ ВПРК
🎯 Ціль: 76 200 ₴
🔗Посилання на банку
https://send.monobank.ua/jar/q5tQi6pYG
💳Номер картки банки
4874 1000 2229 5144
3 196
Исследователи из компании CodeRabbit проанализировали 470 pull-запросов (350 - созданные AI, 150 - написанные вручную) в открытых проектах на GitHub и пришли к выводу, что в изменениях, сгенерированных AI-ассистентами, присутствует в 1.7 раза больше значительных дефектов и в 1.4 раза больше критических проблем, чем во вручную написанном коде. В среднем в сгенерированных через AI pull-запросах присутствовало 10.83 проблем, в то время как в созданных вручную изменениях данный показатель составил 6.45.
3 196
Repost from Настя Котова // Frontend & Node.js
Как можно профилировать память в Node.js?
Один из базовых способов — heap snapshot через Chrome DevTools. Для этого нужно запустить Node с флагом --inspect:
node --inspect app.js.
После запуска можно открыть в браузере chrome://inspect и подключиться к процессу в DevTools и на вкладке Memory снять снимок кучи. Он показывает, какие объекты занимают память.
Если же мы хотим отслеживать метрики памяти в реальном времени, то можно сделать это с помощью PerformanceObserver. Он слушает события, создаваемые системой perf_hooks. Например, можно смотреть, как растёт heap и когда происходят сборки мусора:
import { PerformanceObserver, performance } from 'node:perf_hooks';
const obs = new PerformanceObserver((items) => {
for (const entry of items.getEntries()) {
console.log(`[${entry.entryType}]`, entry.name, entry.duration.toFixed(2), 'ms');
}
});
obs.observe({ entryTypes: ['gc'] });
Если нужно больше деталей о работе V8 и нет времени писать лишний код, можно просто запустить процесс с флагом --trace_gc: node --trace_gc app.js.
В консоли появятся строки вроде:
[89452:0xa81400000] 3103 ms: Scavenge 18.9 (27.7) -> 18.7 (50.7) MB, pooled: 0 MB, 4.29 / 0.00 ms (average mu = 1.000, current mu = 1.000) allocation failure;Здесь видно тип сборки мусора, её длительность и изменение размера кучи. Ну а самый простой и быстрый способ получить обзор текущего состояния, и, скорей всего, вы про него уже не раз слышали — метод process.memoryUsage. Он возвращает данные по основным сегментам памяти:
const mem = process.memoryUsage();
console.log(`Heap used: ${(mem.heapUsed / 1024 / 1024).toFixed(2)} MB`);
console.log(`RSS: ${(mem.rss / 1024 / 1024).toFixed(2)} MB\n`);3 196
Основатель QEMU и FFmpeg опубликовал JavaScript-движок Micro QuickJS
Французский математик Фабрис Беллар (Fabrice Bellard), основавший в своё время проекты QEMU, FFmpeg, BPG, QuickJS, TinyGL и TinyCC, опубликовал новый JavaScript-движок для встраиваемых систем - Micro QuickJS, способный компилировать и выполнять JavaScript-программы, потребляя всего 10 КБ ОЗУ. Вместе с Си-библиотекой движок занимает примерно 100 КБ постоянной памяти. Возможна компиляция JavaScript в байткод и отдельный запуск байткода. Код проекта написан на языке Си и распространяется под лицензией MIT.
Движок поддерживает подмножество возможностей языка JavaScript, близкое к спецификации ECMAScript 5 (ES2019), но предъявляет более строгие требования к коду, не допускающие использования некоторых JavaScript-конструкций, неэффективных или приводящих к ошибкам.
Например, глобальные переменные обязательно должны объявляется через ключевое слово "var", запрещено использование "with", массивы не могут иметь пустоты, невозможна инициализация при объявлении вида "new Number(1)", из eval невозможен доступ к локальным переменным.
и т.д.
3 196
⎡msk⎦ Разбирем видео: "Я 💛 Фронтенд. Как это можно переписать?" и поищем верное решение"
https://www.youtube.com/watch?v=MSLHs4z6sE4
#В_интернетах_кто_то_неправ
#video #timecodes #відео #таймкоди
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
02:30:45, Ответы на вопросы чата: Вопрос о Владилене Минене и его курсах.
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=9045s
#ВладиленМинин #Люди
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
02:38:14, Вопрос о TDZ и книжке "Вы не знаете JS"
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=9494s
#TDZ #TemporalDeadZone #МертваяЗона
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
02:46:17, Обсуждение еще одного аспекта решаемой задачи
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=9977s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
02:52:00, Снова о Минене
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=10320s
#ВладиленМинин #Люди
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
02:52:55, О том что такое SMI, 31 бите, Int32 в спецификации и bitwise операциях
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=10375s
#ECMASript #spec #SMI #Int32 #Bitwise #Специфікація #Спецификация #Спека
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
02:58:35, Кого можешь посоветовать, чтобы оттачивать мастерство JS
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=10715s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
03:08:21, Канал ITGid и Алексей Лущенко
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=11301s
#ITGid #АлексейЛущенко #Люди
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
03:21:49, О JS канале Богдана Стасчука
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=12109s
#БогданСтасчук #Люди
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
03:50:54, Завершение трансляции
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=13854s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
3 196
⎡msk⎦ Разбирем видео: "Я 💛 Фронтенд. Как это можно переписать?" и поищем верное решение"
https://www.youtube.com/watch?v=MSLHs4z6sE4
#В_интернетах_кто_то_неправ
#video #timecodes #відео #таймкоди
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:00:00, Музыка
https://www.youtube.com/watch?v=MSLHs4z6sE4
#_js_radio_
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:03:13, Настройка звука
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=193s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:05:06, О чем и как будет весь стрим
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=306s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:07:30, Условие задачи моими словами
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=450s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:09:05, Начало просмотра видео
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=545s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:12:10, О том, что не отметили спикеры в рамках поставленной задачи
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=730s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:13:18, Первое решение: все в одну строку, потому что есть такой конкурс
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=798s
#code #OneLiner #код
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:20:33, Второе решение: решение в лоб
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=1233s
#code #код
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:29:50, Третье решение: а я могу в генераторы
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=1790s
#code #Generator #код #Генератор
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:45:20, Четвертое решение: наиболее интересное
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=2720s
#code #код
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
01:02:50, Начало общих обсуждений всего, что касалось решений
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=3770s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
01:10:30, Замечания о TDZ (Temporal Dead Zone)
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=4230s
#TDZ #TemporalDeadZone #ТимчасоваМертваЗона #ВременнаяМертваяЗона
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
01:15:40, О производительности var let и const
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=4540s
#var #let #const
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
01:20:00, Опять о TDZ
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=4800s
#TDZ #TemporalDeadZone #ТимчасоваМертваЗона #ВременнаяМертваяЗона
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
01:29:18, Насколько часто в продакшин коде нужно упарываться в такое
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=5358s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
01:35:50, Jit компилятор чудес не творит
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=5750s
#JIT
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
01:38:11, О том как выходил ES5 и почему часть возможностей "тормозило"
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=5891s
#ES5
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
01:42:08, О подходе инженеров V8 к оптимизации фич
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=6128s
#V8 #opti
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
01:45:30, Как спецификация накладывает отпечаток на производительность
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=6330s
#ECMASript #Performance #Специфікація #Продуктивність #Спецификация #Производительность #Спека
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
01:48:15, Перерыв
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=6495s
#_js_radio_
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
01:51:19, Разбор правильного решения
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=6679s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
02:00:00, Мурыч показывает код правильного решения, но забывает переключить захват на рабочий стол
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=7200s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
02:08:00, Мурыч понимает что он не переключил захват, смеется над собой, переключает захват и пишет все по новой
https://www.youtube.com/watch?v=MSLHs4z6sE4&t=7680s
#code #код
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
3 196
⎡msk⎦ Разбираем видео: "Сравнение языков программирования Java vs JavaScript"
https://www.youtube.com/watch?v=3GgfeCy8WuY
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:00:00, Музыка
https://www.youtube.com/watch?v=3GgfeCy8WuY
#_js_radio_
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:04:50, История Java по версии Немчинского.
https://www.youtube.com/watch?v=3GgfeCy8WuY&t=290s
#Java #Немчинский
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:06:20, История Java по версии Мурыча.
https://www.youtube.com/watch?v=3GgfeCy8WuY&t=380s
#Java
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:11:58, Аплеты
https://www.youtube.com/watch?v=3GgfeCy8WuY&t=718s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:13:14, Почему стал популярным Java ?
https://www.youtube.com/watch?v=3GgfeCy8WuY&t=794s
#Java
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:15:54, Откуда появилось название JavaScript ?
https://www.youtube.com/watch?v=3GgfeCy8WuY&t=954s
#JavaScript
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:18:00, Для чего был создан Java ?
https://www.youtube.com/watch?v=3GgfeCy8WuY&t=1080s
#Java
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:19:15, Чем является JavaScript ? Мурыч выдал базу.
https://www.youtube.com/watch?v=3GgfeCy8WuY&t=1155s
#JavaScript
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:22:00, Java мёртва. ООП vs ФП.
https://www.youtube.com/watch?v=3GgfeCy8WuY&t=1320s
#OOP #FP #FunctionalProgramming #ООП #ФП #ФункціональнеПрограмування #ФункциональноеПрограммирование
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:31:15, минусы Java.
https://www.youtube.com/watch?v=3GgfeCy8WuY&t=1875s
#Java
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:34:18, Про Node.js.
https://www.youtube.com/watch?v=3GgfeCy8WuY&t=2058s
#NodeJS
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:36:52, Сравнение Java и Java Script.
https://www.youtube.com/watch?v=3GgfeCy8WuY&t=2212s
#JavaScript #Java
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:47:06, Фреймворки.
https://www.youtube.com/watch?v=3GgfeCy8WuY&t=2826s
#Framework #Фреймворк
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:52:00, Перспективы.
https://www.youtube.com/watch?v=3GgfeCy8WuY&t=3120s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
#video #timecodes #відео #таймкоди
3 196
После операции по удалению 5 зубов (у меня челюсть стала гнить там вобщем им виднее)
у меря спрашивают, как там мои зубы
Отвечаю - в душе не ебу что с єтими зубами. Я их сутьбу после удаленя не отслеживал.
3 196
⎡msk⎦ Разбираем видео: "Как работает this в javascript. Разберемся на примерах..."
https://www.youtube.com/watch?v=P7HqGHJ94AI
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:00:00, Музыка
https://www.youtube.com/watch?v=P7HqGHJ94AI
#_js_radio_
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:02:35, Про что видео
https://www.youtube.com/watch?v=P7HqGHJ94AI&t=155s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:03:45, На что будем смотреть в видео
https://www.youtube.com/watch?v=P7HqGHJ94AI&t=225s
#this
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:06:20, Про сбивающий с толку скрипт запускающий v8
https://www.youtube.com/watch?v=P7HqGHJ94AI&t=380s
#V8
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:07:20, Разбор примера про setTimeout
https://www.youtube.com/watch?v=P7HqGHJ94AI&t=440s
#setTimeout
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:12:03, В чем проблема разбора этого примера
https://www.youtube.com/watch?v=P7HqGHJ94AI&t=723s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:17:50, Демонстрация на примерах
https://www.youtube.com/watch?v=P7HqGHJ94AI&t=1070s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:25:47, Замечание о специфики поведения Arrow Function
https://www.youtube.com/watch?v=P7HqGHJ94AI&t=1547s
#ArrowFunction #СтрілковаФункція #СтрелочнаяФункция
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:32:10, О проблемах пояснения в случае собеседования
https://www.youtube.com/watch?v=P7HqGHJ94AI&t=1930s
#this
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:35:30, Ответы на вопросы
https://www.youtube.com/watch?v=P7HqGHJ94AI&t=2130s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:40:05, Можно ли переопределить поведение Arrow Function для this
https://www.youtube.com/watch?v=P7HqGHJ94AI&t=2405s
#this #ArrowFunction #СтрілковаФункція #СтрелочнаяФункция
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:49:30, Почему NodeJs setTimeout не отвечает спецификации
https://www.youtube.com/watch?v=P7HqGHJ94AI&t=2970s
#NodeJS #setTimeout
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
00:57:50, Чому саме різниця у setTimeout
https://www.youtube.com/watch?v=P7HqGHJ94AI&t=3470s
#setTimeout
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
01:00:28, Какие книжки порекомендуете почитать
https://www.youtube.com/watch?v=P7HqGHJ94AI&t=3628s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
01:06:45, Реплика о next tick
https://www.youtube.com/watch?v=P7HqGHJ94AI&t=4005s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
01:07:49, Разбор кода с классами и super
https://www.youtube.com/watch?v=P7HqGHJ94AI&t=4069s
#Class #super #Клас #Класс
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
01:17:29, Наконец понимание того как это работает
https://www.youtube.com/watch?v=P7HqGHJ94AI&t=4649s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
01:45:04, Чем являются классы
https://www.youtube.com/watch?v=P7HqGHJ94AI&t=6304s
#Class #super #Клас #Класс
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
01:46:09, Всем спасибо
https://www.youtube.com/watch?v=P7HqGHJ94AI&t=6369s
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
#video #timecodes #відео #таймкоди
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
