Пікірлер
@Nop_90h
@Nop_90h 2 күн бұрын
Yo Yo !
@Nop_90h
@Nop_90h 2 күн бұрын
Деятельность ради деятельности, к практике отношения не имеет вообще. Раз уж Константин Игоревич занялся философскими вопросами, почему бы ему про симулякры не почитать.
@sergey-chigarev
@sergey-chigarev 2 күн бұрын
Крайне странный термин "типовая информация". В русском он другое означает, а устоявшийсч термин для того, о чем рассказ - "информация о типах"
@КошакРыжый
@КошакРыжый 8 күн бұрын
Проверка в рантайме это чушь, полная чушь. Даже рефлексию делают статической. Как же это плохо, у языка проблема с многословностью уже сейчас в одном объявлении функции можно увидеть template const constexpr static override delete noexcept nodiscard auto, а еще какую нибудь проверку SFINAE и вариадик параметры. Уже доходит до того, что объявление функции может быть в три раза объемнее реализации. Успокойтесь наконец, хватит. Как же я злюсь, в стандарте нет ни графики ни сетей, зато куча концептов да контрактов которые никак не реализуют
@bartolomeykant
@bartolomeykant 4 күн бұрын
А как проверить рантаймовые значения не в рантайме?
@КошакРыжый
@КошакРыжый 2 күн бұрын
@@bartolomeykant Писать обработчик. Дело в том что если требуется проверка значит нужна и корректная обработка, например бросить исключение или вернуть дефолтное значение. Если подразумевается что проверку обязуется выполнить вызывающая сторона, то глупо дублировать такие проверки. Проверки нарушения контрактов обычно выполняют упомянутым в видео assert. Если в коде нужно что-то более серьезное чем assert то на такой случай невозможно придумать стандарт, всегда будут уникальные запросы. Возможно я не правильно понял суть, или автор видело не справился и не донес идею, но то что я увидел сильно разочаровывает. Я был бы рад если бы продвигали в стандарт альтернативу макросу assert или механику позволяющую писать свои ассерты которые работали бы с модулями, но к сожалению в стандарт суют этот мусор, который отвлекает комитет от действительно важных задач. В стандарте есть отличный инструмент static_assert пусть бы развивали его, например сейчас нет простого способа вывести имя типа в лог компилятора. Обычные assert в бывают разбросанные по всему телу функции, это исключительно отладочный инструмент выполняющий роль встроенного юнит-теста, assert использует не только входные и выходные параметры а так же внутреннее состояние функции и даже глобальные данные, т.е. уже имеющийся инструмент горздо мощнее и гибче предлагаемых контрактов.
@bartolomeykant
@bartolomeykant 2 күн бұрын
@@КошакРыжый по сути то что предлагается это asset до вызова функции, после вызова функции и можно еще несколько внутрь функции засунуть. И все это при срабатывании попадет в специальный обработчик, который один на все приложение. Для отладочных целей из этого обработчика можно напечатать стек трейс или дождаться подключения дебагерра. Больше он не зачем не нужен по сути. И этот механизм един во всем коде, какую бы стороннюю библиотеку вы не подключали. Получается вызов функции с контрактом исключает UB, так как нарушение контракта приводит к определенному поведению - крашу приложения. У меня ide мне подсказывает если я обращаюсь к значению optional без проверки, так и тут ide может предупреждать, что для вызова функции нужно сначала убедиться, что контракт соблюдается, а компилятор двойные проверки сможет оптимизировать.
@EvgenyChannel
@EvgenyChannel 8 күн бұрын
Если ссылки нельзя, так хоть сами в описание добавьте. Ну жесть же JmuLW5So4FU каждому заинтересовавшемуся с экрана 41:28 переписыать.
@GenoikVic
@GenoikVic 8 күн бұрын
При просмотре хотелось бы меньше смотреть на слушателей, а больше на экран. Мне лично малоинтересно смотреть на лица других людей.
@asc7uni
@asc7uni 9 күн бұрын
Отличный доклад, спасибо. С языком и терминами всё хорошо и понятно было.
@mykola3915
@mykola3915 9 күн бұрын
Переводить технические определения с английского на русский это ужасно. Говорите по нормальному всегда на английском. Когда говорят на русском впечатление будто вы из села или в пту программирование учили
@прокрастинатор-я8в
@прокрастинатор-я8в 9 күн бұрын
запретите русский язык, русскую культуру, россию наконец... маладец
@КимЧенОрк
@КимЧенОрк 7 күн бұрын
Привыкнешь
@niklkelbon3662
@niklkelbon3662 9 күн бұрын
* мы сделали очень расширяемый пропозал по контрактам * но у нас нет ничего кроме рантайм чека, который мы требуем * в будущем что-то добавим (очевидно нет, если требуется рантайм чек, то никаких оптимизаций делать нельзя) И это при том, что вся стандартная библиотека (где в первую очередь должны появится контракты) просто завалена кодом, где нарушение контракта == уб
@КошакРыжый
@КошакРыжый 2 күн бұрын
Все так боятся этого страшного UB. Иногда хочется выписать профилактическую оплеуху очередному докладчику ругающему UB. Почему то все забывают что UB полезен, это отличный способ развязать руки опимизатору. Мы же не хотим при работе с массивом постоянно выполнять проверки выхода за массив, ведь это не бесплатная операция, вот UB и решает эту проблему. В стандарте сейчас есть std::variant который не позволяет бесплатно получить содержимое, std::get и std::get_if выполняют проверку даже если автор кода точно знает что в нем храниться. Вот какой осел до этого додумался? В том же std::optional хватило мозгов сделать небезопасный оператор *.
@SmoukingMouse
@SmoukingMouse 9 күн бұрын
Я так и не понял о чём доклад, случайный набор мемов без объяснения как избежать "мемной" ситуации в реальной жизни, какой то набор списков из тулов и библиотек. Всё это больше тянет на смешную (нет) презентацию в коридорах конференции. Ну и конечно же отдельного слайда с мемом заслуживает то как отдельные представители C++ сообщества хейтят java и windows, со своим "мы быстрее java пук-срёньк windows плохая пук-срёньк".
@АлексейПюрецкий
@АлексейПюрецкий 11 күн бұрын
Материал ок, но плямкание тамады подбешивает
@MichioSempai
@MichioSempai 11 күн бұрын
С одной стороны классно. С другой стороны в sqlite явно были реализованы не всё способы оптимизации. Проблему медленной записи можно было бы решить несколькими бд, а чтение в sqlite вообще можно скейлить бесконечно, колличество читающих процессов у sqlite может быть любым. В итоге кажется, что решали тоже самое что уже решено в самом sqlite.
@GrowHobbyRU
@GrowHobbyRU 15 күн бұрын
Не собирается... инструкция не достаточно детальная для меня. Но Llama собралась и получилось поиграться с моделью model-q5_K.gguf. Спасибо за доклад.
@ДмитрийЗахаров-д6ж
@ДмитрийЗахаров-д6ж 16 күн бұрын
Про подбор помощи - это прям в точку)
@Satabol
@Satabol 23 күн бұрын
В принципе было бы неплохо провести параллель между целями-target CMAKE и проектами в Visual Studio, поэтому напишу так: CMAKE-project() - Это Solution в Visual Studio Add_library, add_executable (это цели/target) - проекты в Visual Studio, по одному проекту на цель. И вот задача cmake - настроить все проекты под Visual Studio (когда сборка идёт под неё). Поэтому после конфигурации CMAKE он может нагенерировать очень много проектов в Solution.
@Satabol
@Satabol 23 күн бұрын
Хороший стрим. «Эксперты» немного с вопросами подкачали (надо было бы заранее немного почитать про cmake и самим попробовать). Так-то стрим больше подходит тем, кто хоть немного пробовал в CMAKE. Я недавно начал его изучать, т.к. очень много пакетов на Linux на c++, которые хотелось бы видеть под Windows в виде DLL и .lib, например, всякие математические пакеты (GMP, Mpfr и производные от них). Уже понимаю о чём идёт речь в стриме. )
@ПавелПоляков-ж2ж
@ПавелПоляков-ж2ж 27 күн бұрын
Алексей, огромное спасибо за доклад! Было бы здорово послушать о работе TSan и UBSan.
@valexeye
@valexeye 23 күн бұрын
Пожалуйста :-) А про TSAN я уже рассказывал. Поищите на канале видео под названием "Алексей Веселовский - Анатомия ThreadSanitizer" . Но, кажется, надо сделать обновленный доклад -- во-первых там несколько поменялся алгоритм и реализация, во-вторых я не вполне удовлетворён своим докладом, как он получился. А про UBSan -- да, это следующий кандидат. Обязательно расскажу.
@zlatoust4444
@zlatoust4444 27 күн бұрын
такие все умные , а goodbyedpi написал другой.Без него я бы вас и не смотрел может быть.
@DmitryMorozov-r5d
@DmitryMorozov-r5d Ай бұрын
если добавить возможность парковки не прям щас а через какое то время то все переделать придется
@KonovDS
@KonovDS Ай бұрын
Константин Игоревич как обычно, когда вдруг начинаешь думать что чуть-чуть разбираешься в плюсах приходит и полностью уничтожает эту мысль
@АлександрБотев
@АлександрБотев Ай бұрын
меня скорей мотивирует, его лекций по многопоточке вообще послушал в захлеб и решил задачу на работе, благодаря его лекций
@MakarenkoSasha
@MakarenkoSasha Ай бұрын
я в восторге. очень понравилось.
@antonguda2551
@antonguda2551 Ай бұрын
Presentation is visible, but unreachable!
@CUserGroupRussia
@CUserGroupRussia Ай бұрын
Hello! You can download the presentation here: jrg.su/Z92oYk. Please check your browser's settings if the downloading doesn't start.
@Selfrock_Vladimir
@Selfrock_Vladimir Ай бұрын
Если он недостаточно знает язык C++, то кто же знает его достаточно?
@АлександрКузоватов-т5р
@АлександрКузоватов-т5р 25 күн бұрын
никто не знает полностью си++ Если только несколько десятков человек
@MariaEsenina
@MariaEsenina Ай бұрын
Я тоже прочитала "детонация" 🙃 Небольшой upd. С одной стороны мне понравилось как у меня работает интуиция, т.к. заранее не знала, что на самом деле более правильно в каждой ситуации, с другой, я против любых "неоднозначностей", даже если она на самом деле таковой не является и допускается стандартом, несмотря на то, что моя интуиция буквально всё "угадала". Это может на ровном месте запутать код. Разумеется, не всегда можно гарантировать, что имена переменных не пересекутся (могут запросто использоваться разные библиотеки с разными пространствами имён, но совпадающими именами внутри них), но сам код должен быть написан таким образом, чтобы одного беглого взгляда было достаточно чтобы сразу понять что к чему относится, вместо того чтобы приходилось распутывать даже допустимую стандартом схему. Если планируется крупный проект, то проще на этапе разработки дизайна определить систему наименований так (всерьёз об этом позаботиться заранее, а не придумывать в процессе), чтобы минимизировать вероятность пересечения с другими (включая другие библиотеки), даже многословность лучше мнимой неоднозначности (не говоря о фактической неоднозначности, когда один компилятор может вообще отказаться с вами работать).
@katelyapina1142
@katelyapina1142 Ай бұрын
Офигенная тема и содержание, побольше бы такой годноты
@ordinary_man_84
@ordinary_man_84 Ай бұрын
сложно ли выделять память и освобождать ее, когда она перестала быть нужной объекту?
@sunheretic13
@sunheretic13 Ай бұрын
Осталось только уточнить что был переход версий conan. В результате поменялось почти всё. Куча настроек перестала работать. Куча рецептов для пакетов из публичной репы конана перестала быть валидными. А чинить, точнее переписывать рецепты разрабы не слишком спешили. Приятно получить в один из моментов нерабочую систему сборки.
@dominuspiritus
@dominuspiritus Ай бұрын
5:45 где-то в углу заплакал UHT
@tertiumorganum5665
@tertiumorganum5665 Ай бұрын
крч чуваки если вам ехать, юзайте го. да он чуть медленней. ну если вам шашечки - тут мля без вариков 😅
@tertiumorganum5665
@tertiumorganum5665 Ай бұрын
депрессивненько. но чесскать на примерах такой код местами что по хлебалу клавиатурой можно дать. то, что оно типо вписывается в стандарт, не даёт индульгенцию, особенно учитывая, что кому то потом это поддерживать
@user-mi4ww6wn2t
@user-mi4ww6wn2t Ай бұрын
На RuTube тоже было бы неплохо залить копию. Это важный доклад
@CUserGroupRussia
@CUserGroupRussia Ай бұрын
Видеозаписи докладов также можно найти в VK Видео: vk.com/video-77278886_456239902
@MakarenkoSasha
@MakarenkoSasha Ай бұрын
да. надо привыкать. в итоге все туда переолзём
@eugeneus77
@eugeneus77 Ай бұрын
Ток у меня чего-то вышло что 1.5 млрд секунд это 47.5 лет примерно я оправдал Джо на 25 лет
@surtaevm
@surtaevm Ай бұрын
залейте копию в вконтекте
@CUserGroupRussia
@CUserGroupRussia Ай бұрын
Здравствуйте! Ссылка на видео: vk.com/video-77278886_456239902
@asc7uni
@asc7uni Ай бұрын
Потрясающе
@sunheretic13
@sunheretic13 Ай бұрын
TrivialBiMap или похожее решение не помешало бы в какой boost засунуть
@Nop_90h
@Nop_90h Ай бұрын
Лозунг порадовал😂
@vilture5706
@vilture5706 Ай бұрын
Итог, не пользуйтесь динамической памятью в Embedded. Это все не спроста, Embedded устройства, это очень ужатые в ресурсах устройства, которые должны работать 24/7/21/365. Если они будут отказывать, кто то будет умирать.
@IgorPolozov-uu5fn
@IgorPolozov-uu5fn Ай бұрын
Если исх. строка удовл-щая. условию является набором не повт- щихся символов, то количество возм. разбиений 1. То есть n односимвольных строк. Алгоритм очевиден) Если в исх. стоке есть повторы, то я бы сделал копию, отсортировал и применил std::unique. Далее полученный диапазон использовал бы для поучения односимвольных строк, как сказал вначале. Однако, собеседование не про плюсы.
@yevheniich5178
@yevheniich5178 Ай бұрын
Из этого всего я вынес то что не стоит лезть в глубокий эмбедед с С++. То ускорение написания кода съелось героическим хождением по граблям и придумыванием костылей.
@IgorPolozov-uu5fn
@IgorPolozov-uu5fn 2 ай бұрын
point надо vector< int>::size_type
@Nop_90h
@Nop_90h 2 ай бұрын
Самое мемное в этом докладе - это фамилия докладчика.
@НикитаБуров-ъ6р
@НикитаБуров-ъ6р 2 ай бұрын
задача душное дерьмо, посмотрел 15 минут, хер пойми что хотят, в конце выяснится что какой-нибудь стек или бектрекинг
@benisrood
@benisrood 2 ай бұрын
This is a *very* good programmer. Like maybe in the top few hundred on earth.
@silversailor7077
@silversailor7077 2 ай бұрын
А чем deque хуже FIxedArray?
@cdeblog
@cdeblog 2 ай бұрын
В очередной раз убеждаешься, что с++ хоть и мощный язык, но сделан через одно место (жопу, есть хотите уточнений) сначала придумывают странные конструкции, затем в следующих версиях стандартов героически борятся с их проблемами и в итоге язык обрастает кучей очень запутанных правил и исключений😢
@apivovarov2
@apivovarov2 Ай бұрын
осилить с++ могут не только лишь все
@apivovarov2
@apivovarov2 Ай бұрын
могу порекомендовать раст, там все хорошо и таких проблем нет
@MathPTU
@MathPTU 25 күн бұрын
++ иногда хочется спросить, о чем они думали, когда это вводили
@shatalinator
@shatalinator 2 ай бұрын
Раздавили пузырик и сидим общаемся. Плохо что ли? Хорошо!
@vladimir0rus
@vladimir0rus 2 ай бұрын
58:57 А точно ли bool is_full один бит потратит? ;)
@dominuspiritus
@dominuspiritus 2 ай бұрын
Привет эпилептикам
@shura224
@shura224 2 ай бұрын
Клёво!!!
@tonupif
@tonupif 2 ай бұрын
Да ты прям красавчег Ашот, очень интересно спасибо за доклад.