Pull to refresh
6
0
Михаил @sergeevms

User

Send message

Телега для датасайентиста

Reading time15 min
Views52K

How to deploy Python Telegram bot using Webhooks on Google Cloud Platform


Вместо предисловия


image

— Напиши телеграм-бота. Сейчас даже школьники пишут, — сказала она.
— А почему бы и нет, — подумал я тогда ( — Ну, ну, — сказал бы я сейчас).


Мы сидели в Бине и за чашкой кофе обсуждали возможности тестирования идей с моделями искусственного интеллекта на близком и не очень круге друзей. Лена, моя бывшая коллега, и во всех отношениях не блондинка, только что закончившая магистратуру, рассуждала так. Создав бота, можно сэкономить силы и время на интерфейсе, сосредоточившись на ядре с машинным обучением. Согласитесь, что устоять против такой логики “спортсменки, комсомолки и просто красавицы” в то прекрасное воскресное утро было невозможно. Решено. Телеграм-бот, значит телеграм-бот.


Первым делом я залез в гугл и нашел большое число ссылок “как сделать бот за 30 минут”. Это меня настолько воодушевило, что дальше названий я не пошел и занялся созданием ядра. В самом первом приближении мне предстояло написать систему обработки поисковых запросов с использованием NLP (natural language processing). Написание ядра заняло некоторое, вполне разумное, время (все же опыт кока-колой не пропить). И через несколько дней я был готов к тому, чтобы за пару часов обернуть первую тестовую версию ядра в пару другую команд send-receive, запустив все это в Телеграме на благо моим друзьям. Но не тут-то было.


Неожиданно возник целый клубок проблем. Потратив пару дней на поиски в интернете и общение с коллегами по цеху, я понял, что очевидное не очевидно, и еще одна “инструкция” точно не повредит. Так и появилась эта статья.

Читать дальше →
Total votes 49: ↑45 and ↓4+41
Comments35

Мы тратим годы на то, что делается неделю — потому что все ларьки заигрались в IT-гигантов

Reading time5 min
Views128K


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

Если бы меня кто-то спросил, за сколько можно сделать такое приложение в одиночку — я бы сказал: «два месяца на разработку, один на тестирование». Но нас было много, поэтому мы работали больше двух лет.
Читать дальше →
Total votes 262: ↑220 and ↓42+178
Comments257

Организация разработки в изолированной сети — как управлять зависимостями?

Reading time10 min
Views2.2K

Как можно собрать актуальный стек используемых библиотек и фреймворков чтобы комфортно заниматься разработкой если вы самоизолировались в глухой деревне, летите 8 часов в самолете или в вашей компании лимитирован доступ к всемирной паутине настолько, что вы не можете пользоваться публичными репозиториями артефактов, например таким, как maven central? Как же нам предоставить все необходимые артефакты, от которых мы зависим, включая транзитивные зависимости? Как потом их обновлять вместе с новыми версиями фреймворка?


image


Попробуем найти ответы на эти вопросы. В данной статье я хочу рассказать о нашем новом инструменте CUBA SDK — консольной утилите, которая позволяет определять все транзитивные зависимости для Maven-библиотек и управлять ими в удаленных репозиториях. Также в статье мы рассмотрим пример, который позволит вам использовать наши наработки для любого Java приложения с применением Maven-зависимостей.

Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments0

Подробно о задачах Gradle

Reading time24 min
Views121K


Перевод второй главы свободно распространяемой книги Building and Testing with Gradle

Задача (task) является основным компонентом процесса сборки в файле билда Gradle. Задачи представляют собой именованные наборы инструкций билда, которые Gradle запускает выполняя сборку приложения. При сравнении с другими билд-системами, задачи могут показаться знакомой абстракцией. Однако Gradle предоставляет более развитую модель, в отличие от той, которая вам уже может быть знакома. По сравнению с традиционными возможностями объявления операций билда, связанных зависимостями, задачи Gradle являются полнофункциональными объектами, которыми вы при желании можете управлять программно.

Рассмотрим какими способами можно определить задачу, два ключевых подхода к определению задач и программный интерфейс, который мы можем использовать для гибкой настройки.
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments4

Настройка репозитория Sonatype Nexus для проксирования артефактов Maven

Reading time6 min
Views63K
Добрый день!

Про утилиту сборки для Java-проектов Maven и про возможность создания локального сервера для Maven-репозитория с помощью Sonatype Nexus на Хабре уже упоминали (тут и тут). Однако, никакого рецепта по этому поводу представлено не было. Это неудивительно при наличии достаточно полной грамотной документации. По долгу службы мне пришлось настраивать его на нашей фирме, и оказалось, что советы из официальной документации не совсем подходят. Возникшей проблемой и способом ее решения я и хочу поделиться с сообществом. Но обо всем по порядку.

Зачем это нужно?


Локальный сервер для Maven-репозитория (как, например, Sonatype Nexus) может быть использован для хранения локальных артефактов Maven, и действительно пригодится командам, которые разрабатывают модульные приложения, но не собираются публиковать модули в общий доступ.

Кроме того, такой сервер может работать и для локального хранения удаленных артефактов Maven, что значительно сокращает время загрузки удаленных артефактов всеми членами команды и предохраняет от недоступности внешних репозиториев. Именно о таком использовании и пойдет речь дальше.
Читать дальше →
Total votes 6: ↑5 and ↓1+4
Comments1

Шпаргалка Java программиста 1: JPA и Hibernate в вопросах и ответах

Reading time36 min
Views568K
image

Знаете ли вы JPA? А Hibernate? А если проверить?

В чем смысл серии статей 'Шпаргалки Java программиста'
За время работы Java программистом я заметил, что как правило программисты постоянно и планомерно используют от силы 10-20% от возможностей той или иной технологии, при этом остальные возможности быстро забываются и при появлении новых требований, переходе на новую работу или подготовке к техническому интервью приходится перечитывать все документации и спецификации с нуля. Зато наличие краткого конспекта особенностей тех или иных технологий (шпаргалок) позволяет быстро освежить в памяти особенности той или иной технологии.




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

Поехали...
Total votes 37: ↑32 and ↓5+27
Comments16

Как сделать онлайн просмотр документов

Reading time6 min
Views56K
Первый рабочий день. Первая задача в Redmine. Первая спецификация в формате doc. На новой рабочей машине. К чтению спецификации удалось приступить часа через 3. Пока скачался и установился MS Office. Вспоминая этот случай, я был уверен, что в нашей системе управления задачами надо сделать онлайн просмотр документов. Вот только идей по реализации за разумное время и трудозатраты не было. Недавно мы нашли способ – Microsoft Office Web Apps.

В этой статье пойдет речь о том, как добавить онлайн просмотр документов в любой продукт.
Читать дальше →
Total votes 18: ↑15 and ↓3+12
Comments36

43 полезных сервиса для управления проектами. Без эпитетов

Reading time13 min
Views691K
Дано: собственные и аутсорс-проекты, некоторые участники работают удаленно.

Требуется: необходимо быстро назначать задачи исполнителям, планировать спринты, трекать выполнение и статусы, визуализировать процессы и делиться результатами с заказчиками.

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

Изначально сервисов было более 100, но постепенно список сокращался, и мы остановили наш выбор на трех, удовлетворяющих вместе наши нужды лучше всего: Jira, Slack и GanttPro. Но, если вдруг эти сервисы не помогут вам в планировании задач и работы с командой, делюсь с вами полным списком:

Процесс поиска очень часто усложняется тем, что все сервисы, как один, пишут «Лучший сервис, помогающий превратить ваши идеи в реальность и реализовать ваши проекты. Сегодня.». Так, а что вы делаете-то? Поэтому в этом списке без лишних эпитетов, только что какой сервис умеет. :)




Читать дальше →
Total votes 38: ↑32 and ↓6+26
Comments46

Создание пользовательского фильтра для списка в SharePoint 2010

Reading time6 min
Views8K
В данной статье будут последовательно описаны все шаги, необходимые для написания универсального фильтра, позволяющего производить отбор из стандартных списков SharePoint (наследников от XsltListWebPart или ListWebPart).

Разработка велась на VisualStudio 2010, которая умеет работать только с SharePoint 2010, поэтому всё описанное ниже проверялось на платформе SharePoint Foundation 2010, однако, скорее всего, всё будет справедливо и для SharePoint 2007 (WSS 3.0).
Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments6

Баллада о SharePoint

Reading time89 min
Views208K
image

Предисловие


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

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

Кстати картинка «человека дождя» на заглавной не просто для привлечения внимания и именно для этого в повествование добавлена «лирика», все события, имена и прочее есть суть фантазии автора. Как обычно, никто ни за что не несет ответственности :)

Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments62

Мифы о высадке на Луне (видео)

Reading time1 min
Views49K


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

После завершения лекции о Луне поговорили еще о космонавтике в целом, о будущих пилотируемых миссиях, о SpaceX, и прочем космическом. В сумме вышло два часа.
Читать дальше →
Total votes 54: ↑47 and ↓7+40
Comments320

Получаем доменное имя, DNS и SSL сертификат нахаляву

Reading time3 min
Views29K
Привет, Хабр. Данный пост предназначен для любителей халявы и содержит готовый рецепт по получению доменного имени, услуг DNS-сервера и SSL-сертификата с затратами 0 рублей 0 копеек. Бесплатный сыр бывает только в мышеловке и это правда, так что рецепт скорее для тех кто хочет красивую ссылку на свой личный небольшой проект с поддержкой https а не для серьёзных проектов.

Читать дальше →
Total votes 44: ↑19 and ↓25-6
Comments33

Создатель мультфильма «Крепость» представил «Последний день войны»

Reading time1 min
Views46K


Без малого три года назад Дмитрий Федотов выпустил впечатляющую работу, короткометражный мультфильм под названием «Крепость». Чтобы вспомнить о чем речь, вот сам мульт:



Сюжет таков: «Фильм притча, фантастика. Прошло 10 лет с начала последней войны. Люди постепенно выбывали из строя и автопилоты брали на себя часть их функций, вплоть до полного замещения. Теперь, когда все живое мертво, роботы продолжают бессмысленную войну в автоматическом режиме. В этом мире, гильза кассетной бомбы объемного взрыва стала крепостью для травы, а самолет стал крепостью и могилой для пилота. Любая система созданная человеком, как бы велика и совершенна она ни была, разрушится без него. Природа же — будет созидать даже на руинах».
Читать дальше →
Total votes 59: ↑57 and ↓2+55
Comments222

Установка Android планшета NEXUS 7 2013 вместо магнитолы в Mazda MX-5 – часть 1/2

Reading time7 min
Views77K
Привет читающим! Этой статьей я постараюсь описать весь путь установки планшета на андроиде в качестве магнитолы в автомобиль mazda мх5. Начиная от закупки комплектующих и заканчивая программной частью – в общем полный полный набор с кучей фото, видео и текста. Я проделал эту работу и постарался описать всё так, что бы это мог повторить каждый!

И вы сможете завтракать в пробках с ютубом



Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments99

Лучшие светодиодные лампы 2015 года

Reading time4 min
Views99K
На сайте lamptest.ru я публикую результаты измерений параметров светодиодных ламп. Цифр там немало и многим сложно в них разобраться. Всё чаще я слышу вопрос — «так какая лампочка самая лучшая»? Хороших ламп много и я решил регулярно публиковать списки лучших ламп.



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

Читать дальше →
Total votes 46: ↑44 and ↓2+42
Comments69

Грипп: врачи советуют «Тамифлю». Но, доказательна ли доказательная медицина?

Reading time10 min
Views74K
Продолжая серию публикаций о здоровье нельзя обойти вниманием тему гриппа.

Всемирное использование противовирусного препарата «Тамифлю», резко выросло после вспышки вируса H1N1 («свиного» или «Мексиканского» гриппа) в 2009 году. Первоначально считалось, что это приведет к уменьшению госпитализаций и осложнений гриппа, таких как пневмония, во время пандемии.

Но, оказалось, что “Тамифлю” («Осельтамивир») сокращает продолжительность симптомов гриппа всего на полдня, и нет доказательств, что он уменьшает число госпитализаций или осложнений гриппа. Об этом свидетельствуют данные Кокрановского обзора исследований , опубликованные Кокрановским сообществом (независимой, исследовательской сетью глобального здравоохранения) и «Британским медицинским журналом» (BMJ) еще в апреле 2014г.

Читать дальше →
Total votes 42: ↑35 and ↓7+28
Comments112

Isotoxin: свободный мультипротокольный мессенджер с поддержкой Tox

Reading time7 min
Views30K
Вы наверняка слышали о Tox. Напомню: это свободный защищенный p2p протокол для передачи сообщений, аудио и видео потоков между участниками Tox-сети. По сути — это альтернатива скайпу. Когда я впервые услышал о Tox, мой градус неприязни к скайпу был еще не слишком высок, но я уже начал поиск альтернатив. Мне очень понравилась идея, лежащая в основе Tox: мы пишем протокол со всеми нужными плюшками, а вы пишете к нему клиенты. Когда появились первые клиенты для сети Tox, я подумал: «черт возьми, я смогу сделать это не хуже!». Вобщем, подталкиваемый неприязнью к скайпу, я взялся за проект мессенджера своей мечты. Сейчас, когда в моем локальном hg-репозитории первому комиту исполнилось 19 месяцев и был сделан 414-й комит, я наконец то созрел до того, чтобы рассказать об этом клиенте широкой аудитории Хабра.


Читать дальше →
Total votes 60: ↑57 and ↓3+54
Comments55

Светодиодные лампы X-Flash

Reading time3 min
Views19K
Недавно я рассказывал об умных светодиодных лампах X-Flash, умеющих автоматически включаться при наступлении сумерек, менять цветовую температуру 3000/4000K, устанавливать один из трёх уровней яркости или плавно менять яркость без диммера. Сегодня расскажу об обычных светодиодных лампах этого бренда.



Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments2

Светодиодные лампы из магазина Ашан

Reading time4 min
Views67K
Большинство светодиодных ламп, которые я тестирую и о которых пишу, можно купить только в специализированных интернет-магазинах, однако обычные покупатели как правило покупают лампы в гипермаркетах. Я съездил в магазины Ашан и Леруа Мерлен, купил там 48 моделей светодиодных ламп и протестировал их. Лампы вернул обратно в магазины, так как там есть возможность возврата. О лампах из Леруа Мерлен расскажу в следующий раз, сегодня — 22 лампы из Ашана.


Читать дальше →
Total votes 107: ↑105 and ↓2+103
Comments82

Как описать свои навыки в резюме

Reading time3 min
Views26K
Навыки, о которых вы хотите рассказать своим работодателям, должны быть чётко сформулированы, а не быть просто «брошены на ветер». Коммуникабельность / ответственность и креативность — всё это, конечно, прекрасно, но содержательно бесполезно.

Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments1
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity