Nodejs и Python против Xml

preview_player
Показать описание
Мне по работе надо было распарсить xml-файл размером один гигабайт. Я сделал это с помощью nodejs и python, но только с одним из этих языков программирования мне удалось получить нужный результат.

НЕТ ВОЙНЕ!

Выразить благодарность
BTC: 127J5x79L9bb7T4jiYJ2U7jHNDLXEx4kT3
USDT (TRC20): TWRQit8o1JJGWjAph3DZFysygUxSwqiq9Q
TON: UQBDiFGDTLpp1zWLefv0LnH9TbEeUIcPSoO5uDNwhzktKP33

Как я стал программистом

Как я переехал в Европу

Стрим: Карьера программиста

VPN, который я использую

👉🏻 Больше влогов здесь:
#larchankavlog #larchanka

👉🏻 Ежедневные влоги:
#larchankadaily

👉🏻 Чем я снимаю:
➡️ Еще одна камера: Sony DSC-WX500
➡️ Микрофон: Rode Video

Музыка:
East Coast - Molife
The Turn (Instrumental Version) - Martin Hall
Рекомендации по теме
Комментарии
Автор

По больше бы такого формата видосов где описываются как решается та или иная задача в разных языках. Интересно как бы go справился бы с такой задачей

samrybkin
Автор

Понравился формат, полезно. Бизнес-проблема - пути решения - решение, такого бы почаще

viatkinviatkin
Автор

Я не знал что Миша парсить умеет. Респектос!

mlr__roal_
Автор

крутой формат. побольше бы такого, пускай даже в формате shorts

lastink
Автор

Не надо парсить огромный xml DOM парсером. Используйте SAX парсер и парсите любые объемы.

YaroslavRudykh
Автор

В ноде есть библиотечка big-xml, для парсинга больших файлов xml, хотя судя по гитхабу она довольно устарела. В общем кажется проблема была в организации правильного стриминга xml.

DreamingDolphing
Автор

Какой то вывод не такой. Языки тут ни при чем, нужно понимать как библиотека с которой ты работаешь, работает внутри. Если бы на JS был эквивалент libxml (а может он и есть и ты просто не добрался до него), то и JS бы заработал с минимальным количеством памяти

TarasZakharchenko
Автор

Спасибо, да инженер есть инженер. Миша красава 👍

aleksandrzelenskiy
Автор

честно это на 5-10 минут в GPT 4 + python. Скормить ему кусок xml и четко поставить задачу на английском. Да не спротивно, да не по олдсульному, но когда таких задач по 20 на день при работе с биг дата, вариантов нет ) кривой косой код, не важно, надо просто решить задачу.

victorkravchenko
Автор

Я тоже использую разные ЯП, соглашусь яп это инструменты

mirosh
Автор

А сколько времени это заняло на nodejs? Быстрее или медленнее по сравнением с питоном?

AyratSafin
Автор

Надо было Java Stax использовать. Это самое то для больших файлов. Прада там надо с евентами работать а на с DOM.

alexdevalex
Автор

Обьясните, в чем же приймущество питона, если в любом случае все нужно закачать сначала в оперативную память, мне кажется просто подход другой та миспользуется, но это не говорит что тоже самое нельзя сделать на ноде. Оперативка, файловая система, процессор - работают везде одинаково, если не считать низкоуровневые языки. Многопоточность пайтона тоже думаю тут не причем, так как файл все-равно нужно загрузить. И еще, что если файл весит 100гигов, тут уже увеличение оперативы не поможет, буду рад любому коменту.

den
Автор

Блин то же самое в интернет все написано на пайтон(на такие вроде мелкие вещи), классно что очень много готогого кода есть на нем

Memes_uploader
Автор

А что если просто импортировать XML в Excel?

autodidactit
Автор

Миш, расскажи, опасаешься ли ты того, что скоро будет запущен в открытый доступ искуственный интеллект Google Gemini? Насколько я понимаю, он сможет читать и строить блок-схемы, будет мультимодальным, количество лексем планируется в 2 раза больше, чем в случае GPT-4, и т. д.

mtjbkxu
Автор

Дядя Мишико..вот что'по дилетански обнаружилосъ в разумениях по методам" да и вообще принципам программирований..при написаниях строк кодов взаимополъзователъ с потенциалом возможностей сознания"назовем индекс 100 реализуют в кодинге зачастую продукт более суженного значения индекса.. в контексте последующих действий заданий программ"относителъно различных других вариаций разнообразий возможностей и т.д.этих самых чёткозаданных программ..индекс пустъ и 100..1000 заданных здесъ может выглядетъ многоскромней..бесконечно
Интересно было бы представитъ кодирования и взаимодействия специалистов в принципиалъно других методах преобразований инфррм.возможностей..
Например: тетрадъ в клеточку:-размер клеточки'порядковый номер в стандарте листа"соотношения масштабирований листа и клеточки и т.п. с добавлением любых логических базисов" их

seryjsk
Автор

Как фронтендер, хорошо что послал нахер ноду (как для бекенда) и изучил джанго/пайтон. С ним одно удовольствие писать рест апи да и применимости пайтону много.

Syberby
Автор

Сколько понадобилось ноде времени, чтобы распарсить нужный файл по итогу?

dima__rxfwrmn
Автор

xml можно парсить в потоке, просто нужно запоминать вложенность тегов. Тут скорее не нода виновата, а программист не захотел заморачиваться. Кстати есть библиотеки для этого)

fgbotgj