В этой статье я попыталась собрать несколько своих техник тестирования на Python. Не стоит воспринимать их как догму, поскольку, думаю, со временем я обновлю свои практики.
Все потоки
- Новые
- Лучшие
- Все
- ≥0
- ≥10
- ≥25
- ≥50
- ≥100
Новости
Показать ещеВыявление устройств с сенсорными экранами на чистом CSS
Изучаем YELP с помощью Neo4j, python
YELP — зарубежная сеть, которая помогает людям находить местные предприятия и услуги, основываясь на отзывах, предпочтениях и рекомендациях. В текущей статей будет проведен определенный ее анализ с использованием платформы Neo4j, относящаяся к графовым СУБД, а также язык python.
Что посмотрим:
— как работать с Neo4j и объемными датасетами на примере YELP;
— чем может быть полезен YELP dataset;
— частично: какие особенности в новых версиях Neo4j и почему книга «Графовые алгоритмы» 2019 года от O'REILLY уже устарела.
Книга «Роман с Data Science. Как монетизировать большие данные»
SRAPS (служба безопасного перенаправления и настройки) как легко управлять телефоном удаленно
Доброго времени суток каждому, кто читает это статью!
О том, для чего вы можете использовать нашу систему SRAPS, мы вам ранее рассказали в этой статье. Давайте посмотрим, как вы можете это сделать. Сегодня перед вами обзор-инструкция по подключению аппарата к системе и использованию ее функционала. Давайте приступим.
Различия индексов MySql, кластеризация, хранение данных в MyIsam и InnoDb
Как устроены индексы в MySql, чем отличается индексирование в двух наиболее популярных движках MyISAM и InnoDb, чем первичные ключи отличаются от простого индекса, что такое кластерные индексы и покрывающие индексы, как с помощью них можно ускорить запросы. Вот как мне кажется наиболее интересные темы которые раскрою в этой статье. Тут же постараюсь подробно раскрыть тему с позиции того как работает этот механизм внутри. Буквально на пальцах и с позиции абстракций а не конкретики. В общем чтоб было минимум текста и максимум понятно.
Хабр, давай поштурмим
В общем, идеи начинают иссякать. Поэтому мы просим вас нам помочь.
Неочевидные сложности CRDT
Мы все так привыкли к облачной синхронизации Dropbox и совместному редактированию в Google Docs, что объединение результатов действий разных пользователей может казаться давно решённой проблемой. Но на самом деле в этом вопросе остаётся множество подводных камней, а работа над алгоритмами CRDT вовсю продолжается.
Один из людей, ведущих эту работу — Мартин Клеппманн (Martin Kleppmann): исследователь в Кембриджском университете и создатель популярной библиотеки Automerge. И на конференции Hydra он рассказывал о нескольких вещах, которые исследовал буквально в последнюю пару лет. Какие действия пользователя могут заставить Google Drive выдать «unknown error»? Почему в CRDT метаданные о работе над документом могут занимать в сто раз больше места, чем сам документ, и как с этим бороться? А у какой проблемы сейчас даже не существует известного решения?
Обо всём этом он поведал в докладе, а теперь мы сделали для Хабра текстовый перевод. Видео и перевод — под катом, далее повествование будет от лица спикера.
Почему из команды уходит техписатель? У меня на это 5 причин
Наличие технического писателя в команде воспринимается либо как нечто само собой разумеющееся, либо как нечто вызывающее вопросы “Ты кто? Ты что тут делаешь?”.
Но когда технический писатель уходит из команды, его отсутствие можно сравнить с отсутствием маленького кусочка в большом и сложном паззле. Без этого кусочка можно обойтись. Но внимательный наблюдатель заметит, что картина команда не полная, в ней явно кого-то не хватает.
А именно не хватает человека, который охотно и каждый день берет на себя всю эту писанину. А без нее никак на проекте.
Почему же такой человек в один прекрасный день может взять и уйти?
В этой статье хочу поделиться своим опытом, без отсылки на умные исследования Гарварда и Стэнфорда. Для себя выделила пять причин. Ими делюсь.
Профилирование с точностью до ассемблерных инструкций
Работая над темой низкоуровневого профилирования, я обнаружил отсутствие подробного руководства по настройке окружения и сбору материала. Всё пришлось делать самому путём проб и ошибок. Итогом стала эта статья, в которой я по шагам описал профилирование кода, горячее место в котором не в силах обнаружить не только какой-нибудь VisualVM, но и титаны вроде async-profiler-а. В качестве примера использован код из ранее упоминавшейся статьи The volatile read surprise.
Защита моделей нейронных сетей при помощи аппаратных ключей SenseLock
Нейронные сети помогают нам решать различные задачи в сфере AI и компьютерного зрения. Например, детектирование, классификация, сегментация, распознавание объектов и многие другие. Во многих случаях используются готовые предобученные модели, которые дообучаются по собственным данным разработчика для получения готового отраслевого решения. В этом случае ценность представляет как сам датасет (набор размеченных данных для дообучения), так и полученная модель. Если модель эксплуатируется у Заказчика, распространяется по лицензионной схеме и обладает достаточными для рынка показателями точности, то она сама по себе представляет ценность, так как может быть скопирована и запущена в рамках сторонних решений.
Одной из задач, которая встает на этапе деплоймента готовых решений на базе нейронных сетей – это защита разработанных и предобученных моделей от несанкционированного использования с интеграцией системы лицензирования и лимитированием сроков в варианте срочных лицензий.
Защита нейронной сети может быть физическая и юридическая. Юридическая защита обычно заключается в использовании «водяных знаков», и поможет доказать, что нейронная сеть используется не законно. Физическая защита сводится к блокировке защищенной модели. В данной статье мы рассмотрим физическую защиту на основе ключей SenseLock и фреймворка Intel OpenVINO.
Мы в своих решениях используем оптимизацию моделей и инференс (исполнение моделей) в фреймворке Intel OpenVINO. Это позволяет оптимизировать скорость исполнения нейронных сетей на всей линейке устройств Intel начиная от CPU, встроенной графики iGPU и заканчивая ускорителями VPU на базе Intel Movidius (MyriadX).
Huawei удалось выпустить ноутбук с собственным ARM-процессором и своим Linux-дистрибутивом
В прошлом году китайская компания Huawei стала активно искать альтернативные пути развития. Это случилось после того, как США наложили жесткие санкции, которые лишь усилились с течением времени. Поэтому Huawei начала разработку собственных аппаратных элементов, включая процессоры, а также своей ОС для мобильных устройств и умных часов.
Компания в конце года анонсировала выпуск ноутбука с ARM-процессором и своим дистрибутивом Линукс. И теперь это произошло: Huawei действительно удалось выпустить на рынок девайс на базе собственного процессора и своей ОС. Под катом — подробности.
Инструментарий для нагрузочного тестирования и не только
Мы в Altenar разрабатываем программное обеспечение для беттинга. Как и для многих разработчиков для нас очень важна производительность, в связи с этим особое внимание мы уделяем нагрузочному тестированию. Под катом подробный рассказ про наш опыт от инженера по автоматизации тестирования Даниила Матафонова (QA Automation Engineer) daniilmatafonov.
Фишки IDEA. Часть 1
Функционал IntelliJ IDEA велик, так что вряд ли найдется много разработчиков, кто использует все ее возможности без исключения. Но у каждого есть свой набор любимых фишек и опций. Около месяца назад во внутреннем чате Максилекта родилась идея пошарить эти фишки внутри компании. Коллеги восприняли ее с таким энтузиазмом, что одного запланированного часа обсуждений на это не хватило - встречу повторили через неделю.
Хотим поделиться с вами самыми интересными идеями (со ссылками на документацию, где подробно описано, как это работает).
«SRE — это не только про алертинг и постмортемы, а ещё про то, чтобы до продакшена не доходил код, который будит ночью»
21 мая в «Слёрме» начнётся интенсив по SRE. На три полных дня участники погрузятся в теорию и практику поддержки высоконагруженных сервисов. Никаких задач по работе, никаких семейных дел — только учёба. Под катом рассказываем, что вас ждёт, если решите присоединиться.
Стандарт C++20: обзор новых возможностей C++. Часть 3 «Концепты»
25 февраля автор курса «Разработчик C++» в Яндекс.Практикуме Георгий Осипов рассказал о новом этапе языка C++ — Стандарте C++20. В лекции сделан обзор всех основных нововведений Стандарта, рассказывается, как их применять уже сейчас и чем они могут быть полезны.
При подготовке вебинара стояла цель сделать обзор всех ключевых возможностей C++20. Поэтому вебинар получился насыщенным и растянулся на почти 2,5 часа. Для вашего удобства текст мы разбили на шесть частей:
- Модули и краткая история C++.
- Операция «космический корабль».
- Концепты.
- Ranges.
- Корутины.
- Другие фичи ядра и стандартной библиотеки. Заключение.
Это третья часть, рассказывающая о концептах и ограничениях в современном C++.
Thunderbird, RNP и важность хорошего API
Недавно мне довелось побеседовать с разработчиком Thunderbird о проектировании API. В ходе этой беседы я поделился соображениями о RNP, новой реализации OpenPGP, которую Thunderbird недавно стал использовать вместо GnuPG.
Собеседник скептически отнесся к моему тезису о том, что API RNP нуждается в улучшении, и спросил, «разве это не субъективно – какие API лучше, а какие хуже?». Согласен, у нас нет хороших метрик для оценки API. Но не соглашусь, что мы в принципе не в силах судить об API.
На самом деле, подозреваю, что большинство опытных программистов узнают плохой API, если увидят его. Думаю, далее в этой статье получится разработать хорошую эвристику, которую я попытаюсь выстроить на моем собственном опыте работы с (и над) GnuPG, Sequoia и RNP. Затем я рассмотрю API RNP. К сожалению, этот API не только можно запросто использовать неправильно – он к тому же обманчив, поэтому пока его не следует использовать в контекстах, где принципиальная роль отводится соблюдению безопасности. Но целевая аудитория Thunderbird – это люди, известные своей уязвимостью, в частности, журналисты, активисты, юристы и их партнеры, отвечающие за коммуникацию; все эти люди нуждаются в защите. На мой взгляд, это означает, что в Thunderbird должны лишний раз подумать, стоит ли использовать RNP.
6 причин, по которым вам следовало бы отказаться от гистограмм
Гистограммам не чужды систематические ошибки. Дело в том, что они достаточно условны и могут привести к неправильным выводам о данных. Если вы хотите визуализировать переменную, лучше выбрать другой график.
Раскрытие заговора против себя дураки отложили на неопределённый срок
Ответьте на один вопрос, пробовали ли вы сказать дураку, что он дурак, чтобы он им быть перестал? Да, я тут, собираю статистику. Мне нужно узнать, существует ли хоть какая-то доля вероятности, что это когда либо срабатывало, за рамками статистической погрешности.
Нет, это никогда не срабатывало. Вообще никогда. Дурак обижается. Глупость - это самоподдерживаемое явление.
Обижается он на то, что вы не потрудились его обучить. Правильно делает. Исправлять глупость - значит потрудиться.
Существует две схемы принудительного обучения.
1. Постановка в условия, когда человек вынужден обучаться для выхода на средний уровень обеспечения жизни
и
2. Постановка в условия, когда уровень обеспечения окружающих выше уровня необученного, и он обучается просто по желанию выхода на их уровень.
Из таксиста в дата саентисты (перекатиться в 37 лет). Часть 2
Часть 1. 4 месяца борьбы за место DS джуна: https://habr.com/ru/post/536014/
ТАКСИ
- "А у вас тоже свой бизнес, а такси так, для души?" - пошутил пассажир на заднем сидении.
До Нового 2020 года оставалось три часа. Праздновать я собирался за рулем, принимая заказы. Никто еще не слышал ни про какую Ухань. А если ты чихнул, не прикрывшись, людей вокруг это совершенно не волновало.
На голове - новогодние оленьи рога, в бардачке - конфеты. Но девять из десяти заказов - это замученные последним рабочим днем люди, и мои конфеты были им абсолютно не интересны.
- "Нет, к счастью, никакого бизнеса у меня нет."
На самом деле, историй из прошлого про бизнес у меня более, чем достаточно. Но это закрытая страница. Мог бы завести разговор, что не так давно решил рискнуть и начал учиться Data Science. Но не стал. За время поездки я вряд ли объясню обычному человеку, что значат эти два слова. Да, честно говоря, тогда и сам еще не до конца понимал.
Желание это было еще не до конца оформлено и существовало только в виде тетрадки (которую я завел несколько лет назад, понятия не имея ни про какой "машин лёрнинг") с размытыми идеями о том, как бы я разрабатывал свой искусственный интеллект, если бы делал его с нуля...