Задать вопрос
  • Работа с финансами с точки зрения транзакционности, каким образом происходит в банках?

    @vikarti
    Как. Используется система которая обеспечивает поддержку транзакций. Обычно это значит - одна большая железка.
    Если все же вариант с одной железкой не устраивает, ну значит ищем СУБД которая умеет в multimaster.
    По сути - Oracle RAC либо коммерческие доработки Postgres (вроде PostgresPro Enterprise от Postgres Professional, описание от них https://postgrespro.ru/docs/enterprise/15/multimaster )
    Либо руками городим что-то через алгоритм Paxos - краткое описание https://blog.the-pans.com/paxos-explained/ и там по ссылкам
    Ответ написан
    Комментировать
  • Чем не угодили 2G и 3G?

    @vikarti
    Частоты можно под намного более эффективные вроде LTE/5G использовать.
    "Старое" сетевое ядро можно выкинуть на свалку (VoLTE работает совсем по другому).

    Насчет того что для покрытия сабурбии все же желательны более низкие частоты из-за размеров - ну так в LTE это тоже есть (B5/8/71 например).
    Ответ написан
    Комментировать
  • Как перегнать pdf в fb2 для электронной книги с сохранением форматирования примеров программного кода?

    @vikarti
    Finereader? По крайней мере результаты будут получше. Только лучше в epub. Sony думаю должна его держать.
    Ответ написан
    Комментировать
  • Удобный формат для электронных книг?

    @vikarti
    Для технический литературы - универсальный ответ - epub, даже лучше epub3. Почему не fb2 - с форматирование у fb2 - плохо. На втором месте pdf (потому что копия печатной верстки обычно, переносов не будет, разве что книга сверстана с поддержкой reflow - но тогда если использовать reflow - может поехать форматирование).

    Но есть особенности:
    • Многие книги по программированию на русском языке - только в pdf
    • Старые фундаментальные книги не переизданные - видимо будут в djvu - перегоняется в pdf достаточно просто (в процессе в несколько раз растет размер)
    • Очень много софта что заявляет что читает epub...делают это почти правильно. (из примеров кто читает более менее нормально: Google Play Books, iBooks, Pocketbook Reader for Android (+их eInk-устройства с прошивками версии 5.19 и новее), Bookfusion , Bookari (возможно потребуется переключится в epub3) - на действительно сложных книгах - все может всплыть.
    • fb2 - FICTION book 2 - он чисто для художественной литературы придуман, при этом в России придуман, с версткой там...не очень, если встретилась англоязычный техническая книга в fb2 - почти 100% она изначально была в другом формате.

    Что НЕ стоит делать - конвертировать книгу в другие форматы (кроме конвертации fb2 во что то-то другое, для fb2 это норма). Если все же есть причины конвертировать (ну например необходимость читать с малого планшета) и нет epub/pdf с reflow - то брать Finereader и в пакетном режиме (ни в коем случае не использовать встроенный конвертер Calibre, или разные популярные сайты конвертации в один клик.)
    Ответ написан
    Комментировать
  • Как отменить подписку Adobe без штрафа?

    @vikarti
    Связываемся с банком, говорим что сайт не хочет отменять подписку, вменяемый банк сам предложит перевыпуск карты по компроментации бесплатно. Если у вас не вменяемый - попросите сами сделать перевыпуск (но это может быть не бесплатно).
    Ответ написан
    Комментировать
  • Зачем устанавливать GitLab?

    @vikarti
    Большой репозиторий + необходимость/желательность часто с нуля делать чекаут.
    Мой случай - cocoapods в проекте и в соответствии с best practices - закоммичено, один из pod'ов - >900 Mb ( собранном проекте все нормально) + Jenkins (CI-сервер) который собирает и гоняет тесты по каждому коммиту + тормозящий в некоторых случаях интернет.
    Пока решение - все же без переноса (уж больно много облачные решения фишек имеют, не переносимых локально) и git reset --hard в начале + НЕудаление workspace на Jenkins (да, понимаю, плохо и против рекомендаций).
    Ответ написан
    Комментировать
  • Стоит ли пользоваться приложениями-кошельками?

    @vikarti
    Зависит что за приложение конечно но в общем случае ответ - нет.
    Если телефон на Samsung поддерживает Samsung Pay (не все поддерживают ) и карта тоже поддерживается (зависит от банка и типа visa/mc, если не поддерживается - скажет )- Samsung Pay конечно. Намного удобнее. Бонусом будет оплата через MST (если аппарат держит) - на терминала которые не умеют NFC. Если на аппарате рут - забыть (потому что Knox наверняка трипнут).
    Samsung Pay еще и дополнительную безопасность дает за счет генерации временного номера.. Один из недостатков - если делать возврат (в смысле отмену операции) - то нужно делать его именно на телефон, потому что номер карты который считал магазин - другой. (Те же проблемы что с Apple Pay собственно).

    Другие варианты (вот тут только NFC уже а не MST):
    • Приложение Яндекс.Денег - умеет выпускать виртуальную карту, которую и использует для платежей. Деньги снимаются либо с баланса привязанной настоящей карты либо с баланса Яндекс.Кошелька (если там не 0), кстати безопасный способ если очень сильно беспокоится - больше чем есть на балансе Яндекса - не украдут если карта не привязана
    • Приложение конкретного банка, если он это поддерживает (например Тиньков поддерживае а Альфа-банк - нет), разумеется если есть карта этого банка

    С рутом - да, будут сопротивляться и говорят что или NFC-оплата или рут но обычно можно подавить это сопротивление.
    Ответ написан
    1 комментарий
  • На каких сайтах удобно вести списки фильмов и книг на просмотр / чтение?

    @vikarti
    для книг - Goodreads. Чуть ли не важнейшая функция - можно добавлять книги (есть определенные правила как это делать и что собственно 'книга' а что нет, более менее контролируемые). Потому что многие другие тупо не видят например произведений с СИ или там Фейсовета / ЛитЭры. Официально ж они не изданы.
    Один из недостатков Goodreads... они считают что с конкретным ISBN (если он вообще указан) может быть только одно конкретное издание (либо надо alternate cover edition делать с комментарием - потому что контроль на уровне БД) и обосновывают что это правила использования ISBN. Только вот например Литрес об этих правилах не знает и совершенно спокойно использует один и тот же ISBN для печатных и электронных версий (а их техподдержка говорит что они вообще не причем это издатели такие нехорошие).
    Ответ написан
    Комментировать
  • Найдена ли реальная альтернатива Parse?

    @vikarti
    еще к перечню хостингов с Parse Server можно добавить https://www.back4app.com/pricing/ (у этих тарифы в том числе по запросам лимитированы, есть бесплатный тариф, есть понятие Public API когда услуги для тебя бесплатны вообще в принципе но на некоторых условиях, возможно имеющих смысл для Open-source приложений)
    сейчас nodechef тестирую...контейнер пришлось на 256 Mb сразу ставить (от которых кушается 48%), в ответ на вопрос - поддержка сказала что ну наверно у вас такой проект (реально примерно 100 тысяч строк в БД и 5 таблиц. + немного Cloud Coude триггеров, не очень сложных на мой взгляд, и ОЧЕНЬ мало клиентов).
    upd:
    parseground это теперь sashido.io, и очереди уже нет.
    Ответ написан
    Комментировать
  • Какие книги по разработке под Android сейчас актуальны?

    @vikarti
    возможно кому то покажется странным но - The Busy Coder's Guide to Android Development от Mark L. Murphy https://wares.commonsware.com/app/books смотрели? обновляемый огромная книга по большинству разделов разработки под андроид. модель распространения - подписка за 45 баксов в год (сами файлы - в PDF/Mobi/EPUB)
    Ответ написан
    Комментировать
  • Получение кредитного лимита по карте фрилансером - возможно?

    @vikarti
    Тиньков выдал даже когда было прямо сказано что фрилансер, ИП нет. все что было - некоторое время пользования их дебетовой картой (с ненулевыми оборотами).
    Ежемесячный доход взяли со слов.
    Попросили в том числе телефон хоть одного человека который (по их словам) сможет подтвердить что на него работали. Ну и домашний/сотовый.
    Вот закрыть кредитку эту оказалось сложно - ТКС пытается разными (корректными) средствами убедить не закрывать.

    Альфа - выдали фрилансеру кредитку видимо потому что регулярно были пополнения карты через банкомат (просто в какой то момент вылезло "вам предложение от банка, хотите подробности?"), опять же - без 2-НДФЛ. Лимит был примерно равен изначальному лимиту ТКС (потом ТКС его подняли). Проценты ниже ТКС.
    Ответ написан
    Комментировать
  • Как организовать streaming музыки?

    @vikarti
    SubSonic или Plex
    во втором случае еще и видео будет, тоже со стримингом.
    недостаток...приложения для смартфонов в первом случае не все опенсорсные а во втором вообще только сервер частично опенсорсный. да и заплатить они вежливо но попросят чтобы можно было пользоваться мобильными приложениями.

    Еще возможный вариант, возможно не в тему но... продать душу гуглу, а затем запустить через wine google music uploader и использовать google music в режиме без подписки

    Если на сервер можно поставить гипервизор и устраивает возможно не 100% легальное решение то можно попробовать туда взгромоздить xpenology xpenology.com/forum - это слегка модифицированная прошивка от NAS'ов Synology, а с ней уже использовать родные приложения от Synology (DS Audio ту же)
    Ответ написан
    Комментировать
  • Какой выбрать смартфон?

    @vikarti
    из тех что перечислены - Zenfone 2 (заодно можно обойтись без карты памяти если взять модель с 64 Gb бортовой памяти) только надо помнить что по сути это 3 близких аппарата (отличие в дисплее, процессоре, объеме RAM, обьеме встроенное флеш-памяти)
    Ответ написан
    Комментировать
  • Есть ли аналог fake gps не использующий функцию в dev menu фиктивные местоположения?

    @vikarti
    например в https://play.google.com/store/apps/details?id=de.a... (платная + потребуется активировать ее xposed-модуль) этот функционал прямо заявлен
    также есть https://github.com/hilarycheng/xposed-gps старый
    правда приложение может например решить что если не приходит NMEA-поток то кто-то шутки шутит но эмуляция этого у GPS Fake Location Toolkit тоже заявлена...
    Ответ написан
    Комментировать
  • Android. Как сделать постоянный фоновый процесс?

    @vikarti
    "у вас нет потребности в этом"
    а если таки потребность у пользователя есть (и сервис что то предоставляет пользователю - музыкальный плеер например) то в дополнение к START_STICKY то нужно сделать его foreground service

    Foreground Services

    If you have a service that will run for a substantial period of time, there is a risk that your process will still be terminated. That could be triggered by the user, or it could be the OS’s own decision, based on the age of your process.

    Generally speaking, this is a good thing for the user, because too many developers “leak” services, causing them to run unnecessarily, without adding value to the user, and tying up system RAM as a result.

    But, what about services that are delivering value to the user for a long period? For example, what about a music player, where, in theory, the service is delivering value until the user presses some sort of “stop” button somewhere to turn off the music?

    For those sorts of situations, you can flag a service as being a “foreground service”.

    Isn’t “Foreground Service” an Oxymoron?

    You might be forgiven for thinking that “foreground” and “service” are not designed to go together.

    Partly, that is because we have overloaded the term “foreground”.

    A foreground service is not one that somehow takes over the screen. A foreground service is one that runs with foreground priority. That means:

    It will be treated similarly to the app that is in the UI foreground, from the standpoint of determining processes eligible for termination
    It will be classified as foreground from a CPU standpoint, rather than being relegated to the standard background process group
    The former is what many developers want: a service (and process) that will not go away.

    The latter is what many users fear: a service (and process) that is capable of stealing chunks of CPU time away from the game, video, or whatever else is truly in the foreground from a UI standpoint.

    Services themselves, while useful, are best when used sparingly, only running when they are actively delivering value to the user. “This goes double” for foreground services.

    Putting Your Service in the Foreground

    Putting a service into the foreground is a matter of calling startForeground(). This method takes two parameters, the same two parameters that you would pass to notify() of NotificationManager:

    A prepared Notification
    A unique ID for that Notification
    Android will then display the Notification. So long as the Notification is visible, your app’s process will be given foreground priority.

    You undo this by calling stopForeground(). stopForeground() takes a boolean parameter, indicating if the Notification should be removed (true) or not (false). Typically, you will pass true, so the Notification only clutters up the screen while you need it.

    The Notifications/Foreground sample project is a clone of the Notifications/DownloadNotify sample that opened this chapter, adding in the use of startForeground() and stopForeground().

    Towards the top of onHandleIntent(), we call startForeground(), to really ensure that our process will remain intact long enough to complete the requested download:

    startForeground(FOREGROUND_ID,
    buildForegroundNotification(filename));
    This, in turn, uses a buildForegroundNotification() method to build the Notification that will be displayed while the service is categorized as being in the foreground:

    private Notification buildForegroundNotification(String filename) {
    NotificationCompat.Builder b=new NotificationCompat.Builder(this);

    b.setOngoing(true);

    b.setContentTitle(getString(R.string.downloading))
    .setContentText(filename)
    .setSmallIcon(android.R.drawable.stat_sys_download)
    .setTicker(getString(R.string.downloading));

    return(b.build());
    }
    Note that we use setOngoing(true), to indicate that this is an “ongoing” operation. This precludes the user from removing the Notification manually, as doing that would drop our process out of foreground priority.

    Towards the end of onHandleIntent(), we call stopForeground(), before calling raiseNotification():

    stopForeground(true);
    raiseNotification(i, output, null);
    There is a similar stopForeground() call in the catch block that raises the failure Notification in case of an I/O error.

    In both cases, we pass true to stopForeground() to remove the Notification. From the user’s perspective, we could just as easily have passed false, as the Notification used with startForeground() will also be removed once our service is destroyed, which will happen shortly after onHandleIntent() ends.
    Ответ написан
  • Как сделать сложный ListView в android?

    @vikarti
    прочитать главу "Advanced ListViews" из https://commonsware.com/Android/ - там подробное описание того о чем swba пишет будет
    Ответ написан
    Комментировать
  • Можно ли запрограммировать приложение для телефона, чтоб запускалось только на одном устройстве?

    @vikarti
    если приложение через Google Play - то за такие вещи можно кучу минусов там именно из-за того что пользователь ожидает что если он купил приложение - значит может использовать (вы часто встречали иное?)
    более правильный вариант - использовать штатные средства от Google для проверки того что приложение было куплено - https://developer.android.com/google/play/licensin...
    да, это значит что все устройства на аккаунте смогут пользоваться но аккаунт же не шарят обычно
    вот если приложение распространяется не через Google Play то можно уже про такие вещи думать
    на iOS...у пользователя просто не получится скопировать приложение (исключение - джейлбрейк, он же (или хаки с enterprise-сертификатами) потребуется для установки)
    Ответ написан
    Комментировать
  • Съем позиций и как от воровства контента?

    @vikarti
    если проблема именно в том что "негативно влияет на продвижение" то в случае яндекса может помочь скормить текст сначала яндексу - https://help.yandex.ru/webmaster/authored-texts/ow...
    Ответ написан
    Комментировать
  • Как определить уникальность книги?

    @vikarti
    вопрос что за жанр

    в общем случае - ISBN не достаточно
    есть амазон с его любовью книгам не имеющим ISBN - присваивать свой ASIN
    есть feisovet.ru и подобные, которые продают книги (электронные версии) вообще без уникальных идентификаторов кроме автора/названия

    у того же goodreads.com - есть набор нечетких правил на тему "что есть книга" которые сводятся в итоге по сути к мнению тех кто пополняет базу.

    есть книги с СамИздата - которые могут быть (пока) не изданы в печатном виде но тем не менее вполне себе хорошие книги (тот же Евгений Лотош с его фантастикой например)
    и это не только художественной литературы касается - есть например Busy Coder's Guide To Android Development (https://commonsware.com/Android/) которая только с сайта распространяется (по платной подписке)...и никак иначе.

    а еще бывает тупо ошибочные ISBN (мне такое 2 раза встречалось) (когда в выходных данных книги указан ISBN а поиск по нему на той же isbndb.com - показывает другую книгу (того же автора) (издательство перепутало данные при отправке похоже)

    также вопрос: что есть книга? перевод/оригинал это одна книга или нет? а аудиокнига? а печатная и электронная версия? а разные форматы (и магазины - Amazon/Litres/Barnes-and-noble/Kobo/etc) электронной?
    у Amazon - у электронной обычно другой ISBN/ASIN(если он вообще есть)
    у Audible - у аудиокниг вообще нет искуственного идентификатора вроде ISBN/ASIN
    у Litres - у аудиокниг может быть отдельный ISBN а может и не быть
    электронные версии книг у Litres - вполне могут иметь совпадающий ISBN с бумажной версией (а вот так - а то что это неправильно - им плевать, поддержка отвечает что издательство так предоставило)

    вообще можно пробовать дергать API Google Books, скормив все данные что есть и смотреть есть ли книга там..без 100% гарантии успеха.
    теоретически есть www.ingramcontent.com/pages/data--integration-serv... - но там - как раз все что имеет ISBN...и издано на английском языке и доступ...не бесплатный далеко
    Ответ написан
    Комментировать