Задать вопрос
  • Можно ли перемещать папку "Android" (видимо системная) на SD-карту?

    @rPman
    это просто перемещение файлов, программы будут продолжать искать свои файлы в этом месте и не найдя будут считать их удаленными, на сколько я знаю тут хранятся публичная часть файлов приложений, считай это очистка памяти, т.е. сброс настроек приложений или только их кеша (этот момент лучше уточнить)

    делать это не следует либо делай только для тех программ, данные которых тебе не требуется сохранить (это штатно можно сделать в настройках - хранилище - приложения - выбрать приложение - очистить)
    Ответ написан
    Комментировать
  • Куда класть приложения из .tar.gz?

    @rPman
    в linux для приложений, устанавливаемых неконтролируемым методом make install или распаковкой готовых бинарников является каталог /opt, порядок любой, создаешь внутри каталог по имени приложения и в него распаковываешь

    для make install есть практика устанавливать в каталог /home/xxx с той же структурой bin/lib/... что и в оригинале, обычно это средствами самого установщика настраивается.
    Ответ написан
    2 комментария
  • Как правильно делать паузы между запросами к api?

    @rPman
    На самом деле без знания, как именно сервис учитывает интервал времени, точный ответ на этот вопрос дать не получится и для действительной необходимости придется исследовать сервис, делая специально запросы чаще чем необходимо, выдерживая разный интервал времени (я помню как то для одной криптовалютной биржи заморочился и провел исследование, делая ряд запросов на грани бана и проверял, когда он появлялся, пытаясь вычислить эту ошибку,.. тольку от этого особого обычно нет, достаточно добавить с запасом +1 секунду и не заморачиваться).

    Например сервис может сохранять не больше 7 последних запросов пользователя, если они по времени попадают на интервал последней секунды, и на каждый новый запрос считает их количество, отказывая в обработке если их станет больше.

    Или же сервис может определить момент начал отсчета интервала, например как T-модуль деления (T/интервал), т.е. каждый интервал учета количества запросов для всех клиентов начинается с одного и того же времени, и сохранять для каждого пользователя количество сделанных запросов, сбрасывая в ноль это число при переходе к следующему интервалу. Само собой если количество это больше лимита то отказывать в обработке. Этот алгоритм можно расширить, к примеру хранить количество запросов за прошлый интервал (или несколько) и текущий, складывая их при проверке на лимит, в этом случае настоящий лимит, который указывается пользователям в документации, больше во столько раз, сколько хранится истории запросов для каждого пользователя.
    (этот механизм проще для реализации на сервере, меньше требует памяти, и хотя не такой точный как первый, может использоваться)

    ...

    Если тебе нужно точно знать момент, когда можно делать запрос, ты должен использовать тот же самый алгоритм у себя на клиенте. Так же ты должен знать точное время (а точнее расхождение между твоим и серверным), плюс нужно учитывать время, которое ты тратишь на запрос (в сторону сервера без учета времени на получение ответа).
    -------------------

    Все вышесказанное тебе может не понадобиться, так как в подавляющем большинстве случаев сервер сообщает о количестве доступных запросов и/или времени, через которое можно будет сделать следующий вопрос прямо в ответе на каждый запрос. Для этого заводится соответствующий заголовок и это указывают в документации. В этом случае тебе достаточно будет проверять этот заголовок и делать sleep (точнее usleep) ровно таким, как указано там (там бывает пишут сразу timestamp, когда можно делать следующий запрос).

    p.s. посмотри внимательно, возможно долбить сервис http rest запросами не самый лучший способ получения оперативной информации, вдруг сервис предлагает более удобные инструменты, например websocket или даже старый long pooling
    Ответ написан
    Комментировать
  • Как устроены сайты по типу хабра?

    @rPman
    Ответы другими пользователями даны абсолютно верные

    Но хочу все же напомнить что вполне возможно существование веб сервиса который создает на каждую страницу реальный файл на диске при создании и редактировании поста как механизм кеширования (дублируя информацию с базой данных), так как современные веб серверы (nginx например) работают с таким файлами (это называется статичные файлы) невероятно эффективно, на порядок эффективнее чем делать это на лету при каждом запросе, так же он может быть заранее сжат (deflate, gzip, br) что позволит сэкономить еще и на сетевом трафике., да веб сервер и так это делал бы на лету, но за счет процессора.
    Ответ написан
    Комментировать
  • Почему ПК на HASSOS не видит WIFI?

    @rPman
    HassOs основан на linux так что чуда не будет
    мало того вероятность получить рабочий драйвер видео выше именно на ubuntu чем на очень непопулярной версии.

    в основном это является причиной
    ubuntu lts по ощущениям работает медленнее чем на win10

    А еще выбор именно ubuntu с рабочим окружением unity, он отвратителен по большинству показателей и несовместим ни с какой стороны с идеологией linux кроме - "свободы разрабатывать так плохо как тебе хочется"

    Поставь xubuntu/lubuntu/edubuntu, если что можно просто установить пакет в стандартном репозитарии, а настройка меняется тут же при первом логине, так что переустанавливать ничего не надо.

    p.s. гугл говорит что на этот стик устанавливали еще 14-ую и 16-ую версию ubuntu и там все работало без проблем
    Ответ написан
    Комментировать
  • Как правильно продиагностировать M.2 накопитель?

    @rPman
    Однозначно диск под замену.
    Но в идеале протестировать и материнскую плату (разъем), вставив гарантированно рабочий накопитель или вставив подозрительный накопитель в гарантированно рабочий компьютер.

    У nvme дисков тоже есть smart, так что его можно смотреть стандартным smartcl или gui утилитами
    Ответ написан
    Комментировать
  • Как избавиться от большого количества конструктий if-else?

    @rPman
    Это нормально.
    И да, много это не 2-3 уровня а сотни и тысячи.

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

    Всегда нужно найти момент и силы остановиться и не доводить до маразма, а то так дойдет до написания языка программирования с помощью которого описываешь свою логику, сложность кода растет, вероятность ошибок тоже.
    Ответ написан
    2 комментария
  • Колокольчик уведомлений на сайт?

    @rPman
    Это счетчик непрочитанных новостей
    Варианты реализации:
    - для каждого пользователя у каждой новости есть отметка boolean (например в базе данных связь М - М, наличие записи - прочитана, отсутствие - нет), количество новостей без таких отметок для пользователя и есть искомое число (можно оптимизировать триггерами в базе данных на создание новостей)
    этот вариант подходит, если есть возможность и необходимость мониторить прочтение каждой новости
    - для каждого пользователя сохраняется дата последнего его захода на сайт (чтения страницы новостей), соответственно количество новостей с датой выхода больше сохраненной у пользователя - искомое число
    этот вариант сильно быстрее работает но дубовый и не учитывает что пользователь мог не прочитать новости
    Ответ написан
    Комментировать
  • Что выбрать для сёрфинга и работы в браузере + MS Office- ноутбук, ультрабук или планшет?

    @rPman
    В указанных приложениях можно нормально работать только при наличии нормальной клавиатуры, поэтому планшетник отпдает сразу, при желании бери планшетник с возможностью присоединения клавиатуры (были одно время такие, в т.ч. дешевые)

    Поэтому ультрабук - меньшее из предложенных зол.
    Гугли - ноутбук с полноразмерной клавиатурой (они не идеальны но лучше чем типовые огрызки). Цены и выбор тебя огорчат.

    p.s. чем меньше размер экрана (и клаватуры) устройства тем ближе оно к потреблению контента а не "работы"
    просто потому что весь интерфейс рабочих приложений разрабатывается с учетом:
    * большого экрана (без вариантов, в идеале 24" но иногда можно потерпеть и с 15" ноутбуком, если это не основное место работы а только по мелочи, меньше размер, как не выкручивайся, тупо не удобен, времени убдет уходить в несколько раз больше)
    * большая клавиатура (в идеале отдельная с расширенной цифровой), но есть люди, которые окромя ноутбука ничего не видели, пальцы привыкли работать на этих неудобных раскладках, и таким людям возможно это заходит,... человек вообще ко многим неудобствам привыкает
    * манипулятор типа мышь, потому что он очень точный! точность сенсорного экрана очень низкая, такие банальные операции - выделение, перенос, просто попасть с одного клика мышкой на порядок удобнее, а сенсорный экран дает много промахов. Тач ноутбука это костыль, к нему можно привыкнуть но скорость работы с ним почти в 2 раза ниже чем мышкой на столе.

    это не заговор, просто разработчики сидят за десктопами, тестеры сидят за десктопами, юзабилити тюнится под десктопы, операционные системы win/linux/mac все нормально работают только на десктопах... такова селяви
    Ответ написан
  • Есть инсталлятор Electron-приложения для Windows?

    @rPman
    никак

    electron это браузер, и в нем мало сделано чтобы этот браузер не был похож на хромиум (есть эксперименты делать на основе firefox, без разницы), соответственно что бы ты не делал, чтобы все работало в результате должен быть браузер с его профилем и файлами.

    гугли electron obfuscation, может что то тебе подойдет, для сокрытия и запутывания исходников
    Ответ написан
  • Как верстать без Бутстрапа?

    @rPman
    на таблицах
    <на правах шутки>
    Ответ написан
    1 комментарий
  • Redmi 3s подтянет Miui 11?

    @rPman
    как можно не пользоваться гуглом?

    11 работает
    я в шоке!
    12 тоже
    (как я понял кастомные)
    и есть даже на основе 13! 4pda но само собой, никаких обновлений безопасности, все на свой страх и риск и т.п.
    Ответ написан
    Комментировать
  • Стоит ли делать книжку на заказ из iso стандарта?

    @rPman
    Мое мнение, бумажная литература, особенно техническая, невероятно неудобна! потому что нет возможности сделать поиск.

    Единственное достоинство бумажной книги, относительная дешевизна при высоком качестве (сопоставимое качество потребует достаточно дорогое устройство, хорошо когда оно есть, но это редкость), а еще очень часто технические документы по историческим причинам доступны только в pdf варианте (не для it области, спасибо), такие документы даже на 14" планшетнике читать не всегда комфортно (очень мелко все будет если меньше размеры экрана). А благодаря заградительно высоким ценам на eink экраны, приятных глазу читалок с большим экраном тупо мало (дорого).
    Ответ написан
    4 комментария
  • Отправка письма после успешной оплаты QIWI Api, как подтвердить оплату?

    @rPman
    вебхуки, еще немного про это
    ищи в своей библиотеки их поддержку

    qiwi будет слать http запрос на указанный адрес (т.е. он должен быть виден из интернета) если платеж завершился или был отменен

    p.s. это? кажется вебхуков тут нет
    делай этот запрос периодически
    billPayments->getBillInfo($billId);
    и смотри в ответе ->status->value
    Ответ написан
  • Какие есть виртуальные среды у windows 10?

    @rPman
    С хорошей долей везения поможет другой пользователь windows, причем пробуй не только правая кнопка запустить под указанным пользователем, а буквально смена пользователя без завершения работы (такой режим хотя бы для установки приложения, запускать можно уже по правой кнопке).

    Приложение должно быть установлено для второго пользователя отдельно в другой каталог, т.е. для каждого экземпляра установки свой пользователь и свой набор ярлыков (в последствии, чтобы не хранить дублирующие данные, можно попробовать оптимизировать место, воспользовавшись символическими и жесткими ссылками ntfs, когда один и тот же каталог и файл размещены в разных каталогах (в FAR их можно делать по atl+f6, удобнее чем утилитой командной строки, но за автообновлениями программы придется следить самому)

    p.s. когда то с помощью этого метода и ibik aster на одной машине играли два человека в одни и те же онлайн игры без их взлома (с каждой шел свой античит), не уверен что теперь так можно но попробовать стоит
    Ответ написан
  • Почему-то перестал загружаться диск с системой убунты?

    @rPman
    при форматировании не удается ничего сделать. Сканировал на битые секторы, на нем нашло 16 штук.
    диск умер, это гарантийный случай
    Ответ написан
    Комментировать
  • Почему запускается деструктор в данном примере?

    @rPman
    Сам copy никак не вызывает деструктор
    деструктор будет вызван автоматически по завершению области действия места где объект был создан, т.е. после завершения main

    Если же ты добавляешь *this в return Copy то у тебя возникает вызов деструктора этого возвращенного объекта, который не используется, а затем еще раз по завершению программы, собственно программа у тебя будет мусор на экран выводить вместо ожидаемого hi.

    Добавь в деструктор вывод на экран "destructor", увидишь

    Причина (если честно для меня не очевидная) в том что ты мешаешь два подхода - работа с объектами и работа со ссылкой на объект, преобразованный в сам объект (return *this), рекомендуется не мешать эти два подхода
    Ответ написан
    Комментировать
  • Как сохранить лицензию при копирования с флешки?

    @rPman
    Программа "обучалка" гиг объем"

    впервые о такой слышу, наверное там стоит какой то механизм защиты от копирования

    создать новый виртуальный диск (правая кнопка мой компьютер - управление дисками - дополнительно - создать виртуальный диск, указать размер такой же как исходный) и склонировать, не файлы а диск!

    так как тебе надо это делать без перезагрузки, нужно использовать софт типа windd (погугли такого софта тьма, часто правда под windows выкручиваются и делают платным, но склонировать диск вроде должны давать)
    Ответ написан
    4 комментария
  • Как сделать, чтобы Chrome при запуске открывал вкладки с нужными сайтами и сам логинился в них?

    @rPman
    Расширение greasemonkey/tempermonkey

    Вызывает пользовательский скрипт в зависимости от открытого сайта, с помощью querySelector ищешь нужные элементы, прописываешь им значения типа .text=... или .value=.. (а так же dom методы) и симулируешь клики .click()

    так как скрипт запускается как собственный на сайте, можно пользоваться методами, который написал разработчик и библиотеками, которые подключены, очень часто есть jquery

    Стартовать сразу с несколькими сайтами
    chromium-browser http://google.com/ http://ya.ru/
    Ответ написан
    Комментировать