Pull to refresh
9
0

Engineering Lead

Send message

Kotlin Object Multiplatform Mapper: сопоставляем коллекции правильно

Level of difficultyEasy
Reading time3 min
Views1.4K

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

Давайте узнаем, что из этого вышло

Kotlin Object Multiplatform Mapper

Level of difficultyMedium
Reading time5 min
Views3.9K

Складывается такое впечатление, что дописать свою приложение для Android мне суждено не скоро. Каждый раз начиная писать новую версию (так как старая была написана не до конца, использовалась только мной, а через пару-тройку лет простоя - проще написать заново) своего приложения задуманного еще в 2012 году, я сталкиваюсь с ситуацией, что мне не хватает какого-то функционала и начинаю писать свои библиотеки для этого. В первую попытку это был свой ORM (UcaOrm 1, 2, 3). Во вторую KCron - KMP библиотека, реализующая Cron. И вот, начав следующую итерацию, я вновь в таком же положении. Но обо всем по порядку!

Читать далее

Синхронизация в Ktor для самых маленьких

Level of difficultyMedium
Reading time7 min
Views3K

Это был теплый осенний вечер, когда передо мной встала задача "настроить серверное кэширование в сервисе". Казалось бы чего может быть проще, наверняка в Ktor это делается парой строчек кода. Однако реальность оказалась не такой радужной: Ktor предлагает только Cache Headers plugin который, например, не поддерживает распределенное кэширование. Что ж, вооружившись IDE, я начал ваять свой велосипед - Ktor Simple Cache.

Что из этого вышло...

Спортивная сумка для гика

Reading time3 min
Views7.7K
logoКогда моя спортивная сумка, представляющая из себя китайский noname окончательно пришла в негодность, передо мной встала задача покупки новой. В качестве одного из основных критериев отбора, была возможность носить в сумке не только спортивную форму, но и как минимум планшет, а еще лучше ультрабук. На Geektimes есть пара статей о выборе рюкзака для гика (1 и 2). И одна нашлась даже на Habrahabr. Но мне нужна была именно спортивная сумка, а посему открыв великий и ужасный я приступил к поискам.
Читать дальше →

По мановению руки

Reading time4 min
Views8.6K

Немного предыстории


Как-то солнечным пятничным июньским утром, закончив все текущие дела, я откинулся на спинку кресла и погрузился в дебри интернета. В какой-то момент мне на глаза попалась статья FilegiverCom о Myo. До этого я уже слышал об этой штуке, но в тот момент как-то не предал этому значения, а тут она меня заинтересовала. Причем не только меня! После ознакомления со статьей и моих коллег тоже, у нас развернулась бурная дискуссия, как данный девайс можно использовать в повседневной жизни. Не придя к какому-то согласию, мы решили, что надо бы пощупать его воочию, и я оформил заказ.
До октября никаких изменений, кроме как получение на почту рассылки с последними новостями компании, не было. И вот 24 октября (почти ровно через четыре месяца) я получил от банка смс о списании средств, после чего моё ожидание затянулось.
Я проверял почтовый ящик каждый день, но заветного квитка в нем так и не было. В начале декабря, написав в поддержку с вопросом: «А где собственно?» — получил ответ, что девайс выслан, трекер мы вам дать не можем, но обычно за шесть недель доходит. И я стал ждать дальше.
И вот, возвращаясь домой 18 числа, я уже даже почти ни на что не надеясь, заглянул в ящик и обнаружил там извещение. Радости моей не было предела, однако до почты я мог добраться только в субботу. В пятницу же я объявил новость коллегам и, какого же было мое удивление, когда один из них показал мне эту статью.
В любом случае, в субботу я добрался до почты, забрал устройство и, повозившись с ним какое-то время, решил поведать вам о впечатлениях.
Читать дальше →

Пишем свой Orm под Android с канастой и сеньоритами, Часть 3-я

Reading time5 min
Views5.6K

Вступление


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

Создание удобного OpenFileDialog для Android

Reading time12 min
Views39K
Наверное, как и многие разработчики под Android, столкнулся на днях с необходимостью реализовать в своем приложении выбор файла пользователем. Так как изначально в Android такого функционала нет, обратился к великому и ужасному. Это показалось мне странным, но из вороха вопросов на stackoverflow и небольшого числа отечественных форумов можно выделить всего три основных источника:
  1. Android File Dialog – почти все ссылки из stackoverflow ведут сюда. В принципе, неплохое решение, но реализовано через отдельную activity, а хотелось чего-то в духе OpenFileDialog’а из .Net.
  2. В данной статье речь идет вообще об отдельном файл-менеджере, и почерпнуть какие-то идеи из неё не удалось.
  3. Идея же отсюда очень понравилась, однако, как мне показалось реализовать все это можно несколько красивее.

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

Пишем свой Orm под Android с канастой и сеньоритами, Часть 2-ая

Reading time5 min
Views5.7K

Вступление


Некоторый интерес сообщества к моей первой статье, заставил меня усиленно поработать над orm. Мне еще не все в нем нравится (где-то код не оптимизирован; где-то реализация не такая, как я хотел; не хватает проверок и возможно стабильности), но он выполняет все необходимые в текущей момент мне функции. И так, встречайте: UcaOrm!

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

Пишем свой Orm под Android с канастой и сеньоритами

Reading time5 min
Views10K

Вступление


Идея написать свое приложение под Android пришла мне на пятый день отдыха в солнечном Таиланде. Не буду вдаваться в подробности что именно натолкнуло меня на неё, как и что я задумал за приложение (просто статья не об этом). Однако идея крепко укоренилась и на шестой день пребывания, воспользовавшись бесплатным интернетом в отеле, на ноутбук, взятый только ради просмотра фильмов и скидывания фотографий с фотоаппарата, я закачал MySql.
Начал я, как вы наверное уже догадались, с реляционный модели.
Работа шла трудно, но через пару месяцев с моделью я закончил и окунулся в дебри разработки под Android. До этого, под мобильные платформы я писал только на .Net Compact Framework, но так как с Java был знаком не понаслышке, накидать простенькую форму с кнопками труда не составило. Объектная модель, ожидаемо, трудностей не вызвала вообще и я, радостно предвкушая как сейчас мои тестовые данные улетят куда-то в недра устройства, открыл раздел Data Storage на сайте Android Developers. Раздел Using Databases нельзя назвать исчерпывающим, однако все необходимы ссылки на API он содержит, и я принялся писать своего наследника от SQLiteOpenHelper. После пары удачных проб, разбалованный Entity Framework’ом, я понял, что и тут бы было неплохо использовать какой-нибудь orm, так как сущностей у меня набралось больше десятка. Вбив в Великом и Ужасном «android orm», первую же ссылку я получил на эту статью, и несколько полезных на StackOverflow. Набрав в общей сложности три orm’а, я приступил к экспериментам.
Читать дальше →

Information

Rating
Does not participate
Location
Praha, Hlavni Mesto Praha, Чехия
Date of birth
Registered
Activity

Specialization

Chief Technology Officer (CTO), Software Architect
Lead
From 10,000 €
Git
Docker
Bash
CI/CD
High-loaded systems
C#
Kotlin Multiplatform
Windows Azure
AWS