• Пришёл на вакансию дизайнера, а стал питонистом: как IT-специалисты нашли свою первую работу
• На сколько денег может рассчитывать ИТ-предприниматель в разных ветках развития
• Анализ задачи с собеседования в Google: конь и телефонные кнопки
• Быстрый старт в QA Fullstack: чем вооружиться будущему стажеру в Альфа-Банке
• Как убить самоорганизацию в команде: вредные советы для лидера
Please open Telegram to view this post
VIEW IN TELEGRAM
Якорные ссылки — простой способ создать навигацию по странице. Например, в оглавлении можно использовать якорные ссылки для перехода к различным разделам страницы.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
В статье разберемся, что такое stackless и stackful корутины, их основные отличия, плюсы и минусы. Я объясню это простым языком, чтобы даже сложные концепции многопоточности были легко понятны.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1
В статье рассматривается, как с помощью ChatGPT можно автоматизировать генерацию однотипного кода для телеграм-ботов, ускорить процесс разработки и избавиться от рутинных задач при работе с шаблонами.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Кажется, что старый кусок можно сделать красивее и лаконичнее? Но ты даже не уверен, что он ещё актуален.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👎2👍1
Если ты хочешь стать настоящим мастером API, тебе нужно знать о паттерне BFF. В этой статье рассказываем, как создавать управляемую архитектуру с использованием BFF, избегая избыточной сложности и головной боли при поддержке.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте приложение на Node.js, которое принимает URL в качестве аргумента командной строки, загружает HTML-контент по указанному URL, подсчитывает количество тегов на странице и сохраняет результат в tags.json.
•
node app.js report https://example.com
— сохраняет количество тегов HTML-страницы в файл tags.json.•
node app.js print https://example.com
— выводит статистику по тегам на странице в консоль.Решение задачи
const https = require('https');
const fs = require('fs');
const { JSDOM } = require('jsdom');
const action = process.argv[2];
const url = process.argv[3];
function fetchHtml(url) {
return new Promise((resolve, reject) => {
https.get(url, (res) => {
let data = '';
res.on('data', (chunk) => (data += chunk));
res.on('end', () => resolve(data));
}).on('error', (err) => reject(err));
});
}
async function report(url) {
try {
const html = await fetchHtml(url);
const dom = new JSDOM(html);
const tags = Array.from(dom.window.document.getElementsByTagName('*')).map(el => el.tagName);
const tagCount = tags.reduce((acc, tag) => {
acc[tag] = (acc[tag] || 0) + 1;
return acc;
}, {});
fs.writeFileSync('tags.json', JSON.stringify(tagCount, null, 2));
console.log('Статистика сохранена в tags.json');
} catch (err) {
console.error('Ошибка:', err);
}
}
async function print(url) {
try {
const html = await fetchHtml(url);
const dom = new JSDOM(html);
const tags = Array.from(dom.window.document.getElementsByTagName('*')).map(el => el.tagName);
const tagCount = tags.reduce((acc, tag) => {
acc[tag] = (acc[tag] || 0) + 1;
return acc;
}, {});
console.log('Статистика по тегам:', tagCount);
} catch (err) {
console.error('Ошибка:', err);
}
}
if (action === 'report') {
report(url);
} else if (action === 'print') {
print(url);
} else {
console.log('Используйте команды: report <URL> или print <URL>');
}
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
В статье объясняется, как деструктуризация массивов может замедлить JavaScript код. Рассматриваются различия в байткоде и проводится тест, показывающий, почему ArrayAssignmentPattern не всегда оптимален.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
В статье рассказывается о создании системы для поиска недооценённых акций на российском рынке, используя данные аналитиков. Рассматривается, как собирать прогнозы для 89 акций с Московской биржи и анализировать их точность.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье рассказывается о крупной фронтенд-команде, которая работает с микросервисами и общей дизайн-системой. Несмотря на стандарты, возникали проблемы, и статья подробно раскрывает, как они были решены.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В Node.js события обрабатываются с помощью объекта
EventEmitter
. Этот объект позволяет объявлять события и реагировать на них с помощью подписок. Когда событие происходит, вызываются все функции, подписанные на него. Это важный механизм для асинхронной архитектуры.const EventEmitter = require('events');
const emitter = new EventEmitter();
emitter.on('event', () => {
console.log('Событие произошло!');
});
emitter.emit('event'); // "Событие произошло!"
🗣️ EventEmitter широко используется в Node.js для асинхронной обработки и реакции на различные события в системе.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
В статье рассматривается "React Selfie AI Background Remover" — компонент, использующий TensorFlow.js для удаления фона в браузере. Основные фишки: точная сегментация с MediaPipe, легкая интеграция в React и live demo.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье рассказывается о реализации ботов для игры "длинные нарды". Автор описывает, как строится архитектура сервера и модули, а также делится особенностями создания ИИ-игроков, которые управляются программой.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
• Сила лидерского слушания
• Как пройти стажировку бизнес- и системного аналитика и не «сгореть» в персональной преисподней
• «Так и знала, что вы — бывший двоечник!» Самые глупые ошибки моей компьютерной молодости
• Что лучше — оценка рекрутера или подбрасывание монетки?
• Мотивационные стили в обучении: почему вам (возможно) не нужны цели или общение с одногруппниками
Please open Telegram to view this post
VIEW IN TELEGRAM
Предлагаем руководство по использованию TypeScript для безопасной для типов сериализации и десериализации данных в формате JSON. Освоение этой стратегии позволит своевременно обнаруживать потенциальные ошибки во время разработки приложения.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Сегодня мы рассмотрим одну из тем, которая, как ни странно, остаётся недооценённой — JSON Schema. Если ты аналитик (или хочешь им быть) и в твоей работе часто мелькают JSON-файлы, то наверняка знаешь, как сложно порой бывает держать всё это под контролем. В этой статье мы разберём всё, что тебе нужно знать про JSON Schema.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
В серверных приложениях на Node.js правильное управление ошибками является критически важным для обеспечения стабильности и безопасности. Ошибки могут возникать в асинхронных операциях, таких как работа с базами данных или сторонними API.
const express = require('express');
const app = express();
app.get('/', async (req, res, next) => {
try {
const result = await someAsyncOperation();
res.send(result);
} catch (err) {
next(err);
}
});
app.use((err, req, res, next) => {
console.error('Ошибка:', err.message);
res.status(500).send('Ошибка сервера');
});
app.listen(3000, () => {
console.log('Сервер запущен');
});
🗣️ В серверных приложениях важно использовать глобальные обработчики ошибок и middleware, чтобы не допустить краха сервера при возникновении исключений в асинхронных запросах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Советы по написанию короткого, лаконичного и чистого кода на JavaScript
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8👎1🐳1
Файл utils2.js, функция handleData, переменная x. Ты и сам не понимаешь, что это значит.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3⚡1
В статье рассматриваются проблемы, которые создают рекурсивные зависимости на фронте. Обсуждаются способы их обнаружения и решения, ведь часто разработчики даже не знают, что в проекте есть циклические зависимости.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM