Автор показывает, как связать Bitrix24 с Flask и Node.js, чтобы ловить обновления по сделкам, валидировать запросы, вытаскивать ID, проверять сумму и создавать задачи — и всё это без боли и рекурсии.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Автор разбирается, что нужно предустановить на CI-сервере, чтобы команды вроде eslint и npm run build не падали с ошибками. Готовит чеклист — от ОС до нужных пакетов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
React Server Components (RSC) и Next.js 13 представляют новый виток в разработке React-приложений, предоставляя мощные инструменты для оптимизации и упрощения архитектуры.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👎3👍1
Создайте минимальный API на Node.js с использованием Express, который позволяет:
•
Получить список всех заметок.•
Добавить новую заметку.Требования:
1. Маршруты API:
• GET /notes
: Возвращает массив всех заметок. • POST /notes
: Добавляет новую заметку (передаётся в теле запроса).2. Хранилище данных:
•
Используйте массив в памяти. Каждая заметка должна содержать поля:{
"id": "уникальный идентификатор",
"content": "текст заметки"
}
3. Требования к корректности:
•
Заголовок заметки (content
) должен быть строкой и не быть пустым.Решение задачи
const express = require('express');
const { v4: uuidv4 } = require('uuid');
const app = express();
app.use(express.json());
let notes = [];
// Получить все заметки
app.get('/notes', (req, res) => {
res.json(notes);
});
// Добавить новую заметкуapp.post ('/notes', (req, res) => {
const { content } = req.body;
if (!content || typeof content !== 'string') {
return res.status(400).json({ error: 'Invalid content' });
}
const newNote = { id: uuidv4(), content };
notes.push(newNote);
res.status(201).json(newNote);
});
// Запуск сервера
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Server running on http://localhost:${PORT}`);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Статья рассказывает, как наблюдаемость помогает выявлять проблемы в микросервисных приложениях. Описаны метрики, логи, трассировки и инструменты для анализа производительности системы.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
path.resolve()
в Node.js и зачем оно используется?path.resolve()
— это метод модуля path
в Node.js, который возвращает абсолютный путь, объединяя переданные сегменты пути. Он полезен для построения пути к файлам и директориям независимо от текущей рабочей директории.const path = require('path');
// Построение абсолютного пути
const fullPath = path.resolve('folder', 'subfolder', 'file.txt');
console.log(fullPath); // Например: /Users/username/project/folder/subfolder/file.txt
🗣️ В этом примере path.resolve() объединяет сегменты пути и возвращает абсолютный путь к файлу. Это помогает избежать проблем с относительными путями и улучшает кросс-платформенность приложений.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Статья рассказывает, как в MPA на микросервисной архитектуре избежать потерь сообщений при перезагрузке страницы. Рассматривается метод повторной отправки пропущенных WebSocket-сообщений.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
📚 Пиши документацию для себя в будущем
Думаешь, документация — это "для менеджеров"? А потом сам ищешь, как разворачивать проект или зачем в конфиге странный флаг true.
👉 Совет: при любой новой фиче пиши мини-док. Даже коротко. Даже в readme рядом. Будущее "ты" скажет тебе спасибо и купит кофе.
Думаешь, документация — это "для менеджеров"? А потом сам ищешь, как разворачивать проект или зачем в конфиге странный флаг true.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Как автоматизировать SMS-опросы для обратной связи? Статья показывает, как отправлять SMS с помощью Node.js и Exolve SMS API, чтобы оперативно собирать мнения клиентов о товарах и услугах.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите скрипт на Node.js, который читает строки из стандартного ввода и выводит их в верхнем регистре. Если пользователь вводит "exit", программа завершается.
Пример:
hello
HELLO
world
WORLD
exit
Решение задачи
process.stdin.setEncoding('utf8');
process.stdin.on('data', (data) => {
const lines = data.trim().split('\n');
for (const line of lines) {
if (line.toLowerCase() === 'exit') {
process.exit(0);
} else {
console.log(line.toUpperCase());
}
}
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Как применить worker для ускорения параллельных вычислений на JS. Постарался подробно и понятно разобрать как работают worker, как общаться с ними. Показал пример многопоточного вычисления значений массива и сравнил производительность различных методов обработки массивов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Fullstack-разработчик Typescript
JavaScript-разработчик (Junior+)
Backend-разработчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡3👍1
Технический разбор проекта по сбору всех барахолок Грузии в один Telegram-канал. Как сделать поиск вещей без спама и мусора, какие сложности были и как я их решал. Всё на реальном примере.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
История о том, как устроена база данных в вузовской системе, с которой работает Андрей. Что там внутри, какие особенности и почему база — это вообще центр всей жизни системы.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Автор разбирает, как React реально обновляет компоненты: что запускает ререндер, как работает reconciliation и что происходит внутри библиотеки, когда изменяется состояние.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте middleware-функцию
requestLogger
, которая будет логировать метод, URL и время запроса. Такой подход используется в любой серверной логике для отладки, мониторинга и аудита.Решение задачи
const express = require('express');
const app = express();
// Middleware для логирования
function requestLogger(req, res, next) {
const start =Date.now ();
res.on('finish', () => {
const duration =Date.now () - start;
console.log(`${req.method} ${req.originalUrl} → ${res.statusCode} [${duration}ms]`);
});
next();
}
// Подключаем middleware
app.use(requestLogger);
// Пример маршрута
app.get('/', (req, res) => {
res.send('Hello from server!');
});
// Запуск сервера
app.listen(3000, () => {
console.log('Сервер запущен на http://localhost:3000');
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
• Заяц не вырастет в акулу. Или секреты гибкой инженерной культуры от Александра Бындю
• Все, пора увольняться: что я поняла после работы в токсичных командах
• Чем Cloud-инженер отличается от DevOps-инженера и что между ними общего
• Базовое программирование, или Почему джуны не могут пройти к нам собеседование
• Я стал аналитиком, потому что не смог быть программистом
Please open Telegram to view this post
VIEW IN TELEGRAM
🖕1
Показываю, как без строчки кода проверить электронную подпись прямо в Telegram через связку n8n и КриптоАРМ — без серверов, сложноты и лишних танцев.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
path
модуль в Node.js и зачем он используется?Модуль
path
встроен в Node.js и используется для работы с путями файловой системы. Он помогает безопасно объединять, нормализовать и парсить пути, независимо от операционной системы.const path = require('path');
const fullPath = path.join(__dirname, 'images', 'logo.png');
console.log(fullPath); // Абсолютный путь до logo.png
const ext = path.extname(fullPath);
console.log(ext); // .png
🗣️ Здесь path.join() склеивает путь с правильными разделителями (/ или \), а path.extname() извлекает расширение файла. Это упрощает работу с путями и предотвращает ошибки при кроссплатформенной разработке.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1