среда, 9 июля 2008 г.
четверг, 19 июня 2008 г.
Популярные AJAX библиотеки теперь можно загружать с сервера Google
Google Code начал хостить популярные библиотеки JavaScript - JQuery, Prototype и другие.
А знаете, что это значит? Можно указать в своей странице загружать эти .js с сервера Google. И библиотеки будут загружатся пользовательским браузером всего один раз, независимо от количества посещаемых сайтов.
http://code.google.com/apis/ajaxlibs/
Утянуто у rossp
понедельник, 2 июня 2008 г.
Установка Text Link Ads на Python-сайте
Решил использовать сервис Text Link Ads для продажи ссылок с одного своего англоязычного сервиса (PR страниц 3-4). И столкнулся с тем, что для сайта на платформе Python/Django они не предлагают готового Ad-кода.
Гугление не дало результата и я включил моск.
Для сайтов на платформе Blogger они предлагают размещать RSS-поток с ссылками. Почему бы не использовать и мне такой вариант, подумал я. Все просто - берем RSS-гаджет и подключаем его к своему TLA-аккаунту.
Мне приглянулся "Simple rss reader" из гаджетов Google. Простотой в настройке и установке.
Что получилось, можно посмотреть на Getting tasks done
Гугление не дало результата и я включил моск.
Для сайтов на платформе Blogger они предлагают размещать RSS-поток с ссылками. Почему бы не использовать и мне такой вариант, подумал я. Все просто - берем RSS-гаджет и подключаем его к своему TLA-аккаунту.
Мне приглянулся "Simple rss reader" из гаджетов Google. Простотой в настройке и установке.
Что получилось, можно посмотреть на Getting tasks done
четверг, 29 мая 2008 г.
Игра ФИДО 2.0 - античитерское обновление #1
Не так давно я запустил на Хабре весть об игре Фидо 2. Вполне ожидаемая реакция - за два часа сервер лёг. Но вот чего я не ожидал (да, наивный, верю в человеческую честность), так это такого количества читерских запросов. Они то и положили веб-приложение.
Больше всего народу понравилось закачивать старый злан на файлопомойки, ускорять время и взламывать себе подобных :) Вполне закономерно, что в обновлении я ограничил бонусы от закачки, поставил триггер на проверку продолжительности игрового дня и увеличил защиту атакуемого игрока. Кстати, теперь при атаке, независимо от опыта у атакуемого есть возможность отбится даже без фаервола ;)
Вот так-то.
Исходники в помощь: http://code.google.com/p/fido2/
Больше всего народу понравилось закачивать старый злан на файлопомойки, ускорять время и взламывать себе подобных :) Вполне закономерно, что в обновлении я ограничил бонусы от закачки, поставил триггер на проверку продолжительности игрового дня и увеличил защиту атакуемого игрока. Кстати, теперь при атаке, независимо от опыта у атакуемого есть возможность отбится даже без фаервола ;)
Вот так-то.
Исходники в помощь: http://code.google.com/p/fido2/
понедельник, 26 мая 2008 г.
Django и Google App Engine: шаблоны и статические файлы
В предыдущем посте было рассказано, как создать простейший проект на GAE + Django. Сейчас давайте попробуем подключить к проекту шаблоны Django и поддержку статических файлов - таблиц стилей, скриптов и картинок.
Наш Django проект будет называтся dvk, и содержать приложение main. В папке приложения создаем каталог для шаблонов templates:
Чтобы среда знала, где искать файлы шаблонов, нужно прописать путь в файле настроек проекта settings.py
Теперь можно создать файл шаблона main.html в папке шаблонов. Наш шаблон не будет делать ничего сверх полезного :) Просто скажем браузеру "Hello world!"
Для вывода страницы создадим процедуру-контроллер в файле views.py и привяжем её к обработке запроса главной страницы сайта в urls.py
Теперь можно протестировать наше приложение - dev_appserver.py dvk
Откройте браузер с адресом http://127.0.0.1:8080/ и у вас отобразится "Hello world!" :-)
Чтобы Google App Engine обрабатывал статические файлы, нужно в файле настроек GAE приложения включить в секцию handlers параметр static_dir:
Параметр url указывает, по какому адресу будут доступны файлы, а значение параметра static_dir - имя и расположение папки. В нашем примере она располагается в корне проекта и имеет имя static. Теперь в шаблонах можно обращаться к статическим файлам, например для загрузки таблицы стилей: link href="/static/main.css" type="text/css" rel="stylesheet"
Использованные материалы:
Django on Google App Engine: Templates and static files
Configuring an App
Наш Django проект будет называтся dvk, и содержать приложение main. В папке приложения создаем каталог для шаблонов templates:
dvk/
main.py
app.yaml
dvk/
manage.py
settings.py
urls.py
main/
__init__.py
models.py
views.py
templates/
Чтобы среда знала, где искать файлы шаблонов, нужно прописать путь в файле настроек проекта settings.py
import os
ROOT_PATH = os.path.dirname(__file__)
TEMPLATE_DIRS = (
ROOT_PATH + "/main/templates",
)
Теперь можно создать файл шаблона main.html в папке шаблонов. Наш шаблон не будет делать ничего сверх полезного :) Просто скажем браузеру "Hello world!"
Hello world!
Для вывода страницы создадим процедуру-контроллер в файле views.py и привяжем её к обработке запроса главной страницы сайта в urls.py
#dvk/dvk/main/views.py
from django.shortcuts import render_to_response
def index(request):
return render_to_response("main.html")
#dvk/dvk/urls.py
from django.conf.urls.defaults import *
urlpatterns = patterns("",
(r"^$", "dvk.main.views.index"),
)
Теперь можно протестировать наше приложение - dev_appserver.py dvk
Откройте браузер с адресом http://127.0.0.1:8080/ и у вас отобразится "Hello world!" :-)
Чтобы Google App Engine обрабатывал статические файлы, нужно в файле настроек GAE приложения включить в секцию handlers параметр static_dir:
application: dvk
version: 1
runtime: python
api_version: 1
...
handlers:
- url: /static
static_dir: static
...
Параметр url указывает, по какому адресу будут доступны файлы, а значение параметра static_dir - имя и расположение папки. В нашем примере она располагается в корне проекта и имеет имя static. Теперь в шаблонах можно обращаться к статическим файлам, например для загрузки таблицы стилей: link href="/static/main.css" type="text/css" rel="stylesheet"
Использованные материалы:
Django on Google App Engine: Templates and static files
Configuring an App
Подписаться на:
Сообщения (Atom)