>Логичнее использовать отношение популярность/вес для определения того, что надо кешировать.
согласен, логичнее. вот и напишите плагин\переопределите класс для ORM. в изначальном посте я говорил о вариантах, где писать лапшу SQL не обязательно, т.к. запросы довольно несложные и в оптимизации человеческим существом не нуждаются
как так не располагает? почему не располагает? ваши запросы идут через ORM, верно? данные о ваших запросах есть, верно?.. что же мешает мапперу хранить результаты последних \ частых выборок в кеше и возвращать этот кеш при повторяющихся запросах? так поступает например тот же ActiveRecord.
простейший пример - вы делаете несколько выборок в своей функции ( с циклом пример не буду приводить, это уже слишком очевидно ). ORM пихает эти выборки в очередь, и делает из них один большой запрос, рассовывая затем результат по местам, тем самым уменьшая нагрузку на БД. Более практичный пример - eager loading:
"
Eager loading is a way to find objects of a certain class and a number of named associations along with it in a single SQL call. This is one of the easiest ways of to prevent the dreaded 1+N problem in which fetching 100 posts that each need to display their author triggers 101 database queries. Through the use of eager loading, the 101 queries can be reduced to 1."
( http://api.rubyonrails.com/classes/ActiveRecord/Associations/ClassMethods.html )
4. Использование SQL там где можно вполне обойтись ORM. Т.е. в большинстве приложений на ruby, python, и php. Переложить составление sql-запросов на компьютер, а он уже будет паковать выборки в более крупные\оптимизированные
Shoes.app :width => 300, :height => 150, :margin => 10 do
def answer(v)
@answer.replace v.inspect
end
button "Ask" do
answer ask("What is your name?")
end
button "Confirm" do
answer confirm("Would you like to proceed?")
end
button "Open File..." do
answer ask_open_file
end
button "Save File..." do
answer ask_save_file
end
button "Color" do
answer ask_color("Pick a Color")
end
Если совсем не хочется учить азы ( а придется рано или поздно ), попробуй хотя-бы начать алгоритмически мыслить, для этого очень клево подходят рисования всяких "Backus Naur Form"s, конечных автоматов et cetera.
Как книгу для начала предлагаю "Стуктура и интерпретация компьютерных програм" aka SICP. Плюс одновременно пробовать делать выводы по ходу чтения книги и писать примеры на scheme, и скажем python|java.
Если цель - заделаться кодером-ремесленником как в странах золотого миллиарда, где человек хорошо рисующий иконки обеспечен на всю жизнь - забудь о том что я тут написал. Это не хорошо и не плохо, но описанное выше вряд ли пригодится.
Смотрел эту штуку некоторе время назад. Вполне себе ничего стек, если они додумаются сделать отдельную плату за сервисы. Нужны только amazon ws и хостинг, а остальное через обычные ssh\capistrano\svn - пожалуйста, нужны еще rails console \ rake tasks \ редактор \ you name it в браузере - просто отметь галочку и плати чуть больше. А так конечно "разработка в браузере" может себя оправдать только для начинающих кодеров, в основном использующих такие вещи как eclipse и netbeans. Попробуйте с неделю поработать таким образом - даже если оно не будет тормозить и глючить, отсутствие сниппетов, дебага навроде flymake, уже при наборе подчеркивающего ошибки\ворнинги, фреймов или любого другого вида работы с несколькими сущностями одновременно, простейших инструментов рефакторинга... Вобщем надоест быстро. Зато красиво, да.
seaside - это continuation-based web-framework на смолтоке, конкурент rails. что вы имели ввиду? если реализации сред смолтока, навроде squeak, или нового gemstone, то heroku аналогом можно назвать очень с натяжкой, ввиду специфичности любой смолток-среды вообще. вспомните хотя-бы refactoring browser.
никогда не понимал этой вот нежности. я со своими 45-ю киллограммами ( до 20 лет ) носил ноутбуки киллограмма по 3 - это тяжко? почти не чувствовались..
сразу видно бэкпакера)
имхо газовый балончик можно смело убирать. _никакой_ пользы в соответствующей ситуации от него нет, еще и в жару небезопасно. маркер тоже сомнителен, как и ручка. у меня для всего этого простой карандаш кохинур.
ну и вообще - http://zharov.com/tehno/ryukzaki.html
Имхо VPS сейчас настолько дешевы, что намного проще и быстрее использовать именно их, а не шаред-хостинги.
Насчет шаред, для рельсов лучший пожалуй hostingrails.com, худший - godaddy ( aka страшный_сон ). но и на godaddy помогли все те же гемы, перенесенные в $RAILS_ROOT/vendor/plugins/gems и rake rails:freeze:gems
в арчлинуксе пользуюсь network profiles, для беспроводных подключений - wpa_supplicant. Ну и в принципе набрать "ifconfig eth0 my.new.ip.address up && ip route add default via my.new.ip.address" руки не отломаются, аж 4 секунды.
согласен, логичнее. вот и напишите плагин\переопределите класс для ORM. в изначальном посте я говорил о вариантах, где писать лапшу SQL не обязательно, т.к. запросы довольно несложные и в оптимизации человеческим существом не нуждаются
я отказываюсь понимать этих людей.
"
Eager loading is a way to find objects of a certain class and a number of named associations along with it in a single SQL call. This is one of the easiest ways of to prevent the dreaded 1+N problem in which fetching 100 posts that each need to display their author triggers 101 database queries. Through the use of eager loading, the 101 queries can be reduced to 1."
( http://api.rubyonrails.com/classes/ActiveRecord/Associations/ClassMethods.html )
4. Использование SQL там где можно вполне обойтись ORM. Т.е. в большинстве приложений на ruby, python, и php. Переложить составление sql-запросов на компьютер, а он уже будет паковать выборки в более крупные\оптимизированные
#!/usr/bin/env ruby
Shoes.app :width => 300, :height => 150, :margin => 10 do
def answer(v)
@answer.replace v.inspect
end
button "Ask" do
answer ask("What is your name?")
end
button "Confirm" do
answer confirm("Would you like to proceed?")
end
button "Open File..." do
answer ask_open_file
end
button "Save File..." do
answer ask_save_file
end
button "Color" do
answer ask_color("Pick a Color")
end
@answer = para "Answers appear here"
end
Как книгу для начала предлагаю "Стуктура и интерпретация компьютерных програм" aka SICP. Плюс одновременно пробовать делать выводы по ходу чтения книги и писать примеры на scheme, и скажем python|java.
Если цель - заделаться кодером-ремесленником как в странах золотого миллиарда, где человек хорошо рисующий иконки обеспечен на всю жизнь - забудь о том что я тут написал. Это не хорошо и не плохо, но описанное выше вряд ли пригодится.
имхо газовый балончик можно смело убирать. _никакой_ пользы в соответствующей ситуации от него нет, еще и в жару небезопасно. маркер тоже сомнителен, как и ручка. у меня для всего этого простой карандаш кохинур.
ну и вообще - http://zharov.com/tehno/ryukzaki.html
Насчет шаред, для рельсов лучший пожалуй hostingrails.com, худший - godaddy ( aka страшный_сон ). но и на godaddy помогли все те же гемы, перенесенные в $RAILS_ROOT/vendor/plugins/gems и rake rails:freeze:gems