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

    −2

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

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

    Запостил: BJlADuMuPCKuu_nemyx, 01 Января 2020

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

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

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

      Вобщем, гонолуловцы с новым годом!
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • Именно поэтому я за "PHP".
        Ответить
      • Js двигает железо вперед. Именно поэтому я за js
        Ответить
        • показать все, что скрытоvanished
          Ответить
        • В том пакетике была не мука, осторожно.

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

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

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

                С одной стороны, его хейтят за тонны говнокода, написанного на нём людьми, далёкими от программирования (TForm1, Unit1 — вот это всё). С другой стороны, его хейтят сами люди, далёкие от программирования, за то, что сложно, нихуя не понятно.
                Ответить
                • показать все, что скрытоvanished
                  Ответить
                  • >> Могу-ли я хейтить кресты из за 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#». Но много ли на нём пишут?
                    Ответить
          • В Oauth2 основная проблема не в коде, а в регистрации твоего приложения в соцсетях. Это у Oauth1 был сложный протокол, а реализацию Oauth2 можно и на коленке написа́ть.

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

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

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

            *****

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

            Некокококонсистентность может быть и в пределах одной соцсети. Например, в «ВК» ФИО есть у всех, а никнеймы — не у всех. Кто-то у тебя будет bormand'ом, а кто-то — id1234567.
            Ответить
            • показать все, что скрытоvanished
              Ответить
              • >> лимит в 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.
                Ответить
    • Глупый. Нг 25 января.
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • Раньше было лучше.
      Ответить
      • [NSFW]
        .
        .
        .

        3oJIoTou_xyu:

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

        ***

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

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

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

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