Pull to refresh
0
0
Андрей @andreypaa

User

Send message

IoT за копейки: практическое руководство. Часть 2, софтварная

Reading time6 min
Views18K
Продолжаем цикл статей-руководств, в которых рассматриваем, как с нуля реализовать простое и дешевое управляемое из облака и IoT-устройство с огромным потенциалом — без пайки и лишних сложностей. Возьмем чистый микрочип ESP8266, установим прошивку от DeviceHive, настроим и напишем простенькое веб-приложение для обращения к облачному серверу. Соберем и подключим к микрочипу простое устройство, которым можно будет управлять с помощью пары кликов в браузере. Перед вами — вторая часть цикла, в которой рассказывается, какой софт понадобится, как его запустить, как прошить ESP8266 и «подружить» с сервером.


Автор статьи демонстрирует то, о чем сегодня пойдет речь.

Первые статьи цикла:
IoT за копейки, или Что может DeviceHive.
IoT за копейки: практическое руководство. Часть 1-я, аппаратная.
Читать дальше →

Собираем полный список товаров, которые нельзя ввозить в страну

Reading time2 min
Views9.3K
Сегодня мы попытаемся вспомнить ограничения на ввоз в Россию почтой, лично, а также подумаем о том, что все-таки можно ввозить.

http://pe.usps.gov/text/imm/ps_013.htm — здесь в принципе достаточно полный список того, что нельзя получить в России почтой, из популярного это:
— духи, аэрозоли, лаки для ногтей,
— алкоголь,
— табачные изделия,
— оружие или части оружия,
— камни и металлы,
— особые изделия для рыбной ловли и так далее.

В этом списке нет такого, но есть еще ряд устройств, которые запрещены для вывоза из США конкретно в Россию, чаще всего это предметы научной ценности (микросхемы, электронные вычислительные устройства и пр.).

Большинство из этого списка, кстати спокойно можно купить в Финляндию и привезти в Россию на машине.
Читать дальше →

Cartesius — метод хранения и извлечения древовидных структур в реляционных базах данных или SQL деревья без червей и тараканов

Reading time9 min
Views9.8K
Лучше совсем не помышлять об отыскании каких бы то ни было истин, чем делать это без всякого метода. (Рене Декарт)

image

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

Существует много методов от самых примитивных до очень сложных и возможно слишком сложных. Мы не будем описывать их в этой статье. При желании вы можете найти множество прекрасных обзорных статей в интернете “Google forever”.

Мы представляем на суд разработчиков метод Cartesius который основан на представлении иерархической структуры на координатной плоскости где каждый узел имеет свою координату в виде двух параметров ord и dep.
Читать дальше →

Android Process: Я тебя породил, я тебя и …

Reading time12 min
Views40K


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

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

Инкрементально обновляемый бэкап как стратегия резервного копирования СУБД

Reading time4 min
Views10K
На сегодняшний день существует множество вариантов резервного копирования СУБД Oracle, которые позволяют администраторам спать спокойно по ночам и не переживать о том, что могло бы случиться, и как можно было бы этого избежать. Также в помощь – множество программного обеспечения, позволяющего упростить ежедневные рутинные задачи.
Использование Recovery Manager (RMAN), согласно официальной документации, является рекомендованным и одним из наиболее оптимальных способов для резервного копирования и восстановления базы данных Oracle. А возможность выполнять «горячие» бэкапы, оставляя базу доступной для чтений и изменений, делает эту утилиту мощным инструментом для резервирования высокодоступных систем.
Читать дальше →

Аугментация (augmentation, “раздутие”) данных для обучения нейронной сети на примере печатных символов

Reading time8 min
Views56K

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

Если вам интересно узнать про все это — добро пожаловать под кат.
Читать дальше →

Почтовый сервер быстрого приготовления на t2.micro с EC2 под управлением CentOS 7

Reading time7 min
Views9.9K
Работа из учетной записи администратора, root оставьте для расчетов и проверки состояния счета, последнее рекомендую делать почаще, так как оплата производится за количество использованных ресурсов. Услуги Amazon, задействованые в данном хауту — в рамках бесплатного аккаунта, если вы самостоятельно не нажмете еще на какую-нибудь кнопочку в панели управления Amazon.

Ингредиенты


  • Основные:
    1. Учетная запись Amazon Web Services с правами AdministratorAccess (не root).
    2. LAMP.
    3. Postfix + Policyd + Amavisd + SpamAssassin + ClamAV.
    4. Dovecot + Roundcude (плагины: filesystem_attachments, jqueryui, managesieve, password).
    5. iRedAdmin.
  • Сопутствующие:
    1. Домен.
    2. Учетная запись ClouDNS.

Инструменты


  1. PuTTY.
  2. PuTTYgen.
  3. FileZilla Client.
  4. Mozilla Thunderbird.
Читать дальше →

Пока смотрел, получил две вышки

Reading time7 min
Views18K
Мы решили оторваться от очередного эпизода, чтобы написать эту статью. А вы, наверняка, оторвались от очередного эпизода, чтобы ее прочитать. Если вы устали подсчитывать часы жизни, потраченные зря на просмотр сериалов, мы вам поможем. Всё зависит от того, что вы смотрите и с какой целью. Итак, какие сериалы нужно смотреть, чтобы становится всё умнее и профессиональнее?

P. S. В статье нет спойлеров!



Читать дальше →

Управляем освещением в квартире (NooLite, Raspberry Pi и WebIOPi)

Reading time35 min
Views30K
Хочу поделиться опытом использования системы для умного дома NooLite совместно с Raspberry Pi Model B (далее RPI) в двухкомнатной квартире.
О системе NooLite неоднократно писали на хабре:

В данной статье я расскажу:
  • об установке и настройке WebIOPi на предустановленную Raspbian в контексте использования UART для передачи команд на модуль MT1132 NooLite
  • о макросах в фреймворке WebIOPi для связывания запросов в стиле HTTP REST с GPIO UART
  • о написании простого клиента на платформе Android для управления светом через REST дырки

Читать дальше →

Распознавание кириллической Яндекс капчи

Reading time3 min
Views46K
Эта статья продолжает цикл об особенностях, слабых сторонах и непосредственно о распознавании популярных капчей.
В предыдущей публикации мы затронули готовое решение KCAPTCHA, которое несмотря на неплохую защищенность было распознано без сколько-нибудь серьезной предварительной обработки и сегментации, обычным многослойным персептроном.

Теперь на очереди кириллическая Яндекс капча, с которой, уверен, многие из нас отлично знакомы.

Итак, мы имеем такую капчу:

imageimageimage
Читать дальше →

Про соль с точки зрения химика

Reading time10 min
Views181K
На самом деле этот пост был подготовлен еще в апреле 2014 года, я не смог тогда его опубликовать. Являлся вторым в ожидавшейся серии. Можете глянуть первый. На эту тему писать меня сподвигло желание внести немного ясности в представления о некоторых химических аспектах нашего бытия. Пользуясь тем, что химия — наука, не слишком популярная в массах, нам иногда рекламщики и пресса выдают такие перлы, что у меня не хватает слов для описания эмоций. Так что попробуем слегка рассеять туман, ну и чтоб это было интересно и актуально для наших условий. Недавно встретил похожую переводную публикацию, тоже про соль. Серьёзную и хорошо сделанную, правда, слегка не о нашей действительности.

Итак — про соль


Так в Африке ею и торгуют. Толщина кусков, вероятно определяется толщиной пласта. Слабенькие пласты.

Солить или не солить. А зачем вообще соль, может лучше без неё? Заменитель соли? Ценная соль с минералами и розового цвета — а зачем козе баян? Рекламные посты — хороший способ приготовить лапшу на уши.
Читать дальше →

Работа с текстовыми данными в scikit-learn (перевод документации) — часть 1

Reading time6 min
Views57K
Данная статья представляет перевод главы, обучающей работе с текстовыми данными, из официальной документации scikit-learn.

Цель этой главы — это исследование некоторых из самых важных инструментов в scikit-learn на одной частной задаче: анализ коллекции текстовых документов (новостные статьи) на 20 различных тематик.
В этой главе мы рассмотрим как:
  • загрузить содержимое файла и категории
  • выделить вектора признаков, подходящих для машинного обучения
  • обучить одномерную модель выполнять категоризацию
  • использовать стратегию grid search, чтобы найти наилучшую конфигурацию для извлечения признаков и для классификатора

Читать дальше

Введение в machine learning: с чего начать изучение и как применять

Reading time1 min
Views30K
image
Машинное обучение — это математическая дисциплина, изучающая алгоритмы способные выделять знания из данных. Несмотря на то, что эта дисциплина в основном теоретическая, в жизни большинства людей она с каждым годом играет все большую и большую роль. Так, сложно сейчас встретить человека, который бы ничего не слышал о торговых роботах, Яндексе, Google Street View, Siri.

В докладе коллеги Алексадра Сенова из проекта Synqera для очередного нашего технического i-Free meet-up проведен небольшой экскурс в машинное обучение. Из него мы узнаем чуть больше про области применения, рассмотрим основные задачи, возникающие в рамках машинного обучения, а так же алгоритмы их решения. Уделим внимание проблемам, возникающим при их применении, приведем пару примеров и рекоммендаций по дальнейшему изучению.

Подробности

Введение в машинное обучение с помощью scikit-learn (перевод документации)

Reading time6 min
Views99K
Данная статья представляет собой перевод введения в машинное обучение, представленное на официальном сайте scikit-learn.

В этой части мы поговорим о терминах машинного обучения, которые мы используем для работы с scikit-learn, и приведем простой пример обучения.

Машинное обучение: постановка вопроса


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

Машинное обчение можно разделить на несколько больших категорий:
  • обучение с учителем (или управляемое обучение). Здесь данные представлены вместе с дополнительными признаками, которые мы хотим предсказать. (Нажмите сюда, чтобы перейти к странице Scikit-Learn обучение с учителем). Это может быть любая из следующих задач:

  1. классификация: выборки данных принадлежат к двум или более классам и мы хотим научиться на уже размеченных данных предсказывать класс неразмеченной выборки. Примером задачи классификации может стать распознавание рукописных чисел, цель которого — присвоить каждому входному набору данных одну из конечного числа дискретных категорий. Другой способ понимания классификации — это понимание ее в качестве дискретной (как противоположность непрерывной) формы управляемого обучения, где у нас есть ограниченное количество категорий, предоставленных для N выборок; и мы пытаемся их пометить правильной категорией или классом.
  2. регрессионный анализ: если желаемый выходной результат состоит из одного или более непрерывных переменных, тогда мы сталкиваемся с регрессионным анализом. Примером решения такой задачи может служить предсказание длинны лосося как результата функции от его возраста и веса.


  • обучение без учителя (или самообучение). В данном случае обучающая выборка состоит из набора входных данных Х без каких-либо соответствующих им значений. Целью подобных задач может быть определение групп схожих элементов внутри данных. Это называется кластеризацией или кластерным анализом. Также задачей может быть установление распределения данных внутри пространства входов, называемое густотой ожидания (density estimation). Или это может быть выделение данных из высоко размерного пространства в двумерное или трехмерное с целью визуализации данных. (Нажмите сюда, чтобы перейти к странице Scikit-Learn обучение без учителя).

Читать дальше →

Событийно-ориентированный бэктестинг на Python шаг за шагом. Часть 2

Reading time9 min
Views12K


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

Борьба с «плохими» URI, спамерами и php-шеллами — личный опыт

Reading time11 min
Views17K
Полагаю, все веб-программисты проходят в той или иной степени одинаковый путь. Я основываюсь на своем личном опыте. Для меня в начале постижения этой науки создание сайта было на первом месте. Только по прошествии значительного времени я осознал, что сайты еще и вскрывают. Прочитав, как это делается, я удивился, на сколько просто по неопытности превратить свой сайт в «проходной двор» и стал уделять безопасности определенное внимание. По крайней мере я стал фильтровать входные параметры страниц.

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

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

Что же нужно иметь ввиду и что можно сделать для создания относительно безопасного сайта?
Читать дальше →

Самодельный принтер на SCARA механике

Reading time6 min
Views19K


Что было не так


Что было не так c предыдущим принтером:
  • Шум — заглушал телевизор
  • Размеры — 40x30x80 на стол не поставить (не влез даже на балкон, точнее влез но катушка с пластиком уже не влазила)
  • Вес — 8кг (частично из за Nema23 и тяжелых мебельных щитов)


Что мне хотелось


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

Размеры — хочется принтер который легко умещается на стол с творческим беспорядком. Далее — размер печатной области должен быть не меньше чем 10x10x10+.
Почему я решил пожертвовать размерами печатной области — а потому что за полгода почти каждодневной печати мне не разу не понадобилось напечатать что то больше, чем 10x10. Я принял решение что мне этой области хватит с головой и даже останется.
Также, на прогрев области 10x10 надо в 4 раза меньше мощности блока питания, а это позволяет использовать обычные внешние блоки питания — я влез всего в 60ватт (с подогреваемой платформой), у меня 8.5A 12v. Большим плюсом является внешний блок питания, который лежит под столом и не занимает место.

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

Читать дальше →

Information

Rating
Does not participate
Location
Мордовия, Россия
Date of birth
Registered
Activity