Блог пользователя MaximShipko

Автор MaximShipko, 13 лет назад, По-русски

Всем привет!

Количество контестов на Codeforces неуклонно растёт, а теперь ещё появились и тренировки. Найти среди блогов разбор задач или анонс для конкретного соревнования становится практически невыполнимой задачей, особенно, если соревнование проходило достаточно давно.

В связи с этим нами введена новая возможность прикрепления блогов Codeforces и любых других внешних ресурсов к соревнованиям. Для прикрепления блога достаточно нажать на скрепку под его заголовком и заполнить всплывающую форму. На странице же контеста в боковом фрейме можно прикрепить в качестве ресурса произвольный URL. Там же можно увидеть уже прикреплённые к соревнованию ресурсы. На видимость ресурсов влияет текущая локаль пользователя и состояние соревнования, например, вы не сможете увидеть в этом списке условия задач до начала контеста, а разборы — до его завершения.

Правом на изменение (добавление и удаление) ресурсов соревнования обладают администраторы, менеджеры соревнования, а также все "красные". Ресурсы тренировок, взятые из XML-дескрипторов, редактировать запрещено. Они будут удалены / добавлены после внесения соответствующих изменений в дескриптор.

  • Проголосовать: нравится
  • +143
  • Проголосовать: не нравится

»
13 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Было бы круто добавлять из контеста разбор, так чтобы он не публиковался, а после соревнования появился, причём на КФ.

  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится +43 Проголосовать: не нравится

    Лучше не выкладывать разбор до начала соревнования (ни в каком виде) :-)

    • »
      »
      »
      13 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится +27 Проголосовать: не нравится

      в следующий раз я буду набирать его в блокноте!!

      а по сути, хорошо бы иметь возможность, описанную riadwaw. Например, чтобы в полигоне можно было добавлять разбор задачи или что-то в таком духе

      UPD хоть убей не понимаю, за что riadwaw набрал свои минусы, а я при этом плюсы О_о

      • »
        »
        »
        »
        13 лет назад, # ^ |
        Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

        чтобы в полигоне можно было добавлять разбор задачи

        В разделе General в каждой задаче есть раздел Problem tutorial.

        • »
          »
          »
          »
          »
          13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          он там ничем вроде бы не отличается от блокнота. Я говорил именно про КФ чтобы сверстать можно было под местную разметку

          • »
            »
            »
            »
            »
            »
            13 лет назад, # ^ |
              Проголосовать: нравится +6 Проголосовать: не нравится

            А, ну понятно.

            Я имел ввиду, что удобно привязывать разбор к задаче, хранить его в одном месте, и при этом не палить никому.

        • »
          »
          »
          »
          »
          13 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          хм, точно, спасибо)
          если б его еще можно было предпросматривать в html...

          • »
            »
            »
            »
            »
            »
            13 лет назад, # ^ |
              Проголосовать: нравится +6 Проголосовать: не нравится
            1. Создаешь французское/немецкое/арабское/какое-нибудь еще условие для задачи
            2. Печатаешь там разбор
            3. Можно делать Preview
            4. ???????
            5. PROFIT
            • »
              »
              »
              »
              »
              »
              »
              13 лет назад, # ^ |
                Проголосовать: нравится -7 Проголосовать: не нравится

              ну изврат же, изврат))
              но на заметку приму)

              • »
                »
                »
                »
                »
                »
                »
                »
                13 лет назад, # ^ |
                  Проголосовать: нравится -12 Проголосовать: не нравится

                У нас бы вариант google-doc + предпросмотр.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  13 лет назад, # ^ |
                    Проголосовать: нравится -14 Проголосовать: не нравится

                  да это же самое удобное, что только можно придумать!)

»
13 лет назад, # |
Rev. 3   Проголосовать: нравится +2 Проголосовать: не нравится

Меня сходу смущают следующие пункты.

  1. Правда ли, что из просмотра поста нельзя удалить его ассоциации с какими-то контестами?
  2. Обычно же анонс совпадает с обсуждением, зачем их разделять?
  3. Если ставить связь, находясь в соревновании, предлагается выбрать язык. Ну куда столько языков?.. Да и вообще — зачем этот пункт, если у нас принято не дублировать посты на разных языках, а делать перевод оригинального?

UPD: Как интересно рейтинг этого комментария менялся за сутки от 0 до +13, а затем до -3.

  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится +13 Проголосовать: не нравится
    1. Правда. Возможно, сделаем позже.
    2. На Codeforces обычно совпадают, хотя исключения всё равно есть. Однако система позволяет добавлять ссылки и на сторонние ресурсы. В любом случае никто не мешает вам использовать наиболее правильный тип.
    3. Опять то же самое. Когда мы прикрепляем блог на Codeforces, никакого выбора языка нет. Если мы прикрепляем произвольный URL, логично, что система просит выбрать язык.
»
13 лет назад, # |
  Проголосовать: нравится -29 Проголосовать: не нравится

这个好

»
13 лет назад, # |
  Проголосовать: нравится +20 Проголосовать: не нравится

I'm glad to see it's finally done. Thanks a lot.

»
13 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

[BUGREPORT]

Только у меня 403 Forbidden на POST реквесте к /data/blogAndContest?action=attachBlogToContest?
Недопилили немного. Поле "Соревнование" пустое.

[BUGREPORT END]

  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится -22 Проголосовать: не нравится
    Комментарий удален по причине нарушения правил Codeforces
    • »
      »
      »
      13 лет назад, # ^ |
        Проголосовать: нравится -25 Проголосовать: не нравится
      Комментарий удален по причине нарушения правил Codeforces
      • »
        »
        »
        »
        13 лет назад, # ^ |
          Проголосовать: нравится -15 Проголосовать: не нравится

        О!...Впервые вижу, чтобы комментарии удаляли по причине нарушений правил CFа...

  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится +16 Проголосовать: не нравится

    Мне кажется у вас нет прав, потому что у вас нет прав, а не из-за ошибки. Прочитайте внимательнее кто имеет права связывать посты. Другой вопрос, что тогда бы стоило не показывать скрепку. Ну так бы и написали..

    • »
      »
      »
      13 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится

      Да, я на это намекнул. Слабо, наверное.

  • »
    »
    13 лет назад, # ^ |
      Проголосовать: нравится +17 Проголосовать: не нравится

    Дело в том, что перерендеривать блоги при каждом посещении страницы — довольно трудоёмкое занятие. Поэтому скрепка показывается всем пользователям. В списке же контестов для пользователя отображаются лишь те, на которые у него есть права. Если нет прав ни на один контест, то список, соответственно, пустой.

    Опишите подробнее последовательность действий, которая приводит к 403 Forbidden. Мне не удалось воспроизвести. При попытке отослать форму с невыбранным соревнованием под полем ввода должно появиться соответствующее сообщение об ошибке.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится

      Что мешает добавить js который будет прятать скрепку, если ты не стафф или не красный? Тогда видимо проблема с кешированием будет исчерпана.

      Поправьте если я чего-то не так понял.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        У некрасных с правами менеджера на контест есть возможность добавить пост к скрепке.

        Видимо, спрячем javascript-ом скрепки для всех, кто не является админом, красным и менеджером какого-либо контеста.

    • »
      »
      »
      12 лет назад, # ^ |
      Rev. 3   Проголосовать: нравится -27 Проголосовать: не нравится

      $.post("/data/blogAndContest?action=attachBlogToContest? ", {...} );

      В консоли). Я бы просто выдавал сообщение какое-то. Но точно не 403. А так все работает. Но эстетика, эстетика. Почему не выводите сообщение что "у вас нет прав ни на один контест" и не ставите disabled всей форме?

      Вы сказали: "перерендеривать блоги при каждом посещении страницы — довольно трудоёмкое занятие"

      Присутствие JKeeJ1e30 на сайте гораздо более трудоемкое занятие)). Зачем Перерендиривать? Просто один малый скрипт на фронтенде и немного json. Но скрепка у пользователя которому она не нужна -- однозначно НЕДОПУСТИМО.

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +30 Проголосовать: не нравится

        Если вы вручную делаете POST-запрос и вам отвечают 403 FORBIDDEN, то, может, не надо такие запросы делать?

        Про JS уже писали, читайте выше.

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
            Проголосовать: нравится -12 Проголосовать: не нравится

          Да понятно, что не надо. Но зачем форбид?

          • »
            »
            »
            »
            »
            »
            12 лет назад, # ^ |
              Проголосовать: нравится +17 Проголосовать: не нравится

            А что еще предлагаете отвечать? Подразумевается, что POST-запрос делает программа, и 403 выглядит самым логичным ответом. Возвращать что-то с кодом 200 вообще идеологически неверно. Можно, конечно, сделать красивую страничку вместо стандартной, но зачем, если запрос не должен производиться человеком напрямую?

»
12 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится

прикрепил материалы к div-1 69-го раунда (почему-то были ссылки только в div-2) и обратил внимание, что название топиков никак не фигурирует в "материалах соревнования"

выглядит всё так:

  • Анонс
  • Разбор задач №1
  • Разбор задач №2

очень часто в названиях статей указано, разбор какой именно задачи/задач описан; сейчас же такая информация теряется

понятно, что это совсем некритичный момент, но может стоит разделить материалы соревнования на четыре подгруппы, а ссылки уже давать названиями тем?

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +12 Проголосовать: не нравится

    Там же появляются подсказки, если навести мышкой. В них более подробная информация.

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится -16 Проголосовать: не нравится

      ага, забавно

      об этом когда-то было сказано? совсем неочевидно, что если навести на них мышкой, то что-то всплывёт

      • »
        »
        »
        »
        12 лет назад, # ^ |
          Проголосовать: нравится +1 Проголосовать: не нравится

        Ну это как Киндер-сюрприз. Сам по себе он прикольный, а внутри супер крутой))))

        • »
          »
          »
          »
          »
          12 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

          у меня было тяжёлое бескиндерсюрпризное детство

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

    • »
      »
      »
      12 лет назад, # ^ |
        Проголосовать: нравится +3 Проголосовать: не нравится

      Буквально два дня назад слышал "важного поведения на hover не должно быть". Т.к. на улице эпоха тачскринов и планшетов.

  • »
    »
    12 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится

    Часто разборы и анонсы называют так, что: ничего не поймешь, их названия не несут смысловой нагрузки, они длинные и будут коряво смотреться в интерфейсе, могут быть одинаковыми, они не единообразны. Короче, если "Разбор задач №1" заменить на полное название поста, то получится полный треш.

    Кроме того, обычно разборов 0-2 штуки (чаще 1), так что это редкий use case.

»
12 лет назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

Немного странно, что незалогиненным пользователям не показывается блок "Материалы соревнования", хотя (в отличие от функциональности "Отослать?", которая им и не будет доступна) при желании докопаться до соответствующего поста в блоге они могут.