Задать вопрос
  • Как правильно сформулировать индексы?

    onegreyonewhite
    @onegreyonewhite Автор вопроса
    Методом подбора и внимательного исследования стаковерфлоу, получилось что-то вроде такого:
    1. Нужно в миграцию добавить
      django.contrib.postgres.operations.TrigramExtension()

    2. Нужно для каждого поля создать индекс (на примере name)
      django.contrib.postgres.indexes.GinIndex(django.contrib.postgres.indexes.GinIndex(django.contrib.postgres.indexes.OpClass(Upper('name'), name='gin_trgm_ops')))



    Это капец как неочевидно, но для поиска по icontains работает именно так. Сорян, что потревожил сообщество.
    Ответ написан
    Комментировать
  • Существует ли приложение для управления дистрибутивами linux на подобие WinBox у Mikrotik?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Когда Вы сможете также унифицировать размещение параметров, как это сделано в микротике - тогда непременно напишете свой winbox для линуха.

    WinBox забирает из микротика готовые счетчики/бинарные параметры/строки/еще черт-знает-что и интерпретирует это в своей оболочке. Каким образо Вы собираетесь например управлять пакетами, когда одних только форматов пакетов существует столько, что нужно лезть в гугл, чтобы хотя бы перечислить их? (Да - внезапно - мир не ограничивается бубунтой!)
    Из всего этого разве только файловый менеджер и контроль производительности могут быть более-менее унифицированы.
    Существуют веб-морды управления - webmin, cockpit - но они требуют предварительного развертывания на сервере.
    Кроме того, возникнет проблема коммуникации с сервером.
    Ответ написан
    3 комментария
  • Где украли деньги?

    @aleks-th
    - симка для аккаунта телеграмма куплена с рук (уже была верифицирована);
    и все ваши пароли и прочее известны всем кто имел ранее доступ данной симке
    Ответ написан
    2 комментария
  • Где украли деньги?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    //COPY01 EXEC PGM=IEBGENER
    Я ставлю на симку. Один только опсос знает, сколько у этой симки было владельцев и сколько человек знает ее текущий пин. А если это номер из корпоративного пула - то контора, которой он принадлежит - сохраняет некоторые средства управления даже если симка физически недоступна.
    Ответ написан
    Комментировать
  • Как создавать свои форматы файлов для криптографии?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Существуют стандартные файловые форматы для хранения ЭЦП ключей. Для RSA, PGP и прочее.
    Это текстовые файлы оформленные соотв образом и хранящие внутри себя закодированный
    в Base64 ключ. Это то что касается публичной части криптографии там где важно оповестить
    как можно больше респонентов и где нужна открытость. Я также видел аналогичные XML-форматы
    в эпоху SOAP. Но они как-то не особо популярны. Они скорее часть SOAP чем криптографии.

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

    Что еще. Для этой-же симметрички может быть полезен padding. Это специальное оформление
    последнего блока шифро-текста. Чтоб подбить вариативный размер файла под размер кратный
    блоку. Например если вы решили шифровать через AES-256 то вам нужен блок в 256 бит
    и алгоритм паддинга для хвостового блока. Padding известен и его методы описаны в wiki.
    Берите перебирайте. Который совпадет - тот и ваш. Вот. Паддинг - это не файловый формат
    а просто инженерный трюк чтоб уйти от блоков или прийти к блокам.
    Ответ написан
    1 комментарий
  • Какую базу данных выбрать для поисковой системы?

    @rPman
    Все зависит от планируемых размеров (пределы) базы данных, т.е. количества данных, которые необходимо индексировать. Если нужно считанные десятки тысяч сайтов отслеживать, хватит абсолютно любой sql базы данных, миллионы страниц и fulltext индексы хоть postgres хоть mysql хоть самописные на файлах (пока индексы влезают в оперативную память).

    Проблемы начинаются когда индексы не влезают в оперативную память, когда база данных расползается по кластеру или когда скоростей интернет провайдера уже не хватает для прохода обновления базы поисковой системы и данные в поиске становятся неактуальными. Начиная с какого то (большого) объема данных, простого поиска по ключевым словам уже будет недостаточно. А чего стоят алгоритмы ранжирования (сортировки результата), ведь на любой запрос у тебя будет больше чем десяток страниц результатов. Потом борьба с сеошниками, фейковыми зонами интернета (когда сайты генерируют терабайты мусорных данных, и узнаешь ты про них когда место на диске кончится или процент их содержания в индексе превысит половину), интеллектуальная интерпретация данных (с этого в принципе нужно начинать, когда страница должна восприниматься не как просто текстовый документ, а набор информационных зон, их важность (реклама, навигация или статья), разделение (несколько статей на странице), проблема динамического интернета (благодаря 15-летним инструкциям люди до сих пор делают сайты в виде ленты с постраничной навигацией с конца, когда 10-ая страница уже завтра будет показывать не те статьи что были вчера) и вообще javascript в частности и тьма тьмущая других проблем.

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

    @rPman
    yt-dlp -f xxx https://yyy --get-url
    полученную ссылку читаешь только заголовки
    curl -L -I http://zzzz | grep Last-Modified:
    там будет несколько редиректов, дата последнего скорее всего искомая
    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
      0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
      0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
      0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
      0 3545k    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
    Last-Modified: Wed, 02 May 2007 10:26:10 GMT
    Last-Modified: Wed, 02 May 2007 10:26:10 GMT
    Last-Modified: Wed, 02 May 2007 10:26:10 GMT
    Last-Modified: Fri, 03 Feb 2023 04:08:16 GMT

    как минимум для разных форматов она разная
    Ответ написан
    2 комментария
  • Можно ли TCP ускорить при помощи TCP via UDP tunnel?

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

    Завернув TCP в какой-то туннель, оставив тот же маршрут, или даже удлинив его - ты только увеличишь пинг.

    есть какой-то TCP Fast Open но как его задействовать для туннеля\iptables?

    Никак. TCP Fast open должен быть поддержан на уровне приложения. Если сервер не готов к tcp fast open, то в любом случае придётся в какой-то точке обойтись без него.

    Есть методы уменьшения пинга у TCP?

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

    Тогда мы можем попробовать найти такой узел C, до которого у твоего провайдера будет оптимальный маршрут, и из этого узла C в B будет тоже более оптимальный маршрут, чем из A в B.

    Но это достаточно редкая ситуация (мне кажется), тк должно совпасть несколько вещей:
    1. Крайне неэффективный маршрут из A в B (на самом деле не редкая вещь. Например есть Ростелеком, который пакеты из Москвы в Европу шлёт через Азию)
    2. Должен быть такой узел C, который находится в таком ДЦ, у которого есть прямое подключение к твоему провайдеру и прямое подключение к провайдеру, у которого есть маршрут в B (на самом деле тоже не редкость, тк у многих хороших ДЦ есть как минимум два подключения к разным магистральным провайдерам)
    3. Выигрыш от добавления узла C должен превышать оверхед от использования туннелей.

    PS: повторюсь, что если у тебя и так уже оптимальный маршрут, то добавление любых туннелей только увеличит пинг.
    Ответ написан
    Комментировать
  • Какой курс по тестированию ПО будет лучшим для человека, который учится с нуля?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    В данном вопросе много лишних слов, это:
    1) бесплатный;
    2) видеокурс;
    3) с полного нуля
    4) ...

    Для начала рекомендую скачать книгу по поиску информации в Google.
    Какой курс по тестированию ПО
    Ответ написан
    Комментировать
  • Запуск в Wine сервера с СУБД и приложения на одной машине, как?

    Подобные вещи лучше запускать в нормальной виртуалке, а не в wine.
    Вопрос Если по умолчанию приложение к серверу обращается по IP то как их соединить?

    Попробуй 127.0.0.1 указать, если в wine оно таки запустится.
    Ответ написан
    Комментировать
  • Много скачиваний с одного ip-адресса?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    Это очередные инфоцыгане, которые в реальные данные подмешивают компромат.
    Ответ написан
    Комментировать
  • Есть ли программы для поиска недостающих файлов (фотографий) при сравнении разных папок с похожим содержанием?

    hint000
    @hint000
    у админа три руки
    FAR manager или, на худой конец, Total Commander.
    В обоих есть функция сравнения папок.
    Процесс выглядит примерно так:
    1. выбираете на левой панели одну папку, на правой панели другую папку, запускаете сравнение;
    2. если обнаружены отличия, то заходите внутрь отличающихся папок слева и справа и повторяете сравнение и т.д., пока не увидите конкретные отличающиеся файлы или с одной стороны файл, а с другой стороны его отсутствие;
    3. после всех ручных синхронизаций делаете контрольное сравнение.

    Ещё можно использовать утилиты для автоматической синхронизации указанных папок - RSync, Robocopy, SyncThing и т.п. Но не предложил именно их в первую очередь из уважения к паранойе на тему утраты файлов (а то при неправильной настройке можно и не в ту сторону синхронизировать). Если вручную синхронизировать спокойнее, то FAR или TC, а когда вручную надоест, тогда уж можно автоматизировать.
    Ответ написан
    1 комментарий
  • Почему qBitTorrent 4.5.0 не соединяется с uTorrent 2.2.1?

    ValdikSS
    @ValdikSS
    Если ProcessExplorer'ом посмотреть соединения программы qBitTorrent - клиент даже не пытается соединиться по нужному адресу.

    Возможно, у вас включён IP Filtering (Preferences → Connection) и в фильтре есть диапазон этого сида?
    Ответ написан
    Комментировать
  • Как создать язык программирования?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Как создать свой язык программирования?

    Точно так же, как и любую другую программу: сначала спроектировать, а потом реализовать.

    Без другого языка программирования! Полностью с нуля.

    В самом низу находится машинный код. Выглядит примерно вот так:
    08 04 83 fa 08 04 83 fb 08 04 83 fd 08 04 84 00
    У каждого процессора есть свой набор инструкций, которые кодируются машинным кодом. Открываем справочник и пишем нужный код для нужной ОС/железа. Ничего сложного, правда же? =)

    Ведь как-то создали первый ЯП.

    Достаточно почитать историю появления первых ЭВМ. Они представляли из себя набор переключателей отдельных битов, которые позже эволюционировали в перфокарты, которые в свою очередь представляли из себя прообраз современных исполняемых файлов. С увеличением количества доступных команд, усложнением техники и появлением накопителей программы так же становились все сложнее и сложнее: поэтому решили упростить запись и придумали первый ассемблер. Дальнейшее развитие привело к появлению первого ЯП высокого уровня и далее более высокие уровни абстракции, используя которые сегодня пишутся все программы.

    Так что в вашем случае вам надо пройти весь этот путь самостоятельно. Примерно так:
    1. На машинном коде реализовать минимальный ассемблер
    2. Используя свой минимальный ассемблер реализовать простейший компилятор этого ассемблера
    3. Расширить компилятор ассемблера до стандартного набора инструкций
    4. На ассемблере реализовать транслятор и компилятор ЯП высокого уровня
    5. Реализовать необходимый набор инструкций для написания компилятора этого же ЯП
    6. Написать этот самый компилятор своего ЯП на нём же и далее уже скомпилировать первую самостоятельную версию своего ЯП без использования других ЯП
    Ответ написан
    3 комментария
  • Как можно считывать все запросы отправленные в базу данных с момента её создания?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    А как получить ежедневные подробные фотографии строительства дома, в котором вы живёте? Ведь если его строили, и фото можно было делать - значит фото есть!

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

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    1) Грузимся с AdminPE
    2) Чистим раздел от мусора и файлов подкачки.
    3) AOMEI - уменьшаем раздел, можно с запасом, и подвигаем остальные.
    4) Переносим весь диск (со всеми разделами) на новый в Image For Windows.
    5) Грузим систему с другого диска, в диспетчере дисков растягиваем.
    6) Если переходим с HDD на SSD - ОБЯЗАТЕЛЬНО:
    - убеждаемся, что у нас не режим IDE на SATA, а именно AHCI,
    - в командной строке даем команду winsat disk, чтоб система поняла, что это ДРУГОЕ (иначе очень скоро начнутся тормоза и довольно быстро диск сдохнет).

    НИ В КОЕМ СЛУЧАЕ НЕ СТАРТУЙТЕ СИСТЕМУ, если в ней подключен и КЛОН и прежний диск одновременно. Сперва убедитесь, что клон заработал, отключите, верните старый, сделайте ему в diskpart полную очистку.
    Ответ написан
    Комментировать
  • В каком порядке изучать Java?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    В том же, в каком и в 2022-м.
    Ответ написан
    1 комментарий
  • Как добить проект?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    90% проектов загибаются и умирают и это абсолютно нормально. Надо быть смелым, чтобы посмотреть правде в глаза и закрыть проект.
    Запускай ещё 10 проектов, 9 из которых тоже умрут, но один сможет выстрелить. Пока не закроешь этот, то до десятого не доберёшься
    Ответ написан
    Комментировать
  • Есть ли какие-то сервисы или форумы, куда можно выложить свой код, чтобы его могли оценить и оптимизировать другие люди?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    В теории можно было бы и сюда, но хотя тег и есть, но сами модераторы признают, что модерируют его как бог на душу положит - то пропускают вопросы, то удаляют.

    На английском есть специализированный сайт codereview@stackexchange, при наличии языка это идеальный вариант.

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

    Самый надёжный способ получить code-review, это завести два аккаунта. С одного задать вопрос, "как сделать то-то", а с другого - запостить код, который это делает. И тут же набегут советчики, рассказать, что в этом коде неправильно.
    Ответ написан
    2 комментария
  • Где можно собрать команду для разработки игры?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Организуйте движение в тюрьме или ИТУ.
    Времени там целая куча, ЗК реально страдают фигней. На выходе будут иметь проффессию и какой то статус.
    Начать можно с подачи запроса вашему депутату, он примет ваше предложение и возможно оно пройдет
    Ответ написан
    Комментировать