Как стать автором
Обновить
23
0
Дмитрий Пухов @puhoshville

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

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

Как мы Redis Cluster готовили

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


В мире опен сорс есть огромное количество технологий, подходов, паттернов, тулзов и аппов, которые юзает очень много компаний. Как превратить используемое ПО или технологию в конкурентное преимущество? Предлагаю рассмотреть на примере Redis Cluster — как мы прокладывали наш путь.
Читать дальше →
Всего голосов 44: ↑35 и ↓9+26
Комментарии26

История тестирования проекта «К»: Kotlin&Spek

Время на прочтение11 мин
Количество просмотров4.6K
Привет, Хабр!

В этой статье мы поговорим об автоматическом тестировании на одном из многочисленных проектов QIWI, получившим кодовое название «К».



Когда мы организовывали тестирование это проекта, то решили выбрать практичный и хайповый Kotlin, а также Spek, гласящий «Вы называете их тестами, мы называем их спецификациями» (You call them tests, we call them specifications). Возможно, такой подход подойдет и вам, если вы столкнетесь с похожими задачами.

Почему Kotlin, а не что-то еще? Kotlin был выбран разработкой, поэкспериментировать, так как конкретно этот продукт не был критичным, и можно было вживую потренироваться на нём, не опасаясь, что будут проблемы.

Официальная документация говорит нам, что «Spek написан на Kotlin, и спецификации, которые вы пишете, будут написаны на Kotlin» – это очень ясно отвечает на вопрос: «Зачем это нужно?».

Итак…

Что это и зачем это нужно?

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

Выращенные лёгкие успешно пересажены свинье, через 5 лет возможны испытания на человеке

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


Лёгкие свиньи в биореакторе
Выращивание органов начнёт спасать жизни больных в течение пяти лет, после того как учёные впервые успешно трансплантировали биоинженерные лёгкие свинье.
Группа из Медицинского Факультета Университета Техаса (UTMB) показала, что лёгкие, выращенные в лабораторных условиях, легко прижились у свиней, и в течение двух недель в них выросла сеть кровеносных сосудов.

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

Но новые эксперименты показали, что через два месяца после имплантации лёгкие всё ещё функционировали, и у свиней было 100% насыщение кислородом, а это означало, что все их эритроциты переносят кислород через организм.
Читать дальше →
Всего голосов 56: ↑53 и ↓3+50
Комментарии109

Создаем 2D игру на Python с библиотекой Arcade

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

Мы продолжаем делится с вами интересными найденными вещами про питончик. Сегодня вот решили разобраться с 2D играми. Это, конечно, немного попроще, чем то, что проходят у нас на курсе «Разработчик Python», но не менее интересно это уж точно.

ПЕРЕВОД
Оригинал статьи — opensource.com/article/18/4/easy-2d-game-creation-python-and-arcade
Автор — Paul Vincent Craven


Поехали.

Python — выдающийся язык для начинающих изучать программирование. Он также идеально подходит тем, кто хочет “просто взять и сделать”, а не тратить кучу времени на шаблонный код. Arcade — библиотека Python для создания 2D игр, с низким порогом вхождения, но очень функциональная в опытных руках. В этом статье я объясню, как начать использовать Python и Arcade для программирования игр.

Я начал разрабатывать на Arcade после преподавания азов библиотеки PyGame студентам. Я очно преподавал PyGames в течение почти 10 лет, а также разработал ProgramArcadeGames.com для обучения онлайн. PyGames отличная, но в какой-то момент я понял, что устал тратить время на оправдание багов, которые никогда не фиксятся.

Меня беспокоило преподавание таких вещей, как событийный цикл, которым уже почти не пользовались. И был целый раздел, в котором я объяснял, почему y-координаты повернуты в противоположном направлении. PyGames обновлялась редко и базировалась на старой библиотеке SDL 1, а не чем-то более современном вроде OpenGL. На светлое будущее я не рассчитывал.

В моих мечтах была простая и мощная библиотека, которая бы использовала новые фичи Python 3, например, декораторы и тайп-хинтинг. Ей оказалась Arcade. Посмотрим, как начать ее использовать.

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

Где и как изучать машинное обучение?

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

Всем привет!


Ни для кого не секрет, что интерес к машинному обучению и искусственному интеллекту растет в лучшем случае по экспоненте. Тем временем мой Яндекс Диск превратился в огромную свалку пейперс, а закладки в Google Chrome превратились в список, длина которого стремится к бесконечности с каждым днем. Таким образом, дабы упростить жизнь себе и вам, решил структурировать информацию и дать множество ссылок на интересные ресурсы, которые изучал я и которые рекомендую изучать вам, если вы только вначале пути (буду пополнять список постоянно).

Путь для развития новичка я вижу примерно так:

Untitled_presentation
Читать дальше →
Всего голосов 47: ↑44 и ↓3+41
Комментарии19

Пакуем в контейнеры, деплоим, мониторим – программа Root Conf

Время на прочтение5 мин
Количество просмотров5.7K
То, что РИТ++ — это фестиваль для тех, кто делает интернет, — не пустые слова. Мы, действительно, считаем, что полезно разбираться не только в тонкостях своего стека, но и быть в курсе общих тенденций отрасли и знать, кто живет по соседству.

А кто соседствует с бэкендерами и фронтендерами? Правильно, эксплуатация! И Root Conf — конференция о поддержке и эксплуатации IT-проектов, мониторинге, виртуализации, CD/CI, отказоустойчивости и всему такому прочему.



Обзор программы построим по следующему принципу: сначала доклады, которые пройдут в главном зале, а потом остальные по секциям.
Вы же помните, что главный зал транслируется нами на YouTube бесплатно? Чтобы не пропустить, подпишитесь на любое из наших уведомлений — на компанию или на сайте в рассылке.
Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии1

Детектирование частей тела с помощью глубоких нейронных сетей

Время на прочтение8 мин
Количество просмотров27K
Привет, Хабр!

Сегодня я расскажу вам про один из методов решения задачи pose estimation. Задача состоит в детектировании частей тела на фотографиях, а метод называется DeepPose. Этот алгоритм был предложен ребятами из гугла еще в 2014 году. Казалось бы, не так давно, но не для области глубокого обучения. С тех пор появилось много новых и более продвинутых решений, но для полного понимания необходимо знакомство с истоками.


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

Применяем градиентный спуск на реальной Земле

Время на прочтение4 мин
Количество просмотров9.9K
Обычная аналогия для объяснения градиентного спуска такая: человек застрял в горах во время сильного тумана и должен спуститься вниз. Самый логичный способ — осмотреть поверхность вокруг и медленно проложить путь, следуя вниз по склону.

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

Но вот важный вопрос: насколько хорошо градиентный спуск выполняется на реальной Земле?
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии9

Feature Engineering, о чём молчат online-курсы

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


Sherlock by ThatsWhatSheSayd


Чтобы стать великим сыщиком, Шерлоку Холмсу было достаточно замечать то, чего не видели остальные, в вещах, которые находились у всех на виду. Мне кажется, что этим качеством должен обладать и каждый специалист по машинному обучению. Но тема Feature Engineering’а зачастую изучается в курсах по машинному обучению и анализу данных вскользь. В этом материале я хочу поделиться своим опытом обработки признаков с начинающими датасаентистами. Надеюсь, это поможет им быстрее достичь успеха в решении первых задач. Оговорюсь сразу, что в рамках этой части будут рассмотрены концептуальные методы обработки. Практическую часть по этому материалу совсем скоро опубликует моя коллега Osina_Anya.


Один из популярных источников данных для машинного обучения — логи. Практически в любой строчке лога есть время, а если это web-сервис, то там будут IP и UserAgent. Рассмотрим, какие признаки можно извлечь из этих данных.

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

Как я парсил Хабр, часть 1: тренды

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

Когда был доеден новогодний оливье, мне стало нечего делать, и я решил скачать себе на компьютер все статьи с Хабрахабра (и смежных платформ) и поисследовать.


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


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

Почему нужно перестать использовать Git rebase

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


После нескольких лет работы с Git я обнаружил, что постепенно стал переходить на всё более сложные Git-команды в рабочем процессе. Вскоре после того как я открыл для себя Git rebase, я тоже быстро внедрил эту команду в повседневные задачи. Те, кто знаком с этой процедурой, знают, насколько это мощный инструмент и какой это соблазн — постоянно им пользоваться. Но вскоре оказалось, что rebase влечёт за собой ряд неочевидных на первый взгляд трудностей. Но прежде чем обсудить их, хочу быстро рассмотреть различия между merge и rebase.

Читать дальше →
Всего голосов 138: ↑103 и ↓35+68
Комментарии381

Автоэнкодеры в Keras, Часть 1: Введение

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

Содержание



Во время погружения в Deep Learning зацепила меня тема автоэнкодеров, особенно с точки зрения генерации новых объектов. Стремясь улучшить качество генерации, читал различные блоги и литературу на тему генеративных подходов. В результате набравшийся опыт решил облечь в небольшую серию статей, в которой постарался кратко и с примерами описать все те проблемные места с которыми сталкивался сам, заодно вводя в синтаксис Keras.

Автоэнкодеры


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



Кому интересно, добро пожаловать под кат
Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии11

Лекции Технотрека. Администрирование Linux

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


Представляем вашему вниманию очередную порцию лекций Технотрека. В рамках курса будут рассмотрены основы системного администрирования интернет-сервисов, обеспечения их отказоустойчивости, производительности и безопасности, а также особенности устройства ОС Linux, наиболее широко применяемой в подобных проектах. В качестве примера будут использоваться дистрибутивы семейства RHEL 7 (CentOS 7), веб-сервер nginx, СУБД MySQL, системы резервного копирования bacula, системы мониторинга Zabbix, системы виртуализации oVirt, балансировщика нагрузки на базе ipvs+keepalived. Курс ведёт Сергей Клочков, системный администратор в компании Variti.

Всего голосов 61: ↑60 и ↓1+59
Комментарии9

Как выигрывать в конкурсах репостов Вконтакте?

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

Мне захотелось узнать, реально ли выиграть в конкурсах репостов ВКонтакте.

Как это сделать? Ответ очевиден — надо участвовать во всех конкурсах и по теории вероятностей, чем больше конкурсов, тем больше шанс выиграть хоть что-то.

Идея простая, берем модуль vk_api для Python и официальную документацию Vkontakte API отправляем запрос:

pool.method('newsfeed.search', {'q':u'Конкурс репост подарки <мой_город>'})
и репостим через wall.repost все что нашли себе на страницу и вступаем в группы методом groups.join

Что из этого получилось, с какими проблемами я столкнулся, читаем под катом
Читать дальше →
Всего голосов 123: ↑118 и ↓5+113
Комментарии90

Dropout — метод решения проблемы переобучения в нейронных сетях

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


Переобучение (overfitting) — одна из проблем глубоких нейронных сетей (Deep Neural Networks, DNN), состоящая в следующем: модель хорошо объясняет только примеры из обучающей выборки, адаптируясь к обучающим примерам, вместо того чтобы учиться классифицировать примеры, не участвовавшие в обучении (теряя способность к обобщению). За последние годы было предложено множество решений проблемы переобучения, но одно из них превзошло все остальные, благодаря своей простоте и прекрасным практическим результатам; это решение — Dropout (в русскоязычных источниках — “метод прореживания”, “метод исключения” или просто “дропаут”).
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии4

Оценка параметров старения с помощью носимой электроники. Лекция в Яндексе

Время на прочтение14 мин
Количество просмотров11K
Носимые устройства сейчас в моде, но используются в основном для фитнеса и спорта. Как найти им другое применение? Что они могут рассказать о нашем здоровье и продолжительности жизни? А главное — как оценивать поступающие с них данные? Руководитель направления mHealth R&D в компании Gero Тимофей Пырков прочитал отличную лекцию, посвящённую локомоторной активности человека.


Под катом — расшифровка и большинство слайдов.

Всего голосов 36: ↑34 и ↓2+32
Комментарии6

Три цикла в аттракторе Лоренца

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

Изучая иностранную литературу, на днях наткнулся на работы [1, 2] профессора Мичиганского университета Дивакара Вишваната (Divakar Viswanath) об итерационном алгоритме вычисления периодических орбит динамических систем, основанном на методе Линдштедта-Пуанкаре (ЛП) (для ознакомления с ним рекомендую книгу [3, с. 408-411]). Преимуществом данного метода является то, что он не требует численного интегрирования дифференциального уравнения, поэтому может быть применён к построению и неустойчивых циклов.
Всего голосов 23: ↑21 и ↓2+19
Комментарии16

Распределение Пуассона и футбольные ставки

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



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

ТМ 2.5 ТБ 2.5
Всего голосов 43: ↑42 и ↓1+41
Комментарии37

Подборка фреймворков для машинного обучения

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


В последние годы машинное обучение превратилось в мейнстрим небывалой силы. Эта тенденция подпитывается не только дешевизной облачных сред, но и доступностью мощнейших видеокарт, применяемых для подобных вычислений, — появилась ещё и масса фреймворков для машинного обучения. Почти все из них open source, но куда важнее то, что эти фреймворки проектируются таким образом, чтобы абстрагироваться от самых трудных частей машинного обучения, делая эти технологии более доступными широкому классу разработчиков. Под катом представлена подборка фреймворков для машинного обучения, как недавно созданных, так переработанных в уходящем году. Если у вас все хорошо с английским, то статья в оригинале доступна здесь.
Читать дальше →
Всего голосов 38: ↑35 и ↓3+32
Комментарии12

Chatbot на базе рекуррентной нейронной сети своими руками за 1 вечер/6$ и ~ 100 строчек кода

Время на прочтение10 мин
Количество просмотров109K
В данной статье я хочу показать насколько просто сегодня использовать нейронные сети. Вокруг меня довольно много людей одержимы идеей того, что нейронки может использовать только исследователь. И что бы получить хоть какой то выхлоп, нужно иметь как минимуму кандидатскую степень. А давайте на реальном примере посмотрим как оно на самом деле, взять и с нуля за один вечер обучить chatbot. Да еще не просто абы чем а самым что нинаесть ламповым TensorFlow. При этом я постарался описать все настолько просто, что-бы он был понятен даже начинающему программисту! В путь!

image
Читать дальше →
Всего голосов 57: ↑54 и ↓3+51
Комментарии26

Информация

В рейтинге
Не участвует
Откуда
Якутск, Саха (Якутия), Россия
Дата рождения
Зарегистрирован
Активность