Как стать автором
Поиск
Написать публикацию
Обновить
435.83

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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


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


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


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


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

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

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

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

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

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

Ошибки, которые я совершил, пытаясь быть «слишком правильным» в разработке

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

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

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

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

Читать далее

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

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


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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Современное оборудование невероятно быстрое. 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 мин
Количество просмотров12K

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

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

Читать далее

SOLID на котиках

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


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

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

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

Привет, меня зовут Дэниел, мне пятнадцать лет, я имею опыт программирования, в свободное время занимаюсь поиском багов. В посте я расскажу безумную историю о том, как обнаружил один баг, затронувший больше половины компаний из списка 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 мин
Количество просмотров13K


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

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

Пишем одностраничное приложение с помощью htmx

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

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

Разработчики dzen.ru, что с вами не так?

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

Приветствую, Хабравчане!

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

Читать далее

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