Information
- Rating
- 1,956-th
- Location
- Россия
- Registered
- Activity
Specialization
Десктоп разработчик, Разработчик приложений
HTML
CSS
JavaScript
Windows API
C++
UI/UX дизайн
Разработка интерфейсов
Дизайн продукта
Adobe Photoshop
Проектирование интерфейсов
Я уж отвыкнуть успел. В детстве было пять окон, и переключаться между ними
Alt+Tab’ом было удобно. Сейчас окон десятки. Перебором замучаешься по ним ходить. Активацию некоторых я посадил на глобальные хоткеи, среди остальных хожу мышкой.Вкладок в браузере всё-таки поменьше.
И вкладки в браузере (
Ctrl+Tab).Это не учёные, а… У Владимира Георгиевича есть хорошее определение.
Настоящие учёные не предлагают сворачивать промышленность («радикально сократить выбросы»), тем более, что это нереально. Настоящие учёные предложили проект планетарного кондиционера, и не один. Эти проекты были научно раскритикованы и объявлены нерабочими? Нет. И стоят они относительно недорого. Намного меньше, чем заварушка на Ближнем Востоке в год.
Плохая новость в том, что на природу всем пока что наплевать. А хорошая в том, что когда жёппки начнут пригорать по-настоящему, никуда не денемся, пойдём красить Сахару, дружно взявшись за руки. У любых межнациональных разногласий есть своя температура испарения. (Мне так кажется).
А News.YCombinator, или как там его? Не из той же оперы?
По описанию прикольная штука. Спасибо.
Жаль, что в виндах так нельзя. Повесить FTP на A:, например. Понятно, почему нельзя: OneDrive сам себя не продаст.
Вряд ли это предложение пройдёт. Не потому, что оно плохое, и не потому, что вы не заслуживаете рассмотрения. А просто… вот, сколько всего прикрутил к C++ Герб Саттер: контекстно-свободную грамматику, единый универсальный синтаксис, в котором, однако, функции выглядят как функции, а лямбды — как лямбды, и ещё куча всего. Ну и где это всё? Зато в C++29 запретили ранее разрешённые исключения в таком месте, где ни один здоровый человек их бы всё равно не выкинул.
Однако, есть, к счастью, механизм, который позволяет накручивать такие вещи сверху. Герб Саттер как раз им воспользовался. Я только не знаю, можно ли выстраивать цепочки.
Так вот, к чему это я. Я бы не стал ждать пока предложения забобрят в самом Комитете, а воспользовался бы вашим препроцессором хоть завтра. Он выглядит адекватно. Только вот насчёт цепочек непонятно. На C++2 я, скорее всего, всё-таки перейду. Но и
#forмне бы тоже хотелось. Лично я не смотрю на известность инструмента, я смотрю только на то, решает он мои проблемы, или нет.Вот обратите внимание, кстати.
https://ru.wikipedia.org/wiki/Яндекс
https://en.wikipedia.org/wiki/Palantir
Раздел с критикой в статье про Яндекс называется «Критика». Раздел с критикой в статье про Palantir называется “Controversies and conspiracy theories”. Вот так.
Я думаю, он просчитался. Решил, что через годик-другой получит назад свой «Яндекс» и «ВК» на проценты, а тем временем посидит вне санкций. План надёжный, как швейцарский сыр, но что-то пошло не так.
Я не миллиардер, и не знаю, что происходит в головах у миллиардеров, подвластны ли они простым человеческим эмоциям, типа злости, обиды и разочарования. Но с моей кочки сделка именно с «Палантиром», на который многие порядочные американцы плюются, выглядит похоже. Типа, «Ах так, ну я вам щас покажу!». Штош, он такой не первый и, к сожалению, не последний.
Что-то посмотрел я примеры…
Сравнил
#forс вот этой гармошкой:[: expand(members) :] >> []<auto M>()… Очень жаль, что @VADemon не работает в комитете!Не, ну, конечно, лучше такая рефлексия, чем никакой. На макросах это вообще не сделать.
Так он же казах?
А зачем?
Autoruns хорош разве что как TODO-list на удаление. И вообще, для диагностики. Но не для управления: вы всё отчекните, а потом кто-то чекнет всё назад, например, при обновлении. Наверное, те самые гномики, которых в Майкрософте заставляют считать на собеседованиях. На должность маркетологов и менеджеров по злодейству.
Мой рецепт: файлы надо вычистить, забрать ownership на папку и явно запретить к ней доступ всем, кроме себя, чтобы при обновлении восстановить не получилось. Так надо сделать с Edge, WinStore и всеми остальными из их братии. Но, наверно, умнее поступить как @MrBotikkk — поставить сразу корпоративную LTSC. Лично я просто хотел посмотреть на 11-ую глазами среднего юзера, а когда насмотрелся до тошноты, переставлять стало лень.
P.S. Если кто-то хочет сказать мне, что я ламер и ещё пожалею о кощунственном вмешательстве в священные винды своими кривыми руками (такое периодически пишут), то да, я ламер и пожалею. Всенепременнейше. Помолитесь о моей заблудшей душе.
Тут ситуация следующая. Если вы хотите видеть и управлять всеми процессами, вам нужны админские права. Единственный способ запустить приложение с админскими правами при логине — создать задачу в скежулере с повышенными привилегиями и повесить её на событие входа. Но из-за бага в Explorer’е при этом происходит race condition, и запросы на создание иконок в трее не выполняются с вероятностью, зависящей от скорости компьютера. Имейте в виду, если будете писать приложение, создающее иконки в трее, которому нужны повышенные права и которое запускается при логине.
Не знаю, связан ли запуск за «секунды 3» с попыткой закостылить этот баг, это надо у Руссиныча спрашивать. Что касается меня, лично я поставил задержку задаче запуска PE целых 30 секунд. И только после этого ни разу не было так, что PE запустился, а иконок в трее нет. Даже с учётом того, что у меня запускается при логине до черта всего. И всё с админскими правами. Спасибо за это Майкрософту, который отключает глобальные клавиатурные хуки у приложений, когда в фокусе окно с более высоким Integrity. Даже AIMP приходится запускать с админскими правами. Тоже через задачу, и тоже с задержкой, но уже 35 секунд (5 секунд отдано PE).
И даже если PE 3 секунды тратит на что-то своё, не связанное с этим багом, на фоне задержки в полминуты я этого всё равно не вижу. А окно из трея он открывает мгновенно.
Ключ в реестре для поддержки uBlock Origin и других расширений MV2: https://download.mozilla.org/?product=firefox-stub&os=win&lang=en-US
Долго искал, как настроить фон колонок, и не нашёл. Функционала много, но оформлен неудобно.
Типичный опенсорс. Решил, что остаюсь пока на PE.PE не тормозит, а на исходники мне наплевать. Но по функционалу он действительно понавороченнее. Например, сходу мне показал, когда я в трей вынес иконку физического расхода памяти, кто главные проглоты.
Спасибо за рекомендацию.
Это надо говорить не мне, а коллеге, который перевёл тему на поделки. Если качество кода — самостоятельное понятие и не зависит от того, где код использован, в домашней поделке или огромном проекте, зачем тогда было упоминать домашние поделки? Понятно, что это было сделано, чтобы унасекомить. Так я тоже так умею 8-P
Если возразить по сути, без личных нападок, типа, что будет при несовпадении
"IsFolder"иentry.is_folder, так я и отвечу по сути. Какая разница, где я это использовал. Хотя, конечно, приятно вспомнить, что этот код не сломался у (без малого) миллиона моих юзеров. Во многом благодаря тому, что я фанатично уничтожаю копипасту.Так в этом же суть.
Когда я задал вопрос про стрингизацию в C++23, то ждал, пока кто-нибудь спросит, а зачем мне вообще маппинг имён 1:1. Ответ (на незаданный вопрос): во-первых, в C++ очень строгие требования к идентификаторам. Я это знаю, потому что пытался их обойти, соорудив новый синтаксис лямбд из символа
→(сделать из простой клавиатуры типографическую в любом случае полезно). Такой выразительности позавидовали бы и C#, и JS. Но не вышло, не фартануло. Как оказалось, C++ хорошо знает, где буква, а где нет. Вот так можно:А вот так — нельзя:
Во-вторых, при маппинге обеспечивается уникальность пары «категория + настройка». Иначе код просто не скомпилируется. В чистом итоге, чего мы добились, гарантировав (пришлось это сделать макросами, хотя я бы предпочёл рефлексию) маппинг 1:1? Добились мы того, что компилятор проверяет валидность имён (нет спецсимволов, которые могут озадачить сериализатор и парсер) и проверяет непротиворечивость формата файла. Что может быть прекраснее, чем нагрузить компилятор ещё одной проверкой, да ещё и данных?
Подумать, какое это отношение имеет к
item.set_item("IsFolder", entry.is_folder)остаётся в качестве самостоятельного упражнения.У последнего зарелизенного проекта с внутренней логикой на C++, над которым я работал (с ещё одним коллегой), было немногим менее миллиона пользователей. Пойдёт такая поделка?
«В большом проекте писать потенциально опасные макросы» — если вы это про глобальные макросы, которые реально потенциально опасны, то не надо приплетать к ним меня. Я практикую другой препроцессинг: написал, тут же использовал, тут же уничтожил. Как бы, я привёл два разных примера на эту тему, можно было увидеть паттерн (если есть желание понять).
А вообще, любой желающий отлить свой негатив к макросам во что-то общественно-полезное приглашается вот сюда: Как сделать простую рефлексию (стрингизацию имён типов) на C++23?. Вот куда я бы точно не хотел совать макросы, так это туда, но как всегда, когда коснулось, оказалось, что завезли один magic_enum.