И чем не устраивает моё объяснение? Понятно что я свечку не держал, но оно на мой взгляд совершенно очевидно. Вместо РНР следует читать "наше приложение". И всё сразу встанет на свои места. "Наше приложение, как и любой другой современный сайт, работает с данными в кодировке utf-8, а драйвер кассы ожидал UTF-32".
Ну или как вариант, эту фразу можно толковать как отсылку к default_charset, которая задает умолчания для тех же mbstring и iconv и плюс формирует кодировку для заголовка Content-type. Суть будет та же, но чисто формально ближе к "PHP использует".
И не нужно быть таким серьёзным, не корову мы тут продаём :)
Спасибо, кейс очень интересный. Вот только отчаянно не хватает подробностей. Сейчас материал больше похож на заметки для себя, чем на познавательную статью для читателей.
Фактически, информационная составляющая сводится к "В PHP есть FFI". А те же трудности только упомянуты, но не даётся никаких рекомендаций по их преодолению.
Пихтон это новый бейскпхп яваскрипт, его знают все и никто. Применение-то везде, но соотношение вакансий/соискателей как бы не хуже, чем у плюсов, только абсолютные цифры побольше.
Скажите, а продление на год - это именно продление на год, или как обычно - внесение некоей суммы, которой, возможно, хватит на год, но скорее всего - нет?
Последствия у неё только в голове. Чтобы драму на пустом месте развести. Стандарты есть и прекрасно работают - у тех, кому надо дело делать, а не статьи кропать.
А пример наш ровно в ту степь. Если от него не просто отмахиваться, а немножко над ним подумать, и соотнести с текущим кейсом.
Точки, проценты
Вот например, как раз отличный повод начать думать, задавшись вопросом, а что это за проценты? Может быть, они что-то такое означают, как и в моём примере? ;-)
Возможно. У меня нет ни времени, ни желания просматривать куки всех вендоров. Но даже если и "не делают", то причины этого могут любыми. И не иметь ничего общего с изложенным в статье.
Впрочем, я посмотрел. И сразу увидел что ваше исходное утверждение,
Максимум — токен какой-то из рафинированного ASCII.
не имеет ничего общего с реальностью. Почти все пишут в куки сериализованные данные. Далеко ходить не надо - тот же Хабр. А почему они сериализованы не джейсоном - как раз понятно: когда сайт писался, джейсона еще и в проекте не было.
Но вообще суть моего комментария совсем не в этом. А в том, что если соблюдать стандарты (пусть это даже стандарт де-факто), то и статьи бы не было.
А если не соблюдать, то такие "баги" можно найти где угодно. Пример я привёл.
Джейсон в куки пишут все кому не лень. В частности в РНР это встречается сплошь и рядом. Поскольку тупо удобно и не требует вообще никаких телодвижений. И я не думаю, что некие вендоры должны себя ограничивать из-за какой-то крикливой особы, которая не зная основ НТТР написала неграмотный код, и он внезапно не заработал.
Тут только одно странно - почему она на куках остановилась. Ведь этот страшный баг и в GET запросах тоже присутствует. Посылаем запрос ?query=я купила m&ms детям в подарок и начинаем кудахтать что аааа, всё сломалось, куда делись мои данные!
Ну и сама статья туда же. Она должна называться "Работать с куками - это всё равно что ходить по минному полю, если не знаешь даже самых базовых стандартов".
Если цель - передавать данные в куках, то в реальности всё прекрасно работает, достаточно всего лишь кодировать передаваемые данные по стандарту, с помощью банальной встроенной функции. Но если цель - насосать из пальца кликушескую статью, то конечно получится "кругом бардак, я одна тут стою вся в белом".
HTTP-куки — это небольшие информационные добавки, направляемые на клиент с сервера, работающего с JavaScript или HTTP
(особенно доставляет это "или")
Перевод, если немного владеть русским языком и предметной областью:
Куки в HTTP - это небольшие кусочки информации, которое могут быть либо переданы с сервера, либо установлены Яваскриптом на клиенте
И так буквально везде. Автор перевода не понимает значение русского слова "переадресовывать". Не понимает и технологию, про которую пишет - у HTTP запросов нет области видимости, она есть у кук.
Дальше совсем смешно - "until it got passed along to some code that used the Go standard library" легким движением руки превращается в "передавать некоторый код, в котором использовалась стандартная библиотека Go". Ну действительно - какая разница, передавать код или передавать в код?
Самое печальное, что хабрааудитории это божья роса. "Статья агонь, афтар пешы ещо".
Это совсем другой вопрос. Если бы в новости было написано "ИИ не даёт толковых ответов", или фраза заканчивалась на "...но так и не могут получить желаемый результат", то и вопросов бы не было. А сейчас формулировка звучит так, что проблема в кривой обучения. Ну впрочем тут особо спорить не о чем, обычная мусорная новость иинформационной службы Х.
Многие пользователи тратят много времени, чтобы понять, как лучше взаимодействовать с ИИ-инструментами, чтобы получить желаемые ответы или результаты.
Не то чтобы я большой сторонник ИИ, но авторы новости выглядят как тот мужик из анекдота
Чел пилит ножовкой дерево, вспотел весь, а конца не видно. Мимо проходит другой: -- мужик, ты чо, есть же бензопила, с ней быстрее! -- я не умею... -- да там научиться - час времени! -- мне некогда, мне лес валить надо!
Например можно взять карту у знакомого Кумара, а деньги пополам. А когда того прижали - "нисиво не знаю насяльника, карта украля!"
При загрузке/выгрузке денег из банкомата их никто не считает, и лог банкомата не просматривает?
Ну кстати думаю что вообще от слова нет. Это работа софта. А всякие логи - это уже при расследовании, а не при штатной выгрузке. Ну и кстати, установленный в удачном месте банкомат может не требовать посещения месяцами - всякие штрафники и должники вполне будут пополнять его сами.
сложно догадаться что где-то там проблема?
Учитывая, что за всё время была похищена чудовищная сумма аж в три тыщи баксов, то как раз нормально, что столько времени ушло. Возможно, там в софте какой-то люфт заложен, чтобы например списывать слипшиеся купюры, и до какого-то порога он шухер не поднимает. Ну и в целом - индусы же.
Денис, я всё понимаю, у вас чудовищный объем работы. И никто из вас свои новости не никогда не читает, потому что тупо некогда. И претензия тут скорее к администрации, которая выколачивает из новостной службы максимум новостей, чтобы было чем заполнять бесконечную ленту. Плюс источник еще зачастую написан немытыми индусами, которые тоже не понимают о чём пишут, и тут надо самому соображать, а на это опять снова нет времени
Но всякий раз когда читаешь такого рода тексты, возникает вопрос - куда я попал? Что это за шизофрения? Почему купюру оставляли "обычно", если это и есть ключевое действие во всей операции? Если её не оставить, то сумма спишется и владелец карты начнет суетиться.
Это действие заставило банкомат зарегистрировать транзакцию как незавершённую. Вот только из-за этой ситуации в алгоритме работы банкомата возникала ошибка Timeout Error.
Это что вообще? Какое нам дело до ошибки банкомата? И почему банк никак не реагировал на кучу незавершённых транзакций? Наверное, речь тут совсем не не про ошибку банкомата, а про то, что из-за оставленной купюры транзакция помечалась как незавершённая, и потом гениальный индусский код тупо отменял её по истечению таймаута?
Не очень понятно, что именно вам непонятно. Вы же сами пишете
Ну вот они и взяли этот драйвер на C, и обращаются к нему из РНР. Что здесь непонятного?
И чем не устраивает моё объяснение? Понятно что я свечку не держал, но оно на мой взгляд совершенно очевидно. Вместо РНР следует читать "наше приложение". И всё сразу встанет на свои места. "Наше приложение, как и любой другой современный сайт, работает с данными в кодировке utf-8, а драйвер кассы ожидал UTF-32".
Ну или как вариант, эту фразу можно толковать как отсылку к default_charset, которая задает умолчания для тех же mbstring и iconv и плюс формирует кодировку для заголовка Content-type. Суть будет та же, но чисто формально ближе к "PHP использует".
И не нужно быть таким серьёзным, не корову мы тут продаём :)
Да ладно придираться-то :) Понятно что не "РНР", а "наше приложение". Совершенно стандартная конфигурация любого современного сайта.
Спасибо, кейс очень интересный. Вот только отчаянно не хватает подробностей. Сейчас материал больше похож на заметки для себя, чем на познавательную статью для читателей.
Фактически, информационная составляющая сводится к "В PHP есть FFI". А те же трудности только упомянуты, но не даётся никаких рекомендаций по их преодолению.
Просто интересно, а в других языках вы без отступов пишете?
Пихтон это новый
бейскпхпяваскрипт, его знают все и никто. Применение-то везде, но соотношение вакансий/соискателей как бы не хуже, чем у плюсов, только абсолютные цифры побольше.Спасибо, тогда локальные сайты готовлю к переезду. Жаль только, что на зарубежные локации цена несуразная, а то бы их тоже перенёс.
Скажите, а продление на год - это именно продление на год, или как обычно - внесение некоей суммы, которой, возможно, хватит на год, но скорее всего - нет?
Но я понял свою ошибку. Поскольку РНР сам на лету и кодирует, и раскодирует, то я решил, что так делают все. Но сейчас понимаю, что это не так.
Ну как это не пихает? Вот же - код, с которого вся статья и началась:
Она сама и "пихает". А если бы "сериализовала или кодировала" то и статьи бы не было.
Последствия у неё только в голове. Чтобы драму на пустом месте развести. Стандарты есть и прекрасно работают - у тех, кому надо дело делать, а не статьи кропать.
А пример наш ровно в ту степь. Если от него не просто отмахиваться, а немножко над ним подумать, и соотнести с текущим кейсом.
Вот например, как раз отличный повод начать думать, задавшись вопросом, а что это за проценты? Может быть, они что-то такое означают, как и в моём примере? ;-)
Возможно. У меня нет ни времени, ни желания просматривать куки всех вендоров. Но даже если и "не делают", то причины этого могут любыми. И не иметь ничего общего с изложенным в статье.
Впрочем, я посмотрел. И сразу увидел что ваше исходное утверждение,
не имеет ничего общего с реальностью. Почти все пишут в куки сериализованные данные. Далеко ходить не надо - тот же Хабр. А почему они сериализованы не джейсоном - как раз понятно: когда сайт писался, джейсона еще и в проекте не было.
Но вообще суть моего комментария совсем не в этом. А в том, что если соблюдать стандарты (пусть это даже стандарт де-факто), то и статьи бы не было.
А если не соблюдать, то такие "баги" можно найти где угодно. Пример я привёл.
Джейсон в куки пишут все кому не лень. В частности в РНР это встречается сплошь и рядом. Поскольку тупо удобно и не требует вообще никаких телодвижений. И я не думаю, что некие вендоры должны себя ограничивать из-за какой-то крикливой особы, которая не зная основ НТТР написала неграмотный код, и он внезапно не заработал.
Тут только одно странно - почему она на куках остановилась. Ведь этот страшный баг и в GET запросах тоже присутствует. Посылаем запрос
?query=я купила m&ms детям в подароки начинаем кудахтать что аааа, всё сломалось, куда делись мои данные!Ну и сама статья туда же. Она должна называться "Работать с куками - это всё равно что ходить по минному полю, если не знаешь даже самых базовых стандартов".
Если цель - передавать данные в куках, то в реальности всё прекрасно работает, достаточно всего лишь кодировать передаваемые данные по стандарту, с помощью банальной встроенной функции. Но если цель - насосать из пальца кликушескую статью, то конечно получится "кругом бардак, я одна тут стою вся в белом".
Это не перевод, а какой-то позор. Автор не знает ни английского языка, ни русского, ни предметную область. Первое же предложение. Оригинал:
Продукт мозговой деятельности @Sivchenko_translate:
(особенно доставляет это "или")
Перевод, если немного владеть русским языком и предметной областью:
И так буквально везде. Автор перевода не понимает значение русского слова "переадресовывать". Не понимает и технологию, про которую пишет - у HTTP запросов нет области видимости, она есть у кук.
Дальше совсем смешно - "until it got passed along to some code that used the Go standard library" легким движением руки превращается в "передавать некоторый код, в котором использовалась стандартная библиотека Go". Ну действительно - какая разница, передавать код или передавать в код?
Самое печальное, что хабрааудитории это божья роса. "Статья агонь, афтар пешы ещо".
Это совсем другой вопрос. Если бы в новости было написано "ИИ не даёт толковых ответов", или фраза заканчивалась на "...но так и не могут получить желаемый результат", то и вопросов бы не было. А сейчас формулировка звучит так, что проблема в кривой обучения. Ну впрочем тут особо спорить не о чем, обычная мусорная новость иинформационной службы Х.
Не то чтобы я большой сторонник ИИ, но авторы новости выглядят как тот мужик из анекдота
Ну, в оригинале написано именно "Timeout error", но да, версия "не пересчитывал возврат" тоже волне правдоподобная.
Например можно взять карту у знакомого Кумара, а деньги пополам. А когда того прижали - "нисиво не знаю насяльника, карта украля!"
Ну кстати думаю что вообще от слова нет. Это работа софта. А всякие логи - это уже при расследовании, а не при штатной выгрузке. Ну и кстати, установленный в удачном месте банкомат может не требовать посещения месяцами - всякие штрафники и должники вполне будут пополнять его сами.
Учитывая, что за всё время была похищена чудовищная сумма аж в три тыщи баксов, то как раз нормально, что столько времени ушло. Возможно, там в софте какой-то люфт заложен, чтобы например списывать слипшиеся купюры, и до какого-то порога он шухер не поднимает. Ну и в целом - индусы же.
Денис, я всё понимаю, у вас чудовищный объем работы. И никто из вас свои новости не никогда не читает, потому что тупо некогда. И претензия тут скорее к администрации, которая выколачивает из новостной службы максимум новостей, чтобы было чем заполнять бесконечную ленту. Плюс источник еще зачастую написан немытыми индусами, которые тоже не понимают о чём пишут, и тут надо самому соображать, а на это опять снова нет времени
Но всякий раз когда читаешь такого рода тексты, возникает вопрос - куда я попал? Что это за шизофрения? Почему купюру оставляли "обычно", если это и есть ключевое действие во всей операции? Если её не оставить, то сумма спишется и владелец карты начнет суетиться.
Это что вообще? Какое нам дело до ошибки банкомата? И почему банк никак не реагировал на кучу незавершённых транзакций? Наверное, речь тут совсем не не про ошибку банкомата, а про то, что из-за оставленной купюры транзакция помечалась как незавершённая, и потом гениальный индусский код тупо отменял её по истечению таймаута?