Как в 16 байтах кода уместился целый дракон? Разбираем, какие трюки позволяют создавать сложные изображения с минимальным объёмом данных, и переносим эту магию в JavaScript.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
process
— это глобальный объект в Node.js, который предоставляет информацию и управление текущим процессом. Через process.argv
можно получить массив аргументов командной строки.// Запуск: node script.js привет мир
const args = process.argv.slice(2); // Убираем первые два аргумента (node и имя файла)
console.log(args); // ['привет', 'мир']
🗣️ В этом примере process.argv позволяет извлечь пользовательские аргументы командной строки, что полезно для CLI-приложени
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
PHP, WordPress и Node.js разработчик
•
PHP, WordPress, Node.js, MySQL, NoSQL, ООП, Git•
от 1000 до 2500 $ | от 3 лет опытаFullstack developer / Фулстэк разработчик
•
PHP, PostgreSQL, JavaScript, Redis, Node.js, Laravel, Vue.js, React, TypeScript, Next.js•
от 190 000 ₽ | от 4-5 лет опытаBackend Developer
•
Git, Node.js, NestJS, TypeScript, MongoDB, Jira, Создание архитектуры проектов, Разработка продукта•
от 120 000 ₽ | от 1 года опытаPlease open Telegram to view this post
VIEW IN TELEGRAM
Статья исследует концепцию потоков в Node.js, объясняя их ключевую роль в модулях, таких как fs и http. Рассматриваются основные концепции и ментальная модель, помогающая понять и эффективно использовать потоки.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите функцию, которая принимает строку и возвращает самое длинное слово. Если несколько слов имеют одинаковую длину, вернуть первое из них.
Пример:
const sentence = "JavaScript is an amazing programming language";
const result = findLongestWord(sentence);
console.log(result);
// Ожидаемый результат: "programming"
Решение задачи
function findLongestWord(sentence) {
return sentence
.split(' ')
.reduce((longest, word) => (word.length > longest.length ? word : longest), '');
}
// Пример использования:
const sentence = "JavaScript is an amazing programming language";
const result = findLongestWord(sentence);
console.log(result);
// Ожидаемый результат: "programming"
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8👎3
Статья посвящена созданию кроссплатформенного торгового робота для Московской биржи через API брокера. Рассматриваются проблемы готовых решений, таких как QUIK, и преимущества разработки легкого и гибкого инструмента.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Fullstack разработчик
•
Node.js, SQL, Jenkins, MySQL, GitLab, Grafana, DevOps, Puppet•
от 1 500 $ на руки | 3–6 летSenior Fullstack Developer (Nest / React)
•
TypeScript, Node.js, React, Nest.js, Redux, TypeORM, MySQL, RabbitMQ•
от 3 000 до 4 000 $ на руки | Более 6 летSenior Backend Developer (Node.js)
•
Node.js, TypeScript, MongoDB, Apache Kafka, ClickHouse, Elasticsearch•
от 3 800 до 6 300 $ на руки | Более 6 летPlease open Telegram to view this post
VIEW IN TELEGRAM
• Центральный Университет: взгляд магистра изнутри (1 семестр)
• Стартап vs корпорации vs предпринимательство: кому, куда и зачем?
• Почему соискателям не стоит постить нюдсы, что такое culture fit и чем IT-индустрия напоминает подростка
• Лидерами рождаются или становятся? Откуда берутся управленцы и лидеры в IT
• Работать или переработать: как победить в себе заядлого удаленщика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Рассмотрим встроенные инструменты отладки в браузере, которые помогут ускорить поиск и исправление ошибок в JS. Вместо console.log разберем более мощные техники для анализа и диагностики кода.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🗿1
process.nextTick
в Node.js и зачем он используется?process.nextTick
позволяет выполнять функцию сразу после текущей операции, но перед началом следующего цикла событий (event loop
). Это полезно для выполнения задач с высоким приоритетом.console.log('Начало');
process.nextTick(() => {
console.log('Выполнено в nextTick');
});
console.log('Конец');
// Вывод:
// Начало
// Конец
// Выполнено в nextTick
🗣️ В этом примере process.nextTick выполняет функцию между выводом "Конец" и началом следующего цикла событий. Это помогает при обработке срочных задач.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
На тему мемоизации написано довольно много статей, и все они хорошо раскрывают суть. Но мне часто не хватало шпаргалки, которую можно отправить на вопрос «А как мемоизировать?». В статье речь пойдет исключительно о функциональных компонентах.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Совсем недавно я снова услышал, что в PHP до сих пор обсуждают одинарные и двойные кавычки, и что использование одинарных кавычек — это просто микрооптимизация, но если вы привыкнете постоянно использовать одинарные кавычки, то сэкономите кучу процессорных циклов!
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🥱1🤓1
🎯 Работай в коротких циклах
Залипаешь на задаче, а потом понимаешь, что полдня ушло, а результата нет?
👉 Совет: используй метод Pomodoro или спринты по 30-40 минут. Устанавливай себе небольшие цели: например, «разобраться с логикой функции», «добавить обработку ошибок». Это удерживает фокус и помогает видеть прогресс.
Залипаешь на задаче, а потом понимаешь, что полдня ушло, а результата нет?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5💯2
Статья объясняет, как создать невероятно быстрый многопоточный Data Grid на 1 000 000 строк с использованием Vanilla JavaScript. Рассматриваются нюансы работы с DOM для повышения производительности.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
✍5👍1
IPC в Node.js — мощный инструмент, но даже у него бывают сюрпризы. В версии 12.16.0 появился режим advanced serialization, но с ним иногда зависают сообщения. Разбираем, почему это происходит и как мы решили проблему.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
Создайте Node.js сервер, который предоставляет API для конвертации валют с фиксированными курсами. Запрос включает исходную валюту, целевую валюту и сумму для конвертации, а сервер возвращает результат.
Требования:
•
GET /convert
:
•
Параметры: from
, to
, amount
.
•
Возвращает результат конвертации.•
Фиксированные курсы валют (например, USD → EUR = 0.85).•
Обработка ошибок: некорректные параметры или неподдерживаемая валюта.Решение задачи
const express = require('express');
const app = express();
const PORT = 3000;
// Фиксированные курсы
const rates = { USD: { EUR: 0.85 }, EUR: { USD: 1.18 } };
app.get('/convert', (req, res) => {
const { from, to, amount } = req.query;
if (!from || !to || !amount || isNaN(amount)) {
return res.status(400).json({ error: 'Некорректные параметры' });
}
const rate = rates[from]?.[to];
if (!rate) return res.status(400).json({ error: 'Валюта не поддерживается' });
const converted = (amount * rate).toFixed(2);
res.json({ from, to, amount: parseFloat(amount), converted });
});
app.listen(PORT, () => console.log(`Сервер: http://localhost:${PORT}`));
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3
• Стили, темы и адаптивная верстка в React Native
• Переводчик текста для терминала
• Элегантная реализация Long Press обработчика с помощью CSS анимации
• Как пересылать сообщения из Telegram в SMS с помощью бота
• Как найти работу мечты системному аналитику?
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье рассказывается, как запустить Pong одновременно в 240 вкладках браузера. Разбираем, как работает синхронизация анимации между окнами, и делимся кодом на GitHub.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Напишите HTTP-сервер на Node.js, который записывает информацию о каждом входящем запросе (метод, URL, время) в текстовый файл
requests.log
. Сервер должен возвращать "Запрос обработан"
на любой запрос.Пример:
node server.js
curl http://localhost:3000/test
curl -X POST http://localhost:3000/api
[2024-11-11T12:00:00Z] GET /test
[2024-11-11T12:00:05Z] POST /api
Решение задачи
const http = require('http');
const fs = require('fs');
const logFile = 'requests.log';
// Создание HTTP-сервера
const server = http.createServer((req, res) => {
const logEntry = `[${new Date().toISOString()}] ${req.method} ${req.url}\n`;
// Записываем лог в файл
fs.appendFile(logFile, logEntry, (err) => {
if (err) {
console.error('Ошибка записи лога:', err.message);
}
});
// Отправляем ответ
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Запрос обработан');
});
// Запуск сервера на порту 3000
server.listen(3000, () => {
console.log('Сервер запущен на http://localhost:3000');
});
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3