Деятельность ради деятельности, к практике отношения не имеет вообще. Раз уж Константин Игоревич занялся философскими вопросами, почему бы ему про симулякры не почитать.
@sergey-chigarev2 күн бұрын
Крайне странный термин "типовая информация". В русском он другое означает, а устоявшийсч термин для того, о чем рассказ - "информация о типах"
@КошакРыжый8 күн бұрын
Проверка в рантайме это чушь, полная чушь. Даже рефлексию делают статической. Как же это плохо, у языка проблема с многословностью уже сейчас в одном объявлении функции можно увидеть template const constexpr static override delete noexcept nodiscard auto, а еще какую нибудь проверку SFINAE и вариадик параметры. Уже доходит до того, что объявление функции может быть в три раза объемнее реализации. Успокойтесь наконец, хватит. Как же я злюсь, в стандарте нет ни графики ни сетей, зато куча концептов да контрактов которые никак не реализуют
@bartolomeykant4 күн бұрын
А как проверить рантаймовые значения не в рантайме?
@КошакРыжый2 күн бұрын
@@bartolomeykant Писать обработчик. Дело в том что если требуется проверка значит нужна и корректная обработка, например бросить исключение или вернуть дефолтное значение. Если подразумевается что проверку обязуется выполнить вызывающая сторона, то глупо дублировать такие проверки. Проверки нарушения контрактов обычно выполняют упомянутым в видео assert. Если в коде нужно что-то более серьезное чем assert то на такой случай невозможно придумать стандарт, всегда будут уникальные запросы. Возможно я не правильно понял суть, или автор видело не справился и не донес идею, но то что я увидел сильно разочаровывает. Я был бы рад если бы продвигали в стандарт альтернативу макросу assert или механику позволяющую писать свои ассерты которые работали бы с модулями, но к сожалению в стандарт суют этот мусор, который отвлекает комитет от действительно важных задач. В стандарте есть отличный инструмент static_assert пусть бы развивали его, например сейчас нет простого способа вывести имя типа в лог компилятора. Обычные assert в бывают разбросанные по всему телу функции, это исключительно отладочный инструмент выполняющий роль встроенного юнит-теста, assert использует не только входные и выходные параметры а так же внутреннее состояние функции и даже глобальные данные, т.е. уже имеющийся инструмент горздо мощнее и гибче предлагаемых контрактов.
@bartolomeykant2 күн бұрын
@@КошакРыжый по сути то что предлагается это asset до вызова функции, после вызова функции и можно еще несколько внутрь функции засунуть. И все это при срабатывании попадет в специальный обработчик, который один на все приложение. Для отладочных целей из этого обработчика можно напечатать стек трейс или дождаться подключения дебагерра. Больше он не зачем не нужен по сути. И этот механизм един во всем коде, какую бы стороннюю библиотеку вы не подключали. Получается вызов функции с контрактом исключает UB, так как нарушение контракта приводит к определенному поведению - крашу приложения. У меня ide мне подсказывает если я обращаюсь к значению optional без проверки, так и тут ide может предупреждать, что для вызова функции нужно сначала убедиться, что контракт соблюдается, а компилятор двойные проверки сможет оптимизировать.
@EvgenyChannel8 күн бұрын
Если ссылки нельзя, так хоть сами в описание добавьте. Ну жесть же JmuLW5So4FU каждому заинтересовавшемуся с экрана 41:28 переписыать.
@GenoikVic8 күн бұрын
При просмотре хотелось бы меньше смотреть на слушателей, а больше на экран. Мне лично малоинтересно смотреть на лица других людей.
@asc7uni9 күн бұрын
Отличный доклад, спасибо. С языком и терминами всё хорошо и понятно было.
@mykola39159 күн бұрын
Переводить технические определения с английского на русский это ужасно. Говорите по нормальному всегда на английском. Когда говорят на русском впечатление будто вы из села или в пту программирование учили
@прокрастинатор-я8в9 күн бұрын
запретите русский язык, русскую культуру, россию наконец... маладец
@КимЧенОрк7 күн бұрын
Привыкнешь
@niklkelbon36629 күн бұрын
* мы сделали очень расширяемый пропозал по контрактам * но у нас нет ничего кроме рантайм чека, который мы требуем * в будущем что-то добавим (очевидно нет, если требуется рантайм чек, то никаких оптимизаций делать нельзя) И это при том, что вся стандартная библиотека (где в первую очередь должны появится контракты) просто завалена кодом, где нарушение контракта == уб
@КошакРыжый2 күн бұрын
Все так боятся этого страшного UB. Иногда хочется выписать профилактическую оплеуху очередному докладчику ругающему UB. Почему то все забывают что UB полезен, это отличный способ развязать руки опимизатору. Мы же не хотим при работе с массивом постоянно выполнять проверки выхода за массив, ведь это не бесплатная операция, вот UB и решает эту проблему. В стандарте сейчас есть std::variant который не позволяет бесплатно получить содержимое, std::get и std::get_if выполняют проверку даже если автор кода точно знает что в нем храниться. Вот какой осел до этого додумался? В том же std::optional хватило мозгов сделать небезопасный оператор *.
@SmoukingMouse9 күн бұрын
Я так и не понял о чём доклад, случайный набор мемов без объяснения как избежать "мемной" ситуации в реальной жизни, какой то набор списков из тулов и библиотек. Всё это больше тянет на смешную (нет) презентацию в коридорах конференции. Ну и конечно же отдельного слайда с мемом заслуживает то как отдельные представители C++ сообщества хейтят java и windows, со своим "мы быстрее java пук-срёньк windows плохая пук-срёньк".
@АлексейПюрецкий11 күн бұрын
Материал ок, но плямкание тамады подбешивает
@MichioSempai11 күн бұрын
С одной стороны классно. С другой стороны в sqlite явно были реализованы не всё способы оптимизации. Проблему медленной записи можно было бы решить несколькими бд, а чтение в sqlite вообще можно скейлить бесконечно, колличество читающих процессов у sqlite может быть любым. В итоге кажется, что решали тоже самое что уже решено в самом sqlite.
@GrowHobbyRU15 күн бұрын
Не собирается... инструкция не достаточно детальная для меня. Но Llama собралась и получилось поиграться с моделью model-q5_K.gguf. Спасибо за доклад.
@ДмитрийЗахаров-д6ж16 күн бұрын
Про подбор помощи - это прям в точку)
@Satabol23 күн бұрын
В принципе было бы неплохо провести параллель между целями-target CMAKE и проектами в Visual Studio, поэтому напишу так: CMAKE-project() - Это Solution в Visual Studio Add_library, add_executable (это цели/target) - проекты в Visual Studio, по одному проекту на цель. И вот задача cmake - настроить все проекты под Visual Studio (когда сборка идёт под неё). Поэтому после конфигурации CMAKE он может нагенерировать очень много проектов в Solution.
@Satabol23 күн бұрын
Хороший стрим. «Эксперты» немного с вопросами подкачали (надо было бы заранее немного почитать про cmake и самим попробовать). Так-то стрим больше подходит тем, кто хоть немного пробовал в CMAKE. Я недавно начал его изучать, т.к. очень много пакетов на Linux на c++, которые хотелось бы видеть под Windows в виде DLL и .lib, например, всякие математические пакеты (GMP, Mpfr и производные от них). Уже понимаю о чём идёт речь в стриме. )
@ПавелПоляков-ж2ж27 күн бұрын
Алексей, огромное спасибо за доклад! Было бы здорово послушать о работе TSan и UBSan.
@valexeye23 күн бұрын
Пожалуйста :-) А про TSAN я уже рассказывал. Поищите на канале видео под названием "Алексей Веселовский - Анатомия ThreadSanitizer" . Но, кажется, надо сделать обновленный доклад -- во-первых там несколько поменялся алгоритм и реализация, во-вторых я не вполне удовлетворён своим докладом, как он получился. А про UBSan -- да, это следующий кандидат. Обязательно расскажу.
@zlatoust444427 күн бұрын
такие все умные , а goodbyedpi написал другой.Без него я бы вас и не смотрел может быть.
@DmitryMorozov-r5dАй бұрын
если добавить возможность парковки не прям щас а через какое то время то все переделать придется
@KonovDSАй бұрын
Константин Игоревич как обычно, когда вдруг начинаешь думать что чуть-чуть разбираешься в плюсах приходит и полностью уничтожает эту мысль
@АлександрБотевАй бұрын
меня скорей мотивирует, его лекций по многопоточке вообще послушал в захлеб и решил задачу на работе, благодаря его лекций
@MakarenkoSashaАй бұрын
я в восторге. очень понравилось.
@antonguda2551Ай бұрын
Presentation is visible, but unreachable!
@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Ай бұрын
Если он недостаточно знает язык C++, то кто же знает его достаточно?
@АлександрКузоватов-т5р25 күн бұрын
никто не знает полностью си++ Если только несколько десятков человек
@MariaEseninaАй бұрын
Я тоже прочитала "детонация" 🙃 Небольшой upd. С одной стороны мне понравилось как у меня работает интуиция, т.к. заранее не знала, что на самом деле более правильно в каждой ситуации, с другой, я против любых "неоднозначностей", даже если она на самом деле таковой не является и допускается стандартом, несмотря на то, что моя интуиция буквально всё "угадала". Это может на ровном месте запутать код. Разумеется, не всегда можно гарантировать, что имена переменных не пересекутся (могут запросто использоваться разные библиотеки с разными пространствами имён, но совпадающими именами внутри них), но сам код должен быть написан таким образом, чтобы одного беглого взгляда было достаточно чтобы сразу понять что к чему относится, вместо того чтобы приходилось распутывать даже допустимую стандартом схему. Если планируется крупный проект, то проще на этапе разработки дизайна определить систему наименований так (всерьёз об этом позаботиться заранее, а не придумывать в процессе), чтобы минимизировать вероятность пересечения с другими (включая другие библиотеки), даже многословность лучше мнимой неоднозначности (не говоря о фактической неоднозначности, когда один компилятор может вообще отказаться с вами работать).
@katelyapina1142Ай бұрын
Офигенная тема и содержание, побольше бы такой годноты
@ordinary_man_84Ай бұрын
сложно ли выделять память и освобождать ее, когда она перестала быть нужной объекту?
@sunheretic13Ай бұрын
Осталось только уточнить что был переход версий conan. В результате поменялось почти всё. Куча настроек перестала работать. Куча рецептов для пакетов из публичной репы конана перестала быть валидными. А чинить, точнее переписывать рецепты разрабы не слишком спешили. Приятно получить в один из моментов нерабочую систему сборки.
@dominuspiritusАй бұрын
5:45 где-то в углу заплакал UHT
@tertiumorganum5665Ай бұрын
крч чуваки если вам ехать, юзайте го. да он чуть медленней. ну если вам шашечки - тут мля без вариков 😅
@tertiumorganum5665Ай бұрын
депрессивненько. но чесскать на примерах такой код местами что по хлебалу клавиатурой можно дать. то, что оно типо вписывается в стандарт, не даёт индульгенцию, особенно учитывая, что кому то потом это поддерживать
@user-mi4ww6wn2tАй бұрын
На RuTube тоже было бы неплохо залить копию. Это важный доклад
@CUserGroupRussiaАй бұрын
Видеозаписи докладов также можно найти в VK Видео: vk.com/video-77278886_456239902
@MakarenkoSashaАй бұрын
да. надо привыкать. в итоге все туда переолзём
@eugeneus77Ай бұрын
Ток у меня чего-то вышло что 1.5 млрд секунд это 47.5 лет примерно я оправдал Джо на 25 лет
@surtaevmАй бұрын
залейте копию в вконтекте
@CUserGroupRussiaАй бұрын
Здравствуйте! Ссылка на видео: vk.com/video-77278886_456239902
@asc7uniАй бұрын
Потрясающе
@sunheretic13Ай бұрын
TrivialBiMap или похожее решение не помешало бы в какой boost засунуть
@Nop_90hАй бұрын
Лозунг порадовал😂
@vilture5706Ай бұрын
Итог, не пользуйтесь динамической памятью в Embedded. Это все не спроста, Embedded устройства, это очень ужатые в ресурсах устройства, которые должны работать 24/7/21/365. Если они будут отказывать, кто то будет умирать.
@IgorPolozov-uu5fnАй бұрын
Если исх. строка удовл-щая. условию является набором не повт- щихся символов, то количество возм. разбиений 1. То есть n односимвольных строк. Алгоритм очевиден) Если в исх. стоке есть повторы, то я бы сделал копию, отсортировал и применил std::unique. Далее полученный диапазон использовал бы для поучения односимвольных строк, как сказал вначале. Однако, собеседование не про плюсы.
@yevheniich5178Ай бұрын
Из этого всего я вынес то что не стоит лезть в глубокий эмбедед с С++. То ускорение написания кода съелось героическим хождением по граблям и придумыванием костылей.
@IgorPolozov-uu5fn2 ай бұрын
point надо vector< int>::size_type
@Nop_90h2 ай бұрын
Самое мемное в этом докладе - это фамилия докладчика.
@НикитаБуров-ъ6р2 ай бұрын
задача душное дерьмо, посмотрел 15 минут, хер пойми что хотят, в конце выяснится что какой-нибудь стек или бектрекинг
@benisrood2 ай бұрын
This is a *very* good programmer. Like maybe in the top few hundred on earth.
@silversailor70772 ай бұрын
А чем deque хуже FIxedArray?
@cdeblog2 ай бұрын
В очередной раз убеждаешься, что с++ хоть и мощный язык, но сделан через одно место (жопу, есть хотите уточнений) сначала придумывают странные конструкции, затем в следующих версиях стандартов героически борятся с их проблемами и в итоге язык обрастает кучей очень запутанных правил и исключений😢
@apivovarov2Ай бұрын
осилить с++ могут не только лишь все
@apivovarov2Ай бұрын
могу порекомендовать раст, там все хорошо и таких проблем нет
@MathPTU25 күн бұрын
++ иногда хочется спросить, о чем они думали, когда это вводили
@shatalinator2 ай бұрын
Раздавили пузырик и сидим общаемся. Плохо что ли? Хорошо!
@vladimir0rus2 ай бұрын
58:57 А точно ли bool is_full один бит потратит? ;)
@dominuspiritus2 ай бұрын
Привет эпилептикам
@shura2242 ай бұрын
Клёво!!!
@tonupif2 ай бұрын
Да ты прям красавчег Ашот, очень интересно спасибо за доклад.