HowProgrammingWorks - JavaScript and Node.js Programming
6.32K subscribers
310 photos
7 videos
1 file
755 links
Программная инжененрия для JavaScript, TypeScrip, Node.js 👉 Group: https://t.me/MetarhiaHPW 👉 Node.js channel: https://t.me/metarhia 👉 Node.js group: https://t.me/nodeua
Download Telegram
😜 Есть такой эффект, и я иногда чувствую вину за его распространение: человек только осваивает язык и платформу, но попадает на сложную лекцию о том, как все устроено внутри, о недокументированных функциях, оптимизациях, высоконагруженных и распределенных системах, многопоточности, сборке мусора, метапрограммировании, ивентлупе и т.д. и вот ему дают задачу (или он сам себе ее ставит) например: «сделать апи для получения с сервера списка городов» и тут он вспоминает про асинхронные генераторы, бекпрешер в стримах, про инверсию управления и начинается... нужно все сделать по науке, чтоб миллион пользователей пришло и что будет, если каждый 10 раз в секунду будет выкачивать список, в котором сотни тысяч записей, а может быть давайте не в JSON слать, а придумаем для этого бинарный протокол и сэкономим на кавычках и запятых, будем строки разделать байтом FF, и обязательно предусмотреть отмену получения списка и докачку, если соединение разорвалось с того же места и чтоб кеширование работало, но была возможность принудительно кеш обновлять... А если справочник меняется, то нужно вебсокетами присылать изменения, нужно придумать в каком формате, и таймаут держать в памяти, что если докачка не началась в течении 5 минут, то уже не начнется, а если соединение восстановлено, но мы подключились к другому процессу или потоку, а если сервер перегрузился нужно же... и это бесконечно, так складывание двух чисел можно защищать от влияния космических лучей... я уже не говорю про микротесты и нагрузочные тесты, которые непременно нужно нужно гонять пару часов. Ну... все это... конечно способствует освоению платформы, это интересно и через пару лет может дать полезные результаты и я не хочу отговаривать от экспериментов, но признайтесь себе, сколько будет пользователей, данных и интенсивности через год, два, три, прикиньте грубо, ну на 2 можно умножить и дать себе отчёт в действительных целях своего R&D
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3655😁3😢1
🏋️ Что кодворс что литкод позволяют хорошо потренироваться в тех задачах, которых никогда не будет на робочих проектах.
🤣63👍23🫡10👎4🔥42😢2😁1
Какой код для вас приемлем?
Anonymous Poll
18%
global.counter++;
22%
global.DEFAULT_TIMEOUT = 5000;
9%
const { value } = require('name'); value++;
37%
const { inc } = require('name'); inc();
19%
const Single = require('name'); new Single.inc();
4%
const { f } = require('name'); f().value++;
6%
const { f, g } = require('name'); g(f()++);
18%
global.counter = new Counter(); counter.inc();
15%
global.ee.emit('inc');
💩29👍3🔥21🤣1
Монитор для Java разработки
😁78🤣27👍111
🖼️ В Node.js 21 уже есть нативный wesocket клиент. А на курсе по Node.js мы пишем Websocket сервер, прототип тут: https://github.com/HowProgrammingWorks/Websocket/blob/main/NodeJS/server.js
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍5🤯1
👩‍💻 Напоминаю, что тут есть 38 задач по рефакторинку кода JavaScript, очень важно не переписывать с нуля, а понять что работает и пошагово улучшать код

https://github.com/HowProgrammingWorks/Exams
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2742🫡2
Forwarded from Metaeducation
🖼 Самый важный навык в программировании — проектирование связей между абстракциями, но для этого нужно за кодом видеть эти самые абстракции и понимать, что такое связывание и какие у языка есть инструменты для связывания. Это гораздо важнее даже парадигм, которые все строятся уже на этом фундаменте, применяя разные синтаксические и вычислительные приемы. Вместо этого все учат алгоритмы, языки, фреймворки, паттерны, которые важны, конечно, но по сути алгоритмы берутся готовые и вам вряд-ли выпадет счастье изобрести принципиально новый и неизвестный науке алгоритм. А все функции, классы и методы библиотек — не больше, чем справочная информация, которую можно и не помнить. Так что, я собираюсь сделать большую пачку заданий на тренировку именно этого навыка — проектирование связывания (зацепления) между абстракциями. Все будет в нашей организации на гитхабе, которая получила в хеадере основные ссылки на материалы https://github.com/HowProgrammingWorks
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6213🔥86
Forwarded from Metaeducation
⚡️ Оптимизация до выявления проблем — это признак системного кода, а если вы делаете это в прикладном, то вы или еще учитесь или экспериментируете для себя или вас нужно гнать с проекта. Когда стоит оптимизировать прикладной код: когда вы уперлись в проблему, а до этого просто пишите обычный максимально простой, читаемый и понятный код.
🫡46👍18🤣632😢1
🎉 Опа, чуть не забыл, что сегодня черная пятница, в общем так, курс по ноде продлен на следующий год, количество материалов увеличивается вдвое, оглавление опубликую на днях, а через неделю цена тоже увеличится c $200 до $300 https://github.com/HowProgrammingWorks/Index/blob/master/Courses/NodeJS-2022-2023.md
⚡️ А сегодня кто возьмет за $100 на патреоне план Professional на год, то получает видеозаписи за 2023 https://www.patreon.com/tshemsedinov
Только видеозаписи, это не курс, без ревью, без проверки и обсуждения заданий, но в записях есть чужие ревью.
🔥122👍2🤯1💩1
🖼 Ночь у многих была бессонная, но эфир будет по расписанию, через час
👉 https://www.youtube.com/live/MrenxehBK1g
Вопросы будут приниматься в чате под видео. Готовьте вопросы. Жду на стриме
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63😢3🤣2🫡1
Все ссылки, которые я обещал на стриме (если что забыл, скажите, добавлю):
⭐️ Гитхаб: https://github.com/tshemsedinov
⚡️ Патреон: https://patreon.com/tshemsedinov
Вопросы на интервью по ноде: https://github.com/tshemsedinov/NodeJS-Interview-Questions
👉 Новый курс по ноде: https://github.com/HowProgrammingWorks/Index/blob/master/Courses/NodeJS-2022-2023.md
🛠 Старый курс по Node.js в открытом виде: https://github.com/HowProgrammingWorks/Index/blob/master/Courses/NodeJS.md
🏛 Оглавление всех лекций: https://github.com/HowProgrammingWorks/Index
👶 Для начинающих: https://www.youtube.com/watch?v=2DM5I2CI4gY&list=PLpmhTzMVLuROAIey9vW3pyRSpHfknLssu
☘️ Канал Олега Хомяка: https://www.youtube.com/@khomiakoleg4034
🗨 Телеграм: https://t.me/metarhia и https://t.me/nodeua
🚀 Конференция Метархии: https://www.youtube.com/@Metarhia
👍124🔥1
Кто есть из Казахстана? Завтра даю интервью Арману Сулейманову, nFactorial Podcast с возможностью задавать вопросы и принимать участие в дискуссии, конференция будет проходить в Алматы в оффлайне, я буду по видеосвязи.

Подробности: https://sxodim.com/almaty/event/no-code-summit

Промокод на 50% скидки «FLOW50» как оффлайн так и онлайн
👍165🔥3