Комментарии 8
Одной из самых раздражающих проблем стали фризы интерфейса при загрузке 4K-изображений. Сейчас я работаю над внедрением std::jthread из стандарта C++20.
Каким образом jthread может решить вашу проблему, явно происходящую от того, что UI и загрузка не распараллелены?
так как проект использует современные фичи вроде std::format (в планах) и асинхронные потоки
ни того ни другого в коде нет
я реализовал обертку CurlWrapper с использованием принципов RAII.
не изобретайте велосипед, используйте библиотеку
стандарт C++20. Это критично, так как проект использует современные фичи вроде std::format
Вы удивитесь насколько слабая поддержка std::format в STL C++20. Используйте libfmt лучше сразу
Системное программирование — это не страшно
У вас не системная а прикладная утилита, несмотря на то что C++
должна одинаково хорошо чувствовать себя в разных окружениях: от KDE и GNOME до Windows
В коде есть GnomeSetter и KdeSetter, упоминается несуществующий LinuxFallbackSetter. Поддержки Windows нет.
WallpaperFactory::create
/* soon
#ifdef _WIN32
return std::make_unique<WindowsSetter>();
#elif defined(__APPLE__)
return std::make_unique<MacosSetter>();
*/
#ifdef RWAL_USE_KDE
return std::make_unique<KdeSetter>();
#elif defined(RWAL_USE_GNOME)
return std::make_unique<GnomeSetter>();
#elif defined(RWAL_USE_FALLBACK)
return std::make_unique<LinuxFallbackSetter>();
#else
return nullptr;
#endifИзначально я пробовал использовать Docker для изоляции окружения, но для системной утилиты, которой нужен доступ к D-Bus хоста, это создавало лишние накладные расходы. В итоге я перешел на «чистый» CMake.
Как связаны Docker и CMake?
И статья выглядит очень похожей на ИИ-генерацию, учитвая, что био профиля, README (и прочие .md файлы в репозитории) явно сгенерированы нейронкой
Про LinuxFallbackSetter и Windows - мой косяк. В коде пока только заготовки и планы, в статье я имел ввиду только плановую поддержку Windows.
Связь Docker и CMake была в попытке сделать контейнерную среду сборки, но из-за проблем с пробросом я в итоге выбрал обычный CMake.
Для оформления README и профилей действительно использую ИИ. Но архитектуру и статью пишу сам. Ошибки в репозитории это как раз подтверждают)
Детекторы на технические тексты всегда так реагируют, там слишком много структуры. Я не отрицал, что использую ИИ как инструмент, странно ожидать, что я буду вручную вылизывать все, что делаю. Но за логику и код в статье отвечаю я, и ошибки там вполне человеческие. Если считаешь, что статью написал бот - твое право. Я пришел за фидбеком по коду, а не за охотой за ИИ.
Проблема не в самом ИИ, а в том, что за статьёй по факту ничего не стоит. Вместо того, чтобы просить нейронку "напиши статью, вот код", можно было написать личный опыт при разработке, аля на какие грабли наступил. Я не проф писатель статей, но именно это я примерно и ожидал, когда увидел статью в ленте, как читатель.
И современные детекторы очень даже неплохо различают рукописные технические статьи от сгенерированных (сам Хабр пользуется GigaCheck). В самом тексте есть различные нестыковки, которые написал, скорее всего, ИИ, так как ему неизвестен полный контекст создания программы.
У тебя крутой возраст и проект для старта в C++, но не стоит это тратить на какой-то промпт-инжиниринг для Хабра
Да, ты прав.



Rwal: Как я пишу кросс-платформенный менеджер обоев на C++20 в 10 классе