Pull to refresh
94
0
Роман @BosonBeard

Технический писатель / системный аналитик

Send message

Python 3.5; async/await

Reading time5 min
Views281K
Тихо и незаметно (с), вышел Python версии 3.5! И, безусловно, одно из самых интересных нововведений релиза является новый синтаксис определения сопрограмм с помощью ключевых слов async/await, далее в статье об этом.

Поверхностный просмотр «PEP 0492 — Coroutines with async and await syntax» поначалу оставил у меня вопрос «Зачем это надо». Сопрограммы удовлетворительно реализуются на расширенных генераторах и на первый взгляд может показаться, что все свелось к замене yield from на await, а декоратора, создающего сопрограмму на async. Сюда можно добавить и возникающее ощущение, что все это сделано исключительно для использования с модулем asyncio.

Но это, конечно же, не так, тема глубже и интереснее.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments26

Погружение в F#. Пособие для C#-разработчиков

Reading time12 min
Views83K

Этот пост будет не о том, как «перевести» код с C# на F#: различные парадигмы делают каждый из этих языков лучшим для своего круга задач. Однако вы сможете оценить все достоинства функционального программирования быстрее, если не будете думать о переводе кода из одной парадигмы в другую. Настало время любопытных, пытливых и готовых изучать совершенно новые вещи. Давайте начнем!



Все материалы из серии переводов русскоязычного сообщества F#-разработчиков вы сможете найти по тегу #fsharplangru.
Читать дальше →
Total votes 48: ↑47 and ↓1+46
Comments74

F# на Linux как лекарство для души

Reading time3 min
Views19K

А у вас никогда не возникало ощущения, что «вот это» уже надоело? Что хочется чего-то нового? «Вот этим» может быть что угодно: игра, работа, машина. Что-то любое, что повторяется изо дня в день. А в программировании? Под катом вы найдете историю об усталости от C# и выборе более интересного подхода.


Читать дальше →
Total votes 30: ↑25 and ↓5+20
Comments39

Ориентация мобильного робота, выбор способа регистрации особых точек изображений

Reading time2 min
Views6.5K
Это предыстория и продолжение статьи:

Дело было вечером… все статьи на Хабре были прочитаны, затеял «небольшой» проект по автономной ориентации робота на RaspberryPi 3. С железом проблем нет, собирается недорого из г-на и палок купленных на ебау деталек, камера с хорошей стеклянной оптикой (это важно для стабильности калибраций), привод камеры вверх, вниз и компас, гироскоп и тд прикрепленные к камере:



Существующие системы SLAM не устраивают, или по цене, или по качеству/скорости. Поскольку наработок деталей для Visual SLAM у меня много, решил шаг за шагом писать и выкладывать алгоритмы и код в открытый доступ, с обоснованием причин выбора тех или иных алгоритмов.
У Вас есть план?
Total votes 11: ↑10 and ↓1+9
Comments9

Боты на .Net Core для Telegram, Slack и Facebook

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



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

Боты могут использоваться для информирования, для автоматизации процессов (например, автоматической генерации задачи в TFS на основе письма пользователя) и для многих других целей, но т.к. одной статьи не хватит, чтобы рассмотреть все варианты, далее пойдёт рассказ лишь о том, как создать бота для обработки команд.
Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments14

Метод Уэлфорда и многомерная линейная регрессия

Reading time8 min
Views20K

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


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


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

Когда запустил стартап и узнаешь, что это уже и не стартап вовсе

Reading time7 min
Views21K
Вот бывает же так, собираешь команду ребят, вкладываешь деньги и/или привлекаешь партнера-инвестора в свой проект, денно и ночно трудишься почти год, чтобы предложить миру, в моём случае конечно же городу своё уникальное изобретение и вуаля!

Приходишь такой со своим проектом в виде работающего прототипа защищаться на краш-тест организованный какой либо предпринимательской тусовкой и тебе там говорят — «Ребят, да вы чё, такое уже есть, в Европе аналогичное мобильное приложение „meetap“ распространенно и все ими пользуются, зачем вы вообще что то делаете по своему, просто берите и копируйте!

Честно, глаз чуть не выпал, когда услышал такие слова от приглашенных в Новосибирске жюри данного краш-теста по стартапам, т.е. человек априори считает, что нельзя сделать что то лучше зарубежных проектов и надо все просто копировать!

Позиция замечательная, но речь конечно не о ней, речь о том, что у еще не родившегося стартапа уже возник некий конкурент западный, который и в России оказывается присутствует.

Наверное сейчас возникают мысли у вас, а чего же вы сразу конкурентов не погуглили до начала работы над стартапом? Чему же тут удивляться если сами плохо искали, да? Такие у вас мысли?
Читать дальше →
Total votes 31: ↑24 and ↓7+17
Comments29

Структура и модель выполнения .NET Core приложений

Reading time15 min
Views52K
В этой статье я рассмотрю компоненты платформы .NET Core 2.0, необходимые для загрузки и выполнения .NET Core-приложений, а также артефакты для двух возможных типов развертывания.

Текст объемный и рассчитан на:

  • начинающих разработчиков, которые только знакомятся с платформой .NET Core;
  • опытных разработчиков, выполняющих роль DevOps-инженеров в produсtion-окружении.

В статье не упоминается процесс создания приложений при помощи SDK (dotnet CLI), однако эта информация будет полезной для понимания, как работает SDK, а именно её основной компонент (ядро) — «драйвер» dotnet.dll, поскольку эта библиотека является управляемой сборкой и выполняется на .NET Core.

Примеры процессов выполнения описаны для ОС Windows, но работают по тому же принципу и на других ОС (с учетом различных расширений исполняемых файлов и нативных библиотек).
Читать дальше →
Total votes 42: ↑41 and ↓1+40
Comments10

Однолинейные схемы в Revit

Reading time3 min
Views20K
image
Revit — программный комплекс, реализующий принцип информационного моделирования зданий. Изначально программа предназначалась для архитекторов. Теперь все больше компаний при устройстве на работу требуют от инженеров умения работы в Revit. Autodesk Revit предоставляет мощный .NET API, позволяющий разрабатывать собственные приложения для решения различных задач. В данной статье хочу поделиться опытом создания однолинейных схем в Revit.

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

Анализ временных рядов с помощью python

Reading time8 min
Views189K
Добрый день, уважаемые читатели.
В сегодняшней статье, я попытаюсь описать процесс анализа временных рядов с помощью python и модуля statsmodels. Данный модуль предоставляет широкий набор средств и методов для проведения статистического анализа и эконометрики. Я попытаюсь показать основные этапы анализа таких рядов, в заключении мы построим модель ARIMA.
Для примера взяты реальные данные по товарообороту одного из складских комплексов Подмосковья.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments15

Семь смертных грехов программиста на T-SQL

Reading time13 min
Views204K
Недостаточно писать код хорошо читаемым: он также должен быстро выполняться.

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

  • Пишите, исходя из структуры хранения данных: если вы храните данные типа datetime, используйте именно datetime, а не varchar или что-нибудь еще.
  • Пишите, исходя из наличия индексов: если на таблице построены индексы, и они должны там быть, пишите код так, чтобы он мог использовать все преимущества, предоставляемые этими индексами. Убедитесь, что кластерный индекс, а для каждой таблицы он может быть только один, используется наиболее эффективным образом.
  • Пишите так, чтобы помочь оптимизатору запросов: оптимизатор запросов – восхитительная часть СУБД. К сожалению, вы можете сильно затруднить ему работу, написав запрос, который ему «тяжело» будет разбирать, например, содержащий вложенные представления – когда одно представление получает данные из другого, а то из третьего – и так далее. Потратьте свое время для того, чтобы понять как работает оптимизатор и писать запросы таким образом, чтобы он мог вам помочь, а не навредить.

Существует несколько типичных ошибок, которые люди допускают в своем коде на T-SQL – не совершайте их.
Читать дальше →
Total votes 67: ↑62 and ↓5+57
Comments14

Бесплатная YouTube-трансляция DotNext 2017 Moscow: Перформанс .NET, AI, микросервисы и немного F#

Reading time12 min
Views14K

Говорят, бесконечно можно смотреть на три вещи: как горит огонь, как течет вода и как работают другие люди. То есть, идеальный объект для наблюдений — прямая трансляция большой конференции.


И кстати, у нас есть для вас одна такая. В это воскресенье и понедельник проходит DotNext 2017 Moscow — крупнейшая в России конференция, посвященная разработке на платформе .NET. Три десятка спикеров выступят с докладами о настоящем и будущем платформы .NET, об оптимизации производительности и многопоточности, о внутреннем устройстве платформы .NET и CLR, о профилировании и отладке .NET-кода, и так далее.


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


Total votes 53: ↑51 and ↓2+49
Comments8

Убираем радиальное искажение с фото и видео при помощи библиотеки openCV и языка python

Reading time5 min
Views27K

В данной статье будет рассказываться о применении библиотеки машинного зрения (openCV) для удаления эффекта радиального искажения (дисторсии) с фото и видео. Данный эффект также известен как эффект рыбьего глаза (fisheye) или distortion. Решение написать данную статью было принято после нескольких дней поиска информации в интернете. Не смотря на то, что есть гайды на английском языке, они не объясняют как правильно установить openCV, чтобы все работало. В статье присутствует готовый код.


Сразу привожу фото итогового результата. Слева оригинальное фото, справа — обработанное:


before after

Читать дальше →
Total votes 46: ↑32 and ↓14+18
Comments21

Визуализация результатов выборов в Москве на карте в Jupyter Notebook

Reading time11 min
Views39K


Всем привет!


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


В качестве примера возьмем недавно отгремевшие муниципальные выборы в Москве. Сами данные можно взять с сайта мосгоризбиркома, в можно просто забрать датасеты с https://gudkov.ru/. Там даже есть какая-никакая визуализация, но мы пойдем глубже. Итак, что же у нас в итоге должно получиться?

Читать дальше →
Total votes 61: ↑59 and ↓2+57
Comments45

В гостях у сказки: патентные тролли

Reading time4 min
Views11K

Патентные тролли давно появились и до сих пор довольно часто появляются на первых строчках в новостях, когда иски направляются против индустриальных гигантов, таких как Apple, Microsoft, Samsung и другие. Однако от патентных троллей страдают не столько большие корпорации, сколько маленькие компании и стартапы. Это связано с тем, что у небольших и новых компаний просто нет ресурсов противостоять троллям, ведь помимо дороговизны судебных тяжб необходимо иметь возможность отстоять свои права на продукцию, что обычно сложно сделать стартапам в виду недостатка защиты интеллектуальной собственности (ИС).
Читать дальше →
Total votes 29: ↑24 and ↓5+19
Comments19

Нейросетевая игра в имитацию

Reading time25 min
Views43K

Здравствуйте, коллеги. В конце 1960-ых годов прошлого века Ричард Фейнман прочитал в Калтехе курс лекций по общей физике. Фейнман согласился прочитать свой курс ровно один раз. Университет понимал, что лекции станут историческим событием, взялся записывать все лекции и фотографировать все рисунки, которые Фейнман делал на доске. Может быть, именно после этого у университета осталась привычка фотографировать все доски, к которым прикасалась его рука. Фотография справа сделана в год смерти Фейнмана. В верхнем левом углу написано: "What I cannot create, I do not understand". Это говорили себе не только физики, но и биологи. В 2011 году, Крейгом Вентером был создан первый в мире синтетический живой организм, т.е. ДНК этого организма создана человеком. Организм не очень большой, всего из одной клетки. Помимо всего того, что необходимо для воспроизводства программы жизнедеятельности, в ДНК были закодированы имена создателей, их электропочты, и цитата Ричарда Фейнмана (пусть и с ошибкой, ее кстати позже исправили). Хотите узнать, к чему эта прохладная тут? Приглашаю под кат, коллеги.

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

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

Reading time57 min
Views34K
Привет, Хабр! В последнее время машинное обучение и data science в целом приобретают все большую популярность. Постоянно появляются новые библиотеки и для тренировки моделей машинного обучения может потребоваться совсем немного кода. В такой ситуации можно забыть, что машинное обучение — не самоцель, а инструмент для решения какой-либо задачи. Мало сделать работающую модель, не менее важно качественно презентовать результаты анализа или сделать работающий продукт.

Я хотел бы рассказать о том, как создал проект по распознаванию рукописного ввода цифр с моделями, которые дообучаются на нарисованных пользователями цифрах. Используется две модели: простая нейронная сеть (FNN) на чистом numpy и сверточная сеть (CNN) на Tensorflow. Вы сможете узнать, как сделать практически с нуля следующее:

  • создать простой сайт с использованием Flask и Bootstrap;
  • разместить его на платформе Heroku;
  • реализовать сохранение и загрузку данных с помощью облака Amazon s3;
  • собрать собственный датасет;
  • натренировать модели машинного обучения (FNN и CNN);
  • сделать возможность дообучения этих моделей;
  • сделать сайт, который сможет распознавать нарисованные изображения;

Для полного понимания проекта желательно знать как работает deep learning для распознавания изображений, иметь базовые знания о Flask и немного разбираться в HTML, JS и CSS.
Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments9

Собеседуй меня полностью. Или как избавиться от холодных рук на собеседовании

Reading time3 min
Views21K
image

Последний раз вы были на собеседовании больше года назад? Вы не совсем уверены в том, как себя поведете на собеседовании в компании, в которую ну уж очень хотите попасть? Вы испытываете непонятный мандраж в метро по пути на первую встречу с кадровиком и забываете спросить какая же все-таки у вас будет зарплата на руки после испытательного срока? Если хоть на один из этих вопросов вы ответили да, тогда думаю эта статья будет вам интересна. Я не будут учить вас, как вести себя на интервью, как держать руки, куда смотреть и как отвечать на вопросы. Я могу подсказать как обрести уверенность и избавиться от страха.
Читать дальше →
Total votes 33: ↑22 and ↓11+11
Comments49

Генерация Галактики и обучение начальным знаниям астрономии

Reading time6 min
Views6.1K

Введение


Некоторое время назад я дома решил посмотреть, что нового появилось на тему космоса за последнее время. За этим делом меня застал мой 7 летний сын, проявив большой интерес к этой тематике. Пока я ломал голову, как просто и доходчиво, а также в каком именно объеме дать ребенку информацию по космосу, я наткнулся на статью, где написано, что принято решение вернуть в российские школы предмет «Астрономия» в 2017-2018 учебном году, но только с 11 класса. Это и стало тем событием, которое подвигло меня написать эту статью, чтобы помочь ознакомить с азами астрономии детей до 11 класса.

По сути 7 летний ребенок является представителем определенной выборки пользователей, которая либо интересуется астрономией уже сейчас, либо заинтересуется ей в будущем. Именно для них, а также для тех, кто будет давать знания о звездах я предлагаю попробовать приведенных ниже способ. Основной идей является генерация Галактики с использованием реальных данных (эту часть я беру на себя), и последующее использование результата генерации либо в играх, либо в качестве учебного пособия теми, кто хотел бы сделать изучение астрономии более интересным…


Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments5

Information

Rating
Does not participate
Location
Россия
Registered
Activity