Рубрика «Разработка веб-сайтов» - 232

Согласно стандарту HTTP/1.1 метод OPTIONS может быть использован клиентом для определения параметров или требований, связанных с ресурсом. Сервер также может отправлять документацию в удобочитаемом формате. Ответ на запрос OPTIONS может содержать список допустимых методов для данного ресурса в хедере Allow.

То есть этот метод мог бы стать отличным средством для документирования наших REST-сервисов с одной стороны, и быть существенным дополнением к архитектурному ограничению HATEOAS с другой.

А теперь давайте отвлечёмся от страшных слов типа “HATEOAS” и зададимся вопросом: а есть ли какая-нибудь практическая польза от использования метода OPTIONS в веб-приложениях?
Читать полностью »

Программист должен упрощать жизнь пользователю, а не себе.
(конечно, есть нюансы)

Автор статьи

Был ComboBox

Статья описывает идею визуального веб-контрола для выбора элемента из списка. Эта идея о том, как можно эволюционировать ComboBox (он же DropDown, он же select в html) для повышения удобства программного продукта для пользователя – чтобы контрол выбора стал намного удобнее и дружелюбнее при выборе сложных объектов из больших и не очень списков. Ведь задача программиста — в непрерывном улучшении и упрощении жизни пользователя.

Это идея, реализация которой есть только частичная и только для ASP.NET Web Forms в связке с devexpress – поскольку у меня большой бекграунд именно на этой связке технологий.

Эта статья не для тех, кто хочет скопипастить код, нажать F5 и увидеть результат. Ее корректнее всего было бы отнести к документам, которые называют Функциональными Требованиями или даже Функциональным Дизайном. Поэтому, если вам интересен взгляд на эволюцию удобства, то, надеюсь, статья будет полезна.
Читать полностью »

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

image


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

Принудительно вставлять иллюстрации в каждую онлайновую статью — глупая практика.

Картинки и текст часто хорошо дополняют друг друга. У вас статья о чём-то, а картинка показывает эту вещь и во многих случаях помогает её лучше понять. Но в вебе этой логики больше не придерживаются, потому что в какой-то момент решили, что иллюстрации необходимы абсолютно всем текстам. Это может быть знаменитость, отдалённо имеющая отношение к делу. Стоковая фотография человека с каким-то выражением лица. Логотип Sony, представляющий собой просто слово SONY. Я долго думал и пришёл к выводу, что это глупо. Понимаю, что принцип «картинки → клики» святой для индустрии, но создаётся впечатление, что некоторые издатели потеряли чувство собственного достоинства. Если картинка стоит тысячи слов, то мне сложно понять, какова ценность статьи, проиллюстрированный стоковой фотографией.

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

Перед вами — перевод пятого материала из серии, посвящённой особенностям JS-разработки. В предыдущих статьях мы рассматривали основные элементы экосистемы JavaScript, возможностями которых пользуются разработчики серверного и клиентского кода. В этих материалах, после изложения основ тех или иных аспектов JS, даются рекомендации по их использованию. Автор статьи говорит, что эти принципы применяются в ходе разработки приложения SessionStack. Современный пользователь библиотек и фреймворков может выбирать из множества возможностей, поэтому любому проекту, для того, чтобы достойно смотреться в конкурентной борьбе, приходится выжимать из технологий, на которых он построен, всё, что можно.

Как работает JS: WebSocket и HTTP-2+SSE. Что выбрать? - 1

В этот раз мы поговорим о коммуникационных протоколах, сопоставим и обсудим их особенности и составные части. Тут мы займёмся технологиями WebSocket и HTTP/2, в частности, поговорим о безопасности и поделимся советами, касающимися выбора подходящих протоколов в различных ситуациях.
Читать полностью »

Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Дайджест свежих материалов из мира фронтенда за последнюю неделю №288 (6 — 12 ноября 2017) - 1

Читать полностью »

Знакомство с WebAssembly - 1

Эта статья основана на моём выступлении на ITSubbotnik, прошедшем в Рязани 14 октября 2017 года. На русском пока что довольно мало материала на эту тему, надеюсь что статья будет вам полезна.

Disclaimer: Автор не является экспертом ни в WebAssembly, ни в JavaScript. Данная статья есть компиляция мыслей и идей, полученных из выступлений других людей на данную тему, плюс эпизодического опыта изучения WebAssembly в течение нескольких месяцев.

Читать полностью »

image

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

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

Помимо этого рассылки пользователям могут нарушать законодательство. Отметим минимум две проблемы:

  1. Закон «О рекламе» запрещает распространение рекламы по сетям электросвязи, в том числе Интернет при отсутствии предварительного согласия абонента или адресата на получение рекламы (ч.1 ст.18 ФЗ-38).
  2. Закон «О персональных данных» требует получение согласия субъекта персональных данных на обработку его персональных данных и регистрацию в Роскомнадзоре в качестве оператора персональных данных (п.1 ч.1 ст.6 и ч.1 ст.22 ФЗ-152).

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

В мире современных веб-технологий все стремительно развивается и меняется. Пару лет назад совершенно нормальным было по запросу клиента рендерить DOM структуру на сервере (например, при помощи PHP) и отдавать уже полностью сформированную страницу. Сейчас все чаще появляются сайты c полным отделением фронтенда (Angular, React, Vue.js...) от бэкенда (некие API эндпоинты), где на фронтенде почти весь контент формируется посредством скриптов, а сервер отдает только данные по запросу. Тут можно было бы упомянуть SSR (Server Side Rendering), но не об этом данное произведение.

В любые времена перед разработчиками и владельцами сайтов стояла непростая задача: доставить контент как можно быстрее, как можно большему количеству клиентов. Одно из самых правильных решений — использовать CDN (Content Delivery Network) для раздачи статичных файлов. В случае с динамическим рендером страниц на сервере мы должны были ограничиваться небольшим списком объектов, которые можно было разместить в CDN: таблицы стилей, файлы скриптов, изображения. Однако, фронтенд, написанный на Angular (React, Vue.js...), статичен целиком, включая индексную страницу. Вот тут и возникает мысль: а почему бы не организовать раздачу через CDN всего фронтенда?

В данной статье пойдет речь о настройке комплексного решения для разработки, контроля версий, автоматической сборки и доставки статического сайта с использованием Gitlab CI, Amazon S3 и Amazon CloudFront. Также речь пойдет о настройке сопутствующих вещей: git, безопасное соединение по протоколу HTTPS, доменная почта, DNS хостинг, бэкенд сервер…

Если вас заинтересовала эта тема, добро пожаловать под кат.
Осторожно! Много скриншотов.
Читать полностью »

Собрал в кучу свои впечатления от конференции, которая прошла 7-8 ноября.

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

image
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js