Все о разработке backend части на JavaScript (Node JS). А так же: Express JS, Next JS, Nest, Socket.IO Канал на бирже - https://telega.in/c/we_use_js По вопросам рекламы или разработки: @g_abashkin РКН: https://vk.cc/cGhHyj
👩💻 Создание ванильного JavaScript signal() с Proxy
Статья объясняет, как с помощью Proxy в ванильном JavaScript реализовать реактивные сигналы, упрощая управление состоянием. Рассматриваются основные принципы и примеры применения.
Читать...
👩💻 Испортили git rebase?
Git rebase — мощный инструмент, помогающий перенести или объединить один, или несколько коммитов в новый базовый коммит, переписав историю проекта так, чтобы ваша ветка выглядела созданной из другого коммита. Он помогает поддерживать более чистую и линейную историю.
Читать...
Всем привет!
Решил собрать папку по бэкенду — тут всё, что обычно остаётся за кадром, но без чего ничего не работает.
Ребята пишут про то, как проектируют архитектуру, залипают в логи, чинят на проде и выбирают между «быстро» и «качественно». Много каналов от разработчиков с огромным опытом, которые годами пилят реальные проекты, есть те, кто пишет про подходы, выгорание, рефакторинг, читаемый код, сложные конфиги и продакшен-факапы.
Немного про Node, есть Go, Django — в общем, всё, что чаще всего крутится у нас под капотом. Не туториалы, а живой бэкенд: что взлетает, что потом переписывается, и как всё это жить. Добавил пару каналов с вакансиями — те, что не раздражают, но полезны.
📂 Собрал себе, чтобы не теряться в ленте, но делюсь с вами — забирайте
🥾 Первый шаг в Angular - создаем приложение с нуля
Вводное знакомство с Angular - современным фреймворком для разработки веб-приложений. Мы расскажем о его основных концепциях, структуре и возможностях.
👉 Какие ключевые темы и вопросы будут рассмотрены на вебинаре?
- Что такое Angular и зачем он нужен
- Основные компоненты Angular:Модули, компоненты, директивы, пайпы, сервисы
- Работа с данными: привязка данных (data binding)
- Основы маршрутизации (routing)
- Простая форма и валидация
- Как запустить и протестировать приложение
- Какие результаты и навыки получат участники после вебинара?
Бесплатный вебинар проходит в рамках курса “Angular Developer“
Регистрация и подробнее о курсе Angular Developer - https://vk.cc/cNugh6
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👩💻 Эффективная многопоточность в Node.js: как использовать Atomics
В статье объясняется, как Atomics помогает синхронизировать потоки, предотвращая хаос при одновременной работе с общими данными. Простыми примерами покажем, как управлять многопоточностью.
Читать...
🧠 Сложность — это не враг, а индикатор
Если что-то в проекте кажется запутанным, нестабильным и непонятным — не убегай от этого. Это маркер точки роста.
👉 Совет: найди самое страшное место в коде — и разберись. Даже если потребуется день. Это как качать слабое место — больно, но даёт заметный эффект. Сложность показывает, куда идти.
👩💻 Как работает потокобезопасность (thread safety) в Node.js?
Node.js работает в однопоточном режиме, используя цикл событий для обработки асинхронных операций. Однако потокобезопасность становится важной при работе с параллельными задачами или при использовании worker_threads
. В таких случаях необходимо обеспечить изоляцию данных между потоками.
➡️ Пример:
const { Worker, isMainThread, parentPort } = require('worker_threads');
if (isMainThread) {
const worker = new Worker(__filename);
worker.on('message', msg => console.log(`Получено от воркера: ${msg}`));
worker.postMessage('Привет из основного потока!');
} else {
parentPort.on('message', msg => {
console.log(`Получено в воркере: ${msg}`);
parentPort.postMessage('Привет обратно!');
});
}
🗣 Потокобезопасность в Node.js обеспечивается изоляцией памяти worker_threads, и при необходимости обмена данными рекомендуется использовать сообщения между потоками для минимизации риска гонок данных.
📈 Подборка статей для вашей карьеры
• История: работа в чешском Red Hat
• Циничные заметки о карьере в IT от «гейткипера»
• Рецензия на книгу “Изучаем паттерны проектирования JavaScript, 2-е издание”
• Всероссийский рейтинг IT-брендов работодателей 2024
• Моя петиция EB-1A на грин-карту талантов, одобренная с первой попытки
⚙️ Методы жизненного цикла веб-компонента
Вчера мы изучили различные способы инстанцирования веб-компонента. В статье был упомянут метод жизненного цикла connectedCallback(). Сегодня поговорим об остальных методах жизненного цикла веб-компонентов.
Читать...
♟ Эпопея шахматных движков: мой опыт в разработке шахматной программы
В этой статье я расскажу про личный опыт написания шахматной программы на языке TypeScript. С какими проблемами столкнулся и пути к их решению.
Читать...
⚙️ Асинхронность – не баг, а фича: 4 паттерна, которые спасут ваш распределенный сервис
Представь, что ты отправляешь сообщение в мессенджере, а оно доходит с задержкой в минуту. Бесит? А теперь представь, что у тебя сервис с миллионами пользователей, и каждое их действие должно мгновенно отражаться везде. Звучит как кошмар? Спокойно, есть четыре проверенных способа решить эту головоломку, и они реально работают.
Читать...
👩💻 Новые альтернативы innerHTML
Статья объясняет появление метода setHTMLUnsafe для работы с HTML в браузерах. Разбираются особенности безопасности, отличия от setHTML и innerHTML, а также поддержка в разных браузерах и значение нового подхода к именованию методов.
Читать...
👩💻 Как обнаружить изменение атрибутов веб-компонента
Сегодня мы рассмотрим, как обнаружить и реагировать на изменение атрибутов веб-компонента.
Читать...
➡️ Самые интересные статьи за последние дни:
• Быстрее пули: как найти счастье с PostgreSQL
• Куда движется Laravel? Обзор интервью с Taylor Otwell
• Nexus-IoC — хорошо знакомый незнакомец в мире TypeScript и DI
• Как сделать React Server Components в Electron с помощью Next.js и без открытых портов
• 10 не самых очевидных причин, чтобы уволиться
📂 Названия — твой первый UX
Файл utils2.js, функция handleData, переменная x. Ты и сам не понимаешь, что это значит.
👉 Совет: относись к названиям как к первому уровню документации. Пусть код читается без контекста. Если ты тратишь больше 3 секунд на попытку «вспомнить, что это», — переименуй. Название должно работать вместо комментария.
🚀 Упростите разработку с Vue: создаём игру за 1 вебинар
🔥Присоединяйтесь к открытому вебинару 16 июля в 20:00 мск., где мы покажем, как Vue упрощает разработку и делает её быстрее, чем привычный React.
На открытом уроке разберём:
🔹 как устроена реактивность во Vue через ref и в чём её отличие от useState в React;
🔹 управление логикой интерфейса с помощью v-if, v-model и событий;
🔹 как работать с таймерами, анимациями и рендерингом без сторонних библиотек;
🔹 пошаговое создание игры: от таймера и счёта до анимаций и рестарта;
🔹 почему Vue — это не только для новичков, а для тех, кто ценит чистоту, контроль и скорость разработки.
Не упустите шанс взглянуть на Vue в бою!
👉Регистрируйтесь: https://vk.cc/cNx1eI
Бесплатное занятие приурочено к старту курса “Vue.js разработчик”, на котором можно глубже погрузиться в особенности фреймворка, научиться работать с его инструментами и создавать реальные проекты.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👩💻 Расширения VSCode для комфортной работы с проектами
В статье рассказывается, как настроить рабочее пространство VSCode для разработки. Обзор полезных расширений, которые повышают удобство и продуктивность, и советы по их применению.
Читать...
👩💻 Задачка по NodeJS
Напишите скрипт на Node.js, который считывает JSON-файл, фильтрует данные по указанному ключу и значению, и выводит результат в консоль.
➡️ Пример:
node filterJson.js data.json age 30
[
{ "name": "Bob", "age": 30 },
{ "name": "Charlie", "age": 30 }
]
const fs = require('fs');Читать полностью…
const [,, filePath, key, value] = process.argv;
if (!filePath || !key || !value) {
console.error('Использование: node filterJson.js <filePath> <key> <value>');
process.exit(1);
}
fs.readFile(filePath, 'utf8', (err, data) => {
if (err) {
console.error('Ошибка чтения файла:', err.message);
process.exit(1);
}
try {
const jsonData = JSON.parse(data);
const filteredData = jsonData.filter(item => item[key] == value);
console.log(JSON.stringify(filteredData, null, 2));
} catch (parseErr) {
console.error('Ошибка парсинга JSON:', parseErr.message);
process.exit(1);
}
});
👩💻 Как использовать npm без опаски
Статья предлагает использовать прокси и кэширование для реестра npm с помощью Verdaccio или Nexus, чтобы повысить безопасность и ускорить установку пакетов. Также обсуждаются риски скриптов жизненного цикла npm и способы их безопасного использования.
Читать...
🎞 Я создал Telegram-бота (FYTT), который ищет Telegram-каналы всех ваших подписок на YouTube
Статья рассказывает о создании Telegram-бота для поиска каналов любимых авторов, переместившихся с YouTube. Описан стек технологий: Node.js с telegraf.js, MongoDB с mongoose, Express.js, Google API и Lemnos API для работы с данными.
Читать...
👩💻 Управление Node.js 19 и NPM 9 с помощью NVM
Статья знакомит с использованием NVM для управления версиями Node.js и npm, показывая примеры с Node.js 19 и npm 9. Объясняются преимущества NVM для безопасного обновления и тестирования новых возможностей.
Читать...
👩💻 Создание веб-компонента с нуля
Сегодня я решил, что мы создадим HTML веб-компонент с нуля. Давайте создадим компонент, показывающий и скрывающий текст при переключении кнопки.
Читать...
🚀 Хотите стать Vue-разработчиком?
Пройдите вступительное тестирование и получите шанс обучаться на курсе Vue.js разработчик от OTUS! 🎓
Почему это важно?
- Знания для реальной работы: на курсе не просто теория, а практика на реальных проектах.
- Готовое портфолио: в конце обучения вы создаете полноценное приложение, которое можно показать работодателю.
- Поддержка экспертов: менторы из индустрии помогут на каждом шаге.
- Углубленное изучение Vue: от основ до продвинутых технологий — все, что нужно для успешной карьеры.
Как это работает?
1. Пройдите тестирование и оцените свой уровень.
2. Получите спеццену при поступлении в группу курса и начните обучение. Подробности уточняйте у менеджера.
3. Получайте знания, расширяйте свой стек технологий, реализуйте выпускной проект.
🔗 Пройти тестирование: https://vk.cc/cNnDPo
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👩💻 CI/CD для начинающих: деплой React-приложения без боли
В статье показан процесс развертывания React-приложения на сервере: от упаковки кода в CI/CD до отправки его в прод. Всё на примере простого to-do приложения.
Читать...
👩💻 Как работает process.nextTick()
в Node.js?
Метод process.nextTick()
добавляет коллбэк в очередь "next tick" в Node.js, позволяя выполнить функцию после текущей операции, но перед следующей итерацией цикла событий. Это полезно, когда нужно завершить текущую операцию, а затем немедленно перейти к следующей задаче, не дожидаясь полного завершения цикла событий.
➡️ Пример:
console.log('Начало');
process.nextTick(() => {
console.log('Вызов в nextTick');
});
console.log('Конец');
// Вывод:
// Начало
// Конец
// Вызов в nextTick
🗣 В этом примере process.nextTick() срабатывает сразу после выполнения синхронного кода, но до обработки задач из очереди цикла событий. Это делает nextTick() полезным для выполнения задач с высоким приоритетом.
👨💻Гринатом в поиске системного аналитика!
Вам предстоит разрабатывать спецификации на модули продукта, формировать бэклог команды и приоритизировать задачи, проектировать интеграционные взаимодействия, оценивать компоненты приложения на зависимость и устойчивость, а также анализировать баги.
Наш идеальный кандидат обладает опытом проектирования, документирования и интеграций, работал системным аналитиком в ИТ не менее 3 лет, умеет декомпозировать крупные задачи, понимает принципы построения микросервисной архитектуры ПО и разработки Web-приложений, умеет работать с agile/scrum методологией, а также с BPMN, UML, SQL, OpenProject, Postman. Преимуществом будет опыт реализации и внедрения систем ECM, ERP, MES, CRM, HRM.
👉Откликнуться: https://spb.hh.ru/vacancy/121231998?hhtmFrom=employer_vacancies
Интелион Облако запускает розыгрыш 🎉
Главный приз – 3 сервера с А10 или А5000. Также разыгрываются приятные скидки.
Запусти нейросеть, рендер, LLM или сложные вычисления на топовом GPU за 1 рубль!
Как принять участие:
1. Зарегистрироваться на Intelion.cloud
2. Заполнить форму розыгрыша
3. Подписаться на ТГ канал
Итоги подведем 5 июля в прямом эфире в канале Artificial Intelion.
Не забудь поделиться с другом!
🚀 Хотите стать мастером Vue? Присоединяйся к открытому вебинару!
Вы знаете JavaScript, но не понимаете, как работает Vue? Хотите научиться использовать его для создания динамичных приложений?
🔥8 июля в 20.00 мск. приглашаем на открытый урок “Как быстро освоить Vue, если уже знаешь JavaScript”, на котором разберем:
- создание компонентов с реактивностью и передача данных;
- работу с директивами (v-if, v-for, v-model);
- сборку мини-приложения с динамическими данными.
Вы научитесь использовать Vue для создания интерфейсов, разберетесь в компонентах и реактивности, а также получите основы для работы над реальными проектами. 🛠
👉 Регистрируйтесь по ссылке: https://vk.cc/cNhCNb
Бесплатное занятие приурочено к старту курса “Vue.js разработчик”, на котором можно глубже погрузиться в особенности фреймворка, научиться работать с его инструментами и создавать реальные проекты.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👩💻 Циклические импорты на фронтенде
В статье рассматриваются проблемы, которые создают рекурсивные зависимости на фронте. Обсуждаются способы их обнаружения и решения, ведь часто разработчики даже не знают, что в проекте есть циклические зависимости.
Читать...
👩💻 Твой JavaScript должен быть проще: 10 приемов современного разработчика
Советы по написанию короткого, лаконичного и чистого кода на JavaScript
Читать...