Задать вопрос
  • В чём преимущества и недостатки установок через apt и snap?

    shurshur
    @shurshur
    Валентин, я тоже с недоумением смотрю, когда в snap тащат простые утилитки, тем более если это статический бинарник, изначально написанный на go. Но всё же есть вполне тяжёлый софт, который может весить очень много сам по себе, и прыгать с бубном ради небольшой доли общих компонентов с учётом всего зоопарка систем смысл действительно спорный. Например, смотрю я тут на snap chromium, где из 320 Мб аж 230 Мб весит usr/lib/chromium-browser, в котором 160 Мб - собственно бинарник браузера, а общие и потенциально общие библиотеки в usr/lib/x86_64-linux-gnu и usr/lib/chromium-browser весят 13 и 59 Мб, и у меня действительно есть понимание, что автором этого поделия проще выпускать один дистрибутив со всем вместе, чем занимайта сопровождением сборки в каждом встречном дистрибутиве каждой из нескольких последних версий. Вот если кто-то захочет chromium в BolgenOS - пусть сам и собирает под свои нужды.
  • Стоит ли использовать везде GraphQL?

    shurshur
    @shurshur
    DeniSidorenko,
    сколько докладов я смотрел везде отказывались о REST API в пользу Graphql


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

    shurshur
    @shurshur
    uvelichitel, это просто сайт :) Но можно было бы любой другой рисовальщик графиков использовать.
  • Как исправить org.telegram.telegrambots.meta.exceptions.TelegramApiRequestException: Error sending message: [404] Not Found?

    shurshur
    @shurshur
    SmithSE, посмотрел, ничего не понял, я в яве не разбираюсь. Вообще по идее если бы были проблемы с токеном то возвращалась бы другая ошибка, не 404, а раз 404 - делается запрос на какой-то неправильный URL.
  • Как по списку телефонов с наименьшими затратами отправить людям сообщения в Telegram?

    shurshur
    @shurshur
    Клиентский API (MTproto API) позволяет находить клиентов по номеру телефона. Но массовый поиск по номеру телефона легко может привести к бану (после некоторых скандалов на эту тему Телеграм стал с подобным бороться). Более того, некоторые пользователи нажмут "это спам", потому что они вообще не просили писать им в Телеграм и не давали на это согласия. Рекомендую от этой идеи отказаться.

    В дальнейшем рекомендую подписку на уведомления сделать дополнительной возможностью для пользователя путём указания ссылки на бота, где можно подписаться. Для связи пользователя на сайте с пользователем в Телеграме можно использовать deep linking.

    В некоторых мессенджерах (Viber, WhatsApp) есть легальные (платные) способы отправки сообщений по номеру телефона (в Viber с любым текстом, в WhatsApp - по согласованному шаблону). Но и для них от пользователя следует получать ясное мотивированное согласие на получение такой информации именно через указанный мессенджер.
  • Есть ли бот, который будет по Telegram ID искать @username?

    shurshur
    @shurshur
    В общем случае это невозможно. Бот может получить id пользователя, если тот ему напишет. Крупные широко используемые боты могут иметь приличную базу пользователей, но даже они не могут знать всех.
  • Как созданы слайды в powerpoint?

    shurshur
    @shurshur
    Maxim Siomin, переименовать. Это реально и есть zip-файл.
  • Как исправить org.telegram.telegrambots.meta.exceptions.TelegramApiRequestException: Error sending message: [404] Not Found?

    shurshur
    @shurshur
    Судя по тому, что в 39 строке HelpOcsTelegramBot.java находится закрывающая скобка, код на гитхабе не соответствует показанному логу.
  • Как подчинить права?

    shurshur
    @shurshur
    Сергей Карбивничий, так, что у бинарника sudo послетали права увидел не сразу. Но это от usermod не могло случиться. Это от чего-то ещё, какие-то другие косые действия.

    Починить можно было бы ручным исправлением прав на бинарник sudo без переустановки..
  • Как собрать базу Telegram каналов?

    shurshur
    @shurshur
    Какие-то пользователи сами добавляют через формочку, какие-то они могут находить через репосты и всё такое. В любом случае, вряд ли они захотят просто так отдавать свою базу каналов.
  • Можно ли в меню Linux создать дополнительную папку?

    shurshur
    @shurshur
    Dr. Bacon, есть определённые потуги к стандартизации DE в рамках freedesktop.org, так что да, есть унифицированный механизм для меню, и устанавливаемый софт в менюшке появляется вне зависимости от того, какой DE используется пользователем.
  • Как подчинить права?

    shurshur
    @shurshur
    Про пароли и переустановку sudo фигня какая-то. Надо было просто полностью перелогиниться. Для проверки групп использовать команду id -a [юзернейм], она бы показала, что до перелогина группы не поменялись.
  • Как удалить пустые папки?

    shurshur
    @shurshur
    Алексей Леонтьев, дык если каталог непустой то он не будет удалён. А в нынешних условиях каталоги с другими подкаталогами удаляться не будут - они ж на момент выполнения find непустые.
  • Каким самым легких способом скомпилировать код в коде на Python?

    shurshur
    @shurshur
    @alexbprofit
    compile не защитит от внедрения произвольного кода и не позволит избежать бесконечного цикла, разрастания по памяти, обращения в сеть и прочих посторонних вещей, от которых мы пытаемся защититься.
  • Каким самым легких способом скомпилировать код в коде на Python?

    shurshur
    @shurshur
    ITpie, Docker - система запуска приложений в изолированном окружении, используя доступные в Linux технологии: namespaces и cgroups. В каком-то смысле контейнеры - это "лёгкие" виртуальные машины, которые работают на одном и том же ядре, но отделены от основной системы и друг от друга и имеют свою собственную сеть (network namespace), точки монтирования (mount namespace, развитие идеи chroot), процессы (pid namespace) и ещё некоторые другие сущности. Необязательно использовать именно докер, можно вообще создавать namespace'ы для запускаемого процесса явным образом, но докером можно сделать это довольно быстро.

    В общих чертах это может выглядеть так. Сделаем образ для Docker, в котором будет python и нужные модули. Для каждого скрипта будем его вместе с тестовыми данными подсовывать в создаваемый для теста контейнер, в котором отсутствует доступ к сети (при желании можно также навертеть ограничений на использование процессора, памяти итд). Если контейнер не завершился за оговоренное время, будем гасить его принудительно.

    Я тут набросал более-менее работающий примерчик https://yadi.sk/d/vk3CghM0VCDHuQ

    Нужен Linux с Docker, запустить build.sh, чтобы собрать образ (он будет называться testing), затем можно запустить test.sh, который запустит скрипт script.py, внутри которого бесконечный цикл. В test.sh раз в 5 секунд идёт проверка состояния контейнера, если через 60/5=12 проверок контейнер ещё не завершился - он будет принудительно завершён. У меня скрипт устевает выполнить цикл 72 раза, это из-за того, что каждый вызов docker inspect для получения состояния контейнера тратит примерно секунду.
  • Что такое Потоки на уровне ОС? В 1-ядерном процессоре же всего 1 поток?

    shurshur
    @shurshur
    Даниил, можно представить себе "треды" (hyperthreading) в процессоре как имитацию полноценных процессоров без настоящего дублирования компонентов процессора в камне, в отличие от "ядер" (core). С точки же зрения софта и то, и другое - самостоятельные процессоры.

    А треды в программистском смысле - это возможность исполнять код параллельно в пределах одного процесса с одной и той же общей памятью. Это совсем другое. Кстати, далеко не всегда треды исполнены в виде настоящих или псевдопроцессов, например, треды могут быть реализованы как особенности исполнения байткода в однопоточной виртуальной машине.
  • CCTV, проблема c ActiveX для IE 11. Решение!?

    shurshur
    @shurshur
    Я бы попробовал протестить через 32-битный IE.

    Если поизучать, по какому протоколу берётся видеопоток, возможно там окажется что-то по http или rtp, что подцепит обычный vlc.
  • Что такое Потоки на уровне ОС? В 1-ядерном процессоре же всего 1 поток?

    shurshur
    @shurshur
    В 1-ядерном процессоре же всего 1 поток?


    Threads в процессоре и threads в операционной системе/прикладном ПО - разные вещи.

    Тогда почему вообще вся ОС не асинхронная


    В каком-то смысле она и есть асинхронная. Реагирует на системные вызовы, на события, а в остальное время работает пользовательский софт либо всё засыпает в ожидании причин проснуться.