Pull to refresh
16
0

преобразователь мыслеобразов в словоформы

Send message

Умный дом: на страже покоя и безопасности

Reading time4 min
Views22K

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

А в этом материале я расскажу о том, как умный дом стал следить за безопасностью периметра.
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments44

Разделение текста на предложения с помощью Томита-парсера

Reading time4 min
Views19K
Чтобы подготовить русскоязычные тексты для дальнейшего анализа, мне однажды понадобилось разбить их на предложения. Разумеется, автоматически. Что приходит на ум в первую очередь, если нужно разделить текст на предложения? Разбить по точкам — угадал?

Если вы начнете это делать, то довольно быстро столкнетесь с тем, что точка — это не всегда разделитель предложений (“т.к.”, “т.д.”, “т.п.”, “пр.”, “S.T.A.L.K.E.R.”). Причем эти токены не всегда будут исключениями при разбивке текста на предложения. Например, “т.п.” может быть в середине предложения, а может и в конце.

Вопросительный и восклицательный знак тоже не всегда разделяют текст на предложения. Например, “Yahoo!”. Предложения могут разделять и другие знаки, например, двоеточие (когда следует список из отдельных утверждений).

Поэтому я долго не думая поискал готовый инструмент и остановился на Томита-парсере от Яндекса. О нем и расскажу.
Читать дальше →
Total votes 34: ↑32 and ↓2+30
Comments18

Машинное обучение — это легко

Reading time7 min
Views346K
В данной статье речь пойдёт о машинном обучении в целом и взаимодействии с датасетами. Если вы начинающий, не знаете с чего начать изучение и вам интересно узнать, что такое «датасет», а также зачем вообще нужен Machine Learning и почему в последнее время он набирает все большую популярность, прошу под кат. Мы будем использовать Python 3, так это как достаточно простой инструмент для изучения машинного обучения.
Читать дальше →
Total votes 51: ↑44 and ↓7+37
Comments20

Онлайн курс по ардуино на базе простого стартового набора

Reading time33 min
Views138K
На данный момент существует большое количество онлайн и оффлайн образовательных программ, курсов, методических материалов по ардуино и на первый план выходит качество этих курсов, а оно не всегда оправдывает ожидания учеников и их родителей. Онлайн курсы обычно бывают малоэффективными в силу их низкой интерактивности. А эффективность оффлайн курсов сильно зависит от квалификации преподавателя, с которой иногда бывают проблемы в силу относительной новизны данного направления по сравнению с другими школьными дисциплинами. Данный курс призван частично решить обе этих проблемы. С одной стороны, он должен оказаться эффективнее существующих онлайн курсов за счет резкого увеличения интерактивности, о чем более подробно будет сказано далее. С другой стороны, увеличение эффективности самого курса немного снижает роль преподавателя, позволяя использовать данные интерактивные курсы в регионах с кадровым дефицитом в сфере преподавания ардуино.


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

Программируем Arduino с помощью Sublime + Stino на MacOS

Reading time3 min
Views15K


Хотелось бы поделиться опытом настройки и использования любимых мной программных продуктов по программированию Arduino контроллеров на Mac OS. Многие используют Sublime как хорошую среду программирования, например, добавив пакет Stino можно получить возможность писать код и заливать его в Arduino контроллеры. О том как всё это за 10 минут настроить под Windows написано много мануалов, но вот как заставить работать на Mac OS сказано мало. Если у вас есть Mac и Arduino, добро пожаловать под кат (внимание, много картинок!).
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments8

Умная теплица в Telegram

Reading time18 min
Views52K
Добрый день. На нашем участке имеется теплица. Её главная проблема — перегрев в жаркое время, т.к. рассчитана в первую очередь на сибирскую весну. Единственный выход — постоянно открывать/закрывать двери и окна, чтобы поддерживать температуру. Но это не всегда возможно. А если это не сделать, то температура поднимается до +50 градусов, что явно не хорошо. А вечером всё можно заморозить. Так и началась её автоматизация.

image
Читать дальше →
Total votes 51: ↑45 and ↓6+39
Comments125

История в каждой вкладке или multiple backstack

Reading time4 min
Views5.8K


Проблема


С выходом android 3.0 (Api Level 11) в android появились фрагменты, и так уж у разработчиков google получилось, что для них поддерживается только один backstack. Не всегда дизайнеры и заказчики хотят учитывать эту особенность. А иногда просто хотят полную копию уже существующего ios приложения.

Допустим нам нужно сделать подобие Tab Bar на android, в том числе с сохранением истории в каждой вкладке. Но у нас один backstack, и что же нам делать? Задача кажется невозможной.
Как сделать то, что невозможно?
Total votes 13: ↑8 and ↓5+3
Comments20

[ В закладки ] Зоопарк архитектур нейронных сетей. Часть 1

Reading time10 min
Views94K


Это первая часть, вот вторая.
За всеми архитектурами нейронных сетей, которые то и дело возникают последнее время, уследить непросто. Даже понимание всех аббревиатур, которыми бросаются профессионалы, поначалу может показаться невыполнимой задачей.

Поэтому я решил составить шпаргалку по таким архитектурам. Большинство из них — нейронные сети, но некоторые — звери иной породы. Хотя все эти архитектуры подаются как новейшие и уникальные, когда я изобразил их структуру, внутренние связи стали намного понятнее.
Читать дальше →
Total votes 51: ↑50 and ↓1+49
Comments14

Особенности Jupyter Notebook, о которых вы (может быть) не слышали

Reading time10 min
Views363K
Jupyter Notebook – это крайне удобный инструмент для создания красивых аналитических отчетов, так как он позволяет хранить вместе код, изображения, комментарии, формулы и графики:



Ниже мы расскажем о некоторых фишках, которые делают Jupyter очень крутым. О них можно прочитать и в других местах, но если специально не задаваться этим вопросом, то никогда и не прочитаешь.
Читать дальше →
Total votes 49: ↑45 and ↓4+41
Comments14

@ActivityScope с помощью Dagger 2

Reading time8 min
Views14K
Привет, Хабр! Хочу поделиться опытом создания ActivityScope. Те примеры, которые я видел на просторах интернета, на мой взгляд, не достаточно полны, неактуальны, искусственны и не учитывают некоторых нюансов практической разработки.

Статья предполагает, что читатель уже знаком с Dagger 2 и понимает что такое компонент, модуль, инжектирование и граф объектов и как все это вместе работает. Здесь же мы, в первую очередь, сконцентрируемся на создании ActivityScope и на том, как его увязать с фрагментами.

Итак, поехали… Что же такое scope?


Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments10

Gradle: управляя зависимостями

Reading time10 min
Views132K
Управление зависимостями – одна из наиболее важных функций в арсенале систем сборки. С приходом Gradle в качестве основной системы сборки Android-проектов в части управления зависимостями произошёл существенный сдвиг, закончилась эпоха ручного копирования JAR-файлов и долгих танцев с бубном вокруг сбоящих конфигураций проекта.



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

Внимание много текста и изображений
Total votes 22: ↑20 and ↓2+18
Comments60

Особенности программного ProxyChanging'а в Android. Часть 1: от Jelly Bean до Lollipop

Reading time23 min
Views5.3K
Как-то раз, для собственного удобства, мне захотелось написать приложение, которое меняет настройки прокси в конфигурации сетей Wifi для Android. Задача, как мне тогда показалось, была на раз плюнуть, однако, на деле, как всегда, возникли непредвиденные сложности.



Если вы считаете полезным в будущем знать решение, хотите почерпнуть что-то для себя или в вас просто проснулось любопытство — добро пожаловать под кат. Там вас ждет внутреннее устройство классов отвечающих за конфигурацию Wifi в различных версиях Android, небольшая чашечка кода на Java и щепотка Reflection.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments6

5 UI фишек для современного Андроид приложения. Код, идеи и живой пример

Reading time5 min
Views23K
image

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

Статья не ставит своей целью научить проектировать пользовательский интерфейс или объяснить сокровенный смысл Material дизайна, но надеюсь, приведенные примеры смогут вдохновить Ввас на эксперименты с дизайном ваших приложений.
Читать дальше →
Total votes 23: ↑18 and ↓5+13
Comments15

Использование библиотеки Android support percent на примере PercentRelativeLayout

Reading time2 min
Views13K
Когда я впервые столкнулся с разметкой макетов в Android, со всеми этими FrameLayout, LinearLayout, RelativeLayout. С понятиями веса и гравитации для элементов интерфейса. Я недоумевал, почему нельзя было сделать так, как давно уже делается в html. Где есть возможность указать разметку в процентах? И вот, наконец такая возможность появилась. Появилась она конечно не вчера, но я на нее наткнулся только сейчас, и статей на хабре, с чем это едят не нашел.

image

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

dependencies {
    compile 'com.android.support:percent:23.4.0'
}

и выполнить синхронизацию.

Всё, все прелести разметки в процентах вам доступны, по крайней мере для minSDK 14 (меньше я не проверял).
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments3

Расшифровка базы данных KeePass: пошаговое руководство

Reading time9 min
Views92K

image


На днях мне нужно было реализовать расшифровку базы данных KeePass. Меня поразило то, что нет ни одного документа и ни одной статьи с исчерпывающей информацией об алгоритме расшифровки файлов .kdb и .kdbx с учетом всех нюансов. Это и побудило меня написать данную статью.


На данный момент существует 2 версии KeePass:


  • KeePass 1.x (генерирует файлы .kdb);
  • KeePass 2.x (генерирует файлы .kdbx).

Структура файла с базой данных KeePass (.kdb, .kdbx) состоит из 3 частей:


  • Подпись (не зашифрована);
  • Заголовок (не зашифрован);
  • Данные (зашифрованы).

Далее я подробно расскажу о том, как дешифровать базу данных KeePass 1.x и KeePass 2.x.

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

Анализ трафика Android-приложений: обход certificate pinning без реверс-инжиниринга

Reading time4 min
Views45K
Иногда нужно исследовать работу бэкенда мобильного приложения. Хорошо, если создатели приложения не заморачивались и все запросы уходят по «голому» HTTP. А что, если приложение для запросов использует HTTPS, и отказывается принимать сертификат вашего корневого удостоверяющего центра, который вы заботливо внедрили в хранилище операционной системы? Конечно, можно поискать запросы в декомпилированом приложении или с помощью реверс-инжиниринга вообще отключить применение шифрования, но хотелось бы способ попроще.

image
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments11

Время учиться: дайджест бесплатных образовательных материалов от Mail.Ru Group

Reading time10 min
Views112K

Кадр из к/ф «Операция Ы и другие приключения Шурика»

Как говорят, «кризис — пора возможностей». И поэтому сейчас самое время начать вкладывать в саморазвитие, осваивать новую профессию или повышать свою квалификацию. Займитесь изучением языков программирования, обретением навыков разработки, тестирования и вообще всячески прокачивайте свой IT-скилл. Ведь чем больше вы знаете, тем прочнее будете стоять на ногах. А чтобы вам было легче сориентироваться и выбрать направление, мы сделали подборку наших бесплатных образовательных материалов, курсов и инициатив за 2015–2016 годы.
Читать дальше →
Total votes 48: ↑43 and ↓5+38
Comments29

Dagger 2. Часть первая. Основы, создание графа зависимостей, Scopes

Reading time10 min
Views172K

Всем привет! В последнее время появилось много средств, библиотек, которые существенно облегчают написание кода под Android. Только успевай за всем следить и все пробовать. Одним из таких средств является библиотека Dagger 2.


В сети уже много различного материала, посвященного данной библиотеке. Но когда я только начинал ознакамливаться с Dagger 2, читал статьи, смотрел доклады, я во всем этом находил один общий недостаток — мне, как человеку, не работавшему со Springом и прочими подобными фреймворками/библиотеками, было довольно сложно понять, откуда берутся зависимости, как они "провайдятся" и что вообще там происходит. На слушателей/читателей обычно сразу "вываливается" большое количество кода с новыми аннотациями. И это как-то работало. В итоге, после доклада/статьи в голове все никак не могло сложиться в единую понятную картину.


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


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

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

Развёртывание django приложения на OpenShift хостинге от Red Hat

Reading time4 min
Views16K
Преимущества облачного хостинга в наше время объяснять не приходиться, а Red Hat предлагает нам ещё и опробовать все вкусности бесплатно (естественно с некоторыми ограничениями).
Вы не платите за хостинг и получаете?

  • 1 Gb дискового пространства
  • возможность создать 3 приложения
  • поддержку php 5.3, Ruby 1.9, Node.js 0.6, Perl 5.10, python 2.6 (3.3), Zend Server 5.6 и это ещё не полный список.

Ну а если необходимого языка не нашлось можно создать Do-It-Yourself приложение и настроить его как душе угодно.

Мы же рассмотрим развёртывание Django приложения.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments6

Видео со встречи JUG.ru с разработчиками языка Kotlin Андреем Бреславом и Дмитрием Жемеровым

Reading time1 min
Views15K


Неделю назад в Питере прошла встреча JUG.ru с разработчиками языка Kotlin Андреем Бреславом и Дмитрием Жемеровым. Как вы все наверняка знаете, Kotlin зарелизился пару недель назад, и теперь, спустя почти шесть лет разработки, пришла пора поговорить о том, что в итоге получилось.

В пятничный вечер 26 февраля народу в питерский офис Oracle набилось дофига, что очень обрадовало и нас и спикеров.



Встреча состояла из четырех частей:
  • Введение. Что такое Kotlin?
  • Kotlin: к релизу и далее
  • Kotlin: самое сложное — совместимость
  • Сессия вопросов и ответов про Kotlin

Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments45

Information

Rating
Does not participate
Registered
Activity