As For JS
3.42K subscribers
140 photos
14 videos
4 files
435 links
As For JavaScript...
Обсуждения — @AsForJsTalks
Download Telegram
В 2-00 по Киеву
Дополнение к расследованию бага в OSR (On-Stack Replacement) оптимизации V8

Это дополнение к трансляции Расследование бага в OSR (On-Stack Replacement) оптимизации V8.
Maksym Shenderuk, вдохновившись материалом трансляции, нашел еще более простой способ сразу понять что происходило, чем это показывал я.


https://www.youtube.com/watch?v=_EtTRVJAahY
🔥9👍3😁1
Сегодня, суббота в 19-00 по Киеву:
UPD: Нет света, трансляция перенесена на
Сегодня, суббота в 21-00 по Киеву:

Что Вы не знаете о Assignment Patterns

Сломаем стереотипы о том, что стоит за синтаксисом вида:
[ a, b, c ] = [ 1, 2, 3]
или
{a, b, c} = {a: 1, b: 2, c: 3};

Даже если видели все мои прошлые стримы про Assignment Patterns - я Вам точно покажу то, что Вы о них не знаете

https://www.youtube.com/watch?v=3LTiRS55WoQ
16🔥10👍2👎2👀2
Курс Patterns не схожий на інші мої курси, він має окремі набори з датою початку і кінця, з програмою по тижнях. Це все тому, що він включає практику, рев'ю коду, роботу над проектом, групові дзвінки. Отже, з вами працює ціла команда менторів, а не тільки один я. Менторів у нас обмежена кількість та час, який вони можуть виділити теж, це всі фахівці, які працюють у компаніях чи мають свої живі проекти. Кожен на курсі отримує персональну увагу, тому що якість менторства вимагає вникнути в його код і його знання, розбір коду та рекомендації щодо його поліпшення, а груповий проект візьме ще більше часу менторів на консультації, відповіді на запитання та узгодження. Що ми маємо зараз: план Mentoring – 200 місць, Professional – 50 місць, а Exclusive – всього 3 місця, я теж не гумовий і особисто вести багато людей не можу, максимум можу 4 взяти. Курс триває 3 місяці, але є ще онбординг та канікули, так що наступний набір буде швидше за все лише навесні. Хто встигне, забронювати місце за ранньою ціною, потрапляє в основний потік, а далі ми спробуємо розширити наші потужності, але ми ніколи не робимо це за рахунок якості, тому найм нових хороших менторів позначиться на підвищенні ціни.

Подробиці на сайті: https://nodeua.com/Patterns-2025-ua
👍8👎7🔥41👀1
Казантипа нет и никогда не было.
Вам все приснилось и сниться до сих пор.

Когда-то в прошлой жизни, мне повезло помогать с организацией этого мероприятия. И это, наверное, была самая лучшая работа на свете.

https://www.youtube.com/watch?v=-MZcKUkRgNo
❤‍🔥16🤯21😍1
А вам не казалось странным,
что при трансляции, автор такой же тупой как и все,
а в записи - все гении?
😁31🤯3💯3👍1👨‍💻1
Туча уже пол часа смотрит старкрафт
😍3311👀4👨‍💻2👍1
В Linux/Fedora введены правила использования AI при разработке

Использование AI не запрещается, НО человек который их применяет:

1) Несет персональную ответственность за последствия их применения

2) Код, созданный с помощью AI, вне зависимости от его обьема, должен полностью отвечать правилам, которым следуют разработчики Fedora

3) Каждый коммит, код которого генерировался с помощью AI, обязательно должен маркироваться как таковой, с указанием какой именно AI был использован.

4) Запрещено использовать AI как самостоятельный инструмент для автоматизации любого процесса разработки.
15👍9🤣7🌚3👌2
Сегодня в 21-00 по Киеву
Live Coding: Оптимизируем сайт ECMA Script

Официальная страница https://tc39.es/ecma262/, на которой расположена спецификация языка JavaScript, умудряется поставить раком, даже современные машины.

Разберемся с тем почему это происходит и попробуем исправить это недоразумение.

https://www.youtube.com/watch?v=GhxYRkXZAB4
🔥18👍1
распаковочка.
спасибо тебе, ты знаешь кто.

https://www.youtube.com/watch?v=Q1ok-mROmhM

хочешь чтобы ништяки и от тебя тоже были распакованы?

реквизиты:
Поддержать маленького бородатого JavaScript-ра
AsForJs новости в Telegram: https://t.iss.one/AsForJava...
AsForJs Talks в Telegram: https://t.iss.one/AsForJsTalks

Поддержать маленького бородатого JavaScript-ра
Карта Приват (Bobrov Maksym): 5168745021397333

USDT Tron (TRC20): TKoZu59WHiX6L6qvwYTYTsZJerDrnAHBTx
USDT etherium (erc20): 0x75fb8a62dfcf453b2e73f1ef1c407d46f918fffa
TON: UQAGXvuhxg3qU0eFgOxtdDlKXqdp1zPq6yCRSRbRYQClxOzH
bitcoin:bc1q74aru82v4d3alay7p53jdwkmxe4a5gz7fmvfm2?message=AsForJS&time=1686349743

PayPal: [email protected]
/ demimurych
Boosty: https://boosty.to/asforjs
🙏96💔2🕊1
Если Вам больно то Вы точно живы, кажется.

Оно только непонятно зачем она такая жизнь нужна.


Мы еще поборемся и обязательно прорвемся.
И Вы не здавайтесь.
🙏36💔7🕊2💯1
Кому нечего делать. Задачка на знание JS.

При выполнении следующего кода
var theArr = [6,7,8];
[1,2,3].concat(3,4,5, theArr);

Мы получим ответ: // [1, 2, 3, 3, 4, 5, 6, 7, 8];

Что нужно сделать с theArr, чтобы вместо подстановки в результат [6,7,8], то есть добавления трех элементов, мы добавили только ссылку на сам theArr.

То есть:
var theArr = [6,7,8];
// Что-то сделать
[1,2,3].concat(3,4,5, theArr);

Должен дать ответ

[1, 2, 3, 3, 4, 5, Array(3)]


Отгадка:
После определения theArr нужно добавить `theArr[Symbol.isConcatSpreadable] = false`;
🔥15😁1
Какие бы гениальные абстракции ты не придумал, всегда найдется тот, кто придет и завернет их в свои.
👍19💯6🔥2👨‍💻2
Как Вы думаете,
почему люди,
которые слабо разбираются в JavaScript,
для создания массива,
любят писать конструкции вида:

Array.from( { length: 3 }, (_, i) => '.' );


Первая подсказка:
Некоторые методы...
👀9
Чтобы Вы в этом коде, назвали бы отвратительным и как бы Вы его (код или часть его) переписали

const dashboardConfig = [{
id: 'filters',
gridAttributes: {
width: 6,
height: 1,
yPos: 0,
xPos: 3,
},
}, {
id: 'info',
gridAttributes: {
width: 3,
height: 2,
yPos: 1,
xPos: 1,
},
}, {
id: 'more',
gridAttributes: {
width: 4,
height: 1,
yPos: 2,
xPos: 7,
},
}, ];

const columns = 12
const rows = Math.max(...dashboardConfig.map( ({gridAttributes}) => gridAttributes.yPos + gridAttributes.height), );

console.log(rows)

const grid = Array.from({
length: rows
}, () => Array.from({
length: columns
}).fill('.'))

dashboardConfig.forEach( (entry) => {
const {id, gridAttributes} = entry
const {xPos, yPos, width, height} = gridAttributes

for (let i = 0; i < width; i++) {
for (let j = 0; j < height; j++) {
grid[yPos + j][xPos + i] = id
}
}
}
)

const result = grid.map( (row) => `"${row.join(' ')}"`).join('\n')

console.log( result );
2👨‍💻2