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

Пользователь

Отправить сообщение

Как оценить посадочную страницу перед запуском рекламы

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

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

Читать далее
Всего голосов 9: ↑5 и ↓4+4
Комментарии3

Искусство ETL. Пишем собственный движок SQL на Spark [часть 6]

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

НЬЮ!


В предыдущих сериях (FAQ 1 2 3 4 5 ) мы весьма подробно рассмотрели, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL поверх Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.

В данной части поговорим о том, как добавить в выражения SQL поддержку функций. Например,


SELECT
    MAX(score1, score2, score3, score4, score5) AS max_score,
    MIN(score1, score2, score3, score4, score5) AS min_score,
    MEDIAN(score1, score2, score3, score4, score5) AS median_score,
    score1 + score2 + score3 + score4 + score5 AS score_sum
FROM raw_scores INTO final_scores
WHERE ABS(score1 + score2 + score3 + score4 + score5) > $score_margin;

— тут у нас функции MAX, MIN и MEDIAN принимают любое количество аргументов типа Double и возвращают Double, а ABS только один такой аргумент.


Вообще, кроме общей математики, в любом уважающем себя диалекте SQL как минимум должны быть функции для манипуляций с датой/временем, работы со строками и массивами. Их мы тоже обязательно добавим. В classpath, чтобы движок мог их оттуда подгружать. До кучи, ещё и операторы типа >= или LIKE, которые у нас уже были реализованы, но хардкодом, сделаем такими же подключаемыми.


Предупреждение о сложности материала

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

Читать дальше →
Всего голосов 5: ↑5 и ↓0+6
Комментарии10

Собеседование у ChatGPT

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

Привет! Меня зовут Роман, я системный администратор, сейчас изучаю инструменты devops. Прочитал несколько статей о chatGPT, поигрался с шутками и стихами, позадавал вопросы. И тут меня озарила мысль - а может ли он проверить на знания меня? Смогу ли я пройти собеседование у ИИ? Скоро ли ИИ заменит hr?

Читать далее
Всего голосов 13: ↑11 и ↓2+14
Комментарии41

Инструменты для GraphQL клиента на Python

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

Речь в статье пойдет о специальных инструментах для работы с GraphQL на Python в качестве клиента. Если вы используете GraphQL в своих сервисах на Python, то, скорее всего, сталкивались с необходимостью писать и хранить строки, содержащие GraphQL запросы, а так же писать Python классы для хранения результатов этих запросов. Вероятнее всего, вам было неудобно: не хотелось дублировать схожие запросы, постоянно править классы при частом изменении схемы и т.п. Вот и мне тоже. Поэтому, решая описанные проблемы, появились на свет два пакета: graphql-query и graphql2python.

Читать далее
Всего голосов 5: ↑3 и ↓2+3
Комментарии2

Мама, кажется я архитектор

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


Статья направлена на диалог о необходимости архитектора в команде. Она будет интересна тем, кто задумывается о пути своего развития, когда “все дороги уже исхожены”. Когда имеющийся богатый опыт делает твою работу “неэффективной” с точки зрения коллег. Когда тебя уже почти ничего не удивляет и каждый следующий проект это дежа вю. Ты выгораешь.

Читать дальше →
Всего голосов 21: ↑20 и ↓1+24
Комментарии53

Как научиться разработке на Python: новый видеокурс Яндекса

Время на прочтение6 мин
Количество просмотров250K
Осенью прошлого года в московском офисе Яндекса прошла первая Школа бэкенд-разработки. Мы сняли занятия на видео и сегодня рады поделиться на Хабре полным видеокурсом Школы. Он позволит вам научиться промышленной разработке на Python. Авторы лекций — опытные разработчики в Яндексе. К каждому видео приложены ссылки на примеры и полезные материалы.

Для изучения курса нужно знать основы Python и понимать, как приложения развёртываются на серверах. Мы ждём, что вы умеете делать запросы к базам данных и знаете, как создаются веб‑приложения, — хотя бы на начальном уровне.
Читать дальше →
Всего голосов 70: ↑70 и ↓0+70
Комментарии41

Dagger 2 для начинающих Android разработчиков. Внедрение зависимостей. Часть 2

Время на прочтение3 мин
Количество просмотров28K
Данная статья является третьей частью серии статей, предназначенных, по словам автора, для тех, кто не может разобраться с внедрением зависимостей и фреймворком Dagger 2, либо только собирается это сделать. Оригинал написан 1 декабря 2017 года. Перевод вольный.

image
Читать дальше →
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Автоматизируем десктопный GUI на Python + pywinauto: как подружиться c MS UI Automation

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

Python библиотека pywinauto — это open source проект по автоматизации десктопных GUI приложений на Windows. За последние два года в ней появились новые крупные фичи:


  • Поддержка технологии MS UI Automation. Интерфейс прежний, и теперь поддерживаются: WinForms, WPF, Qt5, Windows Store (UWP) и так далее — почти все, что есть на Windows.
  • Система бэкендов/плагинов (сейчас их двое под капотом: дефолтный "win32" и новый "uia"). Дальше плавно двигаемся в сторону кросс-платформенности.
  • Win32 хуки для мыши и клавиатуры (hot keys в духе pyHook).

Также сделаем небольшой обзор того, что есть в open source для десктопной автоматизации (без претензий на серьезное сравнение).


Эта статья — частично расшифровка доклада с конференции SQA Days 20 в Минске (видеозапись и слайды), частично русская версия Getting Started Guide для pywinauto.



Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии11

Как написать свою «песочницу»: пример простейшей «песочницы». Часть II

Время на прочтение13 мин
Количество просмотров10K
image

В первой части статьи вы получили краткое представление о драйверах в привилегированном режиме. Настало время покопаться в нашей песочнице.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии0

Intel Software Guard Extensions, учебное руководство. Часть 3, проектирование для Intel SGX

Время на прочтение12 мин
Количество просмотров2.6K
В третьей части серии учебных материалов, посвященных расширениям Intel Software Guard Extensions (Intel SGX), мы поговорим о проектировании приложений, использующих Intel SGX. Мы используем принципы, изученные в первой части, и применим их к общей концепции примера приложения Tutorial Password Manager, которая была рассмотрена во второй части. Мы обсудим общую структуру приложения и влияние Intel SGX на нее; мы создадим модель классов, которая даст нам возможность спроектировать и интегрировать анклав.


Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Intel Software Guard Extensions, учебное руководство. Часть 2, устройство приложения

Время на прочтение12 мин
Количество просмотров4.6K
Вторая часть в серии учебных материалов по Intel Software Guard Extensions (Intel SGX) представляет собой общее описание приложения, которое мы будем разрабатывать: простой диспетчер паролей. Поскольку мы создаем это приложение с нуля, то можно с самого начала предусмотреть использование Intel SGX. Это означает, что в дополнение к требованиям к приложению мы рассмотрим, каким образом требования для Intel SGX и общая архитектура приложения влияют друг на друга.

Прочтите первую часть или список всех опубликованных учебных материалов в статье Представляем серию учебных материалов, посвященных Intel Software Guard Extensions.


Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии0

Как написать свою «песочницу»? Разбор простейшей «песочницы»

Время на прочтение14 мин
Количество просмотров19K
image
Если вам случалось писать большие приложения, вы, вероятно, использовали такие виртуальные машины, как VMWare, Virtual PC или что-то иное. Но задавались ли вы вопросом: как они работают? Эти удивительные, можно сказать, магические технологии увлекали меня довольно долгое время. Чтобы развенчать «магию» и разобраться в деталях, я написал «с нуля» собственную систему виртуализации – «песочницу». Решение этой задачи было довольно сложным делом. Реализация подобного продукта ставит множество вопросов, ответы на которые вы не найдете в Google, поэтому я хочу поделиться своим опытом с сообществом.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии6

Альтернативные методы трассировки приложений

Время на прочтение9 мин
Количество просмотров15K
image

Трассировка используется во многих видах ПО: в эмуляторах, динамических распаковщиках, фаззерах. Традиционные трейсеры работают по одному из четырех принципов: эмуляция набора инструкций (Bochs), бинарная трансляция (QEMU), патчинг бинарных файлы для изменения потока управления (Pin), либо работа через отладчик (PaiMei, основанный на IDA). Но сейчас речь пойдет о более интересных подходах.

Зачем отслеживать?


Задачи, которые решают с помощью трассировки можно условно разделить на три группы в зависимости от того, что именно отслеживается: выполнение программы (поток управления), поток данных или взаимодействие с ОС. Давай поговорим о каждом подробнее...
Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии5

Лучшие доклады Black Hat USA 2016

Время на прочтение6 мин
Количество просмотров18K
Black Hat USA 2016 — конференция, собирающая вместе лучшие умы в области безопасности (хакеров и ЦРУшников), чтобы определить, в каком будущем мы будем жить. Что было в Вегасе, то остается в Вегасе. Но все же до нас дошли видеозаписи 120 докладов.

image

Я немного подсуетился и выбрал личный список топ-18 самых интересных докладов, которые, возможно, стоит перевести на русский и опубликовать на Хабре.

Социальная инженерия, DDoS, лингвистические особенности телефонных мошенников, страхование в области ИБ, Dragons&Dungeons для кибербезопасности, атаки по сторонним каналам, много (черного) юмора, дроны.
Предлагайте свои варианты, какой доклад самый интересный, может я что-то упустил.
Всего голосов 17: ↑16 и ↓1+15
Комментарии3

Telegram боты: в помощь редактору

Время на прочтение6 мин
Количество просмотров33K
— Синоним к слову «своенравный»? — раздался голос жены из соседней комнаты.

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

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

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


Опять лонгрид
Всего голосов 36: ↑34 и ↓2+32
Комментарии49

Исследование руткита Cremes

Время на прочтение7 мин
Количество просмотров5.3K
В августе этого года мы публиковали информацию о новом state-sponsored вредоносном ПО под названием Cremes (aka Remsec). Антивирусные продукты ESET обнаруживают его компоненты как Win32/Cremes и Win64/Cremes. Cremes является сложным трояном со множеством компонентов, которые используются для кибершпионажа. Информация о Cremes также была опубликована специалистами Федеральной Службы Безопасности (ФСБ), поскольку Cremes использовался для кибершпионажа за сотрудниками государственных учреждений.


Cremes включает в себя и Ring 0 компонент (руткит), который используется злоумышленниками как LPE-шлюз (kernel gate) для исполнения своего кода в режиме ядра. В отличие от уже таких хорошо известных руткитов и буткитов как ZeroAccess, TDL4, Mebroot, Gapz и др., Cremes не обременяет себя сложными процедурами компрометации MBR и ранних стадий загрузки ядра NT для исполнения своего Ring 0 кода в системе в обход DSE, вместо этого он использует для этого легитимные драйверы.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии1

Идеальный маркетинг на примере сериала «Лучше звоните Солу»

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

Сейчас закончился второй сезон сериала “Лучше звоните Солу”, и я просто впечатлён, насколько интересными и правильными, с точки зрения маркетинга, оказывались действия центрального персонажа. Я отметил это еще при просмотре первого сезона, а второй только усилил мои впечатления.
Всего голосов 16: ↑9 и ↓7+2
Комментарии11

Нейромедиаторы, часть первая: дофамин, норадреналин, серотонин

Время на прочтение7 мин
Количество просмотров304K
Нейромедиаторы — это праздник, который всегда с тобой. Мы постоянно слышим о том, что именно они дарят чувства радости и удовольствия, но мало знаем о том, как они работают. В первой части небольшого образовательного курса «Атлас» рассказывает о трех самых известных нейромедиаторах, без которых наша жизнь была бы просто отвратительной.



Читать дальше →
Всего голосов 43: ↑42 и ↓1+41
Комментарии79

Intel Software Guard Extensions, серия учебных материалов. Часть 1, основы Intel SGX

Время на прочтение7 мин
Количество просмотров13K
Первая часть в серии учебных материалов по Intel Software Guard Extensions (Intel SGX) представляет собой краткое описание этой технологии. Дополнительные сведения см. в документации в составе Intel Software Guard Extensions SDK. Список всех учебных материалов в этой серии см. в статье Представляем серию учебных материалов, посвященных Intel Software Guard Extensions.


Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии3

Microsoft совершенствует механизмы безопасности ядра Windows 10

Время на прочтение2 мин
Количество просмотров18K
Известный гуру внутреннего устройства Windows, Alex Ionescu, раскрыл новые особенности ядра Windows 10, которые появились в новом билде Windows 10 Insider Preview 14332. Ранее в нашем блоге мы неоднократно упоминали Insider Preview версии Windows 10, которые используются разработчиками программ и драйверов для тестирования. Появляющиеся в них обновления затем будут выпущены для всех пользователей Windows 10 в качестве одного большого обновления этой ОС.



На сей раз речь идет об ASLR в режиме ядра (Kernel ASLR), о котором известно не так много, в отличие от его аналога для Ring3 компонентов Windows. До Windows 10 14332 Windows использовала лишь частичную реализацию KASLR только для системных образов (драйверов) и начиная с Windows Vista SP1. Теперь с каждой перезагрузкой Windows будет изменять виртуальные адреса размещения не только драйверов, но и, практически, всех структур ОС и компонентов, работающих в системном виртуальном адресном пространстве.

Читать дальше →
Всего голосов 19: ↑12 и ↓7+5
Комментарии16
1

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность