Что такое ошибка на единицу

  Рет қаралды 10,206

S0ER

S0ER

3 жыл бұрын

#soer #itubeteam
Основной канал для общения и публикации новых видео - Телегарм - t.me/softwareengineervlog
Спонсорство - donate.s0er.ru
Сайт платным контентом - soer.pro
Зеркало для видео Дзен Видео - zen.yandex.ru/id/5f578bdf22e2...
GitHub - github.com/soerdev
Чат для программистов - / discord
Группа ВК - codeartblog

Пікірлер: 49
@alexlegkostupov676
@alexlegkostupov676 3 жыл бұрын
Подумал ещё об одной проблеме ошибки на 1цу - это расчёт количества дней между 2мя датами. Очень часто в языках готовые функции работают не так как мы привыкли считать в реальной жизни.
@mrstronciy1060
@mrstronciy1060 3 жыл бұрын
Соер спецом ошибся, чтобы доказать необходимость инварианта.
@nmm33342
@nmm33342 3 жыл бұрын
Спецом ошибся, чтоб тема была для видео
@sergnochevny
@sergnochevny 3 жыл бұрын
стратегия инварианта и тестов интересна до тех пор, пока не возникает необходимости в инварианте для инварианта и теста на тесты... то есть, никто не гарантирует верность тестов и безошибочность инварианта, а особо, когда это нетривиальные наборы. это ставит под сомнение актуальность применения стратегии.
@S0ERDEVS
@S0ERDEVS 3 жыл бұрын
@Serhii Nochevnyi а какой способ предлагаете вы? Довериться интуиции разработчика?
@sergnochevny
@sergnochevny 3 жыл бұрын
Увы, однозначного ответа нет и, вероятно, не будет - все зависит от критериев приемки и стоимости затрат. Что же касается темы - Вы описываете теорию программирования по контракту, которая имеет, к примеру, на дотНет практическое выражение - некую библиотеку Contracts... а вот то, что библиотека практически мертвая, говорит о применимости вполне обоснованной теории на практике.
@user-kf1xn1dq9t
@user-kf1xn1dq9t 3 жыл бұрын
@@sergnochevny ну так тесты на то и были придуманы чтобы отсеять совсем глупые ошибки. Писать без багов пока еще никто не умеет. Да и ни один тест не заменит брейкпойнты и next step- next step-next step или console.printf("I got here");
@yaroslavishchuk
@yaroslavishchuk 3 жыл бұрын
Вот это реально интересно смотреть... спасибо
@rukissergej
@rukissergej 10 ай бұрын
спасибо. Познавательно. И верно не только для программирования.
@wolfich4684
@wolfich4684 3 жыл бұрын
очень интересно ваше мнение про такое вычислительное/computer мышление? в моем понимании это как решать быстро информац. задачи. Опять же таки думаю что в основе это знание алгоритмов, структуры данных..и многое многое что-то еще
@managerproject6729
@managerproject6729 3 жыл бұрын
Это человек достойный патрон. Видео трансляции по архитектуре для патронов доступны?
@lightlocdog
@lightlocdog 3 жыл бұрын
топчик
@valentin3780
@valentin3780 3 жыл бұрын
Как по мне, тут допущена логическая ошибка: индексы сравниваются с количеством. И индексы совсем не подряд могут идти. Поэтому, если этого не делать (не сравнивать логически разные вещи), то ошибка выродится. Но моё замечание именно о случае в видео. Ошибку на единицу при расчёте индексов никто не отменял)))
@S0ERDEVS
@S0ERDEVS 3 жыл бұрын
Совершенно верно - я использовал i в значении cart.length, т.е. i < n - 1 должно быть L < n - 1, где L - cart.length и тогда все встанет на свои места. В случае видео n - максимальное значение индекса, оно же фигурирует как ограничение i в формуле. Поэтому как раз n логичнее сравнивать с i. Но инвариант удобнее формировать от понятия "количество товаров". Тогда рассуждение про L лучше воспринимаются. Но опять же при таком подходе нужно показать как верхнюю границу n связать с "количеством товаров". Ну и про то что индексы идут не подряд, то в мат. модели это невозможно, так как индекс в данном случае - порядковый номер элемента в массиве. В реализации - да, но там уже не мат. смысл у индекса.
@valentin3780
@valentin3780 3 жыл бұрын
@@S0ERDEVS про мат. модель и нет речи, т.к. там порядковые номера переходят в индексы. А вот реализации часто делают наоборот, что не является корректным. Про инварианты также спору нет. Спасибо за ответ.
@TeuFortMan
@TeuFortMan Жыл бұрын
Теперь осталось узнать что такое инвариант.
@qrthack3233
@qrthack3233 3 жыл бұрын
Что за планшет на котором ты рисуешь?
@prosto1076
@prosto1076 3 жыл бұрын
Может тогда и в total нужно заменить n на n-1? Хотя раз в total определяется n уже с учетом того, что считаем от нуля, то может вообще никакой ошибки нет? Ведь нет условия, что |c| < 5, а только что n < 5
@ri4an598
@ri4an598 3 жыл бұрын
здравствуйте.Узнал про канал благодаря "Голой правде про программистов".Будут еще ролики подобного плана?
@user-lz1yb6qk3f
@user-lz1yb6qk3f 3 жыл бұрын
Самая жизненная ошибка. Когда её допускаешь, сразу начинаются пляски с бубном
@user-vu1gs8kg2j
@user-vu1gs8kg2j 3 жыл бұрын
А и Б сидели на трубе....и задымились.
@callpack96
@callpack96 3 жыл бұрын
лайк не глядя
@jdueioksltoirtius9685
@jdueioksltoirtius9685 3 жыл бұрын
мммм... Моя любимая ошибка! )))
@otfly
@otfly 3 жыл бұрын
Вижу как у Жени мозг прям чешится, ну как им объяснить на практике инвариант?! 😄👍
@user-ot5kt1fi3v
@user-ot5kt1fi3v 3 жыл бұрын
О, у вас, оказывается, есть более продвинутый канал!
@Vanesment
@Vanesment 3 жыл бұрын
блин, а что здесь под инвариантом имеется в виду? вроде математическое определение знаю, но никак в данный контекст его связать не смог((
@useinabilev9210
@useinabilev9210 3 жыл бұрын
Ты проверяешь какое-то логическое выражение на каждых этапах работы с какими-то данными, где это логическое выражение может поменяться.
@Eraston
@Eraston 3 жыл бұрын
Что-то вообще не понял, что значит: "при тройке - четыре". А вообще, изи контрится, главное только понимать разницу между Size (кол-во элементов) и Limit (границы допустимых значений включительно). 0
@user-dn7qr7vs1h
@user-dn7qr7vs1h 3 жыл бұрын
Поэтому давайте не будем использовать подобного рода императивные циклы (с итератором и выходом по условию) там, где в этом нет необходимости. Есть замечательный map-ы, zip-ы, fold-ы и прочее добро (не во всех языках, но можно ручками сделать), чтобы не промахиваться с {1;-1}.
@wolfich4684
@wolfich4684 3 жыл бұрын
Я хотел бы спросить банальный вопрос ..что нужно знать программисту? Да, я смотрел твое видео 2019 года за март - (в основном говориться о мотивации) . Но если рассматривать на уровне базовых дисциплин ? То есть допустим я хочу заниматься Веб- программированием .. И всегда такой ответ : JS , основ БД, html, css и прочих несколько прикладных вещиц ... Но какие трансдисциплины/ базовые предметы будут для вот этих прикладных вещей? Математика, физика, электротехника - это оооочень низкий уровень и может даже не надо сюда заглядывать... Assembler - ну это как язык машинных кодов, но ни как дисциплина, описывающая основы программирования (грубо говоря) Что надо знать чтобы не быть говнокодером? "знание принципов освобождает от знания фактов" .. что надо знать чтобы так было? Первое что приходит на мой непрофессиональный взгляд.. - основ алгоритмов и структур данных -основы логики - информатика - основы программирования ( то есть в принципе где речь идет об абстрагированном от конкретных языков описании) - архитектура компьютера - администрирование сетей/основы компьютерных сетей что-нибудь еще?
@eugenenovikov671
@eugenenovikov671 3 жыл бұрын
на фоне майки 0 и 1 плохо видно было
@Nandarion
@Nandarion 3 жыл бұрын
Если не кодить одновременно на двух разных языках, где в одном верхняя граница включается в цикл For i = 1 to N, а в другом языке не включается for( int i = 1; i < N; ++i) , то эта ошибка на самом деле детская.
@atar_kusx
@atar_kusx 3 жыл бұрын
А что такое вообще инвариант ? И вот это add с квадратной скобкой.
@cyrilanisimov
@cyrilanisimov 3 жыл бұрын
И на старуху бывает проруха. - как говорила подруга моего детства польская красавица Инга Зайёнц
@alexsokol9447
@alexsokol9447 3 жыл бұрын
инвариант === константа?
@fazleev
@fazleev 3 жыл бұрын
Я пока не уверен, что достиг понимания инварианта. Поправьте меня, пожалуйста, если неправ. Насколько понимаю сейчас - в инварианте может быть не одно, а комплекс условий, которым должно соответствовать решение. И да, сами условия могут зависеть от других. Таким образом, в частном случае инвариант может быть константой (допустим, площадь фигуры при геометрических преобразованиях не должна изменяться), но в общем случае инвариант назвать константой нельзя.
@user-lz1yb6qk3f
@user-lz1yb6qk3f 3 жыл бұрын
В каком-то роде. Логическое выражение, истинность которого не должна меняться при выполнении программы. Что-то незыблемое в вашей программе, на что вы можете опереться.
@dann1kid
@dann1kid 3 жыл бұрын
@@user-lz1yb6qk3f Как три закона робототехники
@user-lz1yb6qk3f
@user-lz1yb6qk3f 3 жыл бұрын
@@dann1kid, это которые Азимов придумал?
@dann1kid
@dann1kid 3 жыл бұрын
@@user-lz1yb6qk3f ага, просто как пример инварианта. То есть некоей абстрактной среды со своими невзаимоисключающими правилами.
@user-pc7ih3cb4y
@user-pc7ih3cb4y 3 жыл бұрын
Достаточно было бы сделать
@sergnochevny
@sergnochevny 3 жыл бұрын
и получилась бы ошибка на две единицы 🤣🤣🤣🤣
Инвариант в программировании
18:54
The child was abused by the clown#Short #Officer Rabbit #angel
00:55
兔子警官
Рет қаралды 15 МЛН
Children deceived dad #comedy
00:19
yuzvikii_family
Рет қаралды 6 МЛН
😱 Как стать программистом с нуля? Без курсов самому.
24:43
Хауди Хо™ - Просто о мире IT!
Рет қаралды 324 М.
G.R.A.S.P | шаблоны проектирования
12:09