Search
Write a publication
Pull to refresh
19
0
Vladimir @mvs

Creator, founder, developer

Send message

GDPR. Практические советы

Reading time5 min
Views64K
Все слышали о General Data Protection Regulation (GDPR) (Regulation (EU) 2016/679), который вступает в силу 25 мая 2018 года. Штрафы большие и придётся соответствовать. Как и любой официальный документ, он написан сухо и может трактоваться по-разному. За последние полгода провел анализ десятка различных веб-систем на соответствие GDPR, и везде встречались одни и те же проблемы. В связи с этим цель этой статьи не разъяснить, что такое GDPR (об этом уже много написано), а дать практические советы техническим людям, что необходимо сделать в вашей системе, чтобы она соответствовала GDPR.

Пару интересных моментов по регламенту:

  • Если есть хоть один клиент из Европы, чьи персональные данные вы храните, вы автоматически попадаете под GDPR
  • Регламент базируется на трёх основных идеях: защита персональных данных, защита прав и свобод людей в защите их данных, ограничение перемещения персональных данных в рамках Евросоюза (Art. 1 GDPR)
  • UK всё ещё в EU, поэтому подпадает под действие GDPR, после Brexit-а GDPR будет заменён на Data Protection Bill, который по своей сути очень схож с GDPR (https://ico.org.uk/for-organisations/data-protection-bill/)
  • Серьезно ограничивается трансфер данных в третьи страны. Европейская комиссия определяет, в какие “третьи” страны или в какие сектора или организации в этих странах разрешён трансфер персональных данных Art. 45 GDPR. Вот список разрешённых стран.
Читать дальше →

Генерация страниц сайта средствами сервис-воркеров

Reading time12 min
Views19K

(С)

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

  • кэширование страниц сайта для офлайн доступа;
  • ведение учета страниц, доступных офлайн, проброс необходимых данных;
  • мониторинг статуса сети, онлайн или офлайн;
  • общение сервис-воркера со страницами и вкладками, которые он обслуживает;
  • перехват сервис-воркером запроса на открытие адреса /offline/ и генерирование новой страницы прямо на устройстве, без запроса к серверу.

Если тема сервис-воркеров и Progressive Web Apps (PWA) для вас новая, то перед чтением этой статьи необходимо познакомиться с ними поближе.

Меня зовут Рыбин Павел, я работаю во фронтенд-разработке Медиапроектов Mail.Ru Group. Это руководство мне помогали писать грабли, набитые шишки и подводные камни, попавшиеся мне при реализации PWA для мобильной версии Авто Mail.Ru.

В тексте будут встречаться небольшие примеры кода, иллюстрирующие рассказ. Расширенную же демо-версию можно посмотреть на GitHub.
Читать дальше →

Enterprise Architecture vs алхимия предприятия. Ключевые мифы

Reading time29 min
Views28K


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

Это справедливо и для современной дисциплины «Архитектура предприятия», нужно лишь сделать два уточнения: «алхимиками в 21 веке двигало …» и «… понять, как устроено предприятие».


На страницах ИТ-интернета тема Enterprise Architecture (ЕА) — одна из популярнейших. Она дает возможность поговорить о «высоком», — об «архитектурном» подходе, десятках framework, почувствовать себя Архитектором «с большой буквы».

Пишут многие и пишут много. Читатели статей «Архитектура предприятия» одобрительно кивают, восхищаясь … «платьем короля». На «благодатной почве» ЕА развелись всевозможные «архитекторы».

Книги, учебные дисциплины, консалтинговые проекты, группы, консорциумы, целые институты со специализацией ЕА (IFEAD, iEAi и др.), глобальные организации (GEAO), одноименные журналы (Journal of Enterprise Architecture), международные стандарты (ISO 15704, 42010 и др.) и прочее — прочее.

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

Методик, эталонных моделей и архитектурных фреймворков (обычно с окончанием на «AF»: FEAF, TEAF, DoDAF и т.п.) — «как грязи», а реальных результатов посмотреть негде.

Да-да, ключевая особенность этого направления: нет ни одного конкретного полного примера этой самой загадочной enterprise architecture в открытом доступе.

Архитекторы говорят, что это NDA, «большой секрет», ДСП (возможно даже «гос-тайна»). Но как вообще «архитектура» может быть секретной? На то она и «архитектура», чтобы быть узнаваемой: различимой и сопоставимой. А вот «Алхимия предприятия» — как раз и должна держаться в строгом секрете.
Читать дальше →
Альфа-Банк заменил старый монолитный интернет-банк для бизнеса на удобную систему микросервисов. Основная цель - помочь предпринимателям выполнять задачи быстро, качественно и насколько это возможно просто. Чтобы понять, как и для чего сделано обновление, мы на день отправились в гости к команде разработки Альфа-Банка. Оказалось не так уж сложно разрушить стереотип, что предприниматели – сверхзанятые люди, которые не могут долго общаться, приходить на интервью и тестировать новые фичи.
Подробности – под катом

Автоматизированная корректировка отступов в верстке на основании типографических стилей и текстовых метрик

Reading time19 min
Views8.5K
Организация отступов при верстке и композиции элементов на странице требует определенной сноровки, чтобы обеспечить правильные комбинации и желаемый результат.

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

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

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

Руководство по написанию защищённых PHP-приложений в 2018-м

Reading time18 min
Views59K

Приближается 2018 год, и технари — в частности веб-разработчики — должны отбросить многие старые методики и верования в сфере разработки защищённых PHP-приложений. Особенно это относится ко всем, кто не верит, что такие приложения вообще возможны.


Это руководство — дополнение к электронной книге PHP: The Right Way с сильным уклоном в безопасность, а не общие вопросы программирования на PHP (вроде стиля кода).

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

Оставайся ленивым с angular/cli

Reading time3 min
Views15K
Для запуска приложения Angular 5 на сервере node.js необходимы:


* следуя рекомендациям сайта будет установлена версия 1.2 Ленивцам вроде меня нужна версия 1.6*.

Подробности под спойлером
Если ng (angular/cli) уже установлен. Проверьте версию

ng -v

Если версия <1.6 — обновимся

npm uninstall -g @angular/cli
npm cache
npm cache verify
npm i -g @angular/cli@latest

Проверим результат

ng -v

Если версия > 1.6 — цель достигнута.

** опционально, но с ним быстрее

Шаг 1. Развертываем новое приложение


Вообще говоря, заголовок слишком громкий для необходимых действий.
Читать дальше →

Организация отступов в верстке (margin/padding)

Reading time4 min
Views187K


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

Ниже перечисленные принципы выполняются в среде позиционирования элементов на странице. В элементах декора тоже выполняются. Но не так категорично.
Читать дальше →

Список лучших инструментов для web-анимации

Reading time5 min
Views49K
image

Список лучших инструментов для web-анимации. SVG/CSS/Canvas/DOM анимация + GUI инструменты для генерации кривых Безье и CSS анимации.

Репозиторий: github.com/sergey-pimenov/awesome-web-animation
Страница-каталог: awesome-web-animation.netlify.app

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

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

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

Инверсия зависимостей в мире фронтенда. Лекция Яндекса

Reading time9 min
Views45K
Паттерны инверсии контроля (dependency inversion, DI) известны уже давно, но пока не нашли широкого распространения в мире фронтенда. Этот доклад отвечает на вопрос о том, как за счет возможностей JS построить надежную архитектуру на основе DI-контейнера. Автор доклада — Евгений ftdebugger Шпилевский, руководитель группы разработки интерфейсов в Яндекс.Коллекциях.


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

За что я люблю именно Mithril (он же MithrilJS)

Reading time6 min
Views13K

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


На написание статьи меня подтолкнули простые причины: идет война за сердца и умы разработчиков, и многие уважаемые софтверные гиганты считают своей обязанностью облегчить участь девелопера (что хорошо, кстати). При этом не стесняясь сломать ему мозг и нервную систему (а вот это не очень). Так сказать, во имя счастья будущих поколений. Может быть, я ошибаюсь, но хочу поделиться с вами информацией об инструменте, который достаточно давно открыл для себя и с тех пор не ем кактусы, как те мыши: Mithril (MithrilJS).

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

Lean Big Data на 6 сервисах Google

Reading time5 min
Views20K
image

Здравствуй Хабр! Хочу рассказать как мы делали свою собственную Big Data.

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

И да, секрет в том, что используется 6 сервисов гугла и собственного кода почти не писалось.
Читать дальше →

Как мы построили облачную инфраструктуру обработки данных для кросс-продуктовой аналитики

Reading time10 min
Views20K

image


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

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

Что можно узнать о квартире из открытых справочников

Reading time6 min
Views59K


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

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

Все справочники из этой статьи бесплатны и открыто лежат в интернете. Ни один не украли из ФСБ таинственные хакеры.
Шагнуть в мир открытых справочников

Автономный способ обхода DPI и эффективный способ обхода блокировок сайтов по IP-адресу

Reading time7 min
Views757K
Провайдеры Российской Федерации, в большинстве своем, применяют системы глубокого анализа трафика (DPI, Deep Packet Inspection) для блокировки сайтов, внесенных в реестр запрещенных. Не существует единого стандарта на DPI, есть большое количество реализации от разных поставщиков DPI-решений, отличающихся по типу подключения и типу работы.

Существует два распространенных типа подключения DPI: пассивный и активный.

Пассивный DPI

Пассивный DPI — DPI, подключенный в провайдерскую сеть параллельно (не в разрез) либо через пассивный оптический сплиттер, либо с использованием зеркалирования исходящего от пользователей трафика. Такое подключение не замедляет скорость работы сети провайдера в случае недостаточной производительности DPI, из-за чего применяется у крупных провайдеров. DPI с таким типом подключения технически может только выявлять попытку запроса запрещенного контента, но не пресекать ее. Чтобы обойти это ограничение и заблокировать доступ на запрещенный сайт, DPI отправляет пользователю, запрашивающему заблокированный URL, специально сформированный HTTP-пакет с перенаправлением на страницу-заглушку провайдера, словно такой ответ прислал сам запрашиваемый ресурс (подделывается IP-адрес отправителя и TCP sequence). Из-за того, что DPI физически расположен ближе к пользователю, чем запрашиваемый сайт, подделанный ответ доходит до устройства пользователя быстрее, чем настоящий ответ от сайта.
Читать дальше →

Ускорьте ваш сайт с помощью машинного обучения

Reading time6 min
Views19K

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

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

В этой статье мы пройдёмся по всем этапам использования сайта, как если бы это делал обычный человек, измерив длительность каждого из них. И особое внимание уделим конкретному шагу на одном конкретном сайте, который может быть ещё больше оптимизирован. Хочется верить, что решение (которым будет машинное обучение) может быть использовано во многих различных случаях на разных сайтах.
Читать дальше →

Взлом Wi-Fi

Reading time7 min
Views330K

Взлом маршрутизаторов WPA/WPA2 Wi-Fi с помощью Airodump-ng и Aircrack-ng/Hashcat


Это краткое пошаговое руководство, которое демонстрирует способ взлома сетей Wi-Fi, защищённых слабыми паролями. Оно не исчерпывающее, но этой информации должно хватить, чтобы вы протестировали свою собственную сетевую безопасность или взломали кого-нибудь поблизости. Изложенная ниже атака полностью пассивна (только прослушивание, ничего не транслируется с вашего компьютера) и о ней невозможно узнать, если вы только реально не воспользуетесь паролем, который взломали. Необязательную активную атаку с деаутентификацией можно применить для ускорения разведывательного процесса. Она описана в конце статьи.
Читать дальше →

Юзабилити карточки товара. Сценарий выгодный для бизнеса

Reading time4 min
Views13K
Карточка товара

О чём пойдёт разговор?


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

Каков план действий?


Внешний вид компонентов не меняем, т.е. остаемся в рамках текущего UI. Но можно воздействовать на типографику: размер и плотность текста менять разрешается. Будем использовать Axure для создания максимально реальной картины. То есть в арсенале будут все доступные приемы интерактивного прототипирования: интерфейсная анимация, смена состояний, смена текста внутри меток, динамическое сокрытие/показ объектов и т.п. Каждый прием будет рассмотрен отдельно ниже. Разрешается немного манипулировать, чтобы призвать пользователя к нужным нам действиям, которые требуются бизнесу.
Читать дальше →

Почему Node.js в качестве основы фронтенда – это круто [обновлено]

Reading time6 min
Views46K


Накануне запуска школы Node.js от Яндекс.Денег я хотел бы рассказать чуть больше о том, почему именно эта платформа прижилась в нашем фронтенде.


Несколько лет назад в Яндекс.Деньгах назрела смена платформы для серверной прослойки фронтенда: имевшаяся была внутренней проприетарной разработкой и постепенно умирала от слабой поддержки и проседания скорости работы. Вместе с медленной работой в рантайме и отсутствием развития XSLT, на котором работало API, этот «черный ящик» с множеством ограничений настала пора заменить.


Под «фронтендом» мы понимаем не только выполняемый в браузере код, но и серверную прослойку по сбору данных и генерации HTML. Хорошей заменой для имевшейся логики стал Node.js.

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

Cравнение российских операторов предоставляющих облачные услуги

Reading time17 min
Views30K

Я долго ждал и просил автора исследования 2014 года повторить его. Не дождался, несмотря на регулярные просьбы. Видимо, представляя какой титанический труд предстоит, автор эту идею откладывал.  Но так совпало, что не только мне, но и моей знакомой для ее компании потребовались облачные услуги, и она предложила мне свою помощь по сбору информации. Так родилась шальная идея повторить статью. Возражений у автора предыдущего обзора не было, поэтому мы принялись за дело, взяв за основу его методику подсчета
В этот раз в обзор вошли 36 компаний, а совместная работа по сбору и анализу информации затянулась аж на 5 месяцев. Конфигурацию мы взяли, опираясь на предыдущее сравнение  с поправкой на требования компании моей знакомой.

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

Information

Rating
Does not participate
Date of birth
Registered
Activity