Как стать автором
Обновить
317.08

Веб-разработка *

Делаем веб лучше

Сначала показывать
Порог рейтинга
Уровень сложности

История одного компонента

Время на прочтение3 мин
Количество просмотров1.8K

Введение в любой фреймвок начинается с написания одного простого компонента. Чаще всего этим компонентом будет "счетчик нажатий". Это своеобразный "hello world" в мире фронтенд разработки. Именно поэтому я и возьму его за основу данного материала.

Читать далее

Автоматический подбор браузером контрастного цвета в CSS

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров2.1K

Вам когда-нибудь хотелось, чтобы можно было написать простой CSS для объявления цвета, после чего браузер сам бы определял, чёрный или белый должен сочетаться с этим цветом? Теперь это возможно благодаря contrast-color(). В статье мы объясним, как это работает.

Представьте, что вы разрабатываете веб-сайт или веб-приложение, и в дизайне требуется куча кнопок с разными цветами фона. Для обработки цвета фона можно создать переменную --button-color, а затем присваивать ей разные значения.

Иногда фон кнопки будет тёмным цветом, а текст кнопки должен быть белым для создания контрастности. В других случаях фон светлее, поэтому текст должен быть чёрным.

Читать далее

$mol: 10 лет спустя

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров12K

Здравствуйте, меня зовут Дмитрий Карловский и я... всю жизнь занимаюсь открытием исходников. Позвольте немного рассказать о ней. Кого-то эта история вдохновит, кого-то наоборот, но надеюсь никого не оставит равнодушным. Рид будет лонгим. Уж простите, но из реквиема по мечте нот не выкинешь.

Сесть и прочитать

Go-микросервисы: Стандартизация архитектуры с Clean Architecture и DDD

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров7.3K

Go-разработчики часто сталкиваются с парадоксом: изначально простой и понятный проект со временем превращается в сложный для поддержки монолит.

✔️ Бизнес-логика оказывается размазана между слоями?

✔️ Замена базы данных требует переписывания половины кода?

✔️ Новым разработчикам требуется недели, чтобы разобраться в проекте?

В этой статье мы разбираем практическое применение DDD и Clean Architecture в Go. Обсуждаем возможный стандарт структуры микросервиса. Оптимизируем существующие.

🔥 Для разработчиков, которые хотят создавать проекты, остающиеся поддерживаемыми даже через годы развития.

Читать далее

React Labs: View Transitions, Activity и другие обновления

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров2K



В блоге React Labs мы делимся проектами, находящимися на этапе активных исследований и разработки. В этой статье рассказываем о двух новых экспериментальных возможностях, которые уже доступны для тестирования, а также делимся новостями о других вещах, над которыми сейчас работаем.


Сегодня мы рады представить вам документацию по двум новым экспериментальным возможностям, уже доступным для тестирования:


  • View Transitions (переходы между экранами)
  • Activity

А также делимся обновлениями по возможностям, над которыми продолжаем работать:


  • Треки производительности React (React performance tracks)
  • Расширение редактора кода для компилятора
  • Автоматические зависимости эффектов
  • Ссылки на фрагменты (fragment refs)
  • Конкурентные хранилища данных (concurrent stores)

Пример использования View Transitions и Activity в клоне AirBnB
Читать дальше →

ChatGPT vs Гик. Сможет ли AI заменить опытного верстальщика?

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров4.8K
image

Привет, Хабр.


Моя подруга постоянно читает новости о том, что искусственный интеллект заменит какую-то профессию. Тестировщик, программист, дизайнер, писатель и т. д. А сможет ли он заменить опытного верстальщика?


Мне стало интересно, сможет ли ChatGPT написать код, как я. Чтобы мог сказать: «Да, вот это мы допускаем в продакшен».


Добиваться этой цели я буду на примере нескольких популярных паттернов. Я уверен, что фронтендеры постоянно верстают их из проекта в проект. Ещё я честно признаюсь, что у меня мало опыта работы с такими системами. Я новичок. Так что тоже учитывайте это при чтении.


Давайте посмотрим, что в итоге получилось.

Читать дальше →

Observable – не только удобный state-manager

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.4K

Несколько месяцев назад я написал статью — «Observable — удобный state‑manager», что было скорее заметкой, и за что мне здорово досталось в комментариях! Уважаемым комментаторам — спасибо, я постарался учесть все замечания.

Сегодня представляю вам kr‑observable 2.0 — библиотеку для реактивного программирования на JavaScript. И удобный state-manager тоже.

Читать далее

Веб-разработка на ванильном HTML, CSS и JavaScript: стилизация и сайты

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров4.7K

Это вторая статья из цикла переводов о веб-разработке на чистых (ванильных) технологиях — без фреймворков и сторонних инструментов, только HTML, CSS и JavaScript. В первой части мы обсудили, почему такой подход может быть разумной альтернативой современным фреймворкам и рассмотрели использование веб-компонентов в качестве базовых строительных блоков для создания более сложных примитивов. В этот раз поговорим про стилизацию, а также деплой компонентов в продакшен без использования сборщиков, фреймворков или серверной логики.
Читать дальше →

Форма на сайте = штраф от 100 тысяч. Многие даже не подозревают

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров76K

Я часто общаюсь с предпринимателями и вижу: даже те, кто давно в бизнесе, не знают, что если на сайте есть форма с запросом имени или телефона — они уже считаются оператором ПД и обязаны соблюдать требования закона.

Многие думают, что формальная политика конфиденциальности, скачанная из интернета, спасёт. Это глубокое заблуждение. Кстати, эти правила касаются не только сайтов — Telegram-ботов тоже , если они собирают данные пользователей.

Читать далее

Разбор полёта: как мы поздравляем с 14 февраля при помощи процедурной анимации

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров519

Каждый год 14 февраля в корпоративной соцсетке Контура лайки (реакции вида «палец вверх») превращаются в вылетающие сердечки. Анимация сердечек настолько залипательна, что способна отвлечь многих сотрудников от работы: по нашим данным они нажимают на лайк снова и снова. Дело в том, что каждый полет сердечек уникален. Давайте расскажу, как это устроено.

Читать далее

Рукописный редактор на Python: инструкция для тех, кто хочет «рисовать» код

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров10K

Привет, меня зовут Лёня! Я автор YouTube‑канала eleday о программировании на Python. Недавно в школе была проверочная работа и мне пришлось писать код на бумаге. Такой подход показался странным: все-таки программа может исполняться только на компьютере и логично набирать ее там же. Подобная цепочка рассуждений привела к интересной идее — редактору рукописного ввода. В этой статье расскажу о задумке и деталях ее реализации. Создадим виртуальный лист, на котором можно набросать код от руки — и он будет исполняться!
Читать дальше →

Декораторы Python. Продвинутое использование

Уровень сложностиСложный
Время на прочтение25 мин
Количество просмотров9.1K

Привет, Хабр! продолжаю цикл статей про python разработку.

В данной статье продолжаю материал прошлой и хочу углубиться в тему декораторов, показать относительно сложные, но применимые в реальной практике примеры использования декораторов, дам небольшую теоретическую базу и некоторое количество ссылок на полезные материалы по теме. Думаю, последние разделы статьи будут полезны даже для опытных разработчиков.

Как обычно буду очень рад критике и предложениям по улучшению материала.

Читать далее

Понимание MVC и MVP (для разработчиков JavaScript и Backbone)

Уровень сложностиСредний
Время на прочтение21 мин
Количество просмотров3.2K

Примечание переводчика. Оригинальная статья была опубликована в 2012 году. Соответственно, актуальность статьи и практическая применимость для современной разработки ставится некоторыми разработчиками под сомнение. В то же время, если, по какой-то причине, вам необходимо ознакомиться с MVC и MVP, данная статья может быть полезна.

Прежде чем изучать какие-либо JavaScript-фреймворки, помогающие в структурировании приложений, может быть полезно получить базовое представление об архитектурных шаблонах проектирования. Шаблоны проектирования являются проверенными решениями распространенных проблем разработки и могут предложить структурные парадигмы, которые помогут нам организовать наше приложение.

Я думаю, паттерны очень интересны, поскольку они фактически представляют собой массовые усилия, опирающиеся на коллективный опыт опытных разработчиков, которые ранее сталкивались с теми же проблемами, с которыми сталкиваемся мы сейчас. Хотя разработчики 10 или 20 лет назад, возможно, не использовали те же языки программирования для реализации паттернов, мы можем извлечь из их усилий много уроков.

В этом разделе мы рассмотрим два популярных шаблона – MVC и MVP. Контекст нашего исследования будет заключаться в том, как эти шаблоны связаны с популярным фреймворком JavaScript Backbone.js, который будет рассмотрен более детально позже.

Читать далее

Ближайшие события

ИИ в Data Governance: как мы ускорили маркировку персональных данных

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.2K

Перед нашей командой встала задача сделать продукт управления данными удобнее, добавив алгоритмы искусственного интеллекта. Но какое решение выбрать? Какой процесс нуждался в автоматизации больше всего? С какими ограничениями и сложностями мы столкнулись? Какой бизнес-эффект мы получили в результате? На эти вопросы ответит статья.

Читать далее

Секреты эффективного кодирования на Go для опытных и новичков: профайлинг, тесты, CI

Время на прочтение11 мин
Количество просмотров4.9K

За последние два года Go-сообщество выросло на 55% — с 3 млн до 4,7 млн разработчиков. Многие пришли в Go из других языков или только начинают свой путь в программировании. Без понимания идиоматики и ключевых особенностей языка даже опытные специалисты нередко сталкиваются с медленным кодом, дедлоками и утечками памяти.

Так что сегодня разберём, как организовывать пакеты, обрабатывать ошибки, безопасно работать с горутинами и каналами, оптимизировать аллокации и профилировать «горячие» участки через pprof. Советы одинаково пригодятся и опытным Golang-разработчикам, и тем, кто только начинает свой путь в Go.

Читать далее

Скам на $700,000 в Solana: как токен с ростом в 4 млрд% обнуляется за секунды

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров49K

Как работает одна из самых массовых скам-схем на Solana?

В неё заливают сотни тысяч долларов ликвидности, рисуют +4 млрд% роста mCap — а на выходе оставляют тебе ноль.

👉 Наткнулся на эту стратегию случайно, пока анализировал скринеры с щиткоинами.. ещё до того, как взялся писать своего арбитражного бота.

Осознанно залетал несколько раз на разные суммы, пытаясь переиграть и заработать, но, естественно, ничего не вышло 😁

Зато копнул глубже, разобрался в деталях как все устроено и получил интересный опыт.

👉 После прочтения статьи сможете лучше понять механику под капотом и обезопасить себя от подобных скам-схем.

(Половина статьи это скриншоты, не пугайтесь обьема)

Читать далее

[НЕ]Вайбкодим анализатор страниц на FastAPI

Уровень сложностиПростой
Время на прочтение16 мин
Количество просмотров1.6K

Приветствую!

В нашем чате "Кот на салфетке" (кстати, заходите — у нас весело) регулярно всплывают бугурты об использовании различных ИИ-агентов (Copilot, Cursor) для написания кода. Главными инициаторами сего действа выступают Сергей и Кавай (расскажите маме, что вы в "тиливизаре").

Они оба проповедуют диаметрально противоположные позиции:

Читать далее

Веб-разработка на ванильном HTML, CSS и JavaScript

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров15K

В этой серии статей мы расскажем, как выполнять веб-разработку исключительно на ванильных технологиях. Ни инструментов, ни фреймворков, лишь HTML, CSS и JavaScript.

Современные фреймворки веб-разработки обладают мощными возможностями для быстрой разработки хорошо структурированных веб-приложений, поэтому они стоят изучения. Однако за эту богатую функциональность приходится расплачиваться сложностью фреймворков и инструментария, а для обеспечения безопасности и актуальности проектов часто требуется регулярная поддержка.

Выбрав ванильный стиль веб-разработки, мы обмениваем кратковременное удобство на такие долговременные преимущества, как простота и практически нулевая поддержка. Такой подход возможен благодаря современному уровню развития браузеров, обеспечивающих превосходную поддержку веб-стандартов.
Читать дальше →

Как настроить автоматическое обновление SSL-сертификатов Let’s Encrypt с помощью Certbot на Ubuntu

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров8.9K

Пошаговое руководство по автоматической генерации и обновлению SSL-сертификатов на Ubuntu с помощью Let’s Encrypt и Certbot. Примеры, cron-задачи, systemd-таймеры и кастомные bash-скрипты — всё, что нужно для бесперебойной работы HTTPS.

Читать далее

Почему не дружат фронтендер и дизайнер: работающие техники общения между отделами

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.8K

Привет! Меня зовут Алексей Песоцкий, я фронтенд-тимлид в AGIMA. Противостояние дизайнеров и разработчиков носит уже почти легендарный характер. Этой теме посвящены десятки статей, видосов и докладов. А отношения отделов ставят в один ряд с другими фундаментальными конфликтами: кошки и собаки, кому дует и кому душно, Хельга и Арнольд. Но мы в компании уверены: чтобы лучше понимать друг друга, нужно просто следовать элементарным правилам.

Я провел небольшой аудит статей по теме, понаблюдал, как эта коммуникация устроена у нас — и решил напомнить всем, почему для дружбы фронтендера и дизайнера нет никаких препятствий.

Читать далее