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

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

Всем привет!

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

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

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

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

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

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

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

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

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

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

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

这个好

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

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

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

[BUGREPORT]

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

[BUGREPORT END]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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