Home
Все о Java
java@conference.jabber.ru
Воскресенье, 21 сентября 2014< ^ >
ne_formal установил(а) тему: Конференция для общения по тематике программирования исключительно на Java | Об этикете вопросозадавания: http://parallel.ru/cluster/smart-questions-ru.html | Документация и уроки Java http://download.oracle.com/javase/ | Библиотека примеров кода http://www.java2s.com | Хорошие книги: Брюс Эккель "Философия Java"; Кей Хорстманн, Гарри Корнелл "Java 2. Библиотека профессионала" | С JavaScript, J2ME - ищите другие конфы | Логи:  http://chatlogs.jabber.ru/java@conference.jabber.ru/ | Код бросать сюда http://paste.org.ru/ | J++ / J# / JS is not Java
Конфигурация комнаты
Участники комнаты

GMT+4
[00:37:09] idkill вошёл(а) в комнату
[01:26:30] Lubagov_H вышел(а) из комнаты
[01:35:03] eaeee вышел(а) из комнаты
[01:40:50] olgZZZ вышел(а) из комнаты
[01:47:11] Dema вышел(а) из комнаты
[02:10:13] idkill вышел(а) из комнаты
[02:11:33] idkill вошёл(а) в комнату
[02:19:32] drumond вышел(а) из комнаты
[02:30:07] Gerc вышел(а) из комнаты
[03:36:22] ne_formal вышел(а) из комнаты
[05:30:36] idkill вышел(а) из комнаты
[06:02:53] bonho вошёл(а) в комнату
[06:16:20] nt4t вошёл(а) в комнату
[06:18:41] bonho вышел(а) из комнаты
[07:51:21] rexim вошёл(а) в комнату
[08:34:28] Dema вошёл(а) в комнату
[08:44:55] <ForNeVeR> Посаны. Кто-нибудь делал PDF в прогах на жабе? Если да, то с помощью каких средств? iText мне что-то не очень нравится, посматриваю в сторону Apache FOP.
[09:28:42] Gerc вошёл(а) в комнату
[09:28:48] madmercen вышел(а) из комнаты: offline
[09:52:15] POPSuL вышел(а) из комнаты: Replaced by new connection
[09:52:16] POPSuL вошёл(а) в комнату
[10:13:42] POPSuL вышел(а) из комнаты: Replaced by new connection
[10:13:42] POPSuL вошёл(а) в комнату
[10:23:01] EGD вошёл(а) в комнату
[11:26:12] Я2R вошёл(а) в комнату
[11:49:30] ne_formal вошёл(а) в комнату
[11:50:04] ne_formal вышел(а) из комнаты
[11:50:15] ne_formal вошёл(а) в комнату
[11:57:21] Я2R вышел(а) из комнаты: Вышел из Vacuum-IM
[12:08:46] Gerc вошёл(а) в комнату
[12:17:47] ne_formal вышел(а) из комнаты: Replaced by new connection
[12:18:05] Gerc вышел(а) из комнаты
[12:18:06] Gerc вошёл(а) в комнату
[12:18:14] ne_formal вошёл(а) в комнату
[12:18:44] Akon32 вошёл(а) в комнату
[12:21:34] madmercen вошёл(а) в комнату
[12:35:57] rexim вышел(а) из комнаты
[12:51:47] drumond вошёл(а) в комнату
[13:02:59] Nirdosh_ вышел(а) из комнаты
[13:04:54] idkill вышел(а) из комнаты
[13:05:22] Nirdosh_ вошёл(а) в комнату
[13:09:05] rexim вошёл(а) в комнату
[13:17:14] Akon32 вышел(а) из комнаты
[13:20:10] Gerc вышел(а) из комнаты
[13:22:16] olgZZZ вошёл(а) в комнату
[13:22:31] Gerc вошёл(а) в комнату
[13:23:20] Dema вошёл(а) в комнату
[13:35:50] Dema вышел(а) из комнаты: Replaced by new connection
[13:42:06] Gerc вышел(а) из комнаты
[13:55:11] ~ArchimeD~ вышел(а) из комнаты
[14:01:56] Gebb вышел(а) из комнаты
[14:05:43] hinst вошёл(а) в комнату
[14:09:01] AkiraYamaoka вошёл(а) в комнату
[14:15:21] <ForNeVeR> А кто юзал thymeleaf? Я про такое впервые слышу, но на сайтике Spring MVC это в списке рекомендуемых решений, да и выглядит неплохо.
[14:26:52] nt4t вышел(а) из комнаты
[14:27:30] nt4t вошёл(а) в комнату
[14:33:37] Lubagov_H вошёл(а) в комнату
[14:33:37] Lubagov_H вышел(а) из комнаты
[14:34:14] EGD вышел(а) из комнаты: Вышел из Vacuum-IM
[14:35:07] Lubagov_H вошёл(а) в комнату
[14:38:31] rexim вышел(а) из комнаты
[14:41:07] EGD вошёл(а) в комнату
[15:00:16] rexim вошёл(а) в комнату
[16:23:59] idkill вошёл(а) в комнату
[16:26:17] <idkill> ForNeVeR, взял дамп с оф. сайта stackexchange. они выкладывают его раз в 3 месяца через торренты. и там в общем куча всего http://i.imgur.com/ujxUMCP.png .
это дамп SQL Server. бесплатного конвертера для PostgreSQL я не нашел... открываю архив и вижу XML файл с такой структурой: http://i.imgur.com/pREEnUz.png
[16:26:57] <idkill> проблема в том что есть файлы XML, которые после распаковки весят от 40 гигов и выше (а у меня всего лишь 32 гига оперативы)
[16:27:08] <ForNeVeR> Ну и что?
[16:27:16] <ForNeVeR> Ты весь файл в память чтоль грузить собрался?
[16:27:32] <idkill> ForNeVeR, не... я вообще осведомлён о Streams
[16:27:49] <ForNeVeR> Тогда чем же ты недоволен, друже?
[16:28:01] <idkill> и вот моя логика такова, чтобы после строчки <posthistory> читать строку за строкой
[16:28:09] <ForNeVeR> Нахера?
[16:28:18] <ForNeVeR> Ты же "осведомлён о Streams".
[16:28:50] <ForNeVeR> Разве базовый уровень "осведомлённости о Streams" не включает в себя осведомлённость о потоковых XML-парсерах?
[16:29:03] <idkill> я всего лишь "осведомлён" - да ) с этого же stackoverflow :D
[16:29:23] <ForNeVeR> Вот там и читни про потоковый парсинг XML в жабе :3
[16:29:37] <idkill> ForNeVeR, нашел какой-то stax
[16:29:41] <ForNeVeR> Я уверен, там примерно хулиард раз эта тема обсасывалась.
[16:29:44] <ForNeVeR> Да, STAX.
[16:29:58] <idkill> просто в примере
[16:30:32] <idkill> ForNeVeR, нашел в примере строчку List<Entity> ... и там потом наполняется этот массив
[16:30:48] <ForNeVeR> Ах! Какой коварный пример!
[16:30:50] <idkill> я как прикинул если в этот массив считать все 8 миллионов строк )
[16:30:57] <ForNeVeR> А нахера?
[16:31:12] <ForNeVeR> Чо б тебе не флушить их в БД сразу или по достижении определённого размера буфера?
[16:31:20] eaeee вошёл(а) в комнату
[16:31:23] eaeee вышел(а) из комнаты
[16:31:24] <idkill> http://blog.sanaulla.info/2013/05/23/parsing-xml-using-dom-sax-and-stax-parser-in-java/#stax
[16:31:47] <idkill> ForNeVeR, да. именно это у меня и возникает в голове. по достижении размера
[16:32:08] <ForNeVeR> Это уже зависит от БД.
[16:32:39] <ForNeVeR> Я полагаю, что какие-нибудь nosql бы лучше работали, если б ты не буферил у себя записи, а сразу в них отправлял.
[16:33:02] <ForNeVeR> А вот в SQL лучше писать батчами, ну, скажем, по 1000 строк.
[16:33:24] <ForNeVeR> Ещё лучше, если у тебя есть какой-то вендорный API для батчевой записи, он ещё быстрее будет работать.
[16:34:01] Я2R вошёл(а) в комнату
[16:34:38] <idkill> прекольно
[16:36:19] <idkill> ForNeVeR, благодарствую!
[16:46:43] <idkill> ForNeVeR, я кстати заметил в этом XML не всегда присутствуют все поля таблицы
[16:47:13] <idkill> некоторые опускаются. боюсь это вызовет ошибки.
[16:47:16] <idkill> currEmp.id = reader.getAttributeValue(0);
[16:47:23] Я2R вышел(а) из комнаты: Вышел из Vacuum-IM
[16:47:34] <ForNeVeR> idkill: дак ты по имени доставай.
[16:47:45] <idkill> по имени - только так
[16:47:47] <ForNeVeR> Совсем чтоль не умеешь xML парсить? :D
[16:47:56] <idkill> неа
[16:48:15] <idkill> к сожалению )
[16:51:36] <idkill> ForNeVeR, http://i.imgur.com/Pd6AWr9.png странный подход однако. я думал там будет нечто вроде getbyname(String s)
[16:52:14] <ForNeVeR> Но ведь это оно и есть.
[16:52:48] <idkill> ^)
[16:52:52] <idkill> :)
[16:53:04] <ForNeVeR> getAttributeValue(nmsp, name)
[16:53:55] <idkill> пойду на перекус. мозгу срочно нужно питание )
[16:54:14] <ForNeVeR> Неймспейс ты знаешь (null там или пустая строка, судя по образцу документа, который ты показал), имена атрибутов - тоже.
[16:57:01] <idkill> ForNeVeR, в принципе первый атрибут ID - везде присутствует. с тестированием этого метода с двумя строковыми переменными проблем не будет
[16:57:27] Dema вышел(а) из комнаты
[17:29:57] bonho вышел(а) из комнаты
[17:30:24] olgZZZ вышел(а) из комнаты
[17:53:02] nt4t вышел(а) из комнаты
[18:12:38] Я2R вошёл(а) в комнату
[18:13:07] Gerc вышел(а) из комнаты
[18:13:56] Gerc вошёл(а) в комнату
[18:15:27] Gerc вышел(а) из комнаты
[18:15:28] drumond вышел(а) из комнаты
[18:15:37] drumond вошёл(а) в комнату
[18:15:37] Gerc вошёл(а) в комнату
[18:35:21] Я2R вышел(а) из комнаты: Вышел из Vacuum-IM
[18:49:21] <idkill> ForNeVeR, инстанс XMLStreamReader не создается. причем я ж под виндой. и путь к файлу указал в соответствии с java docs
XMLStreamReader reader = factory.createXMLStreamReader(ClassLoader.getSystemResourceAsStream("d:\\Information\\stackexchange\\test\\PostHistory.xml"));
[18:49:51] <idkill> System.out.print случайного текста делаю ДО декларации инстанса - выдает текст. ПОСЛЕ - не выдал
[18:58:11] <idkill> кажется, почти разобрался
[19:02:00] Dema вошёл(а) в комнату
[19:02:02] <idkill> ForNeVeR, кстати, работаю на двух мониторах :) http://i.imgur.com/hQxjm3J.png
[19:02:38] <idkill> ForNeVeR, реально ппц... на одном тяжко. не видишь ни код ни оутпут (для сравнения: http://i.imgur.com/AnlNKDQ.png )
[19:06:36] <ForNeVeR> idkill: это ты попонтоваться хотел?
[19:06:43] <ForNeVeR> У меня три монитора, если что.
[19:06:51] <idkill> ForNeVeR, хера се )
[19:07:21] <ForNeVeR> 2 * 1280x1024 + 2560x1080.
[19:07:21] <idkill> ForNeVeR, куда ж ты так 3 деваешь?
[19:07:33] <ForNeVeR> Очень удобно, чо :)
[19:07:56] <ForNeVeR> Последний - Ultrawide, на нём одновременно два окна IDE можно держать.
[19:08:07] <idkill> ForNeVeR, угу согласен. ксатти, у тебя видеокарта держит именно три моника?
[19:08:16] <ne_formal> ForNeVeR, пруфни
[19:08:24] <idkill> и можно ли к видюхе в один порт какой разветвитель взять на 3 моника?
[19:08:24] <ne_formal> хочу посмотреть на кривой скриншот
[19:10:27] <ForNeVeR> ne_formal: https://dl.dropboxusercontent.com/u/10908547/monitors.png
[19:10:53] <ForNeVeR> idkill: да, видеокарта держит три монитора. Нет, просто так их нельзя цеплять. Большинство трёхпортовых видеокарт держат только два, например.
[19:11:20] <ne_formal> свят-свят. шиндовс!
[19:11:33] <idkill> ForNeVeR, я специальную брал видюху под 2
[19:11:51] <ForNeVeR> idkill: два щас почти любая поддерживает.
[19:12:11] <idkill> ForNeVeR, кстати твоя ссылка у меня в беларуси не открывается.
[19:12:17] <ForNeVeR> А я уже удолил.
[19:12:23] <idkill> эх
[19:12:28] <ForNeVeR> :4
[19:12:30] <ForNeVeR> :3
[19:12:41] <Gerc> 2
[19:12:44] <Gerc> 1
[19:12:48] <ForNeVeR> 0
[19:12:57] <Gerc> еще раз заливай
[19:12:59] <idkill> зато вот такая красотень выскочила http://i.imgur.com/07t0hCK.png
[19:16:33] <idkill> ForNeVeR, кстати я юзаю вот эту софтину для скринов http://www.picpick.org/en/ - пока ничего лучшего не видел
[19:19:42] <idkill> еще прикольно бывает её использовать наряду с FineReader. кидаешь скрин экрана где нельзя скопировать текст - распознал - скопировал.
[19:20:48] idkill не особо желает переходить на linux. даже в будущем.
[19:23:37] Gebb вошёл(а) в комнату
[19:41:18] olgZZZ вошёл(а) в комнату
[19:57:23] rexim вышел(а) из комнаты
[20:08:32] EGD вышел(а) из комнаты: Вышел из Vacuum-IM
[20:17:28] <idkill> ForNeVeR, слушай, у меня проблема... вот пример на котором идёт парсинг http://i.imgur.com/xMN6uxo.png
[20:17:51] <ForNeVeR> Прекрасный пример.
[20:17:59] <idkill> фишка в том что закрывающий тег содержит имя. в моем же случае <row />
[20:18:20] <ForNeVeR> Ок, и какие проблемы?
[20:18:20] <idkill> и он пишет что проблема с парсингом
[20:18:26] <ForNeVeR> Кто "он"?
[20:18:36] <idkill> http://i.imgur.com/9CblbDi.png
[20:19:22] <ForNeVeR> idkill: друже, ты не мог бы текст копировать на пасту?
[20:19:30] <ForNeVeR> Что-то последняя картинка у меня не открывается.
[20:19:41] <idkill> конечно. один момент
[20:19:51] <ForNeVeR> idkill: ну и покажи свою XMK'ку.
[20:20:38] <idkill> http://hastebin.com/hiqugasowi.avrasm
http://pastebin.com/ZhHS1xPZ
[20:21:33] <ForNeVeR> idkill: ну, гм, это выглядит как нормальная XML'ка, не должно глючить.
[20:21:39] <idkill> разумеется
[20:21:43] <ForNeVeR> idkill: а как ты парсишь её?
[20:22:13] <idkill> вот цикл обработки мой:
http://pastebin.com/m0Yieujb
[20:22:23] <idkill> и здесь прежде всего нужно обратить внимание на:
[20:22:32] <idkill> case XMLStreamConstants.END_ELEMENT:
[20:22:50] <idkill> case "row": - это если бы было </row>
[20:23:05] <idkill> тогда просто case "/>" должно быть чтоли
[20:23:24] <ForNeVeR> idkill: да нет, вроде бы парсер в этом случае вызовет END_ELEMENT.
[20:23:53] <ForNeVeR> А на какой строке падает?
[20:24:05] <idkill> ParseError at [row,col]:[1,1]
[20:24:13] <ForNeVeR> Нет, в твоём коде на какой.
[20:24:32] <idkill> это мне еще предстоит выяснить...
[20:24:36] <idkill> такс...
[20:25:17] <ForNeVeR> На пятьдесят девятой.
[20:25:32] <ForNeVeR> Правда, из твоего листинга непонятно, где там пятьдесят девятая строка.
[20:26:05] <idkill> http://hastebin.com/jowometico.xml
[20:26:13] <idkill> а как ты определил что на 59?
[20:26:21] <idkill> я пытаюсь reader распечатать
[20:26:38] <ForNeVeR> idkill: в стеке же видно строку.
[20:26:52] <ForNeVeR> idkill: в твоём коде, а не в XML.
[20:27:10] <idkill> ёп
[20:27:13] <idkill> точно
[20:27:59] <idkill> у меня хастбин не отображает всю строку. ща перелью
[20:28:24] <idkill> http://pastebin.com/4YDLEpuK
[20:28:39] <idkill> кстати, было бы прикольно эти дампы в JSON сконвертить :D :D
[20:28:48] <ForNeVeR> idkill: друже, ты в своём коде найди мне 59 строку.
[20:29:00] <idkill> int event = reader.next();
[20:29:05] <idkill> тогда я совсем лох
[20:30:15] <ForNeVeR> idkill: слушай, а в том файле кодировка указана?
[20:30:31] <ForNeVeR> Хм, указана. Промах :(
[20:30:45] <idkill> <?xml version="1.0" encoding="utf-8"?>
[20:31:03] <idkill> ForNeVeR, может его реально в json? :D
[20:31:18] <ForNeVeR> idkill: а UTF-8 BOM там, случайно, нету?
[20:31:33] <ForNeVeR> Можешь файл выложить куда-нибудь? Ну или сам проверь первые три байта.
[20:32:12] <idkill> Byte Order Mark (BOM)) — Юникод-символ, используемый для индикации порядка - ого
[20:32:27] <idkill> да я сам проверю
[20:39:56] <idkill> ForNeVeR, в notepad++ xml tools используешь для этого?
[20:40:06] SystemV вошёл(а) в комнату
[20:40:17] <ForNeVeR> idkill: у меня emacs :(
[20:40:31] <idkill> ForNeVeR, как ты с ним вообще работаешь? )
[20:40:48] <ForNeVeR> Ну, M-x doctor и поехали.
[20:41:20] <idkill> ForNeVeR, слушай ) удалил BOM в общем.. теперь ParseError at [row,col]:[1,39]
[20:41:25] <idkill> ну да ладно. ща еще покурю
[20:42:21] <ForNeVeR> А я уже спать пойду.
[20:42:36] <idkill> ForNeVeR, давай. ночи!
[20:58:44] <idkill> ForNeVeR, кстати сделал. работает. пасиб за помощь!
[21:28:42] Gerc вышел(а) из комнаты: Replaced by new connection
[21:28:47] Gerc вошёл(а) в комнату
[21:38:01] Akon32 вошёл(а) в комнату
[21:51:50] Gerc вышел(а) из комнаты: Replaced by new connection
[21:51:58] Gerc вошёл(а) в комнату
[22:11:47] Gerc вошёл(а) в комнату
[22:11:52] Gerc вышел(а) из комнаты
[22:15:01] Gerc вошёл(а) в комнату
[22:20:14] Akon32 вышел(а) из комнаты
[22:43:57] Dema вошёл(а) в комнату
[22:47:34] Dema вышел(а) из комнаты
[23:12:36] Dema вышел(а) из комнаты
[23:40:06] bonho вошёл(а) в комнату
[23:56:18] SystemV вышел(а) из комнаты: QIP Infium: Спокойное общение
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!