Pull to refresh

Comments 87

UFO just landed and posted this here
Вы выкопали картошку и складываете её в погребе — каждый сорт отдельно. Если по ошибке ваша картошка попадёт не на ту полку, прибежит ваш дед и начнет вас бить палкой.

Это реляционная база данных.

Однажды вам разрешили не сортировать картошку, а просто бросать её в погреб.

Это NoSql база данных.

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

Это облачное хранилище данных.

У вас есть картошка. Но вместо того, чтобы её садить, вы из разных подручных средств делаете нечто, похожее на вашу картошку. Есть её нельзя, но сходство очевидное.

Это 3D-принтер.

В процессе посадки картошки вы записываете GPS координаты села, вашего поля, и, наконец, конкретной ямки, таким образом получая некий уникальный идентификатор, по которому можно легко вычислить, где закопана та или иная картошка.

Это IP адрес.

С 3d принтером некорректно. На нем можно делать вполне годные вещи.

Круто!) больше всего понравилось по собеседование.


В копилку: твоя компания покупает картошку в США, упаковывает в красивую упаковку и продает по всему миру. В один прекрасный день США накладывает санкции и ты перестаешь получать картошку. Купившие твою картошку ещё могут её есть. Ты плюёшь на картошку и начинаешь сам выращивать и продавать свеклу --> Google и Huawei

Я бы насыпал вам мешок картошки сорта UDP, но часть может просыпаться мимо.

Ага, ваша дальняя родственница передаст вам TCP картошки через кума в Новгороде, дяду в Китае и брата на Марсе. По одной. И только если вы письменно подтвердите получение. Каждой.

UFO just landed and posted this here
Несколькими машинами, но строго по разным дорогам к вам едет картошка сорта SCTP.

Сидите вы на веранде, пьёте чай. Вам изредка прилетает ICMP картошка. К сожалению, внутри она несъедобная, поэтому вам остаётся только её подобрать и бросить обратно соседу-психу, который стоит с секундомером и ведром этой несъедобной картошки.

Собралось одновременно несколько соседей и начали с разбега закидывать картошку к вам. Однако картошку они кинули одновременно и вы не смогли поймать ни одной. Тогда соседи отступили от забора на случайное расстояние и вновь начали закидывать к вам картошку. Благодаря интервалам между прибытиями картошки вы смогли поймать их все. Это CSMA/CA.

Собрались опять соседи и опять начали закидывать вас картошкой с разбегу. Однако теперь, когда вы видите что соседи вот-вот кинут в вас картошкой одновременно, вы орёте на них благим матом. Соседи отступают на случайное расстояние и повторяют процедуру. Это CSMA/CD.
Прикольно. Немного сбила с столку подача. Выделение жирным шрифтом выглядит как заголовок, невольно путается. Видимо говно код, это когда пытаешься упорядочить картошку сразу по многим признакам собственного назначения, а в результате она просто валяется не пойми как, но только мы знаем что она валяется правильно.

Я только на последней фразе понял, что это не заголовки жирным.

Убрал форматирование. Спасибо за рекомендацию.
UFO just landed and posted this here
Схема «сначала описание, потом ответ» даёт ощущение разгадывания загадки, ИМХО прикольный приём.
UFO just landed and posted this here
Заметил такую фишку. Когда кто то задает вопрос, а на него отвечают с цитированием, по принципу вашей подачи. Но тогда каждый такой блок с ответом нужно будет оформлять в виде отдельного комментария.
Это такая фишка.

> Во хотел попробовать.

Это другая фишка.
На пункте с legacy картошкой потекли слезы :D
Интересно, что картошка — это и есть генетический legacy код. Изначально этот код получают из семечка. Если код удачный, то берут его копии (клубни) и размножают их. Через некоторое время код устаревает (сорт вырождается), и нужно создавать новый из семечка.
И, когда происходит посадка, то среди клубней может попасться код, созданный отцом или дедом.
Описание хэширования скорее подходит к симметричному шифрованию. Документ — шифротекст, грамотность председателя колхоза — ключ. Из шифротекста с помощью ключа можно однозначно и без перебора восстановить открытый текст, в отличие от хэширования.
Спасибо за самое доходчивое объяснение! Возьму на заметку. Особенно впечатлило про scrum-митинг и bitcoin.
Отличные разъяснения терминов IT через обычную жизнь. Особенно понравилось про биткоин.
Вы берете почву, воду, воздух и световое излучение и акуратно составляете из этого молекулы крахмала, из которых можно сформировать идеальную картофелину.

Это программирование на Ассемблере.
Это разработка на C

В конце грядки нет нулевой лунки, и вы сажаете картошку пока не упретёсь в забор соседа.
Если нет нулевой лунки, вы выкапываете картошку соседа и съедаете. Это может привести к разрушительным результатам…
Это разработка на С++, когда получаете доступ к элементам контейнера
std::map<hole, potato>
при помощи
operator[]
вместо метода
std::map<hole, potato>::find()
.
Повеселило) в «искусственный интеллект» нужно добавить:
"… но картошка не вырастает, потому что робот по ошибке посадил высохшую отбраковку, которая внешне очень похожа на нормальный посадочный материал".
Про legacy скорее так: вы пытаетесь выкопать лунку под очередную картофелину, но ломаете лопату о закопанную на этом куске поля старую борону. Пытаясь её вытащить вы обнаруживаете что к ней прицеплен трактор. В тяжёлой ситуации при попытке выдернуть из земли старый трактор краном ваш дом съезжает в яму, образовавшуюся в результате.
Копая картошку, вы время от времени пробиваете трубу, по которой течет навоз из соседней коровьей фермы.

Это legacy код.
Тоже вариант. Причём труба идёт не прямо, как можно было бы предположить, а кругами и зигзагами. Причём тот, кто её прокладывал переехал в другую деревню, а карты не оставил. Иногда, если заткнуть дырку в трубе — затапливает здание почты.
В вашей деревне есть стенгазета, куда время от времени выкладывают статьи. По идее, они должны быть про посадку картошки, но на деле там всё подряд.
И даже если проскальзывает действительно что-то про картошку, то это либо про посадку картошки дронами на Марсе, либо про экспериментальные модели 100-тонных комбайнов. Лопаты и мелкие огороды обсуждать настолько не принято, что выглядит так, будто их и не существует.
Каждый год назначаются модные сорта картошки, даже если это просто новые синонимы давно известных сортов. Картошка новых сортов считается априори лучше старых.

Это хабр.
Если кому-то не понравилась ваша картошка он напишет вам на спине матное слово (но вы никогда не узнаете кто же это был и чем конкретно ему не понравилась картошка).
Если понравилась — в лучшем случае сотрёт одно из уже написанных.

Это карма на Хабре :)
UFO just landed and posted this here

Машинное обучение всё-таки иначе выглядит.
Никто в колхозе не знает как сажать, каждый растит картошку только на своем поле и всю зиму ест только свой урожай.
Через 50 попыток выжившие считаются обученными

Это, по-моему, уже генетический алгоритм. А в статье обучение у учителем, но почему-то без описания проверочной выборки.
Как мне кажется, обучение с учителем всё-таки больше подходит для распознования правильно ли посажена картошка. Или оаспознать севок.
Т.е. входные данные — ответ.

Вот в комментах потом было добавлено:
Вы выкопали картошку и складываете её в погребе — каждый сорт отдельно. Если по ошибке ваша картошка попадёт не на ту полку, прибежит ваш дед и начнет вас бить палкой.

Это вот с учителем
UFO just landed and posted this here
Пока однажды не помираете из-за того, что попытались съесть еще не выращенную картофелину.

Это Concurrent Modification Exception
Вы долго клеите синей изолентой одинаковые универсальные саженцы в форме картошин. Засаживаете ими всё поле.
В результате на солнечной части огорода вырастают пальмы плодоносящие картошкой, на затененной — кусты с картошкой, на поливаемой — картофельный камыш.
Это — кроссплатформенность.
UFO just landed and posted this here
Вот обидно было, правда-правда.
Q&A это questions and answers, а вы наверное имели в виду QA. Ваш опыт взаимодействия с QA звучит удручающе, соболезную Вам. Если бы Вам повезло чуть более то звучало бы так:
Сосед приходит на поле, забирает свежевыкопанную картошку и уносит в сарай, там он готовит из кортошки примерно 300 различных наименований блюд, всеми возможными способами, включая автоматизированную линию по приготовлению чипсов. По окончании он предоставляет полный отчет в котором описывает в деталях как при определнных условиях, выложенная из картофельного пюре пентаграмма в вальпургиеву ночь приводит к спонтанному возгаранию находящихся поблизости предметов и ухудшению качества приема радонеж-тв. Далее весь выкопанный урожай выбрасывается всей кучей назад к вам на грядку, где вам предстоит перезакопать его повторно пока вы не обнаружите подозрительный клубень глазки на котором при определнном угле обзора складываются в 666 и переполняют регистр.

Теперь надо ещё статью: объяснение терминов из сельхоз-работ по выращиванию картошки на примере IT процессов.

Просто великолепно!)

OpenSource — это, скорее, поле, выделенное колхозом для сельчан. Участок на этом поле не нужно покупать и платить за него земельный налог. Но земля на этом огороде такая себе, ее вспахивали всем селом, кое-как и кто чем мог — кто мотоблоком, кто конским плугом. Хороший, стабильный урожай на этой земле получить трудно, если не иметь диплом агронома.
Про хеширование неправильно, потому что хеш необратим, и его не прочитает даже умеющий читать председатель, то, что описано — это криптография.

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

И про создать с нуля ведро и лопату — это скорее чистый С. С++ будет: пойти в библиотеку и взять там книгу (#include), где написано, как должны выглядеть ведро, лопата и картошка, из чего они должны быть сделаны, и какие действия разрешено с ними совершать на огороде, сделать конвейеры (new), позволяющие штамповать эти ведра, лопаты и картофелины по этому описанию, пойти на огород (namespace) и поставить там эти койвейеры, штампующие картошку, где раскладывать ее по ямкам. Выносить наштампованное с огорода, носить в ведрах что-то кроме воды и драться на лопатах с соседом вместо копания земли ими запрещено. Если вы хотите сделать это, вам сначала надо написать свою книгу об этом и отнести ее в библиотеку.
Больше уже джаву напоминает
Если программирование на С++ выглядит так, то на ассемблере надо собрать простые вещества из атомов, что бы потом сложить из них сложные органические вещества, из которых вырастить жизнь в виде картошки и деревьев…
Короче я уже запутался.
UFO just landed and posted this here

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


Это JavaScript разработка

UFO just landed and posted this here
Только ее еще не поддерживают другие поля, но надо смотреть в будущее.
UFO just landed and posted this here

При этом, даже если ты знаешь, что деду Афанасию твоя картошка не нужна и никогда нужна не будет, ты всё равно копаешь лопатой с чугунной насадкой. А вдруг кто-нибудь всё-таки приедет, вспашет своё поле на старом осле, и что ему, отказывать, что ли?

Раньше вы садили картошку на нескольких полях, и если картошку на одном поле поел проволочник, вам приходилось в кратчайшие сроки искать новое поле и засаживать картошкой.
Теперь вы наняли фирму, которой сообщаете какую и сколько картошку вам нужно посадить, а они уже решают где это делать. И если вновь напал проволочник фирма сама найдет одно из полей в вашем резерве и засадит свежей картошкой. К сожалению для реализации этого, вам пришлось организовать несколько перевалочных пунктов и иногда фирма забывает выкопать сорт картошки который вам больше не нужен. Зато организовывает непрерывные поставки картофеля, пока юрлицо существует.

Это Kubernetes.
Вы берете с собой сынишку. Он ещё неумело копает ямки, иногда забывает класть в них картофелины перед закапыванием или по ошибке берет свёклу вместо картофелины. Вам приходится присматривать за ним.

Это джуниор

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

Это миддл

Ваш дед сажал картошку всю жизнь. В том числе с завязанными глазами и голыми руками. Из его баек можно написать целую книгу, а то и не одну. Вот только вместо посадки картошки ему веселее напрягать молодежь, а самому давать советы из тенёчка.

Это сеньор
Забавно :-) Добавлю свои 5 копеек

Функциональное программирование это как разбрызгиватель, вода и трубы. Вы точно знаете, что воду можно пустить по трубам, а если соединить трубу с разбрызгивателем, то вода пойдет по трубам и будет орошать ваш огород. Как только вы перекроете воду, орошение завершится, включите — начнется снова.

Императивное программирование — тоже самое, что сверху, но как только вы выключили воду, и включили снова, почему-то труба стала протекать и разбрызгиватель засорился откуда-то взятой ржавчиной
Не очень понятна связь, если честно. Налицо проблемы в качестве материалов и качестве сборки конструкции в каждом из случаев. При должном умении можно получить одинаковый результат с одинаковым количеством затрачиваемых усилий. Разница в подходах ощутима только при разном классе задач — где-то один подход более эффективен, а где-то другой. Сами по себе подходы — ничем не лучше один другого. Просто разные инструменты для разных задач. Пилой гвозди не забивают, а молотком пилить не очень удобно.
Я к тому, что без побочных эффектов, широко используемых в императивном стиле, сильно проще писать и рефакторить приложения. В функциональном стиле рестарт дает такой же эффект, в императивном надо залезть в код и посмотреть, можно ли сделать рестарт, все ли восстановится после остановки или останутся предыдущие значения, к примеру.
Отличная статья — и настроение поднимает, и полезная) Спасибо :)
Вы сажаете картошку на модном смарт-тракторе размером с самосвал, где есть встроенный вейп, смузи-бар, машинка для подкручивания усов и завивки бороды, и даже спрятанный Пакман в панели приборов. При этом вы тратите недели на то, чтобы все это настроить под конкретное поле, сорт картошки и сегодняшнюю погоду. В итоге всё равно за процессом приходится постоянно приглядывать, потому что этот чудовищный конгломерат может внезапно и по неизвестной причине развалиться на кусочки.

Ваш дед параллельно сажает картошку с помощью механического плуга, лопаты и железного ведра, при этом успевая перекурить, потрепаться с соседом и сходить пообедать. И всё равно заканчивает быстрее вас.

Модный фреймворк vs код на стандартной библиотеке
Так напишите :)

Давайте я начну.

В вашей семье мелкая картошка идёт в пюре, а крупную — жарят с салом. Вот только вам уже порядком надоело что без вашего участия домочадцы не способны перебрать картошку самостоятельно. Вы запираетесь в гараже и спустя неделю выносите шайтан-коробку, которая каким-то образом разделяет подаваемую картошку на три лотка: «крупная», «средняя», «мелкая».

Всё что от вас потребовалось, так это приварить нужное количество лотков и поставить измеритель веса картошки, после чего просто пересыпать мешок картошки. Коробка сама-себя как-то откалибровала.

Это кластерный анализ.
Вы решили не заморачиваться с сортировкой и отбором картошки, открыли подвал и накидали туда большой картошки, маленькой, чистой, грязной, кабачков, капусты и случайно — кота Васю.
Вроде всё хорошо, но теперь нужно выбрать для жарки молодую чистую картошку из этой свалки…
Это Hadoop.
Вы долго читали про всякие способы, как сажать и выращивать картошку, как получить картошку, но у них всех были фатальные недостатки. Вы разрабатываете принципиально новый(тм) способ и метод.
Это разработка нового языка программирования (или вы уже долгое время работаете в Микрософт)
Вы насыпаете картошку из мешка в ведро, а потом постепенно забираете оттуда по одной верхней картофелине. Это структура типа LIFO (стек).

Ваша бабуля сыпет картошку из мешка в длинный наклонный желоб, по которому клубни съезжают вам в руки. Это структура типа FIFO (очередь).
UFO just landed and posted this here
UFO just landed and posted this here

Про биткоин не понял. Им же спокойно можно расплачиваться, то есть, это не фотография денег, а деньги.

Недавно на хабре? Щас все поймете :D
UFO just landed and posted this here
Биткоины обмениваются на обычные деньги в несколько кликов. Я это имел в виду.

Фотографии картошки можно обменять на картошку? Если да, жду адрес и выезжаю с фурой.
пакетные менеджеры забыли…

есть ящик с разными сортами картошки, но некоторую нельзя посадить если не подходит земля, лопата или до этого не были посажены другие нужные сорта

Вы начинаете сажать картошку. После каждой закопанной картошки ваш отец проверяет, выполнены ли все инструкции правильно. И если хотя бы одна инструкция нарушена, вам нужно выкопать картошку, засыпать ямку и начать процесс заново.

Это test-driven development или TDD.

Отец должен еще проверять перед тем как бросить картошку в ямку
За вашей картошкой разных сортов выстроилась очередь из покупателей, они делают выбор только перед выдачей. Чтобы не заставлять каждого ждать заполнения ведра выбранным ими сортом картошки, ваш помощник заранее опрашивает их о предпочитаемых сортах, наполняет вёдра этими сортами, и вы отдаёте полное ведро покупателю сразу по его выбору, остальные сорта выкидываются.
Это спекулятивное исполнение

Ваш конкурент захотел узнать популярность каждого сорта картошки у покупателей и он знает, что вы держите их ближе к очереди по мере популярности, чтобы отдавать их быстрее. Он много раз встаёт в очередь с секундомером и каждый раз заказывает другой сорт, чтобы измерить время выдачи каждого и составить график.
Это атака по времени

Вы решили поделиться своими сортами картошки со всеми, но к вам образовалось несколько очередей. Вы решаете отдать некоторые сорта самым быстрым раздающим, чтобы они выращивали их, отвели часть очереди к себе и начали быстро раздавать другим эти некоторые сорта, чтобы они тоже выращивали и раздавали остальным, и в итоге у всех быстро оказываются все виды сортов, а все очереди исчезают.
Это торрент

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

Это мокап
Группа актеров разыгрывает постановочную сцену, в которой они сажают картошку. Реально картошку никто не сажает, но вы уже знаете как будет выглядеть процесс.

Это прототип
Вы закапываете одну картошинку в маленькую ямку, на участочке 20 на 20 сантиметров.

Это минимально значимый продукт (MVP)
У вас есть лопата, а у соседа есть картошка. Вы обещали помочь друг другу: сосед даст вам картошку для посадки, а вы одолжите ему лопату. Но вы можете дать лопату только после того как получите картошку. Сосед может дать вам картошку только после того как получит лопату.

Это дедлок (deadlock)
Вам срочно, до первого числа нужно посадить всю картошку иначе потом она сгниет.

Это дедлайн (deadline)
Вы придумали новую конструкцию лопаты, которая значительно облегчает процесс посадки картошки. Как то раз вы выкладываете фоточку в инстаграм, на которой вы с другом стоите в поле, на заднем плане видна эта лопата. Ваш сосед просматривая ваши фото, подсматривает конструкцию лопаты и делает себе такую же.

Это промышленный шпионаж.
А как назвать ситуацию, когда придумывается конструкция двусторонней лопаты, которая теоретически будет на дцать процентов эффективнее, но на практике это проверять дорого и опасно. Но вы хитрый и заработали репутацию конструктора лопат, поэтому фоткаетесь с экспериментальной лопатой на заднем плане, выкладываете фотку в инстаграмм и ждёте, что будет с попробовавшим реализовать?
Если вы заработаете на этом денег — таки это гешефт.
Это машинное обучение (machine learning):
Это когда вы берете картошку слайсите ее на слои и раскидываете по полю, только те слайсы, что дали ростки вы поошряете окучиванием, затем выкапываете каждую новую картошку, и опять слайсите и по той же схеме окучиваете. Через 10-20 лет, картошка сама слайсится под землей, окучивается и разнмножается без вашего участия.
Как вам такой вариант? )

Вы разработали уникальную методику посадки картошки. Купили поле и объявили что готовы выращивать картошку по запросу - это сервер.

Хакер ночью проник и подменил некоторые картошки на полях у соседей картофелеметом и закидывает ваше поле запросами на выращивание картошки - это DDoS.

Соседи ставят на своих полях колючую проволоку и запускают пса - это файрвол и антивирус.

К вам приходят вежливые люди и говорят что выращивать картошку некоторых людей нельзя, просят предоставить отчеты кому и какие были выращены картошки и штрафуют вас за неправильные картошки, или еще за что-нибудь - это РосКомНадзор.

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

Дорогу к вашу полю с картошкой заблокировали железобетонной плитой по жалобе соседей на хакерский картофелемет на вашем поле - это блокировка от хостинг-провайдера по абьюзе.

Вокруг вашего поля по вашей просьбе строят забор высотой с километр, а каждому желающему отправить вам запрос на выращивание картошки просят пройти через подземный коридор - это защита от DDoS.

Sign up to leave a comment.

Articles