All streams
Search
Write a publication
Pull to refresh
25
0.2
Масляев Александр @maslyaev

Пользователь

Send message

Тут девопса точно не перепутали со скрам-мастером?

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

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

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

>>Типичный современный продукт на порядки сложнее и технологичнее, чем 20 лет назад

Это потому что у нас сильно облегчилось накопление сложности. То, что современный продукт ради того, чтобы показать анимацию, поле ввода и кнопочку тянет в себя гигабайт разнообразных фреймворков, не делает его сложным. Он так и остаётся простым как валенок, а вся его сумасшедшая сложность на 99.9% является либо издержками техпроцесса, либо просто балластом. Следует ли нам гордиться этой сложностью? Ну, не уверен. Особенно с учётом того, что вместе со сложностью частенько возрастает хрупкость.

>>У нас основная спецификация — это код

Нет. Вот просто нет, и всё. Я не знаю, кто ввинтил этот тупейший мем в массовое сознание. Почитайте, например, документацию на Реакт, а потом поройтесь в его исходниках. Уверен, вы почувствуете разницу.

Я говорил не про крепление глушителя, а про деградацию качества инженерных решений при внедрении agile там, где не нужно.

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

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

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

Что делает дядя Ашот, если нужно внести изменение в крепление глушителя? "Падажди здесь дарагой, щас Петрович докурит и в пять минут тебе всё как надо приварит".

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

По мере продолжения победного шествия agile по планете, я ожидаю всё больше и больше самых неожиданных вещей, сделанных быстро, дёшево и очень сердито.

Люди наивно полагают, что делать много простых маленьких микросервисов вместо одного большого сложного монолита проще. Но это конечно враньё. Внутренняя неустранимая сложность решаемой задачи просто уходит с отдельных элементов и ложится... на что? Куда-то с глаз долой на протоколы взаимодействия и, хуже того, на орг.процедуры управления изменениями. То есть там, где мы с монолитом имели кошмар, с микросервисами мы имеем сущий адъ.

Нормальный путь питониста вглубь этой темы:

  1. Не знать про yield. Спокойно в своём уютненьком юпитер-нотбуке совать пандас в матплотлиб и горя не знать.

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

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

  4. Оказывается, yield умеет не только отдавать, но ещё и принимать данные. Ой.

  5. Туго, со скрипом, через боль и фрустрацию въезжаем в тему async/await и внезапно обнаруживаем, что теперь у нас каждая мать её функция является этим самым генератором, который где-то там внутри под капотом елдячит на каждом "await".

  6. ... не знаю, я дальше не ходил.

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

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

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

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

Хаскель самый страшный из любимых

Скоро рулон туалетной бумаги будет требовать, чтобы я установил приложение на мобилу.

— Как без усталости кодить по восемь часов?
— Перестать с усталостью кодить по двенадцать.

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

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

Давайте попытаемся разобраться с мотивацией приобрести NFT-токен.


Во-первых, понты. Но какие-то странные понты. За солидные деньги приобретаешь понт, которым, по сути невозможно попонтоваться. Только самоудовлетворяться самопонтованием. ИМХО, редкостная дурь.
Во-вторых, это может быть инвестицией. Это у нас, нищебродов, нет серьёзной задачи деть куда-нибудь внезапно свалившуюся хренову гору бабок, но вообще вот прямо сейчас уйма народа спать не может, решает эту проблему. Скажем прямо, перспектива выгодной перепродажи такого актива весьма призрачная.
В-третьих, отмывание денег. Рисуешь в пэйнте фигню, сам себе её продаёшь, и вот ты теперь не наркодилер, а удачливый творец цифрового искусства.
В-четвёртых, популяризация торговой площадки, самой идеи NFT, Эфира, себя любимого в конце концов. Вчера ты был убогим нонэймом, а всего за какие-нибудь $10К прогремел по новостным каналам и стал типа инфлюенсером. Правда ненадолго, да и качество этого инфленсерства так себе, жиденькое.
В-пятых, поддержать любимого творца. Однако, лично мне кажется, что есть масса более простых и менее затратных способов это сделать.


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

Господа, позвольте, но ведь тогда это… какой-то долбаный абсурд. Если приобретаемое заведомо не приносит никаких преимуществ, тогда вся эта история сильно похожа на преднамеренный обман с целью наживы, совершаемый группой лиц по предварительному сговору.

Извиняюсь за наивный детский вопрос. Допустим, некий покупатель купил у некоего продавца некую последовательность нулей и единиц. Имеет ли это событие какие-нибудь последствия лично для меня? Должен ли я проверить свой комп и флешки и почту и всё остальное чтобы убедиться, что нигде чужое не завалялось? А если этим пренебрегу, оно завалялось и его найдут, что мне грозит? Штраф? Тюрьма? Расстрел? Чем вообще регулируется конкретно этот подвид права собственности? И каким образом организовано правоприменение?

Information

Rating
2,810-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity