Все потоки
Поиск
Написать публикацию
Обновить
340.44

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

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

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

Циклические импорты на фронтенде

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

Хочу рассказать о том, какие проблемы при разработке создают рекурсивные зависимости на фронте.

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

Рассмотрим способы разрешения циклических зависимостей и их обнаружение.

Читать далее

SOLID на котиках

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


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

Магия CSS на практике: советы по вёрстке от гика. Часть 5

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


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

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

Next.js v15 — Что Нового (под Капотом)

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

Привет! Это ставшая уже регулярной рубрика о релизах next.js (читайте релизы по v11, v12, v13, v14). Каждый релиз - набор нового, интересного и спорного. Новая версия не станет исключением. Но всё же новая версия интересна не столько новым функционалом, сколько изменением приоритетов и организации в next.js. И да, как вы уже догадались из названия, в значительной части релиз ценен проработкой ошибок и доработками.

В данной статье я не буду останавливаться на том что такое App Router или серверные компоненты - про это подробно расписано в предыдущих статьях. Только про новую версию и только про новые изменения.

Примечание: в статье отражены самые интересные изменения с призмы автора. Здесь разобраны коммиты и PR в ядро next.js, сообщения разработчиков и задачи, поэтому статья отражает больше изменений, чем представлено официально.

Читать далее

1500 часов разработки, 300 часов аналитики и согласование макетов с врачами, чтобы разработать дневник здоровья

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

Привет! Я — Вера Осолодкина, работаю аккаунт-директором в диджитал-продакшене Далее. Сегодня хочу рассказать о разработке медицинского сервиса для МЕДСИ, который из MVP превратился в полноценный продукт. Это один из самых интересных проектов в моем послужном списке и в целом полезная штука для мониторинга своего здоровья. 

Читать далее

Валидация модели данных в ASP.NET Core 8.0 на основе HTMX

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

Валидация данных на стороне сервера с HTMX 2.0. Разбираемся с валидацией модели данных на основе платформы ASP.NET Core.

В статье мы освоим базовую реализацию валидации данных на стороне сервера. На стороне сервера мы используем самый простой способ коммуникации - HTTP.

Знакомство с гипермедийными системами на ASP.NET Core 8.0.

Читать далее

Наш опыт создания контекстного переводчика

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

Все началось осенью 2017 года, тогда у нас уже был опыт разработки веб-приложений. Искали проект, удовлетворяющий следующим условиям:

1. Можно сделать небольшой командой.

2. Проверенная идея и большой потенциал роста.

3. Понимание как сделать лучше.

4. Оптимальное время разработки и выход на самоокупаемость.

5. Отсутствие проблем с правообладателями и законом.

Читать далее

При чем здесь крипта  –  концептуальное SEO WEB 3.0:  в 2025 году все изменится

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

Дж. Биллингс: «Я не предложу и двух центов за простоту по эту сторону сложности, но отдам жизнь за простоту по ту сторону сложности». 

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

В статье:

Почему Google стал таким какой он сейчас

Не даем пользы, а удовлетворяем сиюминутные желания

Как SEO-шник читает твои мысли

Концептуальный подход в SEO  –  это не для всех

Крипта и SEO

Как работать с SEO-специалистом

Читать далее

Как ускорить создание компонентов с помощью Plop-генератора или автоматизация рутинных задач в React

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

Что имеем?

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

Однако, несмотря на наличие единой системы, мы сталкивались с рядом проблем — делюсь тем, как мы их решали...

Ну ка расскажи

Подключение сторонних PHP библиотек в Joomla

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

PHP библиотеки удобны тем, что к ним можно обращаться из любого места Приложения: из плагина, модели компонента, модуля и т.д. В случае, если подобную задачу кто-то уже решал и оформил в виде библиотеки (и даже обновляет её) - имеет смысл подключить в свою Joomla эту библиотеку. Например, вам для разработки способа оплаты интернет-магазина нужна официальная библиотека платёжного агрегатора. Или вас устраивает официальный PHP SDK какой-нибудь CRM.

Читать далее

Что нового в Chrome 130?

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

Вот что вам нужно знать:

Document "picture-in-picture" дает вам больше возможностей для управления окнами "picture-in-picture".

Вложенные объявления в CSS - исправление некоторых сложных ситуаций.

Вы можете задать поведение декораций для элементов, которые разделяются на несколько строк.

И многое другое.

Читать далее

Lorem ipsum dolor sit amet, consectetur adipiscing elit

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

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam erat leo, tempus at malesuada sed, dapibus vitae ipsum. Morbi vitae dignissim lectus. Nulla lectus nisl, pretium sit amet viverra vitae, feugiat quis nunc. In semper justo orci. Praesent ultrices risus eu odio ornare suscipit. Pellentesque dapibus mauris magna. Sed congue, quam ut pharetra euismod, justo augue cursus ex, congue volutpat orci metus non enim. Suspendisse orci justo, vehicula et rhoncus eu, eleifend ut massa. Morbi sodales mauris felis, id tincidunt nulla congue quis.

Читать далее

Тестирование redux store middleware

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

Бывает ситуация, когда нам необходимо протестировать middleware, либо асинхронное событие, которые возникает в хранилище redux.

Цель этой статьи в том, чтобы показать как тестировать action в redux store.

Есть готовое решение, redux-mock-store, но оно не позволяет оперировать реальным хранилищем, через него мы можем только проверить был вызван тот или иной action, а данные которые сохраняем мы в store, не можем проверить.

Читать далее

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

Как я получил 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 мин
Количество просмотров14K


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

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

Руководство по Convex. Часть 1

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


Привет, друзья!


В этой серии статей я рассказываю о Convex — новом открытом и бесплатном решении BaaS (Backend as a Service — бэкенд как услуга), которое выглядит очень многообещающе и быстро набирает популярность среди разработчиков.


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


Эта первая часть серии, в которой мы поговорим о функциях и базе данных Convex.

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

Maskito: то, что вы давно искали

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

Во фронтенде часто попадаются сложные формы. Создавая их, мы хотим, чтобы пользователю было удобно все заполнять. Числа нужно правильно форматировать, чтобы с первого взгляда было видно, что нет лишнего нолика. Когда вводишь номер кредитной карты, сверять его удобно блоками по 4 цифры, как он напечатан на пластике. Пользователь может вбивать номер телефона, дату рождения, номер паспорта и тому подобное — существует масса случаев, когда пользовательский ввод нужно форматировать на лету. Этим занимается маска.

Найти хорошее решение данной задачи — дело непростое. Часто библиотеки маскирования могут разочаровывать как разработчиков, так и пользователей. Общие проблемы включают скачущий курсор, трудности с добавленными символами, такими как дефисы или скобки, автозаполнение браузера, ошибки в серверной отрисовке и запутанный API.

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

Читать далее

Улучшаем процесс ревью в команде

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

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

Что же можно сделать в каждой из трех ролей, чтобы все остались довольны (и целы)?

Читать далее

Использование AI для интернационализации (i18n) вебсайта

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

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

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

Читать далее

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

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

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

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