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

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    git revert

    1. Получаешь изменения
    2. Выполняешь git revert последовательно для каждого коммита в обратном порядке (т.е. с конца к началу), либо git revert --no-commit HEAD~10..
    3. Коммитишь это
    4. Пушишь


    т.е. примерно так

    git pull
    git revert HEAD~10..
    git commit -m "revert: newbie master push"
    git push


    Вот тут есть подробнее
    Ответ написан
    Комментировать
  • Почему возникает проблема с асинхронной функцией?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    c.on_click = lambda event: await self.btn_clicked(event)

    Здесь создаётся лямбда-функция (не асинхронная), из которой вызывается асинхронная функция.
    В этом и проблема.
    Если у вас апи позволяет сюда (c.on_click) подавать асинхронную функцию, то сделайте её замыканием:
    async for r in self.element.content.controls:
        async for c in r.controls:
            async def on_click(event):
                return await self.btn_clicked(event)
            c.on_click = on_click

    Но это всё не нужно, можно просто подавать в вашем конрктеном случае напрямую нужную функцию:
    async for r in self.element.content.controls:
        async for c in r.controls:
            c.on_click = self.btn_clicked

    А если on_click требует только синхронную функцию, то так не прокатит.
    Ответ написан
    Комментировать
  • Почему не инициализируется экземпляр класса?

    Maksim_64
    @Maksim_64
    Data Analyst
    def __int__(self): Внимательно надо быть. __init__
    Ответ написан
    1 комментарий
  • Как заставить паралельно работать две разные вкладки google chrome?

    @rPman
    Как их можно заставить работать одновременно
    это фича браузера chromium, блокирует работу javascript фоновых окон либо замедляет их стократно. Чтобы заставить их работать в фоне, разработчик веб приложения должен использовать специальную технологии web workers.

    У firefox такой проблемы я не наблюдал, скрипты продолжали работать в свернутом браузере как ожидается.

    Единственный способ решить эту проблему универсально - это обмануть браузер чтобы он считало активным сразу несколько окон. Сделать это можно:
    - с помощью сервера терминалов, т.е. версия windows должна быть серверной либо на старых ревизиях win10 и до старых win7 - утилита rdpwrap).
    Можно запустить терминал под своим пользователем windows, и в каждом запускать браузер или любое другое приложение, которое ожидает быть в фокусе. Для работы приложения нужно будет держать открытыми сессии терминалов.
    Соответственно они будут продолжать работать, даже если их открыть в другой сессии терминалов (каскадно) и затем эту первую закрыть
    - использовать ibik aster для рабочих ревизий windows (включая самые свежие 11), позволяет создавать несколько рабочих терминалов (настоящих, не виртуальных как терминалы rdp) но для каждого потребуется свой монитор (можно обмануть с помощью заглушек в разъемы видеокарты и подключаться к терминалу с помощью локально запущенного vnc в каждом)
    Ответ написан
    4 комментария
  • Как собрать такое количество интернет-магазинов в каталог?

    @Kirill-Gorelov
    С ума с IT
    Бро, все достаточно тревиально(если могешь)....
    Есть каталог всех доменов, которые только существуют.
    Анализируешь их CMS и контент сайта.
    Контент можно собрать с помощью краулера + немного магии и готово) Это если очень коротко.
    Не надо нанимать 400К программистов. К тому же у большинства магазинов есть sitemap и он открыт на чтение всем.
    Ответ написан
    5 комментариев
  • Как собрать такое количество интернет-магазинов в каталог?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Почему так много.
    Это агрегатор. Агрегаторы как правило используют готовый API, либо находят хаки как получить доступ к приложениям. Вот так и парсят/находят. Самих магазинов много - это не Российский рынок, а интернациональный. Грубо говоря, возьми все магазины мира и вот получишь этот рынок.

    Как собрать так много - искать и исследовать.

    Терпение и труд все перетрут, как говорится
    Ответ написан
    Комментировать
  • Можно ли отключить подсветку мыши Aceline GS Rage 100 White?

    15432
    @15432
    Системный программист ^_^
    - разобрать крестовой отвёрткой
    - выдрать светодиоды к чертям
    Ответ написан
    2 комментария
  • Как удалить элемент из массива в local storage по его индексу?

    AlexanderK-A
    @AlexanderK-A
    UTC+10
    Извлечь из localstorage значение -> преобразовать из строки в массив JSON.parse() -> сделать что надо с массивом -> сохранить в localstorage JSON.stringify()
    Ответ написан
    Комментировать
  • Как сделать графический интерфейс для своей ОС на rust?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Начать можешь с этого туториала - https://os.phil-opp.com/vga-text-mode/
    В нем реализуется простой текстовый интерфейс, но как пример этого достаточно: объясняются основные концепции как буфер видео памяти, представление букв и т.д.
    Ответ написан
    Комментировать
  • Как оптимизировать сервер с большим количеством запросом?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    Как понял схема данных следующая:
    - Есть замер времени - отедльный объект со своим ID
    - У каждого замера времени есть список штампов - конкретного времени
    - Эти штампы создают пользователи - отправляют запросы

    Для данного кейса мне видится такое решение:
    - Используем Redis в качестве БД
    - Для ID замеров используем snowflake
    - Тип данных Redis для замеров - list (список)
    - В каждом списке храним эти штампы - строка или unix timestamp (неважно)

    Таким образом, на каждый запрос просто добавляем новый элемент в этот список.

    Redis хорошо выдерживает высокую нагрузку + его можно масштабировать.
    Благодаря snowflake можно горизонтально мастшабировать свои сервисы.
    Также, ты указал websocket - здесь как хочешь. Но в .NET есть реализация Redis которая использует мультиплексирование - здесь он будет уместен.
    Ответ написан
    2 комментария
  • Какие есть оптимальные способы хранения и передачи изображений из MongoDB?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Да, есть: хранить сами изображения не БД, а в отдельном файловом хранилище с внешним доступом по ссылке-идентификатору. В самой же БД хранить только идентификаторы изображений в хранилище. Это стандартная практика работы с файлами и БД.
    Ответ написан
    Комментировать
  • Нормальная ли практика, когда несколько сервисов подключены к одной бд?

    @login40k
    Не поддержу отвечающих выше. В мире микросервисных архитектур есть популярный антипаттерн https://microservices.io/patterns/data/shared-data... - шаренная база данных. Это обратная сторона паттерна database per servive. Чтобы избегать проблем с шаренными хранилищами применяют, те самые, "глобальные" апи, которые принадлежат конкретной системе. Эта система и ее команда управляют доступом к этой БД. Эти апи называют CRUD интерфейсами например.
    Ответ написан
    2 комментария
  • Почему эта переменная возвращает System.string[] вместо пути?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Ну во-первых, потому что так в документации написано.

    Во-вторых, само название метода GetFiles ничего вам не говорит? Данный метод возвращает список файлов в указанной директории.

    В целевой папке всего один файл

    И что? Значит метод вернёт вам массив с одним элементом. Если вы хотите получить конкретный файл, значит вам нужно что-то на подобии File.Open и т.д.

    значение переменной jar = System.string[]

    Тут по очереди. У вас System.string[] вылез, скорее всего из какого-то Console.WriteLine. Почему? Потому что тип вашего jar и массив типа string. Когда вы пытаете вывести какой-то тип в Console.WriteLine, который не предусмотрен в перегрузках, он будет вам выводить GetType().FullName, т.е. название типа, которое вам и выводится.

    Вообще, очень дурна привычка использовать var, просто не делайте так, а то вы плутаете сами себя и вы не понимаете, что вам должен возвращать метод
    Ответ написан
    8 комментариев
  • Как сформировать технологический стек для веб-приложения с геоинформационной системой отслеживания грузового транспорта?

    newross
    @newross
    Product owner
    Я собрал 3 подобных сервиса, как для Glonass/GPS, так и для AIS. В текущем решении 180 000 единиц транспорта отслеживается. Вот несколько базовых моментов из опыта:
    1. Приборы отправляют данные на сервер сами, а не наоборот. Твоя задача принимать и быстро сохранять данные в бд. В какой - не важно. У меня хорошо работает связка из реляционной бд для оперативных данных типа текущего положения, nosql для архива.
    2. Протоколов у трекеров огромный зоопарк, у каждого производителя свой. Не привязывай свою реализацию к конкретному протоколу. Сделай общий API для сохранения данных в базу, а затем уже подключай протоколы по мере необходимости.
    3. Если тебе нужен геофенсинг, сразу закладывай event-driven архитектуру. Опять таки не важно какой ты возможешь брокер сообщений.
    Все остальное вторично. Для отображения данных хоть на любом low-code забирай данные напрямую из оперативной базы и отображай на карте.
    Ответ написан
    Комментировать
  • На что обратить внимание при проектировании крупного ресурса?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    для форума, думаю реляционная БД в любом случае удобнее.
    В теории, если он достигнет размеров Хабра, можно будет вообще переписать продукт, к тому времени накопятся хотелки, накопится опыт что и как работает, что востребовано и что нет.
    База данных же скорее всего просот масштабируется, Индексируется, кластеризируется.
    Посмотрите как спроектированы базы популярных форумов (xenForo, IBP, vbulletin)- ничего особенного нет, хотя рассчитаны на огромное количество юзеров, но это решается больше железом. И все на реляционных базах.
    Ответ написан
    7 комментариев
  • Какой самый быстрый способ найти позицию последовательности 0-bit заданной длины в int[]?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Зависит от длины n. Если n маленькое то можно прикладывать маску. Байт x содержит 3 ноля в последних битах, если ~x &0x7 == 0x7. Аналогично, сдвигая маску из трех единиц (0x7) можно приложить ко всем позициям.

    Если n большое, то надо чтобы было много нулевых байт в массиве подряд. Тут можно использовать SSE инструкции для массового сравнения байт с нулями.

    Потом, можно еще распараллелить поиск в несколько потоков. Каждый поток ищет последовательность, начинающаюся в отдельном куске массива.
    Ответ написан
    Комментировать
  • Как в typescript объединить ключи, и если появляются повторы, то сделать объединение типов?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Запилил такой вариант.

    Поддерживаются вложенные объекты и массивы (кортежи), см. пример. Глубина рекурсии произвольная, но результат получается здоровенный, если много всего.

    Решение влоб: сначала находим все пути до простых значений, потом по множеству этих путей собираем объект.
    Ответ написан
    3 комментария
  • Нужна ли нам вся эта безопасность?

    @accountnujen
    Интел, Intel vdt, Intel ppt, от Microsoft, Device Guard и т.д. Вопрос, а нужно ли мне все это?

    маркетологам нужно. вам - нет.
    под предлогом заплатки уязвимости/безопасности можно урезать процентов 30-40% производительности. Этим страдает и intel, и amd. Этакий лёгкий способ заставить юзера купить новое оборудование. Если вы думаете, что избавиться от этого можно лишь установить Windows без этих обновлений, то вы очень сильно ошибаетесь. Все процессорные обновления необратимы. Если взять два старых процессора: один из коробки, а второй из системы после обновления, то они покажут разную производительность на чистой старой системе.

    если грубо говоря, производитель выпускает какой-нибудь tmp и говорит: новая windows работать без него не будет. Хочешь новую - покупай новый ПК. Тоже самое и с другими средствами защиты: хочешь защититься - покупай новый ПК, иначе всё будет лагать.
    Ответ написан
  • Можно использовать микросервесную архитектуру для разных приложений/проектов?

    xez
    @xez
    TL Junior Roo
    Этот вопрос решается сервисом аутентификации пользователя, который отдает пользователю аутентифицированному ключ, с которым он ходит уже по всем сервисам.
    Копать отсюда: https://oauth.net/2/
    Ответ написан
    Комментировать
  • Что нужно знать начинающему системному администратору?

    @brar
    ///После недельного простоя, мне звонят и приглашают на стажировку////
    Значит, опытные спецы за ту зп, которую они предлагают даже не откликаются. Взяли Вас "На стажировку". Это и правда и нет, одновременно. Вы друг друга нашли, скажем так.
    Выжмите максимально опыт в практике из этой хитрой конторки. Главное - не сильно себя вините, если что-то сломается, а на вас будут наезжать. Отвергайте любые обвинения в случае простоя. Далее, как поднатореете, через месяцев 12 ищите нормальную, которая понимает объёмы и ответственность IT-специалиста за простои в работе и платит в ~2 раза больше.

    По теме вопроса: первое, на что обратить внимание - на критичность того ии иного сервиса. Прям подойти к боссу и спросить - "что должно работать весь рабочий день?". Телефония? БД? 1с? Без чего прям кранты? К тому сервису и направьте своё максимальное внимание. Смоделируйте на практике восстановление БД из резервной копии. Файловый сервер. Сотрудник уволился, грохнул все свои наработки/файлы, логины на торговых площадках, почтовую переписку etc. Промониторить доступы предыдущих сотрудников на администратиыный доступ к каким-либо сервисам/серверам/роутерам/площадкам.
    Ответ написан
    Комментировать