Re[12]: кадровики совсем рехнулись
От: Ночной Смотрящий Россия  
Дата: 01.12.18 19:57
Оценка: +1 :)
Здравствуйте, CodeMonkey, Вы писали:

НС>>Порвались шаблоны? Понимаю.

CM>Все в пределах стандартных шаблонов — самые криворукие всегда уверены, что делают всё идеально ЭДК в действии.

Ну да, ты погряз в багфиксинге, я криворукие те, кто умеет без. Логично, чо.
Re[10]: кадровики совсем рехнулись
От: Ночной Смотрящий Россия  
Дата: 01.12.18 19:57
Оценка:
Здравствуйте, CodeMonkey, Вы писали:

НС>>Заказы то у всех разные. Кому остатки на складах, а кому всякий AI и cognitive.

CM>А, ну это всё объясняет. Никакое тестирование вообще не предусмотрено, да и кода — с гулькин нос.

Шаблоны трещат, латаем выстраиванием виртуальной реальности?
Re[16]: кадровики совсем рехнулись
От: Ночной Смотрящий Россия  
Дата: 01.12.18 19:57
Оценка:
Здравствуйте, iriska2, Вы писали:

I>Я тебя пожалуй поддержу, с одной стороны такую задачу конечно надо уметь решить, с другой стороны отсеивать человека потому что, он не решил одну задачу это МАРАЗМ.


Это смотря с какой стороны глядеть. Если со стороны собеседуемого, то конечно. А если со стороны собеседующего, когда тебе несколько десятков кандидатов надо просмотреть — не тако уж и маразм.
Re[17]: кадровики совсем рехнулись
От: Ночной Смотрящий Россия  
Дата: 01.12.18 19:57
Оценка:
Здравствуйте, Somescout, Вы писали:

S>когда мне говорят LL/LR/RL/прочая хрень, для меня это просто буквы (и мне не сильно интересно лезть разбирать что это такое), но если меня попросят сделать парсер алгебраических выражений, я его сделаю


Можно раскрыть как? Регексами, да?
Re[38]: кадровики совсем рехнулись
От: CodeMonkey  
Дата: 01.12.18 20:40
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>а перевести в уме 0x10000 в десятичную систему — нет проблем?


А нафига, собственно?
Re[13]: кадровики совсем рехнулись
От: CodeMonkey  
Дата: 01.12.18 20:43
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Ну да, ты погряз в багфиксинге, я криворукие те, кто умеет без. Логично, чо.


Я пока не видел ни одной проги без багов. А это значит, что те, кто "не погряз в багфиксинге" — просто ничего не фиксят.
Это, собственно, всё.
Re[11]: кадровики совсем рехнулись
От: CodeMonkey  
Дата: 01.12.18 20:50
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Шаблоны трещат, латаем выстраиванием виртуальной реальности?


Просто факт. AI в его современном виде — это, в общем-то, шаманистика. Как оно работает, и вообще работает ли на каких-то данных, кроме тестового набора — никто толком не понимает. Получили правильный результат хотя бы в 51% случаев — протрубили победу. Не получили — надо добавлять в отвар больше говна мамонта и крови девстенниц, пока не получили хотя бы 51%.
А если потом выясняется, что, например, нейросеть распознает не объекты на фоне, а сам фон — никто не виноват. http://innovation.uci.edu/2017/08/husky-or-wolf-using-a-black-box-learning-model-to-avoid-adoption-errors/
Bleeding edge, ептыть, какие могут быть претензии
Re[18]: кадровики совсем рехнулись
От: Somescout  
Дата: 01.12.18 21:03
Оценка: :)
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, Somescout, Вы писали:


S>>когда мне говорят LL/LR/RL/прочая хрень, для меня это просто буквы (и мне не сильно интересно лезть разбирать что это такое), но если меня попросят сделать парсер алгебраических выражений, я его сделаю


НС>Можно раскрыть как? Регексами, да?


Зачем извращаться: сделать регэкспами парсер учитывающий приоритет операций наверно можно, но это уже эзотерическое программирование.
Буду исходить из того что парсить требуется простую арифметику из чисел, операторов и скобок.
Сначала напишу токенизатор.
Парсить буду рекурсивно. Первый вызов парсера помечается как корневой.
1) Если не задан левый операнд, то берём токен с левым операндом
   Если это открывающая скобка, то для получения левого операнда вызываем рекурсивно парсер. 
   left = parser(tokenizer, left:null, root:false)
   Если это число, то оно сразу становится левым операндом
   В ином случае исключение
2) Берём токен с операцией (если это не операция - исключение)
3) Берём токен с правым операндом по тем же правилам, что и левый
4) Подглядываем на следующую операцию, если приоритет её выше чем у нашей, то заменяем правый операнд результатом работы парсера с переданным ему текущим правым операндом
   right = parser(tokenizer, left:right, root:false)
5) применяем операцию к операндам, помещаем результат в левый операнд, если приоритет следующей операции равен приоритету текущей или парсер корневой - переходим к 2
   Если токен следующей операции это закрывающая скобка, то извлекаем токен (скобку) и возвращаем левый операнд
   если нет либо если конец выражения, то возвращаем результат


Примерно так.

ЗЫ. Регэкспами, при здравом размышлении, интересный вариант — quick and dirty, но будет работать.
ARI ARI ARI... Arrivederci!
Отредактировано 01.12.2018 21:16 Somescout . Предыдущая версия . Еще …
Отредактировано 01.12.2018 21:10 Somescout . Предыдущая версия .
Отредактировано 01.12.2018 21:05 Somescout . Предыдущая версия .
Отредактировано 01.12.2018 21:05 Somescout . Предыдущая версия .
Re[14]: кадровики совсем рехнулись
От: Ночной Смотрящий Россия  
Дата: 01.12.18 21:16
Оценка: -1
Здравствуйте, CodeMonkey, Вы писали:

НС>>Ну да, ты погряз в багфиксинге, я криворукие те, кто умеет без. Логично, чо.

CM>Я пока не видел ни одной проги без багов.

Это больше говорит о твоем кругозоре.

CM> А это значит, что те, кто "не погряз в багфиксинге" — просто ничего не фиксят.


Не значит. Это значит что мы много сил уделяем качеству кода еще до того, как на продакшене полезут баги. Но ты явно даже не понимаешь о чем речь.
Re[12]: кадровики совсем рехнулись
От: Ночной Смотрящий Россия  
Дата: 01.12.18 21:16
Оценка: :)
Здравствуйте, CodeMonkey, Вы писали:

НС>>Шаблоны трещат, латаем выстраиванием виртуальной реальности?

CM>Просто факт.

Ага, придуманный тобой. Иначе ведь можно сделать некоторое количество выводов, угрожающих твоим шаблонам и твоему восприятию себя непризнанным гением от программирования.

CM> AI в его современном виде — это, в общем-то, шаманистика. Как оно работает, и вообще работает ли на каких-то данных, кроме тестового набора — никто толком не понимает.


Если ты не понимаешь, это не означает что никто не понимает.

CM> Получили правильный результат хотя бы в 51% случаев — протрубили победу. Не получили — надо добавлять в отвар больше говна мамонта и крови девстенниц, пока не получили хотя бы 51%.


Главное что мы получили результат, лучший в мире. И этот результат вполне устраивает наших клиентов.

CM>А если потом выясняется, что, например, нейросеть распознает не объекты на фоне, а сам фон — никто не виноват. http://innovation.uci.edu/2017/08/husky-or-wolf-using-a-black-box-learning-model-to-avoid-adoption-errors/


И чо? Ах да, пробелы в твоем образовании не только CS касаются, но и всех разделов, работающих с вероятностями и статистикой.
Re[39]: кадровики совсем рехнулись
От: Ночной Смотрящий Россия  
Дата: 01.12.18 21:17
Оценка: :)
Здравствуйте, CodeMonkey, Вы писали:

НС>>а перевести в уме 0x10000 в десятичную систему — нет проблем?

CM>А нафига, собственно?

Чтобы оценить. У нас пока 16-ричной системе с детства не учат, десятичная прописана у всех глубоко в моск.
Re[19]: кадровики совсем рехнулись
От: Ночной Смотрящий Россия  
Дата: 01.12.18 21:20
Оценка:
Здравствуйте, Somescout, Вы писали:

S>Зачем извращаться: сделать регэкспами парсер учитывающий приоритет операций наверно можно, но это уже эзотерическое программирование.


Да тут рядом предлагали на полном серьезе.

S>Сначала напишу токенизатор.


Как? Или про НКА-ДКА ты все таки слышал?

S>Примерно так.


Ты LL и описал. Только у LL есть определенные проблемки со сложными приоритетами.

S>ЗЫ. Регэкспами, при здравом размышлении, интересный вариант — quick and dirty, но будет работать.


Т.е. про классы грамматик ты не в курсе? Огорчу — приоритеты и скобки ты на регексах не распарсишь, это в регулярные грамматики невпихуемо, даже с фиксированным LA.
Re[20]: кадровики совсем рехнулись
От: Somescout  
Дата: 01.12.18 21:31
Оценка: +1 :)
Здравствуйте, Ночной Смотрящий, Вы писали:

S>>Зачем извращаться: сделать регэкспами парсер учитывающий приоритет операций наверно можно, но это уже эзотерическое программирование.


НС>Да тут рядом предлагали на полном серьезе.


Я на полном серьёзе обдумал, и думаю это возможно. Не за один проход, само собой. Но если несколько раз пройти по выражению, сначала обработав все вложенные скобки
(\([^(]+\))
Заменив их результатом парсинга операций.

Содержимое скобок парсим в два этапа:
1) ([\d*/]+) — умножение и деление, в первую очередь,
2) ([\d+\-]+) — сложение и вычитание.

На выходе получаем число

НС>Как? Или про НКА-ДКА ты все таки слышал?


Нет, я слышал про токенизатор, и думаю что класс, делящий строку на функциональные компоненты для указанного мной примера я напишу и без сакральных знаний (хотя потребуется костыль для отрицательных чисел).

НС>Ты LL и описал. Только у LL есть определенные проблемки со сложными приоритетами.


Ну я подозревал что во что-то подобное ткну пальцем.

S>>ЗЫ. Регэкспами, при здравом размышлении, интересный вариант — quick and dirty, но будет работать.


НС>Т.е. про классы грамматик ты не в курсе? Огорчу — приоритеты и скобки ты на регексах не распарсишь, это в регулярные грамматики невпихуемо, даже с фиксированным LA.


Регэкспами можно парсить сбалансированные скобки. Я даже делал это for fun — реализация dotNet Regex поддерживает balanced group matching.
Но в данном случае это не нужно, достаточно нескольких итераций упрощения выражения.
ARI ARI ARI... Arrivederci!
Отредактировано 01.12.2018 21:45 Somescout . Предыдущая версия . Еще …
Отредактировано 01.12.2018 21:37 Somescout . Предыдущая версия .
Re[15]: кадровики совсем рехнулись
От: CodeMonkey  
Дата: 01.12.18 21:36
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Это больше говорит о твоем кругозоре.


Ну покажи мне такие программы. Хватит пустозвонить
Re[40]: кадровики совсем рехнулись
От: CodeMonkey  
Дата: 01.12.18 21:38
Оценка: :))
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Чтобы оценить. У нас пока 16-ричной системе с детства не учат, десятичная прописана у всех глубоко в моск.


Чтобы оценить, достаточно посчитать число разрядов. Переводить ничего не надо.
Re[13]: кадровики совсем рехнулись
От: CodeMonkey  
Дата: 01.12.18 21:39
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Если ты не понимаешь, это не означает что никто не понимает.


Верно, но не к месту. Полагаю, про converse error ты никогда не слышал?

НС>Главное что мы получили результат, лучший в мире. И этот результат вполне устраивает наших клиентов.


Ты не стесняйся — рассказывай, показывай.

http://innovation.uci.edu/2017/08/husky-or-wolf-using-a-black-box-learning-model-to-avoid-adoption-errors/
НС>И чо? Ах да, пробелы в твоем образовании не только CS касаются, но и всех разделов, работающих с вероятностями и статистикой.

Ты читать вообще умеешь? Или у тебя возникли сложности на этапе "связать одно с другим"?
Отредактировано 01.12.2018 22:16 CodeMonkey . Предыдущая версия .
Re[20]: кадровики совсем рехнулись
От: CodeMonkey  
Дата: 02.12.18 00:39
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Ты LL и описал. Только у LL есть определенные проблемки со сложными приоритетами.


Проблемы у него есть с левыми рекурсиями, но это решается модификацией грамматики. Что там за "сложные приоритеты" — этому, видимо, только особо избранных учат
Re[7]: кадровики совсем рехнулись
От: serj.e  
Дата: 02.12.18 09:33
Оценка: :)
SE>>Мерила успеха усреднённых общечеловеков меня лично мало интересуют. Для кого-то успех выглядит так:
CM>Все варианты идиотские

Ну извини, перечислить все существующие на свете варианты, чтобы тебе угодить, я физически не в состоянии.
Re[9]: кадровики совсем рехнулись
От: serj.e  
Дата: 02.12.18 09:40
Оценка: :)
CM>Так это и есть твои "сверхмалые и сверхэффективные алгоритмы"?
Сверхмалые и сверхэффективные алгоритмы имеет смысл применять примерно в одном случае из ста. Что конечно же не отменяет того факта, что они важны и нужны — тот самый редкий случай может поставить колом весь проект.
Re[20]: кадровики совсем рехнулись
От: Evgeny.Panasyuk Россия  
Дата: 02.12.18 11:54
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

S>>Сначала напишу токенизатор.

НС>Как? Или про НКА-ДКА ты все таки слышал?

В 12-13 лет написал рекурсивный вычислитель арифметических выражений (инфиксных), с приоритетами и скобками. Времени ЕМНИП заняло час-два. На тот момент и не слышал таких понятий как токенизаторы, автоматы, грамматики, регулярные выражения, генераторы парсеров и т.п. Руководствовался исключительно интуицией и логикой.
Ни в коем случае не хочу сказать что программисту это знать не нужно, наоборот — нужно, получилось бы проще, качественнее и быстрее. Но поинт в том что задача вообще-то простая
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.