1. Взять один случайный паттерн
2. Дать ему неузнаваемое название
3. Сделать презентацию, пообещав всем, что это и есть решение всех проблем
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Simple optimization examples:
Sources: https://github.com/HowProgrammingWorks/Monomorphism
Sources: https://github.com/HowProgrammingWorks/Monomorphism
Forwarded from Metarhia/NodeUA - Node.js Ukraine Community
В чем преимущество этого фреймворка?
- нет ничего лишнего
- все очень просто
- мы решили все проблемы
- добавлены удобные фишки
- исправлены почти все баги
- заехала новая архитектура папочек
- поддержка TS через удаление типов
- чтобы писать ни нужно знать ничего, ведь это будущее...
- нет ничего лишнего
- все очень просто
- мы решили все проблемы
- добавлены удобные фишки
- исправлены почти все баги
- заехала новая архитектура папочек
- поддержка TS через удаление типов
- чтобы писать ни нужно знать ничего, ведь это будущее...
На что вы всегда найдете время?
Anonymous Poll
31%
Написать хороший код
69%
Бесконечно искать ошибку в плохом
Скоро в метархии будет новый Emitter оптимизированый для V8, на него переедут протокод metacom, сервер приложений impress, и т.д. но вообще его полезно даже просто почитать: https://github.com/metarhia/metautil/blob/ee/lib/events.js
const ee = new Emitter();
ee.on('eventA', (data) => {
console.log({ data });
// Prints: { data: 'value' }
});
ee.emit('eventA', 'value');
const ee = new Emitter();
setTimeout(() => {
ee.emit('eventA', 'value');
}, 100);
const result = await ee.toPromise('eventA');
const ee = new Emitter();
passReferenceSomewhere(ee);
const iterable = ee.toAsyncIterable('eventB');
for await (const eventData of iterable) {
console.log({ eventData });
}
GitHub
metautil/lib/events.js at ee · metarhia/metautil
Metarhia utilities 🧰. Contribute to metarhia/metautil development by creating an account on GitHub.
🧩 Практический мастер-класс Паттерны в JavaScript и TypeScript
⏰ Начало: в эту субботу 2025-03-22 в 15:00 (Киевское время)
👳 Тимур Шемсединов
🥷 Илья Климов
🧔♂️ Дмитрий Нечай
Изучение Патернов помогает:
✅ Писать более понятный код, который просто читать
✅ Эффективно оптимизировать JavaScript и TypeScript
✅ Быстрее и качественнее решать задачи
✅ Проектировать системы, которые просто изменять
🤖 Регистрация через Телеграмм-бот: https://patterns-js.com/0jiuic?traffic_mark=krzdaj
⏰ Начало: в эту субботу 2025-03-22 в 15:00 (Киевское время)
👳 Тимур Шемсединов
🥷 Илья Климов
🧔♂️ Дмитрий Нечай
Изучение Патернов помогает:
✅ Писать более понятный код, который просто читать
✅ Эффективно оптимизировать JavaScript и TypeScript
✅ Быстрее и качественнее решать задачи
✅ Проектировать системы, которые просто изменять
🤖 Регистрация через Телеграмм-бот: https://patterns-js.com/0jiuic?traffic_mark=krzdaj
HowProgrammingWorks - JavaScript and Node.js Programming
🧩 Практический мастер-класс Паттерны в JavaScript и TypeScript ⏰ Начало: в эту субботу 2025-03-22 в 15:00 (Киевское время) 👳 Тимур Шемсединов 🥷 Илья Климов 🧔♂️ Дмитрий Нечай Изучение Патернов помогает: ✅ Писать более понятный код, который просто читать…
У кого не выходит выбрать язык на лендинге курса, можете сделать это в консоли, при помощи паттернов, самое базовое решение тут, но вы не останавливайтесь:
class Maybe {
constructor(value) {
this.value = value;
}
static of(value) {
return new Maybe(value);
}
map(fn) {
return this.value ? Maybe.of(fn(this.value)) : this;
}
getValue(defaultValue) {
return this.value || defaultValue;
}
}
class SelectCommand {
constructor(selector, value) {
this.selector = selector;
this.value = value;
}
execute() {
return Maybe.of(document.querySelector(this.selector))
.map(el => (el.value = this.value, el))
.map(el => el.dispatchEvent(new Event('change', { bubbles: true })))
.getValue(null);
}
}
const lang = 'RU'; // or UKR
new SelectCommand('.form-select-arrow', lang).execute();
Please open Telegram to view this post
VIEW IN TELEGRAM