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

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

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

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

Парольная защита статичной HTML-страницы на JS

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


Обычно парольная защита производится через веб-сервер, который проверяет пароль и выдаёт контент. Стандартный способ: .htaccess и htpasswd. Но что, если нужно выложить зашифрованную веб-страницу и файлы на публичном хостинге, где у нас нет контроля над сервером? Эту проблему решают инструменты StatiCrypt и Portable Secret.

Для шифрования HTML перед публикацией StatiCrypt использует AES-256 и WebCrypto, а расшифровка происходит с помощью ввода пароля в браузере на стороне клиента, как показано в демо (пароль test).

StatiCrypt генерирует статическую страницу, которую можно безопасно заливать на любой хостинг, в том числе бесплатный сторонний хостинг, такой как GitHub Pages.
Читать дальше →

Новости

PHP Typed: Маленький Composer пакет, который нарушает PHP правила ради вас

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

Звучит слишком громко? Давайте уточним, чтобы избежать обманутых ожиданий: этот пакет использует немного магии вне Хогвартса, и будет действительно полезен любителям строгой типизации в PHP.

Читать далее

Как Ultimatum помогает бороться со слежкой в сети

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

image


Добрый день! Меня зовут Тимур и я программист.


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

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

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

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

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

Читать далее

Идемпотентность: искусство не менять мир дважды

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

Привет! Я - Лера, и я — человек, который однажды понял, что прошлый опыт не помешает построить что‑то новое. Эту статью я пишу для тех, кто хочет разобраться в сложных понятиях простыми словами.

Идемпотентность стала моей «любимой» темой после одного из первых собеседований, где меня попросили объяснить её так, чтобы понял кот. Тогда это было для меня вызовом, но спустя время я поняла, что вдохновение приходит из простых вещей и самый простой способ объяснить их — через примеры, которые мы видим каждый день.

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

Читать далее

Как эффективно управлять видеопотоком с веб-камеры в браузере

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

Веб‑технологии, такие как Media Capture and Streams API (или просто MediaStream API), открывают большие возможности для работы с видеопотоком в браузере. Они позволяют легко захватывать видеопоток с веб‑камеры и использовать его для создания мощных и интерактивных веб‑приложений. Однако несмотря на широкую доступность этих API их эффективное использование остаётся непростой задачей.

Меня зовут Артем Шовкин, я RnD‑разработчик в СберТехе. В процессе изучения MediaStream API наша команда столкнулась с рядом интересных вопросов. Как эффективно управлять параметрами видеопотока в зависимости от возможностей устройства и сети? Какие подводные камни возникают при кроссбраузерной реализации? Как лучше всего обрабатывать ошибки при работе с видеопотоком?

Мы решили не просто разобраться в работе API, но и в деталях изучить спецификацию Media Capture and Streams, чтобы понять, как она используется в реальных приложениях. В статье мы также использовали код исходников реализации getUserMedia.

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

Поехали!

Читать далее

Чек-лист по запуску нового сайта: что нужно учесть?

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

Запуск нового сайта — момент ответственный. Надо сделать 1000 и 1 дело. Чтобы вы не потерялись в дедлайнах и задачах, вот вам чек-лист. Подрядчикам он поможет структурировать все действия, а заказчикам — понять и проверить, все ли пожелания учла команда разработки.

Читать далее

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

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

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

Читать далее

Чистая архитектура фронтенд приложений. Часть первая

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

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

Часть 2

Интернационализация (i18n) бэкенда в Express с использованием Intlayer

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

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

Читать далее

Переводим 50 приложений на Module Federation и ничего не ломаем

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

Привет, меня зовут Степан, я главный frontend-разработчик в Альфа-Банке. Проектом, о котором пойдёт речь, занимается наша команда. Только фронтенд-разработчиков в ней 60. Множество команд поддерживают более 50 приложений, приносящих прибыль бизнесу.

У нас ранее были микрофронты, но они были построены не на WMF. Не вдаваясь в документацию, давайте покажу, как всё было устроено, чтобы описать причины переезда. Думаю, будет интересно, учитывая, что проект большой.

Я расскажу о микрофронтендах и сопутствующей концепции Model Federation на примере большого проекта.

Читать далее

Vite 6.0: Новые возможности и будущее веб-разработки

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

26 ноября 2024 года вышла новая мажорная версия инструмента для сборки приложений Vite. Это событие особенно примечательно тем, что это первый релиз после анонса VoidZero, где Even You представил грядущее направление развития основных продуктов.

Далее мы рассмотрим ключевые моменты этого обновления.

Читать далее

Мигрируем с JetBrains PHPStorm на Cursor (VS Code)

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

Разберем, как настроить в Cursor (VS Code) привычные функции JetBrains PHPStorm. Множество описанных в статье функций носит общий характер и не привязано конкретно к PHP, так что будет актуально и для миграции из других продуктов Jetbrains.

Тем не менее, настроим полноценную поддержку php, xdebug, .env, yaml, symfony, git, перенесем хоткеи и тему оформления, поймем, как подключаться к БД и удаленному серверу. Будет небольшое личное сравнение IDE между собой. Функции Cursor затрагивать почти не будем.

Читать далее

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

25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

Хост директивы: ключ к декомпозиции

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

В Angular 15 появилась новая фича, которой не уделяют должного внимания, — Directive Composition API. Она добавляет hostDirectives: [...] в декоратор @Component/@Directive. В этом массиве можно перечислить standalone-директивы, которые хотим автоматически навесить на компонент или директиву. Это позволяет очень удобно декомпозировать логику и открывает много дверей для новых подходов к разработке.

Читать далее

Как мы мигрируем с JQuery на React

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

Вокруг все говорят о серверных компонентах реакта, о серверном рендеринге, и разных новшествах в мире фронтенде. Как будто JQuery в один миг взял и исчез. Несмотря ни на что он всё ещё остаётся самой популярной библиотекой 😅.

Сегодня я вам расскажу, как мы постепенно мигрируем с JQuery на React.

Читать далее

Человек, который контролирует 40% интернета. Восхождение open-source империи

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

В начале 2000-х 19-летний разработчик Мэтт Муленвег форкнул систему управления контентом b2/cafelog, добавив в нее функции, которых, по его мнению, не хватало.

Читать далее

Как же войти в айти в 2025 году и не потратить на это 10 лет жизни

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

Сфера IT продолжает стремительно развиваться (даже слишком), но в России конкуренция за рабочие места в этой области становится всё более жёсткой. Тем не менее, даже в условиях высокой конкуренции вы можете добиться успеха, если будете двигаться в правильном направлении. В этой статье я хочу дать пару советов/лайфхаков начинающим специалистам.

1. Выбор ниши

Перед тем как начать обучение, определитесь, кем именно вы хотите работать, вот несколько популярных направлений:

Читать далее

Синонимы, транслит и магия: Как заставить систему читать мысли пользователя

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

Поиск сопровождает практически любую информационную систему — будь то интернет-магазин, таск-трекер, CRM или что-либо другое. Заветная иконка поиска присутствует почти везде.

Читать далее

Как я создала приложение, которое решает, что мне есть

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

Работать на удалёнке прекрасно, за исключением одного — всё время нужно что-то готовить. А для этого — придумать, что бы такого вкусного тебе хотелось съесть сегодня. 

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

Читать далее

Знакомство со слоем абстракции Netflix для хранения временных рядов

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

Netflix продолжает расширять бизнес и диверсифицироваться в различных направлениях, вроде доставки видео по запросу и гейминга. В результате всё важнее становятся технологии, обеспечивающие загрузку временных (темпоральных) данных в системы компании и их хранение. Речь идёт об огромных объёмах данных, измеряемых петабайтами. А задержки доступа к этим данным должны укладываться в миллисекунду. В предыдущих материалах мы рассказывали о нашем слое абстракции для хранения данных типа «ключ-значение», и о платформе, реализующий возможности шлюза данных. И то и другое — это неотъемлемые части подсистемы, отвечающей в Netflix за работу с данными. Система хранения данных типа «ключ-значение» — это гибкое и хорошо масштабируемое решение для работы со структурированными данными соответствующего формата. А шлюз данных — это платформа, которая даёт компании базовую инфраструктуру, обеспечивающую защиту, настройку, развёртывание компонентов, ориентированных на работу с данными.

Читать далее
1
23 ...

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