Обновить
359.98

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

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

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

Что случилось с легковесными десктопными приложениями? История Electron

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

Electron — это один из самых известных инструментов современного разработчика. Если присмотреться, то это родственник React Native, манящий лозунгом «пиши один раз, запускай везде!», но с гораздо меньшими издержками по сборке и релизу, чем в случае мобильной разработки. Его уникальное преимущество заключается в комбинации Node.js и Chromium, создающей мощную десктопную среду для веб-технологий. Официальный блог Electron не так давно отметил своё десятилетие, что весьма удивляет с учётом того, насколько глубоко этот инструмент успел проникнуть в культуру разработки.
Читать дальше →

Оцените мой инди-стартап для чтения книг в оригинале. Что думаете?

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

1 Приложение Канделибра — 2 Недостатки существующих решений — 3 Сценарий использования — 4 Попытки отыскать целевую аудиторию — 5 Мечты и амбиции — 6 Любопытные проблемы — 7 Заключение

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

Слово «инди» здесь означает, что я работал один. За границей есть такой термин, даже сайт indiehackers.com, а у нас это как-то не распространено. Спасибо всем родственникам и друзьям за советы и тестирование!

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

Читать далее

90% разработчиков не понимают принцип инверсии зависимостей из SOLID. DIP — это не про абстракции

Время на прочтение4 мин
Охват и читатели38K

Зачастую, когда речь заходит про принцип инверсии зависимостей, можно услышать, что инверсия зависимостей (далее DIP) — это что-то там про зависимость от абстракций, и приводятся примеры, где в качестве «плохого» случая, используются конкретные классы, а в исправленном случае, используются абстрактные классы или интерфейсы. Но такая трактовка принципа в корне неверна.

Почему такая трактовка неверна и в чем же суть принципа — об этом и пойдет речь далее.

Читать далее

Будущее микросервисов: уйдем ли мы к монолитам 2.0?

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели30K

Микросервисы или монолит? Споры об архитектуре программного обеспечения не утихают, но с 2018-2020 годов наметился интересный тренд: компании начинают переоценивать сложность микросервисного подхода. Возвращение к монолитам, но уже с учетом современных инструментов, вызывает жаркие обсуждения в техническом сообществе.

В этой статье я не буду защищать какую-либо из сторон. И не буду обещать волшебных решений, которые решат все архитектурные проблемы. Вместо этого разберем, что стоит за модной концепцией «монолиты 2.0», как эволюция технологий меняет восприятие архитектуры и почему возвращение к упрощению может быть выгодным. Добро пожаловать в мир архитектурных компромиссов — подробности под катом.
Читать дальше →

Как превратить свой пет проект из хобби в карьеру

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели22K

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

Меня зовут Алексей Хрисанфов. В этой статье я хочу рассказать почему и как ваши pet-проекты могут стать ключом к развитию вашей карьеры и почему нельзя недооценивать важность pet-проектов.

Читать далее

Как разработчик вышел на $400 000/мес на AI-сервисе для написания эссе

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели26K

Разбираю, как разработчик вывел свой простой сервис для написания эссе в топ Google, несмотря на кучу конкурентов. Монетизировал продукт по подписке $30/мес и вышел на доход более, чем $400 000 в месяц.

Читать далее

Бесплатное обучение фулстек-разработке веб-сервиса с нуля по видео-урокам с исходным кодом и поддержкой

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

TLDR. Я примерно год создавал курс из 141 урока. Курс получился хороший, все кто проходят рады и пишут положительные отзывы. Я пытался его продавать, в лучшем случае у меня получалось отбивать рекламу в ноль. Короче, я хороший разработчик, я хорошо доношу материал, но я плохой маркетолог. Все эти таргреты, ретаргеты, воронки, шморонки — тоска унылая. Мне гораздо веселее и понятнее заработать на создании и запуске IT-продуктов, чему я и учу в этом учебнике. Так что пишу эту статью, чтобы сообщить вам о существовании моего курса и предложить всем желающим абсолютно бесплатно получить от него пользу 🙂

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

Читать далее

Всего несколько строк CSS для плавных переходов между страницами

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели8.6K

Одна строка CSS-кода может обеспечить чёткие переходы между страницами веб-приложений (и сайтов — для тех, кто их обслуживает, есть разница), открывая новые возможности для проектирования и работы. Так что предлагаю разобрать тему переходов между представлениями (View Transitions), обсудив их актуальность и сделав первые шаги при помощи всего одной строки CSS.
Читать дальше →

Готовимся к вопросам по вёрстке на интервью Frontend-разработчика: «Какие знаешь псевдо-классы?»

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели5.2K


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


Недавно у меня появилось желание снова проверить себя и показать сообществу свои ответы на самые популярные вопросы по вёрстке. Может же быть так, что мои ответы были неполными или некорректными. Если это так, то я научусь новому. А если всё хорошо, то они помогут другим людям в подготовке к собеседованию. Кажется, это в любом случае будет полезно.


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


Сегодня я дам ответ на следующий вопрос: «Какие знаешь псевдо-классы?».

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

Как написать Google Calendar на коленке? Обзор FullCallendar

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели5.4K

Привет, Хабр! В свободное от работы время я занимаюсь разработкой своего проекта. На днях мне понадобилось разработать раздел с календарем и задачами, чтобы пользователи могли отслеживать свою деятельность. Увы, но полностью готовых решений я не нашел. API стандартного календаря Google не подходит, так как данные хочу хранить внутри контура проекта.

Спустя несколько часов поисков я наткнулся на плейлист разработчиков из Индии. В жизни все циклично — именно эти видео мне и помогли. Так я познакомился с классной open source-библиотекой FullCalendar, о которой расскажу в этой статье. Если вы уже начали составлять календари на 2025 год, добро пожаловать под кат!
Читать дальше →

Неизвестно полезный CSS. Часть 6

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


Привет, Хабр. Я продолжаю рассказывать про неизвестные широкому кругу разработчиков CSS фишки. Я отбираю их так, чтобы они были полезны в разного рода проектах. Неважно, верстаете ли вы сайт для малого бизнеса или создаёте супермодное React приложение. Они поддерживаются большинством браузеров. Отдельно отмечу, что я не считаю IE11 современным браузером. По этой причине я не учитывал его.

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

Что нового в Strapi 5. Спойлер: стало лучше

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели4.1K

Всем привет! Меня зовут Александр, я фронтенд‑разработчик в KTS.

Не так давно я уже рассказывал про Strapi — одно из ведущих опенсорсных headless CMS‑решений, которое на протяжении долгого времени пользуется большой популярностью у разработчиков. Чуть больше месяца назад разработчики системы представили обновленную версию, и в этой статье я расскажу о фишках, которые появились в Strapi 5.

Неважно, переходите вы на Strapi 5 с предыдущей версии или только начинаете знакомиться с технологией — понимание нововведений в любом случае пойдет вам на пользу, поскольку без них вы не сможете полностью раскрыть потенциал актуальной версии. В этой статье перечислены 10 нововведений в Strapi, о которых вам стоит знать.

Читать далее

Как проводить опросы удовлетворенности среди клиентов: опыт Selectel

Время на прочтение7 мин
Охват и читатели1.1K

Привет! Меня зовут Саша Старикова, я младший исследователь пользовательского опыта в Selectel. Мой отдел собирает обратную связь от клиентов и доносит ее в виде идей и выводов до заинтересованных команд.

Мы работаем как лаборатория внутри компании: коллеги из смежных подразделений обращаются для проведения исследования под ключ или приходят за консультацией. Например, нас могут попросить проверить вопросы для интервью или провести исследование новой главной страницы сайта — недавно выполняли такую задачу. Моя команда помогает организовать опросы и тестирования интерфейсов.

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

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

Я прождал 10 миллиардов тактов и дождался лишь экрана загрузки

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

Современное оборудование невероятно быстрое. M1 Max, на котором я пишу эту статью, работает с частотой 3,2 ГГц. То есть 3,2 МИЛЛИАРДА тактов в секунду. Однако Microsoft Teams требуется 3 секунды, чтобы открыть ссылку, и я отказываюсь верить, что для открытия ссылки требуется 9,6 МИЛЛИАРДА тактов. Очевидно, я упрощаю, но смысл остаётся прежним: как так получается, что оборудование становится быстрее, а приложения — только медленнее?

«Потому, что мы выполняем гораздо больше задач». Так считает любитель позднего капитализма. Позвольте объяснить.

Превосходный пример мощи современного «железа» — это видеоигры. Я могу симулировать огромные 3D-среды с физикой и освещением, полученным трассировкой лучей, при этом играть в реальном времени с друзьями из других штатов и даже стран; вполне доступный компьютер потребительского уровня выдаёт 124 миллионов пикселей в секунду1.

[1. 1080p при 60 FPS = 1920 × 1080 × 60 = 124416000]

Можно посмотреть и в обратном направлении: людям удаётся запускать DOOM на почти любом устройстве с процессором: на калькуляторах, iPod, фотокамерах. Невероятно маломощные, зачастую одноразовые устройства обладают достаточными вычислительными ресурсами, чтобы выполнять сверхсовременную на 1993 год игру. Это не особо удивляет, ведь прошло три десятка лет, но показывает, какой путь мы проделали.

Читать далее

Мощь CSS-масок

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели8.5K

Декабрь 2023 года стал значимой датой в истории развития CSS-свойства mask: все современные браузеры в своих последних версиях обеспечили его полную поддержку, теперь без использования своих вендорных префиксов. А это означает, что данное свойство прочно и надолго вошло в жизнь каждого фронтенд-разработчика. Осталось лишь фронтенд-разработчикам принять его в свою жизнь и перестать его бояться!

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

Читать далее

SOLID на котиках

Время на прочтение7 мин
Охват и читатели30K


Каждый программист хоть раз слышал о принципах SOLID. На собеседованиях и экзаменах в вузах многие из нас пытались вспомнить, о чем же был тот самый принцип Лисков. Однако вряд ли цель преподавателей и интервьюеров — заставить нас заучивать строчки из учебников. SOLID действительно помогает писать качественный код, когда во всем разберешься! Если вы этого еще не сделали, добро пожаловать под кат. Еще раз взглянем на то, как устроены всем известные принципы. Обещаю — без духоты, все рассмотрим на примерах с котиками.
Читать дальше →

Как я получил 50000 + 0 долларов за уязвимость в Zendesk

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели13K

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

Поприветствуйте Zendesk


Возможно, вы уже сталкивались с Zendesk. Это инструмент службы поддержки, используемый одними из самых богатых компаний мира. Он прост в настройке: достаточно указать ссылку на электронную почту технической поддержки компании (вида support@company.com), и Zendesk сразу начнёт обрабатывать входящие письма и создавать тикеты. Вы можете работать с этими тикетами самостоятельно или передавать их команде службы поддержки. Компания Zendesk стоит несколько миллиардов долларов, ей доверяют такие крупные игроки, как Cloudflare.

Лично мне всегда казалось удивительным, что такие огромные компании, стоящие миллиарды долларов, используют сторонние инструменты наподобие Zendesk, а не создают собственные инструменты для работы с тикетами.

Ваше самое слабое звено


Как гласит поговорка, «где тонко, там и рвётся». Так как Zendesk считается базовым инструментом обработки тикетов, компании часто настраивают его, особо не задумываясь. Чаще всего я встречал такую систему: все электронные письма с support@company.com перенаправляются в Zendesk.

Почему это опасно? Многие компании используют свой домен company.com для единого входа (Single Sign-On, SSO), позволяющего сотрудникам быстро выполнять вход во внутренние инструменты. Связывая Zendesk с тем же доменом, компании неосознанно создают потенциальную брешь в защите. Zendesk обрабатывает все письма домена, для которого он был сконфигурирован, поэтому если ваша система SSO не валидирует надлежащим образом адреса электронной почты, то любой, получивший доступ к вашему Zendesk, потенциально может воспользоваться этим для доступа к вашим внутренним системам (подробнее я расскажу об этом ниже).
Читать дальше →

Неизвестно полезный CSS. Часть 5

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели9.2K


Привет, Хабр. Я продолжаю рассказывать про неизвестные широкому кругу разработчиков CSS-фишки. Я отбираю их так, чтобы они были полезны в разного рода проектах. Неважно, верстаете ли вы сайт для малого бизнеса или создаёте супермодное React-приложение. Они поддерживаются большинством браузеров. Отдельно отмечу, что я не считаю IE11 современным браузером. По этой причине я не учитывал его.

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

Как нарисовать квадрат 3 × 3 см на веб-странице*

Время на прочтение5 мин
Охват и читатели21K

* Не привлекая внимания санитаров

Меня зовут Илья, я занимаюсь фронтенд-разработкой вот уже 10 лет. Представьте, что вам нужно сделать стили для печати документов, а бегать к принтеру с линейкой, чтобы убедиться в корректности фактических размеров отдельных элементов, очень не хочется. Было бы куда проще иметь возможность приложить ту же линейку к экрану. Но размеры элементов на экране почти всегда не соответствуют их физическим размерам при печати. Казалось бы, зачем это вообще может быть кому-то нужно. Но это бывает важно. Например, в типографиях.

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

Что ж, вызов был брошен. И я поставил себе задачу (вы же тоже сами ставите себе задачи?) — нарисовать красивый красный квадратик размером 3 × 3 см. Тому, что у меня в итоге получилось, и посвящён мой необычный рассказ. 

Читать далее

Как мы заработали 100 000 рублей за 3 месяца, запустив простой конвертер картинок в США

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

Что мы поняли, запустив простой конвертер картинок за 1 месяц в США. И как заработали 100 000 рублей за первые 3 месяца, хотя вокруг куча бесплатных аналогов.

Читать далее

Вклад авторов