Премиум каналы

HowProgrammingWorks - JavaScript and Node.js Programming

HowProgrammingWorks - JavaScript and Node.js Programming - это канал, посвященный программированию на JavaScript и Node.js. Мы предлагаем уникальный подход к изучению и практике программирования, который поможет вам углубить свои знания и навыки в этих языках. В нашем канале вы найдете обзоры, уроки, советы и практические примеры программирования на JavaScript и Node.js. Мы также активно поддерживаем сообщество программистов и инженеров, которые интересуются разработкой на JavaScript и Node.js в рамках сообщества Метархия. Присоединяйтесь к нашему каналу, чтобы быть в курсе последних новостей, получать полезные материалы и общаться с единомышленниками. Будьте частью нашего сообщества программистов и развивайтесь вместе с HowProgrammingWorks - JavaScript and Node.js Programming.

Последние публикации с канала

Как нужно писать вакансию (или CV):
- 10 лет опыта высоконагруженной архитектуры
- 7 лет опыта параллельного программирования
- 5 лет опыта паттернов банды четырех
- 3 года как покрываю код тестами
- 2 года как программирую без switch/case
- 1 год опыта с функциями до 10 строк
- Уже неделя понятного именования переменных

Хобби:
- В свободное время люблю обрабатывать ошибки

ВУЗы 50 лет клепают людей, умеющих в сортировки, красночерные деревья, списки и графы, но не способных дать имя переменной.

Компании 15 лет как спрашивают на собесах про идемпотентность и решардинг, но не обращают внимание на синтаксический мусор в коде и семантический кретинизм у кандидатов.

26.04.2024 / 08:04

⚠️ Запись на курсы Async 2024 и NodeJS 2024 закрывается 30 апреля. Я хочу реорганизовать формат обучения, и таких длинных годичных курсов я наверно делать не буду больше, максимум 3 месяца для материала. А в формате года - будет интернатура, работа на проекте. Все, кто уже на учатся по плану до конца года. Кто начал позже - не беда, материалы все в записи есть, а практику делать и задавать вопросы - есть созвоны (3 раза в неделю это по двум курсам если должно хватить всем).

👉 Async 2024: https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Async-2024.md

👉 NodeJS 2024: https://github.com/HowProgrammingWorks/Index/blob/master/Courses/NodeJS-2024.md

25.04.2024 / 05:04

Вы знаете зазницу между events.once и EventEmitter.prototype.once, то, что они одинаково называются, сбивает многих с толку, тут задача, направленная на выявление разницы: https://github.com/HowProgrammingWorks/Events/blob/main/JavaScript/Tasks/5-once.js

24.04.2024 / 11:04

Forwarded From Metarhia/NodeUA - Node.js Ukraine Community

Что такое семантика кода?

В новом API промисифицированном setInterval возвращает асинхронный итератор, а цикл for await на каждой итерации дает один и тот же объект items. Мы конечно можем использовать shift для того, чтобы модифицировать массив на каждой итерации, но это еще больше запутывает семантику. Идея итерирования сломана.

Другие подобные примеры в курсе Node.js 2024: https://github.com/HowProgrammingWorks/Index/blob/master/Courses/NodeJS-2024.md

23.04.2024 / 18:04

Что из этого вы использовали для улучшения обработки ошибок?

Anonymous Poll

3% - AggregateError

8% - Error.prototype.cause

50% - Свои классы extends Error

24% - Хватает Error, своих не делаю

58% - Предпочитаю throw

5% - Предпочитаю без throw

29% - Пишу finally для try и Promise

9% - Мне finally не нужен

22.04.2024 / 11:04
20.04.2024 / 08:04

🔁 Автоматическое преобразование исключений в события — посмотрите код в примере. Да, это работае в #NodeJS еще с версии v12.16.0 и такого очень много в асинхронном программировании и в ноде. При чем все события 'error' придут после завершения цикла for..of, а вот события 'item' будут приходить по ходу цикла. Почему так и как сделать, чтобы они приходили в пордке цикла? Это задания из курса 👉 Async 2024: https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Async-2024.md

19.04.2024 / 08:04

🚀 Architecture 2024

This is a small part of a new course I'm working on 🖼 Metarhia Architectural Principles:
* Isolation with IoC (Inversion of Control) and DI (Dependency Injection)
* Metaprogramming (dynamic metamodel interpretation)
* Platform-agnostic domain codebase
* Layered architecture (no system code in applications)
* Multiparadigm programming and semantic code
* Wide use of DSL (Domain-Specific Languages)
* Contract programming (defined with schemas)
* Modularity with auto-binding (no dependency locators in domain code)

👉 News will be here: https://t.me/MetarhiaChiefs

12.04.2024 / 10:04

🔵 Metarhia / Sphere — концепция и техничесткое задание на цифровую платформу в открытом коде https://youtu.be/iAJ7dbdNrXk

⭐️ Кто смотрел мои лекции или проходил курс по ноде, джаваскрипту или асинхронному программированию, и хотел бы набрать практического опыта разработки, проекты в открытом коде - это лучший вариант, можно контрибьютить в Ноду, Метархию, но это системный код. А практику и прикладного и системного кода можно набрать в нашем новом проекте Sphere. Что это, я описал на английском вот тут оригинал концепции, и тут же я пишу ТЗ каждый день понемногу: https://github.com/metarhia/Sphere

👉 Заходите в канал https://t.me/MetarhiaChiefs и группу https://t.me/metaserverless где мы будем организовывать разработку этой платформы

YouTube
Metarhia / Sphere — концепция и техничесткое задание на цифровую платформу в открытом коде

⭐️ Кто смотрел мои лекции или проходил курс по ноде, джаваскрипту или асинхронному программированию, и хотел бы набрать практического опыта разработки, проек...

10.04.2024 / 08:04

Почему читаемость и простота кода стратегически важна для программных систем?

💡 Казалось бы, оптимизация не критична, работает же, и ладно. По потреблению ресурсов это так, ну ест в 10 раз больше памяти и процессора, это часто не критично. Сложно читаемый код связывает ресурсы разработчиков и проект очень быстро увязает в долгих изменениях. Переписать сложно, а добавлять новые возможности выходит все медленнее. В какой-то момент все это схлопывается и код отправляется на свалку.

Семантическая оптимизация, направленная на понятность, упрощение, читаемость, скорость изменений, гибкость кода, оказываются на порядок важнее потребления ресурсов.

👉 Но какие техники программирования к этому ведут? Подробнее будет скоро видео на моем ютюбе: https://youtube.com/@TimurShemsedinov

09.04.2024 / 05:04

🔁 Второй блок материалов курса Async 2024 будет включать абстракции:

⭐️ AsyncQueue - асинхронная очередь, которая может заменить для микроуровня механизмы внешних MQ систем, значительно повышая общую производительность и упрощая архитектуру.
⭐️ AsyncPool - асинхронный пул (обстракция для переиспользования объектов, сетевых соединений и конекшенов к базам данных, других разделаемых или ограниченных ресурсов)
⭐️ AsyncCollector - асинхронная коллекция для сбора данных из разных мест и общим местом сборки с поддержкой разных контрактов: callback, thenable, event, async/await
⭐️ Async Generator, Async Iterator - часть стандарта JavaScript для итерирования заранее неизвестных коллекций, потоков данных, курсоров баз данных, криптографии, других потоковых преобразований
⭐️ Locks API, Semaphore, Mutex - абстракции блокировок для избежания конфликтов доступа к данным и разделяемым ресурсам
⭐️ Chain of responsibility - паттерн цепочка ответственности как замена антипаттерна middleware - позволяет создавать надежный роутинг запросов на эндпоинты и многое другое

👉 Полное огравление курса тут: https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Async-2024.md

05.04.2024 / 07:04

🔁 Добавлены еще несколько тем в задачник по асинхронному программированию курса Async 2024. По теоретическому материалу готово 50% лекций, новые материалы мы будем проходить уже летом. А до этого будет много практики. 7 тем из
👉 1. Callbacks
👉 2. Thenable
👉 3. Promises
👉 4. Async/await
👉 5. Events
👉
6. Signals
👉 7. Timers

🚀 На очереди задачи по темам: обработка ошибок, стримы, антипаттерны и рефакторинг асинхронщины, тестирование асинхронного кода.

👉 Полное огравление курса тут: https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Async-2024.md

03.04.2024 / 15:04

https://youtu.be/LB8KwiiUGy0

YouTube
Node.js: The Documentary | An origin story

Back in 2008, most people thought of JavaScript as just a client-side language. But when Google's V8 appeared, young developer Ryan Dahl made the connection between non-blocking servers, V8, and JavaScript. It was by combining these key elements that he was…

24.03.2024 / 16:03

https://www.youtube.com/watch?v=Ug-tytIlhU0

YouTube
«Дія» открыла код! Что не так? | Тимур Шемсединов, Максим Безуглый, Фельдман | Альфа

На ремонт авто для підрозділу ДПСУ, що виконує бойові завдання на Донеччині
🔗Посилання на банку: https://send.monobank.ua/jar/5orYKhz3go
💳Номер картки банки: 5375 4112 1635 9054
🎯Ціль: 60 000.00 ₴

1:02 “Дія” стала open source. С какой целью? Что вызвало…

22.03.2024 / 17:03

Join to start Diia core review: https://t.me/+f6d5MCe-euthOTFi


    static isHttpCode(code: number | undefined): boolean {
        if (typeof code !== 'number') {
            return false
        }

        if (code >= 100 && code < 600) {
            return true
        }

        return false
    }

16.03.2024 / 11:03
11.03.2024 / 10:03

🐢🚀 Когда-то я предложил идеальную систему типов для JavaScript: NaN (not a number), NaF (not a function), NaO (not an object), NaS (not a string), NaA (not an array)... А они вместо этого убрали поддержку моего любимого сообщения об ошибке «Function is not a function». Вот такой код class Bug extends null {}; new Bug(); выдавал «Function is not a function» в ноде до 7.x, но это, конечно, проблема не ноды, а V8, современная V8 дает: «Super constructor null of Bug is not a constructor»

05.03.2024 / 09:03

🔁 Обновлена программа курса по асинхронному программированию https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Async-2024.md

GitHub
Index/Courses/Async-2024.md at master · HowProgrammingWorks/Index

Metarhia educational program index 📖. Contribute to HowProgrammingWorks/Index development by creating an account on GitHub.

03.03.2024 / 15:03

🧑‍💻 Зачем и почему рождается инженер-программист на Земле?

Anonymous Poll

8% - Чтобы пообщаться

22% - Удовольствие получать

14% - Вкалывать на дядю

26% - Чтобы страдать

28% - Чтобы что-то узнать и понять

9% - Чтобы убивать и быть убитым

11% - Для размножения вида

21% - Поиграть немного между небытием

12% - Чтобы поклоняться Всевышнему

27% - Нипочему

01.03.2024 / 10:03

🔁 Примеры кода для курса по асинхронному программированию уже обновлены, слайды нарезаны. Сам радуюсь, как удается упростить и сделать их понятными и короткими. Записываю материал https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Async-2024.md

19.02.2024 / 10:02
Отзывы: - 0
Поделитесь вашим мнением! Оставьте отзыв:

Похожие

Избранное