На моём сайте уже как-то
была статья о том, как научить машину классифицировать составные части русских имён. Но, полагаю, она выглядит неполно без примера классификатора на Python (который в ней, к слову, вскользь упоминается).
Делать будем то же самое: классифицировать слова и фразы. И, если всмотреться, то окажется, что и...
Neo4j - графовая база данных. Причём, в отличие от большинства графовых или мультимодельных баз данных, Neo4j действительно хранит данные в виде графа (native graph storage). Как по мне, это более оптимальное решение по сравнению со всякими triplestores.
Сейчас появляется много задач, которые удобно решать при помощи графовых баз данных.
В
предыдущей статье я подробно описывал процесс настройки Wireguard-сервера на OpenWRT. Но в том рецепте использовался веб-интерфейс LuCI, который я не очень-то и люблю. Недавно я собрал себе новую прошивку для роутера, полностью исключив из неё веб-интерфейс. Настало время переделать рецепт под чёрную-чёрную консоль.
Сделаем всё то же самое, что...
Это раньше нужно было писать на чистом C со вставками на Ассемблере, чтобы программы выполнялись быстро и точно, потребляли как можно меньше оперативной памяти и занимали немного места на диске. Сейчас мощности процессоров, объёмы памяти и другие параметры компьютеров таковы, что можно ради "Hello, world!" запускать виртуальную машину на виртуальной...
В Сети множество заметок о том, как заставить Qt компилировать приложения под Android. Однако, я столкнулся с некоторыми проблемами при использовании этих рецептов, и теперь хочу опубликовать своё решение указанных проблем в этой короткой заметке.
Собственно, чтобы Qt научился создавать приложения для Android, нам потребуется только четыре компонента: сам Qt,...
Я уже писал, как настроить и собрать прошивку на основе ОС OpenWRT для роутера GL-MT300N-V2. Почитать эти заметки можно
здесь и
здесь. Теперь я решил построить свою виртуальную частную сеть на основе этого роутера. Структура этой сети предполагается такой. Есть роутер с двумя портами: WAN и LAN.
Понадобилось мне как-то нанести план дачного посёлка с номерами домов на карту. Геодезисты дали топосъёмку. Ну, как топосъёмку... Просто сетку участков, выгруженную в графический файл *.bmp - вот такую примерно: (изображение) Эту сетку мне и требовалось наложить на карту. Задача показалась мне интересной, а решение - нетривиальным, поэтому решил опубликовать небольшую заметку о...
Так сложилось, что основным языком, применяемым в проектировании систем машинного обучения, стал Python. На Python написаны многие библиотеки машинного обучения, например,
scikit-learn. Однако, для некоторых приложений уместнее использовать другие языки, и для них, конечно, есть свои библиотеки. Так, было бы интересно применить технологии машинного обучения на веб-сайте, а веб-сайты часто пишут на PHP.
Итак, будем писать свою программу на Си под OpenWRT. Отличий от обычного программирования под UNIX или Linux здесь, в общем-то, нет, за одним исключением: процесс компиляции программы осуществляется не на роутере, а на компьютере, в среде OpenWRT Buildroot. То есть, сначала нужно скомпилировать toolchain и прошивку, а потом уже можно собирать свою программу.
Есть такой замечательный DIY-роутер GL-MT300N-V2 от GL-iNet. Он интересен тем, что позволяет радиолюбителю получить доступ к портам ввода-вывода GPIO (они выведены на плату) и совместим с роутерной ОС OpenWRT. Плюс, имеет всего один LAN-порт. Смекаете? Да, его можно и нужно использовать для удалённого управления периферией по Ethernet и создания VPN-туннелей.