Задать вопрос
  • Проверка четного числа (четное/нечетное)?

    Vindicar
    @Vindicar
    RTFM!
    Если вопрос именно "как работает данная строка", то ответ простой.
    В десятичной системе круглые числа (т.е. кончающиеся нулём) - те, которые делятся на 10.
    В двоичной системе круглые числа - те, которые делятся на 2.
    Значит, если запись числа в двоичной системе заканчивается нулём, оно делится на 2, т.е. оно чётное.

    А если вопрос "стоит ли так делать", то ответ тоже простой.
    Однозначно нет.
    Ответ написан
    Комментировать
  • Почему datetime отматывает время на 3 часа назад?

    @HXNDY
    если вы запускаете на сервере, то посмотрите в каком городе он стоит(к примеру если Екатеринбург, то время будет показывать МСК+2.

    Если вам нужно время определенного региона/города, то используйте datetime.timezone
    Ответ написан
    Комментировать
  • Хочу узнать про процессор?

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

    отнеси в нормальный сервис, который проведет адекватную диагностику, стоимость этого будет рублей 200 в худшем случае (обычно бесплатно)

    p.s. отнеси все, и материнку и процессор, лучше весь компьютер
    Ответ написан
    1 комментарий
  • Как адресуются пакеты адресату с серым ip?

    @rPman
    Да что же за отвечающие такие, все кто говорит никак - не правы, может хоть немного думать будете прежде чем в заблуждение народ вводить.

    Серый ip, это значит машина выделенный ip адрес в сети Интернет не имеет, а для выхода в интернет использует одну из доступных технологий, обычно либо NAT либо proxy (http/socks/web)

    При использовании прокси вариантов тупо нет, но вот при использовании NAT, если на роутере, его предоставляющем включена нужная технология либо настроено вручную перенаправление, можно! Называется эта технология UPnP.

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

    При правильной настройке роутера, нормальная работа сервисов внутри локальной сети с доступом из Интернета, возможна, даже если ip адрес в догонку к проблеме nat, еще и динамический (технология называется dyndns)

    p.s. есть еще ipv6 (в частности 6to4), в отличии от nat или прокси (или vpn, которая превращает ситуацию в ту же локальную сеть), при наличии поддержки провайдером (точнее не блокировании этой технологии) и роутера, позволяет выделить машинам внутри локальной сети прямые ipv6 адреса, доступные из сети Интернет, но только по этому протоколу.
    Ответ написан
    2 комментария
  • Как перенаправить tcp/udp трафик с доменов с одинаковым айпи?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Я вам подскажу: внутри TCP и UDP, если это не HTTP, нет имени домена. Вот совсем нет. Он используется в момент перевода доменного имени -> в IP-адрес, что бы потом создать коннект на этот IP-адрес. Он используется в HTTP-запросе, так исторически сложилось. Но в простом TCP и UDP его НЕТ, трафик приходит к вам БЕЗ доменного имени.

    Облом, желанное - не получится.
    Ответ написан
    5 комментариев
  • Как эффективно использовать HQL при запросах сущностей с множеством связей?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    У меня - сходу замечание по твоему стилю. Зачем ты переменную card переписываешь? Это сбивает с толку.
    List<Card> cards = .....
    
    cards = entityManager

    Нельзя одну переменную брать в двух ипостасях. Сэкономил в одном - проиграл в читаемости.

    Второе я думаю что эта задача прекрасно решается одним SQL-запросом. Так было в продуктовых системах с 2000х годов когда еще не было этих ваших ORM/Hibernate. И все нормально работало. Поэтому делай все одним запросом. Не думай о накладных расходах в базе. Мой опыт показывает что база - лучше справляется когда выбирает все данные сразу одним курсором (запросом).

    А игры с Lazy-Eager которые придумали в ORM решают проблемый самого ORM и ApplicationServer а базе они вобщем-то не нужны.

    Если ты собрался глубоко заняться оптимизацией - посмотри лекцию Алименкова особенно в части трассировки Hibernate запросов. Собери цифры. Сколько карточек на 1 акк в среднем? 1 или 10 или 1000? Сколько транзакций на акк? Это все влияет на смыслы оптимизаций.
    Ответ написан
    6 комментариев
  • Какой есть универсальный и надежный способ замены байт в файле?

    hint000
    @hint000
    у админа три руки
    Меня интересует способ решить проблему, используя только встроенные в систему (в основном речь идет о macOS) утилиты
    там есть dd?
    echo -ne "\x04\x05\x06" | dd of=filename bs=1 seek=`grep -aboP "\x01\x02\x03" filename | cut -d ":" -f 1 | head -c -1`

    Монструозненько получилось (неравный бой с выводом grep). :) Если заглянет xotkot, то придумает, как оптимизировать, у него чёрный пояс по таким вещам.
    Ответ написан
    Комментировать
  • Как работать с файлом SQL объемом 20 ГБ?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Вы выбрали плохой путь по ряду причин.
    Во-первых, вы пытаетесь вычитать весь 20гб файл в оперативную память. Это будет долго, отожрёт кучу свопа и не факт. что завршится успешно.
    Во-вторых, вы пытаетесь запустить весь SQL за один раз - это вы правильно поняли.ч то проблематично.
    Ну а в-третьих...
    В общем, следует глазами посмотреть в SQL и понять что там. Если там дамп БД, то сперва идут стейтменты для содания таблиц, индексов, хранимок, а потом уже операции вставки в эти таблицы.
    Ваш файл называется "часть 3", так что, возможно, часть нужных стейтментов для создания структур просто оказались в других фвйлах.
    Обычно кусок SQL, который создаст все таблицы, не так уж и велик по размеру. Можно открыть файлы с дампом текстовым редактором и вытащить оттуда куски SQL из начала с созданием структуры. Положить эти кусуи в отдельный файл. Иногда в SQL-файле с дампом лежит и команда создания базы, посмотрите внимательно.

    Когда у вас операции вставки данных в БД в отдельном огромном файле, всё тсановится чуточку проще.
    Если у вас задача одноразовая и нужно просто найти один номер и больше ничего, то можно просто воспользоваться командой grep на SQL файле. Она поищет нужный номер и покажет строчки, в которой он встретился. Параметры командной строки могут настроить выхлоп так, чтобы показывались несколько строчек. Это, возможно пригодится, если отдельные стейтменты со вставками занимают по много строк. Так можно быстро найти нужные данные не возясь с поднятием БД.

    Если задача более-менее систематическая, то, конечно, лучше выполнить SQL и занести все данные в БД. Для этого имеет смысл воспользоваться стандартными утилитами, а не городить такой вот велосипед с квадратными колёсами.
    Если описанные действия нужно проделывать в рамках какого-то более широкого автоматизированного процесса, а не одноразово руками, то можно тулзы для БД запускать и из питона, просто системным вызовом консольной команды.
    Ответ написан
    1 комментарий
  • Как подключить несколько дисплеев к девайсу?

    @artem-dainov
    Php, java, js. Boot spring, jquery, git
    А я где-то даже видел продается сплиттер для hdmi
    Ответ написан
    2 комментария
  • Запись, получение, хранение текстовой информации в Python, как реализовать?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Вам нужно многое понять и изучить прежде чем такая задача станет вам под силу. Судя по постановке вопроса вы очень далеки пока что от понимания основ алгоритмизации и структур данных.
    Конечно можно ставить любое уникальное значение любому объекту. Структура данных, которая это позволяет, называется map, а в питоне её реализует тип dict - это словарь, который ставит в соответствие любой объект любому уникальному другому объекту.
    Я уверен моего объяснения будет не достаточно вам. Почитайте любую книжку по питону с нуля, например, Марк Лутц пишет приемлемые.
    Ещё вам определенно понадобится какая-то БД, например sqlite, или что-то посерьёзнее, например postgres. Базы жанных - это тоже отдельный целый мир, но вам не нужно вних сильно углубляться, однако, одного вопроса, да и вообще вопросов будет недостаточно для нормального понимания.

    Я вам рекомендовал бы обратиться к фрилансерам за таким ботом, либо, если самому интересно, то читайте книжку по питону с нуля и там вам всё будет объяснено, что нужно для простого бота с вашей функциональностью.
    Ответ написан
    1 комментарий
  • Какую топологию сети выбрать для офиса?

    Alex_Geer
    @Alex_Geer
    System Engineer
    Однозначно топология звезда! По поводу маршрутизатора на вкус и цвет конечно, но если только для такого офиса как на картинке я бы взял по типу MikroTik RB2011. У него куча возможностей по настройкам включая поднятие на нём VPN сервера для удалённой работы сотрудников!

    P.S тут можно поставить и Keenetik, TpLink, Zyxel или Xiaomi за 2-3 тыс. руб, но скажется на отказоустойчивости и проблемках вытекающих из цены которые будут периодически вылезать и бесить.

    638ea74b7f56e319363914.jpeg
    Ответ написан
    4 комментария
  • Как проверить в JSON наличие определенного поля?

    Vindicar
    @Vindicar
    RTFM!
    Элементарная работа со списками и словарями. Азы языка.
    Парсишь строку JSON в объект (назовем его json_obj) через json.load() или json.loads(), смотря что удобнее.
    У тебя объект верхнего уровня - массив, т.е. список. Перебираешь его элементы циклом for item in json_obj.
    Объекты следующего уровня - просто объекты, т.е. словари. Если надо проверить именно наличие поля, безотносительно его значения, то просто 'slot' in item.
    Всё.
    Ответ написан
    2 комментария
  • Как поднять интерфейс в linux чтобы он был SOCKS5 proxy?

    @rPman
    curl -x socks5://socks_ip:socks_port http://your_server_address/your_big_file -o /dev/null

    выведет на экран (можнов файл ключ -O ) подробно информацию о размере скорости и т.п.

    your_server_address/your_big_file - ссылка на файл на веб сервере, до которого меряешь скорость
    Ответ написан
    2 комментария
  • "import" что можно сделать?

    Lord_of_Rings
    @Lord_of_Rings Куратор тега Python
    Дунадан - северный странник. Злой, но очень добрый
    Вы пытаетесь писать код прямо в cmd. Так нельзя. Прежде чем писать код запустите python, а потом уже и import пишите
    Ответ написан
    Комментировать
  • Как собрать u-boot?

    Redfern89
    @Redfern89 Автор вопроса
    Пишу код под МК AVR, начинающий сисадмин
    В общем решился вопрос.. На будущее, если кто-то еще такой-же отбитый на всю голову - вот решение, которое помогло мне:

    # Клонируем arm-trusted-firmware
    git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
    
    # Переходим в директорию
    cd trusted-firmware-a
    
    # Собираем (вот тут меня и ждали грабли, ибо сборка все время вылетала с ошибкой 
    # RWX permissions что-то там. Решилось тупым отключением предупреждений в секции LDFLAGS)
    make CROSS_COMPILE=aarch64-linux-gnu- PLAT=sun50i_a64 LDFLAGS=--no-warn-rwx-segments
    
    # Собираем u-boot по прежней схеме, но с указанием того самого BL31
    make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- orangepi_3_lts_defconfig
    make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- BL31=../trusted-firmware-a/build/sun50i_h6/release/bl31.bin
     -j6


    Вот после включения arm trusted firmware - все ожило! :))
    Ответ написан
    Комментировать
  • Выбор дистрибутива Linux под сервер?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Который лучше знаете (с)
    Ответ написан
    3 комментария
  • Какой микроконтроллер выбрать, чтобы отправить сигнал на пк/телефон?

    @pfg21
    ex-турист
    как еще один вариант предложу использовать вход CTS на ком-порте (или преобразователе USB-COM USB-UART), подавая +12 -12 вольт, получить можно также с выходов.
    его состояние можно считывать програмно и использовать как gpio на вход.
    Ответ написан
    3 комментария
  • Какой самый быстрый дистрибутив Linux для программирования?

    Adamos
    @Adamos
    Дистрибутив - не лагает. Может притормаживать DE, если в нем накручено свистоперделок, но в той же Убунте легко ставится другое DE - apt install xubuntu-desktop, например.
    Если же лагают конкретные инструменты - например, профессиональным IDE сейчас весьма по вкусу память, они в нее будут упираться вне зависимости от ОС вообще.

    И что бы ни восклицали адепты "просто купи нормальный" - например, для написания телеграм-ботов на Питоне этой конкретной машинки - за глаза. И для написания программок для десктопа она полезнее, чем ультраноутбуки мажоров - потому что покажет, где нужна оптимизация, чтобы программа не тормозила на обычной офисной машинке. А мощное железо - это, конечно, приятно, но уместно тогда, когда сам программист не тормозит хуже любого Целерона...
    Ответ написан
  • Какой самый быстрый дистрибутив Linux для программирования?

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

    Резюмируя, причины могут быть такие (именно в таком порядке):
    1. Ты используешь медленный диск. Например hdd, вместо ssd или nvme.
    2. Ты не установил драйвера, которые соответствуют твоей видеокарте. Вместо проприетарных используешь свободные или вообще программный рендер.
    3. Тот софт, который ты хочешь использовать, имеет более высокие требования для решаемых тобой задач.
    4. Ты выбрал слишком жрущий дистрибутив.

    В целом, для слабых компьютеров рекомендуется брать дистрибутивы на основе окружений xfce или lxqt.
    Я бы выбирал между Xubuntu и Manjaro+xfce
    Ответ написан
    Комментировать