Сервисы FreeGeo +4.8

Giraffe 0.8.3

Обновил движок блогов — пока ничего нового, но по крайней мере:
а) теги теперь необязательны при редактировании
б) произведен капрефакторинг кода (извини, Олег :)).

Дальше — больше, следите за новостями.
Брать код отсюда (Download Source).

P.S. Могут быть замечены глюки — по возможности сообщайте, оперативно поправлю.
  + -2 -    3 августа 2010, 15:58     nikita     

Комментарии Фильтр

0
+ -
Копрорефакторинг — это сурово :)
-2
+ -
Я ждал этого комментария :)
0
+ -
По идее файл лицензии наиболее важная штука во всем этом деле.

Без него, сомневаюсь, что кому то будет нужно все это.
Если вообще нужно.
0
+ -
В таком состоянии — пока никому не нужно :)
Как причешу исходники — буду приводить в товарный вид.

Еще параллельно занимаюсь новой версией — вроде получается хорошо, но не хватает времени, к сожалению.
0
+ -
Ставлю плюсик. Одобряю! :)

Ты на пайтоне пишешь? Давай мне задания. Я буду на выходных писать. Могу БД проектировать, могу код писать, могу танцы с медведями танцевать.

:)
-2
+ -
> Ты на пайтоне пишешь? Давай мне задания. Я буду на выходных писать. Могу БД проектировать, могу код писать, могу танцы с медведями танцевать.

Вот как раз проектирование БД будет очень кстати — проектировщик из меня никакой.

Например, пока я с редактированием постов решил так:

1) Таблица posts, примерная структура:
id
title — Заголовок
author — Автор оригинального поста
latest_revision — Foreign key, ссылающийся на id таблицы post_revisions

2) Таблица posts_revisions
id — ID изменения
author — Автор изменений
text — Измененный текст поста
post_id — ID поста, к которому принадлежит изменение
datetime — Время изменения

Соот-но, при любом редактировании поста добавляем новую строку в таблицу post_revisions и делаем ссылку на нее в latest_revision у редактируемого поста.

Получаем: в latest_revision всегда имеем актуальную (отображаемую) версию поста, в post_revisions — историю изменений.

Нутром чувствую, что я все сделал криво и неправильно :)

Поэтому тут твоя помощь будет очень полезна.
0
+ -
Коряво, ога. Мысль верная, но коряво, ога = )

Убери post_id из posts_revisions для начала ;)

Давай с самого начала БД проектировать. Если на то пошло. Напиши мне когда у тебя будет время, что у тебя уже есть в БД и сделай файл миграции (что бы я у себя мог позырить).

Нам, я полагаю, нужно две вещи будет: схема, за актуальность которой буду я отвечать и файл миграции, за обновление которого будет отвечать разработчик добавивший новые поля или сущности.
-2
+ -
Миграции для Джанго присутствуют, так что тут без проблем.
Время по вечерам обычно всегда есть, так что тут как тебе удобнее.
Схему подготовлю.
-1
+ -
Нененене, девид блэйн!

Ты хочешь все сам сделать :)
Схему я готовлю. Ты сделай файл миграии — под ним я понимаю файл куда вынесены все скрипты на создание таблиц в БД и заполнение статических справочников :)
-1
+ -
Его в большинстве случаев можно автоматически сгенерировать.
-2
+ -
Ой, то есть, подготовлю файл миграции — чтобы ты мог поглядеть, что у меня уже есть.
Запутался :)
-2
+ -
Ога :)
-2
+ -
> Коряво
Я не сомневался :)
-2
+ -
Да, забыл упомянуть — использую Python + Django и MySQL.
-2
+ -
Охуэнна, сэр. Еще бы вы PostgreSQL использовали, было бы совсем зашибись.
MySQL, полагаю, будет не комильфо в будущем, но посмотрим.
-2
+ -
> Еще бы вы PostgreSQL использовали, было бы совсем зашибись.

Можно, т.к. Джанго абсолютно абстрагирован от БД и сам собирает ее структуру (manage.py syncdb) из классов моделей.
И хоть я с Постгрес и не знаком, но попробуем :) Тем более, опять-таки, 90% запросов — абстракция.
-1
+ -
Вот тут у меня прокол. Я с джанго не работал (мелкие ковыряния не в счет), так что заранее сказать не могу.

Видимо там что-то вроде hibernate уже есть? Если да, то тогда нам нужно не БД проектировать, а удобство объектной модели прорабатывать :)
-2
+ -
Не совсем Хибернейт, но близко к тому.
Проектировать БД нужно. Вот тебе пример класса модели:

# Описывает историю текста поста class PostRevision(models.Model): title = models.CharField(u'заголовок', max_length=255) text = models.TextField(u'текст поста') changes_author = models.ForeignKey(User) date = models.DateTimeField(u'дата правки') editor_note = models.TextField(u'причина редактирования') def __unicode__(self): return self.title

И как это используется:

PostRevision.objects.filter(id=123) # SELECT * FROM post_revision WHERE id = 123
-2
+ -
Понял. Ок.
0
+ -
Что-то ничего капитального в коде не увидел.
0
+ -
>пока ничего нового

Ваш КО.
0
+ -
>произведен капрефакторинг кода
добавлены пространства имен и все
0
+ -
Про капрефакторинг — это шутка, конечно (специально для первого комментария, да :)). Просто чуть структурировал и порефакторил код — поправил форматирование (приводил к Zend Style Guide), вынес составление запросов из класса Model в QueryBuilder, и что-то еще по мелочи.
Но я пока не закончил — скоро новая версия :)
0
+ -
А теперь давайте минусовать друг друга!!!11
0
+ -
Тире в низу страницы поправили ^_^
Только авторизованные пользователи могут оставлять комментарии. Авторизируйтесь, пожалуйста.

Теги ↓

30 дней ночи 65daysofstatic Action air Annoying Orange c deftones Demigod fail freegeo Giraffe google holy war id software Live Lost mario music RPG tele-club vkontakte who is it? Win yoav YouTube Анимация аниме баг бангкок вампиры вин вокруг света Вопрос гениально Говно Джапонцы дизайн дополненная реальность Заебали теги игры идеи интернет искусство камбоджа Кино кино-говно классика книги комикс концерт короткометражное кино лайфхаки литература Люблю теги музыка мультики Наркота наркотики непорно новости обложка образование онгоинг Офигенчик переезд политика порно проверка программирование проплачено Путешествия Реклама релиз рецензии ржака Сериал Сериалы сиквелы сиськи списки Ссылки стамбул страны таиланд тег теги Терри Гиллиам технологии Тим Бартон топы трейлеры Ужасы фильм Фильмы фичи Фотоальбом фэнтези хоррор хостинг Хуита Хуй Эротика Юмор я кончил восемь раз япония
© 2009 — 2011 FreeGeo