Ну а я , например, троль, но ничего против ЛГБТ не имею.
Я вам больше скажу, ЛГБТ это страшилка 20 века. В 21 веке бояться стоит иного. Лично я не раз говорил, что если мои дети будут в отношениях в которых хотя бы есть ещё один другой человек, когда вырастут, то это уже успех.
Я почитал, спасибо было забавно попасть в прошлое. Но я так и не понял как же это превратить в реальную закладку. Ну и папир утверждает что такая техника позволяет сделать не просто закладку, а закладку с перламутровыми пуговицами == которую очень сложно заметить если вообще возможно.
Тут дело простое, доказать отсутствие чего либо - технически невозможно следовательно я никогда не смогу доказать, что закладок нет, но люди существа разумные и научились жить с этим диагнозом. Тот кто утверждает что закладки есть, ну или хотя бы могут быть внедрены вот таким способом, тот и доказывает, что он не пустобрех.
Кент конечно был человеком уважаемым, но сегодня он за такой труд получил бы 0 в любой баг баунти программе.
Согласитесь, что уровень паранои в вашей статье немного превышен. Ни о каких закладках в компиляторах никто никогда не слышал это раз. Дальше вы сами же различаете деятельность по созданию языка и создания компилятора и других утилит к нему, а потом делаете некрасивую бяку и преподносить страхи проблем с доступом к продукту/компилятору как обоснование необходимости создавать языки.
Язык в первую очередь это комьюнити, наличие библиотек, а уже только потом компилятор и прочие утилиты. Создавать альтернативные утилиты под соусом потенциальных проблем с доступом к существующим - адекватная затея, создавать новый язык - паранойя.
Это как сказать что т.к. Википедия хоститься там и нам могут обрубить доступ и она на английском, то надо срочно запилить новый эсперанто. Не, может новый эсперанто и нужно запилить, вот только точно не по этой причине.
Ну вам же объяснили все в статье, пока что от российских разработчиков патчи ещё принимают, а вот когда тов. майор поставит задачу внедрить закладку и пропихнуть в репу, то могут и отказать, а будь репа наша то некому было бы отказывать.
Когда кто-то пишет про мифические закладки в компиляторах (без доказательств и да я прошел по ссылке) это значит паранойя или они уже сами это сделали, но не получается внедриться или где то посередине между двумя состояниями.
Вы не сможете произнести жи отлично от жы пока не введёте ещё одну букву аналог щ в паре ш/щ для ж. Точно также вы не сможете прочитать щы у вас всегда будет либо щи либо шы, как и вместо ши только щи или шы. Поэтому упростить и писать так как читается имеет очень большой смысл.
По-моему скромному мнению, серьезность проблемы чрезмерно переоценена. В подавляющем числе реальной передачи слайсов они таки не пустые. Мало того я не очень понимаю какую полезную работу может выполнить сторонний код будучи вызванный с пустым слайсом (в любом направлении). Обычно если слайс пустой это выявляется ещё до вызова сторонней функции и вызов просто не происходит за бессмысленностью.
Давайте так, если растовский пустой слайс передать в с++ как есть то ничего плохого не случиться, разыменование указателя не произойдет. Пугало про спекулятивное чтение по невалидносу адресу какая-то чушь с точки зрения семантики языков. Все проблемы спекулятивного чтения остаются виртуальными пока спекулятивное чтение не превратиться в настоящее. Да это может быть использовано в какой нибудь уязвимости аля спектр, но это проблема железячников, а не языков программирования.
Теперь в обратную сторону, что если нулевой слайс пришел из с++, да очень просто используйте ас_реф который возвращает опшионал, а на нем анврап_ор с дефолтным/пустым слайсом. Да чуть больше накладных расходов, но не ужас ужас.
Считаю проблему надуманной вне контекста криптографии где это каким то боком в теории очень мало вероятно, но таки может быть маленьким шагом в цепочке уязвимости.
Удачи вам наш софт переписывать с культи на что угодно, есть такие сферы где культя даже и не думает исчезать, новые проекты постоянно рождаются. МФЦ я лично пилил на 2 разных проектах в 14-17, 18-19 годах. Да проекты не первой свежести, но никто их переписывать даже не собирался. И нет это не поддержка, а поступательное развитие.
Я пользуюсь ворктри постоянно и не совсем понимаю, что вы имеете ввиду под "репозиторий один и всегда синхронизирован." Если вы про то, что все деревья можно найти из одной репы - да можно. Но вот сабмодули в каждом дереве свои и полностью независимые, что неимоверно доставляет когда в репе много лфс в сабмодулях.
Гитовые ворктри как раз и есть аналог описанного воркфлоу, а мне это необходимо, что бы иметь отдельные билды для каждой ветки и не пересобирать их когда нужно переключаться между ветками.
Но описание этого математического чуда конечно куцае, никому новая система и нафиг не упёрлась если она не умеет всё то что гит + ещё что то сверху или как минимум делает это объективно лучше. Тема сабмодулей не раскрыта от слова совсем, рекомендованный воркфлоу не описан, механика клона не раскрыта (может оно софт линки использует для не измененных файлов и место не жрет почти), как оно дружит с большими файлами ни слова, характеристики производительности да кому они нужны. Ну и сравнение с гитом сами как нибудь делайте.
Статья в одном предложении - там крутая математика, но я её вам не расскажу, а вообще мне понравилась авторизация, в целом норм, но гуя нет, пользуюсь в личном проекте на емаксе.
ПС, пасаны, я вам по секрету скажу, тут это самое, оно - УБ.
Ну низя так просто взять и написать зис в плюсах.
Внимательно смотрите за руками:
этот зис он в капче лямбды
а лямбда создаётся где? Правильно в конструкторе объекта на которой этот зис указывает
так погодите, это же не просто тело конструктора, а список инициализации. Это значит что? А то что по определению не все мемберы проинициализированны
можно спорить УБ это или нет если вы в теле конструктора такое пишете, но т.к. это список инициализации то это 100% УБ
Я поясню, использование зис в самом конструкторе не УБ, а вот передача зис внешнему коду (в данном случае лямбде) и использование этого указателя ДО начала жизни объекта уже УБ. А если лямбда сразу вызывается? Все равно УБ. Но почему? А потому что в лямбде я могу использовать весь объект целиком, а не только вот те кусочки которые уже проинициализированны. А как же тогда правильно писать? Передавать ссылку(и) на отдельные мемберы которые уже проинициализированны.
Так что хоть несмотря на то, что и кажется что беда в УБ с доступом к мемберу из 2 потоков, но на самом деле УБ происходит ещё раньше. Нельзя использовать зис за пределами конструктора включая и однополосный код. Такие дела.
Полностью подтверждаю, падает линкер с ООМом. А ещё лично замерял у меня 96 ГБ со включенным свапом на 10% дольше идёт сборка чем без свопа. Так что я его всегда вырубаю, если браузер не запускать то ООМ не случается при сборке в 32 потока, а если браузер открыт то ещё пол года назад ООМ мог случиться, а мог и нет, а сейчас уже точно случается.
Всякие тимсы, аутлуки, жиры, дженкинсы и гитлабы только больше и больше требует памяти ну и размер либ тоже растёт. Так что мне для 32 потоков + браузер для работы уже надо 128 рамы, а ещё 5 лет назад 64 работало как сейчас 96. Вот такая инфляция. Следующий комп меньше чем 128 не возьму.
Ну вот смотрите, я ноутбуки вообще могу только терпеть, мне ПС подавай да не абы какой. 10 лет назад по работе пришлось познакомиться и с айпадом и с макбуком. До знакомства я нейтрально к продукции эпл относился - мне было пофиг на ее существования. А после знакомства при любом подозрении на то, что мне придется снова этим пользоваться у меня оба глаза начинают дёргаться и возникает непреодолимое желание бежать быстрее и подальше. Я лучше за линуксом буду сидеть только не эпл. Вернее не так, притензий к железу то как раз не было, железо норм, и даже софт в общем то норм, можно привыкнуть переучиться. У меня притензия философская, так называемая экосистема навязывает мне какие настройки, гуй мне должны нравиться и право голоса я в этой экосистеме не имею - джобсу лучше знать что мне подходит. А по простому отобрали возможность кастомизацим и право делать все что захочу. Линукс по качеству конечно гавно, у меня даже есть традиция, последние лет 12, я каждый лтс ставлю убунту на то железо что под рукой. И каждый раз тестирование заканчивается минут через 30 - то переключение раскладки не работает, то принтер не видит, то экран в спящий режим не переводит и ни как не отключить. После этого я сношу убунту и живу дальше. Так вот, я повторюсь, я лучше на убунту со всеми проблемами вместе пересяду, только не эпл. И да, я себя люблю.
Назад к ноутбуку, мне ваще пофигу какая там клавиатура, какой экран, камера и батарея, сколько там портов и даже есть ли там интегральная видюха. Мне главное 3 вещи, топовый проц, максимальное количество памяти и не эпл, вот так да именно не эпл. Он мне нужен, что бы отключение света пережить и на работу изредка брать. А топ проц и дофига памяти мне не от хорошей жизни нужны, а потому что лять с++ может сожрать любое количество ядер и любое количество памяти и это все нужно, что бы просто собрать проект (правдо с нуля) хотя бы минут за 20.
А ноуты в целом я не люблю опять же не потому что они чем то плохи, а потому что на ПС я могу собрать тот же проект уже за 12 минут и да, это важно. Никакой м100500 никогда даже рядом не подбирается к этому времени сборки, хотя много коллег на маках и шланг быстрее мракософта компилит и даже всякие кэши стоят все равно ваш макбук шляпа не потому что мак, а просто потому что 200 ват тепла он как и любой другой бук не может рассеивать 12 минут подряд, а мой ПС может и час если надо и дольше. Линукс ПС типа моего на шланге с сикэшем конечно уделывает мракософт, но я не готов ради экономии 4х минут сборки на линуксе сидеть да и лучше студии айдэе под плюсы просто не найти не потому что другие плохи в плане набора кода, а потому, что такого набора и качества интеграци дебагера/профайлера у других нет, хотя может это и вкусовщина конечно, но в любом случае если студия в чем то может уступать где то, в целом это топчик для с++.
Так вот, такие условные хуавеи (все шляпа кроме проца и объема памяти, но подешевле по сравнению с игровыми) для таких как я, но конкретно этот, я бы не взял, меньше 64 гигов рамы мне не подходит линковщик будет вылетать с ООМ, а остальное норм. Главное не сраный эпл.
Судя по рисунку в сложенном виде он складывается в 2 поворота. Смотрите там отражатель на заднем колесе находится слева и вверху. Если сложение через низ то отражатель был бы также слева но снизу и вообще задняя брызгозащита была бы под колесом. Картинка исключает сложение сдвигом а также через низ и через бок. Остаётся 1 вариант. Сначало колесо поворачивают вокруг горизонтальной оси так что брызгозащита оказывается снизу, а затем колесо заводится под платформу через низ, в таком случае результат будет точь в точь как на рисунке.
Ну я могу рассказать о такой оптимизации, которая формально УБ, но на практике всегда ок. Расклад такой, у вас есть большой массив структур, ну например массив ргб цветов по байту на цвет. И так вы можете все это хранить либо в интах и просерать 25% памяти или хранить цвета в 3 байтах. Так а где же здесь УБ? Ну оно возникает когда вам надо все это обрабатывать используя симд. В симде у вас будет 0 в четвертом компоненте, а читать вы будете из памяти по началу по байтово. А потом поймёте что не выровненное чтение быстрее чем побоайтовая загрузка и таки начнёте читать 3х компонентные структуры как будто они 4х компонентные. Вот тут у вас формально УБ, но на практике всегда ок. А что бы не читать за пределами пеэйджа вы алоцируете немного больше памяти под весь массив что бы вот этот фэйковый 4 компонент не вылез за границы буфера. Я тут мог что то не точно описать про 1 байт, но суть более менее передал, а смотреть код мне в лом.
Нет, это НЕ уб, в такой ситуации по стандарту поведение четко определенно - вызов терминэйт.
Вы пишете, что не существует случаев когда из деструктора имеет смысл кидать исключения - вы слишком высокого о себе мнения и берете на себя больше чем можете вынести (на данный момент). По теме исключений вам конечно незачет, приходите с другой статьей на пересдачу. Хинт гуглите std::uncaught_exceptions(), эс на конце очень важна, можете ещё в строку поиска добавить Александреску.
Задание на следующую статью - напишите класс который может кинуть исключение из деструктора и НИКОГДА не привидет этим к вызову терминэйт.
Вопрос со зведочкой - зачем это может понадобиться в реальном коде. Одного примера достаточно.
Похоже со мной что то не так, но я честно не вижу вобще никакой (включая этической) проблемы в одномоментном уничтожении (округлим) 250К японцев. В чем собственно проблема, почему это безусловно плохо? Вы согласны с тем что эти же люди умерли бы от естественных причин со временем? Т.е. сама смерть не проблема, она не избежна. Какая разница (этическая) нужно убить 1 человека или 250К что бы достичь цели? Если вам ок убить одного то чините свою логику, если не ок то свою этику, т.к. вы пользуетесь благами полученными в том числе за счёт убийств. Ага щас налетят оптимизаторы и скажут ну вот можно все посчитать и тогда получится что можно было всего лишь 10К убить и достичь того же результата. Чушь. Сделали как смогли, никто понятия не имел сколько помрёт, сколько погибло значит ровно столько и надо было, т.к. все сработало точно по плану Япония немедленно капитулировала.
Автор прямым текстом обвиняет фон Неймана(и не только его) в моральном уродстве, а я так не считаю. Тогда надо приравнять всех кто убивает к уродам, провел эвтаназию урод, выполнил аборт урод, казнил по решению суда урод, убил врага на войне урод, убил в самообороне урод. Какая разница почему убил? Я вижу только одну причину уродства - убийства без причины, для удовольствия, да даже тут не уверен, вон куча охотников/рыбаловов напряглись сразу же. А если про людей, то чем спорт на ринге отличается? Там с очень не нулевой вероятностью люди погибают и это не всегда ради только лишь денег.
Автор ставит равенство между содееным и бессмысленными убийствами, так как будто все те люди были буквально маньяками психопатами. Нет у них была цель достигнув которой они перестали кидаться бомбами и пошли заниматься чем то другим, а вот маньяк он не остановиться ему в кайф сам процесс уничтожения.
Это тоже самое как сказать что убивать вообще всегда не этично.
Короче этика эта какая то когнитивная бага на всю башню, она противоречива чуть более чем полностью с ее помощью можно оправдать 2 совершенно противоположных решения. Автор ее использует только что бы ещё больше запутать людей. Я так и не понял, что конкретно он предлагает? Задуматься? Ну я подумал - это все чушь. Остановиться? Хрен ему. Быть ответственным? Это вообще как когда речь идёт о принципиально неизвестном? Как предусмотреть все проблемы? А если не все то сколько достаточно, а кто судья что решил что не достаточно?
Ну судя по тому что время работы программы у чела меняется в зависимости от введённого значения, то на асме он таки добавил элсы.
Без элсов любой запуск будет тратить одно и тоже время и считывать весь файл, а с элсами он будет считывать до ИФА с совпадающим значенияем введённого числа. Без элсов это аналог алгоритма каунт (посчитать все вхождения), а с элсами алгоритм фаинд (найти первое совпадение).
Индус очень хороший на самом деле, почти по русски говорит в смысле понятно. Большинство индусов говорит мягкими согласными что их хер поймёшь, а этот четко твердые согласные произносит, ну и что что у него индусский вариант фром май харт - он понятен.
Бриташка тоже на самом деле говорит хорошо, не типично для бриташки его понятно. Обычно бриташки говорят так как будто у них кусок гавна во рту и им неприятно лишний раз его раскрывать, а этот норм. Но когда он своим блатняком изъясняется то тут уже не важно английский это или русский вы все равно нихера не поймёте.
Лично мне лучше всего понимается английский от немцев, на втором месте от америкосов, от англичан почти так же тяжело как от вьетнамцев. Мне кажется во вьетнамском вообще твердых согласных нет, мне обычно надо пару минут на калибровку при общении с вьетнамцами что бы начать понимать хотя бы половину сказанного.
Я немного припоздал, но все же, вот в НЗ камер не очень много и я не особо в курсе, но впечатление, что частных камер (в магазинах, на своем доме и т.д.) чуть ли не больше чем публичных. Так вот они вам, как человеку пострадавшему от чьих то неправомерных действий, не помогут в большинстве случаев. Если правонарушение не насильственное, то вы идете лесом, полиции пофиг даже смотреть не будут, что бы найти виновника. Это по собственному опыту, мне повезло, я точно знал как найти и в таком случае фотки с камеры на заправке испольвали для опознания. Если насильственное преступления, то смотря кто и что сделал, но тут да скорее поможет чем нет. Такие случаи как подростки ночью вломились в магазин, чел свинтил саму камеру в прямом эфире, разбил окно в машине и обокрал / угнал - проходите мимо это ваши проблемы страховка все покроет, нет страховки вам не повезло, следующий.
Короче это я к чему, когда вам кажется, что камера лично вам поможет в какой то жизненной ситуации, то вы не правы - не поможет. Камеры нужны копам и спец службам только когда у них КПИ проседают. Ну и как обычно любая система с КПИ будет хакнута с целью накрутки это значит, что в лучшем случае вы не пострадаете от камеры, а в среднем вам будет только хуже - либо вас оштрафуют, либо за вами будут следить, либо вашу проблему проигнорируют. Максимум есть небольшой шанс, что камера поможет найти урода который вас избил, порезал или убил - так себе юзкейс. У органов нет задачи уменьшить преступность (зачем тогда они будут нужны?) у них задача показать свою нужность - закрыть/решить часть дел которые считаются важными если нет преступлений то это плохо для органов это же тогда можно будет им бюджет урезать да и вообще на камеры заменить.
Камеры не нужны пока не появится законная конкуренция на рынке борьбы с преступлениями, когда я могу запостить на биржу правонарушений свою беду и несколько независимых конкурирующих видов полиции будут соревноваться за право мне помочь. Это нам с вами нужно что бы было меньше преступлений, а существующим органам нужно совсем другое.
Я вам больше скажу (как проф культя юзер) его не просто можно форкнуть, но уже форкнули и думаю не раз, по идейным мотивам. Там сигнал слоты исторически требовали свой недокомпилятор, а когда подвезли с++11 с лямбами и прочим метопрограммированием то нашлись ребята которые стали настаивать на отказе от этого недокомпилятора в пользу стандартных языковых средств, но их послали в путешествие ну они и пошли. Так появился https://www.copperspice.com/
Ну а я , например, троль, но ничего против ЛГБТ не имею.
Я вам больше скажу, ЛГБТ это страшилка 20 века. В 21 веке бояться стоит иного. Лично я не раз говорил, что если мои дети будут в отношениях в которых хотя бы есть ещё один другой человек, когда вырастут, то это уже успех.
Я почитал, спасибо было забавно попасть в прошлое. Но я так и не понял как же это превратить в реальную закладку. Ну и папир утверждает что такая техника позволяет сделать не просто закладку, а закладку с перламутровыми пуговицами == которую очень сложно заметить если вообще возможно.
Тут дело простое, доказать отсутствие чего либо - технически невозможно следовательно я никогда не смогу доказать, что закладок нет, но люди существа разумные и научились жить с этим диагнозом. Тот кто утверждает что закладки есть, ну или хотя бы могут быть внедрены вот таким способом, тот и доказывает, что он не пустобрех.
Кент конечно был человеком уважаемым, но сегодня он за такой труд получил бы 0 в любой баг баунти программе.
А по колхозному, хорош ля-ля и покажи код.
Согласитесь, что уровень паранои в вашей статье немного превышен. Ни о каких закладках в компиляторах никто никогда не слышал это раз. Дальше вы сами же различаете деятельность по созданию языка и создания компилятора и других утилит к нему, а потом делаете некрасивую бяку и преподносить страхи проблем с доступом к продукту/компилятору как обоснование необходимости создавать языки.
Язык в первую очередь это комьюнити, наличие библиотек, а уже только потом компилятор и прочие утилиты. Создавать альтернативные утилиты под соусом потенциальных проблем с доступом к существующим - адекватная затея, создавать новый язык - паранойя.
Это как сказать что т.к. Википедия хоститься там и нам могут обрубить доступ и она на английском, то надо срочно запилить новый эсперанто. Не, может новый эсперанто и нужно запилить, вот только точно не по этой причине.
Ну вам же объяснили все в статье, пока что от российских разработчиков патчи ещё принимают, а вот когда тов. майор поставит задачу внедрить закладку и пропихнуть в репу, то могут и отказать, а будь репа наша то некому было бы отказывать.
Когда кто-то пишет про мифические закладки в компиляторах (без доказательств и да я прошел по ссылке) это значит паранойя или они уже сами это сделали, но не получается внедриться или где то посередине между двумя состояниями.
Вы не сможете произнести жи отлично от жы пока не введёте ещё одну букву аналог щ в паре ш/щ для ж. Точно также вы не сможете прочитать щы у вас всегда будет либо щи либо шы, как и вместо ши только щи или шы. Поэтому упростить и писать так как читается имеет очень большой смысл.
По-моему скромному мнению, серьезность проблемы чрезмерно переоценена. В подавляющем числе реальной передачи слайсов они таки не пустые. Мало того я не очень понимаю какую полезную работу может выполнить сторонний код будучи вызванный с пустым слайсом (в любом направлении). Обычно если слайс пустой это выявляется ещё до вызова сторонней функции и вызов просто не происходит за бессмысленностью.
Давайте так, если растовский пустой слайс передать в с++ как есть то ничего плохого не случиться, разыменование указателя не произойдет. Пугало про спекулятивное чтение по невалидносу адресу какая-то чушь с точки зрения семантики языков. Все проблемы спекулятивного чтения остаются виртуальными пока спекулятивное чтение не превратиться в настоящее. Да это может быть использовано в какой нибудь уязвимости аля спектр, но это проблема железячников, а не языков программирования.
Теперь в обратную сторону, что если нулевой слайс пришел из с++, да очень просто используйте ас_реф который возвращает опшионал, а на нем анврап_ор с дефолтным/пустым слайсом. Да чуть больше накладных расходов, но не ужас ужас.
Считаю проблему надуманной вне контекста криптографии где это каким то боком в теории очень мало вероятно, но таки может быть маленьким шагом в цепочке уязвимости.
Удачи вам наш софт переписывать с культи на что угодно, есть такие сферы где культя даже и не думает исчезать, новые проекты постоянно рождаются. МФЦ я лично пилил на 2 разных проектах в 14-17, 18-19 годах. Да проекты не первой свежести, но никто их переписывать даже не собирался. И нет это не поддержка, а поступательное развитие.
Я пользуюсь ворктри постоянно и не совсем понимаю, что вы имеете ввиду под "репозиторий один и всегда синхронизирован." Если вы про то, что все деревья можно найти из одной репы - да можно. Но вот сабмодули в каждом дереве свои и полностью независимые, что неимоверно доставляет когда в репе много лфс в сабмодулях.
Гитовые ворктри как раз и есть аналог описанного воркфлоу, а мне это необходимо, что бы иметь отдельные билды для каждой ветки и не пересобирать их когда нужно переключаться между ветками.
Но описание этого математического чуда конечно куцае, никому новая система и нафиг не упёрлась если она не умеет всё то что гит + ещё что то сверху или как минимум делает это объективно лучше. Тема сабмодулей не раскрыта от слова совсем, рекомендованный воркфлоу не описан, механика клона не раскрыта (может оно софт линки использует для не измененных файлов и место не жрет почти), как оно дружит с большими файлами ни слова, характеристики производительности да кому они нужны. Ну и сравнение с гитом сами как нибудь делайте.
Статья в одном предложении - там крутая математика, но я её вам не расскажу, а вообще мне понравилась авторизация, в целом норм, но гуя нет, пользуюсь в личном проекте на емаксе.
Спасибо, но тема
сисекне раскрыта.ПС, пасаны, я вам по секрету скажу, тут это самое, оно - УБ.
Ну низя так просто взять и написать зис в плюсах.
Внимательно смотрите за руками:
этот зис он в капче лямбды
а лямбда создаётся где? Правильно в конструкторе объекта на которой этот зис указывает
так погодите, это же не просто тело конструктора, а список инициализации. Это значит что? А то что по определению не все мемберы проинициализированны
можно спорить УБ это или нет если вы в теле конструктора такое пишете, но т.к. это список инициализации то это 100% УБ
Я поясню, использование зис в самом конструкторе не УБ, а вот передача зис внешнему коду (в данном случае лямбде) и использование этого указателя ДО начала жизни объекта уже УБ. А если лямбда сразу вызывается? Все равно УБ. Но почему? А потому что в лямбде я могу использовать весь объект целиком, а не только вот те кусочки которые уже проинициализированны. А как же тогда правильно писать? Передавать ссылку(и) на отдельные мемберы которые уже проинициализированны.
Так что хоть несмотря на то, что и кажется что беда в УБ с доступом к мемберу из 2 потоков, но на самом деле УБ происходит ещё раньше. Нельзя использовать зис за пределами конструктора включая и однополосный код. Такие дела.
Полностью подтверждаю, падает линкер с ООМом. А ещё лично замерял у меня 96 ГБ со включенным свапом на 10% дольше идёт сборка чем без свопа. Так что я его всегда вырубаю, если браузер не запускать то ООМ не случается при сборке в 32 потока, а если браузер открыт то ещё пол года назад ООМ мог случиться, а мог и нет, а сейчас уже точно случается.
Всякие тимсы, аутлуки, жиры, дженкинсы и гитлабы только больше и больше требует памяти ну и размер либ тоже растёт. Так что мне для 32 потоков + браузер для работы уже надо 128 рамы, а ещё 5 лет назад 64 работало как сейчас 96. Вот такая инфляция. Следующий комп меньше чем 128 не возьму.
Ну вот смотрите, я ноутбуки вообще могу только терпеть, мне ПС подавай да не абы какой. 10 лет назад по работе пришлось познакомиться и с айпадом и с макбуком. До знакомства я нейтрально к продукции эпл относился - мне было пофиг на ее существования. А после знакомства при любом подозрении на то, что мне придется снова этим пользоваться у меня оба глаза начинают дёргаться и возникает непреодолимое желание бежать быстрее и подальше. Я лучше за линуксом буду сидеть только не эпл. Вернее не так, притензий к железу то как раз не было, железо норм, и даже софт в общем то норм, можно привыкнуть переучиться. У меня притензия философская, так называемая экосистема навязывает мне какие настройки, гуй мне должны нравиться и право голоса я в этой экосистеме не имею - джобсу лучше знать что мне подходит. А по простому отобрали возможность кастомизацим и право делать все что захочу. Линукс по качеству конечно гавно, у меня даже есть традиция, последние лет 12, я каждый лтс ставлю убунту на то железо что под рукой. И каждый раз тестирование заканчивается минут через 30 - то переключение раскладки не работает, то принтер не видит, то экран в спящий режим не переводит и ни как не отключить. После этого я сношу убунту и живу дальше. Так вот, я повторюсь, я лучше на убунту со всеми проблемами вместе пересяду, только не эпл. И да, я себя люблю.
Назад к ноутбуку, мне ваще пофигу какая там клавиатура, какой экран, камера и батарея, сколько там портов и даже есть ли там интегральная видюха. Мне главное 3 вещи, топовый проц, максимальное количество памяти и не эпл, вот так да именно не эпл. Он мне нужен, что бы отключение света пережить и на работу изредка брать. А топ проц и дофига памяти мне не от хорошей жизни нужны, а потому что лять с++ может сожрать любое количество ядер и любое количество памяти и это все нужно, что бы просто собрать проект (правдо с нуля) хотя бы минут за 20.
А ноуты в целом я не люблю опять же не потому что они чем то плохи, а потому что на ПС я могу собрать тот же проект уже за 12 минут и да, это важно. Никакой м100500 никогда даже рядом не подбирается к этому времени сборки, хотя много коллег на маках и шланг быстрее мракософта компилит и даже всякие кэши стоят все равно ваш макбук шляпа не потому что мак, а просто потому что 200 ват тепла он как и любой другой бук не может рассеивать 12 минут подряд, а мой ПС может и час если надо и дольше. Линукс ПС типа моего на шланге с сикэшем конечно уделывает мракософт, но я не готов ради экономии 4х минут сборки на линуксе сидеть да и лучше студии айдэе под плюсы просто не найти не потому что другие плохи в плане набора кода, а потому, что такого набора и качества интеграци дебагера/профайлера у других нет, хотя может это и вкусовщина конечно, но в любом случае если студия в чем то может уступать где то, в целом это топчик для с++.
Так вот, такие условные хуавеи (все шляпа кроме проца и объема памяти, но подешевле по сравнению с игровыми) для таких как я, но конкретно этот, я бы не взял, меньше 64 гигов рамы мне не подходит линковщик будет вылетать с ООМ, а остальное норм. Главное не сраный эпл.
Завязывайте пить воду из таганрогского водопровода, к хорошим последствиям это точно не приведет.
Последние 5 лет когда я там жил для питья использовал исключительно фильтрованную, сначало покупал, потом всем родственникам фильтры поставил.
А потом я уехал и проблем с водой больше не знал. Но родственники продолжают там жить, говорят с тех пор вода в кране стала ещё хуже.
Судя по рисунку в сложенном виде он складывается в 2 поворота. Смотрите там отражатель на заднем колесе находится слева и вверху. Если сложение через низ то отражатель был бы также слева но снизу и вообще задняя брызгозащита была бы под колесом. Картинка исключает сложение сдвигом а также через низ и через бок. Остаётся 1 вариант. Сначало колесо поворачивают вокруг горизонтальной оси так что брызгозащита оказывается снизу, а затем колесо заводится под платформу через низ, в таком случае результат будет точь в точь как на рисунке.
Ну я могу рассказать о такой оптимизации, которая формально УБ, но на практике всегда ок. Расклад такой, у вас есть большой массив структур, ну например массив ргб цветов по байту на цвет. И так вы можете все это хранить либо в интах и просерать 25% памяти или хранить цвета в 3 байтах. Так а где же здесь УБ? Ну оно возникает когда вам надо все это обрабатывать используя симд. В симде у вас будет 0 в четвертом компоненте, а читать вы будете из памяти по началу по байтово. А потом поймёте что не выровненное чтение быстрее чем побоайтовая загрузка и таки начнёте читать 3х компонентные структуры как будто они 4х компонентные. Вот тут у вас формально УБ, но на практике всегда ок. А что бы не читать за пределами пеэйджа вы алоцируете немного больше памяти под весь массив что бы вот этот фэйковый 4 компонент не вылез за границы буфера. Я тут мог что то не точно описать про 1 байт, но суть более менее передал, а смотреть код мне в лом.
Нет, это НЕ уб, в такой ситуации по стандарту поведение четко определенно - вызов терминэйт.
Вы пишете, что не существует случаев когда из деструктора имеет смысл кидать исключения - вы слишком высокого о себе мнения и берете на себя больше чем можете вынести (на данный момент). По теме исключений вам конечно незачет, приходите с другой статьей на пересдачу. Хинт гуглите std::uncaught_exceptions(), эс на конце очень важна, можете ещё в строку поиска добавить Александреску.
Задание на следующую статью - напишите класс который может кинуть исключение из деструктора и НИКОГДА не привидет этим к вызову терминэйт.
Вопрос со зведочкой - зачем это может понадобиться в реальном коде. Одного примера достаточно.
Похоже со мной что то не так, но я честно не вижу вобще никакой (включая этической) проблемы в одномоментном уничтожении (округлим) 250К японцев. В чем собственно проблема, почему это безусловно плохо? Вы согласны с тем что эти же люди умерли бы от естественных причин со временем? Т.е. сама смерть не проблема, она не избежна. Какая разница (этическая) нужно убить 1 человека или 250К что бы достичь цели? Если вам ок убить одного то чините свою логику, если не ок то свою этику, т.к. вы пользуетесь благами полученными в том числе за счёт убийств. Ага щас налетят оптимизаторы и скажут ну вот можно все посчитать и тогда получится что можно было всего лишь 10К убить и достичь того же результата. Чушь. Сделали как смогли, никто понятия не имел сколько помрёт, сколько погибло значит ровно столько и надо было, т.к. все сработало точно по плану Япония немедленно капитулировала.
Автор прямым текстом обвиняет фон Неймана(и не только его) в моральном уродстве, а я так не считаю. Тогда надо приравнять всех кто убивает к уродам, провел эвтаназию урод, выполнил аборт урод, казнил по решению суда урод, убил врага на войне урод, убил в самообороне урод. Какая разница почему убил? Я вижу только одну причину уродства - убийства без причины, для удовольствия, да даже тут не уверен, вон куча охотников/рыбаловов напряглись сразу же. А если про людей, то чем спорт на ринге отличается? Там с очень не нулевой вероятностью люди погибают и это не всегда ради только лишь денег.
Автор ставит равенство между содееным и бессмысленными убийствами, так как будто все те люди были буквально маньяками психопатами. Нет у них была цель достигнув которой они перестали кидаться бомбами и пошли заниматься чем то другим, а вот маньяк он не остановиться ему в кайф сам процесс уничтожения.
Это тоже самое как сказать что убивать вообще всегда не этично.
Короче этика эта какая то когнитивная бага на всю башню, она противоречива чуть более чем полностью с ее помощью можно оправдать 2 совершенно противоположных решения. Автор ее использует только что бы ещё больше запутать людей. Я так и не понял, что конкретно он предлагает? Задуматься? Ну я подумал - это все чушь. Остановиться? Хрен ему. Быть ответственным? Это вообще как когда речь идёт о принципиально неизвестном? Как предусмотреть все проблемы? А если не все то сколько достаточно, а кто судья что решил что не достаточно?
Ну судя по тому что время работы программы у чела меняется в зависимости от введённого значения, то на асме он таки добавил элсы.
Без элсов любой запуск будет тратить одно и тоже время и считывать весь файл, а с элсами он будет считывать до ИФА с совпадающим значенияем введённого числа. Без элсов это аналог алгоритма каунт (посчитать все вхождения), а с элсами алгоритм фаинд (найти первое совпадение).
Индус очень хороший на самом деле, почти по русски говорит в смысле понятно. Большинство индусов говорит мягкими согласными что их хер поймёшь, а этот четко твердые согласные произносит, ну и что что у него индусский вариант фром май харт - он понятен.
Бриташка тоже на самом деле говорит хорошо, не типично для бриташки его понятно. Обычно бриташки говорят так как будто у них кусок гавна во рту и им неприятно лишний раз его раскрывать, а этот норм. Но когда он своим блатняком изъясняется то тут уже не важно английский это или русский вы все равно нихера не поймёте.
Лично мне лучше всего понимается английский от немцев, на втором месте от америкосов, от англичан почти так же тяжело как от вьетнамцев. Мне кажется во вьетнамском вообще твердых согласных нет, мне обычно надо пару минут на калибровку при общении с вьетнамцами что бы начать понимать хотя бы половину сказанного.
Я немного припоздал, но все же, вот в НЗ камер не очень много и я не особо в курсе, но впечатление, что частных камер (в магазинах, на своем доме и т.д.) чуть ли не больше чем публичных. Так вот они вам, как человеку пострадавшему от чьих то неправомерных действий, не помогут в большинстве случаев. Если правонарушение не насильственное, то вы идете лесом, полиции пофиг даже смотреть не будут, что бы найти виновника. Это по собственному опыту, мне повезло, я точно знал как найти и в таком случае фотки с камеры на заправке испольвали для опознания. Если насильственное преступления, то смотря кто и что сделал, но тут да скорее поможет чем нет. Такие случаи как подростки ночью вломились в магазин, чел свинтил саму камеру в прямом эфире, разбил окно в машине и обокрал / угнал - проходите мимо это ваши проблемы страховка все покроет, нет страховки вам не повезло, следующий.
Короче это я к чему, когда вам кажется, что камера лично вам поможет в какой то жизненной ситуации, то вы не правы - не поможет. Камеры нужны копам и спец службам только когда у них КПИ проседают. Ну и как обычно любая система с КПИ будет хакнута с целью накрутки это значит, что в лучшем случае вы не пострадаете от камеры, а в среднем вам будет только хуже - либо вас оштрафуют, либо за вами будут следить, либо вашу проблему проигнорируют. Максимум есть небольшой шанс, что камера поможет найти урода который вас избил, порезал или убил - так себе юзкейс. У органов нет задачи уменьшить преступность (зачем тогда они будут нужны?) у них задача показать свою нужность - закрыть/решить часть дел которые считаются важными если нет преступлений то это плохо для органов это же тогда можно будет им бюджет урезать да и вообще на камеры заменить.
Камеры не нужны пока не появится законная конкуренция на рынке борьбы с преступлениями, когда я могу запостить на биржу правонарушений свою беду и несколько независимых конкурирующих видов полиции будут соревноваться за право мне помочь. Это нам с вами нужно что бы было меньше преступлений, а существующим органам нужно совсем другое.
Я вам больше скажу (как проф культя юзер) его не просто можно форкнуть, но уже форкнули и думаю не раз, по идейным мотивам. Там сигнал слоты исторически требовали свой недокомпилятор, а когда подвезли с++11 с лямбами и прочим метопрограммированием то нашлись ребята которые стали настаивать на отказе от этого недокомпилятора в пользу стандартных языковых средств, но их послали в путешествие ну они и пошли. Так появился https://www.copperspice.com/