среда, 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

четверг, 29 мая 2008 г.

Игра ФИДО 2.0 - античитерское обновление #1

Не так давно я запустил на Хабре весть об игре Фидо 2. Вполне ожидаемая реакция - за два часа сервер лёг. Но вот чего я не ожидал (да, наивный, верю в человеческую честность), так это такого количества читерских запросов. Они то и положили веб-приложение.

Больше всего народу понравилось закачивать старый злан на файлопомойки, ускорять время и взламывать себе подобных :) Вполне закономерно, что в обновлении я ограничил бонусы от закачки, поставил триггер на проверку продолжительности игрового дня и увеличил защиту атакуемого игрока. Кстати, теперь при атаке, независимо от опыта у атакуемого есть возможность отбится даже без фаервола ;)

Вот так-то.
Исходники в помощь: http://code.google.com/p/fido2/

понедельник, 26 мая 2008 г.

Django и Google App Engine: шаблоны и статические файлы

В предыдущем посте было рассказано, как создать простейший проект на GAE + Django. Сейчас давайте попробуем подключить к проекту шаблоны Django и поддержку статических файлов - таблиц стилей, скриптов и картинок.

Наш 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