Pull to refresh
12
0
Решитко Дмитрий @grumegargler

Программист

Send message

Несомненно. Я оставил свой комментарий лишь по той причине, что после прочтения вашей по настоящему полезной статьи, у неискушенного читателя может сложиться обманчивое впечатление, что всё просто, всё работает. Отчасти это так, но и нюансы есть, которые могут выйти на первый план, если задача будет немного отличаться. Воспринимайте это просто как дополнение, а не контраргументы.

Интересно, у нас другой опыт. Разрабатывали для бизнеса голосового помощника (на raspberry pi 5), и быстро пришли к тому, что вся эта затея будет иметь смысл только при условии максимально качественного распознавания как ключевого слова, так и всей речи. К сожалению бесплатные решения, пришлось заменить на коммерческие. Тот же porcupine например, существенно лучше показывает себя в зашумленных помещениях (цех, гараж), да и в офисе откликается в 9 случаев из 10, в то время, как всё остальное, что пробовали, в лучшем случае 7-8 из 10.

Представьте себе посадку на спортивном велосипеде. Быстро, но не удобно. А вот на голландских удобно. Потому, что они проектировались под комфорт

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

Мне кажется мы говорим об одном и том же, просто разными словами. Тонкий момент в том, что двойная ответственность синглетона наступает в момент его эксплуатации, той функциональностью, которая не должна знать о технической реализации передаваемого источника настроек (как пример). По моему мнению, сам по себе синглетон не виноват в том, что он отражает вполне конкретные сущности приложения, и если некоторой функции нужно только имя хоста, а не все настойки, то значит пусть она через формальные параметры его и принимает. А не так, что по быстрячку прокидываем синглетон, а потом "а как же тесты? ооо...плохой сингтелон, плохой".

Конфиги как синглетон - это проблема для тестирования: одному тесту ты передашь один конгфиг, другому второй, третьему третий. И ранишь все эти тесты параллельно, как это будет работать с синглетоном?

т.е. проблема ускоренного тестирования протекает в абстракции приложения, не предназначенные для его (приложения) работы? То есть тестируется приложение в режиме, в котором оно работать не будет.

Т.е. результаты были сразу после экзамена? Я сдавал в Монреале, и результаты нужно было ждать 2 недели, потому что их куда-то отправляют, а не проверяют на месте. Был французский в школе и институте, поэтому мне понадобилось 4 года ежедневных тренировок по полтора часа и 5 попыток сдачи, чтобы выйти на баллы, превышающие 6.5 по всем навыкам. Важный нюанс, потому что не везде проходит средний балл. У меня тоже говорилка как-то была 8.5, а письмо 6...ан-нет, надо было все 6.5 минимум.

Если они используются как глобальные объекты, становится сложно выбрать конфигурацию для тестовой среды.

Подскажите пожалуйста, а что это за приложения, которые требуют изменения тестовой среды, во время работы этого приложения, и при этом, не требуют смены настроек в режиме продуктовой эксплуатации?

на этом можно было прервать предложение

ну так не я же применяю жпт для с++, а автор сообщения, на которое я отвечаю

восторг от применения подобных ИИ-ассистентов, прямо пропорционален отсутствию знаний в областях, для которых он применяется. Будьте бдительны, особенно c с++, ни один тест не выявит ub в например, таком коде:

auto iterator = vector.begin ();
vector.push_back ( 0 );
while ( iterator != vector.end () ) {...}

Чтобы понять, насколько глубоко вы зарываете таким образом проблемы и "экономите" время, попросите его что-нибудь простенькое, синглетончик, или шаблончик над коллекцией для работы в многопоточке, пригласите с++ специалиста и послушайте, что он вам скажет.

Я тоже пользователь ВР с многолетним стажем, и ваше мнение не разделяю. Я в шлеме не работаю, но для досуга и базового фитнеса, считаю эти устройства очень практичными. Типовые сценарии из моей повседневной жизни:

  • Утром, PowerBeatsVR (Beat Saber мне не зашёл), вместо утренней зарядки.

  • В течении дня, пошел ставить чайник, есть 5 минут. Одел шлем, Eleven Table Tennis, сгонял партейку, поразмял глаза и тело.

  • Каждый второй вечер, The Thrill of the Fight, 25 минут боя с виртуальными противниками в режиме дополненной реальности, чтобы мебель не поломать. Пульс 130-150 на всё время и мокрые трусы - гарантированы. Мало? Одеваем на руки утяжелители.

  • Летом, Tennis VR. Выхожу вечером на школьный стадион, и в режиме симуляции, с наложением поля, рублюсь с большой теннис.

Конечно, реальный фитнес это не заменяет, но тут вопрос доступности. Не нужно искать партнера для игры, он всегда с вами, у вас на устройстве, любого уровня.

Не фитнес игры:

  • С женой в выходные, если не еду на природу, партейку сыграем в Walkabout Mini Golf.

  • Дьябло 4 с другом с другого конца света, через Virtual Desktop, у себя в кабинете, никому в доме не мешая смотреть сериалы, в удобной позе на софе с джойстиком проходим третий сезон. Пробовали играть плоские игры в шлеме? Попробуйте, очень интересный опыт. Желательно конечно мощный комп и прикрутить d-link air bridge.

  • Буквально вчера вечером, звонок от шефа, Hey Dima, would you like to kill some bastards? За окном вечерний зимний кизяк, а мы в тепле гоняем Zero Caliber, и не лупимся в экран, а хоть как-то двигаемся, приседаем, поворачиваемся.

В чем я не прав?

Просто вам, как и многим другим, это не зашло.

Да, вы правы, для комфортной работы в vscode потребуется настойка и понимание как работают все эти launch.json, tasks.json, c_cpp_properties.json, и другие конфигурационные файлы и служебные переменные, профили, рабочие области и другая внутрянка, которую clion элегантно скрывает. В общем, мне кажется это не вопрос отсутствия функциональности vscode, а философии. Хочется сесть и работать - clion, хочешь понимать и максимально влиять на то, что происходит - vscode (ну или vim).

Справедливости ради, clion тоже порой заставлял снимать процесс по простому переходу к определению (f12), заметно прорисовывал синтаксическую раскраску, неверно интерпретировал ошибки анализатора.

непонятно как редактор окончательно заставить не удалять впереди стоящее слово при автозаполнении,

если ещё актуально, попробуйте в конфигурационный файл добавить:

"[cpp]": { "editor.suggest.insertMode": "insert" }

Именно с указанием cpp, потому что этот плагин переопределяет глобальную настройку. И тогда он и через точку и через ctrl+space удалять впереди-идущее слово не будет.

clion несомненно очень приятная среда разработки, и элементы интеграции прям из коробки, но вот уже больше года назад как полностью перешли на vscode, и не могу сказать что сильно уступает.

я использовал Whisper v2 и он клал на лопатки Google Speech-to-Text просто влёгкую

Можете чуть подробнее об этом рассказать? Лично у меня ровно обратный опыт, я не нашел как в Whisper v2 задаются каналы или таймауты определения наличия/отсутствия голоса, специфические термины (ихний промпт очень мал), концепцию классов, как фраз, так и токенов, модели (не размер, а например, если это запись телефонного разговора с клиентом, модель phone существенно лучше default).

Уточню свой вопрос. Конечно, речь не непосредственно о векторе, я понимаю, что это шаблон и инстанцированный код класса будет частью моего объектного файла. Но сама реализация вектора, аллокации там и другая логика, могут перейти описываемую вами границу?

Простите за дилетантский вопрос, но когда мы пишем auto vector = std::vector (); мы, получается, переходим бинарную границу?

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

Подскажите пожалуйста, это тезис на основе практического опыта, или есть где про это почитать поподробнее? Я вероятно заблуждаюсь, но мне казалось что "C++ Exception Handling" описывается стандартом и компиляторы, соответствующие этому стандарту, должны поддерживать обработку исключений совместимым образом. То есть если не полагаться на специфические для компилятора расширения, то исключения должны выбрасываться и отлавливаться в соответствии со спецификациями стандарта, обеспечивая предсказуемое поведение.

Кажется, что пример для совета N30 выбран не совсем удачно, ведь что новичок, что бывалый, на мой взгляд, напишут одинаково так: while ( i-- )

С разницей в механике торможения сложно не согласиться, но считать это главным недостатком, перечёркивающим всё остальное, уже не получается. Для меня, при соблюдении умеренного скоростного режима обоими устройствами, управление колесом безопаснее практически во всех сценариях (всё тут пишу исключительно за себя). На моноколесе сложно не затормозить, откидываться назад естественно в случае приближения к неожиданному препятствию. Худшее, что происходило, падение на задницу или просто спрыгивание с пробежкой. В случае с самокатом - кувырок и неконтролируемое падение. Для самоката также нужна сноровка, чтобы оттянутся вовремя назад, чтобы руки всегда держать на рычагах (иначе то небольшое преимущество что может быть, полностью нивелируется). При этом нужно контролировать палец, чтобы в случае опасности, не зажать его и не ускорится вместо торможения. Вот здесь https://youtu.be/R90eN5jL3-U?t=379 парни оттармаживаются с 50км в час.

1
23 ...

Information

Rating
Does not participate
Location
Montreal, Quebec, Канада
Date of birth
Registered
Activity