TGViewer
Channel Public Channel
Node.js Recipes

Node.js Recipes

@node_recipes

Subscribers
3.1K
Photos
173
Videos
7
Links
610

Showing posts older than #350 · Back to latest

Older Posts 20 shown
Post #349 2.21K
#итоги_года
  • 🎉 7
  • 👍 1
Post #348 3.48K
Data Structures Easy to Advanced Course
#worth_seeing

Типичная проблема JS разработчиков – отсутствие фундаментального образования. Сегодняшняя рекомендация призвана помочь с структурами данных. Автор смог уложить в 8 часов, то что в университете растянут на один-два семестра. Примеры кода по традиции приведены на Java. Отмечу, что видео идет в youtube аккаунте freeCodeCamp, ресурса который можно смело рекомендовать для начинающих разработчиков.
YouTube Data Structures Easy to Advanced Course - Full Tutorial from a Google Engineer Learn and master the most common data structures in this full course from Google engineer William Fiset. This course teaches data structures to beginners using high quality animations to represent the data structures visually. You will learn how to code…
  • 👍 2
Post #347 2.96K
Что такое S3 Object Lambda и как ее использовать?
#aws

В марте 2021 AWS представили новый тип Lambdа – S3 Object. Она используется, чтобы обработке и изменения запросов к файлам в S3. Примеры использования:
– ресайзинг картинок
– мутация данных в зависимости от того, кто сделал запрос на S3.
– gzip на лету во время запроса

Еще раз напомню, что не стоит использовать Node.js как прокси для загрузки файла в S3. Для этого существуют signed url.

Ссылки по теме:
– Анонс в блоге
– Документация
Post #346 2.7K
Хочу поделиться каналом Хороший разработчик знает. Его ведёт Павел Поляков, разработчик с 15-летним опытом, живущий сейчас в Германии. Пишет посты с уклоном в soft skills и инжиниринг менеджмент.

Примеры постов:
🔗 Про продуктивные конфликты
🔗 Про Рождественский календарь для разработчика
🔗 Все как код

Контент на канале будет интересен для Middle+ уровня, когда инвестиции времени в софт-скилы начинают приносить больше пользы.
Telegram Good dev knows Everything what the good dev shall know. Stories, hard skills, soft skills. Regularly. Instagram: https://www.instagram.com/gooddevknows/ Questions: @PavloPoliakov
Post #345 2.2K
Какие open source продукты стоит знать Node.js разработчику?
#list

Node.js моложе, чем PHP или Java. Поэтому у нас в экосистеме есть много библиотек, несколько фреймворков и мало open-source продуктов. Продукт это программное обеспечение, которое команда может запустить для бизнеса за один день. Примеры из PHP экосистемы: WordPress, Drupal, Magento.

Вот список open source Node.js продуктов:
– Ghost, блогинг
– Hexo, блогинг
– Strapi, headless cms
– NodeBB, форум
– AdminBro, админ панель

В завершение несколько мыслей:
– в зависимостях проектов из списка вы может обнаружить moment, express и т.д. Принцип работает не трогай никто не отменял.
– в мире PHP есть легко видима разница в зарплатах у WordPress разработчиков и PHP разработчиков. Аналогично только Strapi/Ghost разработчик будут получать меньше, чем универсальный Node.js разработчик.
– очевидна ниша создать свой open source Node.js проект и зарабатывать на консальтинге, cloud решение и т.д.
Post #344 2.17K
Знакомство с Node.js
#worth_seeing

В рамках Яндекс Академии существует youtube канал Фронтенд. Сегодняшнее видео как раз с этого канала. По сути это три лекции склеенные в одно видео – смотрите таймкоды.

Лекции будут полезны начинающим разработчикам. В них Герман Волков сделал толково объясняет как работать с #nodejs.
YouTube Node.js Знакомимся с Node.js: история создания, простейшие скрипты, основные возможности. Углубляемся в теорию: модульная система CommonJS, Streams, дочерние процессы, Event Loop. Применяем на практике: сервер на Node.js, знакомство с Express, React на сервере, пример…
Post #343 2.45K
13 способов запустить веб-приложение в Интернет
#worth_seeing

Сегодня в рекомендациях к просмотру видео с конференции JavaScript fwdays’21, которая проходила в начале лета. Докладчик Андрей Шумада постоянный член программного комитета конференций Fwdays, судья DEV Challenge и регулярный докладчик на JS конференциях.

В своем докладе Андрей делает разбор как задеплоить приложение, причем как SPA, так и Node.js. Доклад идет от домашнего компьютера к Kubernetes. Завершает доклад сравнительная таблица всех разобранных способов.

Слайды доступны на сайте конференции.
YouTube 13 способів запустити веб-додаток в Інтернет [ukr] / Андрій Шумада Відео з онлайн-конференції JavaScript fwdays'21, яка пройшла з 1 по 8 червня 2021 року. Опис доповіді: Ну от ми написали наш додаток. На Node.js, React чи Angular. І що далі? Як ваше творіння має побачити весь Інтернет, ну або хоча б мама, замовник або друзі.…
Post #342 2.01K
Нечего добавить!
Post #341 1.98K
Вышла новая версия Node.js v16.13.1

В него входят:
– обновление npm с 8.1.0 до 8.1.2
– обновление V8 9.4.146.19 до 9.4.146.24
– обновление c-ares (отвечает за работу с DNS)

Единственное значимое изменение это багфикс в dns.resolve4. Теперь он корректно обрабатывает домены с дефисом.

Мое личное мнение, необходимость обновлять проекты – низкая.
Post #340 2.28K
Как проверить, что строка timezone или encoding?
#nodejs_api

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

function isTimezone(str) {
try {
Intl.DateTimeFormat(undefined, { timeZone: str });
return true;
} catch (ex) {
return false;
}
}

Для проверки кодировки (encoding) можно использовать Buffer.isEncoding.

Собственно цель сегодняшнего рецепта напомнить, что часть buildin modules в #nodejs являются глобальными и их не нужно импортировать.
Post #339 2.29K
OpenJS Foundation дает скидки на Node.js Cerfification. Напомню их две: Node.js Services Development Certification и Node.js Application Development Certification.

Варианты:
– МегаБандл: обе сертификация и тренинги к ним –$1150 $399
– Бандл: одна сертификация + тренинг – $575 $199
– Обе сертификации –  $375 $187.50

Лично я рекомендую брать просто сертификацию без тренинга. Тренинги у Linux Foundation мне всегда казались слабоватыми.

Источник
Post #337 2.39K
Сегодня черная пятница. Поэтому поделюсь топ-3 моих покупок за последние несколько лет, которые позволили быть производительней.

3️⃣ Годовая подписка на Linux Academy.
Опыт использования: c 2018 по 2020
Подводные камни: в момент слияния с acloud.guru были тех. сложности и я перестал ими пользоваться, как сейчас не знаю.
Результат: разобраться с новой технологией или подготовиться к сертификации было очень просто. Готовился по ним к Elastic Certified Engineer и Certified Kubernetes Application Developer.
2️⃣ Стол с регулируемой высотой для работы стоя/сидя.
Опыт использования: 3 года.
Подводные камни: столешницу лучше заказать под себя, чтобы попасть в дизайн и был удобный вырез с подпоркой для рук.
Результат: после овертаймов перестала болеть спина.
1️⃣ MacBook на M1.
Опыт использования: с сентября 2021
Подводные камни: простой перенос с intel процессора не подойдет, все нужно ставить с нуля, чтобы быть на arm версии. Работа с docker чуть усложнилась
Результат: все стало работать быстрее – тайпскрипт+nest.js рестартиться на 40% быстрее, gatsbyjs собирается 15 секунд вместо 50. Сам ноут работает тише и дольше – батарея держит 8-12 часов.
Post #336 2.05K
#announcement #partner_material

Присоединяйся к NIX TESTATHON!
Проверь, на что ты способен в условиях ограниченного времени и полной свободы действий!

На протяжении 4 часов ты будешь тестировать Android-приложение. Твоя цель — вместе с командой обнаружить и описать самые интересные и значимые дефекты и проблемы. В результате ты сможешь повлиять на качество и развитие одного из харьковских стартапов в целом.

Когда: 4 декабря, с 10:30 до 18:30
Где: в чате Discord
Формат: онлайн

Мы приглашаем тестировщиков уровня Junior+ и Middle.

Чтобы стать участником NIX TESTATHON, сделай три простых шага:
🔸отправь заявку до 29 ноября
🔸выполни небольшое тестовое задание (всего три вопроса)
🔸получи приглашение и подключайся к тестатону!

Ссылку на тестовое задание мы отправим на твою почту после регистрации.
Post #335 2.07K
TypeStack и NestJS
#nestjs

Сегодня обзор новостей по TypeStack. Описание этого стэка говорит само за себя: Decorator based frameworks and libraries for Node and browser. Он важен для NestJS комьюнити: routing-controllers – вдохновитель NestJS, а class-validator/class-transformer входят в NestJS стэк.

Стоить отметить две проблемы class-validator/class-transformer, во-первых их редко обновляют – нет маинтейнеров, во-вторых имеют версии 0.*. Это означает возможность breaking changes между минорными релизами. Позиция Камиля, создателя NestJS, по этому поводу была я не вижу значительных проблем.

А теперь хроника событий:
– 12 октября выявленная security issue в class-validator
– фикса нет вплоть до 28 октября, поэтому Камиль делает форк, который можно установить как @nestjs/class-validator. Аналогичные форк есть и для class-transformer.
– 20 ноября наконец-то выходят фиксы, но с брейкинг чеджами.
– команда NestJS рассматривает переход на форки в рамках 9 версии, которая не известна когда будет.

Какие выводы из этой истории:
– Во-первых, обновите пакет если вы еще этого не сделали
– Во-вторых, используйте в CI/CD npm audit, чтобы знать о проблемах сразу
– Во-третьих, проверьте может ли ваш код перейти на @nestjs/class-validator, как более поддерживаемый.
– В-четвертых, думайте о технической инфляции и рисках.
Post #334 2.14K
Как технологии будут востребованы для Node.js разработки в 2022?
#tech_stack #list

Попробую предсказать тренды 2022.

Будут экспоненциально расти, т.е. стоит учить на опережение:
– OpenTelemetry для метрик разработки
– Headless CMS (нужны для JAMstack)
– Интеграция, использование и/или переход с NoCode решений (бизнес делает на них прототипы, которые нужно развивать или переписывать с 0)

Будут продолжать расти, т.е. стоит учить чтобы быть в тренде:
– API поверх AI или data-science моделей. Продолжение роста за счет персонализаций. Гуглить Internet Of Behavior
– Crypto, всякие смарт контракты, NFT – да-да в мире слишко много денег
– Internet of Things. Для начала попробуйте сделать свой Smart Home

Будут по-прежнему востребованы, т.е. учить не поздно:
– TypeScript как основной язык для сложных проектов
– DevOps практики CI/CD с помощью Gitlab или GitHub Actions, 12 factor
– Cloud инструменты в любом на ваш выбор провайдере AWS, GSP, Azure
– GraphQL на базе Apollo Server
Post #333 3.3K
Как сделать object deep clone?
#nodejs_api

Как вы знаете объекты в отличие от примитивов передаются по ссылке, а не по значению. Поэтому, когда вам нужна копия объекта, приходиться прибегать к определенным ухищрениям.

Native JavaScript предлагает два варианта копирования:
– Через spread оператор const copied = { ...original }
– Через Object.assign const copied = Object.assign({}, original)

Эти варианты работают только на первом уровне объекта. Для глубокого копирования необходимо использовать рекурсию или пакеты (см lodash.cloneDeep). В простых случаях можно использовать JSON.parse(JSON.stringify(obj)), но имейте ввиду так можно потерять данные.

Текущий способ для Node.js это использование модуля v8:
const v8 = require('v8');
const copied = v8.deserialize(v8.serialize(original))

Но через год это измениться. Задача настолько часто встречается, что разработчики JS движков придумали structuredClone. Пока внедрено только в Firefox 94 и Node.js v17.
  • 👍 2
Post #332 2K
На следущей неделе конференция Fwdays: JS is back! ​​

В течение основного дня (27 ноября) будет мой доклад "Разработка на Node.js в 2022: тренды и приемы". Его можно послушать бесплатной в рамках Free Ticket

В дополнительный день (1 декабря) будет мой воркшоп Nest.js tips and tricks. Для просмотра нужен Full Ticket. Промокод для его покупки 👉 node_recipes_fwdays

Программа: https://bit.ly/3DCco0E

До встречи в эфире!
Post #331 2.34K
Вот так выглядит пирамида тестирования с точки зрения #Nodejs разработчика.
- Linting обеспечивает соблюдения код-стайла и отлавливает возможные ошибки синтаксиса. Используеться eslint.
- Type checking проверяет типы или js doc c помощью TypeScript.
- Unit tests не требуют запуска отдельного Node.js процесса. Тестируют отдельные функции или методы с помощью Jest. Активно используют моки. Позволяет мерять уровень покрытия кода тестами. Использует подходы white box testing.
- Integration tests требуют запуска Node.js процесса. Проверяют бизнесу логику c помощью Jest и различных библиотек по работе с API/Bus/etc. Моки если и используются, то только на уровне 3rd-pary. Использует подходы gray box testing.
- e2e требуют запуска не только Node.js процесса, но и клиентского кода. Т.е. запускает все приложения BE+FE. Имитирует поведение пользователя, проверяя бизнесу логику всего приложения. Использует подходы black box testing. Зона отвественности QA-ев.
Post #330 3.35K
Топ 10 ошибок в Nest.js проектах.
#nestjs

У Nest.js отличная документация, понятная архитектура кода и декларативных подход. Это позволяет начинать писать реальный код разработчикам переходящих в #nodejs с других языков. Приведу список типичных ошибок на уровне кода. Сокращение MS обозначает microservices.

1. Забыть добавить enableShutdownHooks, поэтому приложение не может корректно завершать свою работу.
2. Использование Hybrid application (http + ms) вместо разделения по процессам. В результате возникают проблемы в фильтрах ошибок.
3. Выкидывание наследников HttpException в MS. Аналогично в другую сторону. А добавьте сюда еще GraphQL/WS/custom контексты. В результате трансформация ошибок происходит не правильно.
4. Смешание входящих и исходящих DTO и/или моделей data-layer. В результате код получается короче, но сильнее связанный.
5. Наличие только одного уровня тестов из unit/e2e пары. В результате тестировать сложнее.
6. Не понимание работы export/import Nest.js модулей и провайдеров. В результате происходят ошибки в DI.
7. Не использование custom decorator-в и pipe. В результате код теряет свою декларативность.
8. Расширение сторонних интерфейсов (например Request) в ts, а не d.ts файле. В результате какой-то из процессов не делает его import.
9. Цикличные связи без forwardRef. В результате код просто не стартует.
10. Отсутствие логирования (в том числе запросов в БД). В результате troubleshooting очень затруднен.

В завершение скажу, что ошибки на уровне проектирования и архитектуры приложения проектозависимы.
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →