Search
Write a publication
Pull to refresh
-1
0
Александр @Anderson

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

Send message

Модульное тестирование и Python

Reading time10 min
Views19K


Меня зовут Вадим, я ведущий разработчик в Поиске Mail.Ru. Я поделюсь нашим опытом проведения модульного тестирования. Статья состоит из трёх частей: в первой расскажу, чего мы вообще добиваемся с помощью модульного тестирования; во второй части описаны принципы, которым мы следуем; а из третьей части вы узнаете, как упомянутые принципы реализованы на Python.
Читать дальше →

Pylint изнутри. Как он это делает

Reading time15 min
Views24K
Разные помощники в написании классного кода нас просто окружают, линтеры, тайпчекеры, утилиты для поиска уязвимостей, всё с нами. Мы привыкли и используем не вдаваясь в детали, как «черный ящик». Например, мало кто разбирается в принципах работы Pylint — одного из таких незаменимых инструментов для оптимизации и улучшения кода на Python.

А вот Максим Мазаев знает, насколько важно понимать свои инструменты, и нам рассказал на Moscow Python Conf++. На реальных примерах показал, как знание внутреннего устройства Pylint и его плагинов помогло уменьшить время code review, улучшить качество кода и вообще повысить эффективность разработки. Ниже расшифровка-инструкция.


Почему OpenVPN тормозит?

Reading time3 min
Views187K
Описанная проблема присуща только ветке OpenVPN 2.3, в 2.4 размеры буферов не меняются без требования пользователя.

Время от времени, мне встречаются темы на форумах, в которых люди соединяют несколько офисов с использованием OpenVPN и получают низкую скорость, сильно ниже скорости канала. У кого-то это может быть 20 Мбит/с при канале в 100 Мбит/с с обеих сторон, а кто-то еле получает и 400 Кбит/с на 2 Мбит/с ADSL/3G и высоким пингом. Зачастую, таким людям советуют увеличить MTU на VPN-интерфейсе до чрезвычайно больших значений, вроде 48000, или же поиграться с параметром mssfix. Частично это помогает, но скорость внутри VPN все еще очень далека от канальной. Иногда все сваливают на то, что OpenVPN — userspace-решение, и это его нормальная скорость, учитывая всякие шифрования и HMAC'и. Абсурд!

Немного истории

На дворе июль 2004 года. Типичная скорость домашнего интернета в развитых странах составляет 256 Кбит/с-1 Мбит/с, в менее развитых — 56 Кбит/с. Ядро Linux 2.6.7 вышло не так давно, а 2.6.8, в котором TCP Window Scale включен по умолчанию, выйдет только через месяц. Проект OpenVPN развивается уже 3 года как, к релизу готовится версия 2.0.
Один из разработчиков добавляет код, который устанавливает буфер приема и отправки сокета по умолчанию в 64 КБ, вероятно, чтобы хоть как-то унифицировать размер буфера между платформами и не зависеть от системных настроек.
Читать дальше →

Знакомство с тестированием в Python. Ч.1

Reading time14 min
Views109K
Всем доброго!

От нашего стола к вашему... То есть от нашего курса «Разработчик Python», несмотря на стремительно приближающий Новый год, мы подготовили вам интересный перевод о различных методах тестирования в Python.

Это руководство для тех, кто уже написал классное приложение на Python, но еще не писал для
них тесты.

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

В этом руководстве вы узнаете, как создать базовый тест, выполнить его и найти все баги, до того как это сделают пользователи! Вы узнаете о доступных инструментах для написания и выполнения тестов, проверите производительность приложения и даже посмотрите на проблемы безопасности.


Читать дальше →
Кажется, что фрилансеру ужасно сложно не сидеть в тени, а работать «по-белому» — поди разберись во всех нюансах ИП, договоров ГПХ и самозанятости. Что это вообще такое? В чем разница? Не обдерут ли как липку? Спокойно, «Фрилансим» все разложит по полочкам.
Подробности — под катом

Шесть бесплатных автоматизированных платформ для изучения программирования

Reading time3 min
Views112K

Привет, сообщество! Мы в Хекслете составили список из пяти бесплатных автоматизированных онлайн-платформ для новичков.


На русском:


HTML Academy
«Академия» учит верстать сайты. Основной контент в формате подписки (390 рублей в месяц) и интенсивов (от 12500 рублей), но есть несколько бесплатных автоматизированных курсов по основам HTML, CSS и JavaScript.


В HTML Academy не столько задания для прокачки в программировании, сколько для знакомства с основами веб-разработки. Но это идеальный формат для тех, кто никогда не писал код и хочет попробовать. Большое количество веб-разработчиков начинало путь именно здесь.


Code Basics
Это новый бесплатный сервис от Хекслета. Его основная идея — через решение простых заданий прямо в браузере погружать новичков в основы программирования. Сейчас есть уроки по PHP, JavaScript и Python, ближайшее время появятся — новые. Платформа подойдет лучше всего для изучения основ синтаксиса, и меньше — для прокачки алгоритмов.


Обучение построено вокруг чередования небольших порций теории (3-4 абзаца) и закрепления практики в тренажере. У каждого практического задания есть решение учителя, которое можно сравнить со своим после успешного прохождения и раздел для обсуждения задания.

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

WireGuard — прекрасный VPN будущего?

Reading time4 min
Views400K

Наступило время, когда VPN уже не является каким-то экзотическим инструментом бородатых сисадминов. Задачи у пользователей разные, но факт в том, что VPN стал нужен вообще всем.


Проблема текущих VPN решений в том, что их тяжело правильно настроить, дорого обслуживать, а так же в них полно legacy кода сомнительного качества.


Несколько лет назад канадский специалист по информационной безопасности Jason A. Donenfeld решил, что хватит это терпеть, и начал работу над WireGuard. Сейчас WireGuard готовится к включению в состав ядра Linux, он даже получил похвалы от Линуса Торвальдса и в американском сенате.


Заявленные преимущества WireGuard над другими VPN решениями:


  • Простой в использовании.
  • Использует современную криптографию: Noise protocol framework, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF и т.д.
  • Компактный читаемый код, проще исследовать на уязвимости.
  • Высокая производительность.
  • Четкая и проработанная спецификация.

Неужели найдена серебрянная пуля? OpenVPN и IPSec пора закапывать? Я решил с этим разобраться, а заодно сделал скрипт для автоматической установки личного VPN сервера.

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

Как дать шифровальщикам потопить компанию

Reading time5 min
Views95K

image alt text


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

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

Легальные книги по управлению проектами от PMI

Reading time4 min
Views58K

Рассмотрим ситуацию с одним из самых популярных проджект-менеджмент «талмудов» — Сводом знаний по управлению проектами (PMBoK — Project management body of knowlege) от американского института PMI (Project management institute). Вряд ли вам встретится нелегальная бумажная книга, поэтому далее речь пойдет об электронном варианте.

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

Универсальный API для получения информации по чекам

Reading time9 min
Views121K
Привет жителям Хабра.

В данной статье хотелось бы рассказать про API для получения чеков, которое нам не предоставила всеми любимая ФНС.

Когда только появились QR-коды на чеках я подумал «Вау, как круто! Ты сканируешь код и видишь если не всю инфу по чеку, то ссылку на него». И какого же было мое разочарование, когда просканировав такой код я увидел что-то вроде

t=20180518T220500&s=975.88&fn=8710000101125654&i=99456&fp=1250448795&n=1

Но расстраиваться я не стал и подумал, что ФНС позаботилась о нас и предоставила API для получения такой информации. Погуглив некоторое время я понял, что ФНС нам предоставила только мобильное приложение для проверки чека и просмотра той информации, что поступила к ним от магазина.
Читать дальше →

Pix4D — от фотографий к измерениям

Reading time6 min
Views19K


Квадрокоптеры и различные БПЛА постепенно становятся привычными инструментами во многих сферах профессиональной деятельности. Очень сложно переоценить возможности дронов в руках фотографов и видеооператоров, но полностью реализовать потенциал этих устройств можно именно в области промышленности и геодезии. В особенности, если коптер работает под управлением специализированного ПО, а материалы аэросъемки проходят компьютерную обработку и используются для анализа различных данных.
Читать дальше →

Как определить наилучшее время для сделки на бирже

Reading time4 min
Views6.9K


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

Тренд последних лет – появление автоматизированных инструментов, которые помогают поймать такой момент на основе анализа Big Data и машинного обучения. Мы в ITI Capital также разработали такой продукт под названием ITI Global, и в сегодняшнем материале расскажем о том, какие данные анализируют подобные системы.
Читать дальше →

Приложение на python kivy для разнообразия рациона питания. От кода и до получения .apk файла для Android

Reading time8 min
Views91K

Изучаю python kivy и для себя решил написал маленькое приложение, чтобы разнообразить свое питание. Решил поделиться. Статья рассчитана на новичков в kivy. Приложение занимает около 100 строк кода.

Цель создания велосипеда приложения:

  1. Избежать частых повторений в питании. Чтобы не употреблять одно и то же блюдо слишком часто.
  2. Не забывать блюда, которые ел, потом забыл и годами к ним не возвращался, потому что банально не помнил. У меня такое бывает.
Читать дальше →

Как мы научили нейросеть определять документы

Reading time4 min
Views10K


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

Для чего это понадобилось


Чтобы разгрузить сотрудников и обезопасить людей от мошенников. Мы применяем новую нейросеть в двух сферах: когда пользователь восстанавливает доступ к странице и для скрытия личных документов из общего поиска.

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

Железо не подведет. Как я готовлю к бою десятки серверов в день

Reading time14 min
Views28K
Проверить один сервер — не проблема. Берешь чек-лист и по порядку проверяешь: процессор, память, диски. Но с сотней серверов такой способ вряд ли хорошо сработает. Чтобы исключить человеческий фактор, сделать проверки более надежными и быстрыми, надо автоматизировать процесс. Кому знать, как это лучше сделать, как не хостинг-провайдеру. Артём Артемьев на HighLoad++ Siberia рассказал, какие методы можно использовать, что лучше запускать руками, а что отлично получается автоматизировать. Далее текстовая версия доклада с советами, которые сможет повторить каждый, кто работает с железом и нуждается в регулярной проверке его работоспособности.



О спикере: Артём Артемьев (artemirk) технический директор в большом хостинг-провайдере FirstVDS, сам работает с железом.

Делаем проект по машинному обучению на Python. Часть 3

Reading time9 min
Views22K


Перевод A Complete Machine Learning Walk-Through in Python: Part Three

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

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

Азы работы магазина

Reading time7 min
Views34K


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

Магазин работает как цепочка конверсий, где каждый показатель поддаётся контролю сменой, владельцем точки, закупщиком или тем, кто определяет политику всей сети. Задача магазина как бизнес-юнита — переработать товар в выручку и принести при этом позитив клиенту. Поэтому задача продавца №1 всегда — чтобы человек вышел довольным. И только №2 — что-то продать. Исходя из этого строится отношение к правилам работы продаж и весь остальной здравый смысл. Быть хорошим, адекватным, правильным — экономически оправдано.
Читать дальше →

Что нужно запомнить программисту, переходящему на Python

Reading time11 min
Views52K

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


Однако в какой-то момент перл исчерпал себя и я решил заняться питоном, сначала просто делал что-то и разбирался с тем, что нужно для данной задачи, а потом понял, что нужны какие-то систематизированные знания и прочитал несколько книг:


  • Билл Любанович «Простой Python. Современный стиль программирования»
  • Дэн Бейдер «Чистый Python. Тонкости программирования для профи»
  • Бретт Слаткин «Секреты Python: 59 рекомендаций по написанию эффективного кода»

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


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

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

Какой велосипед выбрать для городских, загородных и экстремальных поездок — обзор моделей Airwheel и Twitter

Reading time6 min
Views12K
Любители велопрогулок часто поднимают философский вопрос: «Если бы вам пришлось выбирать один универсальный велосипед для любых условий, на чем бы вы остановились?». И сообщество подходит к нему довольно серьезно, взвешивая все за и против. В начале года редактор одного британского велопортала даже потратил целый месяц жизни, чтобы найти ответ.

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

Мы расскажем о таких велосипедах на примере линеек двух брендов — Airwheel и Twitter.

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

Эмиграция и всё о ней в телеграм-блогах

Reading time6 min
Views71K

«Хорошо там, где нас нет» — думают многие и годами живут на одном и том же месте. Но мир слишком разнообразен, чтобы всю жизнь провести в одной стране.


image

Карта каналов об эмиграции


На помощь приходит Telegram, где в последние годы появилось уникальное сообщество авторов жанра «я — эмигрант».


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


Какие на самом деле жители выбранной ими страны? Как найти жилье? Как устроится на работу? В чем отличия менталитета? Или даже Как проходят свидания? Как строится личная жизнь в другой стране? Такого нет в Google! :)


Я собрал максимально большой список таких блогов, отсортировал по странам и делюсь с вами.

Читать далее

Information

Rating
Does not participate
Location
Ростов-на-Дону, Ростовская обл., Россия
Registered
Activity