• Есть ли задача на распределенные вычисления, которую легко проверить?

    @rPman
    Алгоритмы майнинга криптовалют, любой, тот же биткоин изучен и разложен по полочкам вдоль и поперек.
    У всех у них это свойство - сложно считать но легко проверить.

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

    Так как у тебя академическая задача, тебе не нужно повторять именно тот самый алгоритм и настраивать инфраструктуру, просто реши задачу поиска хеша от байтового представления числа. Т.е. задача в организаци процесса - управление рабочими потоками/нодами, с раздачей заданий (интервалов в пределах которых каждый воркер будет перебирать хеши) и сбор результатов, включая обработку ошибок.
    Ответ написан
    Комментировать
  • Как в python подключить QT StatusBar?

    @mxrdxfxrrx
    flstudio20, py3.x
    я не эксперт в qt, но мне кажется, что твой statusBar нужно сначала создать, и только потом вызывать showMessage
    может быть он у тебя в design, попробуй импортировать созданный QStatusBar из design, и потом уже вызвать его вместе с .statusBar().showMessage("Привет")
    Ответ написан
    Комментировать
  • Как получить угол поворота руля с CAN-шины?

    Daemon23RUS
    @Daemon23RUS
    Одновременно и просто и сложно, зависит от "глубины погружения в тему"
    Для различных авто немного по разному, но принцип один и тот же, по ОБД данные доступны через запросы к соответствующему модулю (MRM,ABS,ESP ....) (думаю для разных машин по разному и с различной точностью, количеством инфо) скорость поворота руля и угол поворота (если память не изменяет с точностью до десятых долей) скорость вращения каждого колеса тоже с точностью до десятой доли км/ч. Но тут встает момент, что некоторые модули ABS при таких запросах становится в диагностический режим а свыше 30-50 км/ч выходят из него и перестают отвечать на подобные запросы. Но это не отменяет возможности подслушивать эти сообщения по CAN, например в приборку прилетает постоянно скорость. Но и тут от модели авто зависит, где-то это просто скорость, а где-то 4 значения по каждому колесу.
    И 2й вариант подслушивать эти сообщения на шине, когда блоки общаются между собой. И опять ньюанс, на разных машинах по разному, но например высокоскоростная шина моторного (мотор коробка абс) не флудит этим трафиком в ОБД, а на некоторых машинах наоборот все слышно по ОБД
    По частоте запросов точно не скажу, тоже вариативно, но минимум 1-2 запроса в секунду должно проходить, если запрашивать у блока, а если подслушивать, тот тут все от блока зависит. Вы же понимаете, что для своих целей внутри ABS получает данные напрямую с датчика, и в состоянии определить пропущенный сегмент на задающем диске а частота опроса в милисекндундах.
    Ответ написан
    3 комментария
  • Не работают 32 битные приложения из windows почему?

    GavriKos
    @GavriKos
    Потому что у тебя Linux, вот почему не работают.
    Ответ написан
    Комментировать
  • Лучший открытый wysiwyg формат?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Лучший для чего именно? Или в чем именно? Для начала рекомендую определиться с конкретными требованиями. А уже потом, отталкиваясь от конкретных требований и создавать свой редактор. При отсутствии опыта рекомендую для начала реализовать хотя бы какой-то максимально простой редактор текста. А уже после реализации редактора браться за стили текста - сделать какие-то простые вещи типа подчеркивания, курсива, шрифтов и т.п. Следующий этап - реализация редактирования какого-то простого стандарта, типа MD, например. И вот спустя год или даже несколько (если работаете над задачей не фултайм, а по вечерам) и набивания шишек на разработке простого редактора, вот тогда можно уже браться и за ODF. Там еще на несколько лет или больше хватит разработки: спецификация стандарта ODF занимает 1041 страницу текста плюс еще неизвестно сколько дополнительных материалов и ссылок на другие стандарты.
    Ответ написан
    4 комментария
  • Есть ли хорошие пошаговые туториалы проектов на С++ для новичков?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно С++ в вакууме не существует. Его учат сразу применительно к программированию UI под Windows,
    или к Unreal Engine, или к сетевому программированию под Linux/Unix. Или еще более специфичный
    сегмент - сетевое оборудование и микроконтрллеры. Это неизбежно.

    Особенно когда ты доходишь до дисковой подсистемы, сетей или мультизадачности - ты просто выходишь за рамки С++ и нужно разбираться во всем остальном. И мне кажется что в этом главный челлендж. Не сам язык а
    системная архитектура и прикладные фреймворки.

    Тоесть в самом вопросе ты должен сам решить куда ты дальше со знаниями С++ пойдешь.

    P.S. С++ за 14 дней... - это завсегда можно найти.
    Ответ написан
    3 комментария
  • Как правильно выбрать фреймворк и яп для проекта, если ты заказчик?

    vabka
    @vabka
    Токсичный шарпист
    Задача очень абстрактная и в такой постановке может выполняться на любом языке.

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

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Никак. Выбор инструмента - это задача тимлида и/или техлида. Т.е. ведущего/главного разработчика, отвечающего за принятие ключевых технических решений. Ваша задача, как заказчика, четко оформить требования, ограничения и сформировать начальное ТЗ и описание, что вам требуется от проекта, прототипы интерфейса, например. Без вникания в технические детали. Т.е., "хочу чтобы были фичи такие-то и работил они так-то, ограничения такие-то, требования такие-то". Далее уже задача найти разработчика/команду с большим или достаточным для данного проекта опытом. Далее из начального ТЗ формируется полноценное техническое задание: описывается весь требуемый функционал, рисуется дизайн, прописываются требования, ограничения и прочие хотелки. И на основе ТЗ, тим/тех лид уже подбирает/подбирают наиболее оптимальные и конкретные инструменты и решения, основываясь на собственном опыте и знаниях для конкретно этой задачи. Например, если человек хорошо знает несколько разных инструментов и есть достаточный опыт их использования - он может реализовать проект используя любой из них как одинаково хорошо, так и одинаково плохо. У разных ЯП и фреймворков свои плюсы и минусы. Далее из ТЗ формируется более детальное ЧТЗ и происходит разработка проекта.

    Вот вы говорите:
    Нужно будет выполнять много запросов к БД

    Важная быстрая скорость работы нашего сайта

    Много/быстро это сколько? 100 запросов в час? 1000 в минуту? 1М в секунду? Загрузка страницы за 30/10/1с или даже 100мс? А к какой именно БД? Какая характеристика самих данных и какого типа запросы? На какое количество соединений? В каком регионе? Есть ли там тяжелые или еще какие-то вычисления? Медиа файлы - картинки, видео? Тут очень много нюансов. В идеале следует определиться с конкретными значениями/параметрами и их описать в ТЗ. Ну или определить примерное, а фактическое значение определить на стадии прототипа/MVP и/или провести какое-то исследование/тестирование. Можно потратить десяток лямов на написание крутого кода на го/расте/С++/ассемблере в течении года и все будет летать на простейшем сервере. А можно купить свой сервер за лям (ну, условно, конечно), нанять питонщика или PHP-ника за 300к и он за пару-тройку недель добьется такого же результата. Большинство веб-задач сегодня достаточно просто или с минимальными усилиями решаются абсолютным большинством решений для веба. Да, у всех решений есть свои плюсы и минусы.

    Безопасность от всяческих XSS и SQL атак.

    Вот с этим проще: использовать популярные OpenSource решения, регулярно проводить тесты, нанять отдельно опытного разработчика, красноглазика и пентестера - и тратить на них деньги, пока деньги не кончатся или не будет достигнут необходимый уровень безопасности. Безопасность противоположна удобству, защита отстает на шаг от атак. Риск есть всегда и надо просто быть готовым к последствиям и иметь запасной плат хотя бы в общих чертах.

    А так - уже правильно посоветовали сразу брать дот-нет, т.к. у вас требование к использованию конкретной библиотеки для дот-нета.
    Ответ написан
    1 комментарий
  • Почему не надо редактировать данные БД через xlsx документ?

    @chemdev
    Никак, если бизнесу надо значит надо.
    На бэке пишется метод который импортирует файл. Импорт экселек как правило всегда сопряжен с различного рода трудностями (приведение к нужному типу, разрешение конфликта, ограничения на размеры файлов, сам импорт должен производиться на фоне либо в рамках запроса и многое многое другое) поэтому здесь особенно важно максимально детально проговорить спецификацию и покрыть тестами.
    Ну а реализация в интерфейсе либо совсем простая с инпутом для файла либо посложнее если какое то промежуточное подтверждение требуется. Посмотрите решения по импорту файлов в различных других сервисах, например bitrix24.
    Ответ написан
    Комментировать
  • QSS. Как изменить верхнюю панель?

    xzripper
    @xzripper
    0xC0000005
    Это невозможно, либо отказаться от такой идеи, либо сделать окно вообще без границ и верхней панели (QtCore.Qt.FramelessWindowHint), и сделать свою верхнюю панель.
    Ответ написан
    Комментировать
  • Какой самый лучший способ передать информацию между формами?

    @OwDafuq
    Много решений.
    Пара самых популярных:
    1) Конструктор с параметром (или публичное свойство).
    //form2
    public Form2(string value)
    {
    	Value = value;
    	...
    }
    
    //form1
    public Form1()
    {
    	...
    }
    
    void OpenNewForm(...)
    {
    	var form2 = new Form2("myString"); 
    	var form2_2 = new Form2
    	{
    		Value = value
    	};
    }


    2) Singletone объект (но лучше, если у вас есть DI). Объявляете объект, который будет хранить нужные вам переменные в одном месте и вызываете его где вам угодно.
    Ответ написан
    Комментировать
  • Как написать на с++ метод и экспортировать его в c# заинлайнить, и можно ли _fastcall его сделать???

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист

    Или бессмысленно маленькие методы экспортировать?

    Бессмысленно. Лучше сразу на C# их и писать.
    Прибегать к C++ и p/invoke есть смысл только если невозможно переписать на C#.

    Например это имеет смысл в случае библиотек уровня ffmpeg, sqlite, tensorflow
    Ответ написан
    Комментировать
  • VCS в квадрате. Можно ли с помощью Git контролировать состояние другого Git-репозитория?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Нет, рекурсия работать не будет. Гит увидит, что внутри каталога лежит вложенный репозиторий и проигнорирует его. А в своей базе пометит этот подкаталог как поддерево (subtree), чтобы не сломать.

    Вы пытаетесь соорудить какой-то жуткий костыль только лишь потому, что поленились изучить инструмент, в котором работаете. Поэтому для вас Git сейчас представляется как некая шайтан-машина, которой вы скармливаете команды, которые не понимаете, и в результате получаете ещё более непонятные «неожиданные результаты». Просто потратьте несколько дней, чтобы изучить азы. Не зубрите непонятные команды, а постарайтесь понять логику гита. А она — эта логика предельно проста и гениальна.

    не является сложной задачей что-либо сломать в своем проекте

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

    каким-то образом снес половину коммитов

    Коммиты в гите — это неизменяемые сущности. Можно лишь создать новые «на замену», но старые не исчезают. Коммиты невозможно удалить без специальных команд очистки мусора.
    Вам показалось что коммиты исчезли, но на самом деле они все остались в репозитории, вы просто их не видите в текущей ветке. Но всё легко откатывается назад, используя журнал Reflog.

    Поэтому было бы неплохо как-либо сохранять прошлые версии Git репозитория

    Reflog это и делает, по сути. Это журнал, который хранит указатели на все состояния проекта, в которых вы когда-либо находились ранее. И эти состояния сами по себе не исчезают, так что вы всегда можете откатиться назад в любое место.

    Мой вам совет: Пройдите 16 коротких бесплатных уроков и полу́чите просветление.
    Ответ написан
    2 комментария
  • Есть устройство на астра линукс (Смоленск) версия ос с сертификатом ФСТЭК, никак не получается установить программы или окружение на устройство, идеи?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Интересно, кто это пустил на Смоленск, где сертификат на гостайну - одмина, который явно что-то там хочет поставить с неодобренных реп?
    Братан, ты в курсе, что установка любого неодобренного "сертификатерами" обновления снимает сертификацию? Если у вас Смоленск - значит в нем есть необходимость - от балды такое не покупают. Особисты будут безумно рады, когда узнают, что их система превратилась в тыкву.

    В сертифиицированную систему лезть нельзя!
    Ответ написан
    2 комментария
  • Не работает простой код хотя он правильный в чем может быть проблема?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Цифр больше 9 в десятичной системе не бывает.
    А ваш код выдаёт числа от 1 до 10, как вы в нём и написали.
    Ответ написан
    1 комментарий
  • Как преобразовать std::function в указатель на функцию?

    @sergiodev
    Как вариант можно так сделать:

    1. Запомнить указатель на объект (this) в какую-то глобальную переменную
    2. Создать обычную функции в соответствии с параметром WlanRegisterNotification и передать её туда
    3. В теле функции достать указатель на экземпляр из глобальной переменной и далее работать с ним

    Возможно, ещё нужно учесть синхронизацию, если callback вызывается в другом потоке.

    Если вы работаете с функцией https://learn.microsoft.com/en-us/windows/win32/ap... из Windows API, то там есть параметр context как раз для передачи контекста в callback. Можно положить туда this и позже достать из контекста внутри вашей callback-функции.
    Ответ написан
    2 комментария
  • Как быстро изучить C#?

    @tukreb
    Быстро изучить просто.
    Придумывайте любой проект и начинаете его делать.
    И самое главное, вы должны делать это самостоятельно, без всяких тостеров.
    Книги вам помогут любые где есть просто базовые знания, а вот всякие ютуб каналы особо не помогут, может только чуть разобраться в фреймворках, но всё равно документация рулит.
    Если хотите создавать игры, то копайте движок Unity и его документацию.

    Сам процесс простой.
    1. Пишите как знаете проект, главное чтобы заработало как планируете, на сам код не обращайте особого внимания.
    2. Начинаете переписывать проект с полученным опытом из 1 пункта с использование новых знаний из прочтения книг по всяким архитектурам и паттернам.
    3. Повторяете в цикле первые 2 пункта до 11 класса каждый день тратя по 4 часа минимум.

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

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    С такой паранойей - и без антивируса?! Феноменально!
    Ответ написан
    1 комментарий
  • Можно ревью супергрязного(наверное) кода на с#?

    yarosroman
    @yarosroman Куратор тега C#
    C# the best
    Найди .gitignore для шарповых проектов, чтобы не тащить мусор в виде временных и исполняемых файлов на гит
    Ответ написан
    Комментировать
  • Какой стек использовать для десктоп приложений в гос.предприятиях в 2023 году?

    vabka
    @vabka
    Токсичный шарпист
    Мне удобнее сделать всё на C#, .Net, WPF и в случае появления linux запускать всё под Mono.

    Ты под Mono не сможешь запустить приложение на WPF:)
    Тогда уж сразу лучше писать на Avalonia.
    Это раз.

    Два - если будет Linux, то очень велик шанс, что какой-нибудь особенный российский linux, у которого могут быть проблемы с совместимостью - нужно будет тестировать и как минимум писать инструкции по установке.

    Три - лучше смотреть на конкретные требования заказчика. Сейчас даже на госпредприятиях чаще в веб идут.
    Ответ написан
    Комментировать