Задать вопрос
  • Как получить цену акций в python?

    @eminsk
    developer python, javascripts
    import yfinance as yf
    import pandas as pd
    
    
    def get_stock_data(ticker: str, start: str, end: str) -> pd.DataFrame:
        """
        Получает данные свечного графика для указанной ценной бумаги.
    
        :param ticker: Символ акции.
        :param start: Дата начала (формат 'YYYY-MM-DD').
        :param end: Дата конца (формат 'YYYY-MM-DD').
        :return: DataFrame с данными акций.
        """
        return yf.download(ticker, start=start, end=end, interval='1d')
    
    
    if __name__ == "__main__":
        ticker = "SBER.ME"  # Символ для Сбербанка на Московской бирже
        start_date = "2021-01-01"
        end_date = "2022-01-01"
    
        print(get_stock_data(ticker, start_date, end_date))

    66f57c781f825463414243.png
    Ответ написан
    Комментировать
  • Не получается записать в файл?

    @eminsk
    developer python, javascripts
    Тебе функцию save_data лучше переделать в такой вид:
    def save_data(data):
        try:
            with open("reminders.json", "w", encoding="utf-8") as f:
                json.dump(data, f, ensure_ascii=False, indent=4)
        except IOError as e:
            print(f"Error writing to file: {e}")
    Ответ написан
    Комментировать
  • Как закрыты зависшие терминалы Python в Windows 11 Pro?

    @eminsk
    developer python, javascripts
    import os
    import signal
    os.kill(os.getpid(), signal.SIGTERM)
    Ответ написан
    Комментировать
  • Сборка пк для работы в Autocad?

    @eminsk
    developer python, javascripts
    1. для AutoCAD важнее частота одного ядра процессора. (не менее 3500 и чем выше тем лучше)
    2. Минимум 16 ГБ оперативной памяти. 8 ГБ может оказаться недостаточно, особенно при работе с большими проектами
    3. NVIDIA Quadro и выше. Игровые карты могут не обеспечить необходимую производительность и поддержку функций, специфичных для CAD (видеокарта)
    4. Обязательно используйте SSD для системы и программ. Это значительно ускорит загрузку и работу приложений по сравнению с HDD
    5. Эффективная система охлаждения, желательно жидкостная, так как рабочие станции могут сильно нагреваться при длительных вычислениях и рендеринге

    Выбирай не меньше что я тебе указал и тем выше параметры тем будет лучше тебе и все зависит от твоего бюджета еще. Я тебе указал самый минимум еще только для небольших проектов. Если будешь заниматься рендерингом то тебе понадобится еще и выше чем эта конфигурация, так как она требует больших вычислений
    как пример видеокарта - NVIDIA Quadro P2000, NVIDIA Quadro RTX 4000, NVIDIA RTX A2000
    Ответ написан
  • Ssd m2 512 или 256 gb?

    @eminsk
    developer python, javascripts
    Размер жесткого диска не повлияет на размер скорости.

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

    @eminsk
    developer python, javascripts
    <?php
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $upload_dir = '/var/www/uploads/'; // Директория для сохранения загруженных файлов
    
        // Обработка основного изображения
        if (isset($_FILES['img']) && $_FILES['img']['error'] == UPLOAD_ERR_OK) {
            $tmp_name = $_FILES['img']['tmp_name'];
            $name = basename($_FILES['img']['name']);
            $img_path = $upload_dir . $name;
            
            if (move_uploaded_file($tmp_name, $img_path)) {
                echo "Файл успешно загружен: $img_path";
            } else {
                echo "Ошибка при загрузке файла.";
            }
        }
    
        // Обработка изображения для карточки
        if (isset($_FILES['card_img']) && $_FILES['card_img']['error'] == UPLOAD_ERR_OK) {
            $tmp_name = $_FILES['card_img']['tmp_name'];
            $name = basename($_FILES['card_img']['name']);
            $card_img_path = $upload_dir . $name;
            
            if (move_uploaded_file($tmp_name, $card_img_path)) {
                echo "Файл для карточки успешно загружен: $card_img_path";
            } else {
                echo "Ошибка при загрузке файла для карточки.";
            }
        }
    }
    ?>

    Убедитесь, что форма имеет атрибут enctype="multipart/form-data":
    <form method="POST" enctype="multipart/form-data">
        <!-- Ваши поля формы -->
    </form>
    Ответ написан
    Комментировать
  • Число вместо сроки при запросе regex?

    @eminsk
    developer python, javascripts
    SELECT 
        b.Cargo, 
        count(b.Cargo), 
        REGEXP_SUBSTR(b.Cargo, '[А-Яа-яЁё]+') AS Category
    FROM base b
    GROUP BY b.Cargo
    Ответ написан
    Комментировать
  • Как создать несколько мостов на один сетевой интерфейс?

    @eminsk
    developer python, javascripts
    Проблема в том, что вы пытаетесь добавить один и тот же физический интерфейс (enp42s0) к нескольким мостам одновременно, что невозможно. Сетевой интерфейс может быть членом только одного моста:
    Создайте один мост (например, br0) и добавьте в него физический интерфейс enp42s0.
    Создайте виртуальные интерфейсы (VLAN или macvlan) поверх моста br0 с нужными MAC-адресами.
    Используйте эти виртуальные интерфейсы для создания PPPoE соединений.
    auto enp42s0
    iface enp42s0 inet manual
    
    auto br0
    iface br0 inet manual
        bridge_ports enp42s0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0
    
    auto macvlan0
    iface macvlan0 inet manual
        pre-up ip link add link br0 macvlan0 type macvlan
        post-down ip link del macvlan0
        hwaddress e2:3f:26:5c:8d:45
    
    auto macvlan1
    iface macvlan1 inet manual
        pre-up ip link add link br0 macvlan1 type macvlan
        post-down ip link del macvlan1
        hwaddress e2:3f:26:5c:8d:44
    
    auto macvlan2
    iface macvlan2 inet manual
        pre-up ip link add link br0 macvlan2 type macvlan
        post-down ip link del macvlan2
        hwaddress e2:3f:26:5c:8d:43
    Ответ написан
    Комментировать
  • Как разместить GoodbyeDPI или его аналоги на VDS, чтобы подключение через Wireguard проходило через GoodbyeDPI?

    @eminsk
    developer python, javascripts
    Установка Wireguard:
    sudo apt update
    sudo apt install wireguard


    Настройка Wireguard как сервера (создайте конфигурационный файл
    /etc/wireguard/wg0.conf

    Установка GoodbyeDPI:

    sudo apt install git build-essential libpcap-dev
    git clone https://github.com/ValdikSS/GoodbyeDPI.git
    cd GoodbyeDPI
    make


    Создайте скрипт для запуска GoodbyeDPI:
    #!/bin/bash
    /path/to/goodbyedpi/goodbyedpi -1 --port 53,80,443 --dns-addr 1.1.1.1 --dnsv6-addr 2606:4700:4700::1111

    Замени на свой путь запуска вместо /path/to/goodbyedpi/

    Настройка iptables для перенаправления трафика:
    sudo iptables -t mangle -N DIVERT
    sudo iptables -t mangle -A DIVERT -j MARK --set-mark 1
    sudo iptables -t mangle -A DIVERT -j ACCEPT
    sudo iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
    sudo iptables -t mangle -A PREROUTING -p tcp --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 8080
    sudo iptables -t mangle -A PREROUTING -p tcp --dport 443 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 8080
    Ответ написан
  • Как удалить иконку программно?

    @eminsk
    developer python, javascripts
    Полностью удалить иконку приложения программно без root-прав практически невозможно из-за ограничений безопасности Android.
    Скрытие иконки из лаунчера
    PackageManager p = getPackageManager();
    ComponentName componentName = new ComponentName(this, MainActivity.class);
    p.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);


    Использование пустой иконки:
    PackageManager pm = getPackageManager();
    ActivityInfo ai = pm.getActivityInfo(getComponentName(), PackageManager.GET_META_DATA);
    ai.icon = R.drawable.transparent_icon; // Прозрачная иконка
    ai.logo = R.drawable.transparent_icon;


    Использование системного API для скрытия (работает не на всех устройствах):
    Intent intent = new Intent("android.intent.action.MAIN");
    intent.setComponent(new ComponentName("com.android.settings", "com.android.settings.Settings$AppDrawerSettingsActivity"));
    startActivity(intent);
    Ответ написан
  • Как узнать, сколько дней осталось до Нового Года?

    @eminsk
    developer python, javascripts
    <?php
    $now = date_create();
    $nextNewYear = date_create(date('Y') + 1 . '-01-01');
    $diff = date_diff($now, $nextNewYear);
    echo $diff->days;
    ?>


    Этот код будет корректно работать в любом году, так как он динамически определяет текущий год и рассчитывает дату следующего Нового Года.
    Ответ написан
    Комментировать
  • Как сделать регулярное выражение для отсеивания знаков/символов/английских букв (Python)?

    @eminsk
    developer python, javascripts
    Я тебе сделал с помощью универсальной анонимной функцией, чтобы было пользоваться многократно в своем коде:
    filter_chars = lambda pattern, text: __import__('re').findall(pattern, text)
    pattern = r"[^а-яА-ЯёЁa-zA-Z]" # паттерн для поиска отсеянных символов - или какие символы ты хочешь отсеить
    text = "Добро пожаловать в Python! 1234567890 @#$%^&*()_+=-" # текст для поиска
    print("Отсеянные символы:", filter_chars(pattern, text))

    pattern в этой переменной тебе нужно прописать что нужно отсеивать. В своем коде я добавил русский и
    английский текст.
    только английские большие и маленькие буквы
    pattern = r"[^a-zA-Z]"
    Можно добавить еще символы
    для спецсимволов будет строка содержать уже:
    pattern = r"[@#$%^&*()_+=-]"
    Чтобы собрать все символы в 1 строку:
    print("Собрано все символы в строку:", ''.join(filter_chars(pattern, text)))


    Результат выполнения программы для первого pattern, который вместе с функцией и собрать все символы
    662286302b52b387781806.png
    Ответ написан
    Комментировать
  • Python (3.4.3) pip на win7 не может установить соединение, почему?

    @eminsk
    developer python, javascripts
    Лучше всего удали устаревший python 3.4 для windows 7 и поставь последнюю версию python для этой системы 3.8. В более старом python куча ошибок.
    Ответ написан
    Комментировать
  • Как поменять описание репозитория?

    @eminsk
    developer python, javascripts
    Чтобы поменять описание репозитория на GitHub, нужно:

    1. Зайти на страницу репозитория и нажать на кнопку "Settings" в меню наверху.

    2. В списке настроек выбрать "Options".

    3. Скроллить вниз до раздела "Description" и нажать на кнопку "Edit".

    4. Ввести описание репозитория в поле "Description".

    5. Нажать на кнопку "Save" внизу страницы.

    Готово! Описание репозитория изменено.
    Ответ написан
  • Как отображать графические объекты в зависимости от заданной конфигурации?

    @eminsk
    developer python, javascripts
    Для оптимизации такой задачи можно использовать паттерн Фасад, который позволит скрыть сложность системы от пользователя и позволит ему работать с упрощенным интерфейсом. В вашем случае, можно создать класс узла, который будет иметь свойства, описывающие его состояние (клиент, сервер и т.д.), а также методы для отображения и скрытия объекта. Затем можно создать класс-фасад, который будет управлять отображением всех узлов на топологии сети в зависимости от заданных параметров. Таким образом, программа будет загружать только те объекты, которые необходимы для текущей конфигурации сети, что позволит сократить время загрузки и использование оперативной памяти.
    Ответ написан
    1 комментарий
  • Как оптимизировать работу Windows на HDD с помощью небольшого SSD?

    @eminsk
    developer python, javascripts
    Лично я использую всегда SSD накопитель для установки системы и часто открываемые программы для быстрой загрузки.

    PS: нельзя его дефрагментировать, так как он уже под оптимизирован. Если часто дефраментировать его — то это он будет подвержен быстрому износу.
    Ответ написан
    Комментировать