Стратегия в карьере программиста

helg
Уже с Приветом
Posts: 4827
Joined: 15 May 2001 09:01

Re: Стратегия в карьере программиста

Post by helg »

Вот до ORM было круто.

Рисуешь настоящий SQL, ручками, потом ставишь в него параметры - особое изощрение это делать через вклеивание в строку. Потом извлекаешь результаты для каждой строки вывода, не забыв про их количество и типизацию. По ходу не забываешь всё на нули/пустоту проверить. Для дополнительной жобсекурити делаешь SQL динамическим, чтобы никто не понял что с чем при каких условиях соединяется. Всё, можно постигать дзен: с любым чихом заказчик приползёт к тебе.

Тут приходит век ORM - и ароматный вегетарианец оперативно пишет замену системе. Да ещё так, что несоответствия кода и базы ловятся на этапе компиляции. И DBA и Явастарик, два бога старой системы, чувствуют потерю устойсивости свои кресел.
User avatar
stenking
Уже с Приветом
Posts: 14455
Joined: 26 May 2006 02:39

Re: Стратегия в карьере программиста

Post by stenking »

helg wrote:Вот до ORM было круто.

Рисуешь настоящий SQL, ручками, потом ставишь в него параметры - особое изощрение это делать через вклеивание в строку. Потом извлекаешь результаты для каждой строки вывода, не забыв про их количество и типизацию. По ходу не забываешь всё на нули/пустоту проверить. Для дополнительной жобсекурити делаешь SQL динамическим, чтобы никто не понял что с чем при каких условиях соединяется. Всё, можно постигать дзен: с любым чихом заказчик приползёт к тебе.

Тут приходит век ORM - и ароматный вегетарианец оперативно пишет замену системе. Да ещё так, что несоответствия кода и базы ловятся на этапе компиляции. И DBA и Явастарик, два бога старой системы, чувствуют потерю устойсивости свои кресел.
:good:
Бога нет.
User avatar
Vladimir Kr.
Уже с Приветом
Posts: 541
Joined: 24 Mar 2004 07:31
Location: Krasnoyrsk -> -> Chicago

Re: Стратегия в карьере программиста

Post by Vladimir Kr. »

да фигня..., потом гугл вытаскивает бигдату, и для адепров явы, все начинается с начала
моя родина СССР!
User avatar
Kolbasoff
Уже с Приветом
Posts: 3481
Joined: 02 Jan 2005 22:10

Re: Стратегия в карьере программиста

Post by Kolbasoff »

helg wrote:Тут приходит век ORM - и ароматный вегетарианец оперативно пишет замену системе.
Доводилось оптимизировать вегетарианский код с хайбернэйтом. Сначала делают какой-нить customer = getCustomerById(), который транслируется в запрос на килобайт и рассовывает результат на три килобайта по классам. А потом оказывается, что нужно-то всего один маленький флажок на пару байтов, типа customer.isCustomerTaxExempt(). Но пяток килобайт уже по сети слетал. А потом под нагрузочку это ставят. И фсё тихо умирает. Тогда вегетарианские мудрецы созывают консилиум и решают, что необходимо кэширование. И оно таки улучшает процесс, но начинаются проблемы с рассинхронизацией кэша и базы, что приводит к неправильным биллам для кастомеров. Да и код становится угорожающе объемный. И тогда вегетарианцы-консультанты обновляют резюме ибо не царское это дело гумно утрамбовывать (в резюме они не забывают перечислить все новые познанные технологии и упомянуть как они улучшили и углубили), а вегатарианцы-постоянщики подходят к старику Колбасоффу, который занят поисками нужной комплектухи для его поделок, и просят взглянуть на код незамутненным взглядом. Старик Колбасофф чешет лысеющую голову, выкидывает весь этот хлам нафик и пишет createSQLQuery("select tax_exеmpt from customer where customer_id = :customer_id"). И о чудо! Код начинает работать раз в пять быстрее и биллы уже не так лажают.

Это реальная история если что, хотя я уверен что лично у вас все не так. Ведь красавицы не пукают.
User avatar
Komissar
Уже с Приветом
Posts: 64875
Joined: 12 Jul 2002 16:38
Location: г.Москва, ул. Б. Лубянка, д.2

Re: Стратегия в карьере программиста

Post by Komissar »

Kolbasoff wrote:
helg wrote:Тут приходит век ORM - и ароматный вегетарианец оперативно пишет замену системе.
Доводилось оптимизировать вегетарианский код с хайбернэйтом. Сначала делают какой-нить customer = getCustomerById(), который транслируется в запрос на килобайт и рассовывает результат на три килобайта по классам. А потом оказывается, что нужно-то всего один маленький флажок на пару байтов, типа customer.isCustomerTaxExempt(). Но пяток килобайт уже по сети слетал. А потом под нагрузочку это ставят. И фсё тихо умирает. Тогда вегетарианские мудрецы созывают консилиум и решают, что необходимо кэширование. И оно таки улучшает процесс, но начинаются проблемы с рассинхронизацией кэша и базы, что приводит к неправильным биллам для кастомеров. Да и код становится угорожающе объемный. И тогда вегетарианцы-консультанты обновляют резюме ибо не царское это дело гумно утрамбовывать (в резюме они не забывают перечислить все новые познанные технологии и упомянуть как они улучшили и углубили), а вегатарианцы-постоянщики подходят к старику Колбасоффу, который занят поисками нужной комплектухи для его поделок, и просят взглянуть на код незамутненным взглядом. Старик Колбасофф чешет лысеющую голову, выкидывает весь этот хлам нафик и пишет createSQLQuery("select tax_exеmpt from customer where customer_id = :customer_id"). И о чудо! Код начинает работать раз в пять быстрее и биллы уже не так лажают.

Это реальная история если что, хотя я уверен что лично у вас все не так. Ведь красавицы не пукают.
а вот что молодой Комиссар писал 12 лет назад:
Komissar Wed Apr 30, 2003 9:27 am wrote: Уже несколько лет мне приходится работать с миддле-тирами (не моего изготовления), где табличное представление Оракла конвертируется в обьектное. Из личного опыта -- очень тормозные штуковины. Начинается все весело: глав.архитектор говорит, возрадуйтесь девелоперы, таперича заместо заморочных "select a,b, c from employee where ssn=123456789..." вам достаточно написать, getEmployee(123456789) и все пучком. Пишется небольшая демо прога, где, действительно, employee вытягивается из БД со скоростью сравнимой с прямым запросом. Все дружно радуются.

По ходу дела, клиенту, оказывается, нужны имена работников, у которых ssn такие-то, и к-рые брали отпуск в период с авг 2001 по окт 2002, и к-рые задолжали по 1 книге в компанейской библиотеке... и т.д. Причем клиенту в результате запроса нужны только имена, богатство и структура наших бизнес-обжектов ему до фени. То, что легко и свободно сделалось бы джойном школьного уровня, теперь надо раскоряченно писать, собирая огромные коллекции обьектов, а потом интеррогировать каждый обьект. Система жутко тормозит, клиент недоволен.

Ничего, глав. архитектор пишет всякие "хелперы", и "класс фактори". Какие-то проблемы решаются, возникают новые.

В конце концов, глав. архитектора осеняет, и он пишет супер-обжект getRecordSetFromSQL(String sql), и говорит, возрадуйтесь, девелоперы. Теперь вместо того, чтобы писать заморочный код типа :
getCollectionOfEmployees();
getCollectionOfVacations();
getCollectionOfLoanedBooks();
а потом муторно их процессить, вам достаточно составить легкий и удобопонятный SQL, запустить его в обьект, и процессить потом симпатичную табличку рекордов. Пишется демо прога, где совершенно ясно доказывается преимущество "нового" ООП против прежнего "ООП". Все дружно радуются.

Приходит новый глав. архитектор, смотрит и говорит, надо, робяты вам переходить на более ОО подход. Надо думать в обьектах: Employee, Vacation, LoanedBook. Пишется демо прога...
KotKot
Уже с Приветом
Posts: 5401
Joined: 04 Feb 2009 05:05

Re: Стратегия в карьере программиста

Post by KotKot »

Немного оффтоп, но если вегитарианцы такие тупые, почему они в топ менеджменте практически каждой компании сидят, несколько CEO крупных компаний из их числа, а из наших, таких гениев, только может быть Сергей Брин (не совсем наш, не совсем СЕО)?
Из своей головы не эмигрируешь.
User avatar
Kolbasoff
Уже с Приветом
Posts: 3481
Joined: 02 Jan 2005 22:10

Re: Стратегия в карьере программиста

Post by Kolbasoff »

KotKot wrote:Немного оффтоп, но если вегитарианцы такие тупые, почему они в топ менеджменте практически каждой компании сидят, несколько CEO крупных компаний из их числа, а из наших, таких гениев, только может быть Сергей Брин (не совсем наш, не совсем СЕО)?
Они отнюдь не тупые. Просто им пофиг все кроме денег. Техническая сторона дела их не волнует и не интересна. Про СЕО и вообще менагемент, там другие игры. Это к Коммиссару.
User avatar
Sergunka
Уже с Приветом
Posts: 34164
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: Стратегия в карьере программиста

Post by Sergunka »

Strangebird wrote: а java-девелоперов - как мотыльков в тропиках (пардон, коллеги).
С точки зрения привоза - жаба самый надежный вариант :fr:
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
Komissar
Уже с Приветом
Posts: 64875
Joined: 12 Jul 2002 16:38
Location: г.Москва, ул. Б. Лубянка, д.2

Re: Стратегия в карьере программиста

Post by Komissar »

KotKot wrote:Немного оффтоп, но если вегитарианцы такие тупые, почему они в топ менеджменте практически каждой компании сидят
тупые, но хитрые и беспощадные. Совсем совесть потеряли, одним словом.
User avatar
fruit6
Уже с Приветом
Posts: 4207
Joined: 10 Jan 2004 01:22
Location: n-sk -> MD -> VA

Re: Стратегия в карьере программиста

Post by fruit6 »

Kolbasoff wrote:
helg wrote:Тут приходит век ORM - и ароматный вегетарианец оперативно пишет замену системе.
Доводилось оптимизировать вегетарианский код с хайбернэйтом. Сначала делают какой-нить customer = getCustomerById(), который транслируется в запрос на килобайт и рассовывает результат на три килобайта по классам. А потом оказывается, что нужно-то всего один маленький флажок на пару байтов, типа customer.isCustomerTaxExempt(). Но пяток килобайт уже по сети слетал. А потом под нагрузочку это ставят. И фсё тихо умирает. Тогда вегетарианские мудрецы созывают консилиум и решают, что необходимо кэширование. И оно таки улучшает процесс, но начинаются проблемы с рассинхронизацией кэша и базы, что приводит к неправильным биллам для кастомеров. Да и код становится угорожающе объемный. И тогда вегетарианцы-консультанты обновляют резюме ибо не царское это дело гумно утрамбовывать (в резюме они не забывают перечислить все новые познанные технологии и упомянуть как они улучшили и углубили), а вегатарианцы-постоянщики подходят к старику Колбасоффу, который занят поисками нужной комплектухи для его поделок, и просят взглянуть на код незамутненным взглядом. Старик Колбасофф чешет лысеющую голову, выкидывает весь этот хлам нафик и пишет createSQLQuery("select tax_exеmpt from customer where customer_id = :customer_id"). И о чудо! Код начинает работать раз в пять быстрее и биллы уже не так лажают.

Это реальная история если что, хотя я уверен что лично у вас все не так. Ведь красавицы не пукают.
Умора! Похоже изза бороды у гордых обитателей приложения sqlplus не видно дальше строки ввода на гугле.
зачем SQL? (если у вас хибернейт) то HQL, а запрос будет практически идентичен: "select c.tax_exеmpt from Customer c where c.id = :customer_id".

либо бороду сбрить, либо монитор повыше поставить!
User avatar
fruit6
Уже с Приветом
Posts: 4207
Joined: 10 Jan 2004 01:22
Location: n-sk -> MD -> VA

Re: Стратегия в карьере программиста

Post by fruit6 »

Vladimir Kr. wrote:да фигня..., потом гугл вытаскивает бигдату, и для адепров явы, все начинается с начала
у БигДата глаза велики!
User avatar
Kolbasoff
Уже с Приветом
Posts: 3481
Joined: 02 Jan 2005 22:10

Re: Стратегия в карьере программиста

Post by Kolbasoff »

fruit6 wrote:Умора! Похоже изза бороды у гордых обитателей приложения sqlplus не видно дальше строки ввода на гугле.
Ну уел, уел. С плачем отстригаю бороду ржавыми ножницами и отъезжаю на пасеку. Так и не поняв, зачем писать запрос на каструбатом HQL, если можно сначала потестировать и отладить аналогичный SQL на sqlplus, а потом скопипастить в Джавовский код, на 100% зная что он работает. Нет, я согласен, что мне просто не повезло увидеть волшебные поля и луга, засеянные стройным джавовскими травами и деревьями. Но как истинный буддист, я не унываю и надеюсь, что в следующей жизни я таки их увижу и достигну просветления.
Strangebird
Posts: 4
Joined: 13 Mar 2015 23:22

Re: Стратегия в карьере программиста

Post by Strangebird »

Sergunka wrote:
Strangebird wrote: а java-девелоперов - как мотыльков в тропиках (пардон, коллеги).
С точки зрения привоза - жаба самый надежный вариант :fr:
Вам виднее, по мне так главное препятствие для привоза - правительство США с его методом "найми в апреле - въедет в октябре, а может и не въедет, а до этого мы еще и сыграем с петициями в подкидного дурака".
Strangebird
Posts: 4
Joined: 13 Mar 2015 23:22

Re: Стратегия в карьере программиста

Post by Strangebird »

fruit6 wrote: Умора! Похоже изза бороды у гордых обитателей приложения sqlplus не видно дальше строки ввода на гугле.
зачем SQL? (если у вас хибернейт) то HQL, а запрос будет практически идентичен: "select c.tax_exеmpt from Customer c where c.id = :customer_id".

либо бороду сбрить, либо монитор повыше поставить!
От небородатого обитателя sqlplus хочу отдельно поблагодарить адептов чистого Hibernate, искренне полагающих, что и схему надо генерировать автоматом,а не разрабатывая ее
отдельно и тщательно дизайня структуры, индексы и прочая, и уверенных, что housekeeping - это какая-то зверюга
из Южной Америки.
Спасибо искреннее кормильцам нашим за непрерывный поток работы по переделке, настройке, оптимизации ! :fr: :love:
User avatar
fruit6
Уже с Приветом
Posts: 4207
Joined: 10 Jan 2004 01:22
Location: n-sk -> MD -> VA

Re: Стратегия в карьере программиста

Post by fruit6 »

Kolbasoff wrote:
fruit6 wrote:Умора! Похоже изза бороды у гордых обитателей приложения sqlplus не видно дальше строки ввода на гугле.
Ну уел, уел. С плачем отстригаю бороду ржавыми ножницами и отъезжаю на пасеку. Так и не поняв, зачем писать запрос на каструбатом HQL, если можно сначала потестировать и отладить аналогичный SQL на sqlplus, а потом скопипастить в Джавовский код, на 100% зная что он работает. Нет, я согласен, что мне просто не повезло увидеть волшебные поля и луга, засеянные стройным джавовскими травами и деревьями. Но как истинный буддист, я не унываю и надеюсь, что в следующей жизни я таки их увижу и достигну просветления.
Вы слишком рано погрузились в индюшатник и отстранились от индустрии (насколько я понял пасека, транзисторы, и резисторы).
хибернейт придумали чтобы вышибить стул изпод копипастеров эскуэля и сделать поддержку аппов делом 1 день против 3 месяцев.
в приведенном сравнении 1 день это для ORM, 3 месяцев - для индишачьего sql. к сожалению, статистики для кошерного sql под рукой нет.
Задача "надом": найти три причины почему кобол, дельфи и кошерный sql исчезли как вид.
Last edited by fruit6 on 28 Mar 2015 20:58, edited 1 time in total.

Return to “Работа и Карьера в IT”