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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Как думаете, гландопродавцы, какого хуя подавляющее большинство держателей каких-либо API продолжают отчаянно
    цепляться за устаревший формат "XML", отказываясь признавать простоту и удобство (для обеих сторон) формата "JSON"? 
    Как "simplexml_load_file(...)" с неебическим количеством мусора типа "@attributes" может быть лучше приятненького
    "json_decode(..., true)", учитывая, что первый, в случае, если дочерний тег с определённым именем у "родителя" один,
    возвращает по этому тегу одномерный массив, а в случае, если их несколько - многомерный? Где предсказуемость?

    Запостил: COWuTEJIbTBOEuMAMKu, 16 Ноября 2017

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

    • Казалось бы, при чём тут похапе?
      Ответить
    • Шо "XML" фигня, шо "JSON" фигня. Обе придуманы анскильными питухами.

      То ли дело функция serialize из "PHP", которая перед каждым значением сохраняет его длину, чтобы потом парсилось быстрее.
      Ответить
      • Царь просил передать что он использует свой собственный формат сериализации, оптимиизированный одновременно для TCP/IP и современных CPU
        Ответить
      • Что будет, если вручную заменить подстроку, а длину не трогать?
        Ответить
    • Как думаете, гландопродавцы, какого хуя подавляющее большинство держателей каких-либо API перешли на неудобный, не дающий возможности описать интерфейсы, не позволяющий сгенерировать прокси-классы псевдостандарт "JSON", отказываясь признавать простоту и удобство (для всех, кроме "программистов" на "JS" и "PHP") формата "XML"/"SOAP"?

      Как убогий, не типизированный "jObject.getAsJsonArray("");" может быть лучше приятненького сгенеренного прокси класса где уже есть метод, возвращающий массив?

      Неужели людям нравится вручную читать описание стандарта и потом вручную же его обрабатывать, вместо того чтобы отдать это на откуп компьютеру?
      Ответить
      • Потому что веб-дезигнеры делятся на
        1) Не знающих слово schema динамикопитухов
        2) Интерпрайз, где все интерфейсы скорее всего придумывают специальные люди, а тем, кто их имплементируют, на схему в принципе уже и насрать, у них уже всё докуметировано и согласовано
        Ответить
        • Интерпрайзеры, кстати, часто используют SOAP. Ну, использовали 10 лет назад. MS его очень сильно продвигал.
          К примеру, там было расширение для сквозной авторизации, и можно было нахаляву получить функциональность SSO от контроллера домена.

          Современные веб-разработчики обычно над ними смеются: "хахаха, у них там надо компилироваться, ставить какие-то IDE, схемы какие, а я вот пишут на JavaScript в sublime и мне ничего не надо, бедные тупые интерпрайз-диназавры"
          Ответить
          • > и мне ничего не надо
            Если бы. Из-за отсутствия модулей в JS, им, несчастным, столько невиданных тулов нужно.
            Ответить
            • А, ну так-то да. webpack, npm, gulp, и еще штук двадцать тулов.

              Самое смешное что __некоторые__ JS программисты всерьез думают что они изобрели модульность и копеляцию.

              "У нас тут есть webpack, он позволяет собрать зависимости в один бандл, у вас-то небось в джавах и сях такого нету".

              В общем всего 15 лет понадобилось фронт-энд сообществу чтобы собрать себе инстременты, хотя бы отдаленно напоминающие линкер и Makefile :)
              Ответить
              • i am a very baaaad boy
                Ответить
              • Посоны, мне кажется, я нашёл рекурсивного петуха в «npm»:
                >> npm i clor
                
                npm WARN deprecated [email protected]: Clor is now Clorox. Please upgrade: 'npm i clorox'.
                
                >> npm i clorox
                
                npm WARN deprecated [email protected]: Clorox is now Turbocolor!! - Please upgrade <3 
                
                >> npm i turbocolor
                
                npm WARN deprecated [email protected]: Turbocolor has been deprecated.  Please upgrade to Colorette 'npm i colorette'
                
                >> npm i colorette
                Ответить
                • А что дальше?!
                  Ответить
                  • Заинтриговал? Установился пакет [email protected].

                    Сейчас пока ещё обновиться не предлагает. А я уже рассчитывал, что он ещё десяток пакетов предложит перепробовать.
                    Ответить
                • показать все, что скрытоvanished
                  Ответить
                • показать все, что скрытоvanished
                  Ответить
                  • показать все, что скрытоvanished
                    Ответить
                    • показать все, что скрытоvanished
                      Ответить
                      • показать все, что скрытоvanished
                        Ответить
                        • показать все, что скрытоvanished
                          Ответить
                          • Почесал тебя за ушком, помурчи ^_^
                            Ответить
                            • Осторожно подошёл и тихонько някнул, проверь (⁄ ⁄•⁄ω⁄•⁄ ⁄)
                              Ответить
                            • показать все, что скрытоvanished
                              Ответить
                              • показать все, что скрытоvanished
                                Ответить
                                • На обоях тян с аватарке
                                  Ответить
                                  • Ты заказал фотообои?
                                    Ответить
                                    • показать все, что скрытоvanished
                                      Ответить
                                      • Хурозвоз бойсовый питух средний азий
                                        Ответить
                                        • показать все, что скрытоvanished
                                          Ответить
                                        • показать все, что скрытоvanished
                                          Ответить
                                          • показать все, что скрытоvanished
                                            Ответить
                                            • показать все, что скрытоvanished
                                              Ответить
                                              • показать все, что скрытоvanished
                                                Ответить
                                                • показать все, что скрытоvanished
                                                  Ответить
                                                  • показать все, что скрытоvanished
                                                    Ответить
                                                    • Подтверждаю.
                                                      Ответить
                                                    • показать все, что скрытоvanished
                                                      Ответить
                                                      • показать все, что скрытоvanished
                                                        Ответить
                                                        • Ебать, что нашёл!
                                                          Хамма хурозвоз мард йигитларни оллох омадини берсин!
                                                          Айрим хуроз уйинларида битта иккита номард хурозвозларам
                                                          учрайди хуроз мард булиб кучи етмай колиб даврада туради
                                                          чикиб кетсам зотимга ,,КОЧИК" деган дог тушираман деб эгаси
                                                          акли етиб турса хам 10 га 100 булиб турсаям хурозинг зур булса
                                                          кочирворсин даврадан деб ахир бир вагон калтакни кутариб
                                                          кузлари бекилиб турган хуроз каерга кочсин мард булиб
                                                          хурозвоз булдингми зурни тан олмаслик мардларни иши эмас

                                                          https://ok.ru/group/51823935029317/topic/62092315549765
                                                          Что это за вореции?!
                                                          Ответить
                                                          • «Гуглопереводчик» умудряется перевести это с нескольких языков. Так он это переводит с узбекского:
                                                            Удачи всем смелым парням!
                                                            Некоторые из моих соседей по комнате в некоторых тараканов
                                                            Петух находится в состоянии слабости
                                                            Если я выхожу, владелец хочет нанести на него пятно
                                                            Даже если вы достаточно умны, чтобы получить от 10 до 100 даже
                                                            В ожидании бить вагон
                                                            Там, где петух, чье падение закрыто, имеет смелость бежать
                                                            это не работа смелых


                                                            А так переводит с таджикского:
                                                            Пусть все петухи будут хорошими дамами!
                                                            Некоторые тараканы - домохозяйки
                                                            Петух по-прежнему в кругу, без объятий
                                                            Если ты уйдешь, это нормально
                                                            По крайней мере, от 10 до 100 дюймов, даже если я сумасшедший
                                                            В прошлый раз вы получили обруч барана
                                                            Там, где петух заперт, человек заперт
                                                            бульдоги от тараканов - дело не немецких мужчин


                                                            А так с казахского:
                                                            Пусть Скорбит Молот с Новым Годом!
                                                            На кусте есть печенье
                                                            Журналист не был этому рад
                                                            Если я пойду, я никогда не забуду это, но Собачья Дверь Крабов
                                                            10 га луковицы туршайм обыкновенного боярышника
                                                            Вы найдете вагонную чашу, которая будет использоваться в качестве транспортного средства
                                                            Где лошади?
                                                            Это не тот случай с Могенс


                                                            Мне кажется, что тут вместо перевода чистые вореции.
                                                            Ответить
                                                            • > Удачи всем смелым парням!
                                                              > Пусть все петухи будут хорошими дамами!
                                                              Кхм… Заходя на таджикскую зону, главное — не перепутать язык!
                                                              Ответить
                                                              • показать все, что скрытоvanished
                                                                Ответить
                                                              • «Гуглопереводчик» глючит страшно. Он с азербайджанского и с таджикского «переводит» одинаково, хотя в реальности это разные языки (переведи в обратную сторону и убедишься).

                                                                Возможно, кто-то его испортил, предлагая свой вариант перевода.

                                                                Надо попробовать перевести ещё другими переводчиками.
                                                                Ответить
                                                              • Пробуем другие переводчики. «Яндекс» правильно определил, что это узбекский (кириллица):
                                                                Мы хотели бы показать вам описание здесь, но сайт не позволит нам
                                                                В некоторых домах дат у меня есть одна или две одиночные даты дат
                                                                три Ксур сила суеверия храбрый булиб стоит в круге этмайай колиб
                                                                хозяин говорит: "Кочик, Кочик, Кочик, Кочик, Кочик
                                                                xam от 10 до 100 булса если вы достигнете Акли трудно булса
                                                                ведь то что циркулирует кочирворсин рискует повозкой
                                                                кочсин храбрый булиб к Каэру в глазах выжидающего Петуха
                                                                не признавая суеверия булдингми Зур не относится к храбрецам


                                                                Пробуем перевести с азербайджанского:
                                                                Пусть все петухи смелые парни Аллах даст вам удачу!
                                                                У меня есть только два nomard петухи в некоторых играх с петухом
                                                                учредитель: Редакция газеты "Xabar".
                                                                если я выйду, я убью", - сказал владелец, что выгрузит пятно
                                                                даже если ум дойдет до 10 до 100 я буду петухом, если зур
                                                                в конце концов, что кочирворсин кружится, поднимая колготок в вагоне
                                                                храбрый петух, который держится на глазах, где бы он ни бежал
                                                                ты был петухом, чтобы не признать Зура не дело чести
                                                                Ответить
                                                                • Сначала «Яндекс» выдаёт что-то более-менее адекватное, а потом начинает скатываться в вореции, да ещё и это «Кочик»… Бр-р, это выглядит реально крипотно. Чем-то древнюю крипипасту напоминает.
                                                                  Ответить
                                                                  • «Яндекс» уже первую строчку перевёл неправильно. Я считаю, что фраза «Мы хотели бы показать вам описание здесь, но сайт не позволит нам» — это заглушка. Вероятно, перевод получился непристойным, и «Яндекс» решил скрыть непотребство.
                                                                    Ответить
                                                              • >> главное — не перепутать язык!

                                                                https://youtu.be/uUbHxjJFhfc
                                                                Ответить
                                                          • Я понял, почему переводчики могут спотыкаться. В этой группе не только русский текст, но и узбекский с орфографическими ошибками и неточностями.

                                                            Слово «хуроз» должно писаться как «хўроз» (здесь «ў» означает краткий звук). Вероятно, у авторов нет узбекской кириллической раскладки (потому что Узбекистан официально в нулевых перешёл на латиницу), а латиницей они писать не умеют, вот и пишут в русской раскладке, как могут.

                                                            Некоторые узбекские издательства и веб-сайты не приняли реформу орфографии и до сих пор пишут кириллицей. Вот, например, где я нашёл правильное написание:
                                                            http://uzxalqharakati.com/archives/25480
                                                            Ответить
                                                        • «Гугл», «Яндекс», «Бинг», «go.mail.ru», «Duckduckgo», «najdi.si», «Qwant» находят этот номер только на «Говнокоде».
                                                          Ответить
                                                        • Кстати, «хуроз» («xo'roz» латиницей) — это петух.

                                                          Заимствовано из персидского (по-таджикски будет «хурӯс»).

                                                          Проникло в казахский («қораз»), в азербайджанский («xoruz», в старой орфографии «хоруз»), в киргизский («короз»), в туркменский («horaz», в старой орфографии «хораз»), в турецкий («horoz»), а также в урду, в уйгурский и даже в армянский и в сербский («хороз»).

                                                          https://en.wiktionary.org/wiki/қораз
                                                          https://en.wiktionary.org/wiki/horoz
                                                          https://en.wiktionary.org/wiki/xoruz
                                                          https://en.wiktionary.org/wiki/хороз
                                                          Ответить
                                      • показать все, что скрытоvanished
                                        Ответить
                                        • показать все, что скрытоvanished
                                          Ответить
                                          • Макёнлар о шамо тоза нарсалар узими хурозларимни хамтана макёнлари узоги 2 хафталарда тухумга киради 24 апрел чикан 200% гарантия тоза убийца зотлар +998995133484 .тел килила келишамиз.

                                            https://www.olx.uz/obyavlenie/shamo-makenlar-ID1TSm8.html
                                            Ответить
                                            • показать все, что скрытоvanished
                                              Ответить
                                              • Я уже в тексте на незнакомом языке начал находить слово «петух».

                                                Хурозларимни = хуроз+лар+им+ни.
                                                «лар» — это множественное число.
                                                «им» — это вместо притяжательного местоимения.
                                                «ни» — вероятно, винительный падеж (подглядел в Википедию — точно винительный, я не ошибся).

                                                Итого: «хурозларимни» = «наших петухов».

                                                Все заметили, что в объявлении слово «убийца» написано по-русски?
                                                Ответить
                                • Это поляк же!
                                  Ответить
                • Автор случаем не тян?
                  Ответить
      • вообще кошерно поддерживать оба формата, а сериализацию делать по хидеру который присылает клиент
        Ответить
        • Да можно и урлы разные сделать.
          но ктож так делает... хотя технически это и не сложно
          Ответить
          • Разные урлы — это уже не REST получается
            Ответить
            • Ну вот для JSON можно ставить REST, причем идеоматический:

              GET -- найти объект
              PUT -- создать
              POST -- изменить
              DELETE -- DELETE

              А SOAP всегда по POST ходит
              Ответить
              • POST создает обычно,
                PUT апдейтит

                Вот если б SOAP только возвращал XML, а так ему еще запрос этим XML ем создавать нужно. Ну и POST не кешируется никак. Вроде как транспорт по хттп идет а фичи хттпшные не использовать с ним.
                Ответить
                • SOAP ничего о понятии 'объект" (в отличии от реста) не знает.
                  SOAP это способ вызова удаленных процедур и передачи в них структур в качестве параметров

                  потому, конечно же, SOAP с XML ждет везде XML. Но его не нужно писать руками. Нужно использовать прокси классы, сгенеренные по WSDL.
                  Ответить
                  • WSDL можно отключить, пейлоад для SOAP можно генерить вручную как обычный XML Object
                    Ответить
                    • тогда он будет не лучше реста с jsonом
                      Ответить
                    • > пейлоад для SOAP можно генерить вручную как обычный XML Object
                      Конпелятор тоже можно отключить и генерить код вручную, как обычную последовательность байтов.
                      Ответить
    • А вообще лучше YAML. Да, нужно какую-то библиотеку подключать, но зато потом в конфигах никаких лишних скобок { "кавычек": двоеточий } (про <xml></xml> вообще молчу).
      Ответить
    • sexp.
      Ответить
      • Это вопрос?
        Ответить
        • Это формат представления данных. Если говорить о предложении в целом, то это утверждение. Люди ставят точку в конце утвердительных предложений.

          > Это вопрос?
          Это вопрос.
          Ответить
          • Подозреваю, что собеседник намекает на использование жаргона:
            http://www.catb.org/jargon/html/p-convention.html
            Ответить
            • Спасибо, я как-то с этой стороны не посмотрел. Знаки вопроса в именах предикатов, как в Scheme, мне нравятся больше.сейчас придёт SemaReal и скажет, что в убогом руби тоже знаки вопроса у предикатов ставят
              Ответить
              • А я почему-то подумал про экспоненту. Вспомнил sinf, sinl в няшной и ALOG в Фортране.
                Ответить
    • # устаревший формат "XML"

      Да ты шо. Сейчас как раз идёт массовая миграция на XML.
      Ответить
    • xml могет в атрибуты
      xml могет в типы и неймспейы
      xml можно парсить чанками
      Ответить
      • А еще он могет в валидацию посредством схем
        А еще в xpath
        Ответить
        • есть же убогая json-schema и даже JsonPath
          Ответить
          • Есть, но она убогая, и ее никто не предоставляет. Сейчас модно описывать формат простым английским языком, чтобы его проверял не компьютер, а программист.
            Ответить
    • Как думаете, гландопродавцы, какого хуя подавляющее большинство держателей каких-либо API продолжают отчаянно цепляться за хипстерский формат "JSON", отказываясь признавать простоту и удобство (для обеих сторон) формата "ASN.1"?
      Ответить
      • Вероятно потому что держатели API не PhD а 19-ти летние модные веб-программисты в квадратных очках?
        Ответить
        • И это хорошо!
          Ответить
          • Хорошо под осеннюю свежесть
            Душу-яблоню ветром стряхать
            И смотреть, как над речкою режет
            Воду синюю солнца соха.

            Хорошо выбивать из тела
            Накаляющий песни гвоздь.
            И в одежде празднично белой
            Ждать, когда постучится гость.
            Ответить

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