Всё правильно сделал / it-юмор :: увольнение :: начальство :: говнокод :: код :: I'm CTO bitch :: телеграм :: программист :: разработка :: картинка с текстом :: geek (Прикольные гаджеты. Научный, инженерный и айтишный юмор)

it-юмор картинка с текстом разработка программист телеграм I'm CTO bitch код говнокод начальство увольнение ...geek 

Всё правильно сделал

I’m CTO, bitch	^
К нам сегодня вышел новый разработчик. Он два часа задумчиво смотрел в монитор. Потом просто встал и ушёл. Больше не берёт трубку и забанил меня в телеге.
Вы реально ему в первый рабочий день показали наш модуль для прайсинга? Там же всё на хранимых процедурах написано, а ещё


Подробнее
I’m CTO, bitch ^ К нам сегодня вышел новый разработчик. Он два часа задумчиво смотрел в монитор. Потом просто встал и ушёл. Больше не берёт трубку и забанил меня в телеге. Вы реально ему в первый рабочий день показали наш модуль для прайсинга? Там же всё на хранимых процедурах написано, а ещё куски на перле. 2. Я говорил, что разработчики сейчас очень нежные, им нельзя такое в первый день показывать. Боюсь, мы не сработаемся, ю-да Почему? Что случилось? 10:43 УУ Интересный у вас код, благодаря ему я понял, как для меня важно работать в гетеросексуальном коллективе. Так что дальше наши пути расходятся ю-49 t.me/imctobitch/37
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,картинка с текстом,разработка,программист,телеграм,I'm CTO bitch,код,говнокод,начальство,увольнение
Еще на тему
Развернуть
самый крутой навык - врубаться в легаси
caxap2d caxap2d 05.10.202211:54 ответить ссылка 26.1
Зачем?
Потому что это единственное, что стабильно работает.
Или не работает, но запускается.
"стабильно работает"
pils pils 05.10.202220:04 ответить ссылка 6.4
И приносит деньги.
roddyb roddyb 06.10.202201:13 ответить ссылка 0.6
За очень большие деньги, за челлендж, за признание коллег, за чувство, что кроме тебя хуй кто сделает. Мотивации много разной может быть.
Ага ага, за звание главного программиста когда ты один программист или за звание директора отдела разработки в котором ты только один... Слышали знаем. Единственный важный пункт, это первый, за очень большие деньги, все остальное хуита, пройдет немного времени и ты поймёшь что тебя тупо наебали.
За очень большие деньги - за стандартную зарплату

за челлендж - сидеть по 12 часов?

за признание коллег - коллеги не понимают, что ты делаешь, и ржут над твоим свитером. Слушают громко музыку и пюът кофе. Ты работаешь, они ушли на обед и считают тебя "не общительным". Эти пидары ушли жрать и пиздеть, пока я вкалываю!

за чувство, что кроме тебя хуй кто сделает. - такого лоха поискать.
лис3 лис3 05.10.202213:54 ответить ссылка 18.1
Чет мне кажется что легаси переживет часовую паузу на обед раз столько лет уже работает))
Iazlon Iazlon 05.10.202215:10 ответить ссылка 1.3
да я ушел. пусть подождут все, всесте с легаси, удавом и т д.
За Лордерон, за честь и отвагу, за моего отца.
Потому что рано или поздно любой код им станет.
Код покрытый тестами не станет.
Основная проблема легаси - это устаревшие технологии и устаревшая реализация, которая уже не совсем отвечает требованиям.

Про OrcaleDB, к примеру, ходит море слухов, что код там ужасный и живет только на тестах.
Понял. Жалко конечно что в орекл код живёт только на тестах, странно другое, что орекл занимает одну из ведущих позиций СУБД. Открою вам секрет, в разработке самая главная ценность это тесты, а код можно написать и переписать 1000 раз. Это не является проблемой. Самая главная проблема "Легаси" это именно "боязнь" что-то менять, т.е. в натуральном плане люди психологически бояться прикасаться к коду, помогу что понимают что последствия никто не сможет спрогнозировать и взять за них ответственность, тесты и созданы для решения этой проблемы.
Ого, как вам там в стране единорогов?

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

У легаси много проблем и проблема "сломать к хренам" только одна из них. Иногда в коде происходит полная дичь и 100% покрытие просто бьет тебя по рукам без объяснения чего либо, что не делает ситуацию лучше.

Ах да, еще один грязный секрет. Качество кода очень редко прямо влияет на то, насколько популярный проект.
Нам отлично, фичи пилятся и выпускаются в прод.
"На нашей локальной машине все работает", да?)
У меня на dev с sqlight все летает
Это уже что-то религиозное.
Тесты штука полезная, но реальная их польза только в одном - защита от тупых механических ошибок. Всё.
Ещё бывают интеграционные тесты, они защищают от "поставщик данных изменил апи на своей стороне". Упавший тест скажет об этом сразу, а не тогда, когда реальные данные случайно наткнутся на несовпадение формата.
Да, согласен. Они не только для внешки играют роль. Ещё для межпроектного взаимодействия внутри компании, если требования поставлены через жопу и произошел рассинхрон интерфейсов взаимодействия.
Я же не говорю, что тесты бесполезны. Они очень полезны. Но говорить, что они - главное в проекте - это уже религия.
Основная проблема легаси - не понимание, ЧТО делает код. Это видно по самому коду.
Основная проблема легаси в том, чтобы понимать, НАХУЯ он это делает. И КАКОГО ХУЯ он это делает именно таким образом.
Так вот, тесты проверяют то, ЧТО делает код, но не дают понимания того, НАХУЯ, и КАКОГО ХУЯ.
И вот человек, разгребающий легаси, постоянно задаётся именно этими двумя вопросами - НАХУЯ??? КАКОГО ХУЯ???
Изменить код, не ответив на эти вопросы, правильно - невозможно.
Юнит тесты не дают понимания. UI, API дают, ибо зачастую автоматизируют именно бизнес\юзер-кейсы, а всякая edge поебота зачастую просто не стоит времени потраченного. Если никто не знает нахуя и почему идешь к qa автоматизатору, если такой есть, он может что-то знать
Ну вот с легаси всегда так. По крупицам из разных частей, из разных компонентов, обрывочной и часто всрато актуальной документации, из разных людей, собираешь понимание происходящего.
Как покрытие тестами соотносится с устареванием кода, технологий и подходов? Что за дичь?
За это больше платят. При том, что при наличии навыка, работы по факту, меньше. Ибо подгонять того, кто отвечает за хуйню, в которую остальные боятся даже смотреть, никто не осмелится, и эстимейты ему ставить тоже. Можно спокойно срать на весь с(к)рам, и делать по своему графику, который сам себе нарисовал.
Легаси легаси рознь. Одно дело с четкой архитектурой и полной документацией, другое: мы 10 лет срали кодом как попало и размазывали
мы похоже на одном проекте работаем
0x1d 0x1d 05.10.202213:10 ответить ссылка 17.9
А бывают другие Легаси кроме "мы 10 лет спали кодом"?
в некоторых после года уже срать невозможно не сломав унитаз
Должны быть, по логике. Ведь сначала делается всё красиво, по уму, best practices, красота, эффективность, Стив Макконнелл пускает слезу радости от такого совершенного проекта.

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

В конечном счете всё всё равно сводится к картине "мы 10 лет срали кодом". Даже если всё так хорошо начиналось. No escape
Именно поэтому я последние лет 10 использую принцип "сделай как можно проще".
Чем меньше кода и лишней архитектурной поебени, тем меньше потом говнокостылей, потому что переписывать под новые требования проще, ибо кода немного, и он занимается только тем, чем нужно, а не обслуживает навороченную архитектуру и "заделы на будущее", для которых это будущее никогда не наступает.
Твоё говно точно так же никто не поймет, кроме тебя, если ты не будешь его документировать. Любое говно - это говно, если к нему не прилагается фантик с описанием
Естественно.
Потому я взял за правило девдоки писать до кода.
желательно в недокументированное легаси
messir messir 05.10.202216:55 ответить ссылка 0.0
Вот ругаются, мол "нет нормальных разрабов!", нормальных полно, хороших меньше но они есть, просто у вас работать даже не всякий плохой разраб захочет.
uniold uniold 05.10.202212:20 ответить ссылка 20.9
Dev-разработчики напугал тот факт что вся логика в sql? Какой нежный мальчик... 2-3 таски на перфоманс быстро поменяют его мировоззрение.
Wolfdp Wolfdp 05.10.202212:31 ответить ссылка -4.9
dev-разработчик? это что за зверь такой?
Работающий в информационых ИТ технологиях. В любом случае простыня из sql-запросов -- кажись рядовая ситуация, и строго говоря когда пытаются тоже самое провернуть на orm, то лапша выходит гораздо эпичнее. А вынести все в BL мешает тот факт что все должно происходит под транзакцией и отрабатывать максимально быстро. В итоге имеем что код -- прослойка прокидывающая запросы между UI и Database. В идеале конечно нужно уходить от такого, но практика показывает что это не всегда достижимо.
Wolfdp Wolfdp 05.10.202214:17 ответить ссылка 2.4
Боже, чувак, ты не представляешь какой "feel" эффект ты у меня спровоцировал. Моя первая IT работа была с учетным софтом вся логика которого была построена на хранимках, функциях, вьюхах и триггерах к ним.
200 сотни процедур, сотня функций и пол сотни триггеров. Что из всего этого вообще участвует в процессе - никто не знает.
Нахуй такие рядовые ситуации.
Stain Stain 05.10.202214:39 ответить ссылка 1.0
>>Что из всего этого вообще участвует в процессе - никто не знает.
Дык, это проблема отсутствия документации, а не того что "у нас очень много SP". Я так и не понял 200 или 20к, но строго говоря их может быть и миллион, при этом с БД работает N-команд, причем в разных странах на аутсорсе, и единого человека знающего что где к чему вообще не существовать, и нормально с этим работать. Ну, почти нормально.
Wolfdp Wolfdp 05.10.202214:53 ответить ссылка 1.1
200 процедур. Фронт на паскале у дедушки, который не хочет им делиться(и на хую вертел компанию в целом). Некоторые процедуры/функции до 2000 строк скрипта.
Ну и да, отсутствие документации и ежедневные требования по обновлению функционала, зачастую противоречащие друг другу, потому как разные отделы пытаются спихнуть ответственность друг на друга.
Stain Stain 05.10.202215:05 ответить ссылка 1.8
А самые важные процедуры реализованы в виде CLR библиотек. )
Я на прошлой работе поддерживал как раз такую прослойку, которая тупо гоняет запросы между фронтом и базой, а вся основная логика была в базе (которую поддерживали другие программисты). Когда-то, несколько лет назад, такой подход, может, и был оправдан, но когда я там работал, всё выродилось в "база упаковывает десятки тысяч записей в зип-архив на сотни мегабайт" и "база парсит архив на сотни мегабайт, создавая из под транзакции кучу временных таблиц, чтобы рассортировать эти данные".
>Запостить скриншот из своей телеги со скрином из своего лс на джое.
El_Breado El_Breado 05.10.202212:33 ответить ссылка 21.3
чисто revolver ocelot
Screenseption
Garant88 Garant88 05.10.202212:35 ответить ссылка 0.5
епть, я думал перл уже нигде не используется
riffraff riffraff 05.10.202212:37 ответить ссылка -1.4
git на 5.8% perl
https://github.com/git/git
ну в оправдание их можно сказать, что правильно написанные хранимки будут работать на порядки быстрее любого ORM решения. Минус конечно в том, что такой код тяжело поддерживать будет и мигрировать на другие БД
sanphir sanphir 05.10.202212:37 ответить ссылка 0.8
у них хранимки скорее всего на дефолтном PL/SQL, судя по реакции, а не на нормальном языке
Чёт, я не врубаюсь, а разве язык и БД от конкретного вендора, намертво не связанны между собой? На условном постгресе процедуры пишутся только на его встроенном синтаксисе и никак иначе
Для MS SQL server лично писал хранимки на C#. Для postgres вроде как есть PL/python, но на практике его не использовал.
В чем принципиальная разница между хранимкой в c# коде и в базе, ведь по сути логика будет и там и там написана на sql? Если хранимка большая, то в шарпе просто будет огромная строка с sql кодом.
Ну если хотеть скорости, то ORM проще выкинуть нахуй, ибо все что остается - преобразователь в классы и то, не всегда. И иногда генератор гибких запросов.
Видел такое в живую.... при этом первом "ознакомлении" чуваку еще и трудовую заполняли
unevil unevil 05.10.202212:40 ответить ссылка 1.4
Я его понимаю, он прошел собес с вопросами как в НАСА или гугол, наобещали ему "все по красоте", он пришел в первый день - рабочее место не готово, притащили пыльный стол откуда-то, естественно "временно", в опенКЕЙЖД на 100500 жоп на квадратный сантиметр. Нам подрядчикам деваться особо не куда было, а он все правильно сделал) Встал, ушел, даже наушники забыл и не вернулся за ними.
unevil unevil 05.10.202212:52 ответить ссылка 11.9
А что такого в хранимых процедурах? По-моему это то к чему нужно стремиться. Бизнес логика основанная на хранимых процедурах не требует перестройки и публикации всего решения.
Daeamon Daeamon 05.10.202214:08 ответить ссылка -1.7
Ну вот например пример: тысяча скриптов, которые вызывают сотню других скриптов, которые вызывают десяток других, и всё это перемешано плюс эта вложенность от одного до четырех.
Надо добавить новую переменную по фиче - добавил в вызов - сломалась часть скриптов, которая не относится к этой фиче. Добавил ее в эти скрипты - надо её добавить во флоу вне этой фичи, что-то где-то проглядел глазами - баги на проде, когда заказчик удачно попадет на кейс с той цепочкой вызова, которая сломана
Возможно появление внятных средств рефакторинга и проверок при редактировании помогло бы конечн
У какого-то зарубежного банка крашилась мобильная приложенька, я помню, когда они поставили курс рубля ноль. С оракловской ошибкой
Проблема в плохой читабельности - любой С-подобный язык читается в разы легче, чем, например, простыня на оракловом синтаксисе
Плохие инструменты отладки - поди воткни брейкпойнт в середине процедуры, также легко как в каком-нибудь c# или java
Убогая тестируемость - лучше вскрыть вены себе, чем писать юнит-тесты под тот же оракл
Намертво привязываешь себя к вендору БД - у знакомого в компании большая часть логики была написана на хранимках внутри их БД от IBM, а теперь из-за санкций решили заменить бездуховный западный софт на скрепный постгрес. И теперь там все вешаются от осознания как теперь портировать эти киллометры простыней процедур.
1) Какая разница портировать километры процедур или километры вшитых в код запросов?
2) При чем тут брекпоинты если процедура все равно выполняться будет на стороне сервера, точки останова в код запроса все равно не поставить
3) Плохая читабельность? По мне так наоборот одна строка наименования процедуры куда проще читается чем километр того же SQL запроса в коде
1. Речь об ORM, которому без разницы, что под капотом ты ему подключил. Мы работая с Hibernate мигрировали с одного БД на другую без проблем.
2. Я хз как обстоят с этим дела в мире проф DB девелоперов. Но во-первых, я когда пишу код вначале разворачиваю микросервис у себя локально на дев машине и могу спокойно поставить бряки в любых местах и спокойно отладить любой кусок кода. Во-вторых, к пред-проду я могу подключиться remote дебагингом и все вызовы будут трассироваться мне в ide и если я поставлю бряку у себя в коде, то любой вызов на удаленном сервере, который наткнется на неё, автоматически остановит поток и отобразиться у меня, так как будто этот код был у меня запущен локально.
3. Опять же речь не о том, чтобы куски sql или процедур, тупо дергать из БД и вставлять их в код. А в том чтобы решать эти вещи программно. Естественно процедура исполняемая прям на БД выполнит какой-нибудь джоин с кучей сабселектов быстрее, чем если дернуть эти куски отдельно из БД и смапить их уже на уровне кода. Но компромисс находится почти всегда и почти всегда нет смысла тащить всю логику на уровень БД, а достаточно написать хранимки только для избранных критических мест, где производительность превыше всего.
У ОРМ в большинстве случаев проблемы с производительностью. По крайней мере в больших проектах это сильно заметно. тот же Entity Framework при больших объемах в принципе невозможно нормально использовать потому что он просто на просто виснет насмерть при апдейте структуры либо добавлении чего либо. Да и в скорости отработки у них проблемы.
К сожалению или к счастью я не вижу у прямых запросов в коде никаких особых преимуществ перед процедурами. В вашем случае может и возможно так отлаживать но когда бд раздувается до нескольких терабайт вы вряд ли станете ее разворачивать у себя либо дебажить на проде. Репликация такой бд тоже проблемная задача. Постоянно держать тестовую бд в соответствии с продом тоже проблематично. Производительность у хранимых процедур в большинстве случаев выше. Разделить разработку между SQL программистами и бэкендом куда проще, так как сикьюэлищикам не надо лезть туда куда им не следует. Бизнес логика в процедурах освобождает бэкенд от её обдумывания. Ты просто получаешь данные и возвращаешь их же обратно и опять же при ошибках в бизнес логике на стороне бд можно быстрее исправить ошибку в некоторых случаях это довольно критично.
В маленьких проектах может и проще использовать прямые запросы, так как весь код в одном месте, но я от этого отказался в пользу хранимых процедур, так как мне это удобнее и привычнее.
Ещё добавлю: в систему контроля версий хранимки фиг запихнёшь.
(плачет, перечитывая комменты, но все равно хочет войти в айти)...
EchoUA EchoUA 06.10.202222:16 ответить ссылка 1.6
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
Это ты, когда вернулся к коду, который писал 2 недели назад I’m CTO, bitch

Знаю, что воскресенье, но у нас критикал!
Половина сайтов легло с ошибкой:
mysqli error (HY0OO/1049):
Unknown database 'glshopmaster1 in /арр/src/Db/Connector.php on line 27
Админы по логам посмотрели, это Гриша дропнул базы, потому что перепутал консоли. С каждым могло случит
подробнее»

картинка с текстом it-юмор geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор начальник программист телеграм разработка фейлы песочница

I’m CTO, bitch Знаю, что воскресенье, но у нас критикал! Половина сайтов легло с ошибкой: mysqli error (HY0OO/1049): Unknown database 'glshopmaster1 in /арр/src/Db/Connector.php on line 27 Админы по логам посмотрели, это Гриша дропнул базы, потому что перепутал консоли. С каждым могло случит
Давай, сделай уже что-нибудь!
Давай, сделай уже что-нибудь!
[ Давай, сделай уже что-нибудь!
Генеральный
директор
Директор производства
Руководитель
направления
Менеджер
Давай, сделай уже
что-нибудь!	проекта
Давай, сделай уже что-нибудь!
Руководитель
группы
подробнее»

it юмор айтишники картинка с текстом начальство geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор

Давай, сделай уже что-нибудь! Давай, сделай уже что-нибудь! [ Давай, сделай уже что-нибудь! Генеральный директор Директор производства Руководитель направления Менеджер Давай, сделай уже что-нибудь! проекта Давай, сделай уже что-нибудь! Руководитель группы
I’m CTO, bitch	^
Парни, я переехал на Бали. Решил поработать какое-то время удалённо. В связи с этим малюсенькие изменения в рабочий процесс внедрим:
1.	Рабочий день в офисе теперь начинается на пару часов раньше — в 7:00. А то на Бали время +5 часов к Московскому, и мне не удобно ждать, когда вы
подробнее»

I'm CTO bitch it-юмор geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор скриншот телеграм картинка с текстом юмор,юмор в картинках программисты эффективный менеджмент начальство разработка удаленка песочница

I’m CTO, bitch ^ Парни, я переехал на Бали. Решил поработать какое-то время удалённо. В связи с этим малюсенькие изменения в рабочий процесс внедрим: 1. Рабочий день в офисе теперь начинается на пару часов раньше — в 7:00. А то на Бали время +5 часов к Московскому, и мне не удобно ждать, когда вы
I’m CTO, bitch	^
Неделя только начинается, а вы уже меня доводите.
Нахуй вы на созвонах говорите «ну я делаю таску», «а я делаю ревью», «а я делаю своему парню минет»?
Кого это ебёт, что вы там делаете?
Важен результат! Скажите, что вы СДЕЛАЛИ!
Либо почему что-то не сделали.
Я в прошлом месяц
подробнее»

I'm CTO bitch it-юмор geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор мат скриншот телеграм картинка с текстом эффективный менеджмент юмор,юмор в картинках быдло разработка программирование программисты начальство песочница реклама говна на джое

I’m CTO, bitch ^ Неделя только начинается, а вы уже меня доводите. Нахуй вы на созвонах говорите «ну я делаю таску», «а я делаю ревью», «а я делаю своему парню минет»? Кого это ебёт, что вы там делаете? Важен результат! Скажите, что вы СДЕЛАЛИ! Либо почему что-то не сделали. Я в прошлом месяц