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

    0

    1. 1
    Микросервисы - это хорошо или плохо?

    rotoeb, 09 Октября 2020

    Комментарии (48)
  2. Куча / Говнокод #27012

    −2

    1. 1
    2. 2
    3. 3
    4. 4
    Собаки в подворотнях лаяли,
    И с упоением сосали вы
    Мой толстый необрезанный хуец
    В тёмном закутке.

    Sers, 08 Октября 2020

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

    −52

    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
    п. Антону Каменщикову, либо тому, кого мы зовём Страйкер.
    
    Огюст Шевалье работал фронт-дизайнером в крупной компании. Каждый день он ездил на работу, где до вечера писал веб-контексты. 
    Он был очень занятым человеком и зарабатывал немало. Тем не менее, у него было немало хобби и увлечений, и одно из них - любовь к животным. 
    Несмотря на загруженность, он выискивал время чтобы посетить зоопарк. Там ему особенно нравилась старая горилла. 
    Ее глубокий, сосредоточенный взгляд восхищал Шевалье: "Умное животное", думал он. 
    Пока макаки, гиббоны, павианы развлекали публику своими криками и дерзкими выходками, горилла сидела в тени, изучая лица 
    посетителей и, как ни странно, пользуясь большей симпатией публики. Едва оказавшись перед клеткой, люди сразу понимали, что перед 
    ними существо куда более разумное, чем те, с кем они дразнились минуту назад, и чувстсовали неловкость. 
    Никто не пытался развлекаться, грубо дразня гориллу, либо иным способом получая ее внимание. 
    
    Очередной раз посетив своего любимца и попав под взгляд строгих черных глаз, Шевалье понял, что очень хочет взять обезьяну домой. 
    Человек он был состоятельный, поэтому, уговорить руководство зоопарка ему не составило большого труда.
    -У меня ей будет лучше, - сказал он директору.
    В короткие сроки был выстроен вольер для гориллы и она стала жить у Шевалье. Агрессивного поведения за ней не замечалось.
    
    Как-то раз Шевалье переработал и принес проект домой. Он сидел за ним до полуночи, но каждый раз результат не удовлетворял его. 
    К нему не подошла горилла.
    Шевалье взглянул на нее: -Ты не менее разумна, чем мы. Не желаешь мне помочь?
    Обезьяна подошла, после чего, едва взглянув на монитор, схватила его и высоко подняв над головой обрушила на пол. 
    Телевизор с грохотом разлетелся на куски; посылались искры, запахло паленым. Шевалье оторопел - подобного поведения за гориллой не наблюдалось. 
    А обезьяна повернула голову и негромко произнесла: "ты - неудачник, если тратишь свое время на PHP. 
    А ещё считаешь себя разумным существом...". Горилла ушла. 
    
    Наутро Шевалье уволился.

    Sers, 08 Октября 2020

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    # PowerShell
    
    if ($a2[$j] -Match $a1[$i] -and $a1[$i] -notin $r -and $a1[$i] -ne "ohio") {
        $r += $a1[$i]   
    }

    https://www.codewars.com/kata/reviews/5be8395356b146add7000017/groups/5f4a316915fbdc0001e1c60b

    Когда в тестах есть один случай, который может не пропустить твоё решение
    из-за "ohio", кто-то просто решил добавить эту строку в исключении в условии.

    // ТРЕБУЮ ДОБАВИТЬ PowerShell В СПИСОК GOVNOKOD.RU!

    groser, 06 Октября 2020

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

    0

    1. 1
    https://core.telegram.org/constructor/passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow

    Какой багор )))

    rotoeb, 02 Октября 2020

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Я вот смотрю на Ричарда Столлмана... Вижу, как он всю жизнь рвёт на себе жопчик за халявное ПО...
    И думаю: а что сделал ОН? Он написал "Photoshop"? Создал "Windows"? Разработал хоть что-то?
    Знает ли он, что такое многочасовой, многодневный, многомесячный, а иногда и многолетний труд разработки?
    Всё его достижение - это ТЕКСТ лицензии "GNU". Всё.
    В чём смысл Ричарда Столлмана?

    И, кстати, нахуй вообще нужны лицензии на халявное ПО?

    rotoeb, 30 Сентября 2020

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

    +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
    pub struct Vec { x: u32, y: u32, z: u32, }
    
    pub extern "C" fn sum_c(a: &Vec, b: &Vec) -> Vec {
        return Vec {x: a.x + b.x, y: a.y + b.y, z: a.z + b.z };
    }
    
    pub fn sum_rust(a: &Vec, b: &Vec) -> Vec {
        return Vec {x: a.x + b.x, y: a.y + b.y, z: a.z + b.z };
    }
    
    Выхлоп:
    
    example::sum_c:
            mov     eax, dword ptr [rsi]
            add     eax, dword ptr [rdi]
            mov     ecx, dword ptr [rsi + 4]
            add     ecx, dword ptr [rdi + 4]
            mov     edx, dword ptr [rsi + 8]
            add     edx, dword ptr [rdi + 8]
            shl     rcx, 32
            or      rax, rcx
            ret
    
    example::sum_rust:
            mov     ecx, dword ptr [rdx]
            mov     r8d, dword ptr [rdx + 4]
            add     ecx, dword ptr [rsi]
            add     r8d, dword ptr [rsi + 4]
            mov     edx, dword ptr [rdx + 8]
            add     edx, dword ptr [rsi + 8]
            mov     rax, rdi
            mov     dword ptr [rdi], ecx
            mov     dword ptr [rdi + 4], r8d
            mov     dword ptr [rdi + 8], edx
            ret

    «Дак йаже как Сишка!», «Даёшь пuтушатню в Ядро!»
    https://godbolt.org/z/Tcnz75
    rustc 1.46 (latest)

    3.14159265, 28 Сентября 2020

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

    +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
    Function/method calling convention. Here’s a simple example:
    
    struct Foo { a: i32 }
    impl Foo { fn bar(&mut self, val: i32) { self.a = val + 42; } }
    fn main() {
      let mut foo = Foo { a: 0 };
      foo.bar(foo.a);
    }
    
    For now this won’t compile because of the borrowing but shouldn’t the compiler be smart enough to create a copy of foo.a before call?
    I’m not sure but IIRC current implementation first mutably borrows object for the call and only then tries to borrow the arguments.
    Is it really so and if yes, why?
    Update: I’m told that newer versions of the compiler handle it just fine but the question still stands (was it just a compiler problem or the call definition has been changed?).
    
    The other thing is the old C caveat of function arguments evaluation. Here’s a simple example:
    
    let mut iter = “abc”.chars();
    foo(iter.next().unwrap(), iter.next().unwrap(), iter.next().unwrap());
    
    So would it be foo('a','b','c') or foo('c','b','a') call. In C it’s undefined because it depends on how arguments are passed on the current platform 
    (consider yourself lucky if you don’t remember __pascal or __stdcall). 
    
    In Rust it’s undefined because there’s no formal specification to tell you even that much. 
    And it would be even worse if you consider that you may use the same source for indexing the caller object like 
    handler[iter.next().unwrap() as usize].process(iter.next().unwrap()); in some theoretical bytecode handler 
    (of course it’s a horrible way to write code and you should use named temporary variables but it should illustrate the problem).

    https://codecs.multimedia.cx/2020/09/why-rust-is-not-a-mature-programming-language/

    3.14159265, 27 Сентября 2020

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

    0

    1. 1
    IT Оффтоп #61

    #33: https://govnokod.ru/26449 https://govnokod.xyz/_26449
    #34: https://govnokod.ru/26456 https://govnokod.xyz/_26456
    #35: https://govnokod.ru/26463 https://govnokod.xyz/_26463
    #36: https://govnokod.ru/26508 https://govnokod.xyz/_26508
    #37: https://govnokod.ru/26524 https://govnokod.xyz/_26524
    #38: https://govnokod.ru/26539 https://govnokod.xyz/_26539
    #39: https://govnokod.ru/26556 https://govnokod.xyz/_26556
    #40: https://govnokod.ru/26568 https://govnokod.xyz/_26568
    #41: https://govnokod.ru/26589 https://govnokod.xyz/_26589
    #42: https://govnokod.ru/26600 https://govnokod.xyz/_26600
    #43: https://govnokod.ru/26604 https://govnokod.xyz/_26604
    #44: https://govnokod.ru/26627 https://govnokod.xyz/_26627
    #45: https://govnokod.ru/26635 https://govnokod.xyz/_26635
    #46: (vanished) https://govnokod.xyz/_26646
    #46: (vanished) https://govnokod.xyz/_26654
    #47: https://govnokod.ru/26671 https://govnokod.xyz/_26671
    #48: https://govnokod.ru/26707 https://govnokod.xyz/_26707
    #49: https://govnokod.ru/26750 https://govnokod.xyz/_26750
    #49: https://govnokod.ru/26776 https://govnokod.xyz/_26776
    #50: https://govnokod.ru/26804 https://govnokod.xyz/_26804
    #51: https://govnokod.ru/26809 https://govnokod.xyz/_26809
    #52: https://govnokod.ru/26817 https://govnokod.xyz/_26817
    #53: https://govnokod.ru/26833 https://govnokod.xyz/_26833
    #54: https://govnokod.ru/26840 https://govnokod.xyz/_26840
    #55: https://govnokod.ru/26844 https://govnokod.xyz/_26844
    #56: https://govnokod.ru/26862 https://govnokod.xyz/_26862
    #57: https://govnokod.ru/26890 https://govnokod.xyz/_26890
    #58: https://govnokod.ru/26916 https://govnokod.xyz/_26916
    #59: https://govnokod.ru/26934 https://govnokod.xyz/_26934
    #60: https://govnokod.ru/26949 https://govnokod.xyz/_26949

    nepeKamHblu_nemyx, 25 Сентября 2020

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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    Зачем в базах данных нужны несколько вариаций одного и того же типа?
    Например, "tinyint", "mediumint", "smallint" и "bigint". Зачем они нужны, если
    можно было бы просто сделать один "int", причём равнозначный нынешнему
    "bigint"? Что даёт этот искусственно раздутый выбор целочисленных типов?

    rotoeb, 25 Сентября 2020

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