• Почему может зависать компьютер?

    Yar_Rick
    @Yar_Rick
    yareg.com
    Чтобы исключить Windows из списка возможных виновников, загрузись с Live CD Ubuntu и посмотри, будет ли компьютер вести себя также. У меня был компьютер на материнке Asus на чипсете H61M, он стабильно работал только в Linux, в Windows случались рандомные перезагрузки в самый неприятный момент, НО только если система установлена на SSD (на HDD даже в Windows всё ОК). Вот такая магия.
    Ответ написан
  • Бесконечный цикл в PHP Ботах?

    Yar_Rick
    @Yar_Rick
    yareg.com
    Вызов index.php каждые 60 секунд:

    #!/bin/bash
    
    while (
      php index.php && sleep 60
    ) &
    do
      wait $!
    done
    Ответ написан
    Комментировать
  • Как поменять цвета иконок Toolbar при переключении темы?

    Yar_Rick
    @Yar_Rick
    yareg.com
    Сейчас сижу над этим же и у меня есть третий вариант. Я в XML каждой иконки указал android:fillColor="?android:attr/textColor". В светлой теме текст тёмный, а в тёмной соответственно - светлый. Иконки перекрасятся автоматически при изменении темы, я надеюсь. Сейчас буду проверять.
    Ответ написан
    5 комментариев
  • Будет ли утечка при использовании Shared ViewModel?

    Yar_Rick
    @Yar_Rick
    yareg.com
    А зачем хранить ссылки на фрагменты? Нужно предоставить управление ими менеджеру фрагментов. Он сам знает, когда выкинуть тот или иной фрагмент из памяти. В своём приложении я специально добивался того, чтобы фрагменты оставались в памяти и не пересоздавались слишком часто. Для этого в транзакции мне пришлось обойтись без replace, attach и detach, а использовать show и hide. Я не храню нигде ссылки на фрагменты и нахожу их когда нужно через менеджер фрагментов по tag. А если фрагмент не нашёлся - создаю новый инстанс.
    Ответ написан
  • Есть ли вариант запустить Skype на Windows XP?

    Yar_Rick
    @Yar_Rick
    yareg.com
    Можно попробовать установить самую свежую доступную для Windows XP версию браузера Chrome и открыть в нём веб-версию Skype.
    Ответ написан
    4 комментария
  • Из каких программ UI/ UX дизайна можно экспорировать xml для Android Studio?

    Yar_Rick
    @Yar_Rick
    yareg.com
    В Android Studio можно не писать XML руками, там есть графический интерфейс с палитрой и деревом компонентов, предпросмотром экрана, где можно таскать элементы мышкой. Всё это великолепие находится на вкладке Design, что располагается внизу окна открытого файла с XML-разметкой по соседству с вкладкой Text. Другое дело, что эта среда не очень user-friendly и иногда бесит, но человек ко всему привыкает со временем )
    Ответ написан
    Комментировать
  • Как запретить выход в интернет если упал прокси на Android?

    Yar_Rick
    @Yar_Rick
    yareg.com
    Ответ написан
    Комментировать
  • Как поставить таймер на кнопку в Android Studio?

    Yar_Rick
    @Yar_Rick
    yareg.com
    1. При нажатии на кнопку нужно сохранять timestamp куда-либо (в БД, в Preferences).
    2. При открытии экрана с этой кнопкой сравнивать текущее время с сохраненным timestamp - если прошло 5 часов, кнопка создается на экране активной, если нет - кнопка создается неактивной.
    3. Для активации кнопки в нужное время при постоянно открытом экране с этой кнопкой нужно воспользоваться какой-нибудь реализацией таймера. Таймер заводить при открытии экрана (onResume) на время, которое должно пройти с текущего момента до сохраненного timestamp + 5 часов и останавливать при закрытии экрана (onPause). Когда таймер сработал - кнопка активируется.
    Ответ написан
    Комментировать
  • Какие существуют легковесные дистрибутивы Linux для ARM?

    Yar_Rick
    @Yar_Rick
    yareg.com
    Ответ написан
    Комментировать
  • Как запустить линукс?

    Yar_Rick
    @Yar_Rick
    yareg.com
    Для начала вернуть всё как было, особенно параметры swappiness и vfs_cache_pressure. Их менять бездумно не рекомендую.

    Если мало памяти, Ubuntu - не лучший выбор. Разумнее смотреть в сторону Debian.

    По логу не может запуститься snapd. Если в системе не используются snap-пакеты, то его можно выпилить.
    Ответ написан
    Комментировать
  • Как при помощи Git ведя разработку в одной папке на VPS потом деплоить результаты в другую папку?

    Yar_Rick
    @Yar_Rick
    yareg.com
    Нужно сделать git clone из папки с репо в нужную папку для deploy. Git работает не только по сети, но и локально. Например, папка с репо находится в /home/user/repo, а нужно задеплоить в /home/user/deploy:

    cd /home/user && git clone /home/user/repo deploy

    Создастся папка /home/user/deploy с копией репозитория, там можно делать git pull для обновления, но работать там будет сложно (не буду сейчас вдаваться в подробности), но это и не требуется, это же деплой. Работать надо в /home/user/repo.

    Папка с исходным репо (/home/user/repo) может быть склонирована с Github/Gitlab, если так удобнее. Можно сделать приватное репо прямо на сервере, соединяться по ssh с домашней машины, но для этого нужно будет немного больше изучить Git :)

    Ключевые точки проекта Git сохраняет сам при коммите. Всегда можно откатиться на какой-то коммит при помощи git checkout {COMMIT_HASH}.
    Ответ написан
  • Apache vs. Nginx - что лучше?

    Yar_Rick
    @Yar_Rick
    yareg.com
    А что лучше танк или велосипед? Некорректно задавать вопрос так, нужно выбирать, исходя из требований к проекту. Для простого сайта вполне хватит одного Nginx, я использую такой вариант. Apache - это сервер приложений, а не просто веб-сервер, скорее всего какие-то сложные проекты обойтись без него не могут. Apache - это танк, тяжелый, мощный, потребляет много ресурсов. Сначала я использовал его, потому что опыта с Nginx не было. После того, как разобрался с Nginx, оказалось, что он как велосипед - лёгкий, иногда едет даже быстрее, мало требует и вполне удобен. Для VPS с 1 GB ОЗУ и ниже и несложными проектами (например, один или два Wordpress блога) рекомендую его.

    Nginx в связке с Apache используют для хостинга статики или других запросов, где не нужен танк и можно домчать на велосипеде.
    Ответ написан
    Комментировать
  • Система контроля версий с графическим интерфейсом для работы с удаленным VPS - существует ли? Что выбрать?

    Yar_Rick
    @Yar_Rick
    yareg.com
    Git не сложный! Для работы в команде из одного человека (то есть с самим собой) нужно знать всего 3 команды, если работаешь на Github/Gitlab, и они просты до безобразия:

    1. скопировать репо к себе, только один раз нужна :) В урл прописать свой логин и токен.
    git clone {HTTPS_URL}

    2. вытянуть обновления из репо
    git pull

    3. выгрузить все изменения в репо с комментарием 'update'
    git add . && git add -A && git commit -m 'update' && git push


    И все :)

    Ещё примеры простых, но полезных команд:

    git status покажет, какие файлы поменялись в репо
    git diff покажет дифф
    git remote -v покажет откуда было склонировано репо

    Если работаешь сам с собой, то вероятность merge сводится к нулю, и весь процесс сводится к pull / push.

    На Windows можно установить бесплатный Git For Windows, там можно добавить команды в меню и просто выбирать их мышкой. В диалоге добавления команды есть возможно использовать переменную $FILENAME. Обычно я использую ее для добавления команды Undo (то есть отмены изменений в конкретном файле):
    git checkout $FILENAME
    Ответ написан
    1 комментарий
  • Почему на западе любят поддомен www в адресе сайте, а у нас корень домена?

    Yar_Rick
    @Yar_Rick
    yareg.com
    Куки голого домена (без www) валидны для всех поддоменов, т.е. возможны проблемы с безопасностью, поэтому англоязычные заказчики предпочитают не рисковать - веками культивировавшийся бизнес не любит лишних потенциальных неприятностей. В России любят красивости, а на возможные факапы обычно плюют с высокой колокольни. У меня самого сайты без www, я ж русский, но начинаю задумываться :) Проблема не так остра, если нет никаких поддоменов с отдельными сервисами кроме www (а с него редирект на голый домен, а не отдельный сайт) и не придвидится.
    Ответ написан
    2 комментария
  • Как научиться понимать код сложного приложения?

    Yar_Rick
    @Yar_Rick
    yareg.com
    Нужно начать разработку своего простого приложения, но с чётко определённой функциональностью. На каждом этапе разработки нужно искать в интернете best practices, то есть оптимальный подход к реализации той или иной части приложения - работа с БД, списками, фрагментами и т.п. Стараться понять каждую строчку кода, экспериментировать с различными вариантами реализации. Обязательно собирать свой проект каждый день и тестировать на реальном устройстве - всплывёт столько багов, что, возможно, придётся переосмыслить весь подход и начать заново, но это будет уже новый уровень. Следить за качеством кода, размером APK, скоростью работы на слабых устройствах.
    Ответ написан
    Комментировать
  • Зачем нужна IDE для PHP?

    Yar_Rick
    @Yar_Rick
    yareg.com
    Автодополнение кода позволяет быстрее его писать, а фоновая проверка синтаксиса позволяет делать меньше ошибок из-за опечаток.
    Ответ написан
    Комментировать
  • Как правильно расставить права на директорию сайта, чтобы удобно работать с ней локально?

    Yar_Rick
    @Yar_Rick
    yareg.com
    Можно добавить пользователя www-data в группу пользователя Antonov. Тогда веб-сервер сможет читать файлы, созданные пользователем Antonov.

    sudo usermod -a -G Antonov www-data

    Ну а папкам, куда может писать веб-сервер, дать права 777.
    Ответ написан
    Комментировать
  • Как решить проблему с лагами на nexus7?

    Yar_Rick
    @Yar_Rick
    yareg.com
    На Nexus 7 2012 нужно регулярно запускать fstrim -v /data (ну и остальные точки монтирования не помешает - /cache, /system) в терминале рекавери (я говорю о TWRP), чтобы проблем было меньше. А если прошить нормальную прошивку и установить ParrotMod, то вполне начинается новая жизнь. Я пользуюсь прошивкой The Pure Nexus Project (Android 6.0). На мой взгляд сервисы Google (GApps) не стоит устанаваливать, а приложения ставить через Yalp Store.

    Ссылки для изучения:
    https://forum.xda-developers.com/nexus-7/developme...
    https://forum.xda-developers.com/nexus-7/orig-deve...
    https://f-droid.org/en/packages/com.github.yeriomi...
    Ответ написан
    Комментировать
  • Как сделать постоянное подключение к LongPoll вк при обрыве?

    Yar_Rick
    @Yar_Rick
    yareg.com
    Ошибочно думать, что Long Poll - "вечное соединение", это не так. Сервер держит соединение какое-то время, например 30 секунд, и если никаких событий за этот период не случилось, он его сбрасывает. Если событие случилось, то соединение закрывается с ответом. Поэтому нужно снова предпринимать попытку соединения - либо после получения события, либо после истечения таймаута. В документации VK этот момент описан, а также можно при помощи параметра указать таймаут. Они рекомендуют 25 сек, так как большинство прокси сбрасывают соединение через 30 сек. Подробнее здесь - https://vk.com/dev/bots_longpoll
    Ответ написан
    6 комментариев