Очень простенькая задачка

User avatar
KirAleks
Уже с Приветом
Posts: 210
Joined: 25 Apr 2001 09:01
Location: Kaluga->Minsk->SFBA

Re: Очень простенькая задачка

Post by KirAleks »

8K wrote:
KirAleks wrote:какие сидаты :lol: :lol: :lol: :ROFL: :ROFL:
вы что хотите написать ? протрите очки, пожалуйста - никакого подвоха нету. и мы НЕ пишем супер мегатонный парсер ! :angry: :angry:
Ну, вы же задачу так и не поставили, формат исходных данных неизвестен. Подразумевается XML, но в примере, очевидно, не well-formed XML. А если все же XML (в примере опечатки), то что конкретно из стандарта выкусили? Обязаны ли элементы идти каждый на отдельной строке, или вы просто так написали для удобства чтения? Куда делся пролог? Хорошо, сидату опускаем. Как насчет неудобных символов? Процент-амперсанд-кавычки-етц побоку, или все же обрабатываем? Пробелы значимы (если да, то в каких местах) или нет? Это ж до посинения можно перечислять.

Я так задачи на интервью не ставлю, это игра в одни ворота получается. И если постановка задачи на пальцах, то решение, соответственно, будет на коленке.
поясните что такое "well-formed XML" с точки зрения именно структуры а не содержимого (Вы там че-то пытались намекнуть на нормализацию- но это не к месту) а то я что -то не пойму о чем вы.

я к тому что предложенный контент файла легко отпарсится стандартным хмл парсером без ошибок.

по кавыки, пролог и прочие не нужные элементы забываем. некодируемые символы - см выше.
пробелы не значимы, даже в текстдате не значимы: т.е. тоёта камри == тоётакамри - для простоты

Можно быть дон кихотом и настроить себе мельниц в виде доп. условий, потом с ними и бороться - известный излюбленный прием наших азиатских коллег . Я вам сразу сказал - "до посинения не надо"

Просто предложите решение на коленке - я его приму и разберем вместе
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Очень простенькая задачка

Post by Мальчик-Одуванчик »

KirAleks wrote: Просто предложите решение на коленке - я его приму и разберем вместе
Библиотечка poco - простая, тупая, не С++11. Парсит, серверит, передает... и даже принимает
Несложно портируется вплоть до андроида или железяки на атмеле.
8K
Уже с Приветом
Posts: 5538
Joined: 20 Mar 2001 10:01
Location: SFBA

Re: Очень простенькая задачка

Post by 8K »

KirAleks wrote:поясните что такое "well-formed XML"
...
Просто предложите решение на коленке - я его приму и разберем вместе
Ну, хотя бы тот, который интернет эксплорер съест и не подавится. В частности, значения атрибутов закавычивать надо.

А по поводу решения - на такую ерунду не интересно время тратить. Я человек занятой, все больше руками вожу. Бюргеров флипаю.
Увидев друга, Портос вскрикнул от радости...
User avatar
Boriskin
Уже с Приветом
Posts: 18862
Joined: 30 Aug 2001 09:01
Location: 3rd planet

Re: Очень простенькая задачка

Post by Boriskin »

KirAleks wrote:
Boriskin wrote:Вообще, как уже отмечали выше, набросать рабочий xml sax парсер на плюсах на строках - задача не для джуниора на день. За день что-то рабочее и не ограниченное по глубине вложения элементов может имхо написать либо кабан, либо тот, кто это уже делал.
на sax2 кстати довольно так легко. но придётся повозится с подсчетом закрытия-открытия тегов. хотя их там только 2 так что будет не сложно.

Но зачем, почему нельзя просто распарсить в ДОМ и вытащить простеньким гетТагНайм() по очереди.
эта задача на полчаса для тех кто знает
Я вообще то о том, чтобы все сделать с ноля, а не использовать готовый парсер со стороны.
Тупизна как Энтропия. Неумолимо растет.
User avatar
Boriskin
Уже с Приветом
Posts: 18862
Joined: 30 Aug 2001 09:01
Location: 3rd planet

Re: Очень простенькая задачка

Post by Boriskin »

Zorkus wrote:
Boriskin wrote: Вообще, как уже отмечали выше, набросать рабочий xml sax парсер на плюсах на строках - задача не для джуниора на день. За день что-то рабочее и не ограниченное по глубине вложения элементов может имхо написать либо кабан, либо тот, кто это уже делал.
Я так понимаю, формат файла жестко фиксирован, и о доп. вложенности, cdata и прочем речи не идет?
Теоритически и формально - да. А на практике такие предположения весьма чреваты.
Тупизна как Энтропия. Неумолимо растет.
User avatar
fruit6
Уже с Приветом
Posts: 4205
Joined: 10 Jan 2004 01:22
Location: n-sk -> MD -> VA

Re: Очень простенькая задачка

Post by fruit6 »

Boriskin wrote:
Zorkus wrote:
Boriskin wrote: Вообще, как уже отмечали выше, набросать рабочий xml sax парсер на плюсах на строках - задача не для джуниора на день. За день что-то рабочее и не ограниченное по глубине вложения элементов может имхо написать либо кабан, либо тот, кто это уже делал.
Я так понимаю, формат файла жестко фиксирован, и о доп. вложенности, cdata и прочем речи не идет?
Теоритически и формально - да. А на практике такие предположения весьма чреваты.
контракт не для обремененного мозгом планировщика, а для кодера "копать отсюда и до обеда, вопросов не задавать!!"

думать за практику будут другие.
User avatar
Boriskin
Уже с Приветом
Posts: 18862
Joined: 30 Aug 2001 09:01
Location: 3rd planet

Re: Очень простенькая задачка

Post by Boriskin »

fruit6 wrote:контракт не для обремененного мозгом планировщика, а для кодера "копать отсюда и до обеда, вопросов не задавать!!"
думать за практику будут другие.
Дык надо стремиться вверх по социальной лестнице, а то так и придется всю жизнь "ключ подавать". :wink:
Тупизна как Энтропия. Неумолимо растет.
Ol
Уже с Приветом
Posts: 763
Joined: 17 Feb 2000 10:01
Location: Detroit,MI -> Boston, MA

Re: Очень простенькая задачка

Post by Ol »

А переместить работу с XML на SQL server не думали? В C# создаете ассемблю и деплоите на SQL server. А весь код это одна строчка: загнать XML в XDocument, лямбда и в таблицу. Из сторед процедуры зовете вашу функцию.

Добавил: А слушать сокеты и из C# тоже можно.
Last edited by Ol on 19 Nov 2013 18:17, edited 1 time in total.
Proud to be proud.
mynameiszb
Уже с Приветом
Posts: 1663
Joined: 16 Jul 2009 14:18
Location: Uganda

Re: Очень простенькая задачка

Post by mynameiszb »

Ol wrote:А переместить работу с XML на SQL server не думали? В C# создаете ассемблю и деплоите на SQL server. А весь код это одна строчка: загнать XML в XDocument, лямбда и в таблицу. Из сторед процедуры зовете вашу функцию.
Вы что, какой такой С# - там голимый плас-плас, которому разрешили добавить непонятные внешние библиотеки :)
Ol
Уже с Приветом
Posts: 763
Joined: 17 Feb 2000 10:01
Location: Detroit,MI -> Boston, MA

Re: Очень простенькая задачка

Post by Ol »

mynameiszb wrote:
Ol wrote:А переместить работу с XML на SQL server не думали? В C# создаете ассемблю и деплоите на SQL server. А весь код это одна строчка: загнать XML в XDocument, лямбда и в таблицу. Из сторед процедуры зовете вашу функцию.
Вы что, какой такой С# - там голимый плас-плас, которому разрешили добавить непонятные внешние библиотеки :)
Вы похоже не поняли что я предложил. Что значит "там голимый плас-плас"? Там это где? На SQL сервере с 2005 версии можно было писать аддоны на С#
Proud to be proud.
nightmare2
Уже с Приветом
Posts: 7187
Joined: 31 Jan 2005 15:06
Location: GA

Re: Очень простенькая задачка

Post by nightmare2 »

Ol wrote:Вы похоже не поняли что я предложил. Что значит "там голимый плас-плас"? Там это где?
Да не важно.
Кроме Ц++ 98 ничего использовать нельзя.
Условия такие. :D
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
8K
Уже с Приветом
Posts: 5538
Joined: 20 Mar 2001 10:01
Location: SFBA

Re: Очень простенькая задачка

Post by 8K »

KirAleks wrote:предложенный контент файла легко отпарсится стандартным хмл парсером без ошибок
Нет, не отпарсится.
Увидев друга, Портос вскрикнул от радости...
Ol
Уже с Приветом
Posts: 763
Joined: 17 Feb 2000 10:01
Location: Detroit,MI -> Boston, MA

Re: Очень простенькая задачка

Post by Ol »

nightmare2 wrote:
Ol wrote:Вы похоже не поняли что я предложил. Что значит "там голимый плас-плас"? Там это где?
Да не важно.
Кроме Ц++ 98 ничего использовать нельзя.
Условия такие. :D
А, если это школа молодого бойца, тогда другое дело. Только ассемблер для этого еще лучше бы подошел.
Proud to be proud.
User avatar
stenking
Уже с Приветом
Posts: 14407
Joined: 26 May 2006 02:39

Re: Очень простенькая задачка

Post by stenking »

del
Last edited by stenking on 19 Nov 2013 18:35, edited 1 time in total.
Бога нет.
User avatar
stenking
Уже с Приветом
Posts: 14407
Joined: 26 May 2006 02:39

Re: Очень простенькая задачка

Post by stenking »

nightmare2 wrote:
Ol wrote:Вы похоже не поняли что я предложил. Что значит "там голимый плас-плас"? Там это где?
Да не важно.
Кроме Ц++ 98 ничего использовать нельзя.
Условия такие. :D
Блин, делов то :) getline and find ">"
Бога нет.
8K
Уже с Приветом
Posts: 5538
Joined: 20 Mar 2001 10:01
Location: SFBA

Re: Очень простенькая задачка

Post by 8K »

stenking wrote:Блин, делов то :) getline and find ">"
Ну, если это для Обамы пишется, то да. А если надо, чтобы работало (в смысле, за упавшее приложение либо из зарплаты вычитают, либо немедленно следуют оргвыводы) - звиняйте, нет.
Увидев друга, Портос вскрикнул от радости...
User avatar
stenking
Уже с Приветом
Posts: 14407
Joined: 26 May 2006 02:39

Re: Очень простенькая задачка

Post by stenking »

8K wrote:
stenking wrote:Блин, делов то :) getline and find ">"
Ну, если это для Обамы пишется, то да. А если надо, чтобы работало (в смысле, за упавшее приложение либо из зарплаты вычитают, либо немедленно следуют оргвыводы) - звиняйте, нет.
Это же тестовое задание с чёткими параметрами а не "придумай все возможные способы сломать себе голову". Кстати тоже вполне себе тест, проверяется адекватность человека :) Может это одноразовый парсер или формат данных реально жёсткий и никаких будущих изменений там нет и не будет. А тащить дополнительные библиотеки сложнее 5 строчек простого кода. Нашёл ">" слева. Нашол "<" справа. Между ними машина :) И никаких волнений о сидате, ковычках и прочей хмлшине.
Last edited by stenking on 19 Nov 2013 18:46, edited 1 time in total.
Бога нет.
8K
Уже с Приветом
Posts: 5538
Joined: 20 Mar 2001 10:01
Location: SFBA

Re: Очень простенькая задачка

Post by 8K »

stenking wrote:Это же тестовое задание с чёткими параметрами а не "придумай все возможные способы сломать себе голову".
Ну, он же с самого начала обозначил, что "всякие индусы и иже с ними" (цитата неточная, но близко к тексту) не подходят. Значит, имел в виду не на коленке склепать, а что-то более серьезное. Хотя, конечно, кроме юниора туда никто не пойдет. Решать неправильные задачи неверными средствами.
Увидев друга, Портос вскрикнул от радости...
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Очень простенькая задачка

Post by АццкоМото »

stenking wrote:
nightmare2 wrote:
Ol wrote:Вы похоже не поняли что я предложил. Что значит "там голимый плас-плас"? Там это где?
Да не важно.
Кроме Ц++ 98 ничего использовать нельзя.
Условия такие. :D
Блин, делов то :) getline and find ">"
И получится еще один индусский код
Мат на форуме запрещен, блдж!
mynameiszb
Уже с Приветом
Posts: 1663
Joined: 16 Jul 2009 14:18
Location: Uganda

Re: Очень простенькая задачка

Post by mynameiszb »

Ol wrote:Вы похоже не поняли что я предложил. Что значит "там голимый плас-плас"? Там это где? На SQL сервере с 2005 версии можно было писать аддоны на С#
Они же в 12 версии это все срубили, насколько помню. Или оставили?
Кроме того, в условии сферической задачи речь шла про всякие мускулы и другие юникс-обители зла...
:)
Ol
Уже с Приветом
Posts: 763
Joined: 17 Feb 2000 10:01
Location: Detroit,MI -> Boston, MA

Re: Очень простенькая задачка

Post by Ol »

mynameiszb wrote:
Ol wrote:Вы похоже не поняли что я предложил. Что значит "там голимый плас-плас"? Там это где? На SQL сервере с 2005 версии можно было писать аддоны на С#
Они же в 12 версии это все срубили, насколько помню.
False memory.
Proud to be proud.
User avatar
KirAleks
Уже с Приветом
Posts: 210
Joined: 25 Apr 2001 09:01
Location: Kaluga->Minsk->SFBA

Re: Очень простенькая задачка

Post by KirAleks »

fruit6 wrote: контракт не для обремененного мозгом планировщика, а для кодера "копать отсюда и до обеда, вопросов не задавать!!"

думать за практику будут другие.
+1
Ol
Уже с Приветом
Posts: 763
Joined: 17 Feb 2000 10:01
Location: Detroit,MI -> Boston, MA

Re: Очень простенькая задачка

Post by Ol »

KirAleks wrote:
fruit6 wrote: контракт не для обремененного мозгом планировщика, а для кодера "копать отсюда и до обеда, вопросов не задавать!!"

думать за практику будут другие.
+1
Вам на китайский форум нужно. Из россии предпочитают найти самое оптимальное решение, сделать его за час и остальное время сидеть на форумах.
Proud to be proud.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15475
Joined: 27 Sep 2007 22:53

Re: Очень простенькая задачка

Post by Мальчик-Одуванчик »

stenking wrote:
nightmare2 wrote:
Ol wrote:Вы похоже не поняли что я предложил. Что значит "там голимый плас-плас"? Там это где?
Да не важно.
Кроме Ц++ 98 ничего использовать нельзя.
Условия такие. :D
Блин, делов то :) getline and find ">"
Тогда причем здесь ++? Такое... можно и на обычном С наваять.
User avatar
KirAleks
Уже с Приветом
Posts: 210
Joined: 25 Apr 2001 09:01
Location: Kaluga->Minsk->SFBA

Re: Очень простенькая задачка

Post by KirAleks »

АццкоМото wrote:
stenking wrote:
Блин, делов то :) getline and find ">"
И получится еще один индусский код
да, find "<" это уже below the line
хотя regexp я бы еше купил.

почему regex покатит объясненю:
если вдруг в дальнейшем понадопится поменять формат файла, то подправить регулярное варажение намного проще чем тыкаться с if (pos1 ... :umnik1:

Return to “Работа и Карьера в IT”