Задать вопрос
  • Как спарсить данные с TrandingView?

    @rPman
    Данные там лежат в огромном json прямо встроенном в саму страницу, которая грузится без каких либо особенностей, тупо wget-ом, очень странное решение но
    <script type="application/prs.init-data+json">{"FYBZHq":{"context":{"request_context":{"user":{"is_authenticated":true,"is_...}}</script>
    пример FYBZHq►data►news►data►items►0►
    id	:	prime:0273264f867b8:0
    title	:	Результаты торгов акциями в секторе основных торгов Московской биржи
    storyPath	:	/news/prime:0273264f867b8:0/
    sourceLogoId	:	prime
    published	:	1701792002
    source	:	ПРАЙМ
    urgency	:	2
    permission	:	headline
    provider	:	prime
    Ответ написан
    Комментировать
  • Какой дистрибутив linux выбрать для мегатормозного ноута?

    @Vlad_hex
    Arch + Openbox. Я ставил на допотопный компьютер с 512мб оперативной памяти. Все работало в том числе и приложения виндовые Wine. На старте потребляло какие то крохи оперативной памяти и был потенциал для еще большей оптимизации. Но это путь не для слабых духом нужно много курить манов в том числе и на английском ну и сам Arch не для совсем новичков и способен подкинуть проблем.
    Ответ написан
    2 комментария
  • Какой и где взять дистрибутив Linux под старый ноутбук?

    Adamos
    @Adamos
    но знаю

    "Но слышал", obvious fix.
    Памяти современному браузеру мало. Если там еще и винт HDD на 5400 оборотов - без смены его на SSD ни о каком комфорте даже заикаться не стоит.
    По-хорошему, на этот ноут стоит ставить современный ему дистрибутив. Xubuntu 12.04, например.
    Но в нем, разумеется, не будет "современного" браузера, будет Firefox образца 2015 года.
    Можно попробовать что-нибудь легковесное из современного и легкий же браузер - Midori, например.
    Но вам в таком минимализме, к гадалке не ходи, "комфортно" не будет ;)
    Ответ написан
    Комментировать
  • Почему браузеры и curl дают разные результаты?

    ValdikSS
    @ValdikSS
    На сайте используется TLS Fingerprint (вероятно, JA3) как один из индикаторов сессии в системе перед веб-сервером, вероятно, это анти-DDoS.
    Так как браузер и curl используют разные SSL-библиотеки и передают разные наборы шифров, сервер предлагает вам пройти challenge.
    Ответ написан
    5 комментариев
  • Как нарисовать картинку имея координаты точек?

    Maksim_64
    @Maksim_64
    Data Analyst
    Все очень просто, используй matplotlib, pandas и seaborn. Возможности не ограниченные.
    сначала читаем это дело в pandas фрейм и затем рисуем scatterplot. Можно их соеденить сделать их разного размера создать любую палитру цветов, да все что угодно
    import pandas as pd
    import matplotlib.pyplot as plt
    import seaborn as sns
    df = pd.read_csv('data.csv',sep=';')
    sns.scatterplot(df, x='x',y='y',hue='c')
    plt.show()

    Вот простенький пример где data.csv это твои данные. Открывай доки как seaborn так и matplotlib и кастомизируй по своему желанию. Рабочий маленький пример рисования точек по цвету третьей переменной я привел.
    Ответ написан
    Комментировать
  • Что значит check_same_thread? В Python sqlite3?

    Vindicar
    @Vindicar
    RTFM!
    sqlite3 не потоко-безопасна - если ты одновременно обращаешься к базе из нескольких потоков, это может запороть базу.
    Соответственно, по умолчанию библиотека проверяет, что подключение к базе используется тем же потоком, который создал этот подключение - т.е. что оно ограничено рамками одного потока. Если это не так, выбрасывается исключение. Это поведение по умолчанию, чтобы новички потом не плакались "почему у меня иногда база портится?!!"

    Но если ты очень осторожен и не допускаешь одновременных запросов (с помощью синхронизации по мьютексу. например), то можно безопасно использовать одно подключение из нескольких потоков. Тогда можно сказать sqlite "не дергайся насчёт потоков, я знаю что делаю". Вот эту возможность (подавить проверку) и предоставляет параметр check_same_thread = False.
    Ответ написан
    Комментировать
  • Предлагают $8000 за браузерное расширение с аудиторией 120к+, адекватно?

    @Kirill-Gorelov
    С ума с IT
    Бро. Однажды меня научили задавать себе вопрос саморефлексии, который помогает принимать решения.
    Сейчас научу тебя.
    Вопрос от обратного. То есть , у тебя хотят купить софт. Круто, теперь задай себе вопрос в обратном направлении.
    Купил бы ты сам этот софт?
    Если да, то не продавай, если нет, то продавай.
    Да, тебя терзают сомнения, об упущенной выгоды, но по моему ты почти ничего не заработал за эти 10 лет на своем расширении. Да и исходники у тебя остаются. Сможешь запилить еще одно такое же))
    Единственное что ты сейчас теряешь, как я думаю, статус чувака у которого есть софт с аудиторией 120 тысяч человек. Но за то получишь 8к. Хотя сможешь и сторговаться, получишь больше.
    Куй железо пока горячо.
    Ответ написан
    1 комментарий
  • Какой софт можно использовать в качестве корпоративной хранилки файлов?

    @ipoluda
    Тоже не понимаю почему не NextCloud, уже лет 5 ставлю его всем своим клиентам, все в восторге, всё отлично работает. Подводных камней нет, как раз большинство сидит на 22 убунте. Но также не понимаю почему не устраивает snap пакет, ставится прямо во время установки убунты, со всеми зависимостями и необходимыми тонкими настройками, ssl с пол-пинка поднимается, на виртуалке масштабируется до тысяч, есть куча подключаемых модулей, файлы хранятся в их нормальном виде (восстанавливать если что получится без гемора), редактировать доки можно прямо в браузере, есть клиент на телефон, интегрируется с чем угодно, короче тупо гугл диск он-премисес только круче как на меня. Советую потому что перепробовал в своё время почти все решения и некст - лучшее что есть из опенсорса. И искренне не понимаю к чему городить связку именно из тех продуктов которые вы перечислили (nginx, mariadb). Некстклауд админится из вебки, в саму ОС вы даже заглядывать не будете после установки)) То есть, я к тому что если Вы привыкли к MariaDB + Ubuntu 22 + nginx то вам не придётся переучиваться, так как админить эти компоненты отдельно не придётся со snap. Поставил и забыл
    Ответ написан
    Комментировать
  • Как асинхронно использовать gui и несколько бесконечных циклов?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Асинхронный код запустить в отдельном потоке, а все взаимодействия с интерфейсом из этого кода делать сигналами. Есть ещё библиотеки, позволяющие использовать цикл событий asyncio в качестве цикла событий окна, что звучит здорово, но сам я их в бою не пробовал.

    UPDATE:
    Надо же, с 2019-го многое поменялось в интересную сторону. Для PyQt и PySide есть qasync, который активно развивается, а для Tk вообще не нужны сторонние библиотеки:
    import tkinter as tk
    from tkinter import ttk
    import asyncio
    
    
    class App:
        async def exec(self):
            self.window = Window(asyncio.get_event_loop())
            await self.window.show();
    
    
    class Window(tk.Tk):
        def __init__(self, loop):
            self.loop = loop
            self.root = tk.Tk()
            self.animation = "░▒▒▒▒▒"
            self.label = tk.Label(text="")
            self.label.grid(row=0, columnspan=2, padx=(8, 8), pady=(16, 0))
            self.progressbar = ttk.Progressbar(length=280)
            self.progressbar.grid(row=1, columnspan=2, padx=(8, 8), pady=(16, 0))
            button_block = tk.Button(text="Calculate Sync", width=10, command=self.calculate_sync)
            button_block.grid(row=2, column=0, sticky=tk.W, padx=8, pady=8)
            button_non_block = tk.Button(text="Calculate Async", width=10, command=lambda: self.loop.create_task(self.calculate_async()))
            button_non_block.grid(row=2, column=1, sticky=tk.W, padx=8, pady=8)
    
        async def show(self):
            while True:
                self.label["text"] = self.animation
                self.animation = self.animation[1:] + self.animation[0]
                self.root.update()
                await asyncio.sleep(.1)
    
        def calculate_sync(self):
            max = 3000000
            for i in range(1, max):
                self.progressbar["value"] = i / max * 100
    
        async def calculate_async(self):
            max = 3000000
            for i in range(1, max):
                self.progressbar["value"] = i / max * 100
                if i % 1000 == 0:
                    await asyncio.sleep(0)
    
    
    asyncio.run(App().exec())
    Ответ написан
    Комментировать
  • Как генерировать PDF документы из шаблонов?

    Adamos
    @Adamos
    mPDF позволяет положить исходный PDF фоном и сверху (по координатам) налепить добавки.
    Но для произвольного PDF вы просто не будете знать, что куда положить.

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

    @rPman
    Pdf - худший формат для данной задачи.

    На php не густо библиотек по работе с pdf, они обычно ориентированы на чтение но не на редактирование. А читать документ в одном формате а генерировать из него другой промежуточный (обычно это html) это очень плохая идея.

    Настоятельно рекомендую изменить данные момент в вашем бизнес-процессе, и использовать в качестве шаблона какой-либо открытый офисный формат типа open document или по старинке html
    Ответ написан
    Комментировать
  • В Lubuntu не работает телеграм, как исправить?

    smorman
    @smorman
    When In Rome do as The Romans do...
    Лучше из бинарника ставить.
    Всегда самая свежая версия!
    wget https://telegram.org/dl/desktop/linux -O /tmp/telega.tar.xz; sudo tar -xpf /tmp/telega.tar.xz -C /opt; sudo ln -s /opt/Telegram/Telegram /usr/local/bin/telegram-desktop; sudo chown -R $USER:$USER /opt/Telegram; telegram-desktop & exit

    snap - отстой!
    Ответ написан
    Комментировать
  • Как взаимодействовать с Ethereum кошельком через python?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот тут есть десяток проектов релевантных к Эфирам и Питону
    https://ethereum.org/ru/developers/docs/programmin...
    Ответ написан
    Комментировать
  • Какая библиотека для создания telegram бота на Python лучше и удобнее?

    • Если ожидается большой проект с высокой посещаемостью и долгой поддержкой то у aiogram нет альтернативы. У них беда с документацией, но есть чат в TG где всегда подскажут. Там можно пообщаться и с разработчиком данной библиотеки.
    • Если это что-то простое на десяток хэндлеров и лень долго разбираться то у python-telegram-bot очень подробные wiki, документация, снипеты. Можно без опыта очень быстро разобраться... в асинхронность тоже умеет простым декоратором @run_async, можно даже запустить serverless на какой нить azure/google/aws/yandex functions с бесплатным лимитом в 1000000(azure) обращений за месяц
    • Если ограничения bot api слишком тесные и вы хотите делать то что может только клиент (например выгружать файлы больше 40Мб), то посмотрите в сторону telethon (тоже async) плюс он общается с серверам телеграма не через request-respons, а по протоколу MTProto. В частности можете посмотреть на Garnet — bot-friendly telethon
    Ответ написан
    1 комментарий
  • Сегментации изображения, термограммы. Какой способ выбрать?

    Maksim_64
    @Maksim_64
    Data Analyst
    Это так не работает. Нужно наблюдать процесс машинного обучения, метрики, на тренировочном сете на валидационных наборах. Потом VGG это предтренированные модели. Ну сделай весь процесс сам с kmeans (используй scikit-learn) и сравни результаты. А так полный список методов и как с ними работать. https://scikit-learn.org/stable/modules/clustering... Там же и все метрики для кластеризации, как сравнивать. Да и лучшие практики. Вообще сайт scikit-learn куда больше чем просто документация.
    Ответ написан
    Комментировать
  • Как искать по своим вопросам или ответам?

    0xD34F
    @0xD34F
    Поиск тут сильно так себе, так что искать лучше через гугл. Лично я использую запрос следующего вида:

    site:qna.habr.com <имя-пользователя> <тег> <чего ищем>

    Отобрать вопросы/ответы - подписываетесь на интересующие вас теги, заходите в профиль, раздел "подписки", подраздел "теги", появится список тегов - рядом с каждым будут ссылки на списки соответствующих вопросов и ответов (конечно, если таковые у вас есть). Но, разумеется, можно и напрямую пройти, если знать, как нужный url выглядит. Вот ваш laravel, например.
    Ответ написан
    3 комментария
  • Как войти в телеграм по номеру?

    @alex1478
    У меня была похожая проблема, когда на новую симку уже был чей-то ТГ зарегистрирован и ТГ не хотел код в смс отправлять. Мне помогло запросить код из Telegram X, там была кнопка "не пришёл код" или что-то вроде того. Единственное нужен Telegram X именно из гугл плея, версии с сайта ТГ или из AppGallery мне тоже не предлагали смс отправить
    Ответ написан
    Комментировать
  • Возможна ли заблаговременная проверка VPN протокола на устойчивость к блокировкам?

    CityCat4
    @CityCat4 Куратор тега VPN
    Дома с переломом ноги
    Чего ждать? Тут я на "большом" хабре нашел статью от Роскомсвободы*, которая конечно уж не будет давать хороших прогнозов, но как это ни странно, в этот раз их прогноз весьма вменяем - вот, можно почитать

    Часть этого уже внедряется, часть приступается к внедрению. Кое в чем они нагнали, но большая часть прогноза - 100% попадание.

    * - Признана иноагентом по решению МинЮста
    Ответ написан
    Комментировать
  • Как можно, и вообще можно ли хранить фото и видео в базе данных mongo?

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

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

    Хранить фото и видео в БД - это как надевать штаны на голову.
    Хранить фото и видео в монге - как надевать на голову помойное ведро.

    Файлы надо хранить в файловой системе.
    Структурированные данные надо хранить в Базе Данных.
    Монгу не нужно использовать ни для чего. Это вообще не база данных, а просто хранилище по типу "куча мусора", которое используется исключительно в стильных модных молодёжных стартупах, в которых не нашлось ни одного специалиста по базам данных. Это была тупиковая ветвь, поднявшаяся на отсутствовавшей на тот момент поддержке JSON в базах данных и хайпе
    Ответ написан
    2 комментария
  • Как написать нейросеть способную генерировать текст?

    @rPman
    Ты как будто отсутствовал последний год и пропустил бум ChatGPT. Этот алгоритм нейронных сетей (Generative Pre-trained Transformer) был разработан в 2017-ом 'гуглом' и 'доведен до ума' публично в OpenAI (их chatgpt4 сейчас самый продвинутый универсальный генератор текста, проявляющий признаки интеллекта).

    С помощью этого алгоритма твоя задача решается максимально эффективно (она буквально становится решаемой, до этого решения не было, были только смешные потуги).

    На текущий момент самая крутая из доступных нейронных сетей (доступные предобученные веса сети), которую можно доучивать под свою задачу или даже пользоваться как есть, - это фейсбуковская llama2 (бесплатная, с очень либеральной лицензией, позволяющая коммерческое использование), ее можно запускать на процессоре на десктопной машине с меньше 64гб ram (скорость от 1токен в секунду, слово это 1-7 токенов) с помощью llama.cpp или на машине с GPU, суммарной емкостью vram от 80Gb (я не нашел точные минимальные требования, квантизация 8бит доступна в штатном коде llama а 4-битную тоже можно но я не уверен какие проекты уже поддерживают llama2).

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

    p.s. самостоятельная разработка (сбор обучающих данных и обучение) с нуля подобного проекта невероятно дорогая, слабые версии имеют оценку стоимости обучения (при наличии специалистов, которые уже стали на вес золота) в десятки миллионов баксов только на оборудование (тоже дефицитное, так как используется в основном кластеры на основе оборудования nvidia, которые монополисты в ИИ и рисуют 10х стоимость не моргнув глазом а еще искусственно не расширяют производство чипов при наличии высокого спроса)

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