1. Куча / Говнокод #23556

    +1

    1. 1
    По поводу Windows

    Вот мне говорят "Windows до некоторой версии была просто надстройкой над MS-DOS, а не самостоятельной операционной системой". А действительно, можно ли было считать тех времён Windows полноценной операционной системой? С одной стороны, можно было рассматривать семейство этих операционных систем как ребрендинг MS-DOS, что означает Windows = новая версия MS-DOS, что полноценно можно считать операционной системой. С другой стороны, Windows можно рассматривать как один из компонентов MS-DOS, что значит Windows = программа под MS-DOS, что нельзя считать полноценной операционной системой. Но тогда из этого вывода следует поразмыслить, являются Unix-подобные операционные системы настоящими операционными системами (поразмыслите об этом сами). Тогда, если Windows тех времён это просто программа, то что же сейчас такое Windows, что же произошло такого, что вдруг исчезли все споры по поводу того, является ли она настоящей операционной системой? Если до сих пор Windows запускается как программа MS-DOS либо чего-то, его заменившего (что пока не обнаружили), то является ли она настоящей операционной системой (см. выше)? Можно ли считать подобными операционными системами (если Windows тех времён настоящая операционная система и Windows этих времён тоже операционная система) Windows тех времён и Windows этих времён?

    d_fomenok, 20 Ноября 2017

    Комментарии (11)
  2. 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)
  3. 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)
  4. 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)
  5. JavaScript / Говнокод #23551

    +1

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

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

    d_fomenok, 18 Ноября 2017

    Комментарии (22)
  6. Куча / Говнокод #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)
  7. 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)
  8. Куча / Говнокод #23548

    −4

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

    COWuTEJIbTBOEuMAMKu, 17 Ноября 2017

    Комментарии (31)
  9. 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)
  10. Си / Говнокод #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)