GDPR вступил в силу уже четыре года назад, однако его понимание и практика применения до сих пор развиваются. Как показывают последние новости, далеко не все преуспели в борьбе за соответствие – в январе Google и Facebook получили серьёзные штрафы (на €150 млн и €60 млн соответственно) за нарушения законодательства в отношении cookies, причём для Google это уже второй штраф за них (предыдущий был на €100 млн). Именно тема cookies постепенно становится "горячей": ей занялись не только регуляторы, но и активисты. Правила, действующие в отношении cookies, основываются частью на GDPR, частью – на ePrivacy Directive. В этой статье собрано текущее понимание этих правил для практического применения.
Software developer
Что нам стоит… загрузить JSON в Data Platform
Всем привет! В недавней статье мы рассказали, как мы шли к построению нашей Data Platform.
Сегодня хотелось бы глубже погрузиться в «желудок» нашей платформы и попутно рассказать вам о том, как мы решали одну из задач, которая возникла в связи с ростом разнообразия интегрируемых источников данных.
То есть, если возвращаться к финальной схеме из упомянутой выше статьи (специально дублирую ее ниже, чтобы уважаемым читателям было удобнее), то сегодня мы будем более углубленно говорить о реализации «правой части» схемы — той, что лежит после Apache NiFi.
Pattern matching. Теперь и в Python
В юбилейный минор третьего питона наконец-то завезли pattern matching. Саму концепцию сложно назвать новой, она уже реализована во многих языках, причём как нового поколения (Rust, Golang), так и у тех, кому уже за 0x18 (Java).
Анонсировал pattern matching Гвидо ван Россум, автор языка программирования Python и «великодушный пожизненный диктатор»
Меня зовут Денис Кайшев, я код-ревьюер на курсе «Мидл Python-разработчик». В этом посте хочу рассказать, зачем в Python pattern matching и как с ним работать.
Синтаксически конструкция pattern matching по сути аналогична тому, как это представлено в ряде других языков:
Эволюция real-time Web: примеры из практики (или с чем Lua справляется лучше JS)
История
iframe
Начнем с начала нулевых — многие, наверное, помнят чаты на iframe. Сейчас уже сложно назвать это real-time технологией, но тем не менее. Принцип работы — в HTML-документ с помощью тега iframe встраивается содержимое другой веб-страницы — например, блок с чатом в игре. При обновлении этой встроенной части вся остальная страница не обновляется.
Введение в TLS для п̶р̶а̶к̶т̶и̶к̶о̶в̶ Патриков (часть 2)
Мы остановились на том, что сервер отправил свою часть TLS-handshake клиенту. Теперь клиент должен прежде всего проверить сертификаты – и это самая тяжелая из вещей, которые ему обязательно надо сделать.
Certificate verification: chain
Возможно, вы обратили внимание на формулировку: посылается не сертификат, а сертификаты – сейчас станет понятно, почему (в общем-то, догадаться нетрудно).
Введение в TLS для п̶р̶а̶к̶т̶и̶к̶о̶в̶ Патриков (часть 1)
Эта статья написана для Патрика и таких, как он. Она родилась из презентации, впервые показанной на нашем внутреннем образовательном Plesk TechTalk, где сотрудники в доступной форме делятся друг с другом информацией об интересных технологиях, процессах и решениях. Поэтому картинки в этой статье будут похожи на слайды :) Автор оригинального текста доклада — program manager Plesk Руслан Косолапов.
Обычно все материалы по TLS охватывают какой-то маленький аспект, но не общую картину. Это не очень практично и у Патрика от такого болит голова. Здесь всё будет по-другому: коротко, применимо «в быту» и по возможности исчерпывающе.
Визуализация данных Ensemble Workflow с помощью InterSystems DeepSee
При автоматизации бизнес-процессов предприятия часть задач всё равно должен выполнять человек: это согласование различной информации, обогащение данных из аналоговых источников и многое другое. В интеграционной шине InterSystems Ensemble для решения данного класса задач есть подсистема Ensemble Workflow, позволяющая людям участвовать в автоматизированных бизнес-процессах. В результате работы подсистемы Ensemble Workflow накапливается большой объём информации о том кто и сколько выполнял поставленные задачи. В этой статье с использованием BI-технологии InterSystems DeepSee, про которую я недавно уже писал на Хабре мы проанализируем и визуализируем эту информацию.
Тестирование в Badoo «с высоты птичьего полёта»
Мы много раз рассказывали о том, как мы пишем автотесты, какие технологии используем, как помогаем разработчикам с производительностью юнит-тестов и так далее. А вот про стратегию всего процесса тестирования, включая ручное, ещё ни разу не писали. Пришло время восполнить этот пробел.
Заблуждения Clean Architecture
На первый взгляд, Clean Architecture – довольно простой набор рекомендаций к построению приложений. Но и я, и многие мои коллеги, сильные разработчики, осознали эту архитектуру не сразу. А в последнее время в чатах и интернете я вижу всё больше ошибочных представлений, связанных с ней. Этой статьёй я хочу помочь сообществу лучше понять Clean Architecture и избавиться от распространенных заблуждений.
Как я начал создавать текстовую MMO RPG
В этой статье я опишу личный опыт написания первой версии текстовой MMO RPG для Телеграмма, используемые для этого технологии и этапы, через которые прошёл, при создании игры.
Как Google тестирует ПО
Его ведет Джэймс Витакер, который в данный момент занимает пост технического директора по тестированию ПО в Google. Джэймс совместно с коллегами готовится выпустить одноименную книгу. В ней можно будет получить исчерпывающую информацию о том, как проводят тестирование GoogleMaps, Google+, ChromeOS, Android и т.д…
Интерфейс рецептов
Первый месяц самостоятельной жизни в Москве я готовил жареную картошку и яичницу. Потом пришло понимание, что можно делать и другие вещи, и пришлось учиться немного готовить. Первое, что я сделал — решил сварить суп из фасоли и картошки. Открыл рецепт, начал читать, а там сюрприз.
«Варить до полуготовности». Ну чёрт побери, откуда я знаю, сколько это? То есть мне надо приготовить одну порцию, засечь время, потом выкинуть её и сделать вторую, да? Отличный план.
Тесто для пиццы — «соль и сахар по вкусу». Ну спасибо, чуваки. Когда пицца испечётся, я не смогу посыпать её сверху сахарком или солью. Причём сахар там вообще для дрожжей, а я не знаю, сколько нужно на их вкус.
Впечатления от посещения EuroPython 2014
Разработка приложений на Go: повторное использование логики
На мой взгляд, написание библиотек на Go — довольно хорошо освещенная тема… а вот о написании приложений (команд) статей гораздо меньше. Когда дело до этого доходит, весь код на Go представляет собой команду. Так давайте об этом и поговорим! Этот пост будет первым в серии, т.к. у меня много информации, которой я еще не делился.
В сегодняшней статье речь пойдет о базовой компоновке проекта, будем улучшать повторное использование и тестирования кода.
Простейший HTTP сервер на Golang и Elixir. Сравнение производительности
Пару недель назад, я решил взять простейший пример HTTP сервера на Go и измерить его производительность. Потом я смело взял Phoenix, прогнал на тех же тестах, и расстроился. Результаты были не в пользу Elixir/Erlang (45133 RPS у Go и всего 3065 RPS у Phoenix). Но Phoenix — это тяжело. Надо что-то хотя бы примерно равное по простоте и логике разработки тому, что есть на Go: когда есть путь — "/" и handler для него. Логичной аналогией мне показалось решение cowboy + plug, где у нас есть Router, который так же ловит "/" и отвечает на него. Результаты убили — Elixir/Erlang опять оказался медленнее:
Golang
sea@sea:~/go$ wrk -t10 -c100 -d10s http://127.0.0.1:4000/
...
452793 requests in 10.03s, 58.30MB read
Requests/sec: 45133.28
Transfer/sec: 5.81MB
elixir cowboy plug
sea@sea:~/http_test$ wrk -t10 -c100 -d10s http://127.0.0.1:4000/
...
184703 requests in 10.02s, 28.57MB read
Requests/sec: 18441.79
Transfer/sec: 2.85MB
Как жить дальше? Две недели я не спал и не ел (почти). Все, во что я верил все эти годы: совершенство vm erlang, ФП, зеленые процессы, было растоптано разорвано, сожжено и пущено по ветру. Немного отойдя от шока, успокоившись, и подтерев сопли я решил разобаться, в чем дело.
Yapf — причесываем код Python автокорректором
Приветствуйте, Yapf — готовое решение, для превращения каши из строк во вполне читаемый код. И поверьте, он вам пригодится.
Синдром хронической усталости. Как гормоны нас устают
Обмен веществ в организме регулируется железами, вырабатывающими гормоны. Управление гормонами принадлежит гипофизу, который контролируется гипоталамусом. Гипоталамус — защитная система организма, его предохранитель, и часто он выключается при СХУ из-за недостатка энергии.
Благодаря возросшему уровню стрессов гормональные проблемы сегодня не редкость, особенно в городской среде.
Из-за постоянной спешки и недостатка времени мы часто не замечаем сигналов нашего организма, таких как повышенная утомляемость и раздражительность, а они могут свидетельствовать о нарушении в его работе и сбоях в гормональной системе.
Об этом в статье и пойдет речь.
Конференция по тестированию Гейзенбаг: Видеозаписи докладов-2016 и работа над ошибками в 2017-м
Однако, делая первый Гейзенбаг в Москве в прошлом году, мы решили исправить ситуацию и сделать из него первую чисто техническую конференцию для всех тех, кто на практике занимается тестированием: ведь это не только тестеры, это и большинство разработчиков (которым не все равно, что будет с их кодом). Набив некоторые шишки на первой попытке, мы учли полученный опыт, и 4 июня готовы сделать deep dive в технологии тестирования на Гейзенбаг 2017 Piter.
А пока что мы делимся всеми видеозаписями докладов прошедшей конференции и рассказываем подробно, чего ждать от следующей.
Почему все виртуальные помощники — женщины?
Вы замечали, в нашем мире все так устроено, что везде можно найти плюсы и минусы, черное и белое, мужское и женское? Понятно, что на Хабре 76,1 процентов мужчины, поэтому, если вы испытываете жесткий антагонизм к тематическим постам, можете смело дальше не читать. Под катом много картинок и пара любопытных историй о том, почему современные виртуальные помощники говорят женскими голосами.
Проблемы тестирования: почему 100% покрытие кода это плохо
Недавно в нашем блоге мы рассказывали об использовании предметно-ориентированных языков для решения конкретных задач разработки с помощью Python. Сегодня речь пойдет о тестировании — в частности, о том, почему стопроцентное покрытие тестами кода это на самом деле плохо.
Материал подготовлен на основе выступления разработчика Positive Technologies Ивана Цыганова на конференции Moscow Python Conf (слайды, видео).
Информация
- В рейтинге
- Не участвует
- Откуда
- Новосибирск, Новосибирская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность