1. 1C / Говнокод #29107

    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
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    &НаСервере
    Процедура ПриОткрытииНаСервере()
    
        Заказ = Документы.ЗаказИнтернетМагазина.ПолучитьСсылку(Объект.Ссылка.УникальныйИдентификатор());
        ОбъектЗаказ = Заказ.ПолучитьОбъект();
    
        ДатаНач = ОбъектЗаказ.Дата;
        ДатаКон = ТекущаяДата();
    
        ИзмененыДанные = Ложь;
    
        Для Каждого Стр Из ОбъектЗаказ.Товары Цикл
            Если Стр.ДокументПеремещения.СостояниеПеремещения = Перечисления.СостоянияПеремещенийИМ.ОтправленоСХаба Тогда
                ПеремещениеЗак = Стр.ДокументПеремещения.Ссылка;
                Выборка = Документы.СборкаПеремещения.Выбрать(ДатаНач, ДатаКон);
                Пока Выборка.Следующий() Цикл
                    ОбъектСборки = Выборка.ПолучитьОбъект();
                    Для Каждого СтрСборка Из ОбъектСборки.TU Цикл
                        Если СтрСборка.Перемещение = ПеремещениеЗак Тогда
                            Стр.ВременныйДокументСборки = Выборка.Ссылка;
                            ИзмененыДанные = Истина;
                            Прервать;
                        КонецЕсли;
                    КонецЦикла;
                КонецЦикла;
            КонецЕсли;
        КонецЦикла;
    
        Если ИзмененыДанные Тогда
            ОбъектЗаказ.Записать();
        КонецЕсли;
    
    КонецПроцедуры
    
    &НаКлиенте
    Процедура ПриОткрытии(Отказ)
      ПриОткрытииНаСервере();
    КонецПроцедуры

    BiLBelarus, 26 Марта 2025

    Комментарии (1)
  2. JavaScript / Говнокод #29106

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Какое-то податливое, теплое, но пока еще не вонючее говно закончило школу, затем поступило в вуз, обучилось там прогать, сортировать и шифровать RSA. 
    Ум у него математический - типичный технарь, из числа тех, кто когда-то сидел тут.  У него хорошо разработанное очело, а ещё он знает сиподобные: Java, С++, JS - их следы у него уже под ногтями. 
    Затем это говно покинуло родные пенаты и прошло стажировку и устроилось работать в крупную фирму - разрабатывать скрипты. 
    Человек ебёт себе мозг над тем, что позже будет ебать мозг сотням и тысячам сотен других людей. Это и есть вершина самореализации?..
    
    ..И вот, теперь мне приходится учить новый язык, с чуждыми выражениями и синтаксисом, чтобы хоть как-то противостоять козням 
    Сатаны, которая опутала своими щупальцами весь рунет.
    
    p.s. Безмерно благодарен создателям MutationObserver!.. На базе этой хуеты можно разгуляться, пися блокировщики всякой хитрозадой рекламы.

    Является ли рекламный скрипт, ебущий мозг показом рекламы, - вредоносным ПО?

    doomginho, 17 Марта 2025

    Комментарии (0)
  3. C++ / Говнокод #29105

    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
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    // https://github.com/ggml-org/llama.cpp/blob/f4c3dd5daa3a79f713813cf1aabdc5886071061d/examples/simple/simple.cpp#L23
    
        // parse command line arguments
    
        {
            int i = 1;
            for (; i < argc; i++) {
                if (strcmp(argv[i], "-m") == 0) {
                    if (i + 1 < argc) {
                        model_path = argv[++i];
                    } else {
                        print_usage(argc, argv);
                        return 1;
                    }
                } else if (strcmp(argv[i], "-n") == 0) {
                    if (i + 1 < argc) {
                        try {
                            n_predict = std::stoi(argv[++i]);
                        } catch (...) {
                            print_usage(argc, argv);
                            return 1;
                        }
                    } else {
                        print_usage(argc, argv);
                        return 1;
                    }
                } else if (strcmp(argv[i], "-ngl") == 0) {
                    if (i + 1 < argc) {
                        try {
                            ngl = std::stoi(argv[++i]);
                        } catch (...) {
                            print_usage(argc, argv);
                            return 1;
                        }
                    } else {
                        print_usage(argc, argv);
                        return 1;
                    }
                } else {
                    // prompt starts here
                    break;
                }
            }
            if (model_path.empty()) {
                print_usage(argc, argv);
                return 1;
            }
            if (i < argc) {
                prompt = argv[i++];
                for (; i < argc; i++) {
                    prompt += " ";
                    prompt += argv[i];
                }
            }
        }

    Парсинг аргументов командной строки

    j123123, 16 Марта 2025

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

    0

    1. 1
    IT Оффтоп #213

    #183: https://govnokod.ru/28777 https://govnokod.xyz/_28777
    #184: https://govnokod.ru/28790 https://govnokod.xyz/_28790
    #185: https://govnokod.ru/28794 https://govnokod.xyz/_28794
    #186: https://govnokod.ru/28815 https://govnokod.xyz/_28815
    #187: https://govnokod.ru/28833 https://govnokod.xyz/_28833
    #188: https://govnokod.ru/28837 https://govnokod.xyz/_28837
    #189: https://govnokod.ru/28840 https://govnokod.xyz/_28840
    #190: https://govnokod.ru/28875 https://govnokod.xyz/_28875
    #191: https://govnokod.ru/28878 https://govnokod.xyz/_28878
    #192: https://govnokod.ru/28886 https://govnokod.xyz/_28886
    #193: https://govnokod.ru/28911 https://govnokod.xyz/_28911
    #194: https://govnokod.ru/28914 https://govnokod.xyz/_28914
    #195: https://govnokod.ru/28917 https://govnokod.xyz/_28917
    #196: https://govnokod.ru/28925 https://govnokod.xyz/_28925
    #197: https://govnokod.ru/28935 https://govnokod.xyz/_28935
    #198: https://govnokod.ru/28938 https://govnokod.xyz/_28938
    #199: https://govnokod.ru/28942 https://govnokod.xyz/_28942
    #200: https://govnokod.ru/28945 https://govnokod.xyz/_28945
    #201: https://govnokod.ru/28948 https://govnokod.xyz/_28948
    #202: https://govnokod.ru/28951 https://govnokod.xyz/_28951
    #203: https://govnokod.ru/28954 https://govnokod.xyz/_28954
    #204: https://govnokod.ru/28971 https://govnokod.xyz/_28971
    #205: https://govnokod.ru/28986 https://govnokod.xyz/_28986
    #206: https://govnokod.ru/28991 https://govnokod.xyz/_28991
    #207: https://govnokod.ru/29002 https://govnokod.xyz/_29002
    #208: https://govnokod.ru/29060 https://govnokod.xyz/_29060
    #209: https://govnokod.ru/29070 https://govnokod.xyz/_29070
    #210: https://govnokod.ru/29079 https://govnokod.xyz/_29079
    #211: https://govnokod.ru/29092 https://govnokod.xyz/_29092
    #212: https://govnokod.ru/29093 https://govnokod.xyz/_29093

    nepeKamHblu_nemyx, 15 Марта 2025

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

    −1

    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
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    #Область Работа_с_JSON
    //Функция ВыгрузитьНоменклатуруJSON()
    //Назначение: выгрузка номенклатуры в шину
    //Входящие параметры:
    // - ВходящиеДанные - таблица значений, заполненной информацией о номенклатуре
    // - ПараметрыПодключения - структура с описанием подключения к web-сервису
    //Возвращаемое значение:
    // Строка в формате JSON с описанием результата
    Функция ВыгрузитьНоменклатуруJSON(ВходящиеДанные, ПараметрыПодключения) Экспорт
    	//Формируем строку в формате JSON на основе входящих данных
    	Текст = Новый ТекстовыйДокумент();
    	Текст.ДобавитьСтроку("[");
    	Массив = Новый Массив;
    	Для к = 0 По ВходящиеДанные.Количество() - 1 Цикл
    		НоваяСтрока = Новый Структура("UID, Name, VC, Brand, Add, Barcode", 
    			ВходящиеДанные[к].UID, 
    			ВходящиеДанные[к].Name, 
    			ВходящиеДанные[к].VC,
    			ВходящиеДанные[к].Brand,
    			Новый Структура("Color, Size",
    				ВходящиеДанные[к].Color,
    				ВходящиеДанные[к].Size),
    			ВходящиеДанные[к].Barcode);
    		ЗаписьJSON = Новый ЗаписьJSON;
    		ЗаписьJSON.УстановитьСтроку();
    		ЗаписатьJSON(ЗаписьJSON, НоваяСтрока);
    		Строка = ЗаписьJSON.Закрыть();
    		Текст.ДобавитьСтроку(Строка);
    		Если к < ВходящиеДанные.Количество() - 1 Тогда
    			Текст.ДобавитьСтроку(",");
    		КонецЕсли;
    	КонецЦикла;
    	Текст.ДобавитьСтроку("]");
    	ПакетJSON = Текст.ПолучитьТекст();
    	ФайлСертификатКлиентаФайл = ПолучитьИмяВременногоФайла("pfx");
    	МакетСертификатКлиентаФайл = ПолучитьМакет("СертификатКлиентаФайл");
    	МакетСертификатКлиентаФайл.Записать(ФайлСертификатКлиентаФайл);
    	ЗащищенноеСоединениеOpenSSL = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаФайл(ФайлСертификатКлиентаФайл));
    	//Производим подключение к web-сервису.
    	//1) Создаем WSОпределение
    	Определение    		= Новый WSОпределения(ПараметрыПодключения.МестоположениеWSDLфайла, ПараметрыПодключения.Пользователь,  ПараметрыПодключения.Пароль,,,ЗащищенноеСоединениеOpenSSL);
    	//2) Создаем WSПрокси
    	Прокси      		= Новый WSПрокси(Определение, "http://SantOn", "SantOnApi", "SantOnApiSoap",,,ЗащищенноеСоединениеOpenSSL);
    	Прокси.Пользователь	= ПараметрыПодключения.Пользователь;
    	Прокси.Пароль		= ПараметрыПодключения.Пароль;
    	//Отправляем строку на обработку в функцию "FullLoadJs" web-сервиса
    	Попытка
    		РезультатОперации = Прокси.FullLoadJs(ПакетJSON);
    	Исключение
    		Сообщить(ОписаниеОшибки());
    		РезультатОперации = "";
    	КонецПопытки;
    	//Выход из функции и передача результата вызывающему методу
    	Возврат Новый Структура("РезультатОперации, ИсходныеДанные", РезультатОперации, ПакетJSON);
    КонецФункции

    Обработка сантехника онлайн

    evreybiysk, 12 Марта 2025

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

    0

    1. 1
    Пиздец-оффтоп #108

    #78: https://govnokod.ru/28730 https://govnokod.xyz/_28730
    #79: https://govnokod.ru/28736 https://govnokod.xyz/_28736
    #80: https://govnokod.ru/28740 https://govnokod.xyz/_28740
    #81: https://govnokod.ru/28750 https://govnokod.xyz/_28750
    #82: https://govnokod.ru/28779 https://govnokod.xyz/_28779
    #83: https://govnokod.ru/28788 https://govnokod.xyz/_28788
    #84: https://govnokod.ru/28795 https://govnokod.xyz/_28795
    #85: https://govnokod.ru/28808 https://govnokod.xyz/_28808
    #86: (vanished) https://govnokod.xyz/_28814
    #87: https://govnokod.ru/28817 https://govnokod.xyz/_28817
    #88: https://govnokod.ru/28836 https://govnokod.xyz/_28836
    #89: https://govnokod.ru/28843 https://govnokod.xyz/_28843
    #90: https://govnokod.ru/28874 https://govnokod.xyz/_28874
    #91: https://govnokod.ru/28880 https://govnokod.xyz/_28880
    #92: https://govnokod.ru/28884 https://govnokod.xyz/_28884
    #93: https://govnokod.ru/28889 https://govnokod.xyz/_28889
    #94: https://govnokod.ru/28895 https://govnokod.xyz/_28895
    #95: https://govnokod.ru/28904 https://govnokod.xyz/_28904
    #96: https://govnokod.ru/28912 https://govnokod.xyz/_28912
    #97: https://govnokod.ru/28918 https://govnokod.xyz/_28918
    #98: https://govnokod.ru/28932 https://govnokod.xyz/_28932
    #99: https://govnokod.ru/28936 https://govnokod.xyz/_28936
    #100: https://govnokod.ru/28940 https://govnokod.xyz/_28940
    #101: https://govnokod.ru/28949 https://govnokod.xyz/_28949
    #102: https://govnokod.ru/28978 https://govnokod.xyz/_28978
    #103: https://govnokod.ru/28982 https://govnokod.xyz/_28982
    #104: https://govnokod.ru/28989 https://govnokod.xyz/_28989
    #105: https://govnokod.ru/29052 https://govnokod.xyz/_29052
    #106: https://govnokod.ru/29069 https://govnokod.xyz/_29069
    #107: https://govnokod.ru/29086 https://govnokod.xyz/_29086

    nepeKamHblu_nemyx, 11 Марта 2025

    Комментарии (170)
  7. Си / Говнокод #29101

    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
    typedef struct ll_node
    {
      struct ll_node *prev;
      struct ll_node *next;
      int val;
    } ll_node;
    
    ll_node a;
    ll_node b;
    ll_node c = {&a, &b,3};
    
    // не работает
    a.next = &b;
    a.prev = &c;
    
    b.next = &c;
    b.prev = &a;
    
    /*
    c.next = &a;
    c.prev = &b;
    */
    
    // зато так работает:
    ll_node arr[3] = {
      {&arr[2], &arr[1],1},
      {&arr[0], &arr[2],2},
      {&arr[1], &arr[0],3}
    };

    Кольцевой двусвязный список.

    j123123, 10 Марта 2025

    Комментарии (51)
  8. Си / Говнокод #29100

    +1

    1. 1
    Почему при таком обилии языков программирования ассемблер не уходит в туман?

    К нему возвращаются опять и опять, и, что удивительно, тем чаще, чем язык высокоуровневей.

    Напоминает попытки быдла бросить курить.

    KPblCA, 08 Марта 2025

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

    +1

    1. 1
    2. 2
    ...Когда между газовой трубой и стеной можно засунуть банан - разве можно удивляться, что в квартира посещаема зверушками?
    Какие коммуникации - такой и софт. Как жаль, что крысу нельзя перевести в байткод...

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

    KPblCA, 08 Марта 2025

    Комментарии (0)
  10. Си / Говнокод #29098

    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
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    // https://godbolt.org/z/f4s13WEWM
    
    #include <inttypes.h>
    
    int test(uint32_t a, uint32_t b)
    {
      if (a > b)
        return a+b;
      return a*b;
    }
    
    int test2(uint32_t a, uint32_t b)
    {
      return (a+b)*(a > b) | (a*b)*!(a > b);
    }
    
    int test3(uint32_t a, uint32_t b)
    {
      return
        ((a+b) & (uint32_t)(!(a > b) - 1)) |
        ((a*b) & (uint32_t)((a > b) - 1));
    }
    
    int test4(uint32_t a, uint32_t b)
    {
      const uint32_t arr[2] = {a+b, a*b};
      return arr[!(a > b)];
    }
    
    /* ASM output
    test:
            bltu    a1, a0, .LBB0_2
            mul     a0, a1, a0
            ret
    .LBB0_2:
            add     a0, a0, a1
            ret
    
    test2:
            bltu    a1, a0, .LBB1_2
            mul     a0, a1, a0
            ret
    .LBB1_2:
            add     a0, a0, a1
            ret
    
    test3:
            bltu    a1, a0, .LBB2_2
            mul     a0, a1, a0
            ret
    .LBB2_2:
            add     a0, a0, a1
            ret
    
    test4:
            addi    sp, sp, -16
            add     a2, a1, a0
            mul     a3, a1, a0
            sltu    a0, a1, a0
            sw      a2, 8(sp)
            sw      a3, 12(sp)
            xori    a0, a0, 1
            slli    a0, a0, 2
            addi    a1, sp, 8
            add     a0, a0, a1
            lw      a0, 0(a0)
            addi    sp, sp, 16
            ret
    */

    Наглядная демонстрация того, что компилятор может насрать на ваши попытки заставить его сгенерить branchless машинный код. Получилось это только в "test4"

    j123123, 07 Марта 2025

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