калькулятор на php

WMix

герр M:)ller
Партнер клуба
откуда вы взяли польскую нотацию? смысла переводить точно нет!
 

Redjik

Джедай-мастер
Вообще, очень показательная задача. Обратная польская запись разбирается в лучшей книге по php, которую я встречал, так что у профессионала проблем с алгоритмом быть не должно. Но для ТЗ это фуфло, я бы точно отказался писать, сославшись на Шлосснейгла.
хз, я делал такое когда на C++ задачки решал, правда там не через Обратную Польскую Нотацию делал
 

Василий М.

Новичок
whirlwind, есть подозрение, что если бы ТС озвучил аббревиатуру "rpn", никакого задания бы не было
Задание дали в конце. Озвучивал что-либо я по пути к выходным дверям.

Неужели собеседующему настолько лень посмотреть на имеющиеся у кандидата примеры?
О том и речь. Я не строю из себя профи, мой уровень очень мал. Но я честно говорю - вот мой код, я так пишу. Я специально привел примеры кода. Нравится? Готов работать. Нет - ну и ладно.

Тем не менее меня пытаются препарировать как раз те, кто смотрит мой код.
Месяц назад меня спросили - "Это правда Ваш код?". Говорю да. Ок. Сделайте тестовое задание.
Тестовое задание - занесение данных в базу и показ их на страничке с помощью аякса.
Потратил время на реализацию тестовго задания. Выложил его в сеть.
Поехал на повторное собеседование - опоздал - встрял в пробку. "Начальник IT отдела" в лице молодой 25-и летней стервы с порога послала меня на йух с аргументацией, что я опоздал.
И какого черта я должен всем этим заниматься? Ради чего и кого?

Недавно чуть не оформился в государственную контору-помойку. На собеседовании у меня спросили, что быстрее - преинкремент или постинкремент.
Мне правда это не интересно, что там быстрее. Я когда работал в одном очень серьезном интернет-магазине, с его ужасным тогдашним говнкодом и совершенно ужасной архитектурой, вопросы быстродействия на 99% решал мемкэш, при этом главная страница сайта сайта генерировала под сотню sql-запросов.
Зачем у меня спрашивают подобные? В реальной жизни это абсолютно непригодные знания, не влияющие ровным счетом ни на что.


hell0w0rd,
Только лучше не rpn, а какую-то более реальную задачку давать, но тоже на знание базовых алгоритмов. Работа с строка, сортировки, деревья.
Какие базовые алгоритмы? Зачем? Для чего?
Я глянул польскую запись. Ок. Я без проблем могу реализовать этот алгоритм, но практическая цель какая всего этого действа?
Я веб-программист. Мои задачи - писать на имеющихся API языков решения для бизнес-задач.
Мне не интересны алгоритмы, в реальной жизни они не нужны. Вообще. Нет ни смысла ни мотивации делать то, что никому не нужно.
 
Последнее редактирование:

MiksIr

miksir@home:~$
Я веб-программист. Мои задачи - писать на имеющихся API языков решения для бизнес-задач.
Мне не интересны алгоритмы, в реальной жизни они не нужны.
Начинай собеседование с этой фразы, а лучше в резюме поставь. Сэкономишь кучу времени и себе и собеседующим ;)
 

hell0w0rd

Продвинутый новичок
Я глянул польскую запись. Ок. Я без проблем могу реализовать этот алгоритм, но практическая цель какая всего этого действа?
Я веб-программист. Мои задачи - писать на имеющихся API языков решения для бизнес-задач.
Ну тогда ты входишь аж в 3 категорию из тех, что я описал. Не скучно?
Мне не интересны алгоритмы, в реальной жизни они не нужны. Вообще. Нет ни смысла ни мотивации делать то, что никому не нужно.
Это ты зря. Посмотри на библиотеки facebook для фронтенда (react, immutable), это чистое применение алгоритмов на практике.
 

Redjik

Джедай-мастер
hell0w0rd, ты бы ему еще Boost посоветовал поковырять =)))))
Сказано же
Мне не интересны алгоритмы, в реальной жизни они не нужны.
ЗЫ. кстати - а чо там в реакте? стоит поковырять ... а то сейчас собираюсь простенькую админочку пилить, вот думал на ангуляре, ибо более менее знаю его косяки... но все от реакта пищат...
 

Adelf

Administrator
Команда форума
C другой стороны он прямо заявляет, что он быдлокодер и на синьора не претендует... Честно и правильно. Смысл его заставлять калькулятор писать?
 

hell0w0rd

Продвинутый новичок
ЗЫ. кстати - а чо там в реакте? стоит поковырять ... а то сейчас собираюсь простенькую админочку пилить, вот думал на ангуляре, ибо более менее знаю его косяки... но все от реакта пищат...
Для админки - нет смысла) У тебя админка - 90% формы и валидация, у реакта с этим туго) Чем сложнее формы, тем туже с этим у реакта)
 

Redjik

Джедай-мастер
Не, у меня ЦРМка и мне тут в голову закралась мысль попробовать вообще без форм и сабмитов 100500 данных все запилить.

То есть:
Имеется куча Entities в домене взаимосвязаных между собой.
Тупым REST, на каждый чих состояние этих Entites меняется.
В финале просто подсовывается другой контейнер для сохранения состояния всех сущностей. (была, например сессия, под конец - все в базку пихнули)
 

Sufir

Я не волшебник, я только учусь
Ну, в некоторой степени он прав, по поводу ненужности алгоритмов... Т.е. для меня, к примеру, PHP и программирование вообще долгое время было просто хобби. Зарабатывал я по другому, а разработкой занимался несколько вечеров в месяц, просто из интереса. Профессионально, за деньги я этим занимаюсь совсем недавно. Пописывал я понемногу с использованием С++ и Delphi но именно в PHP влюбился сразу же именно за то, что он позволяет быстро и просто создавать совершенно конкретные прикладные приложения для пользователей. А в одном из интервью Расмус озвучил мои мысли и ощущения совершенно конкретными словами:

Расмус Лердорф написал(а):
PHP — просто инструмент, с помощью которого можно сколотить классные штуки. И мне нравится именно это — то, что создано с помощью PHP. Я никогда не работал в компании, производящей инструменты; много лет я проработал в Yahoo, потом в WePay, сейчас — в Etsy. Это компании, которые работают для нормальных, обычных людей, и PHP — их неотъемлемая часть. Это инструмент, которым мы пользуемся, чтобы делать вещи для реальных людей.

А компании, которые делают инструменты, работают не для людей, а для программистов — как Mongo, как MySQL и т.п. Если выйти на улицу и спросить обычных людей, слышали ли они о Mongo или MySQL, никто не ответит утвердительно. И про PHP никто из них не слышал, и это хорошо.

С другой стороны, если выйти на улицу и спросить людей, слышали ли они о Facebook, что они ответят? Все скажут, что слышали. Меня интересуют именно такие продукты, я хочу делать вещи для реальных людей. Вы спрашиваете, почему я не хочу основать компанию для разработки PHP? Он не касается реальных людей, только придурков типа меня; к тому же делать что-то для программистов — очень раздражающее занятие.

— Означает ли это, что в какой-то момент вы забросите PHP или станете уделять ему меньше времени?

— Единственная причина существования PHP состоит в том, что это инструмент для создания продуктов для реальных людей. И мне нужен этот инструмент, без него я не могу этого делать; это же относится и ко многим компаниям. Мне нравится заниматься PHP, но мне нужно видеть эффект для реальных людей: если я его не вижу, мне нет смысла продолжать это делать.
Поковыряться с алгоритмами и другими интересными задачками бывает очень интересно и знать их полезно, но в большинстве реальных прикладных задач, это сегодня действительно не требуется (вполне можно быть просто ремесленником на среднем/низком уровне и качественно решать задачи этого уровня).
 

hell0w0rd

Продвинутый новичок
Поковыряться с алгоритмами и другими интересными задачками бывает очень интересно и знать их полезно, но в большинстве реальных прикладных задач, это сегодня действительно не требуется (вполне можно быть просто ремесленником на среднем/низком уровне и качественно решать задачи этого уровня).
И через 2-3 года ты окажешься никому не нужен) Уже сейчас cms достаточно умные, пройдет немножко времени и большинство "прикладных задач, где не нужно думать" можно будет напрограммировать мышкой.
PS и по поводу высказывания Расмуса - имхо facebook для разработчиков сделал гораздо больше, чем для обычных людей))
 

WMix

герр M:)ller
Партнер клуба
На счет ненужности алгоритма, можно поспорить. Существует 1000 мест где его можно применить, это будут и переменные также, но начнем с простого граммар.
 

Absinthe

жожо
Потенциальный работодатель проверяет, способен ли ты запрограммировать самый типичный алгоритм, описания которого в интернете есть на каждом шагу.
Пишется эта штука просто, цикл, 2 массива, набор условий.
 

Sufir

Я не волшебник, я только учусь
И через 2-3 года ты окажешься никому не нужен) Уже сейчас cms достаточно умные, пройдет немножко времени и большинство "прикладных задач, где не нужно думать" можно будет напрограммировать мышкой.
Сомневаюсь, в прочем я такое отношение к своей профессии и не поощряю, в общем-то. Безотносительно профессии, как по мне, так и слесарь, швея или фельдшер не в меньшей степени, чем веб разработчик или физик-ядерщик, должны стремиться повысить свою квалификацию и выполнять свою работу качественно и ответственно. Лично для меня это не только лишь способ заработать денег. Заработать возможности всегда можно найти, если на ж..е не сидеть. Однако некоторая правота за ним есть. В сегодняшних условиях развитых API, множества готовых решений и огромного количества легкодоступной информации. 9 из 10 конкретных задач (а не сферических в вакууме) проще и быстрее всего решить (а с точки зрения бизнеса нужно именно так, а не сидеть неделю суперкрутой алгоритм сочинять и идеальную архитектуру строить) именно взяв готовое решение и быстренько собрав как в конструкторе некрасивое и не оптимальное но РАБОЧЕЕ решение.

PS и по поводу высказывания Расмуса - имхо facebook для разработчиков сделал гораздо больше, чем для обычных людей))
Согласен. А если взглянуть в ценностных категориях, то фейсбук не только не дал ничего полезного, но скорее наоборот... Однако если б не было миллионов обычных людей пользующихся им, то нахер он никому не нужен был бы, разработчикам тоже. Т.е. в данном случае не "крутые алгоритмы" создали фейсбук, а опять же фейсбук дал разработчикам "крутые алгоритмы" в силу сложившихся обстоятельств.
 

Василий М.

Новичок
И через 2-3 года ты окажешься никому не нужен) Уже сейчас cms достаточно умные, пройдет немножко времени и большинство "прикладных задач, где не нужно думать" можно будет напрограммировать мышкой.
Это миф.
Различные CRM или ERP системы будут востребованы всегда.
Вчера я был на собеседовании, где люди пишут ERP под предприятие, под его конкретные бизнес-задачи.
Я уж не говорю о сотнях ИМ.

PS и по поводу высказывания Расмуса - имхо facebook для разработчиков сделал гораздо больше, чем для обычных людей))
Ты упомянул react и immutable. А зачем это все нужно? Можно на пальцах объяснить, без посылания в Википедию или в гугл?
 

Breeze

goshogun
Команда форума
Партнер клуба
И через 2-3 года ты окажешься никому не нужен) Уже сейчас ХХХ достаточно умные, пройдет немножко времени и большинство "прикладных задач, где не нужно думать" можно будет напрограммировать мышкой.
подумали создатели delphi и выпустили джина из бутылки
 

RU_ru

Новичок
PHP:
define('D',    '\-?\d+(?:\.\d+)?');
define('G_MDB','/(\('.D.'[-+*\/]'.D.'\)|'.D. '[*\/]'.D.')/');
define('G_AS', '/'.D.'[-+]'.D.'/');
define('G_D',  '/('.D.')([-+*\/])('.D.')/');
//
function opers($matches) {
  preg_match(G_D, $matches[0], $m);
  if ($m[2] == '*') return $m[1] * $m[3];
  if ($m[2] == '/') return $m[1] / $m[3];
  if ($m[2] == '+') return $m[1] + $m[3];
  if ($m[2] == '-') return $m[1] - $m[3];
}
//
$s = '-2*-3.44/((-2/-5)-1)';
$i = 0;
while ( preg_match('/[^\^][-+*\/]/', $s) ) {
  $s = preg_replace('/\(('.D.')\)/', '\1', $s);
  $s = preg_replace_callback(G_MDB,'opers', $s);
  $s = preg_replace_callback(G_AS, 'opers', $s);
  if ($i++>100) die('error');
}
echo $s; // -11.466666666667
 

akd

dive now, work later
Команда форума
до меня вот ток ща дошло ...
"Поехал на повторное собеседование - опоздал - встрял в пробку. "Начальник IT отдела" в лице молодой 25-и летней стервы с порога послала меня на йух с аргументацией, что я опоздал."

если ты не умеешь даже расчитать как вовремя попасть на какое-то конкретное место, то 25-и летняя стерва тебя послала абсолютно правильно, независимо от твоих остальных способностей.
я был пару раз на ее месте и сделал тоже самое. и буду делать впредь.
ну чисто шоб разговор поддержать. :)
 
Сверху