ФорумПрограммированиеPHP для идиотов → Профи, обосрались?

Профи, обосрались?

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 25 февраля 2011 г. 9:32, спустя 17 минут 20 секунд

    да похуй, ты не понял, а мне некогда объяснять
    Сапожник без сапог
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 5 июля 2011 г. 2:17, спустя 129 дней 15 часов 45 минут

    короче я реализовываю такую тему

    и вот проблемка с записями в блоге, они могут быть привязаны к:
    а) разделу (их до 10)
    б) стилю (их до 100)
    в) группе (хуева гора)
    г) району/городу (хуева гора)


    и вот стало быть нужно как-то генерировать ссылки на это все и еще ж тайтлы выводить. Тут хорошо бы заджоинить эти все группы/стили/разделы, но это не дело, так как потом добавится еще какая-то херня и получится тыща джоинов. Сейчас просто пишем данные в поля: group_id, group_title, group_slug, … . Но мне это не нравится.

    Как быть?
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 5 июля 2011 г. 10:21, спустя 8 часов 3 минуты 44 секунды

    Абырвалг, денормализация нужна наверно…
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 5 июля 2011 г. 10:23, спустя 2 минуты 24 секунды

    хммм..
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 5 июля 2011 г. 10:33, спустя 10 минут 23 секунды

    хммм, хули тут показывать, думать надо, я ебу )))
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 5 июля 2011 г. 11:51, спустя 1 час 17 минут 27 секунд

    kostyl, конкретнее, а то я ничего не понял. Как она тут поможет?
    я наоборот от джоинов избавиться хочу
  • Animator

    Сообщения: 194 Репутация: N Группа: Кто попало

    Spritz 5 июля 2011 г. 12:10, спустя 18 минут 41 секунду


    а как разрулить такую ситуацию: я подписан на обновления юзера Ю1 и группы Г1. Все хорошо, пока Ю1 не напишет в группу Г1. Получаются дубликаты. Как их пофильтровать?


    Абырвалг, во пиздец задача нерешаемая …..
    даешь каждому сообщению уникальный ид и группируешь по ним … бинго блеять


    так их будет 2, с разными ид

    но в таблицу где ты сохраняешь события они лягут как одно айди
    то же и с фотками, а ссылочность на каждую отдельную фотку можно сериализованым массивом держать
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 5 июля 2011 г. 12:18, спустя 8 минут 47 секунд


    kostyl, конкретнее, а то я ничего не понял. Как она тут поможет?
    я наоборот от джоинов избавиться хочу

    Я не до конца понял задачу, потому что правильно синкер сказал - мне б попиздеть… А вот если ты в базе будешь хранить тайтлы в html прямо и апдейтить демоном раз в две минуты по кускам или как то по другому или не демоном, у тебя же не миллион раз в секунду абсолютно всё меняется…
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 5 июля 2011 г. 12:57, спустя 38 минут 47 секунд

    про какую-нибудь хрень простую

    …и нужную
    Высокоуровневое абстрактное говно
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 5 июля 2011 г. 13:24, спустя 27 минут 19 секунд

    аштеемло в базе - это уж очень грязно.

    В общем пока остановился на таком решении - храню всякие там blog_category_id, blog_category_slug, blog_category_title. И в случае необходимости (переименовали категорию) буду проходиться по строкам и менять значения в них:

    UPDATE newsfeeed_event SET blog_category_title = 'foo' WHERE blog_category_id = 1


    вот какой-нибудь гитхаб вообще не заебуется такими проблемами. Идем на мой профайл https://github.com/Koc , видим
    Koc started watching snc/RedisBundle June 25, 2011

    кликаем на этот RedisBundle и попадаем на 404, так как репо переименован в SncRedisBundle.
    Спустя 61 сек.
    демон/кронтаск - это ок. Я почему-то совсем забыл об этом. В общем-то можно будет его как-нить заюзать
    Спустя 61 сек.
    меня как бы даже посещала идея дублировать информацию о категориях/группах/районах в редисе и в цикле делать запросы в редис. Но пока не до этого
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 5 июля 2011 г. 18:54, спустя 5 часов 30 минут

    вот какой-нибудь гитхаб вообще не заебуется такими проблемами. Идем на мой профайл https://github.com/Koc , видим
    Koc started watching snc/RedisBundle June 25, 2011
    кликаем на этот RedisBundle и попадаем на 404, так как репо переименован в SncRedisBundle.

    Вполне нормальное решение у них, единственное что, я бы как-то ссылки, которые ведут на 404 заранее подсвечивал.


  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 6 июля 2011 г. 3:34, спустя 8 часов 39 минут 22 секунды

    меня как бы даже посещала идея дублировать информацию о категориях/группах/районах

    я приблизительно это и имел в виду под денормализацией…
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 6 июля 2011 г. 3:52, спустя 18 минут 10 секунд

    оу, прости, я прочитал как нормализация
  • Абырвалг

    Сообщения: 6480 Репутация: N Группа: Джедаи

    Spritz 12 июля 2011 г. 13:23, спустя 6 дней 9 часов 31 минуту


    WHERE user_id IN (10 000 IDшников друзей через запятую)
    да не будет это тормозить нихуя если индекс сделать нормальный, а фильтровать по евент тайпу я хз стоит ли вообще … думать надо, это можно и на пхп отфильтровать, это не так страшно, но тут думать надо еще раз грю =))

    честно не будет? потому что мы так и будем делать
  • Animator

    Сообщения: 194 Репутация: N Группа: Кто попало

    Spritz 12 июля 2011 г. 13:54, спустя 30 минут 38 секунд

    тут важно два момента, количество пользователей, ну и готовся к репликации, хотя тут тоже все зависит от выбраной СУБДД…
    например тот же фейс распологает достаточным количеством серверов но ты сам недавно давл неплохую ссылку…
    я недавно сделал что то похожее для внутреннего пользования в компании на 200+ сотрудников и мне хватило партиционирования, но опять таки, этот мой проект все еще на стадии тестирования, хотя и все довольны

Пожалуйста, авторизуйтесь, чтобы написать комментарий!