• Как "помечать" объекты, красиво ли добавлять свои атрибуты в чужие объекты?

    Vindicar
    @Vindicar
    RTFM!
    Я бы заставил verify_chain() возвращать список объектов-сертификатов, не прошедших проверку (ну и переименовал бы её соответственно, типа find_broken_certs()). Так как это ссылки на существующие объекты, объём памяти будет затрачен минимальный. Проверить, есть ли в списке хоть один сертификат - тривиально. А если хочется подробностей - вот он список, читай.
    Ответ написан
    Комментировать
  • Напомните библиотеку/технологию чтобы переводить хеши в мнемоничный человекозапоминаемый вид (что-то вроде "бла-бла-кода")?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    А вы пробовали искать на гитхабе или в гугле прежде чем сюда приходить? Ну вот например https://pypi.org/project/xkcdpass/
    Обычно делается алгоритм, который составляет грамматически верное предложение из рандомных слов. Слова берутся из словаря, где они определены по частям речи. Входной хеш используется в качестве сида для фиксированного алгоритма генерации псевдослучайных последовательностей. Этот алгоритм на базе сида выбирает по очереди слова для шаблона из словаря. Что может быть проще?
    Ответ написан
    1 комментарий
  • Напомните библиотеку/технологию чтобы переводить хеши в мнемоничный человекозапоминаемый вид (что-то вроде "бла-бла-кода")?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Случаем не BIP39 ? - https://bip39.net/

    Для питона это пакет mnemonic (реализует эту спеку) - https://pypi.org/project/mnemonic/
    Ответ написан
    Комментировать
  • Существует ли аналог left join в redis?

    @deliro
    Как сказали уже, джойнов нет и не будет. Но во-первых есть пайплайны, которыми можно сильно снизить издержки на RTT, во-вторых есть lua scripting, так что можно вызвать одну функцию на стороне клиента, "сджойнить" через луа на сервере редиса и отдать ответ какой ты хочешь

    Но вообще звучит как Проблема XY. Либо редис там не нужен вовсе
    Ответ написан
    Комментировать
  • Как вызвать функцию, название которой записано в переменной?

    Vindicar
    @Vindicar
    RTFM!
    Правильное решение - иметь словарь функций.
    funcs = {
        'test': test
    }
    
    cmd = input('Введите команду: ')
    func = funcs.get(cmd, None)
    if func is None:
        print(f'неизвеcтная команда {cmd}')
    else:
        try:
            result = func()
        except Exception as err:
            print("Ошибка:", err)
        else:
            print("Результат:", result)
    Ответ написан
    1 комментарий
  • Что лучше, FreeXYZ.com или Free-XYZ.com (слитно или через черточку)?

    pro100taa
    @pro100taa
    Есть не слишком популярная технология-продукт-услуга, условно обозначим ее XYZ. Есть мысль сделать сайт, предоставляющий ее бесплатно (целиком или freemium). На удивление, оба домена свободны. Какой выбрать, какой скорее всего будет лучше?


    Если абстрагироваться от seo, то смотрите то, что легче запоминается потенциальным юзерам вашего сайта. Можете небольшой фокус групп провести.

    Вроде как есть популярный миф, что ключевые слова в домене не учитываются, но:


    Действительно, это миф. Исследования того же Ашманова (его лаборатории) показывают, что ключевая фраза в домене может иметь важное значение. Это хороший фактор чтобы пободаться с старыми сайтами в конкурентных нишах.

    То что в SEO было правдой 10 лет назад, сегодня могло измениться
    Оно изначально могло быть не совсем правдой (если нет возможности технической проверки)


    Да

    Если для Google это в самом деле верно, верно ли это для Яндекса и других поисковиков?


    Верно.

    Если поисковикам это пофиг, то как удобнее-приятнее кожаным мешкаам


    Если вы считаете что поисковикам пофиг, то выбирайте то, которое легче воспринимается и запоминается.
    Ответ написан
    2 комментария
  • Что лучше, FreeXYZ.com или Free-XYZ.com (слитно или через черточку)?

    @rPman
    Бери оба, если путаешься с выбором ты, люди, вбивающие адрес по памяти (таких мало но они есть) будут так же ошибаться, не возьмешь ты, возьмет твой конкурент.

    Само собой на один адрес настрой редирект, кстати рекомендую не прозрачно редиректить, а на страничку где большими буквами написано, наш адрес такой то ;) и собирай статистику
    Ответ написан
    Комментировать
  • Что лучше, FreeXYZ.com или Free-XYZ.com (слитно или через черточку)?

    @Refguser
    Решения для бизнеса: от создания ИМ до...
    Нет ничего вернее, чем обратиться к документации

    Рекомендуется использовать в URL дефисы (-)
    Не рекомендуется объединять слова в URL


    Но важно понимать, что в документации речь идёт не конкретно о доменах, а в общем о построении url. И хотя частью url является и домен, но при выборе оного ориентироваться на это - последнее дело. Домен - это то, что видят и запоминают люди. И это намного важнее всего остального.
    Ответ написан
    Комментировать
  • Как сделать сервер VDS прокси сервером для домена?

    @Drno
    Удалить ненужную фастпанель и настроить nginx proxy pass
    Сертификаты незабудь для всех доменов получить
    Ответ написан
    Комментировать
  • Есть ли здесь реальная reflected XSS или это false positive (безопасно ли включать URL запроса в код страницы)?

    На практике в современных браузерах этот вектор в XSS не эксплуатируется из-за URI энкода. Последними популярными браузерами где этот вектор был эксплуатируем были IE 6/7, они не URI-енкодили GET-параметры при редиректе. Однако вставка URI без HTML-енкода в любом случае является ошибкой, даже если не приводит к XSS, например по стандарту должен HTML-енкодиться символ &, который может присутствовать в урлах.
    Ответ написан
    2 комментария
  • Как сайт понимает, что я был на нём, если я запретил сохранять cookie, а также удалил все данные с него?

    @rPman
    В общем случае есть механизмы, как совокупность всей доступной информации о пользователе в браузере, начиная с таки простых как ip адрес и заканчивая сбором комбинации установленного софта на машине, шрифтов, железа (память, процессор и диск на основе бенчмарков, gpu напрямую запрашивая параметры ускорителя) и багов, в том же pdf просмотрщике...

    Пример - например используя кеш (можно определить по скорости ответа закешированы ли данные или нет) даже включившего прокси выявить (сейчас в приватном режиме кеш тоже чистится, но вроде бы как то через favicon до этой информации добираются)

    https://habr.com/ru/articles/357238/
    https://habr.com/ru/companies/oleg-bunin/articles/...
    и прочее, что гуглится сразу - browser fingerprinting
    Ответ написан
    Комментировать
  • Как внешне открыть файл с помощью python?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    есть ли в python функция, для открытия файла? (open не подойдёт)


    Суть в том, чтобы открывать файл нажатием на него, а не выбором в приложении.


    А какое отношение к этому имеет сам питон? Это вопрос к интерфейсу операционной системы, как в ней зареганы ассоциации.
    Если вам нужно, чтобы конкретный скрипт на питоне открывал конкретные файлы, зарегайте ассоциацию с параметром и в скрипте открывайте файл, переданный параметром.

    Но ваш вопрос звучит таким образом, что я подозреваю смысла предыдущего абзац вы не поймете...
    Ответ написан
    Комментировать
  • Как "навесить" капчу на готовый сайт (anti-ddos, apache2/nginx)?

    Noizefan
    @Noizefan
    Есть oneliner (ну почти): в нгинксе запретить доступ без куки, и у кого ее нет - отправлять на капчу которая ее повесит
    Минус - живые люди тоже должны будут один раз пройти
    Ответ написан
    4 комментария
  • Как "навесить" капчу на готовый сайт (anti-ddos, apache2/nginx)?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Капча ведь от полноценного DDoS-а не поможет. Если будет настоящий DDoS с 100500+ запросами в секунду - просто замучаетесь генерировать/отправлять эту капчу, с нулевым результатом, клиенты так и будут её без остановки запрашивать...

    Самое простое - в самих скриптах проверять валидность данных. Например аргумент zGzn1=Ar4lt1aB у вас где-нибудь существует/используется? Нет? Ну и баньте запрашивающего сразу, не через iptables - так через отдельный файл, скидывать туда все блокированные IP-шки.

    Можно сделать a-la Captcha, статичную страничку, на которую будут редиректиться все непроверенные запросы, и там JS-форма с кнопкой(ами), и надо щелкнуть определённую, и тогда будет нужный cookie/аргумент, и полный доступ к сайту... Но атакующие могут тоже адаптироваться, надо учитывать.

    Да, CORS поможет, потому что браузер сначала HTTP OPTIONS запросом узнаёт разрешения https сайта - а уже потом ломится за содержимым. Но тут зависит от механизма, действительно ли атакующие браузеры делают запрос с какой-то злонамеренной страницы? Если бы страница была - она отображалась бы в Referer... А тут больше похоже на вредоносный браузерный плагин, а не на ссылку с какой-то страницы, и CORS просто не сработает.

    По-моему так!
    Ответ написан
    3 комментария
  • Откуда в Google search console появились страницы без слеша и как их убрать (как получить 0 не-индексированных страниц)?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    проще всего и опаснее всего - роботс

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

    ну и банальный простой редирект по кривизне тоже может быть - смотрите логи за пару часов до - куда бот ходит
    Ответ написан
    5 комментариев
  • Имеет ли смысл хранить refresh-токены?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Refresh-токены хранят для проверки на повторное использование. При первом использовании ставится пометка, при попытке повторного использования блокируются все refresh-токены пользователя. При следующем обновлении с любого клиента данного пользователя потребуется полная аутентификация. Можно хранить не весь токен, а только uid токена и id пользователя.
    Ответ написан
    Комментировать
  • Как переубедить нейросеть (чтобы данные из промпта считались более важными)?

    @rPman
    С LLM у тебя только два варианта - добавлять информацию в запрос, а в случае с противоречиями, тюнить и усложнять подводку, типа если ты хочешь чтобы везде где сетка использует цвет красный она говорила
    бибип:
    Дальше в ответе вместо цвета - 'красный' ты должен писать бибип, с учетом правил русского языка, рода и склонения. Назови три цвета у светофора

    Три цвета у светофора: бибип, желтый и зеленый.



    Так вот тюнинг, очень противоричивая технология, в каких то случаях она значительно улучшает результат, есть даже ускоренный тюнинг, затрагивающий очень небольшой процент весов или даже только веса векторов запроса но не самой сетки (есть открытый проект peft с поддержкой практически всех доступных моделей), к сожалению openai не дает красивого доступа к этому, хотя для младших моделей типа gpt35turbo или davinci у нее такой механизм есть.

    Этот механизм имеет недостатки, из-за проблемы 'катастрофического забывания', чем больше данных ты пытаешься добавить в модель через дообучение, тем больше она забывает ранее выученных (с этим борются подмешиванием данных из изначальной обучающей выборки но это не так просто)
    Ответ написан
    Комментировать
  • В чем отличие ngnix от golang?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    На самом деле эта путаница по-человечески очень понятна и объяснима.
    Вы, как фронтендер, воспринимаете "веб-сервер" как такой черный ящик, "то место, откуда фронт запрашивает данные".

    В то время как этот термин может означать несколько разных понятий.
    1. Веб-сервер в вашем, широком понимании. Бэкенд целиком.
    2. Также веб-сервером может называться и сам компьютер, на котором все это крутится.
    3. В более узком смысле - это программа, которая принимает НТТР запросы. Вот это nginx и есть. Но сам по себе, без помощи других программ, он не может полностью представлять услуги веб-сервера. Например, в нем нет базы данных. Это, скорее, как правильно написали в соседнем ответе - такой прокси-сервер, который частично обрабатывает запросы сам (например к статическим файлам), а частично - проксирует запросы на другие программы.

    И вот на Го (или РНР, Питоне, JS, C#) как раз и пишется эта программа, которая, к примеру, обращается в БД, получает нужные данные и отдает их Nginx-у, который уже и возвращает их клиенту
    Ответ написан
    14 комментариев
  • Как зациклить это действие?

    Vindicar
    @Vindicar
    RTFM!
    Цикл while?
    Не, серьёзно. Это основы языка. Открой учебник и читай.
    Ответ написан
    Комментировать
  • Какие могут быть полезные или интересные применения для демо-сайта с ChatGPT?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    - Формировать интересный маршрут для прогулки по городу согласно вектору интересов пользователя. Нейросеть фильтрует POI из картографических сервисов, формирует план прогулки, формулирует интересные факты про локальные интересности. Фильтрация PoI, построение маршрута, создание описания маршрута, TTS с аудиогидом по маршруту.
    - вытаскивание из новостей в новостных лентах информации о топонимах, красивая визуализация происходящего в таймлайне с отображением на карте.
    - Короткая выжимка из типичных статей в Дзене, где о простых вещах запрягают такую телегу, что читать устанешь. Только факты и тезисы.
    - Попытка создать мыслительный процесс. Поток внешней информации обрабатывается отдельными запросами к нейросети для сжатия и выделения самого главного. Самое главное собирается в наборы и отдаётся нейросети для формирования выводов и личных размышлений на счет. предложенного. Результат обрабатывается нейросетью для выделения самого важного и сокращения объёма, а потом подмешивается на вход в следующей итерации.
    Получаем большой контекст, который будет инициализировать уже простые небольшие вопросы к нейросети. Получится эдакий "мыслящий мудрец" с некоторой даже имитацией памяти. Мыслить он будет не шибко быстро, но это и не сильно надо. Для интереса можно визуализировать "мысли", которые приходят в голову этому мудрецу. Эти мысли можно фильтровать отдельными запросами к нейросети для определения их соответствия критериям интересности.
    Таких сжатых контекстов можно держать сразу несколько, резюмировать их по отдельности, сливать результаты, снова резюмировать и отправлять снова на вход тому или иному контексту.
    Ответ написан
    2 комментария