📌 На техніку для бпла
На донецький напрямок необхідна техніка для взводу бпла 5отбр
Будемо вдячні кожній гривні
Необхідно придбати:
- ecoflow
- starlink
- генератор
https://send.monobank.ua/jar/4HjU84soij?fbclid=PAZXh0bgNhZW0CMTEAAaYBoAcRQ7EhqBCUWxVsobLrLPMKQ19_2XbLF_MMfLZmoqXqUlVCyDu5_6M_aem_3g0JPacV3AK7N9SkypYOqQ
На донецький напрямок необхідна техніка для взводу бпла 5отбр
Будемо вдячні кожній гривні
Необхідно придбати:
- ecoflow
- starlink
- генератор
https://send.monobank.ua/jar/4HjU84soij?fbclid=PAZXh0bgNhZW0CMTEAAaYBoAcRQ7EhqBCUWxVsobLrLPMKQ19_2XbLF_MMfLZmoqXqUlVCyDu5_6M_aem_3g0JPacV3AK7N9SkypYOqQ
send.monobank.ua
Безпечний переказ коштів
Надсилайте безкоштовно та безпечно кошти
👍55👎7💩5❤4🤣2🫡2
Кто еще не смотрел стрим про связь профессионального роста и паттернов, то готовьтесь, там больше 7 часов, и главное — все по делу, про то, как и чему учиться и про важность культуры, которая проникает через паттерны https://www.youtube.com/watch?v=QzxklJW4_LM
YouTube
🧩 Самые полезные знания для роста — Переосмысление паттернов для JavaScript, TypeScript, Node.js
👉 Следующий стрим: https://youtube.com/live/tpY01TLctAs
👉 Регистрация на курс: https://nodeua.com/Patterns-2024-buy.html
👉 Github автора: https://github.com/tshemsedinov
👉 Примеры кода по адаптерам из стрима: https://github.com/HowProgrammingWorks/Ad…
👉 Регистрация на курс: https://nodeua.com/Patterns-2024-buy.html
👉 Github автора: https://github.com/tshemsedinov
👉 Примеры кода по адаптерам из стрима: https://github.com/HowProgrammingWorks/Ad…
❤12👍4🔥2🤯1
Кстати, открыта предварительная регистрация на курс Patterns 2024 — я уже изучил всю доступную литературу и конкурентов и теперь уверен — аналогов нет, ни кто так и не смог сделать приличной адаптации паттернов к JavaScript, TypeScript, Async, Node.js миру — https://nodeua.com/Patterns-2024-buy.html
👍12🔥7💯2
🧩 Patterns 2024 — Registration: https://forms.gle/wuJ3nvSeF2apgUESA
Anonymous Poll
8%
Беру сейчас
1%
Беру завтра
32%
Беру до конца недели
59%
Мой вопрос будет в форме регистрации
🔥3🍾1🫡1
1. module: support require()ing synchronous ESM graphs
2. path: add matchesGlob method
3. stream: expose DuplexPair API
And more...
https://nodejs.org/en/blog/release/v20.17.0
Please open Telegram to view this post
VIEW IN TELEGRAM
🍾9👍3⚡1😁1
🧩 Увага, я додав розстрочку на курс Patterns, яку Ви просили. Ще питають, чи будуть знижки — ні, бо економіка програми наставництва не зійдеться, я наймаю кращіх спеціалістів і економити на якості навчання це погана ідея. Наступне: чи можна придбати Patterns без наставництва - так, це мінімальний тариф. 👉 https://nodeua.com/Patterns-2024-buy.html
👍14❤4🍾3
🧩 Patterns 2024 Training
English-only description version for those who want the company to pay for their training
https://nodeua.com/Patterns-2024-buy-en.html
English-only description version for those who want the company to pay for their training
https://nodeua.com/Patterns-2024-buy-en.html
⚡4👍1💯1
🐥 Почему все так плохо с архитектурой приложений?
Потому, что «less competence - more confidence» (меньше компетенции - больше уверенности)
Потому, что все ведут себя как: только if/class/export выучил, уже хватается за архитектуру.
Ну конечно, структура - это не круто, архитектура - это круто.
А тем временем, из плохой структуры, из рыхлой структуры можно построить только 2 этажа, при возведении третьего уже все обрушается на первый.
Потому, что «less competence - more confidence» (меньше компетенции - больше уверенности)
Потому, что все ведут себя как: только if/class/export выучил, уже хватается за архитектуру.
Ну конечно, структура - это не круто, архитектура - это круто.
А тем временем, из плохой структуры, из рыхлой структуры можно построить только 2 этажа, при возведении третьего уже все обрушается на первый.
👍19❤5😁1
1 сентября: понятный и красивый код может появляться только из стремления использовать его для образовательных целей. Если Вы видите понятный и красивый код, то будьте уверены, что или сам программист или его учитель выработали этот стиль для того, чтобы пояснить свою мысль. Ни стремление к производительности, ни бизнес-задачи, ни большой опыт не создают таких условий. Они могут порождать очень крутой код, сложный и даже надежный, но он в нем не будет человеко-ориентированности и эстетики.
👍11❤4😎3
Вы наверняка видели код, в котором на событиях или на роутах висит обработчик, который содержит и часть бизнес-логики и обращение к базе и работу с сетью. Такой портянка-код характерен для чат-ботов и серверов. Как это можно написать иначе и как в этом помогают паттерны?
Нам нужно отделить три составляющих кода (грубо говоря, совсем упрощая): транспорт, бизнес-логику, базу. Но обеспечить между ними зацепление, минимальное необходимое. Лучше всего разнести их в три разные модуля (на это не обязательно), можно разнести в три разные программные компонента или в три разные абстракции. Одна обеспечивает работу с базой и ничего не знает о транспорте, а вторая - работу с транспортом и ничего не знает о базе. Дальше их должна сшивать общая абстракция (по принципу композиции, можно и агрегации). Какие паттерны тут помогут?
🧩 Mediator - снижает зацепление и подойдет нам для изоляции базы от транспорта.
🧩 Strategy - реализация стратегии для JavaScript это Map<PropertyKey, Implementation> что позволяет абстрагироваться от Implementation, находя его по ключу и работая по обобщенному интерфейсу.
🧩 Bridge - позволяет разделять абстракции и снижать зацепление, но не характерен для JavaScriot.
🧩 Abstract factory - для JavaScript абстрактная фабрика сводится к стратегии инстанциирования: Map<PropertyKey, Creator> и применяется как и стратегия, но в том месте, где нам нужно создавать инстансы (тут Creator это любой порождающий паттерн).
Признаки проблемы:
• Если вы не можете модифицировать работу с базой не трогая транспорт или бизнес-логику, не задевая базу, то нужно начинать внедрять разделение ответственности (separation of concerns).
• Если сложно написать юниттесты, а что-то протестировать можно только все целиком - ну вот оно, вы нашли проблему.
• Если код невозможно переиспользовать и вы чувствуете, что одно и то же пишете уже много раз.
Примеры на курсе по паттернам 👉 https://nodeua.com/Patterns-2024-buy.html
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥3❤1💯1🤣1
🚀 Структура программы менторинга Patterns 2024 постепенно вырисовывается
🧩 Unit 1: Structure and Modularity
Week 1: Code Characteristics and Optimization Strategies
Week 2: Native features in language and platforms
Week 3: Instantiation: Creational Patterns and Techniques
Week 4: Isolation: Separation of Concerns
🧩 Unit 2: Execution and Contracts
Week 5: Contracts: Interfaces for Component Interaction
Week 6: Decoupling with Events and Messaging
Week 7: Streams: Data Flows and Transformations
Week 8: Handling Errors: Exceptions and Soft Failures
🧩 Unit 3: Runtime for Applications
Week 9: Semantics: Expressive DSLs
Week 10: All-agnostic as a Default Strategy
Week 11: Scaling Applications and Architectural Styles
Week 12: Methodology: How to Start Applying Concepts
Начало 1 октября, уже а наставников кол-во ограниченное, я не успею подготовить новых до начала, так что резервируете.
На днях обновим сайт и разложим темы по неделям https://nodeua.com/Patterns-2024-buy.html
🧩 Unit 1: Structure and Modularity
Week 1: Code Characteristics and Optimization Strategies
Week 2: Native features in language and platforms
Week 3: Instantiation: Creational Patterns and Techniques
Week 4: Isolation: Separation of Concerns
🧩 Unit 2: Execution and Contracts
Week 5: Contracts: Interfaces for Component Interaction
Week 6: Decoupling with Events and Messaging
Week 7: Streams: Data Flows and Transformations
Week 8: Handling Errors: Exceptions and Soft Failures
🧩 Unit 3: Runtime for Applications
Week 9: Semantics: Expressive DSLs
Week 10: All-agnostic as a Default Strategy
Week 11: Scaling Applications and Architectural Styles
Week 12: Methodology: How to Start Applying Concepts
Начало 1 октября, уже а наставников кол-во ограниченное, я не успею подготовить новых до начала, так что резервируете.
На днях обновим сайт и разложим темы по неделям https://nodeua.com/Patterns-2024-buy.html
👍9👀3🤝1
How do you handle errors?
(Select multiple options)
(Select multiple options)
Anonymous Poll
18%
Treat all errors the same
56%
Handle exceptions separately (code errors)
36%
Handle soft errors separately (non-exceptions)
31%
Handle operational errors separately (network, i/o, db...)
32%
Handle custom domain errors separately
7%
I restart process on any error
8%
I restart process only on exceptions
13%
I have error recovery strategy
33%
I use use external error logging service
13%
I use intellectual error aggregation service
▫️ Отделяете ли исключения (ошибки в коде)?
▫️ Отделяете ли soft ошибки (без исключений)?
▫️ Отделяете ли операционные ошибки (net, i/o, db...)?
▫️ Делаете автоматический retry?
▫️ Делаете serialize для передачи ошибок по сети?
▫️ Создаете ли классы для кастомных ошибок?
▫️ Используете ли коды ошибок вместо классов?
▫️ Делаете цепочки ошибок error.cause?
▫️ Используете AggregateError?
▫️ Практикуете return early и fail-fast?
▫️ Практикуете guards?
▫️ Применяете Either?
▫️ Реализуете graceful shutdown?
▫️ Перезапускаете процесс на любой ошибке?
▫️ Перезапускаете на операционных ошибках?
▫️ Перезапускаете процесс на доменных ошибках?
▫️ Имеете стратегию восстановления после ошибок?
▫️ Что используете для сбора логов?
▫️ Что для агрегации и консолидации логов?
▫️ Замеряете потерю производительности от ошибок?
▫️ Используете критические секции и web locks?
▫️ Используете promise.finally()?
▫️ Как трекаете и логируете контекст исполнения?
▫️ Генерируете UUID для трекинга контекстов?
▫️ Создаете ли точки восстановления состояния?
▫️ Используете AI для анализа стек-трейсов?
▫️ Применяете практику circuit breaker?
▫️ Очищаете stack trace от критических данных?
▫️ Практикуете blue-green deployments?
▫️ Практикуете feature toggles?
▫️ Практикуете canary release?
▫️ Практикуете shadow deployments?
▫️ Практикуете progressive delivery?
▫️ Практикуете rolling deployments?
▫️ Практикуете hotfix deployment?
▫️ Практикуете hot reload (без перезапуска)?
▫️ Имеете fallback при возникновении ошибок?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🫡3😎3