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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    // nullable types
    // C#
    int?
    // TypeScript
    int?
    // Kotlin
    int?
    // PHP
    ?int

    нет мочи терпеть это дерьмо

    Fike, 19 Ноября 2017

    Комментарии (37)
  2. Java / Говнокод #23554

    +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
    driver_fire.manage().timeouts().implicitlyWait(4, TimeUnit.SECONDS);
            wait=new WebDriverWait(driver_fire,10);      
            driver_fire.navigate().to("http://www.mysite.com");
    
            LoginForm2 loginForm2 = PageFactory.initElements(driver_fire, LoginForm2.class);
            loginForm2.logIn("login", "password");
    wait.until((WebDriver d)->d.manage().getCookieNamed("user_id")).getValue(); // if we have this cookie, we have a logged in session
    
    // реализация класса формы логина
    public class LoginForm2 {
    
        @FindBy(css="div.log-in#log-in")
        private WebElement loginForm;
    
        @FindBy (css=".login")
        private WebElement invoke_button;
    
        WebDriverWait wait;
        WebDriver driver;
    
        public LoginForm2(WebDriver driver){
           driver.manage().timeouts().implicitlyWait(0,TimeUnit.SECONDS);
            this.driver = driver;
            wait = new WebDriverWait(driver,60);
        }
    
    private boolean checkCaptha() {
        try {
            WebElement captcha = loginForm.findElement(By.cssSelector("#newLoginForm iframe"));
            driver.switchTo().frame(captcha);
    
            try {
    wait.until(ExpectedConditions.attributeToBe(By.id("recaptcha-anchor"),"aria-checked","true"));
                System.out.println("Passed captcha");
                driver.switchTo().defaultContent(); 
                return true;
            } catch (TimeoutException e) {
                System.out.println("Too long to wait for captcha");   return false;
            }
    
        } catch (NoSuchElementException e) {
    System.out.println("No captcha )"); return true;
        }
     }
    
     public void logIn(String email, String password)
     {
         wait.until(ExpectedConditions.visibilityOf(invoke_button)).click();
         wait.until(ExpectedConditions.visibilityOf(loginForm));
         loginForm.findElement(By.name("name")).sendKeys(email);
         loginForm.findElement(By.name("passwd")).sendKeys(password);
        if( checkCaptha()) loginForm.findElement(By.name("login-button")).click();
     }
    }

    Selenium: Логин на сайте с задержкой на прохождение Google reCaptcha. Цель - только получить залогиненную сессию.

    dmytrocx75, 19 Ноября 2017

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

    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
    import java.io.*;
    
    class Player {
        String name;
        int ch;
    }
    class PlayerTestDrive{
        public static void main(String[] args) throws Exception{
            BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    
            int count = 0;
            int count1 = 0;
    
            Player p1 = new Player();
            Player p2 = new Player();
    
            System.out.print("Введите имя первого игрока: ");
            p1.name = reader.readLine();
    
            System.out.print("Введите имя второго игрока: ");
            p2.name = reader.readLine();
    
            System.out.print(p1.name + ", введите число: ");
            p1.ch = Integer.parseInt(reader.readLine());
    
            System.out.print(p2.name + ", введите число: ");
            p2.ch = Integer.parseInt(reader.readLine());
    
            int[] a = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
            int aL = a.length;
            int rand = (int)(Math.random() * aL);
    
    
                if (rand == p1.ch){
                    count = 1;
                }
                if (rand == p2.ch){
                    count1 = 1;
                }
    
             if (count > count1){
                 System.out.println(p1.name + ", вы победили!");
             }else if(count < count1){
                 System.out.println(p2.name + ", вы победили!");
            }else{
                 System.out.println("Ничья, попробуйте еще раз!");
             }
    
        }
    }

    Игра! Два игрока вводят числа с клавиатуры от 1 до 10 , если введенное число какого-либо игрока совпадает с рандомным числом, то он становится победителем, если нет, то игра начинается еще раз! ПРОШУ СТРОГОЙ КРИТИКИ!

    babushkaAntona, 19 Ноября 2017

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

    +1

    1. 1
    github.com/php/php-src/commit/0e097f2c96ce31b16fa371981045f224e5a37160#diff-e0dff85f21e939e4e2a778bddb8a72d7R819

    Кто мне объяснит, как вообще работает этот PHP до сих пор, если они через строчку получают длину строки siezof'ом и при этом это ещё помогло исправить баг?

    d_fomenok, 18 Ноября 2017

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    (* We open this module at the top of module generating rules, to make sure they don't do
       Io manually *)
    module No_io = struct
      module Io = struct end
    end

    https://github.com/janestreet/jbuilder/blob/0c2228e7bc7f5667a4ca2c982feb76130156ec99/src/import.ml#L524


    Монадки нинужны, говорили они

    roman-kashitsyn, 18 Ноября 2017

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

    +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
    class Yandex{
      require_once _DIR_ . '/vendor/autoload.php';
      class_alias('\Arhitector\Yandex\Disk', 'Yandex');
    
    
      // передать OAuth-токен зарегистрированного приложения.
      $disk = new Yandex('AQAAAAAeTQ-yAARKyGCP7TY2MU0aggYZ7ucZFwI');
    
      /**
       * Получить Объектно Ориентированное представление закрытого ресурса.
       * @var  Arhitector\Yandex\Disk\Resource\Closed $resource
       */
      $resource = $disk->getResource('0000 Техническое задание (2).pdf');
    
      // проверить сущестует такой файл на диске ?
      $resource->has(); // вернет, например, false
    
      // загрузить файл на диск под имененм "новый файл.txt".
      $resource->upload(__DIR__ . '/0000 Техническое задание (1).pdf');
    
      // файл загружен, вывести информацию.
      echo '<pre>';
      var_dump($resource->toArray());
    }

    Нашёл на работе

    slexx1234, 17 Ноября 2017

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

    −4

    1. 1
    2. 2
    3. 3
    https://news.mail.ru/society/31667144/?frommail=1
    
    Как думаете, соски, могут ли семь поездов по шесть вагонов каждый стоить четыре миллиарда рублей? Или это какая-то наёбка?

    COWuTEJIbTBOEuMAMKu, 17 Ноября 2017

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

    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
    public function actionOrderDelete(){
            $params = Yii::$app->request;
            $param = Json::decode($params->getRawBody());
            if($params->headers->get('Token') and $params->headers->has('Token')){
    
                 if($us = User::findOne(['token'=>$params->headers->get('Token')])){
                    $order = EnbekOrders::findOne($param['id']);
                    $order->status = '0';
    
                    $order_j = OrderJoin::findOne(['order_id' => $param['id']]);
                    $order_j->exucotor_id = '0';
                    
                    $cab = CabinetJoin::findOne(['user_id' => $us->id]);
    
                    $st = UserSt::findOne($cab->personal_id);
    
                    $cab->status = '1';
     
                    $st->reting-='0.1';
    
                    if($order_j->save() and $order->save() and $cab->save() and $st->save())
                        return ['success'=>true];
                    else
                        return ['success'=>false];
                }else{
                    return ['success'=>];
                }
            }else{
                return ['message'=>];
            }
        }

    vityadm, 17 Ноября 2017

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

    +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
    PHPAPI void php_var_export_ex(zval *struc, int level, smart_str *buf) /* {{{ */
    {
    	/* insignificant bullshit omitted */
    	zend_string *ztmp, *ztmp2;
    
    	switch (Z_TYPE_P(struc)) {
    		case IS_STRING:
    			ztmp = php_addcslashes(Z_STR_P(struc), 0, "'\\", 2);
    			ztmp2 = php_str_to_str(ZSTR_VAL(ztmp), ZSTR_LEN(ztmp), "\0", 1, "' . \"\\0\" . '", 12);
    
    			smart_str_appendc(buf, '\'');
    			smart_str_append(buf, ztmp2);
    			smart_str_appendc(buf, '\'');
    
    			zend_string_free(ztmp);
    			zend_string_free(ztmp2);
    			break;
    	}
    }
    /* }}} */

    Пыхарь: Расмус, у меня верстка едет, когда я через var_export() нулевые байты в браузер кидаю. Пофикси! (https://bugs.php.net/bug.php?id=37262)
    Расмус: Пофиксил тебе за щеку. Проверяй. (https://github.com/php/php-src/blob/master/ext/standard/var.c#L482)
    Пыхарь: Проверил. Помогло. (https://ideone.com/gnCKh1)

    Stallman, 16 Ноября 2017

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

    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
    PrefixAllocator::PrefixAllocator(
        const std::string& myNodeName,
        const KvStoreLocalCmdUrl& kvStoreLocalCmdUrl,
        const KvStoreLocalPubUrl& kvStoreLocalPubUrl,
        const PrefixManagerLocalCmdUrl& prefixManagerLocalCmdUrl,
        const MonitorSubmitUrl& monitorSubmitUrl,
        const AllocPrefixMarker& allocPrefixMarker,
        const folly::Optional<folly::CIDRNetwork> seedPrefix,
        uint32_t allocPrefixLen,
        bool setLoopbackAddress,
        bool overrideGlobalAddress,
        const std::string& loopbackIfaceName,
        std::chrono::milliseconds syncInterval,
        PersistentStoreUrl const& configStoreUrl,
        fbzmq::Context& zmqContext)
        : myNodeName_(myNodeName),
          allocPrefixMarker_(allocPrefixMarker),
          seedPrefix_(seedPrefix),
          allocPrefixLen_(allocPrefixLen),
          setLoopbackAddress_(setLoopbackAddress),
          overrideGlobalAddress_(overrideGlobalAddress),
          loopbackIfaceName_(loopbackIfaceName),
          syncInterval_(syncInterval),
          configStoreClient_(configStoreUrl, zmqContext),
          zmqMonitorClient_(zmqContext, monitorSubmitUrl) {

    Фейсбук выложил какую-то хуйню https://github.com/facebook/openr/blob/master/openr/allocators/PrefixAllocator.cpp#L61

    g0cTb, 16 Ноября 2017

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