MVP на Flask, а платите как за стартап: как «простое» приложение вышло на $2000 в месяц
Многие думают, что простой стек = дешёвое обслуживание. Но как только появляются очереди, вебсокеты, графики и AI — даже скромный проект обрастает сервисами и инфраструктурой, а за облачные ресурсы внезапно уходит больше, чем на саму разработку.
В этой статье — путь от MVP на Flask до продакшна с Kubernetes, балансировкой и мониторингом, который стоит как SaaS среднего уровня.
А сколько стоит поддержка вашего проекта?
#бэкенд #инфраструктура #devops
Многие думают, что простой стек = дешёвое обслуживание. Но как только появляются очереди, вебсокеты, графики и AI — даже скромный проект обрастает сервисами и инфраструктурой, а за облачные ресурсы внезапно уходит больше, чем на саму разработку.
В этой статье — путь от MVP на Flask до продакшна с Kubernetes, балансировкой и мониторингом, который стоит как SaaS среднего уровня.
А сколько стоит поддержка вашего проекта?
#бэкенд #инфраструктура #devops
Как выучить CSS и HTML и стать фронтендером бесплатно, не покупая курсы от онлайн-школ
Можно ли выучить CSS и HTML и стать фронтендером бесплатно, не покупая курсы от онлайн-школ? Узнали у экспертов, какими источниками пользоваться, чтобы начать карьеру во фронтенде: https://tproger.ru/articles/kak-besplatno-vyuchit-html-i-css
#фронтенд
Можно ли выучить CSS и HTML и стать фронтендером бесплатно, не покупая курсы от онлайн-школ? Узнали у экспертов, какими источниками пользоваться, чтобы начать карьеру во фронтенде: https://tproger.ru/articles/kak-besplatno-vyuchit-html-i-css
#фронтенд
Forwarded from Представляешь,
This media is not supported in your browser
VIEW IN TELEGRAM
буквально: *у нас есть Железный человек дома*
Разраб сделал интерфейс для интерактивной работы с БД почти как у Тони Старка. Чуть-чуть лагает, конечно, но завораживает!
@your_tech
Разраб сделал интерфейс для интерактивной работы с БД почти как у Тони Старка. Чуть-чуть лагает, конечно, но завораживает!
@your_tech
#простымисловами: Что такое Web Worker
Web Worker — это способ запустить тяжёлую задачу в браузере в фоновом потоке, не тормозя интерфейс.
Зачем он нужен
В браузере весь ваш JavaScript обычно работает в одном потоке — основном.
И если вы запускаете что-то тяжёлое (например, сложные вычисления или работу с большими данными), страдает весь интерфейс: кнопки не нажимаются, анимации замирают, скролл лагает.
Чтобы избежать этого, тяжёлую работу можно вынести в Web Worker. Тогда основная страница продолжит работать плавно.
Как это работает
Вы создаёте отдельный файл со скриптом, который будет работать в фоне:
А в основном коде:
Всё общение — через
Что можно и нельзя делать в Web Worker:
— Нельзя напрямую работать с DOM (document, window, элементы страницы).
— Нельзя использовать
Зато можно делать:
— Математические расчёты.
— Обработку больших массивов.
— Парсинг JSON, XML.
— Декомпрессию данных.
— Обмен сообщениями с сервером (через fetch, WebSocket).
#webworker #фронтенд
Web Worker — это способ запустить тяжёлую задачу в браузере в фоновом потоке, не тормозя интерфейс.
Зачем он нужен
В браузере весь ваш JavaScript обычно работает в одном потоке — основном.
И если вы запускаете что-то тяжёлое (например, сложные вычисления или работу с большими данными), страдает весь интерфейс: кнопки не нажимаются, анимации замирают, скролл лагает.
Чтобы избежать этого, тяжёлую работу можно вынести в Web Worker. Тогда основная страница продолжит работать плавно.
Как это работает
Вы создаёте отдельный файл со скриптом, который будет работать в фоне:
// worker.js
self.onmessage = function(event) {
const result = event.data * 2;
self.postMessage(result);
};
А в основном коде:
const worker = new Worker('worker.js');
worker.onmessage = (event) => {
console.log('Результат от воркера:', event.data);
};
worker.postMessage(21); // отправляем 21, получаем 42
Всё общение — через
postMessage
и onmessage
. Вы как бы обмениваетесь сообщениями между потоками.Что можно и нельзя делать в Web Worker:
— Нельзя напрямую работать с DOM (document, window, элементы страницы).
— Нельзя использовать
alert
, prompt
, confirm
.Зато можно делать:
— Математические расчёты.
— Обработку больших массивов.
— Парсинг JSON, XML.
— Декомпрессию данных.
— Обмен сообщениями с сервером (через fetch, WebSocket).
#webworker #фронтенд
Одна переменная на три мира: как синхронизировать значение между HTML, CSS и JavaScript
В статье Крис Койер показывает, как установить переменную
#фронтенд #pug #css #javascript
В статье Крис Койер показывает, как установить переменную
size
в Pug и передать её одновременно в HTML (для генерации сетки), CSS (через --size
для настройки grid-template-columns) и JavaScript (через window.size
для навигации по стрелкам). Простой приём, который позволяет управлять интерфейсом из одного источника данных.#фронтенд #pug #css #javascript
This media is not supported in your browser
VIEW IN TELEGRAM
Как работает мой код:
This media is not supported in your browser
VIEW IN TELEGRAM
Video To ASCII Art
Энтузиаст сделал проект, который превращает короткие видео в ASCII-арт. Проект реализован с помощью CSS и JavaScript.
По ссылке можно посмотреть код проекта и попробовать воспроизвести различные видео: https://codepen.io/konstantindenerz/pen/YzgRQZj
#codepen
Энтузиаст сделал проект, который превращает короткие видео в ASCII-арт. Проект реализован с помощью CSS и JavaScript.
По ссылке можно посмотреть код проекта и попробовать воспроизвести различные видео: https://codepen.io/konstantindenerz/pen/YzgRQZj
#codepen
CORS от А до Я: как не ломать фронт ради бэкенда
Ошибка CORS — один из самых частых стоперов на стыке фронта и API. В статье по шагам разбирается, зачем вообще нужен механизм Cross-Origin, какие бывают типы запросов, как устроен preflight и в чём чаще всего ошибаются разработчики. Плюс — готовые конфиги для разных серверов, чтобы настроить CORS правильно с первого раза.
#cors
Ошибка CORS — один из самых частых стоперов на стыке фронта и API. В статье по шагам разбирается, зачем вообще нужен механизм Cross-Origin, какие бывают типы запросов, как устроен preflight и в чём чаще всего ошибаются разработчики. Плюс — готовые конфиги для разных серверов, чтобы настроить CORS правильно с первого раза.
#cors
Чек-лист для проверки доступности вашего сайта для всех пользователей
Хорошая и важная статья, в которой обсуждается доступность сайтов для всех пользователей. Контрольный список включает тестирование с помощью инструментов проверки специальных возможностей, использование семантического HTML, использование альтернативного текста для изображений и пиктограмм и других возможностей.
Несложное, но большое дело — проверить свой сайт на выполнение всех пунктов.
#тестирование #лучшиепрактики #интерфейс
Хорошая и важная статья, в которой обсуждается доступность сайтов для всех пользователей. Контрольный список включает тестирование с помощью инструментов проверки специальных возможностей, использование семантического HTML, использование альтернативного текста для изображений и пиктограмм и других возможностей.
Несложное, но большое дело — проверить свой сайт на выполнение всех пунктов.
#тестирование #лучшиепрактики #интерфейс
Революция в условном рендеринге React
Если вам надоело писать
#react
Если вам надоело писать
if
, &&
и ? :
в каждом React-компоненте, эта статья — находка. Здесь показано, как использовать декларативные абстракции (<Show>
, <Switch>
, <Match>
) в React, вдохновившись стилем SolidJS, чтобы сделать условный рендер читаемым и масштабируемым. А ещё — как эти паттерны можно адаптировать под ваш собственный фреймворк.#react
Перенаправления в Angie: return, rewrite и примеры их применения
Сколько времени вы тратите на настройку
Все подробности — в статье.
#бэкенд #angie
Сколько времени вы тратите на настройку
location
, rewrite
и редиректы в Nginx? Angie упрощает это до пары строк: return 301
для HTTPS, rewrite
с регулярками и даже спец-код 444
для «отсечения ботов». Готовьтесь управлять запросами элегантно и безопасно — без избыточной конфигурации.Все подробности — в статье.
#бэкенд #angie
CSS Custom Highlight API: стилизуйте текст, не ломая DOM
Представьте, что выделять важные фразы можно не вставляя
Подробности по ссылке: https://tproger.ru/articles/css-custom-highlight-api
#фронтенд #css #api
Представьте, что выделять важные фразы можно не вставляя
<span>
, да ещё с управлением из JavaScript. CSS Custom Highlight API позволяет создавать стилизованные диапазоны текста почти без изменений в DOM-структуре. От ::selection
до пользовательских псевдо-элементов стили — всё настраивается через JS и CSS, а документация показывает примеры применения и текущую поддержку браузеров.Подробности по ссылке: https://tproger.ru/articles/css-custom-highlight-api
#фронтенд #css #api
Интересный codepen-проект: Book Writing Animation
Анимация набора текста сделана при помощи пакета
Исходники: https://codepen.io/wakana-k/pen/bGxaoNv
#codepen
Анимация набора текста сделана при помощи пакета
typewriter-effect
. Он позволяет создать зрелищные и динамичные эффекты печати текста на веб-страницах.Исходники: https://codepen.io/wakana-k/pen/bGxaoNv
#codepen
Краткая история JavaScript
В этом году JavaScript исполняется 30 лет. За это время язык прошёл путь от 10‑дневного прототипа до платформы, питающей серверы, приложения и AI-инструменты.
В статье — ключевые вехи эволюции: появление XMLHttpRequest, Node.js, TypeScript, Deno, Bun и даже планы TS на Go. Здесь вы получите не просто хронологию, а понимание, как JavaScript меняет мир разработки.
#javascript #историяit
В этом году JavaScript исполняется 30 лет. За это время язык прошёл путь от 10‑дневного прототипа до платформы, питающей серверы, приложения и AI-инструменты.
В статье — ключевые вехи эволюции: появление XMLHttpRequest, Node.js, TypeScript, Deno, Bun и даже планы TS на Go. Здесь вы получите не просто хронологию, а понимание, как JavaScript меняет мир разработки.
#javascript #историяit
CSS-стилизация курсоров нового уровня
Представьте не просто смену стрелки, а настоящий динамичный указатель: текст внутри, плавные анимации, фильтры и смена состояния при клике — всё это возможно благодаря JavaScript поверх CSS.
В статье показано, как превратить обычный
#фронтенд #css #ux
Представьте не просто смену стрелки, а настоящий динамичный указатель: текст внутри, плавные анимации, фильтры и смена состояния при клике — всё это возможно благодаря JavaScript поверх CSS.
В статье показано, как превратить обычный
<div>
в кастомный курсор, который отслеживает движение мыши, меняет внешний вид при отдельных состояниях и автоматически отключается на тач-устройствах и при запросе снижения анимации. #фронтенд #css #ux
Forwarded from Код найма
Хватит искать работу в одиночку!
Ты крутой айтишник, но поиск работы превращается в квест: бесконечные резюме, где важны не навыки, а кейворды, десятки собеседований и постоянный стресс. Знакомо? Всё это выматывает и демотивирует. Мы тебя понимаем — и готовы поддержать!
Команда Tproger открывает первое реалити-шоу в Телеграм о поиске работы — «Код найма».
Вместе с опытными менторами ты пройдешь все этапы найма:
➡️ Прокачаешь резюме так, чтобы его заметили
➡️ Научишься проходить собеседования без волнения
➡️ Получишь честную обратную связь от рекрутеров
➡️ И, главное, дойдёшь до оффера в компании мечты!
Весь путь будет проходить на глазах у подписчиков канала — они тоже смогут давать советы и поддерживать тебя.
Хочешь стать героем нашего реалити и получить шанс найти работу мечты?
✍️ Заполняй анкету
Мы выберем трёх участников, которым поможем пройти весь путь до оффера.
Присоединяйся к «Коду найма» — и пусть твой следующий оффер станет началом новой жизни!
Ты крутой айтишник, но поиск работы превращается в квест: бесконечные резюме, где важны не навыки, а кейворды, десятки собеседований и постоянный стресс. Знакомо? Всё это выматывает и демотивирует. Мы тебя понимаем — и готовы поддержать!
Команда Tproger открывает первое реалити-шоу в Телеграм о поиске работы — «Код найма».
Вместе с опытными менторами ты пройдешь все этапы найма:
Весь путь будет проходить на глазах у подписчиков канала — они тоже смогут давать советы и поддерживать тебя.
Хочешь стать героем нашего реалити и получить шанс найти работу мечты?
✍️ Заполняй анкету
Мы выберем трёх участников, которым поможем пройти весь путь до оффера.
Присоединяйся к «Коду найма» — и пусть твой следующий оффер станет началом новой жизни!
Please open Telegram to view this post
VIEW IN TELEGRAM
Репозиторий, в котором собраны лучшие практики по тестированию JavaScript и Node.js приложений
Подборка советов составлена на основе десятков статей, книг и инструментов:
— cтруктура тестов,
— тесты для бэкенда и микросервисов,
— UI-тесты для веб-компонентов,
— анализ эффективности тестов,
— настройка CI.
Сохраните, чтобы не потерять: https://github.com/goldbergyoni/javascript-testing-best-practices
#javascript #nodejs #тестирование #лучшиепрактики
Подборка советов составлена на основе десятков статей, книг и инструментов:
— cтруктура тестов,
— тесты для бэкенда и микросервисов,
— UI-тесты для веб-компонентов,
— анализ эффективности тестов,
— настройка CI.
Сохраните, чтобы не потерять: https://github.com/goldbergyoni/javascript-testing-best-practices
#javascript #nodejs #тестирование #лучшиепрактики
Forwarded from Точка входа в программирование
Бэкенд без боли: что нужно знать фронтендеру
Вы начали разбираться во фронтенде, уже пишете интерфейсы и подключаете данные. Но тут появляется слово вроде «rate limiting» — и всё, паника.
На этом этапе многим не хватает простой вещи — базового словаря. Понять, что происходит «на той стороне», помогает даже знание пары ключевых терминов.
Этот материал — как мини-гид по миру бэкенда для тех, кто с ним только начинает сталкиваться. Без лишней теории, коротко, по делу, простыми словами. Чтобы не просто копировать чужие fetch-запросы, а понимать, как всё устроено.
#фронтенд #бэкенд
Вы начали разбираться во фронтенде, уже пишете интерфейсы и подключаете данные. Но тут появляется слово вроде «rate limiting» — и всё, паника.
На этом этапе многим не хватает простой вещи — базового словаря. Понять, что происходит «на той стороне», помогает даже знание пары ключевых терминов.
Этот материал — как мини-гид по миру бэкенда для тех, кто с ним только начинает сталкиваться. Без лишней теории, коротко, по делу, простыми словами. Чтобы не просто копировать чужие fetch-запросы, а понимать, как всё устроено.
#фронтенд #бэкенд
Vue Watch & WatchEffect: не просто реактивность — гибкий контроль
Как работают
#фронтенд #vue
Как работают
watch
и watchEffect
можно узнать из документации Vue. А в этой статье вы узнаете, как их можно применять не просто для отслеживания переменных, а чтобы контролировать API-запросы, выполнять побочные эффекты и управлять логикой реактивности в Vue, избегая грязного кода.#фронтенд #vue