1. PHP / Говнокод #24117

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $i = -1;
            foreach ( $jsonLogger->pvfMedia as $item) {
                $i++;
                if ($jsonLogger->pvfMedia[$i]->pvfConent){
                    $jsonLogger->pvfMedia[$i]->pvfConent = 'BAKED_CONTENT';
                }
            }

    foreach ( $jsonLogger->pvfMedia as $key=>$item) {.... - это не наш метод :)

    miklblitz, 12 Апреля 2018

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

    +2

    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
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    #include "stdafx.h"
    #include <fstream>
    #include <iostream>
    using namespace std;
    int isMax(char mask[], int num, char in[]);        //Функция проверки символа
    int main(int argc, char* argv[])
    {
        if (argc == 1) {
            cout << "Use PasswordGenerator [Mask] [quantity of passwwords] [Path to file]\n";        //Проверка входных параметров
            return 1;
        }
        ofstream out;            //Выходной файл
        out.open(argv[3]);        //Открываем файл с именем которое ввел пользователь
        int len = 0;                    //Длина пароля
        char mask[1024] = "hll";       //Маска пароля
        char buff[1024] = { 0 };        //Буфер под пароль
        double quant = 0;                //Количество паролей в выходном файле
        strcpy_s(mask, argv[1]);        //копируем маску введённую пользователем
        len = strlen(mask);                //Узнаем длину
        for (int ii = 0; ii < len; ii++) {
            if ((mask[ii]= 'l') && (mask[ii]= 'h')&& (mask[ii]= 'n')) {           //Проверка маски на корректность
                cout << "Mask can be l h n\n";                                        //Маска может содержать только: l маленькие латинские буквы; h большие латинские буквы; n цифры
                    return 2;
            }
        }
        quant = atoi(argv[2]);                      //Запоминаем количество комбинаций
        if (quant == 0) {                           //Если пользователь ввел "0"
            quant = 1;                                //То считаем все возможные комбинации
            for (int ii = 0; ii < len; ii++) {         
                switch (mask[ii])
                {
                case 'l': quant *= 26; break;       //26 - количество возможных букв
                case 'h': quant *= 26; break;
                case 'n': quant *= 10; break;       //10 - количество возможных цифр
                default:
                    break;
                }
            }
        }
        int ii = 0;        //Нужная переменная
        for (ii = 0; ii < len; ii++) {               //Тут создается стартовая комбинация
    
            switch (mask[ii])                        //Например для nnllh будет 00aaA
            {
            case 'l': buff[ii] = 'a'; break;
            case 'h': buff[ii] = 'A'; break;
            case 'n': buff[ii] = '0'; break;
                default:
                    break;
            }
        }
        ii++;
        buff[ii] = '\0';                            //Добавляем маркер конца строки
        double flagc = quant / 10;                  //Константа для поиска процента завершения
        double flag = flagc;                        //Переменная процента завершения
        int per = 1;                                //Множитель процента
        for ( ii = 0; ii < quant; ii++) {                                   //Основной цикл
            out << buff << endl;                                            //Сохраняем пароль в файл
            if (ii >= flag) {                        //Если программа завершила 10%
                cout << per * 10 << "%\n";           //Выводим проценты
                per++;
                flag += flagc;
            }
            for (int ii = len - 1; ii >= 0; ii--) {                        //начинаем посимвольный перебор с конца строки
                if (isMax(mask, i, buff) == 1) {                           //Если встречаем последний возможный символ в данной позиции, то меняем его на стартовый
                    switch (mask[ii])
                   {
                    case 'l': if (buff[ii] == 'z')buff[ii] = 'a'; break;
                    case 'h': if (buff[ii] == 'Z')buff[ii] = 'A'; break;
                    case 'n': if (buff[ii] == '9')buff[ii] = '0'; break;
                  default:
                        break;
                    }
                    continue;    //Переход в следующую итерацию цикла
                }
                buff[ii] +=1;     //Сама инкрементация пароля
                break;            //Конец внутреннего цикла
            }
    }
        return 0;
    }
    int isMax(char mask[], int num, char in[]){
        switch (mask[num])
        {
    case 'l': if (in[num] == 'z')return 1; else return 0;            //Если символ последний, то возвращаем "1", в противном случае "0"
        case 'h': if (in[num] == 'Z')return 1; else return 0;
        case 'n': if (in[num] == '9')return 1; else return 0;
        default:
            break;
        }
    }

    Простой генератор паролей на C++
    https://codeby.net/forum/threads/prostoj-generator-parolej-na-c.61639/

    lolka, 11 Апреля 2018

    Комментарии (6)
  3. Си / Говнокод #24110

    +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
    56. 56
    57. 57
    58. 58
    #include <stdio.h>
    #include <string.h>
    #include <sodium.h>
    #include <stdlib.h>
    #include <unistd.h>
    
    void reverse(char s[]);
    void itoa(int n, char s[]);
    
    int main()
    {
    	if(sodium_init() < 0) {
    		printf("Паника! Библиотека не может быть инициализирована, небезопасно использовать.\n");
    		return 1;
    	}
    
    	#define STR_LEN 30
    	char str[STR_LEN];
    	
    	for(unsigned long i = 0; i < STR_LEN; ++i) {
    		if(randombytes_uniform(2) == 0)
    			str[i] = 48;
    		else
    			str[i] = 49;
    	}
    	
    	printf("%s\n", str);
    	while(1) {
    		for (unsigned long i = 0; i < strlen(str); i+=2)
    		{
    			if(str[i] == '0' && str[i+1] == '0' && str[i+2] == '0')
    				str[i+1] = '1';
    			else if(str[i] == '1' && str[i+1] == '0' && str[i+2] == '0')
    				str[i] = '0', str[i+2] = '1';
    			else if(str[i] == '1' && str[i+1] == '0' && str[i+2] == '0')
    				str[i+2] = '1', str[i] = '0';
    			else if(str[i] == '1' && str[i+1] == '1' && str[i+2] == '1')
    				str[i+1] = '0', str[i] = '0';
    			else if(str[i] == '0' && str[i+1] == '1' && str[i+2] == '1')
    				str[i] = '1';
    			else if(str[i] == '1' && str[i+1] == '0' && str[i+2] == '1')
    				str[i] = '0', str[i+1] = '1';
    			else if(str[i] == '0' && str[i+1] == '0' && str[i+2] == '1')
    				str[i] = '1', str[i+1] = '1', str[i+2] = '0';
    			else if(str[i] == '0' && str[i+1] == '1' && str[i+2] == '0')
    				str[i+2] = '1';
    			else if(str[i] == '1' && str[i+1] == '1' && str[i+2] == '1')
    				str[i] = '0', str[i+2] = '0';
    			else if(str[i] == '1' && str[i+1] == '1' && str[i+2] == '0')
    				str[i+1] = '0';
    
    		}
    		printf("%s\n", str);
    		sleep(1);
    	}
    
    	return 0;
    }

    10 простых правил и бесконечный вывод триллиардов иттерация которые никогда не кнчатся! ЭТО НОНСЕНС

    fuckercoder, 11 Апреля 2018

    Комментарии (15)
  4. PHP / Говнокод #24108

    −6

    1. 1
    echo "Свет истины!";

    Дабы пролить свет истины на ваши слепы очи, я скажу что по факту ПХП самый уебанский язык на свете и больше всего подвергался разного рода хакам, из-за его уёбищности были потеряны миллиарды долларов компаний и посажено миллионы хакеров! Ruby пизже и такого не было, nodejs пиздат и такого не предвидется, python тоже крут и сложно взломать

    fuckercoder, 11 Апреля 2018

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

    −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
    var data = { //Списочек с русскими названиями
            "Рыбы": {
              "Форель": {},
              "Щука": {}
            },
    
            "Деревья": {
              "Хвойные": {
                "Лиственница": {},
                "Ель": {}
              },
              "Цветковые": {
                "Берёза": {},
                "Тополь": {}
              }
            }
          };
    
          function createTree(container, data) { // Создание списка из объекта
            let mainUL = document.createElement('ul'); //Начало списка
    
            let findLI = function(item, UL) { //рекурсивная функция
              for(let k in item) { //перебор
                let LI = document.createElement('li'); //Новый элемент списка
                LI.textContent = k; //Устанавливаем текст элементу
                UL.appendChild(LI); //Добавляем элемент в список
                if(Object.keys(item[k]).length > 0) { //Есть ли там ещё элементы?
                  let newUl = document.createElement('ul'); //Новый список
                  UL.appendChild(newUl); //Фигачим его в список
                  findLI(item[k], newUl); //Тут мы посылаем ссылку поэтому всё робит
                }
              }
            }
            findLI(data, mainUL); //ищем все элементы
    
            container.appendChild(mainUL); //добавляем в контейнер список (в конец)
          }
    
          var container = document.getElementById('container'); //ищем контейнер
          createTree(container, data); // создаём спсиок

    Комментатор 80-го уровня.
    Жду ваших комментариев ублюдки!

    fuckercoder, 11 Апреля 2018

    Комментарии (7)
  6. Python / Говнокод #24102

    −2

    1. 1
    2. 2
    3. 3
    editText_url = tk.Entry(root)
    editText_url.bind(SEQ_FOCUS_IN, lambda e: editText_url.delete('0', 'end') if editText_url.get() == url_placeholder else "")
    editText_url.bind(SEQ_FOCUS_OUT, lambda e: editText_url.insert(0, url_placeholder) if len(editText_url.get()) == 0 else "")

    В tkinter нет EditText с плейсхолдером, выкручиваемся как можем!
    А еще в лямбде нельзя использовать if, зато можно тернарный оператор. `else` здесь беесполезен~

    saber-nyan, 10 Апреля 2018

    Комментарии (25)
  7. C++ / Говнокод #24098

    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
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    #include "stdafx.h"
    #include<iostream>
    #include<map>
    #include<set>
    #include<string>
    #include<fstream>
    #include<iomanip>
    #include<algorithm>
    //#include<algorithm>
    using namespace std;
    int main()
    {
    	
    	setlocale(LC_ALL, "Russian");
    	multimap<string, int> mp;
    	multimap<string, int>::iterator it;
    	multimap<string, int>::iterator mit;
    	pair<multimap<string,int>::iterator, multimap<string, int>::iterator> pt;
    	set<int>nset;
    
    	string word;
    	char c = ' ';
    	
    
    	char s[256];
    	fstream inOut;
    	inOut.open("text.txt", ios::in);
    	for (int i = 1; i < 500; i++) {
    		inOut.getline(s, 256);
    	
    		char* pch;
    		pch = strtok(s, " ,-:");
    		while (pch != NULL) {
    			word = string(pch);
    			transform(word.begin(), word.end(), word.begin(), ::tolower);
    			mp.insert(pair <string, int>(word, i));
    			//cout « pch «'\t'«i« endl;
    			pch = strtok(NULL, " ,-:");
    		}
    	}
    	inOut.close();
    
    
    
    
    
    	set<string>set;
    
    	string tmp;
    
    	for (mit = mp.begin(); mit != mp.end(); mit++) {
    		tmp = (*mit).first;
    		if (set.find(tmp) != set.end()) {
    			continue;
    		}
    		else {
    
    			set.insert(tmp);
    			cout<<setw(15) << tmp << '\t';
    			pt = mp.equal_range(tmp);
    			
    			for (it = pt.first; it != pt.second; ++it) {
    				nset.insert(it->second);
    				
    			}
    			//cout << nset.size() << "     ";
    			for (it = pt.first; it != pt.second; ++it) {
    				
    				cout << it->second << ' ';
    			}
    			nset.clear();
    			cout << endl;
    		}
    	}
    	system("pause");
    	return 0;
    }

    Программа считывает слова сортирует и выдаёт все номера строк где данное слово встречается

    ArthurMakaev, 10 Апреля 2018

    Комментарии (68)
  8. C++ / Говнокод #24094

    −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
    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
    70. 70
    71. 71
    72. 72
    #include <iostream>
    #include <string>
    #include <sstream>
    #include <string.h>
    #include <stdlib.h>
    
    typedef std::ios_base& sibr;
    typedef sibr (*StringType)(sibr);
    
    int atoi_hod(const char a[], short int *offset) 
    {
    	short int numtype = (a[0]== '0')+((a[1]=='x')||(a[1]=='X'));
        StringType st;
        *offset = 0;
        while(a[*offset]&&a[*offset]!='.') (*offset)=(*offset)+1;
        switch (numtype)
        {
    		case 0:
    		  st = std::dec;
    		break;
    		case 1:
    		  st = std::oct;
    		break;
    		case 2:
    		  st = std::hex;
    		break;		
    	}
        int u;
        std::istringstream(a)>>st>>u;    
    	return u;
    }
    
    bool isIpv4String(const std::string &str)
    {
    	size_t size = str.length();
    	bool result = size!=0;
    	if(result)
    	{
    		const char *c_str = str.c_str();
    		unsigned long int i = 0;
    		char sym;
    		do
    		{
    			sym = c_str[i++];
    			result = sym=='.'||(sym>='0'&&sym<='9')||!sym||(sym>='a'&&sym<='f')||(sym>='A'&&sym<='F')||sym=='x'||sym=='X';
    				
    		}
    		while (sym&&result);
    		i = 0;
    		short int dotsOrTerm = 0, numbers = 0, offset; 
    		while (result&&i<size) 
    		{
    			int n = atoi_hod(&c_str[i], &offset);
    			result = n<256;
    			numbers += result; 
    			i += offset;
    			result = result&&(c_str[i]=='.'||!c_str[i]);
    			i+=result;
    			dotsOrTerm += result; 			
    		}
    		result = (dotsOrTerm == 4)&&(numbers == 4);		
    	}
    	return result;
    }
    
    int main() 
    {
    	std::string adress;
    	std::cin>>adress;
    	std::cout<<(isIpv4String(adress)?"TRUE":"FALSE")<<std::endl;
    	return 0;
    }

    По мотивам ГК #24055, наконец-то руки дошли.

    Psionic, 09 Апреля 2018

    Комментарии (3)
  9. PHP / Говнокод #24093

    −5

    1. 1
    $this->types = array_keys(ArrayHelper::map($types, 'id', 'id'));

    В проекте на Yii2

    rama, 09 Апреля 2018

    Комментарии (11)
  10. Куча / Говнокод #24091

    0

    1. 1
    2. 2
    3. 3
    Кстати насколько я помню во многих (возможно и во всех - не знаю) языках рекурсии имеют ограничения по вложенности или как там называется.
    Насколько я помню многие программы или как там их, удаляют рекурсивно.
    Следовательно: Можно ли наебнуть?

    Я тупой

    3oJIoTou_xyu, 08 Апреля 2018

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