Задать вопрос
  • Почему После Клонирования HDD на SSD не загружается win10?

    @rPman
    Потому что информация о том, откуда загружать при использовании uefi, жёстко прописывается в биосе.
    Гугл: 'восстановление загрузчика windows', инструкций миллион
    Ответ написан
    3 комментария
  • Как можно ускорить загрузку в S3 хранилище?

    @Everything_is_bad
    открыть гугл и вбить туда "s3 upload speed up"
    ну и реализаций S3 множество, открывай справочник конкретной и читай, либо спрашивай службу поддержки
    Ответ написан
    Комментировать
  • Как можно оптимизировать этот код?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Все не смотрел, но простыни типа:
    def get_contact(ids):
        for id in ids:
            template = f'https://etender.gov.az/api/events/{id}/contact-persons'
            try:
                response = requests.get(template, timeout=20)
                if response.status_code == 200:
                    data_list = response.json()
                    for data in data_list:
                        main_data['Full_name'].append(data.get('fullName', 'None') if data.get('fullName') else 'None')
                        main_data['Contact'].append(data.get('contact', 'None') if data.get('contact') else 'None')
                        main_data['Position'].append(data.get('position', 'None') if data.get('position') else 'None')
                        main_data['Phone_number'].append(data.get('phoneNumber', 'None') if data.get('phoneNumber') else 'None')
    
                else:
                    main_data['Full_name'].append('None')
                    main_data['Contact'].append('None')
                    main_data['Position'].append('None')
                    main_data['Phone_number'].append('None')
            except requests.Timeout:
                main_data['Full_name'].append('None')
                main_data['Contact'].append('None')
                main_data['Position'].append('None')
                main_data['Phone_number'].append('None')


    пишутся гораздо проще. Да и структуру данных я бы поправил. К примеру простыня выше заменяется более лаконичным кодом:
    main_data = []
    ...
    
    def get_contact(ids):
        for id in ids:
        	current_data = {'Full_name': 'None', 'Contact': 'None', 'Position': 'None',  'Phone_number': 'None'}
            template = f'https://etender.gov.az/api/events/{id}/contact-persons'
            try:
                response = requests.get(template, timeout=20)
                if response.status_code == 200:
                    data_list = response.json()
                    for (elem_to, elem_from) in [
                         ('Full_name', 'fullName'),
                         ('Contact', 'contact'),
                         ('Position', 'position'),
                         ('Phone_number', 'phoneNumber')
                    ]:
                    	current_data[elem_to] = data.get(elem_from, 'None')
             except requests.Timeout:
                   pass
            main_data.append(current_data)
    Ответ написан
    Комментировать
  • Как можно оптимизировать этот код?

    Vindicar
    @Vindicar
    RTFM!
    Для начала определи, что у тебя занимает время - скачивание, или парсинг. Подходы будут разные.
    Если хочется в лоб решать задачу - то multiprocessing в руки, даёшь дочернему процессу URL, он тебе возвращает структуру данных. Главный процесс раздаёт URLы и собирает ответы в какое-то итоговое хранилище.
    Пример работы с пулом процессов.
    Ответ написан
    Комментировать
  • Как нагрузить MacBook в шоуруме магазина?

    GavriKos
    @GavriKos
    Если запрещают - то очевидно что никак.

    И да, он греется. Все маки греются. Эиры - тем более, у них пассивное охлаждение
    Ответ написан
    1 комментарий
  • Почему винда создает неправильную запись в route table?

    @mvv-rus
    Настоящий админ AD и ненастоящий программист
    Неправильный шлюз по умолчанию прилетает вам по DHCP на следующий интерфейс: Ethernet adapter VMware Network Adapter VMnet8. Его создает VMware WorkStation, а используется он в настройках по умолчанию для выхода наружу через NAT виртуалок подсоединенных к соотвествующей сети.
    Т.к. я не знаю, для чего у вас на ПК используется VMWare (и используется ли вообще - у вас там вообще всё интересно: я вижу ещё следы VirtualBox и Hyper-V), то точно сказать, что вам надо сделать, я не могу. Но, как минимум, можно в Virtual Network Editor отключить DHCP на нем - а если у вас в этой виртуальной ести еесть виртуалки - настроить на них адрес IP вручную.
    Ответ написан
    Комментировать
  • Архитектура кластера баз данных для географически распределенного проекта?

    Eugene-Usachev
    @Eugene-Usachev
    Если "чат/мессенджер/что-то подобное", будет лежать очень много данных. То есть профили можно сохранить хоть в Postgres + Redis (шардированный по регионам), и иметь вполне себе хорошую производительность. Проблема будет именно с сообщениями.

    Если решать проблему по логике "почему бы не стремиться к 8 млрд пользователей", для профилей можно взять Aerospike или Tarantool. Оба решения имеют возможность шардирования по вторичным ключам, так что их можно разнести по разным регионам. Причём надо именно шардироваться, а не только реплицироваться. Таким образом, можно избежать "узких горлышек". В этом случае оба решения будут выдавать более миллиона запросов в секунду на один кластер с маленькой задержкой (скорее всего двухзначной в медиане) и не иметь единой точки отказа.

    С сообщениями сложнее, так как их будут петабайты. Тут советую не "изобретать велосипед" и взять ScyllaDB, как это сделал Discord. ScyllaDB работает с огромными массивами данных довольно быстро и прекрасно масштабируется. Ради двухзначных чисел задержки в медиане достаточно шардироваться по регионам.

    Выводы очень простые. Если "стремиться к 8 млрд пользователей" надо
    1 - использовать нереляционные СУБД
    2 - шардировать БД по регионам (тогда можно отказаться от очередей)
    3 - использовать кэширование "горячих" данных
    4 - использовать Write-Optimized СУБД для больших массивов данных.

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

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Прочитать файл построчно, разбить каждую строку по разделителю, условным оператором проверить, что первый элемент начинается с "example", в истинном блоке записать строку в один файл, в ложном в другой. Либо примерно то же, но с помощью спискового включения с группировкой.
    Ответ написан
    Комментировать
  • Формируя Readme-файл, если это WPF-проект, то что минимум нужно конечному юзеру и программисту, чтобы его запустить?

    yarosroman
    @yarosroman
    C# the best
    https://learn.microsoft.com/ru-ru/dotnet/core/depl...

    Читаем "публикация автономных приложений"
    Ответ написан
    Комментировать
  • Почему не получается спарсить названия учебных заведений?

    Vindicar
    @Vindicar
    RTFM!
    Ты хотя бы в браузере пробовал открыть исходный код страницы (обычно Ctrl-U)?
    Это динамический сайт, там по умолчанию в body два с половиной скрипта, которые уже подтягивают остальной контент. Конечно, ты его не получишь одним запросом.
    Выясняй, какой запрос скрипты делают для получения контента, и имитируй уже его. Консоль разработчика в помощь.
    Ответ написан
    Комментировать
  • Можно ли использовать dll в Ubuntu?

    @rPman
    .dll это динамически подключаемая библиотека для windows.
    Создавать приложения для windows можно и в linux, например готовый тулчейн можно установить с пакетом mingw-64 (32-битная версия не поставляется в репозитариях но думаю можно найти) а по факту он использует gcc который умеет кросскомпиляцию, но вручную разбираться придется во многом.

    С некоторыми шансами можно установить windows компилятор в wine... в общем можно но не просто. Как минимум нужно будет собрать информацию об архитектуре, установить необходимые зависимости (vcredist например) и много чего, что в windows стоит по умолчанию, но по лицензионным ограничениям поставляться установленным сразу в linux не может.
    Ответ написан
    2 комментария
  • Как писать запросы к API на стадии разработки, если backend еще нигде не хостится?

    @Asokr
    Бесплатно - поставьте openserver себе на виндовс, или настройте нужный стек сами на линукс

    А в обще тариф на хостинг/VDS/облако сейчас стоит как пообедать в маке.
    Ответ написан
  • Как писать запросы к API на стадии разработки, если backend еще нигде не хостится?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    1) Запуск бэкенда локально через Docker для тестирования запросов и интеграции (это нормальная практика?)

    Вполне нормальная практика. А что смущает?
    Ответ написан
    Комментировать
  • Как вставить код в PuTTY?

    yakovlev_13
    @yakovlev_13
    Шаманство, экзорцизм и некромантия.
    правой клавишей мыши
    Ответ написан
    2 комментария
  • Как переменную string преобразовать в List в C#?

    var str = "a b c";
    var list = str.Split(' ').ToList();

    А вот почему юнити зависает - надо смотреть на код целиком.
    То что написано в вопросе не является валидным C#-кодом в принципе.
    Ответ написан
    Комментировать
  • Какой софт поставить на домашний файловый сервер из древнего железа?

    peering
    @peering
    it инженер
    nas4free , только там версси смотри , они чем выше тем треботвательней. 10 помоему ставил.
    Ответ написан
    1 комментарий
  • Как сделать такое приложение для пожарных, суть- пожарные водоисточники?

    В качестве раннего прототипа - можно взять openstreetmap и создать в нём свою карту, где будут все эти гидранты расставлены.

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

    почему PageSpeed Insights показывает обратное?

    На эту часть ответить легко. PageSpeed Insights оценивает по формальным признакам, ожидая, что внедрением рекомендаций занимается человек, и человек делает это с умом.
    А плагин позволяет так же формально подгонять результат под оценку - переносить javascript в конец, склеивать css в один файл. Но, по факту, от этих автоматических действий ситуация лучше не становится.

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

    Основных причин две:
    1. У вас сайт может работать быстрее, а у среднего пользователя с другим интернетом, в другой локации и с другим поведением — медленнее.
    2. PageSpeed учитывает множество других факторов, на которые простое серверное кэширование не влияет. У вас может быть хорошее time to first byte, но много тяжёлого js и неоптимальные картинки, например.
    Ответ написан
    Комментировать