Всем привет! Это уже двадцать первый выпуск дайджеста на Хабрахабр о новостях из мира Python.
Присылайте свои интересные события из мира Python.
С предыдущим digest можно ознакомиться здесь.
User
Какие у вас есть вопросы?
«И если у кандидата нет вопросов, то вопрос возникает по поводу кандидата» – как-то сказала мне знакомая HR из Кремниевой долины в разговоре о поиске работы в США.
Спросить о чем-то HR, менеджера, потенциального коллегу — это не просто хороший тон и возможность оставить нужное профессиональное впечатление о себе. Правильные вопросы помогают понять, насколько комфортно будет вам работать в команде и сможет ли компания удовлетворить ваши карьерные интересы.
На эту тему недавно нашла занимательный сайтик-генератор вопросов для интервью KeyValues.com. Для тех, кто не владеет английским в достаточной мере, я и решила сделать перевод.
Сказ о тотальном переборе, или Томительное ожидание декрипта

Итак, новые «криптографические игрища» пришли по мою душу. Поэтому сегодня поговорим о занудном упражнении, ориентированном на полный перебор паролей, реализации тривиального многопоточного брутера силами C++ и OpenMP, а также кратко об использовании криптобиблиотеки CryptoPP и стороннего модуля fastpbkdf2 (для Си и Плюсов) в своих проектах.
Го под кат, печеньки out there!
Пишем собственный миниатюрный Redis-сервер на Python
На днях мне пришла в голову мысль, что было бы здорово написать простой Redis-подобный сервер баз данных. Хотя у меня значительный опыт работы с приложениями WSGI, сервер базы данных представил новый вызов и оказался хорошей практикой в процессе обучения работе с сокетами в Python. В этой статье расскажу, что я узнал в процессе исследования.
11 библиотек (наборов компонентов) для Vue, о которых стоит знать в 2018-м
⬝ 11 библиотек (наборов компонентов) для Vue, о которых стоит знать в 2018-м
⬝ 11 библиотек (наборов компонентов) для React, о которых стоит знать в 2018-м
В предыдущей статье мы рассказывали о популярных библиотеках для React. Сегодня представляем вашему вниманию 11 библиотек для Vue, на которые стоит обратить внимание в этом году.

Restate — или как превратить бревно Redux в дерево
Бог создал людей сильными и слабыми. Сэмюэл Кольт сделал их равными.
Примерно тоже самое сделали Flux и Redux.
Была только одна проблема — Redux по сути своей крайне примитивная хреновина, и чтобы с ним хоть как-то работать надо было добавить парочку middleware — thunk, saga, observable и так далее.
Но эта статья заходит с другой стороны, серьезно так спрашивая про композицию, и, в частности, про компонентную модель. Которой в редаксе — нет.

Система сбора, анализа, уведомлений и визуализации логов на syslog-ng, elasticsearch, kibana, grafana, elasticalert
Что мы получим после этой статьи:
Систему сбора и анализа логов на syslog-ng, elasticsearch в качестве хранилища данных, kibana и grafana в качестве систем визуализации данных, kibana для удобного поиска по логам, elasticalert для отправки уведомлений по событиям. Приготовьтесь, туториал объемный.
Какие логи будем собирать:
- все системные логи разложенные по индексам в зависимости от их facility(auth,syslog,messages и т.д.);
- логи nginx — access и error;
- логи pm2;
- и др.
Обоснование выбора системы
Почему я выбрал связку с syslog-ng в качестве отправителя, парсера и приемщика логов? Да потому что он очень быстрый, надежный, не требовательный к ресурсам(да да — logstash в качестве агентов на серверах и виртуальных машинах просто убожество в плане пожирания ресурсов и требованием java), с внятным синтаксисом конфигов(вы видели rsyslog? — это тихий ужас), с широкими возможностями — парсинг, фильтрация, большое количество хранилищ данных(postgresql,mysql,elasticsearch,files и т.д.), буферизация(upd не поддерживает буферизацию), сторонние модули и другие фишки.
Требования:
- Ubuntu 16.04 или debian 8-9;
- vm для развертывания;
- Прямые руки.
Приступим или добро пожаловать под кат
Мобильные устройства изнутри. Разметка памяти, структура файлов описания и разметки памяти
1. Введение
Как оказалось, разметка физической памяти мобильных устройств (МУ) это малоописанный раздел знаний, необходимых разработчику. Т.к. память существует во всех устройствах, созданных на основе микропроцессоров или микроконтроллеров, а их уже миллиарды, то это еще и очень-очень востребованный раздел знаний.
Эта статья посвящена аспектам разметки памяти только МУ, т.к. именно здесь существует тесно свитый разными производителями клубок из файлов описания разметки при почти полном отсутствии теоретических данных о структуре самих этих файлов.
Разметка физической памяти МУ формируется на основании таблиц или списков описаний параметров разделов памяти. Практически каждая фирма-производитель МУ имеет свою форму (структуру) этих таблиц. Тем не менее, все описания параметров разделов имеют много общего, что позволяет рассматривать их в едином контексте.
На основе таблиц описаний затем формируются файлы разметки памяти, которые в виде образов разделов прошиваются непосредственно в память МУ.
Составляем DNS-запрос вручную
В этой статье мы изучим двочиный формат сообщений Domain Name Service (DNS) и напишем вручную одно сообщение. Это больше, чем вам нужно для использования DNS, но я подумал, что для развлечения и в образовательных целях интересно посмотреть, что находится под капотом.
Мы узнаем, как:
- Написать запросы DNS в двоичном формате
- Отправить сообщение в теле датаграммы UDP с помощью Python
- Прочитать ответ от DNS-сервера
Писать в двоичном формате кажется сложным, но в реальности я обнаружил, что это вполне доступно. Документация DNS хорошо написана и понятна, а писать мы будем маленькое сообщение — всего 29 байт.
Совсем не нейронные сети

Недавно ZlodeiBaal писал о достижениях в сверточных нейронных сетях (CNN) (и, кстати, тут же успешно настроил и обучил сеть для поиска области автомобильного номера).
А я хочу рассказать про принципиально иную и, наверное, более сложную модель, которую сейчас развивает Алексей Редозубов (@AlexeyR), и про то, как мы, конечно проигнорировав некоторые важные элементы, и ее применили для распознавания автомобильных регистрационных знаков!
В статье несколько упрощенно напомню о некоторых моментах этой концепции и покажу, как оно сработало в нашей задаче.
Пара способов отправить уведомления на смартфон со своего сервера
В общем всем тем, кто давно хотел отправлять уведомления со своего домашнего сервера на свой смартфон, но не знал с чего начать, посвящается.
Объёмное атмосферное рассеяние света

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

Статья разбита на следующие части:
- Часть 1. Объёмное атмосферное рассеяние
- Часть 2. Теория атмосферного рассеяния
- Часть 3. Математика рэлеевского рассеяния
- Часть 4. Путешествие сквозь атмосферу
- Часть 5. Атмосферный шейдер
- Часть 6. Пересечение атмосферы
- Часть 7. Шейдер атмосферного рассеяния
Динамическая загрузка шаблона Vue компонента
Любое изменение в верстке сайта, происходило через меня. Мне скидывали часть html кода, будь то изменение заголовка, или смена мест блоков, далее было необходимо вставить эту часть в требуемый компонент, подставить необходимые переменные и методы, запустить webpack, залить код на сервер.
Можно было бы использовать на сервере webpack в режиме наблюдения, или дать перечень необходимых команд своим коллегам, что для них оказывается несколько сложным.
Поэтому приняли решение сделать динамическую загрузку шаблона с помощью получения данных с сервера.
Готовим свой UI-интерфейс к Zabbix API средствами React component
WEB-разработка поразила разнообразием подходов и методов реализации. Стек технологий пестрит разнообразием, выбор инструментов определяет стиль разработки, модульность или закостенелость проекта.
Про телефонную платформу я напишу в следующий раз. Сильный уклон в VoIP-специфику отвлечет от главного — методов разработки современного SPA-приложения.
В статье будет описан процесс внедрения стороннего сервиса в существующую рабочую среду.
Сегодня поиграемся с Zabbix-API.

Аутентификация и авторизация в Ember, часть 1: библиотека ember simple auth

По его словам, эта библиотека, предназначенная для организации аутентификации и авторизации, занимает достойное место в арсенале инструментов, которыми пользуются в компании для разработки веб-систем, основанных на Ember. В этом материале Элвин говорит о том, как интегрировать библиотеку в проект и создать подсистему регистрации пользователей сайта.
Асинхронная загрузка больших датасетов в Tensorflow
Глубокие нейронные сети сейчас модная тема.
В Сети много тюториалов и видеолекций, и других материалов обсуждающих основные принципы построения нейронных сетей, их архитектуру, стратегии обучения и т.д. Традиционно, обучение нейронных сетей производится путем предявления нейронной сети пакетов изображений из обучающей выборки и коррекции коэффициентов этой сети методом обратного распространения ошибки. Одним из наиболее популярных инструментов для работы с нейронными сетями является библиотека Tensorflow от Google.
Нейронная сеть в Tensorflow представляется последовательностю операций-слоев
(таких как перемножение матриц, свертка, пулинг и т.д.). Слои нейронной сети совместно с операциями корректировки коэффициентов образуют граф вычислений.
Процесс обучения нейронной сети при этом заключается в "предъявлении" нейронной
сети пакетов объектов, сравненнии предсказанных классов с истинными, вычисления
ошибки и модификации коэффициентов нейронной сети.
При этом Tensoflow скрывает технические подробности обучения и реализацию алгоритма корректировки коэффициентов, и с точки зрения программиста можно говорить в основном только о графе вычислений, производящем "предсказания". Сравните граф вычислений, о котором думает программист
с графом который в том числе выполняет подстройку коэффициенотов
.
Но что Tensorflow не может сделать за программиста, так это преобразовать входной датасет в датасет удобный для тренировки нейронной сети. Хотя библиотека имеет довольно много "базовых блоков".
Как с их использованием построить эффективный конвеер для "питания" (англ feed) нейронной сети входными данными я и хочу расскажу в этой статье.
Блокчейн 101: книги, исследования и статьи по теме
Как устроены смарт-контракты, как объяснить концепцию биткойна ребенку и (самое интересное) как сделать свой собственный блокчейн — обо всем под катом.

Шпаргалки Java программиста 9: Java SE — Шпаргалка для собеседований и повторений
Предполагается. что вы знакомы с многими функциями из Java SE, поэтому в основном информация дается кратко. Конечно, можно использовать эту статью и просто для обучения основам Java SE платформы (но в этом случае, после чтения статьи вам скорее всего придется обратиться к другим источникам).

Итак, вы пытаетесь вспомнить все, что знаете перед собеседованием и не важно сколько лет опыта, без подготовки вас все равно могут поймать на том вопросе, который вы вроде бы помнили, но именно на собеседовании забыли. Это шпаргалка позволит вам освежить некоторые из ваших знаний.
Внимание: я не буду касаться вопросов по самому языку Java (вроде для чего нужно слово final или чем overriding отличается от overloading), это потребует отдельной статьи, это вопросы именно по Java SE (6-9) платформе.
Сверточная сеть на python. Часть 3. Применение модели

Это заключительная часть статей о сверточных сетях. Перед прочтением рекомендую ознакомиться с первой и второй частями, в которых рассматриваются слои сети и принципы их работы, а также формулы, которые отвечают за обучение всей модели. Сегодня мы рассмотрим особенности и трудности, с которыми можно столкнуться при тестировании вручную написанной на python сверточной сети, применим написанную сеть к датасету MNIST и сравним полученные результаты с библиотекой pytorch.
Ошибки в разговорном английском, которые можно (и нужно) допускать
Сегодня расскажем, какие слова и фразы допустимо упрощать и какие правила можно нарушать в разговорном английском без потери смысла.
Information
- Rating
- 2,074-th
- Location
- Россия
- Registered
- Activity