Обновить
384.06

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

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

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

Понять TypeScript c помощью теории множеств

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

Я пишу на TS уже довольно давно. Но некоторые вопросы все еще сбивают меня с толку: что такое never, и почему он так странно себя ведет? Чем отличаются any и unknown? Почему const x: {} = true — не ошибка?

Оказывается, если перевести TS на язык теории множеств, всё встанет на свои места!

Читать далее

JavaScript: заметка об операторе конвейера

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


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


В этой небольшой заметке я хочу рассказать вам об одном интересном предложении по дальнейшему совершенствованию всеми нами любого JavaScript, а именно: об операторе конвейера (pipe operator) |>.


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


Если вам это интересно, прошу под кат.

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

Анимация грида в CSS

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

Я рад пролить свет на тот факт, что CSS grid-template-rows и grid-template-columns теперь можно анимировать во всех основных веб-браузерах! Что ж, CSS Grid уже давно технически поддерживает анимацию, ведь она встроена прямо в спецификацию CSS Grid Layout Module Level 1.

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

Пара HTTP-заголовков, о которых, похоже, не знают разработчики

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

Вот какое дело: как показывают мои изыскания, большинство веб-разработчиков поразительно мало знают об HTTP-заголовках или, в целом, о стандарте HTTP. Я имею в виду, что я понимаю то, что во многих университетах и школах, вероятно, этому не учат (там, где я учился, определённо, так и было). А кто будет, сидя дома праздным воскресным утром, думать о том, чтобы развлечь себя чтением стандарта HTTP? Да никто. Знаю, но… есть одно важное обстоятельство: отсутствие хоть какого-то понимания стандарта HTTP — это зияющая дыра в знаниях веб-разработчиков, в знаниях многих из тех, кто это читает. Предлагаю это исправить.

Читать далее

Хватит использовать [a-zа-яё]: правильная работа с символами и категориями Unicode в регулярных выражениях

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

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

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

?

Как мы сайт Альфа-Банка на митапе шатали и нам за это ничего не было

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

6 декабря мы провели митап Alfa Backend Stories на тему отказоустойчивости: поделились «весёлыми» историями про падения и убытки, поговорили о том, как смягчать последствия этих падений, как сэкономить, переехав с одной БД на другую, «в прямом эфире» пытались сломать сайт Альфа-Банка. 

Для тех, кто не смог прийти, прикладываем записи докладов (и ссылку на фотоотчёт по традиции).

Читать далее

Искусственный интеллект как React-разработчик

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


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


Представляю вашему вниманию перевод этой замечательной статьи, в которой автор просит ChatGPT разработать компонент модального окна на React.


ChatGPT — это чат-бот с искусственным интеллектом, разработанный компанией OpenAI и способный работать в диалоговом режиме, поддерживающий запросы на естественных языках. ChatGPT — большая языковая модель, для тренировки которой использовались методы обучения с учителем и обучения с подкреплением. Чат-бот основывается на другой языковой модели от OpenAI GPT-3.5 — улучшенной версии модели GPT-3.


ChatGPT был запущен 30 ноября 2022 года и привлек внимание своими широкими возможностями: написание кода, создание текстов, возможности перевода, получения точных ответов и использование контекста диалога для ответов, хотя его фактическая точность подверглась критике (источник — Википедия).


Интересно? Тогда прошу под кат.

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

Цепи Маркова: как использовать силу анализа ссылок в SEO

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

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

Читать далее

Не пытайтесь обезопасить ввод. Экранируйте вывод

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

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

Читать далее

PHPStorm + XDebug + Docker

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

Ещё одна статья на избитую тему? Да! Потому что за два часа поиска не нашёл ни одной, по которой можно было пройтись от и до и получить работающее окружение.

Шагов, на самом деле, немного, все очень простые, нужно лишь...

Читать далее

Joomla-дайджест. 2-е полугодие 2022

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

Все главные новости из мира Joomla с момента выхода предыдущего дайджеста 24 августа 2022 года в одной статье. Традиционно наш дайджест обозревает новости, расширения, шаблоны и статьи из мира Joomla. Новости расширений, расширения для электронной коммерции и интеграций с Битрикс 24 и AmoCRM, справочные материалы и туториалы, REST API Joomla 4 для разработчиков и многое другое в этой дайджесте.

Читать далее

Микрофронтенды с Module Federation: истории внедрения в готовый проект и создания с нуля

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

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

Читать далее

Разработка клиент-серверного приложения с помощью Next.js и TypeScript. Часть 1. Разработка сервера

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


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


В этой серии из 2 статей-туториалов мы с вами разработаем клиент-серверное (фуллстек — fullstack) приложение с помощью Next.js и TypeScript.



  1. Наше приложение будет представлять собой блог — относительно полноценную платформу для публикации, редактирования и удаления постов.
  2. Мы реализуем собственный сервис аутентификации на основе JSON Web Tokens и HTTP-куки.
  3. Данные пользователей и постов будут храниться в реляционной базе данных SQLite.

В первом туториале мы подготовим и настроим проект, а также реализуем серверную часть приложения с помощью интерфейса роутов (API Routes), во втором — разработаем клиента и проверим работоспособность приложения.


Обратите внимание: данный туториал рассчитан на разработчиков, которые имеют некоторый опыт работы с React и Node.js.


Для тех, кого интересует только код, вот соответствующий репозиторий.


Интересно? Тогда прошу под кат.

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

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

Все еще работаете с access token на клиенте? Тогда мы идем к вам

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

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

В статье рассмотрим причины необходимости работы с токеном на клиенте веб-приложений, узнаем ,что лучше для хранения токена: localStorage, sessionStorage или cookie без флага HttpOnly (спойлер, ничего из этого), а также посмотрим на меры воздействия, которые можно использовать для снижения риска утечки токена посредством различных уязвимостей.

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

Читать далее

Топ-15 шпаргалок для программистов и WEB-разработчиков

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

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

Если вам не хочется делать заметки самим, то не стоит беспокоиться, потому что шпаргалки доступны по любому предмету в Интернете. Чтобы помочь вам в учебе, я составила этот список лучших шпаргалок.

Хватит разговоров, давайте перейдем к делу.

Читать далее

Пет-проект, который пока не умер

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

Представьте, что вы решили завести маленький пет-проект. Вернее даже не вы решили, а вас попросила матушка помочь с одной рутинной задачей, которая возникает в ее браузерной игре. Вам увиделось множество вещей, которые можно автоматизировать и оптимизировать в процессе, который может занимать до 6 часов непрерывного и утомительного труда в день, и так родился проект.

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

Читать далее

Мы сделали свой конструктор лендингов. Зачем, если их и так много, и что получилось

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

Всем привет! Меня зовут Павел Комягин, и я — тимлид команды разработки внутренних продуктов в Нетологии. Раньше на правки лендингов в нашей компании тратилось 3–4 часа разработки и тестирования в неделю. Не было единого стиля оформления, всё делалось вручную, а разработчики были постоянно в аврале.  

Однажды я вместе с дизайнером, с которым мы в паре делали лендинги, за 3 недели создал MVP конструктора страниц, который мы развиваем больше 6 лет и который позволяет собирать страницы продуктов без участия разработчиков за считанные часы. Подробнее обо всём рассказываю в этом посте. 

Спойлер: на конструкторе уже создано почти полторы тысячи страниц.  

Читать далее

Шэрим стейт между хуками в React

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

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

Читать далее

Обзор механизма подписания документов ЭЦП с применением QR кодов через приложение eGov mobile (aka QR-подписание)

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

Осенью 2022 года в Казахстане был анонсирован новый механизм подписания электронных документов - QR-подписание. Я расскажу о том, что это такое, как оно работает и как можно его опробовать.

Читать далее

3D-слайдер на CSS

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

Напишем слайдеры изображений на чистых HTML и СSS. Меняем только CSS, разметка в HTML остается неизменной. Внешний вид из-за разного CSS при этом разительно различается, а в слайдеры можно вставить неограниченное число картинок. Сначала мы создали круговой слайдер с бесконечным вращением, похожий на виджет-спиннер с изображениями. Затем мы сделали слайдер, пролистывающий стопку фотографий. Продолжение — к старту курса по Fullstack-разработке на Python.

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

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