fa
Feedback
As For JS

As For JS

رفتن به کانال در Telegram

As For JavaScript... Обсуждения — @AsForJsTalks

نمایش بیشتر
3 197
مشترکین
-324 ساعت
-257 روز
-5930 روز
آرشیو پست ها
Я очень давно не чувствовал себя настолько счастливым. А всего-то нужно был где-то найти кота, которому нужен дом

у тучи друзяка
у тучи друзяка

а завтра у тучи будет друзяка держите кулаки
а завтра у тучи будет друзяка держите кулаки

Пусть недопрограммист написал функцию 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.

НаМТЗ 93омбр СБ ВПРК 🎯 Ціль: 76 200 ₴ 🔗Посилання на банку https://send.monobank.ua/jar/q5tQi6pYG 💳Номер картки банки 4874
НаМТЗ 93омбр СБ ВПРК 🎯 Ціль: 76 200 ₴ 🔗Посилання на банку https://send.monobank.ua/jar/q5tQi6pYG 💳Номер картки банки 4874 1000 2229 5144

Свят вечір

Исследователи из компании CodeRabbit проанализировали 470 pull-запросов (350 - созданные AI, 150 - написанные вручную) в открытых проектах на GitHub и пришли к выводу, что в изменениях, сгенерированных AI-ассистентами, присутствует в 1.7 раза больше значительных дефектов и в 1.4 раза больше критических проблем, чем во вручную написанном коде. В среднем в сгенерированных через AI pull-запросах присутствовало 10.83 проблем, в то время как в созданных вручную изменениях данный показатель составил 6.45.

پیام صوتی00:07

Підзвонить батькам. Позвоните своими родным. Завтра может быть поздно.

Как можно профилировать память в 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`);

посмотрите материал он стоит внимания

Основатель 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 невозможен доступ к локальным переменным. и т.д.

⎡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 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

⎡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 #код _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

⎡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 #відео #таймкоди

После операции по удалению 5 зубов (у меня челюсть стала гнить там вобщем им виднее) у меря спрашивают, как там мои зубы Отвечаю - в душе не ебу что с єтими зубами. Я их сутьбу после удаленя не отслеживал.

photo content

Папищики не дают умереть от боли
Папищики не дают умереть от боли

⎡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 #відео #таймкоди