Стратегия в карьере программиста
-
- Уже с Приветом
- Posts: 4827
- Joined: 15 May 2001 09:01
Re: Стратегия в карьере программиста
Вот до ORM было круто.
Рисуешь настоящий SQL, ручками, потом ставишь в него параметры - особое изощрение это делать через вклеивание в строку. Потом извлекаешь результаты для каждой строки вывода, не забыв про их количество и типизацию. По ходу не забываешь всё на нули/пустоту проверить. Для дополнительной жобсекурити делаешь SQL динамическим, чтобы никто не понял что с чем при каких условиях соединяется. Всё, можно постигать дзен: с любым чихом заказчик приползёт к тебе.
Тут приходит век ORM - и ароматный вегетарианец оперативно пишет замену системе. Да ещё так, что несоответствия кода и базы ловятся на этапе компиляции. И DBA и Явастарик, два бога старой системы, чувствуют потерю устойсивости свои кресел.
Рисуешь настоящий SQL, ручками, потом ставишь в него параметры - особое изощрение это делать через вклеивание в строку. Потом извлекаешь результаты для каждой строки вывода, не забыв про их количество и типизацию. По ходу не забываешь всё на нули/пустоту проверить. Для дополнительной жобсекурити делаешь SQL динамическим, чтобы никто не понял что с чем при каких условиях соединяется. Всё, можно постигать дзен: с любым чихом заказчик приползёт к тебе.
Тут приходит век ORM - и ароматный вегетарианец оперативно пишет замену системе. Да ещё так, что несоответствия кода и базы ловятся на этапе компиляции. И DBA и Явастарик, два бога старой системы, чувствуют потерю устойсивости свои кресел.
-
- Уже с Приветом
- Posts: 14455
- Joined: 26 May 2006 02:39
Re: Стратегия в карьере программиста
helg wrote:Вот до ORM было круто.
Рисуешь настоящий SQL, ручками, потом ставишь в него параметры - особое изощрение это делать через вклеивание в строку. Потом извлекаешь результаты для каждой строки вывода, не забыв про их количество и типизацию. По ходу не забываешь всё на нули/пустоту проверить. Для дополнительной жобсекурити делаешь SQL динамическим, чтобы никто не понял что с чем при каких условиях соединяется. Всё, можно постигать дзен: с любым чихом заказчик приползёт к тебе.
Тут приходит век ORM - и ароматный вегетарианец оперативно пишет замену системе. Да ещё так, что несоответствия кода и базы ловятся на этапе компиляции. И DBA и Явастарик, два бога старой системы, чувствуют потерю устойсивости свои кресел.
![Good :good:](./images/smilies/good.gif)
Бога нет.
-
- Уже с Приветом
- Posts: 541
- Joined: 24 Mar 2004 07:31
- Location: Krasnoyrsk -> -> Chicago
Re: Стратегия в карьере программиста
да фигня..., потом гугл вытаскивает бигдату, и для адепров явы, все начинается с начала
моя родина СССР!
-
- Уже с Приветом
- Posts: 3481
- Joined: 02 Jan 2005 22:10
Re: Стратегия в карьере программиста
Доводилось оптимизировать вегетарианский код с хайбернэйтом. Сначала делают какой-нить customer = getCustomerById(), который транслируется в запрос на килобайт и рассовывает результат на три килобайта по классам. А потом оказывается, что нужно-то всего один маленький флажок на пару байтов, типа customer.isCustomerTaxExempt(). Но пяток килобайт уже по сети слетал. А потом под нагрузочку это ставят. И фсё тихо умирает. Тогда вегетарианские мудрецы созывают консилиум и решают, что необходимо кэширование. И оно таки улучшает процесс, но начинаются проблемы с рассинхронизацией кэша и базы, что приводит к неправильным биллам для кастомеров. Да и код становится угорожающе объемный. И тогда вегетарианцы-консультанты обновляют резюме ибо не царское это дело гумно утрамбовывать (в резюме они не забывают перечислить все новые познанные технологии и упомянуть как они улучшили и углубили), а вегатарианцы-постоянщики подходят к старику Колбасоффу, который занят поисками нужной комплектухи для его поделок, и просят взглянуть на код незамутненным взглядом. Старик Колбасофф чешет лысеющую голову, выкидывает весь этот хлам нафик и пишет createSQLQuery("select tax_exеmpt from customer where customer_id = :customer_id"). И о чудо! Код начинает работать раз в пять быстрее и биллы уже не так лажают.helg wrote:Тут приходит век ORM - и ароматный вегетарианец оперативно пишет замену системе.
Это реальная история если что, хотя я уверен что лично у вас все не так. Ведь красавицы не пукают.
-
- Уже с Приветом
- Posts: 64875
- Joined: 12 Jul 2002 16:38
- Location: г.Москва, ул. Б. Лубянка, д.2
Re: Стратегия в карьере программиста
а вот что молодой Комиссар писал 12 лет назад:Kolbasoff wrote:Доводилось оптимизировать вегетарианский код с хайбернэйтом. Сначала делают какой-нить customer = getCustomerById(), который транслируется в запрос на килобайт и рассовывает результат на три килобайта по классам. А потом оказывается, что нужно-то всего один маленький флажок на пару байтов, типа customer.isCustomerTaxExempt(). Но пяток килобайт уже по сети слетал. А потом под нагрузочку это ставят. И фсё тихо умирает. Тогда вегетарианские мудрецы созывают консилиум и решают, что необходимо кэширование. И оно таки улучшает процесс, но начинаются проблемы с рассинхронизацией кэша и базы, что приводит к неправильным биллам для кастомеров. Да и код становится угорожающе объемный. И тогда вегетарианцы-консультанты обновляют резюме ибо не царское это дело гумно утрамбовывать (в резюме они не забывают перечислить все новые познанные технологии и упомянуть как они улучшили и углубили), а вегатарианцы-постоянщики подходят к старику Колбасоффу, который занят поисками нужной комплектухи для его поделок, и просят взглянуть на код незамутненным взглядом. Старик Колбасофф чешет лысеющую голову, выкидывает весь этот хлам нафик и пишет createSQLQuery("select tax_exеmpt from customer where customer_id = :customer_id"). И о чудо! Код начинает работать раз в пять быстрее и биллы уже не так лажают.helg wrote:Тут приходит век ORM - и ароматный вегетарианец оперативно пишет замену системе.
Это реальная история если что, хотя я уверен что лично у вас все не так. Ведь красавицы не пукают.
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. Пишется демо прога...
-
- Уже с Приветом
- Posts: 5401
- Joined: 04 Feb 2009 05:05
Re: Стратегия в карьере программиста
Немного оффтоп, но если вегитарианцы такие тупые, почему они в топ менеджменте практически каждой компании сидят, несколько CEO крупных компаний из их числа, а из наших, таких гениев, только может быть Сергей Брин (не совсем наш, не совсем СЕО)?
Из своей головы не эмигрируешь.
-
- Уже с Приветом
- Posts: 3481
- Joined: 02 Jan 2005 22:10
Re: Стратегия в карьере программиста
Они отнюдь не тупые. Просто им пофиг все кроме денег. Техническая сторона дела их не волнует и не интересна. Про СЕО и вообще менагемент, там другие игры. Это к Коммиссару.KotKot wrote:Немного оффтоп, но если вегитарианцы такие тупые, почему они в топ менеджменте практически каждой компании сидят, несколько CEO крупных компаний из их числа, а из наших, таких гениев, только может быть Сергей Брин (не совсем наш, не совсем СЕО)?
-
- Уже с Приветом
- Posts: 34164
- Joined: 03 Dec 2000 10:01
- Location: Vladivostok->San Francisco->Los Angeles->San Francisco
Re: Стратегия в карьере программиста
С точки зрения привоза - жаба самый надежный вариантStrangebird wrote: а java-девелоперов - как мотыльков в тропиках (пардон, коллеги).
![we are friends :fr:](./images/smilies/druzja.gif)
"A patriot must always be ready to defend his country against his government." Edward Abbey
-
- Уже с Приветом
- Posts: 64875
- Joined: 12 Jul 2002 16:38
- Location: г.Москва, ул. Б. Лубянка, д.2
Re: Стратегия в карьере программиста
тупые, но хитрые и беспощадные. Совсем совесть потеряли, одним словом.KotKot wrote:Немного оффтоп, но если вегитарианцы такие тупые, почему они в топ менеджменте практически каждой компании сидят
-
- Уже с Приветом
- Posts: 4207
- Joined: 10 Jan 2004 01:22
- Location: n-sk -> MD -> VA
Re: Стратегия в карьере программиста
Умора! Похоже изза бороды у гордых обитателей приложения sqlplus не видно дальше строки ввода на гугле.Kolbasoff wrote:Доводилось оптимизировать вегетарианский код с хайбернэйтом. Сначала делают какой-нить customer = getCustomerById(), который транслируется в запрос на килобайт и рассовывает результат на три килобайта по классам. А потом оказывается, что нужно-то всего один маленький флажок на пару байтов, типа customer.isCustomerTaxExempt(). Но пяток килобайт уже по сети слетал. А потом под нагрузочку это ставят. И фсё тихо умирает. Тогда вегетарианские мудрецы созывают консилиум и решают, что необходимо кэширование. И оно таки улучшает процесс, но начинаются проблемы с рассинхронизацией кэша и базы, что приводит к неправильным биллам для кастомеров. Да и код становится угорожающе объемный. И тогда вегетарианцы-консультанты обновляют резюме ибо не царское это дело гумно утрамбовывать (в резюме они не забывают перечислить все новые познанные технологии и упомянуть как они улучшили и углубили), а вегатарианцы-постоянщики подходят к старику Колбасоффу, который занят поисками нужной комплектухи для его поделок, и просят взглянуть на код незамутненным взглядом. Старик Колбасофф чешет лысеющую голову, выкидывает весь этот хлам нафик и пишет createSQLQuery("select tax_exеmpt from customer where customer_id = :customer_id"). И о чудо! Код начинает работать раз в пять быстрее и биллы уже не так лажают.helg wrote:Тут приходит век ORM - и ароматный вегетарианец оперативно пишет замену системе.
Это реальная история если что, хотя я уверен что лично у вас все не так. Ведь красавицы не пукают.
зачем SQL? (если у вас хибернейт) то HQL, а запрос будет практически идентичен: "select c.tax_exеmpt from Customer c where c.id = :customer_id".
либо бороду сбрить, либо монитор повыше поставить!
-
- Уже с Приветом
- Posts: 4207
- Joined: 10 Jan 2004 01:22
- Location: n-sk -> MD -> VA
Re: Стратегия в карьере программиста
у БигДата глаза велики!Vladimir Kr. wrote:да фигня..., потом гугл вытаскивает бигдату, и для адепров явы, все начинается с начала
-
- Уже с Приветом
- Posts: 3481
- Joined: 02 Jan 2005 22:10
Re: Стратегия в карьере программиста
Ну уел, уел. С плачем отстригаю бороду ржавыми ножницами и отъезжаю на пасеку. Так и не поняв, зачем писать запрос на каструбатом HQL, если можно сначала потестировать и отладить аналогичный SQL на sqlplus, а потом скопипастить в Джавовский код, на 100% зная что он работает. Нет, я согласен, что мне просто не повезло увидеть волшебные поля и луга, засеянные стройным джавовскими травами и деревьями. Но как истинный буддист, я не унываю и надеюсь, что в следующей жизни я таки их увижу и достигну просветления.fruit6 wrote:Умора! Похоже изза бороды у гордых обитателей приложения sqlplus не видно дальше строки ввода на гугле.
-
- Posts: 4
- Joined: 13 Mar 2015 23:22
Re: Стратегия в карьере программиста
Вам виднее, по мне так главное препятствие для привоза - правительство США с его методом "найми в апреле - въедет в октябре, а может и не въедет, а до этого мы еще и сыграем с петициями в подкидного дурака".Sergunka wrote:С точки зрения привоза - жаба самый надежный вариантStrangebird wrote: а java-девелоперов - как мотыльков в тропиках (пардон, коллеги).
-
- Posts: 4
- Joined: 13 Mar 2015 23:22
Re: Стратегия в карьере программиста
От небородатого обитателя sqlplus хочу отдельно поблагодарить адептов чистого Hibernate, искренне полагающих, что и схему надо генерировать автоматом,а не разрабатывая ееfruit6 wrote: Умора! Похоже изза бороды у гордых обитателей приложения sqlplus не видно дальше строки ввода на гугле.
зачем SQL? (если у вас хибернейт) то HQL, а запрос будет практически идентичен: "select c.tax_exеmpt from Customer c where c.id = :customer_id".
либо бороду сбрить, либо монитор повыше поставить!
отдельно и тщательно дизайня структуры, индексы и прочая, и уверенных, что housekeeping - это какая-то зверюга
из Южной Америки.
Спасибо искреннее кормильцам нашим за непрерывный поток работы по переделке, настройке, оптимизации !
![we are friends :fr:](./images/smilies/druzja.gif)
![love :love:](./images/smilies/flowers.gif)
-
- Уже с Приветом
- Posts: 4207
- Joined: 10 Jan 2004 01:22
- Location: n-sk -> MD -> VA
Re: Стратегия в карьере программиста
Вы слишком рано погрузились в индюшатник и отстранились от индустрии (насколько я понял пасека, транзисторы, и резисторы).Kolbasoff wrote:Ну уел, уел. С плачем отстригаю бороду ржавыми ножницами и отъезжаю на пасеку. Так и не поняв, зачем писать запрос на каструбатом HQL, если можно сначала потестировать и отладить аналогичный SQL на sqlplus, а потом скопипастить в Джавовский код, на 100% зная что он работает. Нет, я согласен, что мне просто не повезло увидеть волшебные поля и луга, засеянные стройным джавовскими травами и деревьями. Но как истинный буддист, я не унываю и надеюсь, что в следующей жизни я таки их увижу и достигну просветления.fruit6 wrote:Умора! Похоже изза бороды у гордых обитателей приложения sqlplus не видно дальше строки ввода на гугле.
хибернейт придумали чтобы вышибить стул изпод копипастеров эскуэля и сделать поддержку аппов делом 1 день против 3 месяцев.
в приведенном сравнении 1 день это для ORM, 3 месяцев - для индишачьего sql. к сожалению, статистики для кошерного sql под рукой нет.
Задача "надом": найти три причины почему кобол, дельфи и кошерный sql исчезли как вид.
Last edited by fruit6 on 28 Mar 2015 20:58, edited 1 time in total.