Nodejs и Python против Xml
HTML-код
- Опубликовано: 25 окт 2023
- Мне по работе надо было распарсить xml-файл размером один гигабайт. Я сделал это с помощью nodejs и python, но только с одним из этих языков программирования мне удалось получить нужный результат.
НЕТ ВОЙНЕ!
Выразить благодарность
ko-fi.com/larchanka
boosty.to/larchanka
yoomoney.ru/to/410011886858328
BTC: 127J5x79L9bb7T4jiYJ2U7jHNDLXEx4kT3
USDT (TRC20): TWRQit8o1JJGWjAph3DZFysygUxSwqiq9Q
TON: UQBDiFGDTLpp1zWLefv0LnH9TbEeUIcPSoO5uDNwhzktKP33
Как я стал программистом
• КАК Я СТАЛ ПРОГРАММИСТОМ
Как я переехал в Европу
• Как я переехал в Европу
Стрим: Карьера программиста
• Карьера программиста: ...
VPN, который я использую
surfshark.club/friend/fUXc3NQd
➡️ Сайт: i.mobila.name/xT
➡️ Instagram: i.mobila.name/yp
➡️ Twitter: i.mobila.name/Ua
➡️ Telegram: i.mobila.name/b7d
👉🏻 Больше влогов здесь:
#larchankavlog #larchanka
👉🏻 Ежедневные влоги:
#larchankadaily
👉🏻 Чем я снимаю:
➡️ iPhone 14 Pro
➡️ Камера: Canon EOS 200D ya.cc/Ps7fY
➡️ Широкоугольный объектив: Canon EF-S 10-18
➡️ Еще одна камера: DJi Osmo Action
➡️ Еще одна камера: Sony DSC-WX500
➡️ И еще одна: SJCam SJ6 Legend
➡️ Микрофон: Rode Video
➡️ Штатив: Joby Gorillapod ya.cc/Ps7iP
Музыка:
East Coast - Molife
The Turn (Instrumental Version) - Martin Hall
По больше бы такого формата видосов где описываются как решается та или иная задача в разных языках. Интересно как бы go справился бы с такой задачей
Понравился формат, полезно. Бизнес-проблема - пути решения - решение, такого бы почаще
крутой формат. побольше бы такого, пускай даже в формате shorts
спасибо за хороший урок! :)
Спасибо большое за видео❤🎉❤🎉
Я не знал что Миша парсить умеет. Респектос!
Истории ресолвов и факапов - это гуд!
Спасибо, да инженер есть инженер. Миша красава 👍
В ноде есть библиотечка big-xml, для парсинга больших файлов xml, хотя судя по гитхабу она довольно устарела. В общем кажется проблема была в организации правильного стриминга xml.
Его нельзя парсить стримом, такая же проблема с большими PDF. Random bite access требуется, т.е. пока ты весь файл не закачаешь в память ничего не выйдет
скобка открылась в первом байте файла, закрылась в последнем байте.
Не надо парсить огромный xml DOM парсером. Используйте SAX парсер и парсите любые объемы.
Блин то же самое в интернет все написано на пайтон(на такие вроде мелкие вещи), классно что очень много готогого кода есть на нем
А сколько времени это заняло на nodejs? Быстрее или медленнее по сравнением с питоном?
На ноде до сих пор парсится 😂😂
Сколько понадобилось ноде времени, чтобы распарсить нужный файл по итогу?
Какой то вывод не такой. Языки тут ни при чем, нужно понимать как библиотека с которой ты работаешь, работает внутри. Если бы на JS был эквивалент libxml (а может он и есть и ты просто не добрался до него), то и JS бы заработал с минимальным количеством памяти
Обьясните, в чем же приймущество питона, если в любом случае все нужно закачать сначала в оперативную память, мне кажется просто подход другой та миспользуется, но это не говорит что тоже самое нельзя сделать на ноде. Оперативка, файловая система, процессор - работают везде одинаково, если не считать низкоуровневые языки. Многопоточность пайтона тоже думаю тут не причем, так как файл все-равно нужно загрузить. И еще, что если файл весит 100гигов, тут уже увеличение оперативы не поможет, буду рад любому коменту.
Миш, расскажи, опасаешься ли ты того, что скоро будет запущен в открытый доступ искуственный интеллект Google Gemini? Насколько я понимаю, он сможет читать и строить блок-схемы, будет мультимодальным, количество лексем планируется в 2 раза больше, чем в случае GPT-4, и т. д.
честно это на 5-10 минут в GPT 4 + python. Скормить ему кусок xml и четко поставить задачу на английском. Да не спротивно, да не по олдсульному, но когда таких задач по 20 на день при работе с биг дата, вариантов нет ) кривой косой код, не важно, надо просто решить задачу.
Ого, а почему не lxml? Да и селекторов поверх него написано не мало.
Надо было Java Stax использовать. Это самое то для больших файлов. Прада там надо с евентами работать а на с DOM.
Я тоже использую разные ЯП, соглашусь яп это инструменты
А что если просто импортировать XML в Excel?
Как фронтендер, хорошо что послал нахер ноду (как для бекенда) и изучил джанго/пайтон. С ним одно удовольствие писать рест апи да и применимости пайтону много.
xml можно парсить в потоке, просто нужно запоминать вложенность тегов. Тут скорее не нода виновата, а программист не захотел заморачиваться. Кстати есть библиотеки для этого)
какой из него программист, обычный блогер посредственный
Читаю построчно json гиговые, прекрасно работает, не больше 100мб кушает 😊
Можно поподробнее, это на ноде?
Дядя Мишико..вот что'по дилетански обнаружилосъ в разумениях по методам" да и вообще принципам программирований..при написаниях строк кодов взаимополъзователъ с потенциалом возможностей сознания"назовем индекс 100 реализуют в кодинге зачастую продукт более суженного значения индекса.. в контексте последующих действий заданий программ"относителъно различных других вариаций разнообразий возможностей действий..около"меж"пред"пост" и т.д.этих самых чёткозаданных программ..индекс пустъ и 100..1000 заданных здесъ может выглядетъ многоскромней..бесконечно
Интересно было бы представитъ кодирования и взаимодействия специалистов в принципиалъно других методах преобразований инфррм.возможностей..
Например: тетрадъ в клеточку:-размер клеточки'порядковый номер в стандарте листа"соотношения масштабирований листа и клеточки и т.п. с добавлением любых логических базисов" их правил?!.👼👵👨🏭👩🍳👨🌾👴🧓🤖👨💼👺👦👽👧👨🌾👩🍳👩🔧👩🌾🧒😶👨💻🧓👻💩👶🍃
Python - сила )))
надо было на php
вывод конечно печаль
Вот как раз в этом и вся сила python, друг! ))) Нет войне!
код написал chat gpt )))
Про последнюю фразу - знал бы прикуп, жил бы в Сочи
xml открывается в excel если что), хотя да, наверное с большим не справится
Excel оч-ч-чень специфическая штучка, не стоит на него полагаться. Ну и у Миши его может просто не быть.
А почему вы финансируете войну, раз "против" неё?...
А ты против войны?
с чего вы вообще взяли что он финансирует войну?
Так он налоги платит - его страна отправляет оружие на украину, поэтому русские убьют больше украинцев. Так что Михаил говорит одно, а делает - другое. Лицемер.@@dashakoval3534