Меня зовут Иван, и я погромист, на всяких языках программирования:
Похвастаться тем, что я очень активный пользователь GitHub, не могу:
Но профиль существует уже давно, и здесь всё же скопилось несколько публичных репозиторев, вот, статистика не даст соврать:
Поэтому опишу что есть в моих репозиториях на GitHub, может они будут чем-то полезны.
Пример CRUD контроллера, взаимодействующего с поисковиковым движком Manticore Search.
Подрбнее о работе с поисковиком можно посмотреть на wiki-странице проекта: 📘 Хватит ждать индексации: делаем данные доступными для поиска мгновенно на Manticore Search.
Для удобства тестирования проекта, на GitHub Gist выложил файлы для развётрывания Docker контейнеров, и конфигурирования Manticore Search:
- file-docker-compose-yaml - создание контейнеров с БД и поисковым движком, необходимых для тестирвоания работы сервиса
- manticore-simple.conf - конфигурация поисковика для поиска по заранее созданному индексу
- file-manticore-realtime-conf - конфигурация Manticore Search для обновления индекса в реальном времени
Пример переопределения источника данных в GraphHopper.
Это клон репозитория:
В своём клоне я много всего переделал "под себя", но это частности, поэтому Pull Request делать не стал, для Pull Request, я сделал отдельный Fork:
Fork сделал, а Pull Request - нет, но ничего, может ещё доберусь...
Об этом репозитории написал публикацию 📙 Как хранить сеть дорог в БД для построения маршрута?, программа умеет считывать данные из некоторого источника и строить по ним граф дорог, для маршрутизации. Однако, помимо чтения эти данные необходимо как-то записывать, вторая часть моей публикации о том, как это сделать.
Для того, чтобы можно было повторить, то, что написано в публикации подготовил:
-
Docker образ с предзаполненной Базой Данных дорог, для тестирования маршрутизации и загрузки новых данных, Docker Hub: road-data
-
Алгоритм обработки появления новой дороги в Базе Данных:
- Репозиторий с примерами данных для загрузки и обработки, моделирует различные ситуации, описанные в публикации
Репозиторий по созданию Docker контейнера для тестирования фонетических алгоритмов.
Индексацию и поиск по адресам описал в двух публикациях:
- 📙 Интернационализация поиска по городским адресам. Реализуем русскоязычный Soundex на Sphinx Search
- 📙 Продолжаем интернационализацию поиска по адресам с помощью Sphinx или Manticore. Теперь Metaphone.
Помимо самого репозитория выложил:
- Конфигурационный файл поисковой платформы
- Образ с индексами в Docker Hub: tkachenkoivan/searchfonetic
Проект который я выложил в качестве иллюстрации к публикации 📙 Как использовать GraphHopper для построения пешеходных маршрутов по собственным правилам, именно поэтому он illustration
, не более.
В проекте и публикации показано, как в GraphHopper создать собсвенные правила, по которым будет строиться граф, используемый для поиска маршрутов.
Решает прямую и обратную геодезические задачи, на сфере и на эллипсоиде вращения.
Для решения задач на эллипсоиде использует формулы Винсенти. Но библиотеку я создавал не совсем для этого, а для того, чтобы находить точку пересечения двух ортодромий (ограниченных концами отрезка). Публикация об этом: 📙 Изобретаю свой сложный способ поиска координат точки пересечения двух линий
Строит пространсвенный индекс для полилиний заданных координатами.
Самый древний из всех моих проектов, его я написал ещё в университете, на втором курсе, в качестве курсовой работы по предмету "Объектно Ориентированное и Визуальное Программирование".
Понятное дело что это не просто учебный проект, в типичном учебном проекте предполагается наличие определённой темы и соответсвующего этой теме задания, в курсовом проекте всё иначе: только общие требования, а задумка и реализация - авторские, именно поэтому я его и выделяю на фоне прочих учебных задач.
Собирал я его в Borland Delphi 7 - всё ещё работает.
Кстати, в релизах есть скомпилированные файлы, - можно скачать и запустить .exe чтобы поиграться, а ещё есть вики проекта с описанием как это всё устроено: 📘 Описание работы программы.
Иногда я пишу на Хабр, обо всяком, в тексте выше попадаются некоторые ссылки на публикации посвящённые проектам, но не все публикации про код, многие не выражаются в виде какой-то программы, или нет смысла создавать под них репозиторий или даже Gist, поэтому веделил отдельный блок на этой странице, в котором показаны 5 последних публикаций:
- Изобретаю свой сложный способ поиска координат точки пересечения двух линий
- Геоданные без регистрации и СМС
- Признаюсь: я писал поддельный экран загрузки
- Бэкенд разработка и БДСМ. Страсти по именованию, или Как назвать отдел?
- Как хранить сеть дорог в БД для построения маршрута?
Свой профиль, т.е. этот файл, я оформил исключительно благодаря публикации: Оформляем README-файл профиля на GitHub, всем рекомендую.