Как стать автором
Обновить
1
0
Сулимов Андрей Викторович @Suland1969

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

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

Давайте сделаем крупное приложение на Flask (язык Python)

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

На Хабре я часто вижу статьи о реализации тех или иных фич на Python-фреймворках. Я объединил все эти фичи в реальный проект с открытым исходным кодом, чтобы у вас сложилась целостная картина. Мы с вами создадим UX/UI на Figma, напишем фронтенд на HTML, CSS, SASS, Bootstrap и JavaScript, создадим ER-диаграмму в MySQL Workbench, напишем бекэнд на Flask, создадим регистрацию через социальные сети OAuth 2.0 в один клик, используем брокер сообщений и асинхронную очередь Celery для отправки писем на электронную почту, сделаем WYSIWYG-редактор, реализуем полнотекстовый поиск Elasticsearch, закешируем Redis, покроем тестами pytest и запустим в Docker-контейнерах, поговорим о многопроцессности для WSGI-шлюза Gunicorn.

Читать далее
Всего голосов 19: ↑19 и ↓0+25
Комментарии43

Коронавирус: опасная иллюзия смертности

Время на прочтение12 мин
Количество просмотров1M
Безответственная пресса начинает заполнять наше информационное поле новостями о погибших от коронавируса, хотя таких сведений не озвучивает ни лечащий врач, ни ВОЗ. Из-за своей невнимательности журналисты де-факто самостоятельно называют причины смерти. И эта маленькая неточность в формулировке имеет колоссальное значение для общества. Сегодня крайне важно не путать общую смертность людей с подтверждённым коронавирусом и смертность непосредственно от коронавируса.

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

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

В своей предыдущей статье «Коронавирус: как мы себя обманываем» я уже демонстрировал разницу между смертностями на примере демографических данных Италии по одной возрастной группе. А сейчас я хочу поделиться свежим графиком Дэвида Шпигельхальтера, именитого статистика из Университета Кембриджа. В его распоряжении был полный объём данных по Великобритании от Имперского колледжа Лондона.

Таблица с данными + те же значения на логарифмической шкале
Читать дальше →
Всего голосов 418: ↑190 и ↓228+18
Комментарии2163

Бизнес-процессы: Как все запущено и запутано. Глава Третья. Общая классификация BPM и философия BPMS

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

BPM «Как есть» и «как не есть»


Продолжаем размышлять «что такое BPM», это который «Business Process Management» и какие они бывают. Парадокс: про него столько уже десятилетиями понаписано — книжек, статей, дискуссий, но что это такое – сегодня так и остаётся загадкой, причем: чем больше пишут – тем более загадочнее становится.

Не помогают ни книжки из серии «Для чайников», ни заветы CBOK, ни магические квадраты от Гартнера (BPM: BPA, BPMS, iBPMS и т.п.), в которых, как и в черных квадратах Малевича (а у него только черных было несколько «разных» вариантов) – каждый норовит увидеть что-то великое и таинственное, ведомое только ему.

В главе предлагается вариант классификации BPM-подобных сущностей. В информационной войне с «алхимией 21 века» продолжаем развенчивать популярные мифы о Business Process Management, Enterprise Architecture (ЕА) и иже с ними. Делаем очередной шаг на пути становления BPM как обычной (повседневной, повсеместной, тривиальной) инженерной дисциплины: process technology, «процесс-техника».

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

Бизнес-процессы: Как все запущено и запутано. Глава Первая

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


Всё выше, выше и выше
Стремим мы полёт БиПиЭм …


Термин «управление бизнес-процессами» — он же BPM (Business Process Management) прочно вошел в словарь важных слов современного (продвинутого) управленца. Реально этот термин должен отражать его повседневную деятельность (т.к. «само собой» ничего не работает и требует управления), но «с легкой руки» консалтеров это словосочетание стало обозначать нечто иное, но «очень эффективное и нужное», недешевое и, соответственно, сложное и непонятное (иначе, зачем столько BPM-консультантов?).
Тема активно муссируется с 80-х годов, за это время написано очень много умных книжек и статей, с конца 90-х в России ведется агрессивное продвижение «BPM-флагмана» ARIS и внедрение других «чуть менее» эффективных программных комплексов. Но до сих пор без помощи консалтеров назначение «модного» BPM не всем понятно, а его эффективность не однозначна. В очередной раз «просто о сложном» B-P-M или «Бизнес-процессы: Как все запущено и запутано».


1. Глава скептическая
1.1 BPМ-мантры


Каждый тор-менеджер сталкивается с «выгодным» предложением о внедрении загадочного Business Process Management. Мантры BPM-консалтеров обычно включают текст, приведенный в десятке абзацев ниже (кто знаком с мантрами, может их пролистнуть).
Для возбуждения интереса к теме, вступительные Мантры к вопросу «а зачем?» содержат:
— Необходимо комплексное восприятие бизнеса как системы взаимодействующих бизнес-процессов и переход на качественно новый уровень в организации производства, повышение операционной эффективности компании.
— Поэтому, эффективные бизнес-процессы — это залог успеха, конкурентоспособности и прибыльности компании (т.е. «правильности» компании).
— Следовательно, Управление бизнес-процессами (BPM) – эффективный инструмент повышения эффективности бизнеса и непрерывного улучшения вашей работы (не волнуйтесь, мы научим вас любить «бизнес-процессы вашу»).

Читать дальше →
Всего голосов 6: ↑3 и ↓30
Комментарии17

COVID-19: прогнозируем число больных коронавирусом

Время на прочтение7 мин
Количество просмотров12K
Коронавирус окончательно захватил весь мир — и выражается это не в том, что им успел переболеть каждый житель планеты. На данный момент эта тема является главной и единственной — как в мировых, так и в российских новостях. В этой статье мы постараемся максимально абстрагироваться от политики и рассуждений о том, запустили ли вирус китайские военные, или же Дональд Трамп. Вместо этого мы посмотрим на проблему с математической точки зрения — а именно, выясним, как можно описать эпидемию одним уравнением, а в конце статьи предскажем итоговое число зараженных COVID-19 — в том числе в России.


Читать дальше →
Всего голосов 26: ↑9 и ↓17-4
Комментарии10

Анализ рынка недвижимости на основе данных с msgr.ru

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

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



© Designed by upklyak / Freepik

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

Что можно успеть за 48 часов? Интервью с победителем хакатона по биоинформатике BioHack 2019

Время на прочтение7 мин
Количество просмотров3.1K
27 марта в Санкт-Петербурге стартует четвёртый хакатон по биоинформатике BioHack 2020. За время существования хакатона в нём участвовали более 300 молодых специалистов из разных стран и было разработано 58 решений. Свои проекты для работы на хакатоне представляли ведущие исследовательские организации: Институт физиологии им. И.П. Павлова, Институт Цитологии РАН, СПбГУ, ФНКЦ ФХМ, JetBrains BioLabs, Институт белка РАН, Genotek, МФТИ, iBinom и другие.

В 2019 году главный приз в размере 150 000 рублей забрала команда Garlic. За 48 часов, отведенных на работу, команда создала инструмент, который позволяет искать геномные перестройки заданной структуры. Мы попросили куратора проекта — Дмитрия Конанова, рассказать о проекте, хакатоне и в целом о жизни биоинформатика.


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

Как создать проект Django из шаблона

Время на прочтение4 мин
Количество просмотров12K
И снова здравствуйте! Специально для студентов курса «Web-разработчик на Python» мы подготовили еще один интересный перевод.





Шаблон проекта на Django – это естественный способ решения проблем, которые возникают, когда формат Django-проекта по умолчанию уже не отвечает требованиям. Сегодня в этом руководстве вы узнаете, как создать свой собственный проект из шаблона.
Читать дальше →
Всего голосов 11: ↑8 и ↓3+8
Комментарии8

Как проверить навыки программирования на Python? Задачи от Яндекса

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

Хакатон в Школе бэкенд-разработки

В 2019 году нам потребовалось автоматизированно проверить умение писать Python-код у сотен разработчиков. Так мы отбирали будущих студентов для Школы бэкенд-разработки. Это не то же самое, что предложить решить задачу на листе бумаги, как на собеседовании. С другой стороны, мы также не могли переиспользовать условия задач, уже подготовленные для наших соревнований по программированию. Дело в том, что соревнования с целью определить лучших из лучших — это одно, а отбор специалистов с небольшим опытом в школу — совсем другое. Нам требовались задачи, по решению которых было бы видно, обладает ли разработчик базовыми навыками написания кода и умением грамотно использовать память и время. Вот какие условия мы составили.
Читать дальше →
Всего голосов 15: ↑12 и ↓3+15
Комментарии22

Ансамбли нейронных сетей с PyTorch и Sklearn

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

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


И тут на помощь приходят ансамбли...


Что такое ансамбли


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

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

Теория графов в машинном обучении для самых маленьких

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

Сложность представления данных для глубокого обучения растет с каждым днем. Нейронные сети на основе данных в виде графа (Graph Neural Network, GNN) стали одним из прорывов последних лет. Но почему именно графы набирают все большую популярность в машинном обучении?


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

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

Как сегодня строится центр оперативного управления информационной безопасностью (SOC-центр)

Время на прочтение8 мин
Количество просмотров25K
В крупных компаниях есть люди, которые занимаются только тем, что контролируют состояние ИБ и ждут, когда начнутся проблемы. Речь идёт не про охранников перед мониторами, а про выделенных людей (как минимум одного в смене) в отделе информационной безопасности.



Большую часть времени оператор SOC-центра работает с SIEMами. SIEM-системы собирают данные с различных источников по всей сети и совместно с другими решениями сопоставляют события и оценивают угрозу — как индивидуально для каждого пользователя и сервиса, так и в целом для групп пользователей и узлов сети. Как только кто-то начинает себя вести слишком подозрительно, оператору SOC-центра поступает уведомление. Если уровень подозрительности зашкаливает, сначала изолируется подозрительный процесс или рабочее место, а уже потом приходит уведомление. Дальше начинается расследование инцидента.


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

Для UBA-систем (User Behaviour Analytics) последовательность действий также имеет значение. По отдельности резкий скачок объёма трафика, подключение к новому IP или копирование данных с файлового сервера случается время от времени. А вот если сначала юзер открыл письмо, потом у него было обращение к только что зарегистрированному домену, а затем он начал шариться по соседним машинам и отправлять странный зашифрованный трафик в Интернет — это уже подозрение в атаке.
Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии2

Как не стать Python-разработчиком

Время на прочтение2 мин
Количество просмотров105K
Как выглядит трек обучения программированию на Python с нуля? С чего стоит начать? На чем сделать акцент? Как не потерять интерес?

Полгода я искал ответы на эти вопросы, тщательно исследуя предметную область. Я обнаружил много полезных советов. Особенно в заметке Василия Большакова и на Хекслете. Но мне не хватало структуры. Знания нарастали со всех сторон и превращались в кучу. Чтобы структурировать процесс обучения и оценить его масштаб, я собрал план.
Читать дальше →
Всего голосов 39: ↑29 и ↓10+19
Комментарии42

Методы приближенного поиска ближайших соседей

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


Довольно часто программисты и специалисты из области data science сталкиваются с задачей поиска похожих профилей пользователей или подбора схожей музыки. Решения могут сводиться к преобразованию объектов в векторную форму и поиску ближайших.


Мы тоже столкнулись с необходимостью поиска ближайших соседей в задаче распознавания лиц. Там мы формируем векторные представления лиц при помощи нейросети и ищем ближайшие векторы уже известных людей. Изначально для поиска мы выбрали Annoy, как хорошо известный и проверенный алгоритм, используемый в том числе в Spotify. Но быстро поняли, что с его аппетитами по памяти мы либо не вмещаемся в RAM, либо сильно теряем в точности. Это привело к небольшому исследованию. О результатах которого пойдет речь ниже.

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

Нейронные сети для начинающих. Часть 1

Время на прочтение7 мин
Количество просмотров1.6M
image

Привет всем читателям Habrahabr, в этой статье я хочу поделиться с Вами моим опытом в изучении нейронных сетей и, как следствие, их реализации, с помощью языка программирования Java, на платформе Android. Мое знакомство с нейронными сетями произошло, когда вышло приложение Prisma. Оно обрабатывает любую фотографию, с помощью нейронных сетей, и воспроизводит ее с нуля, используя выбранный стиль. Заинтересовавшись этим, я бросился искать статьи и «туториалы», в первую очередь, на Хабре. И к моему великому удивлению, я не нашел ни одну статью, которая четко и поэтапно расписывала алгоритм работы нейронных сетей. Информация была разрознена и в ней отсутствовали ключевые моменты. Также, большинство авторов бросается показывать код на том или ином языке программирования, не прибегая к детальным объяснениям.

Поэтому сейчас, когда я достаточно хорошо освоил нейронные сети и нашел огромное количество информации с разных иностранных порталов, я хотел бы поделиться этим с людьми в серии публикаций, где я соберу всю информацию, которая потребуется вам, если вы только начинаете знакомство с нейронными сетями. В этой статье, я не буду делать сильный акцент на Java и буду объяснять все на примерах, чтобы вы сами смогли перенести это на любой, нужный вам язык программирования. В последующих статьях, я расскажу о своем приложении, написанном под андроид, которое предсказывает движение акций или валюты. Иными словами, всех желающих окунуться в мир нейронных сетей и жаждущих простого и доступного изложения информации или просто тех, кто что-то не понял и хочет подтянуть, добро пожаловать под кат.
Читать дальше →
Всего голосов 70: ↑60 и ↓10+50
Комментарии64

Нейронные сети для начинающих. Часть 2

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


Добро пожаловать во вторую часть руководства по нейронным сетям. Сразу хочу принести извинения всем кто ждал вторую часть намного раньше. По определенным причинам мне пришлось отложить ее написание. На самом деле я не ожидал, что у первой статьи будет такой спрос и что так много людей заинтересует данная тема. Взяв во внимание ваши комментарии, я постараюсь предоставить вам как можно больше информации и в то же время сохранить максимально понятный способ ее изложения. В данной статье, я буду рассказывать о способах обучения/тренировки нейросетей (в частности метод обратного распространения) и если вы, по каким-либо причинам, еще не прочитали первую часть, настоятельно рекомендую начать с нее. В процессе написания этой статьи, я хотел также рассказать о других видах нейросетей и методах тренировки, однако, начав писать про них, я понял что это пойдет вразрез с моим методом изложения. Я понимаю, что вам не терпится получить как можно больше информации, однако эти темы очень обширны и требуют детального анализа, а моей основной задачей является не написать очередную статью с поверхностным объяснением, а донести до вас каждый аспект затронутой темы и сделать статью максимально легкой в освоении. Спешу расстроить любителей “покодить”, так как я все еще не буду прибегать к использованию языка программирования и буду объяснять все “на пальцах”. Достаточно вступления, давайте теперь продолжим изучение нейросетей.
Читать дальше →
Всего голосов 46: ↑42 и ↓4+38
Комментарии37

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

Время на прочтение5 мин
Количество просмотров63K
Примечание: первоначально эта статья была написана для сайта Fuel Your Coding back в мае 2010 года. К сожалению, этот сайт сейчас не работает, поэтому я публикую статью здесь, чтобы сохранить её для потомков. Я собирался обновить её, учитывая последние веяния, но решил оставить так, как она была написана. Те части, что подустарели, могут показаться немного смешными, но да ладно. Получайте удовольствие…

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

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

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

В этой статье я хотел бы помочь вам в выборе того, что именно читать, и дать практические советы по такому чтению. Если вы уже и так читаете другие программы, то, может быть, вы найдёте здесь что-нибудь, что позволит получить больше от ваших усилий. Если же вы не читаете коды других разработчиков, то вы просто обязаны заняться этим.
Читать дальше →
Всего голосов 42: ↑39 и ↓3+36
Комментарии34

Telegram-bot: моя история. Часть первая

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

Доброго времени суток, Хабрахабр! Целью статьи является рассказать начинающим программистам о возможности не только разработать что-то интересное на основе несложных инструментов, но и разместить проект в общий доступ, а при усердных стараниях увидеть, что не только автор может оценить потраченные усилия.

Ближе к делу — мой первый пет-проект, решающий проблему доступа к расписанию университета на мобильных устройствах через Telegram, с аудиторией более, чем сто пятьдесят уникальных посетителей в сутки. Несмотря на то, что цифра не является заоблачной, это совсем неплохой результат, выступающий последующей долговременной средой настоящей боевой разработки, учитывая все возможные особенности, и сопровождения продукта длительный период, что бесспорно полезно и ценно для каждого разработчика.
Читать дальше →
Всего голосов 29: ↑23 и ↓6+17
Комментарии11

Telegram-bot: моя история. Часть вторая

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

Доброго времени суток, Хабрахабр! Данный материал является продолжением первой части, в которой освещены инструменты и возможности разработки продукта на облачной платформе. Примером является актуальное мобильное расширение доступа к расписанию пар в университете — Telegram-bot.

Уделив время первой публикации, вы можете ознакомиться не только с первоначальным развертыванием и необходимыми ресурсами, но и с обзором приложения от автора. Информация ниже сконцентрирована в большей степени на описании технической стороны и в меньшей на выводах по итогам на текущий момент.
Читать дальше →
Всего голосов 22: ↑17 и ↓5+12
Комментарии1

Инфекционное распространение рекламы в социальных сетях

Время на прочтение6 мин
Количество просмотров4.7K
Очевидно, что факт развития социальных сетей нивелирует расстояние между агентами, а также увеличивает вероятность случайного возникновения связи между двумя агентами – таким образом, заразить агентов информацией все проще и проще. А значит, актуальным становится вопрос способности предсказать, как именно распространится инфекция.

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

Далее я покажу практическое применение моделей распространение инфекции на примере сети Flickr. Для этого будут реализованы две самые популярные и применимые на практике модели – SI (suspectible – infected) и SIR (suspectible – infected – recovered) [1], [5].
Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии1
1

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность