1. Лучший говнокод

    В номинации:
    За время:
  2. Куча / Говнокод #28646

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    <script type="text/javascript">
    	var reformalOptions = {
    		project_id: 9409,
    		show_tab: false,
    		project_host: "govnokod.reformal.ru"
    	};
    
    	(function() {
    		var script = document.createElement('script');
    		script.type = 'text/javascript'; script.async = true;
    		script.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'media.reformal.ru/widgets/v3/reformal.js';
    		document.getElementsByTagName('head')[0].appendChild(script);
    	})();
    </script>
    --------------------------------------------------------------------------------
    Request:
    
    GET http://media.reformal.ru/widgets/v3/reformal.js
    Referer: http://govnokod.ru/
    --------------------------------------------------------------------------------
    Response:
    
    307 Temporary Redirect
    Location: http://r.rrzb.ru/?reg=11&orig=http%3A%2F%2Fmedia.reformal.ru%2Fwidgets%2Fv3%2Freformal.js
    --------------------------------------------------------------------------------

    С каких-то там пор, у недобросовестных провайдеров повелось добавлять на страницу без https свои шуры-муры и рекламные финтифлюшки, но сейчас, некоторые более хитрые провайдеры, пошли ещё дальше.

    Смотрят, значит, они на http страничку, или просто ловят запросы js по http, видят подключаемый javascript и вуаля - подменяют заголовок ответа на 307 Location с новым скриптом со своим содержимым.

    Можете сами посмотреть, если у кого такой вот провайдер, например.
    На этом сайте, по http://govnokod.ru, так и происходит.

    Как с этим бороться?

    Например добавлением атрибута "integrity":
    <script src="http://media.reformal.ru/widgets/v3/reformal.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4 YfRvH+8abtTE1Pi6jizo"></script>

    Но у этого способа, сами понимаете, существуют определённые сложности.

    Второй способ - это добавить к адресу любой get параметр:
    <script src="http://media.reformal.ru/widgets/v3/reformal.js?rand=random"></script>

    Конечно, это вообще не спасёт от подмены через 307 Location, но провайдер по своей методике такие URL пока не трогает.

    istem, 24 Марта 2023

    Комментарии (5)
  3. Куча / Говнокод #28604

    +5

    1. 1
    Итак, теперь, когда на говнокодике осталась одна смегма, можно сделать вывод, кто же был сливками.

    И принцип от противного: можно понять. кто из сливок и несливок был смегмой.

    1. Инканус, производивший впечатление опытного спеца не брезгает общаться с быдлом. Его нахождение здесь сводится к подтролливанию с многочисленных ~оригинальных~ как ему кажется, учеток, и стёб на темы, далекие от программирования. Стало быть, он и ранее находился тут только ради этого. Иной раз, чтобы привлечь горстку уцелевших участников к комментированию, он проходит по стоку, постя ответы на рандомные комментарии, начинающиеся обычно словами "ну как": "ну как, сделал?" Человек недалекого ума, явно.

    2. Есть мнение, что Илья, известный как Борманд, также не прочь "помесить говнца", с гостевых учеток. Не палимся, ага.

    3. Подзалупная перхоть, вроде гостей а также неизвестно кому принадлежащих учеток, вроде ISO, Desktop, AnimeGovno и прочих, деятельность которых тоже сводится к пустому трепу на отвлеченные темы.

    4. Ну и разумеется, я - головка от часов "Заря". Я часто захожу сюда потроллить, но собственно, свою позицию я обозначил очень давно.

    hormand, 16 Февраля 2023

    Комментарии (5)
  4. Haskell / Говнокод #28602

    −4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    (define A (list 1 2 3 4 5 6))
    
    (define (filter number first-number)
      (cond ((= (modulo first-number 2) 0)
             (cond ((= (modulo number 2) 0) (list number))
                   (else '())))
            (else (cond ((not (= (modulo number 2) 0)) (list number))
                   (else '())))))
    
    (define (same-parity-impl L n)
      (let ((C (cdr L)))
        (cond ((null? C)
               (filter (car L) n))
              (else
               (append
                (filter (car L) n)
                (same-parity-impl C n))))))
    
    
    (define result (same-parity-impl A (car A)))
    
    (newline)
    (display result)
    (newline)

    Смотрите, что я сделал!

    JloJle4Ka, 15 Февраля 2023

    Комментарии (5)
  5. C# / Говнокод #28591

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    /// <summary>
        /// Converts an object to null. Returns null.
        /// </summary>
        public static object ToNull(this object value)
        {
          return null;
        }

    Индийский extension

    bugotrep, 07 Февраля 2023

    Комментарии (5)
  6. Куча / Говнокод #28451

    +4

    1. 1
    в паху выросли бородавки... ой бля, как мерзко.

    это потому, что губкой сперва помыл подмышки, а потом всё тело.
    надо в последнюю аучеред

    TAPAC, 21 Ноября 2022

    Комментарии (5)
  7. bash / Говнокод #28442

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    apt update
    apt upgrade
    
    brew upgrade
    brew update

    Постоянно их путаю

    3_dar, 11 Ноября 2022

    Комментарии (5)
  8. Куча / Говнокод #28368

    +1

    1. 1
    Яндекс сгнил :(

    hormand, 12 Сентября 2022

    Комментарии (5)
  9. Куча / Говнокод #28356

    0

    1. 1
    https://github.com/PlummersSoftwareLLC/Primes/blob/drag-race/PrimeChapel/solution_1/primes.chpl#L92

    Царские анроллы.

    CHayT, 06 Сентября 2022

    Комментарии (5)
  10. C++ / Говнокод #28195

    0

    1. 1
    2. 2
    3. 3
    4. 4
    try
    {
    }
    catch(...) { /*um, nice weather!*/}

    kcalbCube, 27 Мая 2022

    Комментарии (5)
  11. C++ / Говнокод #28140

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    #include <iostream>
    #include <string_view>
    #include <source_location>
     
    void log(const std::string_view message,
             const std::source_location location = 
                   std::source_location::current())
    {
        std::cout << "file: "
                  << location.file_name() << "("
                  << location.line() << ":"
                  << location.column() << ") `"
                  << location.function_name() << "`: "
                  << message << '\n';
    }
     
    template <typename T> void fun(T x)
    {
        log(x);
    }
     
    int main(int, char*[])
    {
        log("Hello world!");
        fun("Hello C++20!");
    }
    
    file: main.cpp(23:8) `int main(int, char**)`: Hello world!
    file: main.cpp(18:8) `void fun(T) [with T = const char*]`: Hello C++20!

    Previously, functions that desire to obtain this information about the call site (for logging, testing, or debugging purposes) must use macros so that predefined macros like __LINE__ and __FILE__ are expanded in the context of the caller. The source_location class provides a better alternative.

    kcalbCube, 27 Апреля 2022

    Комментарии (5)