Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#WebDev
🔥 4 надежных веб-сайта на страже времени разработчика
Разработка проектов может занимать много времени, но правильные инструменты помогают значительно оптимизировать рабочий процесс.
1️⃣ Hidden Tools
Многофункциональный набор инструментов для разработчиков
Веб-сайт с полезными инструментами для ускорения и оптимизации процесса создания. Предоставляет широкий спектр утилит, которые помогают автоматизировать рутинные задачи и повысить продуктивность.
2️⃣ Can I Use
Проверка совместимости с браузерами
Незаменимый сайт для выявления совместимости функциональностей с различными браузерами. Позволяет быстро узнать, поддерживается ли конкретная CSS-функция, JavaScript API или HTML-элемент в разных версиях браузеров.
3️⃣ Dev Hints
Шпаргалки и справочники
Веб-сайт со шпаргалками по различным концепциям, функциям и коду. Содержит краткие и понятные справочники по популярным технологиям, что позволяет быстро найти нужную информацию без долгого поиска в документации.
4️⃣ Bundle Phobia
Анализ размера npm-пакетов
Специализированный веб-сайт для выбора более легких и производительных пакетов npm. Показывает реальный размер пакетов, время загрузки и влияние на производительность приложения, помогая принимать обоснованные решения при выборе зависимостей.
🎙 Новости
📝 База вопросов
Разработка проектов может занимать много времени, но правильные инструменты помогают значительно оптимизировать рабочий процесс.
Многофункциональный набор инструментов для разработчиков
Веб-сайт с полезными инструментами для ускорения и оптимизации процесса создания. Предоставляет широкий спектр утилит, которые помогают автоматизировать рутинные задачи и повысить продуктивность.
Проверка совместимости с браузерами
Незаменимый сайт для выявления совместимости функциональностей с различными браузерами. Позволяет быстро узнать, поддерживается ли конкретная CSS-функция, JavaScript API или HTML-элемент в разных версиях браузеров.
Шпаргалки и справочники
Веб-сайт со шпаргалками по различным концепциям, функциям и коду. Содержит краткие и понятные справочники по популярным технологиям, что позволяет быстро найти нужную информацию без долгого поиска в документации.
Анализ размера npm-пакетов
Специализированный веб-сайт для выбора более легких и производительных пакетов npm. Показывает реальный размер пакетов, время загрузки и влияние на производительность приложения, помогая принимать обоснованные решения при выборе зависимостей.
Please open Telegram to view this post
VIEW IN TELEGRAM
#VScode
SonarLint для VS Code: Надежный помощник для чистого кода
🔍 Что это?
Бесплатное расширение для VS Code, которое ищет баги и уязвимости прямо во время написания. Работает с JavaScript, TypeScript, Python, Java, C++ и другими языками.
✨ Зачем нужно?
- Находит ошибки в реальном времени (например, утечки памяти, SQL-инъекции).
- Подсказывает лучшие практики (стиль, производительность, безопасность).
- Интегрируется с SonarQube/SonarCloud для синхронизации правил.
📎 Ссылка
🎙 Новости
📝 База вопросов
SonarLint для VS Code: Надежный помощник для чистого кода
Бесплатное расширение для VS Code, которое ищет баги и уязвимости прямо во время написания. Работает с JavaScript, TypeScript, Python, Java, C++ и другими языками.
- Находит ошибки в реальном времени (например, утечки памяти, SQL-инъекции).
- Подсказывает лучшие практики (стиль, производительность, безопасность).
- Интегрируется с SonarQube/SonarCloud для синхронизации правил.
Please open Telegram to view this post
VIEW IN TELEGRAM
Visualstudio
SonarQube for IDE - Visual Studio Marketplace
Extension for Visual Studio Code - Advanced linter to detect & fix coding issues locally in JS/TS, Python, Java, C#, C/C++, Go, PHP. Use with SonarQube (Server, Cloud) for optimal team performance.
#Backend
💬 Как сэкономить 100 часов в месяц ?
Устали бороться с дублями в данных? Тратите часы на группировку по датам? Мучаетесь с обновлением таблиц в ETL?
Опытный дата-инженер за 8 лет работы собрал 6 малоизвестных техник SQL, которые решают эти проблемы одним запросом.
1️⃣ Находить и удалять дубли
2️⃣ Получать свежие данные
3️⃣ Группировать по периодам
4️⃣ Создавать кастомные категории
5️⃣ Сравнивать данные между датами
6️⃣ Обновлять таблицы без боли
📎 Статья
🎙 Новости
📝 База вопросов
Устали бороться с дублями в данных? Тратите часы на группировку по датам? Мучаетесь с обновлением таблиц в ETL?
Опытный дата-инженер за 8 лет работы собрал 6 малоизвестных техник SQL, которые решают эти проблемы одним запросом.
Please open Telegram to view this post
VIEW IN TELEGRAM
#Frontend
📎 Как использовать дизайн-токены в React — опыт команды Bit
Дизайн-токены — это стандартизированные значения (цвета, шрифты, отступы), которые помогают создавать единый интерфейс. Они синхронизируют работу дизайнеров и разработчиков, обеспечивая визуальную согласованность.
Интеграция в Bit и React
В Bit дизайн-токены структурированы по типам (цвета, состояния и др.) и работают как часть системы компонентов. Они самодокументируются и легко адаптируются под разные платформы, что ускоряет разработку.
Кросс-платформенные преимущества
Токены позволяют создавать универсальные решения для всех платформ. Разработчики быстро вносят изменения, а дизайнеры контролируют их корректное применение.
Управление в Bit
Токены отделены от тем и передаются компонентам через провайдер. Это позволяет глобально обновлять стили, меняя всего одно значение.
Дизайн-токены в Bit — это мощный инструмент для масштабируемых и согласованных дизайн-систем. Больше можно прочитать в статье⬇️
📎 Статья
🎙 Новости
📝 База вопросов
Дизайн-токены — это стандартизированные значения (цвета, шрифты, отступы), которые помогают создавать единый интерфейс. Они синхронизируют работу дизайнеров и разработчиков, обеспечивая визуальную согласованность.
Интеграция в Bit и React
В Bit дизайн-токены структурированы по типам (цвета, состояния и др.) и работают как часть системы компонентов. Они самодокументируются и легко адаптируются под разные платформы, что ускоряет разработку.
Кросс-платформенные преимущества
Токены позволяют создавать универсальные решения для всех платформ. Разработчики быстро вносят изменения, а дизайнеры контролируют их корректное применение.
Управление в Bit
Токены отделены от тем и передаются компонентам через провайдер. Это позволяет глобально обновлять стили, меняя всего одно значение.
Дизайн-токены в Bit — это мощный инструмент для масштабируемых и согласованных дизайн-систем. Больше можно прочитать в статье
Please open Telegram to view this post
VIEW IN TELEGRAM
#BigData
📝 Как обрабатывать большие данные в Pandas, если они не помещаются в память
Представьте: у вас есть файл с 260 миллионами транзакций, но на компьютере всего 8 ГБ оперативной памяти. Если попробовать загрузить всё сразу — Python просто «упадёт». Что делать?
🔹 Решение: обрабатываем данные по частям
Вместо того чтобы грузить весь файл разом, будем читать его порциями, например по 1 млн строк за раз. В Pandas это делается так:
🔹 Какие задачи можно решать?
1. Сколько всего транзакций? → Считаем строки в каждом куске и суммируем.
2. Сколько потратили за каждый год? → В каждом куске группируем по году и суммируем, потом складываем результаты.
3. Средние траты на развлечения по месяцам? → Фильтруем данные за 2020 год, оставляем только категорию «Развлечения», группируем по месяцам и считаем среднее.
🔹 Почему это работает?
- Не нагружает оперативную память — обрабатывается только небольшая часть данных за раз.
- Можно делать сложные расчёты — главное аккуратно собирать промежуточные результаты.
🔹 Как ускорить?
- Использовать `dtypes` — указать типы данных для экономии памяти.
- Фильтровать данные сразу при чтении — если нужен только 2020 год, не загружайте остальное.
- Параллельная обработка — если компьютер многопроцессорный.
🎙 Новости
📝 База вопросов
Представьте: у вас есть файл с 260 миллионами транзакций, но на компьютере всего 8 ГБ оперативной памяти. Если попробовать загрузить всё сразу — Python просто «упадёт». Что делать?
Вместо того чтобы грузить весь файл разом, будем читать его порциями, например по 1 млн строк за раз. В Pandas это делается так:
import pandas as pd
# Загружаем данные по кускам
chunk_size = 1_000_000 # По 1 млн строк за раз
total_transactions = 0
for chunk in pd.read_csv('transactions.csv', chunksize=chunk_size):
# Обрабатываем каждую порцию данных
total_transactions += len(chunk)
print(f"Всего транзакций: {total_transactions:,}")
1. Сколько всего транзакций? → Считаем строки в каждом куске и суммируем.
2. Сколько потратили за каждый год? → В каждом куске группируем по году и суммируем, потом складываем результаты.
3. Средние траты на развлечения по месяцам? → Фильтруем данные за 2020 год, оставляем только категорию «Развлечения», группируем по месяцам и считаем среднее.
- Не нагружает оперативную память — обрабатывается только небольшая часть данных за раз.
- Можно делать сложные расчёты — главное аккуратно собирать промежуточные результаты.
- Использовать `dtypes` — указать типы данных для экономии памяти.
- Фильтровать данные сразу при чтении — если нужен только 2020 год, не загружайте остальное.
- Параллельная обработка — если компьютер многопроцессорный.
Please open Telegram to view this post
VIEW IN TELEGRAM
#DevOps
🔖 Почему ваш Docker-образ не готов к продакшену
Многие разработчики пишешь Dockerfile по принципу "лишь бы работало". Образ собирается, контейнер запускается, приложение отвечает — всё отлично! Но проходит время, и начинаются проблемы: в CI/CD сборка падает, на другом сервере приложение ведёт себя странно, а размер образа превышает несколько гигабайт.
Основные проблемы, которые убивают стабильность:
▪️ Нестабильные зависимости — когда вы указываете
▪️ Раздутый размер образа — использование "толстых" базовых образов типа
▪️ Неэффективное кеширование — неправильная структура слоёв убивает эффективность кеширования Docker. Если сначала копировать весь код, а потом устанавливать зависимости, то при любом изменении в коде придётся заново устанавливать все библиотеки. Правильный порядок: сначала файлы зависимостей, их установка, и только потом копирование кода приложения.
▪️ Проблемы безопасности — запуск приложения от пользователя root создаёт ненужные риски. Если злоумышленник получит доступ к контейнеру, он автоматически получит максимальные привилегии. Создание отдельного пользователя — простая мера, которая значительно снижает потенциальный ущерб.
▪️ Мусор в образе — отсутствие файла
Готовый к продакшену Docker-образ должен быть предсказуемым, компактным и безопасным. Он собирается одинаково в любой среде, не зависит от внешних изменений и минимизирует поверхность атак. Потратив время на правильную настройку сборки один раз, вы избежите множества проблем в будущем и сэкономите время всей команде.
🎙 Новости
📝 База вопросов
Многие разработчики пишешь Dockerfile по принципу "лишь бы работало". Образ собирается, контейнер запускается, приложение отвечает — всё отлично! Но проходит время, и начинаются проблемы: в CI/CD сборка падает, на другом сервере приложение ведёт себя странно, а размер образа превышает несколько гигабайт.
Основные проблемы, которые убивают стабильность:
FROM python:latest
или FROM node:latest
, вы полагаетесь на удачу. Сегодня latest указывает на одну версию, завтра — на другую. В результате код, который работал вчера, сегодня может не собираться из-за изменений в базовом образе или несовместимости библиотек.ubuntu:latest
или python:3.12
без суффикса приводит к образам весом в гигабайты. Это замедляет развёртывание, увеличивает потребление дискового пространства и создаёт больше точек уязвимости. Альтернативы вроде python:3.12-slim
содержат только необходимые компоненты и весят в разы меньше..dockerignore
приводит к попаданию в образ ненужных файлов: .git директории, кеша IDE, логов, переменных окружения. Это увеличивает размер образа и может случайно включить конфиденциальную информацию.Готовый к продакшену Docker-образ должен быть предсказуемым, компактным и безопасным. Он собирается одинаково в любой среде, не зависит от внешних изменений и минимизирует поверхность атак. Потратив время на правильную настройку сборки один раз, вы избежите множества проблем в будущем и сэкономите время всей команде.
Please open Telegram to view this post
VIEW IN TELEGRAM