- 1
- 2
//Breakpoint
bool[] bp = new bool[1]; bp[1] = true;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
//Breakpoint
bool[] bp = new bool[1]; bp[1] = true;
Чувак сказал, что так ему удобнее.
Появляется Notice: https://ideone.com/6bH6i9
https://ideone.com/YCbkVh
Проверку можно отрубить с помощью {$R-}, но это считается дурным тоном.
https://ideone.com/c59sUj
тут создали массив из двух элементов, в первом false, во втором true, что не так?
https://ideone.com/GmAtF6
Получается, мы тут имеем арраеблядство? так, что ли?
А то, что у автора - это программный брекпойнт.
Можно, конечно, сделать что-то типа того:
Но тут тоже может получиться оказия, если включены оптимизации. Скажем, у меня в подобной ситуации компилятор падал с Internal error, и я долго не мог понять, почему.
Поэтому я за "PHP".
Возможно, C++ и есть та мистическая древняя шкатулка-головоломка.
Ты же понимаешь, что ядра самых популярных ОС написаны таки на сишке? Или мн продолжить мысль?
UB юзерского режима не сможет поломать структуры ядра ибо у них в странице написано что треба быть Supervisor, а у сегмента выполняемого кода написано что он юзер
Впрочем, даже это не отменяет существование багов (помним же Meltdown со Spectre?)
А, окей. Ошибка в ОС приводит к ошибке в ОС
>>(помним же Meltdown со Spectre?)
Это бага процов Интела а не ОСей
Именно. Вот такие баги и есть самый прямой способ на действительно Undefined Behavior.
Забавно что ISA самого x86 чиста как слеза, а проблема в реализации. Это как если бы у тебя был алгоритм без бага, а компилятор сгенерировал бы код с сайд-эффектом который используют хакеры
https://habr.com/post/179543/
- це зрада чи перемога?
>> да и не особо нужна она в ведре
fixed point это и есть в целых числах. Когда ты хранишь цену в тысячных рубля/доллара/тугрика, ты неявно используешь fixed point.
Да вроде без разницы, какой знаменатель. Ты просто таскаешь мысленный фиксированный знаменатель повсюду, а все операции производишь на числителях.
Степени десятки нам понятнее, степени двойки имеют естественное машинное представление.
Да я уже понял, что накосячил, и поправил имена.
Это я и имел в виду, да.
В Расте же вроде есть fixed, но это не точно
Конечно же есть. fixed point можно сделать из любого инта, нужно только решить, где точку поставить, и пару функций написать
В крестах можно как-нибудь красиво извернуться Но по сути fixed point это просто целое число.
Есть языки с типом currency специально для валют: целая часть и несколько знаков после запятой (обычно четыре, т. е. копейки и ещё два знака на всякий случай).
В крестах можно перегрузить операторы ради fixed point или ради комплексных чисел или ради чего-нибудь ещё, а в сишке вместо a+b придётся писа́ть что нибудь некрасивое вроде sum(a, b).
Для ведра стандартная библиотека языка невероятно важна, ага.
Помнится, в линупсе джва бага удачно совпали - один позволял замапать страничку на нулевой адрес, а второй был банальным косяком с пропущенной проверкой на null в каком-то драйвере. Пиздец приходил даже не из-под админа.
Что, тот кусок говна выебал тебя и исчез, не прислав даже открытку на Восьмое Марта?
А ведь ещё с восьмидесятых годов ходит народная истина, что если негр говорит, что страсть как обожает и хочет увезти, - верить нельзя. Сольёт пару литров и съебёт обратно в Мозамбик или Камерун.
Хотя стоп. Как вообще в такой архитектуре отличать 0 от 0? (void *)0 и (void *)(int)0 ?
"PHP", "Java"-е, "JavaScript"-у не привыкать, а вот для "C" и "C++" - критично.
Если ты делишь нуль на нуль, то ответом должна быть единица, не так ли?
А еще есть +0 и -0.
a×b=c => b=c/a
0×265=0 => 265=0/0
0×666=0 => 666=0/0
0×1488=0 => 1488=0/0
0×9000=0 => 9000=0/0
0×100500=0 => 100500=0/0
x^0 = 1
0^0 = 1 и 1^0 = 1 => 0 = 1
Ноль раввин идинитсэ!
Но:
0^n = 0 => 0^0 = 0
:(
Вы не понимаете, все эти неопределённости и нестыковки являются доказательством того, что нуля не существует! Вся математическая модель является неверной!
Это утверждение ошибочно.
> Поэтому все вычисления с ним тоже будут ошибочными!
Это утверждение также ошибочно.
Если f(x) = f(y), то это совсем не значит, что x = y :)
НО ЭТО ВСЁ ИЗ-ЗА НУЛЯ!!!
Оно истинно только тогда, когда x не равен 0. Так что это действительно из-за нуля.
Ну это и ежу понятно.
Просто если таки расширить деление на нуль для машинных интов, нарушив законы, то 0/0 = 1 кажется мне более логичным, чем любой другой ответ. «APL» думает так же:
>> 0
Странный выбор. ∞×0 — это то же самое, что 0/0. В обоих случаях нужно предупреждать, что результат не определён.
Единственно, что переполнение редко возникает при работе с бытовыми числами, обозначающими количество каких-нибудь реальных предметов или объектов в памяти. А вот деление на ноль - может! Поэтому так исторически и сложилось, что /0 везде контролируется аппаратно, а переполнению такого значения не придали.
Например, делимое в DX и AX (итого 32 бита), делитель 16-битный, частное в AX (16 бит), остаток в DX (16 бит). Или делимое в EDX и EAX (итого 64 бита), делитель 32-битный, частное в EAX (32 бита), остаток в EDX (32 бита). Или делимое в RDX и RAX (итого 128 бит!), делитель 64-битный, частное в RAX (64 бита), остаток в RDX (64 бита).
Т. е. посчитать частное они могут не для любой пары. Крутись как хочешь, но частное должно влезть во вдвое меньшее количество двоичных разрядов, чем делитель. Из-за этого и была ошибка 200 в модуле CRT.
https://ideone.com/QhN8Ac
Это да. (прямо ностальгия по первому курсу пробила...)
Так?
Кратность пятнадцати проверяется, чтобы кричать не каждый раз, а хотя бы в 15 раз пореже.
Твой код попахивает говном немытыми носками, табачным дымом, кондомами и перегаром.
А как бы Вы написали?
http://manpages.ubuntu.com/manpages/precise/ru/man1/aria2c.1.html
https://aria2.github.io/manual/ru/html/aria2c.html
Всегда возобновлять загрузку. Если задано true, aria2 всегда пытается возобновить загрузку и если это не возможно, прерывает ее.
И многопоточность у неё есть. Причём можно один файл скачать как с нескольких соединений с одним сервером, так и с параллельных соединений с несколькими серверами. Допустим, ты знаешь, что файл лежит на сервере, у которого несколько зеркал. Ты можешь указать все зеркала и тогда каждый фрагмент файла скачается со своего зеркала. Если у тебя канал шире, чем у серверов, получишь прирост скорости.
А ещё есть встроенный RPC-сервер (JSON и XML) для дистанционного управления закачками.
Ещё настраиваемый формат вывода диагностических сообщений и код разврата, чтобы можно было узнать результат скачивания.
aria2 использует контрольный файл для отслеживания прогресса загрузки. Контрольный файл размещается в том же каталоге, что и загружаемый файл, и имеет имя, как у загружаемого файла с добавлением .aria2. Например, если file.zip загружаемый файл, тогда контрольный файл будет file.zip.aria2. (Существует исключение для этого именования. При загрузке торрента с множеством файлов, контрольный файл будет в «корневом каталоге» с именем торрента и добавлением .aria2. Имя «корневого каталога» - значение ключа «name» в «info» внутри torrent-файла.)
Обычно контрольный файл удаляется после завершения загрузки. Если aria2 решает, что загрузка не может быть возобновлена (например, когда загружается файл с HTTP-сервера, который не поддерживает возобновление), контрольный файл не создается.
Обычно, если вы потеряете контрольный файл, вы не сможете возобновить загрузку. Но если у вас есть torrent или metalink файлы с контрольными суммами блоков данных, вы сможете возобновить загрузку без контрольного файла, указав параметр -V в командной строке aria2c.
Цикл будет крутиться, пока не скачает.
Лучше не позорься и сразу напиши - как не умели готовитьпрограммистов в 90-х, так и не умеем.
У тебя пердак горит из-за того, что кто-то обладает знаниями и навыками, которых нет у тебя?
Поступить на факультет прикладной математики, учить нахуй не нужные в работе вещи, потом самостоятельно учить нужные и при этом гордиться образованием. Всё как в 90-е.
Продолжай списывать свои неудачи на то, что тебя обучили навыкам, которыми ты не смог воспользоваться.
Хуйне обучают в странах бывшего совка, хрюква. Или аргументированно опровергни, или иди нахуй.
Если учился для галочки - да, конечно. И уклон в программирование, который Сёма пропагандирует, помог бы этим людям хотя бы на уровне технаря выйти, а не с полным нулём (хотя лучше бы они в технаре и учились, чтобы ресурсы не переводить впустую).
А остальные уже как-то умудряются работать, фрилансить, что-то своё пилить и т.п.
Но у нас диплом означает хоть что-то, а у вас, судя по нытью в инете, она не означает вообще ничего.
Тем не менее, упомянуть о существовании оных всё таки стоит. Достаточно рассказать про один любой VCS (да хоть RCS) а дальше уже сами.
>>да и вообще она для программиста не обязательна должна быть, а не как в рашке
В России она тоже не обязательна. 60% "программистов" это писатели бойлерплейта или копипастеры готовых сниппетов со стековерфлоу. Им вышка действительно не нужна.
Очередная, блядь, документооборотина для молокозавода. Добавь там поле в отчет или аутентификацию через OpenID. Зачем вышка то?
Доктор PHPшных наук
Вероятно дело в том, что оно было (а часто и остается) бесплатным, и потому получить его относительно легко (я говорю конечно не про крутые ВУЗы а обычные, которых сейчас в каждом городе завались)
Отсюда у нас с одной стороны те, кто идет в ВУЗ "ради корочки" (или потому что мама сказала, или потому что закончил школу и надо же что-то делать!).
А с другой у нас совершенно трогательные вакансии типа
https://hh.ru/vacancy/27840664
* Поддержка оргтехники (МФУ, принтеры, плоттеры).
* Требования: Высшее образование
Мне кажется что в некоторых других странах вышка стоит так много, что ее рассматривают как инвестиции, и никто не будет учиться в ВУЗе чтобы потом обслуживать принтеры.
Возможно и в России следовало бы выгнать на мороз распиздяев чтобы остались те немногие (а их действительно немного!) кто хочет серьезно заниматься программированием.
Для остальных можно открыть трехмесячные курсы по обслуживанию МФУ.
Ещё про армию забыл. У вас для обычного городского это почти как смертный приговор, да и для Украины - 1,5 года жизни нахуй просто (пи, ты где?). Хоть возраст призыва до 20 лет подняли.
Даже в странах, где вышка особо ничего не стоит, туда не валят так массово, ПТУ и рабочие профессии там далеко не так маргинализированы.
Ага:
* Прием и регистрация обращений от пользователей.
* Установка и настройка ОС, стандартного ПО.
Тоессь ты считаешь впринципе нормальным что чувак там с численными методами разбирался чтобы потом "настройка ПО"?
Правда у нас вышка для админа тоже не нужна. Говнокурсы, а дальше опыт. Ещё один СНГшкаотсос.
Потому ты и без работы, да?
Пять лет в ВУЗе вполне достаточно чтобы узнать что-то про теорвер и про компиляторы и про обедающих философов.
А вот сидеть в ВУЗе пять лет чтобы потом на "JavaScript" писать выпадающие меню всю жизнь это примерно как купить немецкий микроавтобус чтобы на нем в одиночку ездить. Дорого и глупо
Сегодня ты пишешь на "PHP" или "JavaScript", завтра ты найдешь другую работу, где нужны знания компиляторов и грамматик. Никогда не знаешь что пригодится. Базу нужно иметь всегда, ИМХО.
Я дохуя знаю зарабатывающих на всяких сайтах, SEO и иже с ними. Понятное дело что к CS это отношения не имеет
Я не знал просто
Это полный идиотизм, я согласен
Но тот, кто пришел "ради корочки" -- у того знаний не будет.
Имеющие отношение к твоей профессии
Ясно.
Я уже предлагал сравнить учебные планы у нас и в б. СНГ. Все только отмораживались.
Это где? В рашке тоже примерно также.
Ах, тоже мне секрет Полишинеля!
Соль солёная, сахар сладкий, Сёма ничего не умеет и никогда никем нигде не работал.
Только не проси меня тут справку 2-НДФЛ выкладывать, хорошо?
никакое, сём
Делай дальше сайтики на джанге или что ты там делаешь
>Математику должен знать алгоритмист
Это кто такой, простите?
http://algoritmist.ru/o-terminologii/algoritmist.html
http://rsdn.org/forum/philosophy/2438776.all
https://habr.com/sandbox/101350/
https://yandex.ru/jobs/vacancies/dev/dev_algorithm
Ну и формально: композит пустого семейства равен нейтральному элементу, т.е. сумма 0 членов - это 0, а произведение 0 членов (в частности, нулевая степень) - это 1.
Хотя тут можно сказать, что это просто разные возведения в степень. Скажем, функция f(x) = x^3 определена при всех x, а g(x) = x^x - только при положительных (а то область определения на отрицательной полуоси была бы совсем уродской - только те рациональные значения, у которых знаменатель нечетный?). Но можно сказать, что это перегрузка операций, определяемая типом аргумента: в первом случае - операция возведения в целое число, а во втором - в действительное, и у каждой операции своя область определения.