С недавних пор мой хостер FirstVDS делегировал ответственность за резервное копирование на своих пользователей. То есть, бекапы-то он делает, но хранить их при сбоях не обещает, а рекомендует делать это самостоятельно.
Баннер справа дает 25% скидку на услуги FirstVDS. (Промокод: 648139720)
Для больших проектов, с большой посещаемостью или большим объемом данных дело понятное. Нечего изобретать велосипед - надо использовать функции посылки резервных копий на удаленный хост, встроенные в ISPmanager.
Но для мелких и средних проектов, в которых объем информации в базе не превышает 5мб, такой путь на мой взгляд не целесообразен. Если конечно таких проектов не десятки/сотни. В нашем же случае можно использовать доброту Яндекса и Гугла. :) Объемы ящиков у них сейчас хорошие и хранить небольшие резервные копии вполне себе удобно.
Поэтому садимся и делаем отсылку резевных копий к нам на почту.
На днях один из читателей моего блога, Сергей, задал мне вопрос по поводу вставления картинок через редактор TinyMCE.
Суть состоит в том, что встроенный плагин вставки картинок, работает только с урлами картинок, но не с файлами. Пользователям же проще будет работать с файлами.
Первая моя мысль была: "Сделать плагин управляющий галереей и позволить ему закачивать файлы, а также вставлять их урлы в контент". Поскольку такой плагин уже существует в природе (
Язык Python назван в честь английской комик-группы Монти Пайтона (Monty Python).
В большинстве книжек по языку Python, в примерах очень часто используется слово spam.
До тех пор пока не прочитал книгу Марка Лутца "Изучаем Python", не мог понять почему так часто используется именно spam.
Оказывается у комик-группы Монти-Пайтона есть пародия, где герои сериала пытаются заказать блюдо в кафетерии, а их заглушает хор викингов, поющих песню о консервах с ветчиной (spam).
Лутц в книжке не мог вставить эту пародию в свою книгу, поэтому восполняем этот пробел )))
В Debian squeeze столкнулся с тем. что мой "дежурный" редактор не желает открывать удаленные файлы на sftp.
Решение оказалось простым:
# sudo apt-get install gvfs-fuse
В Система-->Администрирование-->Пользователи и группы-->Управление группами
добавить своего пользователя в группу fuse
И после этого перезагрузка.
(Умные люди считают, что виноват не Debian a Gnome.
Он якобы должен монтировать удаленные каталоги в папку /home/user/.gvfs
и если он этого не делает то надо ставить gvfs-fuse)
Давно хотел победить спам, приходящий в комментарии на моём сайте. Беглый гуглопоиск выдал только варианты с Акисметом от Романа Ворушина, а также намеки на другие варианты с модерацией.
Но так как Акисмет меня не впечатлил (не люблю прикручивать то что не контролирую полностью), пришлось смотреть в сторону написания своего приложения с комментариями. Ранее не хотел этого делать, поскольку считал изобретение велосипеда делом неправильным, но рост спама вынудил и я приступил к изучению Django documentation.
Вот тут то меня и посетило прозрение. Оказывается я заблуждался в том, что для кастомизации комментариев придется полностью писать своё приложение. Это не так.
Давно пользуюсь галереей photologue, но как часто случается, чужой функционал неповоротлив и избыточен. А хочется чего-то легкого и понятного. Так как ничего подходящего мною в сети не найдено, решил последовать советам бывалых и написать свой собственный велосипед.
Открыв свою настольную книжку Django - Разработка веб-приложений на Python, внимательно изучив и "протопав" все шаги своими руками 0_о, понимаю, что книга безбожно отстает. Предложенное решение мне откровенно не нравится.
В связи с этим начинаю обрабатывать полумёртвый код "напильником".
При создании очередного проекта на Django 1.4, во время выполнения syncdb вылезла ошибка вида:
TypeError: decode() argument 1 must be string, not None
Погуглив на эту тему нашел совет выполнить перед запуском syncdb следующую команду:
export LANG="ru_RU.UTF-8"
Метод в моём случае помог (VDS Debian squeeze).
Причина как я понял скрывается в неспособности Python определить язык системы по умолчанию. Очень странно, поскольку ошибка появилась не сразу, первоначальные запуски syncdb проходили нормально.
Не секрет, что в Яндексе активно используется Python и Django, но вот почему и как? Об этом рассказывает в своем докладе разработчик справочных сервисов Яндекса - Руслан Гроховецкий.
В продолжение заметки о стандартном приложении comments из коробки Django.
С ростом количества комментариев может возникнуть ситуация, что стандартное оповещение перестанет удовлетворять и захочется более подробной информации с "доставкой на дом".
Можно конечно воспользоваться возможностью создания своего приложения на основе стандартного, но зачастую затраты не оправдывают себя. А минимально "допилить" для получения максимума информации можно и стандартное comments.
Недавно в процессе оформления и настройки блога Prosvetika.ru, столкнулся с бесплатным хостингом блогов под крылом Google - Blogger.com
Довольно занимателный "конструктор" для блоггеров, но как всегда со своими тараканами и особенностями.
Одной из них является отсутствие sitemap в формате xml. Для англоязычных блогов это не страшно, поскольку гугл с удовольствием съедает в качестве sitemap фид блога. Но для нас - рускоязычных, гугла мало, нам Яндекс подавай. А этот поисковик привередливый и фид кушать не желает. Свои фиды он предлагает размещать в поиске по блогам.
Погуглив на эту тему в интернете, я понял, что большинство продвинутых блоговодов выкладывают заранее сгенерированные sitemap.xml на сторонние хостигни и скармливают их через robots.txt нашему Яше. Это сколько полуручной работы!? о_0
Мне как и любому нормальному человеку такой подход не по душе.
Поэтому сел и сделал свой генератор sitemap.xml из Atom фида.