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

    0

    1. 1
    php.net/manual/ru/book.runkit.php

    Век живи, век удивляйся PHP

    dm_fomenok, 17 Февраля 2018

    Комментарии (23)
  2. PHP / Говнокод #23798

    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
    // http://www.compiler.su/prodolzhenie-tsikla-i-vykhod-iz-nego.php
    // В PHP выход из вложенного цикла выглядит, на мой взгляд, значительно элегантнее. После «break» указывается количество вложенных циклов, которые должен «покинуть» оператор «break». В приведённом примере, который аналогичен приведённому выше для Java, «break» должен «пересечь» две фигурные скобки «}», чтобы оказаться за пределами двух циклов.
    
    for($i=0; $i < $Imax; ++$i)
    {
       // ...
       for($j=0; $j < $Jmax; ++$j)
       {
          // ...
          if(условие) 
              break 2;
          // ...
       }
       // ...
    }

    Интересно, а почему б нечто подобное не сделать для функций? Ну например есть функция a() которая вызывает функцию b() которая вызывает функцию c(), которая вызывает функцию d(), и например в функции d() чтоб сделать особый return_3, который бы вернул управление на три уровня вниз, сразу в функцию a()? Хотя не, хуйня, надо ведь еще знать, какой там тип возвращается в функцию a() из функции b().
    То ли дело ассемблер. Можно тупо отмотать стек в нужное место

    j123123, 16 Февраля 2018

    Комментарии (64)
  3. JavaScript / Говнокод #23797

    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
    Promise.resolve().then(async () => {
        await f();
    }).catch(e => console.log('Popalsa pidrila!'));
    
    async function f(){
        await n();
    }
    
    function n() {
        Promise.reject('pidrila');
    }
    
    process.on('unhandledRejection', error => {
        console.log('oxyel!', error);
      });

    mazhuravlev, 16 Февраля 2018

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

    0

    1. 1
    2. 2
    Говносток
    http://b.gcode.cx/

    syoma, 16 Февраля 2018

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

    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
    https://www.google.de/search?q=случайное+фио
    https://names-generator.ru/
    
        Кудряшова Екатерина Митрофановна
        Ширяев Константин Куприянович
        Тетерина Венера Максимовна
        Калинина Лора Михаиловна
        Осипова Кира Валентиновна
        Абрамова Ираида Григорьевна
        Игнатьев Эдуард Николаевич
        Мухина Оксана Филатовна
        Дьячков Вадим Вячеславович
        Мишин Владлен Лукьевич

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

    syoma, 15 Февраля 2018

    Комментарии (17)
  6. JavaScript / Говнокод #23792

    0

    1. 1
    youtu.be/HdMQqycXi6U?t=13

    Breaking news: найдены уникальные кадры создателя JavaScript в школьные годы.

    dm_fomenok, 15 Февраля 2018

    Комментарии (4)
  7. JavaScript / Говнокод #23791

    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
    setInterval(function(){
    jQuery.get('/comments', function(response){
    var html=jQuery(response);
    var breaked=false;
    jQuery.each(html.find('.hentry'), function(){
    if(!breaked){
    var entry=jQuery(this);
    var username=jQuery.trim(entry.find('.entry-author').first().text());
    var comment=jQuery.trim(entry.find('.entry-comment').first().text());
    if(username!='g0_1494089147006' && username!=''){
    breaked=true;
    var link=jQuery.trim(entry.find('.answer').first().attr('href'));
    jQuery.get(link, function(response2){
    var html2=jQuery(response2);
    var form2=html2.find('form').first().serialize();
    jQuery.post('https://localhost/gkwordanalyzer/wanal.php', 'q='+encodeURIComponent(comment), function(response3){
    if(jQuery.trim(response3)==''){ response3='Трижды остоебу.'; }
    jQuery.post(link, form2+'&text='+encodeURIComponent(response3));
    });
    });
    }
    }
    });
    });
    }, 5000);

    g0_1494089147006, 15 Февраля 2018

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    Пришла в голову интересная идея. В говнокодике символы для капчи
    генерируются через mt_rand, почему бы нам не устроить атаку по времени?
    Если сделать так, что бы запрос дошёл именно в нужное время, то можно
    будет угадать всю цепочку значений mt_rand. Или нет?

    dm_fomenok, 14 Февраля 2018

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

    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
    78. 78
    79. 79
    <?php
    error_reporting(0);
    ini_set('display_errors', '0');
    mb_internal_encoding('UTF-8');
    header('Access-Control-Allow-Origin: *');
    function str_replace_first($from, $to, $subject){
    $from='/'.preg_quote($from, '/i').'/';
    return preg_replace($from, $to, $subject, 1);
    }
    require_once('morphy/src/common.php');
    $opts=array(
    'storage'=>PHPMORPHY_STORAGE_MEM,
    'predict_by_suffix'=>true, 
    'predict_by_db'=>true,
    'graminfo_as_text'=>true
    );
    $dir='morphy/dicts';
    $lang='ru_RU';
    try{
    $morphy=new phpMorphy($dir, $lang, $opts);
    }catch(phpMorphy_Exception $e){
    die('Error occurred while creating phpMorphy instance: '.PHP_EOL.$e);
    }
    $morphy->getDefaultGrammemsProvider()->excludeGroups('С', 'род');
    $wanal=array();
    $wanal['p']=explode(' : ', file_get_contents('wanal_p.txt'));
    $wanal['s']=explode(' : ', file_get_contents('wanal_s.txt'));
    $wanal['g']=explode(' : ', file_get_contents('wanal_g.txt'));
    shuffle($wanal['p']);
    shuffle($wanal['s']);
    shuffle($wanal['g']);
    $current_wanal=$wanal;
    $string=trim($_GET['q']);
    $modified_comment=$string;
    preg_match_all('/(\w+)/u', str_replace('_', '', $string), $matches);
    $words=$matches[1];
    foreach($words as $word){
    if(mb_strtoupper($word)=='НАХУЙ' || mb_strtoupper($word)=='ХУЙ' || mb_strtoupper($word)=='ТУТ'){
    continue;
    }
    $info=$morphy->getGramInfo(mb_strtoupper($word));
    $type='';
    if(trim($info[0][0]['pos'])=='П'){
    $type='p';
    }
    if(trim($info[0][0]['pos'])=='С'){
    $type='s';
    }
    if(trim($info[0][0]['pos'])=='Г' || trim($info[0][0]['pos'])=='ИНФИНИТИВ'){
    $type='g';
    }
    if($type!=''){
    $replacement=trim($current_wanal[$type][array_rand($wanal[$type])]);
    if($replacement!=''){
    $casted=$morphy->castFormByPattern(mb_strtoupper($replacement), mb_strtoupper($word), null, true);
    if(count($casted)>0){
    $replacement=reset($casted);
    if(md5(mb_substr($word, 0, 1))==md5(mb_strtolower(mb_substr($word, 0, 1)))){
    $replacement=mb_strtolower($replacement);
    } elseif(md5(mb_strtoupper($word))==md5($word)){
    $replacement=mb_strtoupper($replacement);
    } elseif(md5(mb_substr($word, 0, 1))==md5(mb_strtoupper(mb_substr($word, 0, 1)))){
    $replacement=mb_convert_case(mb_strtolower($replacement), MB_CASE_TITLE);
    }
    $modified_comment=str_replace_first($word, $replacement, $modified_comment);
    $base=$morphy->getBaseForm(mb_strtoupper($word));
    if($base){
    $wanal[$type][]=mb_strtoupper($base[0]);
    $wanal[$type]=array_filter(array_unique($wanal[$type]));
    }
    }
    }
    }
    }
    file_put_contents('wanal_p.txt', implode(' : ', $wanal['p']));
    file_put_contents('wanal_s.txt', implode(' : ', $wanal['s']));
    file_put_contents('wanal_g.txt', implode(' : ', $wanal['g']));
    echo $modified_comment;
    ?>

    Какой-то такой модификатор чужих комментариев на основе ещё более ранних комментариев.

    g0_1494089148657, 14 Февраля 2018

    Комментарии (115)
  10. Perl / Говнокод #23788

    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
    #!/usr/bin/env perl
    
    use strict;
    use warnings;
    use utf8;
    use diagnostics;
    
    use LWP;
    use LWP::UserAgent;
    use HTTP::Request;
    use HTTP::Response;
    use JSON;
    use HTML::TreeBuilder;
    use HTML::FormatText;
    
    my $ua = LWP::UserAgent->new();
    $ua->agent('advice/0.9');
    
    my $uri = 'http://fucking-great-advice.ru/api/random';
    
    my $request = HTTP::Request->new('GET', $uri);
    my $response = $ua->request($request);
    my $content = from_json($response->content(), {utf8 => 1});
    
    binmode(STDOUT, ':utf8');
    my $tree = HTML::TreeBuilder->new->parse_content($content->{'text'});
    
    my $formatter = HTML::FormatText->new(leftmargin => 0, rightmargin => 50);
    print $formatter->format($tree);

    Пользуйтесь на здоровье

    Elvenfighter, 14 Февраля 2018

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