fa
Feedback
Asynchronous Programming

Asynchronous Programming

رفتن به کانال در Telegram
1 988
مشترکین
اطلاعاتی وجود ندارد24 ساعت
+17 روز
+430 روز
آرشیو پست ها
🎬 Режисерская версия стрима с Мурычем и Брагилевским про парадигмы программирования нарезана и собрана в один плейлист, кто не смотрел, вот тут все https://www.youtube.com/playlist?list=PLHhi8ymDMrQYveSqg-fFSbT3e3j1pYgbV

✔️ Курс Patterns 2025 уже начался, пример того, что мы разбираем на созвонах у вас есть, вчера опубликовал лекцию про Referen
✔️ Курс Patterns 2025 уже начался, пример того, что мы разбираем на созвонах у вас есть, вчера опубликовал лекцию про Referential Transparency (ссылочную прозрачность) адаптированную для ООП и других парадигм, не нужно думать, что это только для ФП полезно, мы многое берем из ФП и адаптируем. Но все еще есть несколько мест, если вы не успели, можно догнать, неделя это не критичное отставание, заходим, цены как положено на черную пятницу https://nodeua.com/Patterns-2025

Тут несколько примеров из завтрашних слайдов Containers
Box.of(42); Either.right(42); Promise.resolve(42);
let maybe: number | null = 42; type Pair = { a?: number; b?: number };
type Option<T> = { kind: 'some'; value: T } | { kind: 'none' };
std::optional<int>; std::tuple<int>; std::reference_wrapper<int>;
Nullable<int> maybe = 42; new StrongBox<int>(value); Tuple.Create(myIntValue);
Guards
func process(_ x: Int?) -> Int? {
  guard let v = x else { return nil }
  guard v >= 0 else { return nil }
  return v * 2
}
in JavaScript
const process = (x) => {
  if (x === null) return null;
  if (x < 0) return null;
  return x * 2;
};
Pattern matching
fn process(x: Option<i32>) -> Option<i32> {
  match x {
    None => None,
    Some(v) if v < 0 => None,
    Some(v) => Some(v * 2),
  }
}
in JavaScript
const match = (variant, handlers) => handlers[variant.tag](variant);
match({ tag: 'point', x: 10, y: 20 }, {
  point: ({ x, y }) => `(${x}, ${y})`,
  circle: ({ r }) => `radius: ${r}`
});
Do-notation
Do({ id: 15 })
  .chain(({ id }) => ({ id, name: 'marcus', age: 42 }))
  .chain(({ name, age }) => name === 'marcus' ? (log) => log(age) : () => {})
  .run()(console.log);
Pipeline operator
(({ id: 15 })
  |> read
  |> (({ name, age }) => name === 'marcus' ? (log) => log(age) : () => {})
)(console.log);
Declarative style
execute({
  read: { id: 15 },
  success: {
    match: { name: 'marcus' },
    success: { effect: { log: 'age' } },
    fail: { effect: 'noop' },
  },
})(reader)(console.log);
🧐 заходим, не стесняемся 👉 https://nodeua.com/Patterns-2025-paradigms

Чем опасно писать асинхронный код на событиях? Обсуждаем с Мурычем паттерн Observer и его реализации для JavaScript: EventEmitter для бекенда и EventTarget для фронтенда https://www.youtube.com/watch?v=AWJDal1ueuQ

Началась регистрация на бесплатный курс Patterns Mini 👉 https://nodeua.com/Patterns-2025-free
Началась регистрация на бесплатный курс Patterns Mini 👉 https://nodeua.com/Patterns-2025-free

💡 Ссылки на наши ресурсы Открытые группы и каналы - Україномовний канал спільноти https://t.me/metarhia - Україномовна група https://t.me/nodeua - Канал с общими вопросами https://t.me/HowProgrammingWorks - Группа с общими вопросами https://t.me/MetarhiaHPW - Канал для CTO и архитекторов https://t.me/MetarhiaChiefs - Группа для техстека Metarhia: https://t.me/metaserverless - Канал для начинающих https://t.me/metaedu - Группа для начинающих https://t.me/+znsE73dPWLQ5Nzky - Группа сообщества по асинхронному программированию https://t.me/asyncify - Онбординг для желающих пойти на курс Patterns: https://t.me/patterns_javascript Закрытые ресурсы - Группа сообщества - доступна всем курсам - https://www.patreon.com/cw/tshemsedinov/membership - Еженедельный созвон по четвергам - доступен всем курсам - https://www.patreon.com/cw/tshemsedinov/membership - Курс по ноде и асинхронному программированию - https://www.patreon.com/cw/tshemsedinov/membership - Курс по паттернам - https://nodeua.com/Patterns-2025

🤔 Не до конца понимаете, что такое паттерны и зачем они? Я записал бесплатный курс Patterns Mini За 3 часа (7 модулей) вы получите - Обзор всех GoF паттернов: Creational, Structural, Behavioral - Введение в Enterprise, Data Access и архитектурные паттерны - Вы увидите, как паттерны работают на продакшене в JS/TS проектах - Будут объяснены принципы GRASP и SOLID и их влияние на код – Поймете, как мыслят опытные инженеры – Я покажу примеры кода некоторых паттернов с разбором 🚀 В результате вы увидите, как паттерны помогают на практике писать простой, поддерживаемый и расширяемый код. Это тест-драйв обширного курса, после которого вы точно поймете, почему курс Patterns стал переломным для сотен разработчиков, почему разработчики становятся в разы эффективнее, могут получать больше пользы от LLM инструментов как Cursor, Copilot, Claude, Codex и лучше взаимодействовать в коллективе с коллегами и заказчиками. Бесплатно. Онлайн. 7 модулей по ~30 минут. На днях начинается регистрация, чтобы не пропустить, заходите сейчас: https://t.me/+I-suNalcHC03NGUy

🧩 Обновлен пример проекта PWA https://github.com/HowProgrammingWorks/PWA ⭐️ Кроме функциональности, которая была раньше - Чат на websocket (node.js + web application) - Service worker и PWA с прокси и кешом статики - Работа в online и в offline mode ⭐️ Реализованы еще: - Реакции на сообщения со счетчиками - Синхронизация с использованием CRDT - Рефакторинг: лучше структура кода - Добавлены задачи для тренировки паттернов - Задачи по разделению UI и Domain кода 🖼 Если Вы хотите увидеть решение задач, это будет в сообществе: https://www.patreon.com/tshemsedinov/membership

Кто там кричит «AI заменит программистов»? Тут в github тысячи issues есть в самых популярных репозиториях. Когда вы их собираетесь закрывать с помощью AI? Node.js 1.7k, Next.js 2.3k, TypeScript 5k, React 811, Redis 2.2k, Angular 1.2k, Go 5k, Deno 2.3k, Rust 5k, Kubernetes 1.9k Я вот делаю 1 раза в неделю лайвкод с парным программированием на AI: Cursor, Copilot, Claude code и т.д. https://www.patreon.com/cw/tshemsedinov

Конкурс для получения 2 мест на один из моих курсов 1 место может выиграть любой человек, а второе только один из выпускников https://github.com/tshemsedinov/code-with-ai-contest

💥 Шок контент: Метархия на фронтенде! Новый подход к архитектуре, распределенная синхронизация данных и блокчейн в браузере Вопросы задавайте в форме, ссылка под видео Сегодня стрим https://youtube.com/live/cSWOOVh7xkU

Кто кодит с AI? Ану попробуйте сделать простую задачу, и потом я ее напишу вместе с AI, но только с развернутым ТЗ и сделаю стрим с лавкодом: - Implement 48 bit timestamp generator like in UUIDv7 standard - Encode generated id in Base64URL format - Add unittests, typings, docs Влоб задача решается очень плохо, посмотрите тут как ее сдел Cursor с GPT-5: https://github.com/HowProgrammingWorks/UUID Жду ваши варианты в гитхабе в пул-реквестах.