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

    +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
    ```rust
    impl actix_web::FromRequest for Token {
        type Error = ApiError;
        type Future = Pin<Box<dyn Future<Output = Result<Self, Self::Error>>>>;
        type Config = ();
    
        fn from_request(req: &actix_web::HttpRequest, _: &mut actix_web::dev::Payload) -> Self::Future {
            match req.extensions().get::<Option<Self>>().map(Clone::clone) {
                Some(Some(v)) => Box::pin(async { Ok(v) }),
                None | Some(None) => {
                    let header = req.headers().get("Authorization").map(Clone::clone);
    
                    Box::pin(
                        web::Data::<Pool>::extract(req)
                            .map_err(ApiError::from)
                            .and_then(move |pool| {
                                async move {
                                    let header = header.ok_or(ApiError::authorization_required())?;
    
                                    let auth = header.to_str()?;
    
                                    let uuid = Uuid::parse_str(auth)
                                        .map_err(|_| ApiError::authorization_bad_token())?;
    
                                    let (_, token) = Self::find(&uuid, pool.get_conn().await?).await?;
    
                                    let token = token.ok_or(ApiError::authorization_bad_token())?;
    
                                    Ok(token)
                                }
                            })
                            .boxed_local()
                    )
                }
            }
        }
    }

    Было принято решение создать Authorization middleware, который при каждом запросе авторизировал пользователя, если есть нужный хидер. В связи с тем, что некоторые роуты достают модель через ручной экстрактор, пришлось дописать эту хуйню (Второе условие никогда не будет выполнена вообще судя по всему).

    1rei, 18 Июня 2020

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

    −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
    Беглый клиент (рассказ старого брадобрея).
    
    Странная таки оказия приключилась со мной. 
    В полдевятого я, как обычно, пришел в свою цирюльню и принял первого клиента - пожилого китайца, с косичками за спиной и на подбородке.
     -Пожалуйте, господин, - я усадил его в кресло, гладко выбрил, поправил косичку и пошел за одеколоном. 
    Когда я принес пульверизатор то увидел, что кресло опустело; хитрый китаец воспользовался моим отсутствием и вероломно 
    ускользнул. 
    -Ай, мерзавец, а платить?..
     Я кое-как выскочил - сил нет в старых ногах, но  скоро догнал беглеца (он не очень-то и спешил), поравнялся с ним и тронул за рукав.
    Китаец остановился и спокойно обернулся. На лице у него была широкая улыбка. Я потребовал платы.
    Тогда китаец перестал улыбаться и взвизгнул на ломаном немецком языке: "не нарушай дистанцию!", - и поднял руки. 
    Тут же заверещал свисток... Ко мне подошел полицай и велел отойти от китайца. 
    
    Пришлось мне уйти ни с чем... Ненавижу узкоглазых!..

    Мда. Пиздец, что уж тут скажешь.

    pdro119, 08 Июня 2020

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

    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
    #lang racket
    
    (require racket/syntax)
    
    (define-syntax (_total stx)
      (syntax-case stx ()
        [(_total item price amount)
         (let ([make-id
                (lambda (template . ids)
                  (let ([str (apply format template (map syntax->datum ids))])
                    (datum->syntax stx (string->symbol str))))])
           (with-syntax ([total-item-price (make-id "~a-price" #'item)]
                         )
             #'(begin
                 (total-item-price price amount)
                 )))]
        )
      )
    
    (define-syntax-rule (total item price amount)
      (cond [(eq? item 'apple) (_total apple price amount)]
            [(eq? item 'grape) (_total grape price amount)]
            [else (_total general price amount)]
            )
      )
      
    
    (define (apple-price price amount)
      (* price (- amount (/ amount 2)))
      )
    
    (define (grape-price price amount)
      (* price (if (> amount 1) (/ (* amount 4) 5) amount))
      )
    
    (define (general-price price amount)
      (* amount price)
      )
    
    (define apples '(apple 10 4))
    (define grapes '(grape 20 3))
    (define other '(peach 30 1))
    
    (foldl (λ (lst result)
             (+ result (total (car lst) (cadr lst) (caddr lst)))
             )
           0
           (list apples grapes other)
     )

    Когда у тебя есть macroмолоток, всё остальное кажется гвоздями.

    Desktop, 07 Июня 2020

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

    0

    1. 1
    https://www.facebook.com/FBE/videos/258830962097696/UzpfSTExNzQ4ODY0MjI6ODAzNDE1NzEwMDYyMjcw/

    MAKAKA, 04 Июня 2020

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

    +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
    namespace Test;
    
    /**
     * MyTest (test/mytest.zep)
     */
    class MyTest
    {
        public function someMethod()
        {
            /* Variables must be declared */
            var myArray;
            int i = 0, length;
    
            /* Create an array */
            let myArray = ["hello", 0, 100.25, false, null];
    
            /* Count the array into a 'int' variable */
            let length = count(myArray);
    
            /* Print value types */
            while i < length {
                echo typeof myArray[i], "\n";
                let i++;
            }
    
            return myArray;
        }
    }

    Язык программирования «Зефир».

    https://docs.zephir-lang.com/0.12/en/introduction

    TEH3OPHblu_nemyx, 03 Июня 2020

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

    0

    1. 1
    https://sun1-93.userapi.com/SSu8G4XtIyohtocFhPi9jy7aPkBla7N_ZPnNdw/z5IDchObVcA.jpg

    Тушенка из русни

    OlegUP, 02 Июня 2020

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    http://lhohq.info/
    http://www.lhohq.info/lhohq_android.html
    http://octagon.lhohq.info/exploit-nomophobia.html
    http://phonograph.lhohq.info/

    Безумбреции / шизофреции с легким оттенком конардио

    Давненько не появлялось хорошего соперника DBУNOГUM

    Fike, 31 Мая 2020

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

    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
    IT Оффтоп #48
    
    
    #1: https://govnokod.ru/18142 https://govnokod.xyz/_18142
    #2: https://govnokod.ru/18378 https://govnokod.xyz/_18378
    #3: https://govnokod.ru/19667 https://govnokod.xyz/_19667
    #4: https://govnokod.ru/21160 https://govnokod.xyz/_21160
    #5: https://govnokod.ru/21772 https://govnokod.xyz/_21772
    #6: (vanished) https://govnokod.xyz/_24063
    #7: https://govnokod.ru/24538 https://govnokod.xyz/_24538
    #8: (vanished) https://govnokod.xyz/_24815
    #9: https://govnokod.ru/24867 https://govnokod.xyz/_24867
    #10: https://govnokod.ru/25328 https://govnokod.xyz/_25328	
    #11: (vanished) https://govnokod.xyz/_25436
    #12: (vanished) https://govnokod.xyz/_25471
    #13: (vanished) https://govnokod.xyz/_25590
    #14: https://govnokod.ru/25684 https://govnokod.xyz/_25684
    #15: https://govnokod.ru/25694 https://govnokod.xyz/_25694
    #16: https://govnokod.ru/25725 https://govnokod.xyz/_25725
    #17: https://govnokod.ru/25731 https://govnokod.xyz/_25731
    #18: https://govnokod.ru/25762 https://govnokod.xyz/_25762
    #19: https://govnokod.ru/25767 https://govnokod.xyz/_25767
    #20: https://govnokod.ru/25776 https://govnokod.xyz/_25776
    #21: https://govnokod.ru/25798 https://govnokod.xyz/_25798
    #22: https://govnokod.ru/25811 https://govnokod.xyz/_25811
    #23: https://govnokod.ru/25863 https://govnokod.xyz/_25863

    #24: https://govnokod.ru/25941 https://govnokod.xyz/_25941
    #25: https://govnokod.ru/26026 https://govnokod.xyz/_26026
    #26: https://govnokod.ru/26050 https://govnokod.xyz/_26050
    #27: https://govnokod.ru/26340 https://govnokod.xyz/_26340
    #28: https://govnokod.ru/26372 https://govnokod.xyz/_26372
    #29: https://govnokod.ru/26385 https://govnokod.xyz/_26385
    #30: https://govnokod.ru/26413 https://govnokod.xyz/_26413
    #31: https://govnokod.ru/26423 https://govnokod.xyz/_26423
    #32: https://govnokod.ru/26440 https://govnokod.xyz/_26440
    #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

    baropinho, 30 Мая 2020

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

    0

    1. 1
    2. 2
    3. 3
    https://news.ycombinator.com/item?id=20426997
    
    LiveJournal data breach impacts 33M users with plaintext passwords

    Идиотия, кретинизм, олигофрения, и другие способы стать разработчиком в livejournal

    MAKAKA, 27 Мая 2020

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

    0

    1. 1
    Пиздец-оффтоп #4

    #1 https://govnokod.ru/26503 https://govnokod.xyz/_26503
    #2 https://govnokod.ru/26541 https://govnokod.xyz/_26541
    #3 https://govnokod.ru/26583 https://govnokod.xyz/_26583

    bagrinho, 25 Мая 2020

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