Pull to refresh

Comments 208

про вызов функций/подпрограмм забыли… ;)
позвонил как-то Кукутц Кармаку и говорит:
А не передашь Валерке конфетки?
а что Валерка будет возвращать?
это не рекурсия.

боги, как же все любят называть всё подряд рекурсией?! задрало!
мы почти весь обед сидели у думали как переложить рекурсию на конфетки.
не получалось — валерка лопался со stackoverflow
мне кажется, что в случае с Валеркой рекурсия будет при шизофрении.
а Валерка возвращать — это всего-лишь возвращение результата из функции.
топик годный. вы наполняйте его свежими идеями и предложениями из комментариев )
Валера: Миша, можно я возьму конфету номер Х?
Миша: Можно, если Миша разрешит тебе взять конфету номер Х.



Валера: Миша, можно я возьму первую конфету?
Миша: Конечно, Валера!
ай-ай! во второй строчке читать X-1
рекурсия это когда у конфетки куча фантиков ) если Валерка таки нашел конфетку в куче слоев фантиков значит все гуд. А если нет, то у товарища переполнение стэка ) ну и конечно же кто-то например уборщица должна заставить валерку свернуть все фантики назад один в один и выкинуть )
Рекурсия, это скорее:

Купил Валерка как-то конфету, на фантике написано: «Юбилейный тираж, беспроигрышная лотерея!». Развернул, съел — а под фантиком выигрыш, ещё одна конфета. Пошёл, обменял фантик на новую, там опять выигрыш. Так и жрёт теперь конфеты, не останавливаясь…
Это бесконечный цикл, рекурсия потом в конце должна свернуться в начало.
Дык лотерея-то не вечная. Сожрёт весь тираж — вот и закончится цикл.
«Валерка прочитал на фантике: „Валерка прочитал на фантике: “…
скобки не получились, так как парсер не понимает рекурсию)
Принесли Валерке как-то кучу коробочек, вложенных одну в другую. На каждой написано -«Чтобы съесть конфетку — открой коробочку» Пооткрывал Валерка все коробки, а кофетки так и не нашел. )))
Пришлось все назад закрывать, потому что в комнате свободного места не осталось
Съел Валерка конфетку — «сходил» В роснано из г%*№а сделали конфетку поменьше…
Валерка просит:
— А можно мне конфетку, пожалуйста?
—Сначала вежливо попроси.
—А можно мне конфетку, пожалуйста?
Если я написал неправильно — объясните плз в чем ошибка. Если правильно и вы решите добавить в статью то сделаю одно изменение: «Валера просит у Гвидо:»
Приходит Валерка к Кнуту, поедает все его конфетки и спрашивает:
— А у кого из твоих друзей есть конфетки?
Потом идет к каждому из названных друзей, ест их конфетки и все также хитро выспрашивает, не знают ли они кого еще с конфетками.

Это — рекурсивный обход.
Совсем забыл: как только Валерка обходит всех друзей человека, он возвращается к нему и благодарит за предоставленную информацию. А потом идет к тому, кого назвали следующим.
Коробка конфет «рекурсивная» состоит из конфет и коробки конфет «рекурсивная»
Конфеты. Состав: Конфеты.
Ага, для приготовления салата возьмём: помидоры, огурец, салат.
Кнут тоже регулярно приносил конфетки Валерке. Но однажды ему надоело ходить в магазин самому, он кликнул мальчишку с улицы и сказал:
— Сбегай-ка ты, друг мой, за конфетой «Коровка» в магазин. Вот тебе деньги.
С тех пор в магазин бегал мальчик.
Мальчик — это функция, название конфеты и деньги — аргументы, конфета — возвращаемое значение.
Вот сюда и можно присобачить рекурсию.
Мальчик, получил деньги, но в магазин пошел не сам, а нашел другого мальчика, который был ближе к магазину, отдал деньги, через некоторое время получил конфету (а она могла пройти не через одного мальчика) и вернул ее Кнуту.
Если фантик — декоратор, то конфета — функция =)
Хотя, логики ноль.
Шедеврально! Мьютекс вообще в клочья порвал :))
А, и ещё указатели надо объяснить:

Приходит Ритчи и говорит:
Ритчи: Конфетку будешь?
Валерка: Атож!
Ритчи: Вот тебе бумажка, на ней адрес магазина. Сходишь и купишь себе конфетку.
Это указатель :))
почему «купишь»?
Ритчи: Вот тебе бумажка, на ней адрес Вирта. Сходишь к нему и возмешь себе конфетку.
Ритчи: Вирт, вот тебе конфетка. Сходи к Валерке и отдай ему эту конфетку.
Вот это — делегирование. ;)
Приходит Валерка по адресу, а там уже не продуктовый магазин, а обувной. Это неправильный каст из-за отсутствия проверки типов.

Приходит Валерка по адресу, и проваливается в тоннель к центру Земли, который выкопали на месте снесённого магазина. Это Access violation.

Приходит Валерка в магазин, и в поисках кондитерского отдела врезается в стену. Это Access violation из-за отсутствия проверки границ массива.

Остапа понесло :))
он наверное хочет коробку конфеток :)
Тогда можно еще про нулевой указатель написать:

Any: Хочешь конфетку?
Валерка: Еще бы?
Any: Держи?
Валерка: эммм, а где же она, ее же нет?
Any: что у меня было, то и дал тебе
Вот это нулевая ссылка
нарупальный дроп пакет:)
Обалденно! Не хватает только примеров на каком-нибудь абстрактном языке, например:

Это цикл с предусловием.

while (condition) { code }

Такие они, циклы с постусловием.

do { code } while (condition)
UFO just landed and posted this here
вкус конфетки не должен быть зависим от ее формы.
но ее форма может быть зависима от фабрики изготовителя.
UFO just landed and posted this here
На конфетную фабрику пришел заказ на партию конфет «Коровка». Менеджер из отдела продаж отправил запрос в кондитерский цех. Получив конфеты, он попросил упаковочный цех упаковать конфеты в красивую красную коробку, которую и отправил Валерке.

Менеджер — контроллер, кондитерский цех — модель, упаковочный цех — представление. Коробка — шаблон. А если конфеты будут на складе — то это кеш.
кстати

Потом к Валерке приходит Макс и говорит:
Макс: Валерка, конфетку хочешь?
Валерка: Да
Макс: А чаю хочешь?
Валерка: Конечно же да
Макс: Заходи ко мне, когда дожуёшь конфету / Заходи ко мне через 5 минут


Таймеры в Джаваскрипт:
setTimeout(getTea, 0);
setTimeout(getTea, 5*60*1000);

Потом к Валерке приходит Билл и говорит:
Билл: Валерка, конфетку хочешь?
Валерка: Да
Валерка взял конфету, очень долго не мог её распаковать, а потом она у него, в самый не подходящий момент, выпала из рук в грязь


это проблемы с кроссбраузерностью (Interner Explorer)
Как вы запарили… что, у оперы или у хрома нет проблем?
требуются сравнительно разные диаметры бубнов и тональности камланий
Требуются руки шамана, а бубен подойдет один и тот же.
Угу, особеннов опере. Особенно с формами.
— Валерка, будешь конфетку?
— да!
— Валерка, будешь конфетку?
— да!
— Валерка, будешь конфетку?
— да!
это пинг
— Валерка, будешь конфетку?
— нет!
— Валерка, будешь конфетку_1?
— нет!
— Валерка, будешь конфетку_2?
— нет!
Пришла бабка Нинка и закрыла дверь
это попытка взлома и антивирус
и он сидит рядом с нами, злой весь такой, обиженный — офис ржет и обсуждает чем и как валерку кормить
— Валерка, будешь конфетку?
— Валерка, будешь конфетку?
— Валерка, будешь конфетку?
Отправилось случайно…
— Валерка, будешь конфетку?
— Валерка, будешь конфетку?
— Валерка, будешь конфетку?
— Да!
— Да!
— Да!
А это- TCP/IP
— Да! Да! Да!
не забываем что окно окном, а пакеты склеиваются :)
UFO just landed and posted this here
UFO just landed and posted this here
=) Что ж это за конфетки такие, что и Страуструп, и Винер, и Нортон приходили?
UFO just landed and posted this here
— Валерка, конфетку будешь?
— да!
— на, курни!

Это виртуальная машина
а я тоже конфетку из «муму» на потом оставляю
на потом… это асинхронная конфетка
— Внимание!!! Вы 1000001 человек, который увидел нашу конфетку!!! Для того чтобы забрать свой приз — а это миллион рублей — достаточно лишь открыть фантик и положить содержимое в рот!!!

Троянец
— Валерка, а что это ты делаешь с конфеткой?
Графическую оболочку этикетку отрываю
>Вирт отдаёт конфетку, проверяет, остались ли в мешке ещё конфеты, и, если остались, снова предлагает конфетку. Это продолжается, пока в мешке есть хоть одна конфета.

может вылететь по эксепшену, когда у Валерки «липа спопнется» от такого количества конфеток :-D
— Валерка, скажи: Привет, мир!
— Привет Мир!… а где конфетка?

echo
-Влерка, хочешь конфетку?
-Да!
-Там не конфетка а кирпич!
-Поломанная ссылка =)

Можно еще про утечку конфет рассказать…
Расскажу ученикам в 11 классе на ближайшем уроке.
Спасибо.
Тот самый учитель информатики
Валерка, иди в… баню!

Это goto. Но порядочные программисты так не разговаривают
Абстрагируют посылку Валерки через функции в классах? )
Valerka->Location->listPlace->Bath()
Валерка гопникам:
Валерка: Дайте конфет!
Гопники: На!

Это BSoD.
А DDoS это когда Валерка сказал 5 лучшим друзьям, что даст им по 10 конфет, когда они придут к нему в гости. Пришло не 5, а 500, спросили не 10, а 100, еще и в дверь не звонили. И, да, ноги тоже не протерли, потому что друзья они были хуевые.
Валерка съел конфетку. Пришла уборщица тётя Клава и подмела за ним фантик.

Это GarbageCollector.
GarbageCollector, это скорее если Валерка наложит кучу, а уборщица, матерясь, уберет за ним, поскольку пока конфетка в Валерке, он ею владеет
По-моему, GarbageCollector это когда уберут труп Валерки, умершего от диабета.
— Валерка, съешь лучше яблоко.
Холиварщики подтянулись? :)
к Валерке-то? ну да :)
О как. Я ж тоже Валерка. Пойду, попишу код. Авось конфету дадут.
Браво!

«Если вы не можете в двух словах объяснить пятилетнему ребёнку, чем вы занимаетесь, — вы шарлатан»
Однажды к Валерке пришел Кнут и разрешил ему есть только половину конфетки. Но Валера решил перехитрить Кнута и стал заворачивать несъеденную половинку в половинку обертки, создавай конфету в два раза меньше, а затем снова ее разворачивал и откусывал половину. Это рекурсия.
хм… по идее завершение укусу — это возврат из функции. Второй укус происходит же не во время первого. Т.е. функция сама себя не вызывает. Вроде так.
Функция СъестьКонфетуРекурсивно(Конфета конф)
{
объедки = откуситьПоловину(конф);
новаяКонфета = обернуть(объедки);
СъестьКонфетуРекурсивно(новаяКонфета);
}
Упадет. Про эксепшены забыли =)
Тогда он не перехитрил Кнута, а просто нарушил условие. Ведь первый вызов функции (т.е. из тела основной программы) вернет конфету явно меньше половины. И получится, что Валера не съел половину конфеты.

Ну да это уже софистика началась)
Если вы заметили, функция ничего не возвращает, ее задача — съесть всю конфету целиком. Условие тоже не нарушается, поскольку конфета каждый раз новая, хотя и сделана из предыдущей (в этом — хитрость).
Если Валера может есть только половину конфеты, то значит после того, как он закончит есть, у него должна остаться половина конфеты. Написанный Вами текст, мне видится скорее следующим кодом:

while(1){
откусить_половину(конфета);
конфета = сделать_новую_конфету(конфета);
}

Я пытаюсь сделать упор на явное завершение действие «есть» (т.е. возврат из функции). У вас получается, что съедание первой половины конфеты завершится только тогда, когда Валера уже не сможет откусить половину от «огрызка» (для определенности предположим, что там есть некоторое условие при котором функция «СъестьКонфетуРекурсивно» возвращает управление вызвавшему её коду)
Хорошо, убедили. Вот вам новая рекурсивная история:
Мучался как-то Валерка бессонницей, прознав об этом, Владимир Владимирович Шахиджанян пришел к нему и угостил конфеткой со снотворным. Заснул Валерка, а во сне его опять бессонница мучает. И снова пришел Шахиджанян и дал ему конфетку со снотворным. Заснул Валерка — и опять все по новой. Продолжалось так до тех пор, пока Валерьян, обожравшись конфетами и отчетливо осознав это, не проснулся 256 раз. Шахиджанян ласково улыбался. Наступал полдень.
UFO just landed and posted this here
Так у Валерки диабет может быть. Может заменить продукт? :)

А вообще идея хорошая. Объясните на конфетах, скажем, switch...case
UFO just landed and posted this here
— Валерка, что ты будешь делать, если я тебе дам много конфет?
— Если 1,2,3,4 или 5 — съем сразу. Если 6,7,8,9,10 — часть съем сейчас, часть через часик. Но в любом случае съем.
-Валерка, хочешь конфетку?
-Ага.
-Ну держи сахар, воду, бумагу и варенье, лепи на здоровье.

Это сборка gentoo…
UFO just landed and posted this here
UFO just landed and posted this here
gentoo — это как я понимаю:

— Ну держи лопату, зерна сахарной свеклы, семена ягодных кустарников… и лепи на здоровье.
UFO just landed and posted this here
UFO just landed and posted this here
Про инструкцию забыли…
— Эту конфету облизал сам Стив Джобс!

— Что бы развернуть эту конфету тебе попросить инструкцию у знакомых, лезвием поддеть краешек обертки, повернуть строго по часовой стрелке.

— Что бы насладиться этой конфетой, тебе нужно жевать ее через презерватив.
Поправочка :)

— Эту конфету облизал сам Стив Джобс до идеальной и естественной для ротовой полости формы!
UFO just landed and posted this here
— Я хочу новый тип конфеток!
— Необходимо изучить новые типы ингридиентов!
— Хорошо, я выделю необходимую сумму…
[через год исследований. Достают из кармана му-му, завернутую в бумажку, оформленную чьим-то ребенком]
— Вот, новый тип конфет!
Распил бюджета
UFO just landed and posted this here
Чак Норрис настолько крут, что придумал столько историй о Валерке что уронил бы сервера Хабра, но ему стало жалко любимый ресурс.
Каждый раз, когда Валеру кормили шоколадными конфетами, он громко чавкал. А когда ему доставалась карамелька — отчетливо был слышен хруст.
Валера был прекрасной хеш-функцией.
Явился Валерке Стив Макконнелл
-Валерка, хочешь конфетку?
-Да!
Валерка, прожевав: хочу еще!
— Держи грильяж в шоколаде!

Грильяж Валерке уже пришлось грызть — это полиморфизм
Банда чернож**ых: Валерка конфетку хочешь?
Валерка: конечно!
И нет более с нами Валерки…
Это rm -R…
Валера: Эх, хочу конфету…
Билл: ооо, пиши бумагу

Хочу /конфету
Фабрика: РоссияЩедраяДуша
Я: Иванов Валера, 25 лет, менеджер среднего звена, взял в кредит Фокус, мечтаю свалить из Рашки
Возьму: шоколадную, с орешком внутри, карамельку, все что дадут наконец
Упаковка: обычная бумажная, можно в пакете, высылать бандеролью
Уже ел: МишкаНаСевере, Взлетная

Протокол HTTP
В комментариях, думается мне, можно приводить различные варианты ответа шоколадной фабрики))
UFO just landed and posted this here
— %username1%: Ребята, посмотрите какой милый мальчик Валерка. Давайте его покормим!
— %username2%: Валерка, конфетку хочешь?
— Да
— %username3%: Валерка, конфетку хочешь?
— Да

— %username100%: Валерка, конфетку хочешь?
— %username100%: Валерка?

Хабраэффект
— Ваш Валерка попросту упырь обкормленный, нифига не делает и сидит конфеты жрет, (плохое какое-то слово с переходом на личности).

Хабратролль.
Валера никогда не кушал конфетки в одиночестве. С ним всегда был Пейп, который талантливо перенаправлял конфету из рук угошающего и Сед, мастерски разворачивающий обертку.

Валера познал Unix-way.
-Привет, Валерка! Хочешь конфетку?
-Да, конечно
-Смотри, я её отфоткал, пощупал, написал все характеристики и жую на своём балкончике! Так что я тебе её не дам.
-Какой же та жадный, Бумбурум!

(смайлик)
И, да, не смотри что я в фартуке с надписью «Красный октябрь» — это случайность.
Кстати, я решил эксперимент устроить, ты не хочешь переехать жить на фабрику «Красный октябрь»? Слышал, что если такие толковые парни наблюдают за варкой конфет, мир становится лучше.
Пришел к Валерке Intel и дал конфетку.
Валерка перестал жевать, положил взятую конфету на блюдечко и продолжил жевание.

Это прерывание.

Пришел к Валерке Intel и дал шоколадную конфетку.
Валерка перестал жевать, положил свою конфету на блюдечко, сжевал шоколадную и продолжил жевание своей.

Это не маскируемое прерывание.
К Валерке пришла Алиса и сказала, что даст ему конфету, если он поделит ее на четыре равные части, но только разрезая части пополам.
Валерка поделил конфету пополам, потом поделил одну половинку пополам и увидел, что у него есть две четверти конфеты, поэтому он взял другую половинку, поделил ее и съел все четыре куска.
Рекурсия
Рекурсия — описание объекта через себя. Пример:
Факториал от числа равен единице, если число меньше 1, или же этому числу, умноженному на факториал от числа меньшего на 1.
Из wiki:
«В программировании рекурсия — вызов функции (процедуры) из неё же самой...»
while (len(candy.parts)<4):
  for part in candy.parts:
    part.divide(2);


Где рекурсия?
(defmethod split ((candy candy) step parts-needed)
  (unless (integerp (log (length (parts candy)) 2))
    (error «Must be a power of two»))
  (if (= (length (parts candy))
          parts-needed)
      candy
      (mapcar (rcurry #'split 2 (/ parts-needed 2)) (parts candy))))

Если часть конфеты — тоже конфета. :)
Любой итеративный алгоритм можно представить в рекурсивном виде.
Тепер понял.Извиняюсь.Просто вызов функции из неё же самой это следствие рекурсии, а не она сама.
Три года был вашим соседом, тоже любили сходить в Му-Му… Куча фабий «ГдеТвойДом» у подъезда и очереди из посетителей телепрограмм…
Это ностальгия!
даа, на Астахова и Канделаки тут тааакие толпы ходють
а потом выход найти не могут.
Только вот фабий не было. Из шкод стояли румстеры.
UFO just landed and posted this here
А Баба Варя ему:
— По весу отсортировать?! Чего захотел! Вот выбирала бы я их по весу, заодно и отсортировала бы, а так — хрен тебе! В следующий раз будешь думать прежде чем издеваться над старой женщиной.

GQL =)
UFO just landed and posted this here
Еще раз приходит %username% к Валерке, уже с мешком, проверяет, есть ли там конфеты, и, если они есть, говорит:
%username%: Валерка, конфетку хочешь?
Валерка: Да.
%username%: Окей, во…

Это ребут.
Заходит как-то раз к Валерке Митник, и српшивает его: «будешь конфетку?» Валерка, как всегда, отвечает: «с удовольствием!» Митник протягивает ему конфе‹Ъ‹ЧБКЃв я яБЗЃзя я Ч‹|$\‰\$3Я#Ю3Я‹|$X‰l$БЕкЭЌњ™y‚Z‹x8БО‹о‹чБОЃж я яБЗЃзя я ч‹|$3э#|$‰\$X3|$БГЮы‹\$\‰l$TЌ¬;™y‚Z‹|$БП‰|$‹x<‹ЯБЛЃг я яБЗЃзя я ‰l$\Я‹|$T3|$БЕ#|$Xл3|$T‰\$э‹\$Ќњ;™y‚Z‹|$XБП‹п‹ъ3|$‰\$3|$0‰l$X3|$HСЗ‰|$H‰8‹|$3э#|$\БГ3|$\$Hы‹\$TЌњ;™y‚Z‹|$\БП‹п‹ю3|$ ‰\$T3|$4‰l$\3|$LСЗ‰|$L‰x‹|$X3э#|$БГ3|$X\$Lы‹\$Ќњ;™y‚Z‹|$БП‹п‹|$3|$$‰l$3|$83l$\3|$0#l$TСЗ3l$\‰\$

«Переполнение буфера»
Митник протягивает ему конфетку, а Валерка не обратил внимания, что конфетка больше обычного и выполнил произвольный код наелся черт знает чего.
UFO just landed and posted this here
Приходит %username% и даёт Валерке конфетку. Одновременно с этим приходит %username% и даёт Валерке конфетку. Валерка ест. Это Fenix (он же bennyGD).
Там классическая игра — два бесконечных цикла, (или больше), в одно считываются данные с клавиатуры, а во втором графика прорисовывается.
Дают Валерке конфету, а он её покрошил и кушает потихоньку. %username% не дождался долгого Валерку и ушёл. И мешок конфет унёс.
Используйте memcopy.
Даёт Вирт Валерке конфетку, а Валерка говорит: ЧТО ЭТО? ЧТО МНЕ С ЭТИМ ДЕЛАТЬ? ХВАТИТ, Я НЕ МОГУ БОЛЬШЕ <— это я учу AS3
Как только Валерка доедает конфетку, ему новую дают. %username% ждёт, пока Валерка доест.
Валерка подумал, и позвал друга Игорька. Игорёк сладкое не ест. Но конфетки клянчит, и в карман кучками складывает. Ну и Валерке даёт, когда он свою доест.
nginx.
Приходит как-то юзернейм и спрашивает:
%%: Валерка, хочешь конфетку?

Заходит Маша в мини-юбке.

Валерка: хо…

Это приоритеты.
Пришёл Билл к Валерке и говорит:
10 PRINT «ПРИВЕТ, ВАЛЕРА!»
20 GOTO 60
30 FOR I = 1 TO 10000000000000
40 PRINT «ДЕРЖИ КОНФЕТКУ»
50 NEXT I
60 PRINT «ХА-ХА-ХА»
Валерка мгновенно состарился и умер.
Чтобы съесть ноль конфет, ничего не нужно делать.

Чтобы съесть одну конфету, нужно вынуть ее из фантика, положить в рот, прожевать и проглотить.

Чтобы съесть много конфет, нужно:
1) съесть одну конфету
2) съесть оставшиеся конфеты

Это хвостовая рекурсия.
Сразу видно функциональщика. :)
Приходит к Валерке Столман.
Столман: Валерка конфетку хочешь?
Валерка: Ну дык.
Столман: Держи
Валерка развернул обертку, а там сахар, вода, какао порошок и инструкция по сборке. Это оупенсорс :)
нет. там готовая конфета и рядом состав и инструкция по сборке
а еще Валерка уверен, что туда никто не подмешал наркоту или яд
— Валерка, конфетку хочешь?
— Ну дык.
// Столман сел на стол, снял носок и стал ковыряться в поисках очередной конфеты
Попытка рекурсии. (на или на крайний случай зацикливания)
Пришёл Колдун к Валерке и говорит: я могу дать сколько угодно конфет.
Валерка: Сколько захочу?
Колдун: Конечно! Но ты, Валерка, когда возьмёшь конфетку, откроешь, прочитаешь просьбу, написанную на этикетке, выполнишь её, затем съешь конфетку и спасибо скажешь.
Валерка: Конечно, дядя Колдун!
Колдун дал ему конфетку. А на этикетке написано: «Попосить абсолютно такую же конфетку, и взять её.»

Ну как?
Понял, не рекурсия.
Конфетка — вкусняшка, которую получает Валерка, когда просит у Кнута конфетку.
Валерка — человек, который кушает конфетки.
Конфетки — это то, что так любит кушать Валерка.

Ну хоть это то точно рекурсия?
Валерка съел Валерку.
Нашел валерка у себя на столе конфетку. Развернул ее, а там пусто. И решил отомстить друзьям, и сделал две таких конфетки. Друзья тоже в долгу не остались, и сделали по две конфеты. Так и развлекались, пока все ресурсы, в виде бумаги не потратили.
Принес юзернейм Валерке конфет.
Валерка разворачивает первую, а из нее еще один Валерка.
Новый Валерка разворачивает следующую, а там еще один Валерка.
Третий Валерка разворачивает конфету, а там опять Валерка.
И так до предпоследнего, предпоследний Валерка разворачивает конфету, а там конфета.
Съедает её и становится конфетой.
И так в обратном порядке, пока настоящий Валерка не сьел конфету, в которую превратился второй Валерка.

Вот это рекурсия.
Внимание!

Здесь принимают конфетки:

aHR0cDovL3d3dy5ncmlkLm5ldC5ydS9uZ2lueC9jdXN0b21fbW9kdWxlLmVuLmh0bWw=
UFO just landed and posted this here
Провел как-то Джо Армстронг Валерку задворками на конфетную фабрику.
А там конфет — видимо-невидимо. И все разные.
Но Валерка вам не кто-нибудь, все подряд жрать не станет. Хотел он конкретную конфету, обертка красная, надпись желтая, и мелким шрифтом «РотФронт» написано. Но конфет много, на всех мелким шрифтом не почитаешь. И тогда Валерка сделал так — стал оглядываться вокруг в поисках красных оберток. Как только находил красную обертку, подходил ближе и смотрел уже на надпись, если надпись была не синяя, то искал дальше красную обертку. Если же надпсь синяя, то брал конфету в руки и читал надпись мелким шрифтом. И когда нашел нужную — сожрал немедля!
Так Валерка познакомился с паттерн матчингом.
UFO just landed and posted this here
Дяденька, вы пока меня изнасилуете у меня диабет будет!
Это низкие коммуникационные навыки
У Игоря есть точно такой же мешок конфет как у Александра.
Но Игорь очень щедрый человек, поэтому может доставить в мешок еще пару конфет и предложить их Валерке.
А еще он может съесть свою любимую конфетку «МуМу», а завернуть в её бумажку «Каракум».
Наследование
Весело у вас) прочитав, даже немного пожалел, что когда-то отказался от собеседования…

Пойду жене-дизайнеру обьяснять. Спасибо!)
По реальным событиям =)

Примерно год-полтора назад Валерка, жуя конфету, решил потестить сайт не сильно профильного, но конкурента — ГдеЭтотДом.
И решил он потестить их карту с фотками на предмет кеширования и защиты от дурака. Схватил мышку и начал бешено мышкой вертеть карту минуты три. А сервер оказалось не думал, что будет столько запросов к БД напрямую, да и кешировать походу не умел. Загружал, загружал он координаты и фотки, да и отвалился на 10 минут.
Это кривой код и лень программистов -> эксплоит.

На следующий день Валерка рассказал всей компании программистов (человек 6) и все ломанулись проверять слова Валерки. В итоге ГдеЭтотДом (вернее карта) лежал уже минут 30 плюс когда кому-то из компании было скучно.
Это многопоточное выполнение экплойта.

После этого все программисты и Валерка тестили подобные недочёты на большиснтве карт, где создавались подобные новые геослои. Находили много таких же ошибок. Но всегда, почти :), указывали на них разработчикам. Но они никогда не забывали как было весело класть карту на ГдеЭтотДом, ведь их карта так ни разу и не упала от подобного издевательства =)
Это уже накопленный опыт.
Это — мои корявые ручки, которые после GDD на карту направили
Работал на той же территории. Там в муму летом голуби на голову гадили!!! фу! ;)
На самом деле, работал на том же заводе, где вы снимаете помещение, даже после работы там был у вас на собеседовании. Ходите в «Большие города»!
Большие города лучше чем муму, а еще лучше ПятыйОкеан — это ресторан(!), все на белых скатертях, и на 10 рублей(или даже на 20?) дешевле БГ.
А голуби они такие, заставляют оглядываться
-Валерка, хочешь конфетку?
-Да.
Съедает
-На фантике написано где находится следующая?
-Да.
Односвязный список.
Однажды Валерке дали конфетку. Он попытался её раскусить и не смог.
Модификатор const.
Однажды Валерке дали конфетку. Пока он её разворачивал, её уже кто-то надкусил.
Нужно было использовать модификатор volatile.
Однажды Валерке дали конфетку. Он развернул обёртку, а там пусто. Огорчился Валерка.
Проверяй параметры на NULL.
Однажды Валерке дали кирпич, завёрнутый в фантик. Он проверил что это не конфета и выкинул.
dynamic_cast.
Кушал Валерка конфеты да обёртками сорил. А потом раз, обёрток стало слишком много. Утонул в них Валерка.
Переполнение памяти.
Рядом с Валеркой сидел странный мужик и внимательно смотрел. Когда он видел, что Валерка голоден, кричал всем: «дайте Валерке конфетку».
Паттерн «наблюдатель».
вот и узнали мы какими конфетками кормили Валерку в темном закаулке странная банда четырех
Всем большое спасибо за конфетки! Но я предлагаю перейти на менее калорийную и более полезную еду. В результате будем и красивее и сообразительнее.

Тот самый Валерка.
Даже аватар — конфетка :)
UFO just landed and posted this here
Решил Валерка собрать конфеток к празднику. Каждый день приходил в банк и докладывал по одной конфетке в банковскую ячейку. Перед днем рождения вытащил- а конфетки-то все надкушенные.

Это mutable
UFO just landed and posted this here
UFO just landed and posted this here
Валерка развернул обертку чтобы съесть конфетку и умер т.к. обертка оказалась пустой.
Fatal error: Call to a member function zhratConfetku() on a non-object

Это недостаточная проверка входных данных.
ммм… немного не то написал=) Это вообще баг

У меня просто сейчас в коде участок, где создание объекта зависит от получаемых параметров.
И это конфетка которая сама тает во рту… иначе zhratConfetku() был бы методом Валерки а не конфетки
Sign up to leave a comment.

Articles

Change theme settings