Как стать автором
Обновить

Комментарии 22

Читая это матерые электронщики наверное испытывают примерно те же ощущения, что и айтишники лет 12 назад, когда пхп воспринимался ими как средство веб-быдлокодинга и периодически всплывал в серьезных проектах. Ну или проекты с его использованием внезапно становились серьезными.

PS это я про ардуино, если кто не понял :)
Ох, получу я хабра-люлей сейчас, но… что-то сильно изменилось за 12 лет? :)
Если верить Курту Воннегуту,
Everything is going to become unimaginably worse and never get better again.
К ПХП можно по-разному относиться, но с ним приходится считаться, если имеешь дело с ит.
Хоть ты трижды супер-пупер джава инженер, при разговоре с контрагентом легко может случиться такой диалог:
(к) — почему не отвечает ваш сервис?
(вы) — ваш запрос приходит с незаполненным Accept-Encoding в хидере запроса
(к) — это что такое? HTTP_ACCEPT?
(вы) — омг, втф (про себя) — нет, это HTTP_ACCEPT_ENCODING
(к) — а, понятно, спасибо

Тоже сейчас происходит и с электронщиками. Сейчас они снисходительно смотрят на электро-школоло, а через 5 лет им придется делать двухсекундные задержки, чтобы другая железка заказчика успела подгрузить ардуиновский бутлоадер и встраивать в свои платы слоты с тем самым ненавидимым разъёмом.
Знаете, мне почему то кажется что ситуация, когда сервис не отвечает потому что не заполнен Accept-Encoding — это не PHP плохой и кривой язык, а данному Java разработчику надо вырвать руки.
Пустой Accept-Encoding это вполне валидный запрос stackoverflow.com/questions/14562572/is-it-valid-to-leave-accept-encoding-field-empty
Не хочу углубляться в контекст, но речь шла об апи, которое предполагает зипование ответа. И если программист не дочитал описание апи до этого пункта, то это наиболее оптимальный способ обратить его внимание на то, что входящий поток неплохо бы распаковать.
а, забыл добавить
ответ там был 400й, и даже с соответствующим сообщением
только это немного не то, что ожидал от нашего сервиса тот программист
Ну, надо писать отказо-устойчивые приложения. Уровень паранойи должен быть таким, чтобы даже процессору и оперативной памяти доверять со скрипом: если что-то может сломаться — оно сломается; если не может — сломается тоже, да так, что мало не покажется. Тогда программы будут надежными. Наверно.

Недавно слышал где-то историю про chkdsk.exe, который работал че-то типа почти год, проверяя какие-то дикие терабайты хранилища, и не упал, а допроверял и отсигналил, что теперь все ок. Вот это — надежность.

Ну а про похапе… Всё, у чего низкий порог вхождения становится крайне популярным: Delphi (ведь все учили Pascal в школе или институте), PHP, JavaScript, Basic, etc. По какой-то причине низкий порог вхождения коррелирует с качеством. Интересно, почему? Это не издёвка, кстати, мне правда интересно, почему.

Хотя, бывает и наоборот. Скажем, у bash заметно ниже порог вхождения, чем у PowerShell, но bash при этом очень хороший инструмент для своего круга задач.
Словно на баше так ужасного кода.

> Это не издёвка, кстати, мне правда интересно, почему.

Язык прощает много ошибок. Уровень вхождения позволяет к концу дня уже пойти на биржу фрилансеров делать сайты визитки. Доширак надо покупать, изучать толком нет времени, вот и получается такое качество. Учитывая, что PHP это фрактал плохого дизайна…
>Недавно слышал где-то историю про chkdsk.exe, который работал че-то типа почти год, проверяя какие-то дикие терабайты хранилища, и не упал, а допроверял и отсигналил, что теперь все ок. Вот это — надежность.

Это Бобук в одном из недавних выпусков Радио-Т рассказывал про сервера Яндекса, только там не чекдиск был, а что-то с рейд-массивом.
Да, точно, это из Радио-Т, и да, там про рейды было, но вроде чекдиск их проверял. Могу ошибаться.
НЛО прилетело и опубликовало эту надпись здесь
Хорошо, что HTTP 2.0 бинарный.
ну текстовый протокол который «придирается» к лишнему пробелу недалеко ушел от бинарного, на самом то деле.
Cowboy это сервер на Э-г. В Heroku используют ковбоая для маршрутизации внутри сети. Даже книжку написали.
Hint: таким образом (добавлением пробелов или переносов строк в неожиданных местах) можно обходить DPI провайдеров.
В этом огромный минус текстовых форматов — они дают некую свободу изложения, позволяя легко выразить одно и то же разными способами.

Решение же довольно тривиально — приводить все к каноническому виду перед парсингом.

Однако DPI «по сигнатурам» к счастью с этим не справится (а значит, останется уязвимым перед пробелами-табами-переводами строк), а полноценный разбор протокола будет стоить слишком дорого.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Приходит сын к отцу-программисту:
– Папа, а почему солнце всходит?
– Ты проверял?
– Да…
– Каждый день всходит?
– Да, и каждый день заходит…
– НИЧЕГО НЕ ТРОГАЙ!!!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий