Задать вопрос
  • Возможно ли появление проблем с раздачей интернета в зависимости от способностей ближайшей вышки?

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

    shurshur
    @shurshur
    Одной задачи не хватит. Нужны десятки и даже сотни. Причём бессмысленно решать синтетические задачи. Так что совет поставить себе и часто пользоваться будет наилучшим.
  • Как получить кол-во просмотров на посте в тг, с помощью тг бота (node js)?

    shurshur
    @shurshur
    r_e_n_y, там другой протокол, бинарный, не http. Для Python его реализует библиотека telethon, для js не подскажу.
  • Почему Python Telethon не использует сессии?

    shurshur
    @shurshur
    Удали реквизиты api, их невозможно поменять.
  • После авторизации Что делать с Google Id Token?

    shurshur
    @shurshur
    AlexVWill, можно вместо email хранить от него хеш, такое вполне решается. Впрочем, многие сайты специально хранят емейл, и можно авторизоваться как по логину-паролю, так и через сторонние интеграции, если емейл совпадёт. Например, такое в браузерных игрушках распространено. Уместность подобного сильно зависит от назначения сайта и того, нужна ли почта у пользователя для его функциональности.

    Но если и правда есть уникальный постоянный uid, и почта сама по себе не нужна, то помнить его конечно же лучше, чем email.
  • После авторизации Что делать с Google Id Token?

    shurshur
    @shurshur
    Зачем? У пользователя в качестве логина выступает email, вот его и надо помнить. Он будет один и тот же при каждом логине.
  • Как правильно написать рекурсию в Python для сбора элементов по parent key?

    shurshur
    @shurshur
    alexandrsemen4ukk, в исходных данных каждая запись это словарь, в котором несколько ключей. Я добавляю в него ключ childs, в значении которого будет храниться список дочерних элементов. В следующей строчке делается append в childs, но parent_item["childs"] должен быть создан до первого вызова этого append.
  • Почему Zabbix agent подключается к не понятным IP?

    shurshur
    @shurshur
    winser, если винда то там как-то по-своему это устроено, хотя контейнеры там это виртуалки. Но тоже в контейнерах должны быть свои отдельные IP.

    См. docker network inspect bridge.
  • Почему Zabbix agent подключается к не понятным IP?

    shurshur
    @shurshur
    winser, это надо было смотреть на хостовой системе.

    Внутри каждого контейнера есть свой личный адрес 172.17.0.x на устройстве eth0.

    Работает это так. При создании контейнера создаётся virtual ethernet pair из двух интерфейсов. Один интерфейс остаётся в хостовой системе с именем навроде vethXXXXXXX, а другой перемещается в namespace контейнера и получает имя eth0. Интерфейс vethXXXXXXX добавляется в bridge docker0 (см. вывод brctl show). Каждый сетевой namespace - это как отдельное сетевое устройство со своими адресами, маршрутизацией и даже своими iptables. Таким механизмом docker делает виртуальный "провод" между основной системой и контейнером и "втыкает" его в "свитч" docker0. Естественно, основная система при обращении в сетку контейнеров будет показывать IP-адрес в сети docker0.

    Если использовать кастомные сетки с bridge-сетью (в том числе через docker-compose), то имя bridge-интерфейса будет вида br-XXXXXXX, и IP-адреса тоже будут назначаться другие.
  • Ошибка в с Базой данных?

    shurshur
    @shurshur
    Это правильный ответ, но неправильно советовать то, что первым попалось из интернета. Никто же не ест первые попавшися ягоды в лесу? И нужно давать совет, чётко понимая, что он значит.

    Всё дело в том, что нужно передавать вторым аргументом cursor.execute iterable объект (list, tuple...), а запись (x) означает x а не tuple(x). Иначе бы (1+1)*2 давало не 4, а tuple(2,2). Но есть простой способ это обойти, добавив запятую: (x,) даёт tuple(x).

    Запятая, кстати, тоже синтаксическая фича против некоторого неудобства. Когда есть такая какая-нибудь запись, то очень неудобно комментировать последний элемент, если всегда нужно при этом у последнего незакомментированного убирать запятую и не забыть ненароком об этом:

    my_list = [
      'item1',
      'item2',
      #'item3',
    ]
    
    my_dict = {
      "foo": "bar",
      #"lorem": "ipsum",
    }
  • Какие есть ресурсы для изучения информатики?

    shurshur
    @shurshur
    Чтобы развиваться в айти, надо выбрать конкретную область. Эникейщики, умеющие настраивать принтеры или чистить вирусы - это тоже айти. Админы серверов, тестировщики, техписы, PM, техподдержка - тоже айти. Но им нужны совсем разные знания неодинакового уровня сложности.

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

    Эти две задачи очень разные, их нельзя смешивать.
  • Возможно ли совмещать работу фронтендера (уровень джун или мидл) и учёбу в институте на очном?

    shurshur
    @shurshur
    Первые 2 или даже 3 курса - категорически не рекомендую. Особенно если вуз не для "пересидеть", а есть желание его закончить и получить знания. Первые курсы студенты обычно достаточно сильно нагружены, и слишком много

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

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

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

    > у меня уровень между джуном и мидлом

    Джун и мидл - это градации профессионального опыта в разработке коммерческого уровня. Без опыта какой-либо работы вообще программист не может называть себя мидлом.

    > нейронки пишут нормальный код

    Нейронки пишут нормальный код только для очень простых задач, для которых по суте уже есть готовые решения в гугле. Чуть отличается задача - и уже может получиться любая лажа. При этом нейронка не несёт никакой ответственности за качество кода, если код хоть где-то налажает - с кого спрашивать?
  • Почему не работает help disnake?

    shurshur
    @shurshur
    Sergey Anushkin, не знаю что такое bot.PREFIX, это к данному вопросу уже не относится. И не надо код и ошибки картинками постить, это же текст.
  • Почему не работает help disnake?

    shurshur
    @shurshur
    Sergey Anushkin,
    bot = commands.Bot(...)
    bot.remove_command('help')
  • Как создать ветви диалогов?

    shurshur
    @shurshur
    Гуглить в сторону FSM для своей библиотеки. Например, для telebot это bot.register_next_step_handler.
  • С чего начать путь в математике?

    shurshur
    @shurshur
    Speakermen, то есть речь не о программировании, а о Data Science? Ну тогда изучать придётся прежде всего основы. Алгебра/линейная алгебра (матрицы, метод Гаусса, определители итд), начала анализа (множества, функции, пределы, производные и интегралы, формула Тейлора) - условно программа первого курса математического вуза.
  • Как отправить сообщение в ТГ боте на python list'y пользователей?

    shurshur
    @shurshur
    Terbyn, предлагаю спросить у ChatGPT :)

    Ладно, подскажу: у Телеграм есть лимиты на скорость отправки, 30 в секунду, с возможным кратковременным burst на 150. Как только скорость превышена - скрипт упадёт.
  • Какие преимущества у docker?

    shurshur
    @shurshur
    Что значит "преимущества"? Сравнивать докер с виртуалками это как сравнивать лыжи с автомобилем. Да, и то и другое позвляет быстрее передвигаться, но это в принципе несравнимые вещи, предназначенные для разных задач с разной целью.

    Виртуалки делают для долговременного существования, это именно виртуальные сервера. В то же время docker - это инструмент и сопутствующий инструментарий для запуска приложений. Это просто разные вещи для разных целей.

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