Aleksand
тот-же YAML например. Но не scv.txt же
это какая-то непонятная агрессия, очевидно, что сделали это не очень прошаренные люди и скорее всего из-за простоты своей, но хейтишь ты их не за некачественное решение а за то что они не похожи на всех
CherryTea
Json стандарт для веба уже так давно, что я искренне удивлен что кто-то еще не в курсе
Aleksand
Json стандарт для веба уже так давно, что я искренне удивлен что кто-то еще не в курсе
ну что ты, кроме тебя все балбесы, просто тебе по роду деятельности не приходилось сталкиваться с минусами json, и платить баблом за них конечно не приходилось
Aleksand
как раз-таки за некачественное решение
чем? что конкретно там некачественно? кроме непривычного тебе формата
Skeptic
У csv есть свои преимущества. Например, его можно считывать и парсить построчно, а значит, передавать в нем очень большие массивы.
Aleksand
с удовльствием полушаю о минусах json в контексте веба
это текстовый формат который очень ресурсозатратно кодировать и декодировать, он многословен и синтаксически избыточен, это плата за выразительность какую-то
Alexander
Привет всем! подскажите, пожалуйста некоторые сайты отдают тело страницы не стандартно (например если написано на ReactJS) как такие страницы можно парсить?
Alexander
так как по исходному коду не спарсить, он пустой только ссылка на JS файл
CherryTea
это текстовый формат который очень ресурсозатратно кодировать и декодировать, он многословен и синтаксически избыточен, это плата за выразительность какую-то
браузеру ресурсозатратно декодировать нативными средствами json чем бог знает каким велосипедом написаным под каждый конкретный случай csv?
CherryTea
что вы такое говорите
CherryTea
и много тут таких поклонников csv?
Aleksand
браузеру ресурсозатратно декодировать нативными средствами json чем бог знает каким велосипедом написаным под каждый конкретный случай csv?
ну распарсить бинарный протобуф быстрее, распарсить cvs сплитами тоже весьма вероятно может быть быстрее, но ты же очень умный поэтому тебе плевать что деньги платить надо на сервере а не на клиенте
Safort
так как по исходному коду не спарсить, он пустой только ссылка на JS файл
Попробовать какой-нибудь краулер типа https://slimerjs.org/
Skeptic
и много тут таких поклонников csv?
Ну посмотрю я на вас, когда вы нативными средствами будете декодировать JSON объемом в несколько ГБ
Aleksand
и много тут таких поклонников csv?
тут нет поклонников csv, тут есть поклонники опыта и здравого смысла, а не задорной категоричности недальновидной
CherryTea
словно вы кодируете данные при каждом запросе
CherryTea
хаха, все понятно)
последний аргумент?
Aleksand
последний аргумент?
ты несешь ахинею, я не знаю что тебе на нее ответить. правда. извини.
Skeptic
Как только здесь не обозвали Comma Separated Value (CSV)...
myk.
CVS
myk.
SCV
myk.
Safort
тут нет поклонников csv, тут есть поклонники опыта и здравого смысла, а не задорной категоричности недальновидной
Здравый смысл подсказывает, что не нужно оптимизировать без необходимости. Тем более, что вряд ли именно на том сайте будут гонять мегабайтные json'ы.
Aleksand
Здравый смысл подсказывает, что не нужно оптимизировать без необходимости. Тем более, что вряд ли именно на том сайте будут гонять мегабайтные json'ы.
именно на том сайте сделали наивные ребята далекие от веба, но хейтят их не за это же. там нет смысла использовать csv но ничего страшного или тупого в этом точно нет
CherryTea
"поклонник здравого смысла": в том что они сделали "нет смысла"
CherryTea
но это норм
Skeptic
Немного данных, действительно, лучше передавать в JSON. Банально удобнее. Если данных много, настолько, что парсинг json начинает тормозить, надо думать и оптимизировать. Тут уже есть смысл заморочиться с тем же csv
Safort
Немного данных, действительно, лучше передавать в JSON. Банально удобнее. Если данных много, настолько, что парсинг json начинает тормозить, надо думать и оптимизировать. Тут уже есть смысл заморочиться с тем же csv
>Немного данных, действительно, лучше передавать в JSON. Банально удобнее. О чём и речь. Так-то можно 100500 дополнительных условий привести, но мы же рассматриваем конкретный случай.
Aleksand
"поклонник здравого смысла": в том что они сделали "нет смысла"
они решили задачу, ты пользуешься сайтом. плохим их решение не стало от того что это не json, это у тебя только пригорает на эту тему. широко используемые апи часто имеют сериализаторы выдачи в разном формате, xml до сих пор многие хотят видеть.
CherryTea
перед тем как пойти все-таки поработать сделаю последнюю ремарку: Довольно часто вылаженный публично говнокод вызывает жедание оправдать автора, даже если всем очевидно что это говнокод. Наверное, это как-то связано с тем, что все мы иногда пишем говнокод. Понимая что на заре просветления делал так-же, дабы снизить неприятное чувство (и желание все переписать) у кого-то оно вот так вот проявляется, неконструктивными спорами, этакий оправдательный рефекс
Dmitry
Есть компромисс: http://jsonlines.org/
CherryTea
не пишите говнокод ( и шлите данные браузеру в json )!
CherryTea
всем добра
Таймураз
они решили задачу, ты пользуешься сайтом. плохим их решение не стало от того что это не json, это у тебя только пригорает на эту тему. широко используемые апи часто имеют сериализаторы выдачи в разном формате, xml до сих пор многие хотят видеть.
Скорость выката изменений влияет Куча инструментов завязана на json, пока они под CSV будут говнокод подгонять, пройдет время Больше, чем при нормальной разработке
Aleksand
Скорость выката изменений влияет Куча инструментов завязана на json, пока они под CSV будут говнокод подгонять, пройдет время Больше, чем при нормальной разработке
да, но хейтят их просто за непохожесть на всех, они может и мудаки но не потому что используют csv, ну и какой у них там процесс и потребности можно только гадать
Таймураз
да, разработчиков детектирующих говнокод примерно столько же сколько и его пишущих
Твой пример с большими данными- случай сильно редкий в вебе. Смысл сайту перегонять гигабайты json а? Он не для того предназначен И тот же protobuf нечитаем, тогда как любая жсонка легко парсится, ибо это стандарт
CherryTea
Таймураз
У protobuf свои плюсы, но иногда вносить его в проект не будет иметь смысл
CherryTea
да и минусы у него есть тоже
Aleksand
Твой пример с большими данными- случай сильно редкий в вебе. Смысл сайту перегонять гигабайты json а? Он не для того предназначен И тот же protobuf нечитаем, тогда как любая жсонка легко парсится, ибо это стандарт
я не говорил про гигабайты json, это говорил другой человек. а форматы новые придумывают не для браузеров а для серверов. там деньги горят а не у клиента в браузере
Aleksand
У protobuf свои плюсы, но иногда вносить его в проект не будет иметь смысл
его отлаживать нереально, он мало кому очень нужен на самом деле. но смысл хейта не в плюсах и минусах) смысл в том что все что не json - признак мудака по мнению автора
CherryTea
расписание автобусов меняющееся раз в год это просто гиганская работа для сервера
CherryTea
я готов ребятам проставится на хостинг для воркера который будет это делать
Aleksand
расписание автобусов меняющееся раз в год это просто гиганская работа для сервера
это демагогия, причем очень толстая. потребности в csv там нет, но если его выбрали то мудаками от этого они не стали, как бы ты не хотел этого
Таймураз
его отлаживать нереально, он мало кому очень нужен на самом деле. но смысл хейта не в плюсах и минусах) смысл в том что все что не json - признак мудака по мнению автора
Почему нет? Если есть дефолтный выбор, который ничем не хуже, но они выбирают инструмент не лучше, но хуже на порядок
Таймураз
Мудаки не в плане люди плохие, но как специалисты
CherryTea
его отлаживать нереально, он мало кому очень нужен на самом деле. но смысл хейта не в плюсах и минусах) смысл в том что все что не json - признак мудака по мнению автора
как автор я уточню свою позицию дабы тут не приукрашивали: csv отдавать на фронт - говнокод в большинстве случаев, за исключением теоретических и очень редких.
Таймураз
Никто суп вилкой не ест, а если ест...
CherryTea
Никто суп вилкой не ест, а если ест...
вот когда Вам в кафе принесут суп с вилкой тогда и поговорим
Aleksand
как автор я уточню свою позицию дабы тут не приукрашивали: csv отдавать на фронт - говнокод в большинстве случаев, за исключением теоретических и очень редких.
я не поддерживаю авторов в выборе решения, но твой критерий говнокода (все то что не привычно и не нравится лично тебе) я уже уловил
CherryTea
я не поддерживаю авторов в выборе решения, но твой критерий говнокода (все то что не привычно и не нравится лично тебе) я уже уловил
это всего-лишь ваше мнение о моих критериях сделанное из одного единственного случая (csv не люблю не только я)
A
начни с HTTP
Этот подойдет? https://www.amazon.com/HTTP-Definitive-Guide-Guides/dp/1565925092
Алексей
Почему нет? Если есть дефолтный выбор, который ничем не хуже, но они выбирают инструмент не лучше, но хуже на порядок
могу ошибаться, но мне кажется, что основным потребителем расписаний общественного транспорта являются мобильные приложения, типа яндекс.транспорт и аналогов в них существенна разница не только в размере ответа (у клиентов плохой и дорогой мобильный инет), но и в ресурсах, затрачиваемых на парсинг ответа (меньше греется, дольше живёт) вполне вероятно, что в данном примере на сервере выбрали csv просто наобум, или от лени, или от незнания, или от того, что на перле пишут и ненавидят json. причин может быть много но не удивлюсь, если те же разработчики яндекс.транспорта будут благодарны за этот выбор :)
Алексей
Экономия на спичках Там за день не так много трафика соберётся
json обвязка для данных вполне может увеличивать размер ответа раза в два да, пускай это всё равно останутся спички но эти спички везде: немного насыпят на сервере при генерации ответа, немного добавят увеличением объёма траффика, ещё чуть-чуть сыпанут на клиенте - и вот уже целый коробок :) и ради чего? ладно бы было единообразие ответов всех систем мониторинга общественного транспорта но пока его нет, и для каждого города всё равно надо писать свой парсер в питере, например, отдаётся милый json http://transport.orgp.spb.ru/Portal/transport/map/stage?ROUTE=1087&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&SRS=EPSG%3A900913&BBOX=3372854.4664554,8394442.2729018,3382012.2339402,8398355.84875 и что-то мне подсказывает, что такой формат ответа тоже вряд ли всех устроит
Таймураз
json обвязка для данных вполне может увеличивать размер ответа раза в два да, пускай это всё равно останутся спички но эти спички везде: немного насыпят на сервере при генерации ответа, немного добавят увеличением объёма траффика, ещё чуть-чуть сыпанут на клиенте - и вот уже целый коробок :) и ради чего? ладно бы было единообразие ответов всех систем мониторинга общественного транспорта но пока его нет, и для каждого города всё равно надо писать свой парсер в питере, например, отдаётся милый json http://transport.orgp.spb.ru/Portal/transport/map/stage?ROUTE=1087&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&SRS=EPSG%3A900913&BBOX=3372854.4664554,8394442.2729018,3382012.2339402,8398355.84875 и что-то мне подсказывает, что такой формат ответа тоже вряд ли всех устроит
Есть разного рода спички То, на что вы сетуете, используют крупнейшие корпорации мира, используя оптимизации только там, где это реально необходимо Вы реально считаете, что у них CSV делает код производительнее?
Таймураз
json обвязка для данных вполне может увеличивать размер ответа раза в два да, пускай это всё равно останутся спички но эти спички везде: немного насыпят на сервере при генерации ответа, немного добавят увеличением объёма траффика, ещё чуть-чуть сыпанут на клиенте - и вот уже целый коробок :) и ради чего? ладно бы было единообразие ответов всех систем мониторинга общественного транспорта но пока его нет, и для каждого города всё равно надо писать свой парсер в питере, например, отдаётся милый json http://transport.orgp.spb.ru/Portal/transport/map/stage?ROUTE=1087&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&SRS=EPSG%3A900913&BBOX=3372854.4664554,8394442.2729018,3382012.2339402,8398355.84875 и что-то мне подсказывает, что такой формат ответа тоже вряд ли всех устроит
У Яндекс недвижимости отдается XML, к которому есть документация (что в случае с Яндексом делает работу в XML стандартом) То же самое можно сделать и у транспорта И буду удивлен, если этих решений не существует
Алексей
Есть разного рода спички То, на что вы сетуете, используют крупнейшие корпорации мира, используя оптимизации только там, где это реально необходимо Вы реально считаете, что у них CSV делает код производительнее?
это какое-то обобщение я думаю, не только крупнейшие корпорации (это какие, кстати?), но и любые команды используют разные форматы для разных задач-условий кроме того, я не говорил, что csv это однозначно хорошо я говорил, что нельзя утверждать, что это однозначно плохо
CherryTea
кстати, любопытно, но не знаю ни одного сайта куда бы отдавался csv, и это было реально нужно
Алексей
Гугл, Фейсбук, Твиттер Вы их апи сами не видели? И то, что Гугл много где протобаф применяет тоже не слышали?
вот именно протобуф, а не json вроде как я об этом и говорил - разные форматы для разных условий
Таймураз
Таймураз
каких именно решений? я думаю, в каждом городе своё решение
В каждом городе свой сервис по продаже? Гоните?)
Алексей
Загуглите Яндекс недвижимость api)
загуглите трансорт петербурга, транспорт москвы, казани...