Куча говна / Говнокод #26298 Ссылка на оригинал

0

  1. 1
Новый год по владимирскому времени! Всех с.

Больше говнокодов в новом году.

Запостил: BJlADuMuPCKuu_nemyx BJlADuMuPCKuu_nemyx, (Updated )

Комментарии (156) RSS

  • Похоже, это единственный новогодний пост.

    Пользуясь случаем, спешу поздравить говнокодовцев. Пусть у вас будет больше часов раздумий над интересными задачами и меньше часов отладки, больше довольных начальников и клиентов и меньше тупых пользователей, излишне креативных дизайнеров и менеджеров.
    Ответить
  • Этот год был хуёвым, надеюсь следующий будет пиздатым.

    Вобщем, гонолуловцы с новым годом!
    Ответить
  • * строишь машину времени
    * прилетаешь в 1992-й год
    * едешь в США
    * находишь человека по имени Brendan Eich
    * выпускаешь ему обойму в голову
    * возвращаешься обратно в 2020-й
    * читаешь на форуме: "пентиум и 4гига? нафига тебе такой мощный комп, ты же только в Интернете сидишь"
    Ответить
      • * чтоб два раза не вставать -- кидаешь гранату в оффис яху (или где там расмус говнокодил)
        * возвразаешься в 2020-й
        * вводишь в гугл "sql injection"
        * google: возможно, вы имели ввиду: "sql intersection"
        Ответить
        • * эксплуатируешь SQL injection, зарабатываешь миллионы, пока дыру закрывают во всех библиотеках
          Ответить
      • В том пакетике была не мука, осторожно.

        Железо вперёд двигает наука и техника.

        До всплеска популярности JS компьютеры надо было обновлять раз в 2 года, а сейчас можно и 5-7 лет не трогать старое железо.
        Прогресс железа замедлился. JS тормозит прогресс и хочет, чтобы железо вперёд не двигалось.
        Ответить
        • >Железо вперёд двигает наука и техника.
          Точно так же железо двигает вперед и js, и китаец на заводе Qualcomm, и парень, покупающий ноутбук бабушке. "Двигать вперед" - очень абстрактная фраза и может использоваться как угодно широко
          >До всплеска популярности JS компьютеры надо было обновлять раз в 2 года, а сейчас можно и 5-7 лет не трогать старое железо.
          Ты точно так же можешь сейчас покупать новое железо каждые два года для новой слаки, и не менять железо по 5 лет 15 лет назад(хотя я пизжу, у меня и компьютера-то тогда не было)
          >JS тормозит прогресс и хочет, чтобы железо вперёд не двигалось.
          Согласен
          Ответить
    • Маловероятно, были бы жаба апплеты, флэши, или вообще какой-нибудь VBS. Жаль только до wasm'а поздновато додумались.
      Ответить
      • Кстати, об оффтопах.

        сЕгодня прокачался в Oauth2, подключил с помощью http://python-social-auth-docs.readthedocs.io аутентификацию в джанге через гмейл, там и вк поддерживается и фейсбук и одноглазники.

        Как все таки удобно и легко в джанге чото подключать. А в вашей пхп это как?
        Ответить
        • Да также поди, ставишь плагин для твоего фреймворка и течёшь.
          Ответить
          • А например для какого?

            В джанге просто у меня есть система аутентификации из коробки (ну, она контриб, но из коробки) и к ней подключается oauth, и ты можешь выбирать какие поля куда и как напихивать
            Ответить
          • А зачем нужен рнр с фреймверками если есть питон?
            Ответить
            • Ну вот тут недавно выяснили, что в пхп можно указывать что именно захватывает кложа, а в питоне нельзя
              Ответить
                • За кложи?

                  Где вообще не платят за них деньги? Где нет клож? В сишечке?
                  Ответить
                  • За возможность указать что надо захватывать.
                    Ответить
        • Все то же самое еще во времена делфи было - кидаешь компонент и все работает. Но его почему-то хейтили.
          Ответить
          • Джанга действительно похожа на все эти RAD штуки, я незнаю что тут хейтить.

            может быть дельфя была не очень гибка?
            Ответить
            • Хейтили из-за такого противоречия:
              1. Из-за RAD «Дельфя» вокруг себя собрала людей, далёких от программирования.

              2. При этом «Object Pascal» не является скриптовым: строгая статическая типизация, линковка, низкоуровневая питушня — всё это для людей, далёких от программирования оказалось сложным.

              С одной стороны, его хейтят за тонны говнокода, написанного на нём людьми, далёкими от программирования (TForm1, Unit1 — вот это всё). С другой стороны, его хейтят сами люди, далёкие от программирования, за то, что сложно, нихуя не понятно.
              Ответить
              • >TForm1
                Могу-ли я хейтить кресты из за system("pause")?

                Имхо, трагедия дельфей в том, что Борланд, цитируя классика, "сдох, обосравшись бессовестно", а если бы MS сделал официальным языком не кресты, а обжективный паскаль, но дельфи использовали бы до сих пор
                Ответить
                • >> Могу-ли я хейтить кресты из за system("pause")?

                  Я разрешаю.

                  >> если бы MS сделал официальным языком

                  API Windows 3.x почему-то был основан на коллконвеншне PASCAL. Да и в Win32 взяли не cdecl, а stdcall, в котором стек чистит вызываемая функция, как в pascal. Зачем? Зачем?

                  Ещё у MS был «Quick Pascal» (который был плагиатом на «Turbo Pascal»), правда, выпустили они всего одну версию.

                  А ещё был «Apple's Object Pascal», но позже в «Эппле» решили перейти на «Objective-C», который за пределами «OSX»/«iOS» почти не используется (хотя в «gcc» есть библиотеки для разных ОС).

                  Возможно, «Object Pascal» не взлетел из-за обилия сишного кода, который хотелось переиспользовать. Я приводил реальные примеры, как учёные до сих пор используют «Фортран» не из-за того, что «Фортран» хороший, а из-за того, что на нём много кода, который хочется переиспользовать.

                  MS развивает язык «F#». Но много ли на нём пишут?
                  Ответить
                  • Поскаль у эппла был практически де-факто, на нем была и ОС и ее апи, и даже их IDE (Macintosh Programmer's Workshop) по началу умела только паскаль.

                    Обжси завезли когда вернули Джбса, и он стал делать OsX.

                    А классика вся на паскале была
                    Ответить
                  • F# gives you simplicity and succinctness like Python with correctness, robustness and performance beyond C# or Java.
                    Ответить
                  • какие ещё бывают call conventions?

                    труднее ли сделать ffi, если call conventions целевого языка не поддерживаются или их нет вовсе?
                    Ответить
        • В Oauth2 основная проблема не в коде, а в регистрации твоего приложения в соцсетях. Это у Oauth1 был сложный протокол, а реализацию Oauth2 можно и на коленке написа́ть.

          Насколько помню, «Одноклассники» требовали наличия ООО, доверенности от директора и прочей бюрократической хуеты. Сейчас всё так же или бюрократию убрали?

          «Фейсбук» попытке при регистрации приложения меня взял на понт: заблокировал мою учётку и потребовал выслать фотографию банковской карты для подтверждения моей личности. Я его проигнорировал, через месяц он меня разбанил и дал доступ к API.

          «Твиттер» и «Инстаграм» совсем недавно (где-то в прошлом году) ограничили доступ к своим API. Теперь доступ просто так не получишь, нужно сначала отправлять запрос на доступ к песочнице, потом просить, чтобы тебя из песочницы перевели в белые люди.

          *****

          Ещё одна проблема — залогиниться через Oauth2 мало, нужно ещё через API конкретной соцсети получить информацию о профиле пользователя (никнейм, пол, е-мейл, аватарку), а этот API не стандартизирован. Разные соцсети будут выдавать разное количество полей. Если твоё приложение строит профиль пользователя на основе информации из соцсетей, нужно помнить, что некоторые поля не будут заполнены.

          Некокококонсистентность может быть и в пределах одной соцсети. Например, в «ВК» ФИО есть у всех, а никнеймы — не у всех. Кто-то у тебя будет bormand'ом, а кто-то — id1234567.
          Ответить
          • В жмейле достаточно иметь акк, но есть нюанс: чтобы пробить лимит в 100 обращений в сутки, нужно чтобы они проверили твой сайт (там надо иметь user agreement итд).

            В вк вроде ничего не нужно.

            Мне, в общем, срать на все поля кроме email: я его только для аутентификации использую (но имя из google забрал конечно).

            протокол простой (хотя rfc занимает порядка 80-ти страниц), просто подключение его в джанге заняло у меня 10 строк весьма декларативного кода
            Ответить
            • >> лимит в 100 обращений в сутки

              Кроме суточных лимитов в соцсетях бывают почасовые лимиты.

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

              Бывают запросы, которые можно делать только с айпишника сервера, а бывают, которые можно делать только с айпишника клиента (API мобильных приложений, например).

              В частности, срать на стену пользователя «ВК» без согласия пользователя ты не можешь: нужно делать запрос либо с айпишника пользователя (мобильное приложение), либо каждый раз показывать ему страницу подтверждения (срать «ВК» будет, только если пользователь нажал кнопку «Да»). Есть нелегальные сервисы для спама на стену, которые делают запросы со 100500 серверов, как бы имитируя запрос от имени пользователя, но за такое, если вскроется, могут забанить и тебя, и пользователя.

              Если тебя интересует только аутентификация, то такие тонкости, конечно же, изучать не придётся.

              >> В вк вроде ничего не нужно.

              Да, вроде бы в «ВК» и в «ФБ» аутентификацию можно сделать по-прежнему без проблем. Труднее, если ты хочешь сделать игру. Тогда для помещения её в каталог придётся пройти через песочницу.

              Ещё можно сделать аутентификацию через «Mail.ru», «Яндекс» или даже через «Гитхаб».

              Похоже, что полная жопа сейчас только в «Твитторе» и в «Инстаграме».

              >> срать на все поля кроме email

              С этим полем может быть проблема. «ФБ» его возвращает только для тех юзеров, которые в профиле поставили галочку «Разрешаю искать меня через e-mail» (или как-то так).
              Ответить
            • >> порядка 80-ти страниц

              Я для себя нарисовал блок-схему на одной странице. И даже по ней написа́л работающий код.

              Если ты на сайт вешаешь кнопку для логина, то всё тупо:
              1. Твоя кнопка должна открыть страницу логина в соцсети (тупо ссылкой, через window.open, через document.href.location).
              2. Если пользователь успешно залогинится в соцсети, соцсеть его перебросит на страницу-ресивер твоего сайта (её URL указывается либо при регистрации, либо параметром в ссылке в п. 1).
              3. Дальше два варианта: через жопоскрипт или через серверный запрос. Переходим к 3а или к 3б.

              3a. Запрос к странице-ресиверу не содержит параметра code. Жопоскриптом ищем идентификатор фрагмента в URL ( #access_token=1234567).
              4a. Перенаправляем пользователя на специальную страницу своего сайта, приписав к URL ?token=1234567 (значение, полученное в п. 3а). Короче, значение, которое было в URL после решётки, любым способом должен узнать наш сервер.
              Переходим к пункту 4б.

              3б. Запрос к странице-ресиверу содержал параметр code.
              Делаем с нашего сервера POST-запрос к соцсети, чтобы этот временный code поменять на token.
              4б. Если удалось получить token, то с OAuth2 на этом всё. Переходим к API конкретной соцсети. Через её API вытаскиваем имя, е-мейл и всё, что нам нужно.

              А вообще готовые плагины есть для кучи CMS и фреймворков. Даже в «PHP». Правда, есть проблема: API соцсетей периодически меняется, а авторы некоторых плагинов забывают обновлять код. Рано или поздно тебе может понадобиться патчить плагин под новый API.
              Ответить
    • Европейская часть России еще пока временно не подчиняется Китайской Народной Республике, потерпи
      Ответить
  • Сожрал лосося на 4€. Что поделать, для меня это деликатес, сладкого почти не ем и бухать тоже не вставляет. Я все правильно сделал? Я еще приготовил его не идеально.
    Ответить
    • Я выпил полугара, сладкого не ел, лося тоже
      Ответить
    • Лососня самая вкусная - солёная. И готовить не нужно.
      Ответить
    • Взрослые очень любят цифры. Когда рассказываешь им, что у тебя появился новый друг, они никогда не спросят о самом главном. Никогда они не скажут: «А какой у него голос? В какие игры он любит играть? Ловит ли он бабочек?» Они спрашивают: «Сколько ему лет? Сколько у него братьев? Сколько он весит? Сколько зарабатывает его отец?» И после этого воображают, что узнали человека.
      Когда говоришь взрослым: «Я видел красивый дом из розового кирпича, в окнах у него герань, а на крыше голуби», — они никак не могут представить себе этот дом. Им надо сказать: «Я видел дом за сто тысяч франков», — и тогда они восклицают: «Какая красота!»

      — Маленький принц (Антуан де Сент-Экзюпери)
      Ответить
      • Человек же пишет "...сладкого почти не ем и бухать тоже не вставляет", "...Я все правильно сделал? Я еще приготовил его не идеально."
        Так и напрашивается образ лирического героя песни "я инженер на сотню рублей"
        Ответить
    • Не, ну что за питушня?

      Одно дело, когда человек говорит "У меня сёмга стоит 1500 рублей за килограмм, и я купил пару кусков на бутерброды за 100 гривен", и ты сразу можешь перевести по курсу и оценить, сколько рыбы досталось человеку.

      А здесь вообще неясно, сколько это в граммах и хватило ли этого количества автору.

      P.S. Еврофаги всё измеряют по себе. Кажется, что когда переведёшь стоимость в евро, всё сразу станет ясно. Получать 500 евро в месяц - это мало, а помидоры по 5 евро за килограмм - вроде норм. И пофиг на страну, налоги, среднюю зарплату и уровень цен.
      Ответить
  • ахаха, у меня есть центость с LC_ALL=ru_RU.UTF-8
    Мы полагаем, что ваш системный администратор изложил вам основы
    безопасности. Как правило, всё сводится к трём следующим правилам:
    
        №1) Уважайте частную жизнь других.
        №2) Думайте, прежде что-то вводить.
        №3) С большой властью приходит большая ответственность.
    Ответить
    • [NSFW]
      .
      .
      .

      3oJIoTou_xyu:

      Раньше было лучше.

      ***

      То самое раньше, январь (или март) 2020:

      Кончил тебе на ебало излил своё семя тебе на лицо, размазав остатки членом.

      .
      .
      .
      [NSFW]
      Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8