Написать пост

OlegTar

Лимит на пользователей в Афрокадабре

В Афрокадабре каждый пользователь представляется своим цветом.
Значения цвета в RGB от #000000 до #FFFFFF, всего 16 777 216 значений.

Понятно, что столько людей в одном посте вряд ли будет.

Но внимание, вопрос, к создателям сайта, а что теоретически будет, если в пост решит написать
16 777 217 пользователей? Сможет ли 16 777 217-й пользователь написать комент? Хотя бы теоретически.

@da
59 комментариев нравится избранное
  • Slicer
    19 20 июн 2013 в 00:05
    я думаю сервер перегреется и взорвется
    • olegsuv
      20 июн 2013 в 03:19
      Сервер фиг с ним, а вот браузеры лягут один за другим. Причем опера ляжет последней, как оказывается.
      • Dar4eG
        1 20 июн 2013 в 06:49
        ну, при отсутствии постранички сервер умрет тоже.. даже если каждый коммент будет символов в 100 кириллицы, то 16 миллионов комментов будут весить около 30 Гб, или 340 Гбит.. даже если канал 100 Мбит/сек у пользователя, это 3400 секунд, что-то я сомневаюсь, что nginx с таким счастьем проживет долго, даже если не помрет сама ror-аппликуха с таких объемов данных)))
        • kharchenko
          20 июн 2013 в 12:19
          340Гбит
          Вот именно так получаются потом 146% :D
          • olegsuv
            20 июн 2013 в 14:12
            Ага, меня тоже перекосило, у него в байте чуть меньше 12 бит :)
            • kharchenko
              1 20 июн 2013 в 14:59
              предлагаю назвать "суркобайтом"
        • olegsuv
          20 июн 2013 в 14:11
          Коммент с 54 символами текста с версткой = 7579 символов + тег li ~ 7600-7700 символов.

          Чисто по тексту у меня на 16 млн комм по 100 символов получилось 2 Гб = 16 Гбит.
    • beliakov
      7 20 июн 2013 в 08:44
      Не, сервер начнет генерить аватарки как у меня :)
  • Katrine
    20 июн 2013 в 00:06
    Получит цвет первого?
    • OlegTar
      9 20 июн 2013 в 00:09
      цвета выдаются не по порядку.
      более того цвет #000000 врядли отличишь человеческим глазом от #000001
      Если бы цвета выдавались по порядку, то все аватары были бы черного цвета.
      • TheHorse
        2 20 июн 2013 в 02:28
        Нет. 255-ый был бы синим, например.
      • Katrine
        20 июн 2013 в 07:31
        Я имею ввиду, что после завершения всех цветов, пусть даже не полных 16 миллионов, цвета опять будут выдаваться по кругу. (пусть даже рандомно)
        Хотя для глаза мы не различим даже и половины из представленных цветов.
        • azmorf
          20 июн 2013 в 08:26
          Вряд ли там такая логика, скорее всего скрипт уйдет в бесконечный цикл
  • Boomburum
    1 20 июн 2013 в 00:11
    Дима @da затрудняется ответить, поэтому проще всего будет проверить. Несколько тысяч ретвитов и репостов от вас в социальных сетях - глядишь и наскребём по сусекам ))
    • detmos
      3 20 июн 2013 в 00:13
      Базу Дурова слямзить. себе завести, редирект с вк поставить и сказать, мол "новый интерфейс ленты". Думаю за пару минут гораздо больше 16 лямов наберется)
    • B-Vladi
      10 20 июн 2013 в 00:18
      Бурум читор!
  • vans239
    20 июн 2013 в 00:24
    Появится проблема - проверить традиционным путем через браузер не получится, потому что все повиснет. Да и сервак при ответе наверняка по таймауту будет отваливаться из-за скорости передачи сети. А также, если в качестве бд стоит мускул, будут большие проблемы с производительностью сервака и его винчей.
    • OlegTar
      20 июн 2013 в 00:27
      Это да. Поэтому я и говорю "теоритически", и проверить, что будет (теоритически) могут только создатели сайта.
      • vans239
        20 июн 2013 в 00:31
        к сожалению, проверить они смогут только посмотрев код или уменьшив количество цветов. Вполне возможно, что там есть уже ограничение на похожесть цветов, я не видел одинаковых цветов в комментах и тогда количество различных случаев в разы меньше
        • krusha
          3 20 июн 2013 в 00:33
          А я видел похожесть цветов.
          Сейчас конечно не с помню где и как но было.
          • OlegTar
            1 20 июн 2013 в 00:40
            Цвета #23ABAB и #23ABAC врядли человеческим глазом не отличить.
            • krusha
              20 июн 2013 в 00:40
              согласен
              • OlegTar
                20 июн 2013 в 00:42
                То есть "врядли отличить".
                • krusha
                  20 июн 2013 в 00:53
                  Та да, может там не 16 лимонов цветов а все 200 или там сколько, а все остальные повторяются, каша однако кто пойми что пишет.
            • MaxDM
              20 июн 2013 в 09:14
              Можно исходник посомтреть )
              • B-Vladi
                20 июн 2013 в 11:16
                Даёшь исходники кадабры! На github-е XD
    • detmos
      20 июн 2013 в 00:30
      Не, можно конечно создать топик, каждый день кто-то не ленится, создает новый акк и пишет туда:D
      и нагрузку минимизируем и своего добьемся! Всего-лишь 16лямов дней)
      • vans239
        1 20 июн 2013 в 00:35
        в том то и проблема, нагрузка будет даже на просто единоразовый показ этой страницы. Тебе должны будут передать 16М комментов. Пусть на каждый по 30 символов, размер символа 2 байта, тогда вес страницы будет порядка 960Мб (служебная инфа типа айдишников, цветов и т.п. не считается ), а ее надо передать в течение пары секунд.
        • Gesper
          20 июн 2013 в 00:40
          Вы не учитываете тэги. Итоговый размер будет значительно больше.
          Но это неважно. Я как-то раз на работе проверял какие объемы выдерживают браузеры. Уже на 200 мегабайтах HTML кода баузеры выедают под гигабайт-полтора оперативы и начинают вылетать. Так что даже если получится данные передать, ваш браузер скороее всего не сможет вам их показать. Надорвется.
          • vans239
            20 июн 2013 в 00:45
            этот вариант я предполагал, как написание спец парсера для этой странички. А теги и необязательно учитывать - можно из json генерить все у клиента. )) Правда, это немного жестоко
          • olegsuv
            20 июн 2013 в 03:43
            1Гб памяти это фигня, у меня их все равно 16Гб.
            Но тем не менее опера все равно иногда ложится.
        • detmos
          20 июн 2013 в 00:44
          Ну, насчет секунд то вы погорячились, ограничения на это нет никаких. И выставить ограничение или, специально для этого поста, выделить отдельную псевдо-кластерную ноду, на которую через балансер будет отсылаться запрос именно по этому посту и которая будет с лимитированной скоростью отдавать данную страницу, чисто теоретически проблем не составит. Другое дело клиент, как ниже Gesper написал.
          • detmos
            20 июн 2013 в 00:44
            Выше*)
          • OlegTar
            1 20 июн 2013 в 00:46
            Можно проще - уменьшить диапазон цветов, к примеру до 16, и проверить вручную.
            • OlegTar
              20 июн 2013 в 00:47
              естественно это должны сделать создатели сайта
              • detmos
                1 20 июн 2013 в 00:49
                Таки понятно, но на продакшне вряд ли дадут это сделать, тестовый ландшафт закрыт, а посмотреть то самим хоцца:D
                Ну и плюс - умный вид то можно построить)
                • OlegTar
                  20 июн 2013 в 00:50
                  Тут вообще прогу надо писать целую для чтения Гигабайтов разметки.
                  • detmos
                    20 июн 2013 в 00:59
                    Если оперативы много - то от обычного парсера не сильно будет отличаться. Так что можно даже без оптимизации обойтись, взять за основу что-то готовое, переменные только проверить на тип данных)
                    Ладно, дальше без меня, спать пора)
                  • vans239
                    20 июн 2013 в 01:00
                    У меня на старой работе с помощью нескольких grep по очереди распарсили пару террабайт логов, так что фигня вопрос
  • Djels
    11 20 июн 2013 в 00:33
    Гики, такие гики
  • misha-aksenov
    20 июн 2013 в 00:35
    скорее всего там просто берется рандомный цвет и если такой еще никому не присвоился в этом посте, то система его использует.
    • Djels
      1 20 июн 2013 в 00:39
      В том и смысл, а что, если уже все цвета присвоены?) Как поведет себя система
      • misha-aksenov
        20 июн 2013 в 00:40
        Ситуация мягко говоря очень маловероятная ))
        Интересно, предусмотрено ли это в коде движка?
        • OlegTar
          20 июн 2013 в 00:41
          Вот это я и хочу узнать, а узнать можно только у создателей сайта.
          • misha-aksenov
            20 июн 2013 в 00:42
            пусть исходники выложат ;)
      • OlegTar
        20 июн 2013 в 00:40
        именно
      • Leeemon
        1 20 июн 2013 в 00:42
        Отвалится по таймауту, конечно.
        Повиснет в бесконечной рекурсии и отвалится по таймауту.
        • azmorf
          20 июн 2013 в 08:26
          Единственный правильный ответ. Это и случится.
    • tutpusto
      20 июн 2013 в 08:04
      Я думаю, и проверки даже нет.
  • Linberg
    20 июн 2013 в 01:18
    блин, ппц. собрались тут программисты. нафиг страницу качать, если можно просто добавить один комментарий не качая страницу:-) придется конечно чуть переписать код, но на тестовом сервере это не проблема)))
    или оставить форму для добавления комментария, но отключить вывод комментариев из бд. и все проблемы решены. а количество комментариев через субд посмотреть можно.
    • Dar4eG
      20 июн 2013 в 06:53
      не забудь, для этой проверки нужно 17кк пользователей ;)
      • Linberg
        20 июн 2013 в 10:52
        если база тестовая можно нагенерить 17кк пользователей ;-)
  • alexandrkusov
    20 июн 2013 в 02:13
    если в Google написать Google то интернет сломается
    • muzhaos
      20 июн 2013 в 03:44
      Не правда( даже проверил :)
      • beliakov
        20 июн 2013 в 08:47
        Напиши do a barrel row :)
        • Ordall
          20 июн 2013 в 09:47
          в ютуб напиши в поиске do the harlem shake
        • Foxter
          20 июн 2013 в 09:54
          • muzhaos
            20 июн 2013 в 11:28
            С этой фигней в свое время долго игрался :)
        • muzhaos
          20 июн 2013 в 11:27
          клева :) видел уже такие приколы) с гуглом их довольно много как и с ютубом)
  • J1mm
    20 июн 2013 в 10:20
    Не утверждаю 100%, но теоретически - если цвета генерируются рандомно, то возможно пользователь просто получит какой-то цвет, который уже использует другой. Если же стоит проверка на одинаковые цвета, фиг знает, может рекурсия будет :)
    • Slicer
      20 июн 2013 в 11:38
      не в тему употреблено слово "рекурсия".
      а вообще скорее всего там нету проверки на повторяющиеся цвета, так как и так очень малый шанс этого
      • J1mm
        20 июн 2013 в 12:07
        Почему не в тему? Он будет потоянно вызывать сам себя для генерации нового цвета.
        • olegsuv
          2 20 июн 2013 в 13:52
          Я думаю что это будет цикл
        • Slicer
          20 июн 2013 в 14:39
          очень сомневаюсь что авторы через рекурсию это реализовали.
Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста, или зарегистрируйтесь.