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

    +2

    1. 1
    https://habrahabr.ru/post/280121/

    RestAPI в 2016 году. Отсосите, любители фреймворков и оттестированных библиотек

    loki90, 24 Марта 2016

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

    +8

    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
    public static bool IsObjectIs<T>(object o)
    {
        if (o == null)
            return false;
    
        try
        {
            object b = (T)o;
            return true;
        }
        catch
        {
            return false;
        }
    }

    Такая вот реализация c# оператора 'is'

    lonkimonki, 24 Марта 2016

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

    +7

    1. 1
    http://miryanka.ru/frame.js

    Интернет-магазин православной одежды Мирянка. Православный скрипт и конструкции вида
    function ПреобразоватьМесяцИзСХислаВСтроку(Месяц)

    loki90, 24 Марта 2016

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

    +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
    document.getElementById('order').addEventListener('submit', function(e){
      document.getElementById('order').addEventListener('keyup', function(e){
          var appBtns = document.getElementsByClassName('btn'), i;
          for (var i = 0; i < appBtns.length; i ++)
            appBtns[i].style.disabled = false;
          form.submit.disabled = false;
      });
      var appBtns = document.getElementsByClassName('btn'), i;
      for (var i = 0; i < appBtns.length; i ++)
        appBtns[i].style.disabled = true;
      form.submit.disabled = true;
    });

    без комментариев

    vestnik, 24 Марта 2016

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

    −3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    // if too many vertices, start a new mesh;
                if (vertices.length > 65000) {
                    // finalize the old mesh	
                    mesh.triangles = triangles;
                    mesh.vertices = vertices;
                    mesh.colors = colors;
                    mesh.computeWireframe();
                    mesh.computeNormals();
    
                    if (mesh.vertices.length) {
                        meshes.push(mesh);
                    }

    не добавляем пустые меши, нафиг они нам

    makc3d, 23 Марта 2016

    Комментарии (8)
  6. PHP / Говнокод #19684

    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
    <?php
      header('Content-Type: text/plain;'); //Мы будем выводить простой текст
      set_time_limit(0); //Скрипт должен работать постоянно
      ob_implicit_flush(); //Все echo должны сразу же отправляться клиенту
      $address = 'localhost'; //Адрес работы сервера
      $port = 1985; //Порт работы сервера (лучше какой-нибудь редкоиспользуемый)
      if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) < 0) {
        //AF_INET - семейство протоколов
        //SOCK_STREAM - тип сокета
        //SOL_TCP - протокол
        echo "Ошибка создания сокета";
      }
      else {
        echo "Сокет создан\n";
      }
      //Связываем дескриптор сокета с указанным адресом и портом
      if (($ret = socket_bind($sock, $address, $port)) < 0) {
        echo "Ошибка связи сокета с адресом и портом";
      }
      else {
        echo "Сокет успешно связан с адресом и портом\n";
      }
      //Начинаем прослушивание сокета (максимум 5 одновременных соединений)
      if (($ret = socket_listen($sock, 5)) < 0) {
        echo "Ошибка при попытке прослушивания сокета";
      }
      else {
        echo "Ждём подключение клиента\n";
      }
      do {
        //Принимаем соединение с сокетом
        if (($msgsock = socket_accept($sock)) < 0) {
          echo "Ошибка при старте соединений с сокетом";
        } else {
          echo "Сокет готов к приёму сообщений\n";
        }
        $msg = "Hello!"; //Сообщение клиенту
        echo "Сообщение от сервера: $msg";
        socket_write($msgsock, $msg, strlen($msg)); //Запись в сокет
        //Бесконечный цикл ожидания клиентов
        do {
          echo 'Сообщение от клиента: ';
          if (false === ($buf = socket_read($msgsock, 1024))) {
            echo "Ошибка при чтении сообщения от клиента";       }
          else {
            echo $buf."\n"; //Сообщение от клиента
          }
          //Если клиент передал exit, то отключаем соединение
          if ($buf == 'exit') {
            socket_close($msgsock);
            break 2;
          }
          if (!is_numeric($buf)) echo "Сообщение от сервера: передано НЕ число\n";
          else {
            $buf = $buf * $buf;
            echo "Сообщение от сервера: ($buf)\n";
          }
          socket_write($msgsock, $buf, strlen($buf));
        } while (true);
      } while (true);
      //Останавливаем работу с сокетом
      if (isset($sock)) {
        socket_close($sock);
        echo "Сокет успешно закрыт";
      }
    ?>

    HiNeX, 23 Марта 2016

    Комментарии (62)
  7. Куча / Говнокод #19683

    −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
    // POST /login
    exports.login = function login(req, res) {
        var email = req.body.email;
        var password = req.body.password;
    
        security.rateLimitRequest( 'reset', req, function( err ) {
            if ( err )
                return res.status( 400 ).send( err );
            db.Account.find({email: email, password: password}, function(err, account) {
                if ( err )
                    return res.status( 400 ).send( err );
                account.getAccountStatistics(account, function(err, account) {
                    if ( err )
                        return res.status( 400 ).send( err );
                    account.incrementAccountLoginCount(account, function(err) {
                        if ( err )
                           return res.status( 400 ).send( err );
                        res.send(account);
                    });
                });
            });
        });
    });

    У меня радость во все поля:

    // POST /login
    exports.login = function *login() {
    var email = req.body.email;
    var password = req.body.password;

    try
    {
    // Throws an error if rate limit exceeded
    yield security.rateLimitRequest( 'reset', req );

    // Query MongoDB for account
    var account = yield db.Account.find({email: email, password: password});
    account.statistics = yield account.getAccountStatistics(account);

    // Increment login count
    yield account.incrementAccountLoginCount(account);

    this.body = account;
    }
    catch( err ) {
    // Return the error as JSON
    return res.status( 400 ).send( err );
    }
    });

    LispGovno, 23 Марта 2016

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

    +10

    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
    #define class KOKOKO
    #include <sys/shutdown.h>
    #undef class
    
    /* внутри sys/shutdown.h:
    
    typedef struct
    {
        uint64_t start_time;
        pid_t pid;
        int8_t class;
        uint8_t padding[3];
        char *name;
    } ProcessInfo_t;
    */

    перезагружаем qnx neutrino из крестового кода

    Xom94ok, 22 Марта 2016

    Комментарии (26)
  9. JavaScript / Говнокод #19678

    0

    1. 1
    [][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]((![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]+(![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]]+[+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]])()

    JSF*ck - http://www.jsfuck.com/.

    ЗЫ http://blog.checkpoint.com/2016/02/02/ebay-platform-exposed-to-severe-vulnerability/ - санитация ввода в ж.

    Dummy00001, 22 Марта 2016

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

    −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
    (* basic power axiom
    safe_comp_power x y =
        case
            (x = 0) and (y <> 0) -> 1
            (x = 1) -> x
            ((x <> 0) and (y >= 0)) or ((x = 0) and (y > 0)) -> x * (safe_comp_power x (y - 1))
    *)
    
    logic safe_comp_pow : int, int -> int
    
    axiom safe_comp_pow_int_A_1 : forall x : int. (x <> 0) -> safe_comp_pow(x, 0) = 1
    
    axiom safe_comp_pow_int_A_2 : forall x : int. safe_comp_pow(x, 1) = x
    
    axiom safe_comp_pow_int_A_3 : forall x,y : int. ((x <> 0) and (y >= 0)) or ((x = 0) and (y > 0)) -> safe_comp_pow(x, y) = x*(safe_comp_pow(x,y-1))
    
    
    goal g_1 :
      forall a,n : int.
      a <> 0 -> n >= 0 ->
      safe_comp_pow(a,n+1) = safe_comp_pow(a,n)*a

    Язык для SMT солвера alt-ergo https://alt-ergo.ocamlpro.com/try.php . Аксиомы для возведения в степень. Возводить в отрицательную степень нельзя. Ноль в степени ноль - нельзя. Логика первого порядка. Должна быть справедлива для целых. Правда в одной аксиоме я допустил баг. Я его уже нашел. Можете тоже попробовать найти его

    j123123, 22 Марта 2016

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