Dark

MpaKus Dominion - блог о кино, музыке и веб-программировании

несколько жизненных трендов

Previous Entry Поделиться Next Entry
Связи
Dark
mpak666
Хотел было много написать, да потом подумал, что можно кратко поделиться своим мелким ощущением, что выбираемые инструменты разработчиками наносят свои отпечатки на эти периоды. Не только на ощущения и воспоминания, но и на сам код конечно же.

Сегодня обратил на это внимание, заострив на базах данных, у меня сейчас MongoDB в одном проекте и в другом MySQL.
Я вот циклично пробегаюсь в памяти, как я писал в самом начале, что и баз-то не было, а какие-то файлы "сериализованных" структур. Потом первой базой была Interbase (Firebird) кажись так правильно называлась. Код тех времен на Delphi и C++ я практически уже не помню, ощущения тоже, помню окрыляло меня все.
Потом, когда резко ушел в веб, базы стали разнообразными от flat-файлов, сериализованных массивов, до MySQL версии 3 кажется и больше всего я Berkley любил, так сказать откуда key-value растет. Период запомнился изучением, я нихрена не понимал как это все работает, только вникал и задавал дурацкие вопросы на deforum. Именно от туда у меня в голове фраза: "ты не должен этого хотеть". Я постоянно хотел понять своим испорченным десктопом мозгом как работает веб, сервера, базы, интерпретаторы. Это сейчас я понимаю как наивно и глупо это все смотрелось.
И тут какой-то провал, MySQL рос всегда удовлетворял все мои потребности. Года 3-4 назад я пробовал MongoDB, она была еще сырая, только появившаясь, но очень впечатляющая. Нет схем, нет долбанных ограничений, выбирай, играй с данными, яхууу!!! Но проекта я так и не сделал, только через 2 года сделал и в целом был доволен всем, хотя и использовал Монгу только на треть возможностей. Время какого-то угарелого фриланса, писал все и говно тоже :)
Два года назад у меня был целый год MSSQL, я бы конечно бросил это все еще раньше, но хорошо, что в помощи был человек DBA знавший и накатавший в этой базе сотни строк процедур. Впечатления были о базе самые суровые, массивный, неповоротливый гигант в котором даже limit offset делается через задницу. Но куча красивых возможностей самого SQL, всякие IDEшечки и менеджмент тулзы. Но DBA ушел, а так как я был изначально против хранить всю логику внутри базы, то я тоже потихому свалил из этого приближавшегося пиздеца. В общем время работы с этой базой запомнилось не самой хорошей стороной, но код был красив, прям мог бы назвать всякие рюшечки "Ынтырпрайзом".
В прошлом году я впервые можно сказать столкнулся с PostgreSQL, впечатления были самые положительные, типа все четко, строго по типам, не то что в этом MySQL. Но база так же быстро наскучила, когда логика пошла опять в процедуры, отладка, оптимизация. Не красиво, да и код приходилось дописывать чужой, что php, что python - все можно было назвать адом и отвратительнейшим уроком. Но урок как не писать - тоже урок.
Ну и дальше уже текущий период, свободы, когда даже не задумываешься о какой-то базе, а просто пишешь свой Ruby код и проставляешь объекты связи в ActiveRecord, остальное не волнует. Вот как раз пару недель назад при написании одного из больших sql запросов я подумал, что маюсь с какой-то дурной проблемой и архитектурой которую натворил под наркотиками (ну точно, не мог же я не упоротый такое начудить)... а н-нет, мог... потому просто взял 2 дня на раздумывание и тесты, после чего за неделю перенес проект на MongoDB.
Яху! Опять повеяло смузи и стартапиками! Никаких схем, измерения ужасных милисекунд запросов, какие-то миграции-шмиграции... Тьфу... Mongoid, консолька Robomongo и впяред! Пусть и ничего что стоит два реплицирующих монго сервера, ничего, что один не журналируется! Даешь смузи и дикие стартапы!

Вот это понимаю настроение, прям второе дунование в проект, которые уже начинал было набивать оскомину и поднадоедать, а обновил базу, почему бы сразу не обновить и инструменты, еще пару дней и Rails 3 плавно перехал на Rails 4.
И что заметил в этот раз? Бодрость и порох в проекте прибавились, это главное, ну и плюс оптимизм, что с такими мощными инструментами можно его быстрее закончить и запустить, пусть себе плывет уже, а то столько вынашивать уже точно родить можно было бы. :)))

Для себя вывод простой: инструменты влияют на код и дух проекта, освежают и новые веяния, пусть даже экстримальные и экспериментальные, но они дают свежее дуновение в проекте, который уже давненько застоялся.


  • 1
а ты редиску еще погрызи!

аха, как раз читаю книгу "7 databases in 7 weeks", осталось только найти проект куда бы это можно было применить :)

  • 1
?

Log in

No account? Create an account