Задать вопрос
  • Почему видео недоступно на Youtube Music?

    @rPman
    убери music. из ссылки, откроется youtube видео с этой аудиокнигой, она читается
    p.s. могу предположить что глюки с youtube.music это отголоски постепенной реализации изоляции РУ сегмента, т.е. этакие персональные санкции гугла по национальному признаку.
    Ответ написан
  • Почему не работает кириллица в ubuntu в названиях файлов?

    @rPman
    За мультиязыковую поддержку файловых систем отвечает ядро linux (опция
    CONFIG_NLS_DEFAULT=utf8 в /boot/config* ), когда то очень давно для решения проблем с кирилицей сюда прописывали koi8 и т.п. (еще есть CONFIG_EXFAT_DEFAULT_IOCHARSET=utf8, полагаю это персональная опция для exfat) и сейчас это дефолтные значения в ubuntu (и нормально их не изменить, т.е. нужно будет вручную пересобирать ядро).

    Для очистки совести выполни в консоли locale -a и проверь, есть ли в выводе ru_RU.utf8, но это отвечает больше за вывод в консоли, терминале и в приложениях в принципе. Поэтому в зависимости от того как именно ты работаешь с файлами, наверное это критично.

    Чтобы добавить русскую локаль, зайди в GUI настройки OS и добавь ее, будет автоматически установлено необходимое ПО и предложен ребут.

    p.s. нужно больше информации, как и куда пишешь файл.
    например что будет если файл создать с помощью консольной утилиты
    touch имя_файла
    Ответ написан
    2 комментария
  • Регистратор/ресселер взял деньги за продление домена а домен не продлил. что делать?

    @rPman
    в суд!

    Особенно если у тебя не только 'моральные страдания' но и 'финансовые потери'
    Собирай все возможные документы, лицензионные соглашения с регистратором, документы об оплате и т.п.

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

    @rPman
    конечно не безопасно.

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

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

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

    @rPman
    Нужно настроить язык в профиле пользователя OS
    В качестве теста можно сначала запустить оперу из консоли (или отредактировав ярлык), добавив перед командой срочку
    LANG=ru_RU opera
    Ответ написан
  • Синхронная работа хромовских профилей возможна?

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

    Если прямо ну очень надо, берешь autoit, ищешь на его форуме утилиту, которая пишет передвижения мышки и нажатия клавиш в виде скрипта (кажется в 2013-ом ее выпилили) - au3recorder и запускаешь этот скрипт в отдельно запускаемых виртуалках (с некоторой долей везения можно запустить этот скрипт на windows сервере, открывая каскадно rdp сессии, по две на браузер, иначе кнопки не нажимаются)

    p.s. под linux есть свои инструменты, но красивого рекордера я не нашел
    Ответ написан
    Комментировать
  • Какую область программирования выбрать PHP или Java?

    @rPman
    в данном случае язык определит направление дечятельности

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

    java - если смотреть на рынок, это в первую очередь мобильный гейминг android,.. не потому что язык такой, просто так звезды сложились.
    Если спросить меня, какой язык выбирать для создания крупного проекта с долгой поддержкой для бизнеса, java я бы выбрал ну очень в последний момент. Очень многословный язык, да код получается красивым, меньше мест где можно выстрелить себе в ногу и т.п... Из бонусов - кроссплатформенность (как железа так и ОС), уже не такая уж и уникальная опция.

    то о чем в вопросе не было спрошено:

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

    javascript - занял очень интересную позицию в мире, благодаря nodejs он может быть как web бакендом, так и способом разработки браузерного интерфейса на стороне клиента, так и десктопные приложения (electron, чтоб его...) и даже как язык для unity игрового движка, т.е. получается язык получает статистический прирост с нескольких областей а не одной как остальные.
    У языка есть недостаток - как и у php (но он старается избавиться от этого) - свободная типизация, странная реализация ООП и другой синтаксический сахар типа асинхронности (это кстати его плюсы) увеличивают шансы выстрелить себе в ногу и усложняют поддержку проекта на долгосрок (там вообще много где проблем найти, как пример, берешь любой проект с гитхаба с датой последнего комита 3-4 года и пробуешь его обновить и поддержать, советую посмотреть что аудит безопасности npm будет вам писать).

    c# - надо ставить рядом с java (он и .net и создавался майкрософтом как главный конкурент), так же благодаря unity движку, захватывает часть статистики из геймдева. К сожалению, выбор языка гвоздями (да есть способы освободиться, но за все приходится платить и чего то лишаться) прибивает разрабатываемый продукт к майкрософтовской экосистеме, за который бизнесу приходится платить неплохой 'налог', поэтому если у тебя не unity то скорее всего ты либо поддерживаешь какое то легаси либо... ну мне нравится на .net формочки к базе данных делать, нигде такого легкого инструмента который дает ms visual studio и .net - нету, но, если прямо так хочется, там можно и на python.net писать, и на c++.net, и вообще какая разница какой язык программирования, в мире разработчика главенствуют фреймворки и среды разработки.
    Это я к чему - найти деньги с этими знаниями можно только по везению.

    Все остальные языки типа R, Rust, go и прочая экзотика - это издевательства над работодателями.. т.е. если ты найдешь по ним работу, это значит работодатель стал заложником не шибко умного системного аналитика (или его отсутствие/совмещение с разработчиком, который для самообразования решил приколоться), т.е. еще большее везение, делать ставку на это я бы не стал. Хотя для самообразования учить Rust или go очень даже неплохо, много открытых проектов пилят именно на go, вполне возможно, когда в мире количество разработчиков наберется до некоторой критической массы, это станет таким же мейнстримом как сейчас php или javascript.

    Так что еще раз - выбор языков программирования в порядке убывания оценки рекомендации (выше-вероятнее найти работу, кстати оценить уровень оплаты тут сложнее)
    php - и он теряет позиции, потому что SPA приложения захватывают мир
    javascript
    python
    - если не нужен вебдев - то это на первом месте
    java/c# (точнее .net)
    go

    если хочешь быть в вебе то php/javascript
    если хочешь в геймдев java/c#
    если хочешь датасайнс то python
    Ответ написан
  • Почему gRPC сервис при нагрузке выдает 1 RPS, при том что сервис запущен с max_workers=10?

    @rPman
    Совершенно непонятно, как именно отрабатывает асинхронный сервер asyncio с вашим thread pool, я так понимаю это скрывается в дебрях класса объекта test_pb2_grpc? Нужно больше информации.

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

    Для начала смотри логи и временные метки ответов клиента и запуска sleep на сервере (добавь строчку вывода в лог - sleep запущен/завершен с отладочным идентификатором запроса клиента, который добавь в http запрос), тогда ты будешь видеть время жизни каждого подключения клиента, сколько он висел в очереди asyncio и когда завершился на сервере, возможно тут что то прояснится.

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

    Вести отладку многопоточных приложений напрямую сложно (ведь пауза вносит изменения в структуру и порядок запросов), только тщательным логированием
    Ответ написан
    Комментировать
  • Можно ли каким-то хитрым SQL-запросом сгенерировать и вставить в таблицу 100500 записей, с последовательно возрастающими int или хэшами?

    @rPman
    если количество не велико (точнее разумно) можно симулировать таблицу с возрастающими значениями на основе union и left join

    p.s. это адский быдлокод но я помню делал такую вьюху
    create view digits (a) as select 0 as a union
    select 1 union
    select 2 union
    select 3 union
    select 4 union
    select 5 union
    select 6 union
    select 7 union
    select 8 union
    select 9

    соответственно дальше можно написать такой запрос
    select x.a+y.a*10+z.a*100 from  digits x,digits y,digits z

    количество указаний digits во from в нем определит максимальное количество значений (в данном случае 1000) как степень 10

    Можно создать из этого ее вьюху, и на ее основе уже оперировать степенями 1000

    у тебя будет виртуальная таблица с нужным количеством записей, ты можешь фильтровать их по значению и формировать на ее основе свои insert
    Ответ написан
    Комментировать
  • Что в приоритете в реальных проектах циклы или рекурсия?

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

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

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

    Поэтому 'windows не будет лагать'. Я надеюсь у тебя ssd диск? остальные указанные параметры более чем подходят чтобы 'все летало'.

    p.s. linux от производителя ноутбука обычно отвратительный и не подходит для использования, устанавливается скорее всего для галочки (и с высокой вероятностью это сделано специально).

    Настоятельно рекомендую устанавливать более популярные версии (например ubuntu/kubuntu/xubuntu/...) так как и работать в ней будет больше программ и помощи найти будет проще
    Ответ написан
    8 комментариев
  • Почему так популярны телеграм боты?

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

    Ботописатели идут туда где тусуется целевое население, это логичное следствие
    идут люди в discord - будут писать ботов там, пойдут в telegram, станет популярным whatsup - будут пытаться писать и для него (даже если это невозможно).

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

    @rPman
    Загрузка Ubuntu происходит 3-5 минут, после входа долго "раскачивается" и вообще стал работать медленне.

    Убедиться что это не проблема с софтом, запустив к примеру linux с флешки liveusb (установочная ubuntu), можно пойти дальше и временно установить чистый linux куда-нидудь, хоть на такую же флешку.. запуск даже с медленных может происходить быстрее чем со старого hdd. Вдруг переустановка системы помозет? А может банальная дефрагментация? все же hdd это hdd.

    Убедиться что это не проблема с железом
    - не убитая ли система охлаждения
    возможно тротлит процессор от перегрева, прогнать тесты процессора, сравнивать с публичными бенчмарками для своего процессора
    - нет ли повреждений по питанию
    это проверить сложнее, но банально, нет ли тормозов только при питании от батареи, а от сети все ок? в общем неплохо бы помониторить показатели вольтажа у процессора в нагрузке, там так же есть аналогичный тротлингу механизм по температуре - понижение скорости если подсистема питания не справляется
    - не поврежден ли жесткий диск
    протестировать его какими-нибудь бенчмарками (показывающими например красивую картинку-график скорости в зависимости от сектора), посмотреть ssmart диска на ошибки
    старое железо может банально глючить из-за плохого контакта в том же шлейфе sata, в udma там будут сыпать ошибки но диск будет продолжать работать только часто притормаживать (переинициализироваться, кстати звук похож на чтение бедблоков, скребущий такой)

    p.s. не пользоваться ubuntu unity, и перейти на xubuntu или lubuntu (или любой другой шустрый DE) это делается простой командой
    sudo apt install xubuntu-desktop
    и в окне авторизации выбрать xfce
    Ответ написан
    Комментировать
  • Какие параметры (цифровой след) передаёт OBS и подобные программы стриминговым сервисам?

    @rPman
    Может ли OBS так делать? - да, в потоке есть место куда сложить отпечаток.
    Делает ли? - не знаем, и чтобы ответить на вопрос нужно будет реверсить код и анализировать трафик.

    НО задайся вопросом, зачем им это делать? случайно так не получится, необходимо чтобы стриминговая платформа как то договорилась с разработчиками OBS об этом.

    p.s. исходники программы открыты
    Ответ написан
  • Где купить радиатор и крепеж для SSD M2?

    @rPman
    можно наклеить на чипы персонально маленькие радиаторы 10х10мм, типа таких
    sou-ufq1fhd5kcwlqnv3t1gfq48.jpeg
    стоят копейки, продаются чуть ли не на вес, в любом магазине радиодеталей
    Ответ написан
    Комментировать
  • Как организовать отказоустойчивый кластер 1С?

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

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

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

    В этой схеме важно гарантировать запрет на одновременное подключение двух работающих серверов 1с к базе данных (иначе будет каша), это может произойти к примеру из-за фальшивого определения недоступности базы (а она проснется и начнет в базу данные записывать). Чтобы гарантировать это, можно дополнительно завершить процессы сбойной ноды (kill а не штатное завершение или даже выключение питания, чтобы исключить проблемы с софтом, например драйверами) и средствами роутера обрубать соединение ноды с пользователями. Настройки сети у обоих нод должны быть идентичные (например статика, так быстрее чем через dhcp, но только одна нода в один момент доступна пользователям) для внешних пользователей и отдельное подключение для sql базы данных (тут адреса само собой разные в своей сети).

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

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

    В идеале резервный сервер должен стоять не просто в другом здании, но должен быть подключен к другому интернет провайдеру (или даже отдельным кабелем) со своим независимым питанием (т.е. другая организация обеспечивающая энергию как на постоянке так и поставка топлива для генератора)
    Ответ написан
    Комментировать
  • Как заставить моё расширение выполнить fetch ( http://localhost ) на сторонних сайтах?

    @rPman
    ajax https -> http не допускаются,
    можно схитрить и сделать get запрос через загрузку ресурса с http, например:
    <script type='text/plain' src='http://127.0.0.1/...'/>

    но не уверен что можно будет получить ответ (в консоли браузера будут ошибки)

    upd. совсем забыл, в современных браузерах это тоже перестало работать, если формировать такую строку скриптом

    и правильно сделали, несекурные запросы из https страницы это страшная дыра, можно без каких либо ограничений, зайдя на страницу злоумышленика получить различные запросы в локальной сети этого пользователя, а там на выбор, ddos, звлом или даже какие то действия (грубый пример, на админке роутере у тебя сохраненная авторизация, злоумышленник делает запрос на открытие доступа извне, например nat, и получает доступ к твоей сети)
    Ответ написан
    Комментировать
  • Как скомпилировать консольное приложение для Android?

    @rPman
    Общая идея android приложений - это dalvik bytecode (обычно это java) виртуальная машина, но разрешается использовать нативные библиотеки

    Соответственно пишешь минимальное приложение на java (пусть даже без gui, а вывод при необходимости делать в системные логи), которое первым делом подключит библиотеку, которую так же помещаешь в apk.

    Исторически это называется java native interafce, позволяет навести мосты между java приложением и нативным c/c++.

    дока - https://developer.android.com/studio/projects/add-...
    немного про android jni - https://developer.android.com/training/articles/pe... там же слева смотри ссылки как собирать

    Это очень трудоемкий путь, помимо того что придется пробираться через дебри jni прослойки и ограничений, понадобится поддерживать все многообразие железа (архитектур) причем как 32-битных так и 64-битных, где уже на этапе их сборки и отладки появится миллион проблем, т.е. не только x86 но и arm, причем последний это не пара а много много - arm64-v8a , armeabi , armeabi-v7a ... (больше если надо поддерживать старое железо)
    Ответ написан
    Комментировать
  • Приложение с возможностью считывания заготовленных qr кодов. Как это можно реализовать?

    @rPman
    для распознавания qr-кодов можно воспользоваться гугловским фреймворком (к сожалению он большой)
    https://developers.google.com/ml-kit/vision/barcod...

    так же гуглится куча библиотек (вот к примеру даже в старой 4.4 версии android заработает)

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