Необъяснимые Случаи в Программировании и Айти

  Рет қаралды 11,686

Dushnila

Dushnila

Күн бұрын

Пікірлер: 74
@Tim.Akhmedov
@Tim.Akhmedov 9 күн бұрын
По поводу обращения к неинициализированной переменной в С/С++: на сколько помню курс по С из универа - при объявлении переменнрой определенного типа за ней резирвируется место в оперативной памяти нужного размера. Но для оптимизации и ускорения выполнения значение, которое уже записано в этой области, не очищается (так, кстати, много где работает - это поведение, в частности, является причиной нашумевшей в одно время уязвимости Spectr для кучи процов Интел и немного АМД). В итоге если попробовать в программе на С обратится к такой переменной - она выдаст значение, которое было записано в памяти ранее - то есть какой-то мусор. При том оно вообще может не быть "полноценным" значением - возможно это кусок от какого-то более длинного типа
@Jeyw1n
@Jeyw1n 8 күн бұрын
Когда видео заканчивается так, не хватает времени, чтобы подумать о том, насколько же классным было это видео! Словно подняли глубокой ночью, облив из ведра.
@Ryazanec13
@Ryazanec13 9 күн бұрын
Если в си создается переменная, но не инициализируется, то программа просто выделяет ячейку памяти под переменную, при этом не затирая эту ячейку памяти, что в этой ячейке хранилось раньше - неизвестно ни кому, там может быть и ноль, может быть и кусок строки и т.д, поэтому переменные в си нужно всегда инициализировать. Массив в языке си это указатель на первый элемент массива, а так как в си не запрещена матеамтика с указателями, то их можно и складывать и вычитать и по сути i[5] это прибавить к указателю число 5 - то есть сдвинуть на 5 элементов по массиву. Таким образом можно пройтись по чужим данным в памяти или вообще слить дамп оперативки. Так распаковывают запакоавнные программы для взлома - просто берут дамп памяти и ищут точку входа приложения, обрезают дамп и груба говорю распакованный экзешник у вас в руках, это очень мощный инструмент, но при неправильном использовании можно и систему в синий экран легко загнать, если не читать дамп а записать туда что то за пределами своей выделенной памяти. аким же образом ищутся значения для читов в играх, просто в оперативке ищется значение количества золота например и правится, прямо в оперативке прямо во время игры. Сейчас эти данные кодируют для защиты от такого, но найти все равно можно, если знаешь, что искать. Cоветую так же задаться вопросом nil==nil ?
@Novator_Progressive
@Novator_Progressive 8 күн бұрын
0:57 Тут нет не чего удивительного. Значение False в базе своей соответствует числу ноль, True любому числу отличному от нуля. Именно поэтому в большинстве языков мы можем подавать чиста в if() и получать логичное поведение. В аппаратной разработке зачастую так и делают, используя числа за место True и False. 3:10 Тут тоже нет не чего удивительного. И компилятор сам значение неинициализированной переменной не присваивает (во всяком случае не всегда). Видите ли, каждая переменная располагается по определённому адресу, по которому уже могло быть какое-то значение, которое осталось от использование другими программами. Именно поэтому неинициализированные переменные чему-то равняются. По этой же причине при выходе за пределы массива мы получаем случайные (или неслучайные) значения.
@mrBars1kChannel
@mrBars1kChannel 7 күн бұрын
База
@Stan_Bu09
@Stan_Bu09 5 күн бұрын
Автор видео в глубину программирования залез, ставлю лайк
@PythonPathMaster
@PythonPathMaster 8 күн бұрын
О) Автор узнал, что 0 - это False. Загадки природы не иначе))
@sasa-0999
@sasa-0999 7 күн бұрын
Клёвый видос было очень интересно, классный формат давай побольше таких видосов
@krivolap50
@krivolap50 7 күн бұрын
В комментариях типы говорят, что это самая база, но они забыли, кого они смотрят.
@alexmb2122
@alexmb2122 9 күн бұрын
Тип данных decimal? Может проблема в «новых» программистах? Раньше задавали типы данных вручную, сейчас все рассчитывают на компилятор 🤦🏼‍♂️
@MafJora
@MafJora 9 күн бұрын
2:33 Решение. Откройте Dev Tools в браузере (копка F12), вкладка "консоль". Наберите строку помеченную префиксом " >" нажмите Enter. Результат исполнения одна строка ниже: > let a = {} + []; undefined >console.log(a); [object Object]
@two-spikes
@two-spikes 9 күн бұрын
я посмотрел, не удаляй, пусть другие досмотрят
@b4shtirk1n
@b4shtirk1n 9 күн бұрын
мдэээ, малютка мабильщик узнал про базу спустя 3 года
@binido_
@binido_ 9 күн бұрын
ну, как факт, для того чтоб на работу попасть особо много знать не нужно
@несмак
@несмак 9 күн бұрын
и курсы уже продает, все по канонам )
@KKholin
@KKholin 9 күн бұрын
Чел рассказывает про выход за пределы памяти, обосновывая это "магией". Сразу видно, собесы на сеньора тянем
@stanislav_toryanik
@stanislav_toryanik 5 күн бұрын
Уже прошло 3 года??
@KarDayy
@KarDayy 7 күн бұрын
4:10 это содержимое ячейки памяти так как С++ низкоуровневый язык программирования то он может такое позволить, и еще есть много фишек с этим
@cuberbug
@cuberbug 9 күн бұрын
О, новая душная рубрика с неожиданным поворотом в конце! Выражаю своё наидушнейшее одобрение 🐳
@Tkmtermocomplex
@Tkmtermocomplex 9 күн бұрын
JavaScript может даже умножить строку на число ну например 5 х 1 пять будет строка и один будет число он выводит пять это очень странно почему он прибавляет друг другу разные типы данных кто понимает отвечайте мне
@egorleonov3959
@egorleonov3959 8 күн бұрын
это такая база… Я за пару дней учения backend разработки это уже знал…
@dushnila_official
@dushnila_official 8 күн бұрын
Прямо за пару дней? Нифига, гений, точно
@GamerGDS
@GamerGDS 8 күн бұрын
чел базы не знает? если обратится за предел массива то обращение пойдёт к соседней области памяти, вот от туда и берётся значение. Язык программирования это не магия (покрайней мере не до такой степени), не берутся занчения из не от куда. В данном случае просто из соседней ячейки памяти значение взялось
@artugun1
@artugun1 5 күн бұрын
Да, но непонятно почему значения разные при вроде статичной памяти, и почему система всё-таки иногда видит что мы пробуем читать ячейку памяти не принадлежащей массиву, а иногда даёт доступ и к другим программам на редактирование. Короче странный защитник оперативной памяти, по крайней мере на linux
@DavidAbdilazizov
@DavidAbdilazizov 8 күн бұрын
4:41 кто подумал что у него зависла сюда
@slavikkurganov3046
@slavikkurganov3046 9 күн бұрын
5:07 поверил что KZbin зависим,даже перезагрузил его 😂
@Empty_Vima
@Empty_Vima 8 күн бұрын
Дожили... Мемасики теперь длиной 15 минут... и с рекламой нужно гуглу отправлять заявки на скорость х10. Хорошо есть кнопка не рекомендовать... Спасибо. Удачи.
@dushnila_official
@dushnila_official 8 күн бұрын
Давай давай, плохого дня
@TigerRUS
@TigerRUS 9 күн бұрын
Карен Макарен хорошо зашёл, но только одной ногой
@cyrilanisimov
@cyrilanisimov 8 күн бұрын
По поводу примеров в плюсах - баянище. Так никто не пишет, если хотя бы учебник по плюсам почитал.
@Ais_Hunt
@Ais_Hunt 8 күн бұрын
Хм... ну то что плюсы дают подобное вытворять, это же всё отдается на откуп программисту. А вот например уже для той же много поточности в разных языках есть свои методы синхронизации потоков исполнения, те же критические секции, симафоры, и т.д. И вроде питон умеет выполняться только в одном потоке разве нет? JavaScript - это JavaScript тут сложно что-то говорить) Ты не достаточно задушнил) Есть такая штука, точнее свод правил, MISRA, там такую хрень с наименованием ещё на этапе написания кода исключают ) Ну всё можно открывать окно.
@ishogun1365
@ishogun1365 8 күн бұрын
Подловил с зависшим ютубом)
@mrBars1kChannel
@mrBars1kChannel 7 күн бұрын
Чисто как развлекательный контент хорошо, но тематика программирования привлекает душнил, поэтому не лучший выбор. Просто для тех, кто в точных направлениях развивается, это звучит немного нелепо. Примерно как если бы спортсмен рассказывал другим спортстменам, что у него после тренировки рук, болят руки и это капец необъяснимая загадка спорта, хотя как бы очевидно. Ибо если учить не по видосам хаудихо, а по чем-то нормальному, то вопросов откуда берётся значение у неприсвоенной, но инициализированной, переменной, также, как и у объекта массива, выходящему за индекс, вообще возникать не будет уже в первые несколько дней изучения. Абсолютно аналогично и про false == 0 и вещественные числа. Опять же, меня всё устраивает в видео, забавно, а без кликбейта сейчас не выжить просто. Но нужно быть готовым к духоте
@Tkmtermocomplex
@Tkmtermocomplex 9 күн бұрын
Ну да у всех у всех компилируемый в языках такие проблемы они не сообщают там мелочи всякие вот мелочей ошибки поэтому придётся попотеть Это не касается не только си и си плюс плюс это касается и даже java тоже такие проблемы
@TitOKChannel
@TitOKChannel 8 күн бұрын
Не будем нарушать традицию, по этому: алибидерчи)
@Илья-п4м3щ
@Илья-п4м3щ 9 күн бұрын
1:18 не "типы данных к значениям", а наоборот...
@mop157
@mop157 8 күн бұрын
Ну так в джава скрипте и поэтому и есть === а надчет == то я наоборот этим пользуюсь к примеру в ситуации когда нужно проверить на 3 значения: 1 undefined 2 null 3 0 Переменную которую мы получаем может быть undefined, null, 0, number (больше 0) и поэтому просто к перемене использую || и ставлю значение по умолчанию тоесть 1, и всё так что не баг а фича) Пример херня, конечно но удалять лень)
@ejlite5900
@ejlite5900 8 күн бұрын
14:48 Про того самого людишку из NASA
@Tkmtermocomplex
@Tkmtermocomplex 9 күн бұрын
Print(0.1+0.2==0.3) //true
@dushnila_official
@dushnila_official 9 күн бұрын
На питоне онлайн компилятор выдает false
@koshkodrblg5653
@koshkodrblg5653 8 күн бұрын
@@dushnila_official потому что float != decimal типу данных, во флоуте по-другому числа записываются
@Tkmtermocomplex
@Tkmtermocomplex 8 күн бұрын
@@dushnila_official странно как-то
@MichaelLis
@MichaelLis 8 күн бұрын
без спец. образования для самоучки, конечно, 0.1 + 0.2 != 0.3 - это магия. И математики почему-то хватаются за голову? Про IEEE 754 никто и не слышал
@Этотпсевдонимнедоступен-4
@Этотпсевдонимнедоступен-4 7 күн бұрын
7:46, а знаете, что ещё хорошо влияет на работоспособность ? Трава^^ Художники такие великолепные и безумные картины рисуют, когда обдолбанные. Ну и конечно, ничего этого нельзя применять, а ещё, бывший гендиректор МикроСофта херню предлагает.
@ЭдгарЭдгар-с4л
@ЭдгарЭдгар-с4л 9 күн бұрын
Эх сразу видно про многопоточку прям верхушечку коснулся, на деле если капнуть глубже, можно попасть в ад =)
@dushnila_official
@dushnila_official 9 күн бұрын
Да, там можно было много чего рассказать, не стал усложнять 😅
@Kotik_Boba-
@Kotik_Boba- 9 күн бұрын
00:00 Тоже сурдина и семихатова смотришь?
@Nev_erd
@Nev_erd 8 күн бұрын
Душнила теперь си плас пласник
@alangalifianakis
@alangalifianakis 9 күн бұрын
Новый способ заканчивать видосы на самом деле
@Tkmtermocomplex
@Tkmtermocomplex 9 күн бұрын
А я думал что хороших компиляторов такие ошибки не бывает
@Ryazanec13
@Ryazanec13 9 күн бұрын
у gcc ловил ошибку, писал прошивку под одну железку, и одна функция ни как не хотела работать правильно, хотя я раз 20 перепроверил алгоритм, но не работает и всё, плюнул, решил, что потом или разберусь или перепишу и начал писать вывод данных на дисплей, забив на функционал, и вообще не трогал странно ведущий себя кусок кода и при проверки дисплея оказалось, что кусок кода заработал как надо! я обрадовался, и продолжил писать дальше, и при разных компилляциях этот кусок кода то работал то не работал! мистика. в итоге проблему решил, перенастроив мейк файл, что бы прошивка компилировалась не на максимальную скорость выполнения, а на минимальный обьём занимаемого флеша - и всё! больше этот кусок кода ни разу не глючил, что бы я в прошивке не менял.
@gordeyvasilev
@gordeyvasilev 8 күн бұрын
"Антропогенный" фактор (программисты)
@vasilsuarez5075
@vasilsuarez5075 9 күн бұрын
ты топчик, мативируешь (я учу руский, извините за ошибки)
@mrrl37
@mrrl37 9 күн бұрын
Он выучил программирование что бы душить
@Angelochek-v8o
@Angelochek-v8o 9 күн бұрын
А ты здесь ради добровольного удушения?
@mrrl37
@mrrl37 9 күн бұрын
@@Angelochek-v8o Да.
@_tetto_
@_tetto_ 8 күн бұрын
5:00 душнила что-то припозднился о замедлении говорить которое началось ещё с августа
@semga_moment_i
@semga_moment_i 9 күн бұрын
Я нечего не понял
@p1nkflow
@p1nkflow 9 күн бұрын
"Необъяснимые странности" - 15 минут посредственно объясняет их
@dushnila_official
@dushnila_official 9 күн бұрын
В смысле посредственно
@Этотпсевдонимнедоступен-4
@Этотпсевдонимнедоступен-4 7 күн бұрын
10:26, конечно сложение в программировании сломано, если автор не знает, что вообще-то в программировании есть разные типы данных. И для банковских вычислений никто не использует Double. Для точных вычислений есть Decimal...Float кстати тоже при сложении 0.1f+0.2F выводит 0.3 (правильный ответ). А вообще, если человек догадался, что есть разные типы данных (числовые: byte, sbyte, short, ushort, int, uint, long, ulong; С плавающей запятой: float, double, decimal;.... и многие другие), то он наверное должен был разобраться, как с ними работать. То, что какой-нибудь int хранит значения в диапазоне от -2 147 483 648 до 2 147 483 647. И 0.2 + 0.3 туда никак не поместятся.
@Luciapeters-e8y
@Luciapeters-e8y 9 күн бұрын
I want to start trading cryptocurrencies but I don't know how to start. I want someone that will coach me to avoid loosing my capital.
@builtempire-e9s
@builtempire-e9s 9 күн бұрын
start from dropping this shit thoughts mf
@oblad8783
@oblad8783 8 күн бұрын
Слишком душно
@gl8855-k4r
@gl8855-k4r 9 күн бұрын
норм
@Manux11111
@Manux11111 9 күн бұрын
первый
@dushnila_official
@dushnila_official 9 күн бұрын
Хорош
@snslshrt9190
@snslshrt9190 9 күн бұрын
двадцатый , удаляй канал
@KEVBELA
@KEVBELA 9 күн бұрын
Первый❤
@dushnila_official
@dushnila_official 9 күн бұрын
Хорош
@xep14_88
@xep14_88 7 күн бұрын
Это всё ваш цпп
@kvas377
@kvas377 9 күн бұрын
первый
@Angelochek-v8o
@Angelochek-v8o 9 күн бұрын
Не хорош
Do you love Blackpink?🖤🩷
00:23
Karina
Рет қаралды 23 МЛН
Accompanying my daughter to practice dance is so annoying #funny #cute#comedy
00:17
Funny daughter's daily life
Рет қаралды 24 МЛН
The IMPOSSIBLE Puzzle..
00:55
Stokes Twins
Рет қаралды 195 МЛН
«Осень». Самая большая загадка Windows XP
14:36
Девять десятых
Рет қаралды 1,4 МЛН