• Словарь или БД?

    work_jabir
    @work_jabir
    Месяца полтора до джуна.
    Используйте redis.
    Ответ написан
    Комментировать
  • Где найти материалы по обнаружению патологии в мед.изображении на языке C#?

    @mayton2019
    Bigdata Engineer
    Задача распознавания образов (а именно так звучит на самом деле постановка) имеет очень мало отношения к C#.
    Я-бы советовал автору вообще забыть про C# а искать сверточные (convolution) нейронные сети которые ищут в картинках нечто знакомое на любых (на всех языках разработки). Когда стоит такая амбициозная задача - то нужно вообще забыть про язык и мыслить категориями математики и известрых алгоритмов НС.

    Задача сразу скажу - сложная. И на 99% - кастомизируемая. Тоесть вы не найдете готовых шаблонов или походов к решению. Вы будете почти все делать самостоятельно. Особенно в части обучающей выборки и методики обучения. И в части выбора качества модели.

    С высокой вероятностью вы найдете примеры похожих решений на Python/OpenCV.- Ваша задача будет заключаться в поиске полезного что можно почерпнуть из готового метода. И уже потом адаптировать под C# что можно из этого стека. Но опять-же ... C# здесь совершенно вторичен.
    Ответ написан
    1 комментарий
  • Проверка четного числа (четное/нечетное)?

    @igor6130
    А причем здесь двоичный код?

    Числа на четность проверяются по-другому:
    if num % 2 == 0:
        ...


    Плюс, если вы идете по рэнжу, то это просто все числа с двойки с шагом 2.
    Ответ написан
    Комментировать
  • Проверка четного числа (четное/нечетное)?

    Vindicar
    @Vindicar
    Если вопрос именно "как работает данная строка", то ответ простой.
    В десятичной системе круглые числа (т.е. кончающиеся нулём) - те, которые делятся на 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 комментария
  • Как задать собственные порты в linux?

    @AlexVWill
    Повышает ли безопасность дырка замочной скважины не слева посредине двери, а справа - снизу,? Наверное да, т.к. в нее труднее будет с пьяну в темноте ключом попасть. Но не сильно. Безопасность больше зависит от конфигурации ключа, замка, количества замков. Ну и от того, захочет ли вообще кто-то вломится в дверь.
    Можно вообще все порты оставить открытыми, кстати, если их никто не слушает на стороне сервера - то считай что они и так закрыты. Больше зависит от того, как защищены серверные службы, например ssh вход должен быть по ключу + пароль, не должно стоять каких то служб, которые предлагают вход без авторизации по сложному паролю, должен стоять fail2ban от брутфорса и пр.
    Ответ написан
    Комментировать
  • Как перенаправить tcp/udp трафик с доменов с одинаковым айпи?

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

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

    @mayton2019
    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 комментарий
  • Как подключить несколько дисплеев к девайсу?

    @grek_cheburek
    Программист самоучка
    А я где-то даже видел продается сплиттер для hdmi
    Ответ написан
    2 комментария
  • Запись, получение, хранение текстовой информации в Python, как реализовать?

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

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

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

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

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

    Vindicar
    @Vindicar
    Элементарная работа со списками и словарями. Азы языка.
    Парсишь строку 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 developer
    Вы пытаетесь писать код прямо в 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 - все ожило! :))
    Ответ написан
    Комментировать