Как и обещал - статья про кэширование в Django.
Странно у меня получается - делал блог чтоб писать о JavaScript, а пишу, в основном, о Django. Наверное потому, что блог делал на нем и нахожусь под впечатлением. Вот что значит грамотная архитектура!
Извиняюсь, Вы правы. Как я уже заметил тут я увлекся и не описал кеширование совсем. Обещаю вскоре написать статью о кешировании в джанге. Сейчас, к сожалению, совсем пропало время. Может в выходные?
Одной из мотивационных причин написанию статьи для меня стало то, что в свое время мне пытались объяснить самописанную систему наследования шаблонов. Вещи действительно простые, но это зависит от того как объяснять... Тогда я несколько дней не мог всасать чего он там наворотил...
спасибо что обратили внимание, а то бы так и не заметил )) я так увлекся описанием того как это устроено что забыл написать что "это".
Вы абсолютно правы. сначала я хотел просто комментарий с примером написать к статье про кеширование. потом подумал что все равно джангу мало кто знает и поймет что я написал. а поскольку умничать я не люблю решил написать подробно.
мне тоже казалось что наибольшие зарплаты у жавы. наверное потому что основно потребитель - банки.
на счет зарплат тоже согласен. имхо, пока молодой и есть силы я лучше буду заниматься тем, что нравится. хороший специалист в любой области будет получать хорошую з/п. понятно, что в некоторых областях прийдется приложить намного больше усилий чтобы доказать что ты "хороший".
Да, нравится =) последний раз я этим занимался тут. Считаю, что велосипедостроение помогает понять структуру и архитектуру велосипедов "от производителя" лучше всего остального.
>Блин есть массив данных
По-моему один из нас чего-то недопонимает. Дело в том, что массива-то нету 8-(
Если из базы в xml доставать весть каталог товаров... сами понимаете что будет. Идея этих двух статей была именно в том, чтобы избавиться от выборки данных (которая может быть очень ресурсоемкой), но при этом не порушить целостность архитектуры.
ничего не могу сказать. я не пересекался с миром .NET и не интересовался ситуацией с зарплатами.
У меня есть только один знакомый дотнетовец. Да, он умеет рубить бабло. Но больше всего меня убило (прости, чувак, если эты это читаешь, но я запомнил это на всю жизнь) когда он не смог нарисовать блок-схему цикла. По-моему понимание основ это очень важно. То, что микрософт позволяет нам не думать о том как это устроено это конечно хорошо, но имхо это очень сильно отражается на качестве кода.
На самом деле - смысл есть. Точнее он может быть и надо оценивать в каждом конкретном случае.
Когда я работал в веб-студии "на потоке" я понял, что до какой-то степени в жертву скорости разработки можно принести очень многое. Пусть оно кривое, противное и тормозное, но если оно позволяет быстро сшибать деньги с неопытных клиентов - его надо использовать. Конечно халтура возможна только во время становления рынка (либо при монополии). А сколько и чего ты согласен принести в жертву - каждый решает сам. Мне, например, просто противно производить неликвид. И надо быть готовым, что Ваши клиенты могут очень быстро из Вас вырости (как из ползунков).
эээ... мне очень стыдно, но у меня есть против него предубеждение. если честно, то все, что я о нем знаю это то, что он существует.
С учетом этого приведу свои доводы:
* платный. у меня нет тысяч долларов на покупку windows server, mssql server, visual sudio, msdn и прочих продуктов микрософта. использовать ворованый софт и пытаться продать то что ты при помощи него сделал - получается как-то не очень.
* дорогой хостинг - менее распространен, выше требования.
* допустим я захотел его изучать. единственный верный путь - сделать на нем что-либо. что делать? сколько будет стоить хостинг и софт? а ведь первый блин наверняка будет комом...
* комьюнити. сама идеология opensource строится на бескорыстии и взаимопомощи. по-моему шанс получить бесплатную, но *квалифицированную* консультацию в случае opensource намного выше. да, размер комьюнити может быть больше - выучить проще, микрософт позаботился о комфорте разработчика - но каков средний уровень членов?
* уровень контроля. в opensource ты всегда можешь дойти до сути того как что-либо работает или почему что-то работает медленно. в случае с продуктами от мс - максимум до чего ты можешь "докопаться" - это до авторитетного высказывания, что "это лучше не использовать".
я могу перечислять свои заблуждения мысли еще долго, но суть такова: я считаю, что микрософт делает хорошие продукты для пользователей. Цитата с баша:
понимаешь, в линуксе по умолчанию считается, что администратор умнее, чем система, а в винде, бля, наоборот!
Вот и получается что ты пользуешся средствами разработки, а не разрабатываешь программы :)
это все мое имхо и я нарочно утрирую. не воспринимайте слишком серьезно.
На самом деле я делал сайты на Питоне (http://dpp.su/portfolio/tag/acesite3/) около полугода перед тем как начал изучать Django. Кроме этого делал сайты и на ПХП (http://dpp.su/portfolio/tag/php/), но при этом никакой фреймворк не использовал.
Когда я решил посмотреть какие фреймворки для ПХП и для Питона существуют я перепробовал наверное с десяток. По-моему секрет успеха джанги в следующем:
* хорошая скорость out-of-box (т.е. если при программировании придерживаться идеологии джанги то не придется танцевать с бубном вокруг своего детища после прихода десяти посетителей одновременно).
* хороший quick start tutorial дающий представление обо всех частях системы.
* хорошая документация - это по-моему самое главное (имхо, документация джанги намного лучше документации самого питона).
* продуманная архитектура - практически ничего из написанного в документации не вызывает отторжения.
* продуманная структура - как и архитектура достигается при помощи правильного использования общепринятых паттернов проектирования.
Как я уже писал чуть выше:
Главное приемущество Django - это стройная, логичная и стандартная сруктура решения проблем.
Я допускаю, что для ПХП тоже есть грамотные фреймворки. Наверное, я их просто не нашел. Но с другой стороны - питон позволяет намного больше. Когда я только сел на питон - мне многое не нравилось - казалось, что на пхп аналогичные проблемы я бы решал намного эффективнее. Но со временем пришло понимание, что если простые вещи действительно проще сделать на пхп, то сложные сделать на нем красиво уже практически не реально. Простой пример - для удобного ORM нужна перегрузка операторов сравнения, а в пхп ее просто нет. (Кстати, в джанге ORM не очень удобный - многовато "магии".)
Странная дата у статьи получилась - опубликовал-то я ее сегодня...
Кроме того, не смог победить автозамену </> на угловые скобки. пришлось заменить кавычками.
>поразмышляйте (когда будет время) о том, для чего это может понадобится и как это может изменить скрипты:
этот подход я знаю, в сложном приложении без него намучаешся включать/выключать десяток виджетов.
однако в данном случае body.hide определяет общее состояние, а сам .hide - состояние конкретного виджета. а нам надо найти именно состояние виджета. и как состояние приложения называтся не суть важно. тем более, что в таком случае мы получим не то что хотели:
Странно у меня получается - делал блог чтоб писать о JavaScript, а пишу, в основном, о Django. Наверное потому, что блог делал на нем и нахожусь под впечатлением. Вот что значит грамотная архитектура!
Вам - огромное спасибо что заметили!
Life's too short! Stand and watch. Or get involved. Your choice...
Кликабельно. меня не пинать, я слева :))
Хабралюди! Чем вы кормите мои комментарии? Никак не могу понять почему джанга срыгивает некоторые из них.
Если у Вас не получилось отправить какой-то комментарий прошу написать мне об этом по хабропочте или на dpp at dpp.su. Спасибо.
Вы абсолютно правы. сначала я хотел просто комментарий с примером написать к статье про кеширование. потом подумал что все равно джангу мало кто знает и поймет что я написал. а поскольку умничать я не люблю решил написать подробно.
сейчас попробую исправиться =)
на счет зарплат тоже согласен. имхо, пока молодой и есть силы я лучше буду заниматься тем, что нравится. хороший специалист в любой области будет получать хорошую з/п. понятно, что в некоторых областях прийдется приложить намного больше усилий чтобы доказать что ты "хороший".
>Блин есть массив данных
По-моему один из нас чего-то недопонимает. Дело в том, что массива-то нету 8-(
Если из базы в xml доставать весть каталог товаров... сами понимаете что будет. Идея этих двух статей была именно в том, чтобы избавиться от выборки данных (которая может быть очень ресурсоемкой), но при этом не порушить целостность архитектуры.
У меня есть только один знакомый дотнетовец. Да, он умеет рубить бабло. Но больше всего меня убило (прости, чувак, если эты это читаешь, но я запомнил это на всю жизнь) когда он не смог нарисовать блок-схему цикла. По-моему понимание основ это очень важно. То, что микрософт позволяет нам не думать о том как это устроено это конечно хорошо, но имхо это очень сильно отражается на качестве кода.
Оффтопик: а-а-а-а! ты предал свою аватарку! :)))
Когда я работал в веб-студии "на потоке" я понял, что до какой-то степени в жертву скорости разработки можно принести очень многое. Пусть оно кривое, противное и тормозное, но если оно позволяет быстро сшибать деньги с неопытных клиентов - его надо использовать. Конечно халтура возможна только во время становления рынка (либо при монополии). А сколько и чего ты согласен принести в жертву - каждый решает сам. Мне, например, просто противно производить неликвид. И надо быть готовым, что Ваши клиенты могут очень быстро из Вас вырости (как из ползунков).
С учетом этого приведу свои доводы:
* платный. у меня нет тысяч долларов на покупку windows server, mssql server, visual sudio, msdn и прочих продуктов микрософта. использовать ворованый софт и пытаться продать то что ты при помощи него сделал - получается как-то не очень.
* дорогой хостинг - менее распространен, выше требования.
* допустим я захотел его изучать. единственный верный путь - сделать на нем что-либо. что делать? сколько будет стоить хостинг и софт? а ведь первый блин наверняка будет комом...
* комьюнити. сама идеология opensource строится на бескорыстии и взаимопомощи. по-моему шанс получить бесплатную, но *квалифицированную* консультацию в случае opensource намного выше. да, размер комьюнити может быть больше - выучить проще, микрософт позаботился о комфорте разработчика - но каков средний уровень членов?
* уровень контроля. в opensource ты всегда можешь дойти до сути того как что-либо работает или почему что-то работает медленно. в случае с продуктами от мс - максимум до чего ты можешь "докопаться" - это до авторитетного высказывания, что "это лучше не использовать".
я могу перечислять свои
заблуждениямысли еще долго, но суть такова: я считаю, что микрософт делает хорошие продукты для пользователей. Цитата с баша:Вот и получается что ты пользуешся средствами разработки, а не разрабатываешь программы :)
это все мое имхо и я нарочно утрирую. не воспринимайте слишком серьезно.
Когда я решил посмотреть какие фреймворки для ПХП и для Питона существуют я перепробовал наверное с десяток. По-моему секрет успеха джанги в следующем:
* хорошая скорость out-of-box (т.е. если при программировании придерживаться идеологии джанги то не придется танцевать с бубном вокруг своего детища после прихода десяти посетителей одновременно).
* хороший quick start tutorial дающий представление обо всех частях системы.
* хорошая документация - это по-моему самое главное (имхо, документация джанги намного лучше документации самого питона).
* продуманная архитектура - практически ничего из написанного в документации не вызывает отторжения.
* продуманная структура - как и архитектура достигается при помощи правильного использования общепринятых паттернов проектирования.
Как я уже писал чуть выше:
Я допускаю, что для ПХП тоже есть грамотные фреймворки. Наверное, я их просто не нашел. Но с другой стороны - питон позволяет намного больше. Когда я только сел на питон - мне многое не нравилось - казалось, что на пхп аналогичные проблемы я бы решал намного эффективнее. Но со временем пришло понимание, что если простые вещи действительно проще сделать на пхп, то сложные сделать на нем красиво уже практически не реально. Простой пример - для удобного ORM нужна перегрузка операторов сравнения, а в пхп ее просто нет. (Кстати, в джанге ORM не очень удобный - многовато "магии".)
Кроме того, не смог победить автозамену </> на угловые скобки. пришлось заменить кавычками.
Нагуглилось вот: друг - это ... - оцените уровень культуры анонимов...
Можно изменить функцию на:
этот подход я знаю, в сложном приложении без него намучаешся включать/выключать десяток виджетов.
однако в данном случае body.hide определяет общее состояние, а сам .hide - состояние конкретного виджета. а нам надо найти именно состояние виджета. и как состояние приложения называтся не суть важно. тем более, что в таком случае мы получим не то что хотели:
поэтому состояние приложения лучше назвать по другому.
или я что-то упускаю?