Перевелись удаленные PHP–программисты?
5330 сообщений
#14 лет назад
Цитата ("superkoder"):Задача-то ещё какая не тривиальная.
да ладно, тупой генератор текстов из шаблона
парсить регуляркой {....} если не нашли, то выход из цикла
эксплодить по |
из числа вариантов выбрать любой и сделать замену "исходника"
повтор цикла
работает быстро и получается случайный вариант текста.
я тут математиков искал, которые бы могли выбрать ВСЕ варианты текста по заданной уникальности. вот уж точно 1 из 28. и 25 слились на этапе постановки задачи.
Цитата ("Cord"):
А сколько стоит хороший специалист, знающий принцип инверсии зависимостей, например, на практике? Разбирающийся в ООП? Я программист, но в офисе, хочу понять рынок.
в ДЦ 50 тыс средняя оплата.
посмотрите вакансии на Хабре.
Ну и привет с Лепры

256 сообщений
#14 лет назад
Цитата ("Hungry_Hunter"):И кстати... У меня друг сайты делает на cms на зарплате в 30 тыс. Ни буквы в пхп не понимает... И то ленится. А Вы говорите программисты.
Неплохо устроился

1157 сообщений
#14 лет назад
Цитата ("ArtPro"):парсить регуляркой {....} если не нашли, то выход из цикла
эксплодить по |
из числа вариантов выбрать любой и сделать замену "исходника"
повтор цикла
Первую часть задачи это решит - выдать какое-нибудь случайное предложение.
А вот составить все варианты - это чуть по сложнее.
Здесь нужно брать каждый раз самую вложенную конструкцию слово{a|b|c}
Заменять эту конструкцию на такую словоa|словоb|словоc
и так в цикле, пока не останется в строке скобок.
В результате получаем строку с одними | и без скобок, но эквивалентную начальной строке, и в этой строке будут все варианты слов.
1157 сообщений
#14 лет назад
<?php
function replace_brackets($matches)
{
// as usual: $matches is the complete match
// $matches the match for the first subpattern
// enclosed in '(...)' and so on
$variants_in_brackets = explode('|', $matches);
$res = array();
foreach($variants_in_brackets as $key => $variant)
{
$res = $matches . $variant;
}
$res_string = implode('|', $res);
return $res_string;
}
$str = "{a | b {c|d}}";
echo "str = $str<br />\n";
while (!(strpos($str, '{') === FALSE))
{
echo "зашли в цикл<br />\n";
/* Ищем конструкцию слово{} без вложенных {
Это будет самая вложенная конструкция */
$shablon = "/(*?){(*)}/";
$str = preg_replace_callback($shablon, "replace_brackets", $str);
echo "str = $str<br />\n";
}
?>
Вывод скрипта
str = {a | b {c|d}}
зашли в цикл
str = {a | b c| b d}
зашли в цикл
str = a | b c| b d
str = a | b c| b d - вот это и будут все варианты, то-есть, мы убрали из строки все {} заменив их на эквивалентные без скобок.
Задача всё равно сложная.
1157 сообщений
#14 лет назад
35 - для сложных задач мало.Можно на сайтах-визитках заработать столько же без напряжения.
80 сообщений
#14 лет назад
superkoder, попробуйте ваш код на исходной строке
>{Пожалуйста|Просто} сделайте так, чтобы это {удивительное|крутое|простое} тестовое предложение {изменялось {быстро|мгновенно} случайным образом|менялось каждый раз}
Цитата ("MMM_Corp"):
Кстати, в MVC, напр. в фреймворке Yii - во вюхах как раз идет в перемешку php + html )
ну я понимаю, когда присылают шаблоны, а другое дело когда что-то типа
$sql = "select * from table where id={$_GET}";
.................
echo "<HTML>
<head>
.........и понеслась душа в рай. и все это в 100 кб файле

16382 сообщения
#14 лет назад
Есть ИМХО смысл снижать требования, если это возможно. Высокие требования ставят работодателя в неудобные условия в итоге. Специалиста найти сложно, денег он хочет много, а в случае чего - уйдет и найти другого такого же будет опять сложно, долго и денег он попросит много и опять по кругу. В итоге работу то все равно надо делать, а не все время искать того, кто будет ее делать. Я думаю, что дело не только в размере зарплаты, просто количество желающих с ростом уровня снижается, конкуренция снижается и это задирает цены возможно не пропорционально способностям.
5330 сообщений
#14 лет назад
Плюсую ответу.есть еще одна штука.
надо искать не опытных, а смышленных
Опытный знает дофига лишнего и хочет за "лишнее" оплату
Смысленый знает основы и умеет умело гуглить. Согласитесь, что сделать слайдер на Jq - это вопрос 10 минут гугления и часа работы. Согласитесь, что ВСЕ уже изобретено и надо просто уметь находить.
204 сообщения
#14 лет назад
Цитата ("Cord"):ну я понимаю, когда присылают шаблоны, а другое дело когда что-то типа
$sql = "select * from table where id={$_GET}";
.................
echo "<HTML>
<head>
.........и понеслась душа в рай. и все это в 100 кб файле
Откуда у вас уверенность, что этот код написали именно они, а не скачали с какого нибудь архива скриптов?
Человек который прочитал хоть одну книжку по PHP не будет так писать
$sql = "select * from table where id={$_GET}";
а напишет вот так например
$id=intval($_GET);
$sql = "select * from table where id={$id}";
1157 сообщений
#14 лет назад
Цитата ("kriptograf"):Человек который прочитал хоть одну книжку по PHP не будет так писать
$sql = "select * from table where id={$_GET}";
Да полно непонятных граждан, которые книжку не читали, работают фотографом,
а лезут программировать.

1172 сообщения
#14 лет назад
Цитата ("kriptograf"):$id=intval($_GET);
$sql = "select * from table where id={$id}";
И словят Notice во-первых, если не инициализорована, будут использовать более медленную intval($var) вместо (int)$var во-вторых, и сделают кривой запрос в базу - в третьих (если вспомним, что неинициализирована или равна 0).
2989 сообщений
#14 лет назад
Информация к размышлениюОффтопик
PHP Help
Глава 1. Введение
Цитата:
PHP Help
Глава 1. Введение
Цитата:
Что такое PHP?
PHP (рекурсивный акроним словосочетания "PHP: Hypertext Preprocessor"- это широко используемый язык программирования общего назначения с открытым исходным кодом. PHP сконструирован специально для ведения Web-разработок и может внедряться в HTML-код.
Простой ответ, но что он может означать? Вот пример:
Пример 1-1. Пример программирования на PHP
<html>
<head>
<title>Пример</title>
</head>
<body>
<?php
echo "Привет, я - скрипт PHP!";
?>
</body>
</html>
Обратите внимание на отличие этого скрипта от скриптов, написанных на других языках, например, на Perl или C - вместо того, чтобы создавать программу, которая занимается формированием HTML-кода и содержит бесчисленное множество предназначенных для этого команд, вы создаете HTML-код с несколькими внедренными командами PHP (в приведенном случае, предназначенными для вывода текста). Код PHP отделяется специальными начальным и конечным тегами, которые позволяют процессору PHP определять начало и конец участка HTML-кода, содержащего PHP-скрипт.
...
1322 сообщения
#14 лет назад
Elosoft, не php внутри html плох, а разделение логики и представления плохо.
2989 сообщений
#14 лет назад
Вы считаете что вот так логика разделяется или представляется лучше? Как-то сомнительно...<?php
echo '<html>
<head>
<title>Пример</title>
</head>
<body>';
echo "Привет, я - скрипт PHP!";
echo '
</body>
</html>';
?>
2989 сообщений
#14 лет назад
А что тогда подразумевается под "разделение логики и представления"?
1322 сообщения
#14 лет назад
Elosoft, гуглите MVC.Копипастить смысла не вижу, а своими словами и не поймете может и набирать лень.
Скажем так (самое примитивное объяснение)
- ok
<?php foreach($arr as $v) { ?>
<tr><td><?php echo $v;?></td><>
<?php }?>
но
- не есть гуд. Т.е. доступ к данным + логика приложения не должна содержать html тегов.
<?php
$query = mysql_query('select idf FROM ...');
while($arr = mysql_fetch_array($query)) { ?>
<tr><td><?php echo $arr;?></td><>
<?php }?>