Author Archives: Sergej Kurakin

Вечерний WTF? или “А зачем в PHP переменные?”

Я не знаю, где народ берёт такие грибы, или траву, или как они косяки забивают, что у них возникают вопросы: А зачем в PHP переменные? Ведь строки можно и без них выводить через echo!
И пример: зачем делать

<html>
<body>
<?php
$actor="Marlon Brando";
echo $actor;
?>
</body>
</html>

если можно

<?php
echo "Marlon Brando";
?>

Я тоже хочу такой травы, грибов и так забивать косяки… Забивая целые страницы (всё, что надо и не надо) в переменную через конкретизацию и делая echo, даже не думая о том, надо ли им это… И это пока вы там думаете о XML, xHTML, шаблонных движках, ORM и прочих заморочках…

Хотя я умею и без PHP и травы с грибами в косяках, на чистом HTML… И даже можно без CSS по идее, только страшновато немного получается…

Да, я знаю, смеяться над новичками и идиотами нельзя… не хорошо… Но они чашу терпения переполняют сразу… я не могу сдержаться… Я не понимаю, почему их в детский сад не возвращают (или их закрыли)?

Мысли, навеянные неделями разработок…

Знаете, у меня ситуация глупая, связанная с разработчиками. Есть проект, есть те, кто над ним работает… Парочка программистов, парочка кодеров (к примеру), кто рядом в LANе, кто удалённо, иногда меняются в расположении… Вроде у каждого своё рабочее место, но не у каждого есть то, что есть на сервере (4 версии MySQL, Apache, PHP, Ruby). SVN поставить может каждый из них, и пользоваться умею/научим, а вот поставить серверочек нужной конфигурации у себя на рабочем месте для разработки не самая лёгкая задача (не смотря даже не мои чёткие указания и пару попыток написать статьи об этом).

Способ правильный, но не используемый мною:
Можно сказать – крутитесь сами, как хотите, типо, это ваши проблемы. Но, кодер (а иногда и хитрожопый программер) прекрасно может доказать, что как-бы ему то этот сервер нахер не машине не сдался, и ресурсов много надо (для некторых это много), и ставить ему уметь его не надо, и у него и так хватает работы, тебе надо, ты и ставь. И вообще, зачем всё разносить по всем машинам, когда можно всё сделать на одной? Вобщем, слишком многие против…

Значить всё будет на одной машине. Сколько разработчиков – столько виртуальных серверов для одного проекта.
Continue reading →

Google Sitemaps обновили – новый интерфейс и подсказки

Google Sitemaps сменил свой интерфейс. Теперь можно быстрее добавить сайтмап, навигация стала прозрачней: есть бредкумбс (хлебные крошки навигации), навигацию разбили на 3 части: диагностика, статистика и сайтмапы (раньше была 4 часть: robots.txt). Приятный, нежный светло-зелёный цвет. Появилась обобщающая часть, где сообщают о том когда GoogleBot был на вашем сайте, потенциальные проблемы. Почти везде есть подсказки и помощь.

Чем дальше, тем больше Google Sitemaps становиться оружием для борьбы с SEO оптимизаторами. По идее каждый может (если позволяют ресурсы) сделать сайтмап своего сайта, подключиться к Google Sitemaps и узнать нужную и полезную информацию о своём сайте. Причём, похоже, без особых проблем, узнать о HTTP ошибках, с которыми столкнулся GoogleBot на сайте, у какой страницы самый высоки PageRank, основные ключевые слова сайта (как его видит Google).

Экспорт файлов от ревизии А до ревизии Б

Извечная моя проблема: есть проект в репозитории, его экспорт лежит на боевом сервере, в репозиторий делают определённое кол-во коммиротв, и есть нужда обновить боевой сервер. Делать экспорт из репозитория и заливать всё на сервер заново занимает слишком много времени, а чек-аут слишком много места на сервере. Репозиторий не даёт встроенной возможности сделать экспорт только изменённых файлов. Я сделал своё решение: Экспорт файлов из Subversion от ревизии А до ревизии Б

@params или params и нововведения с yield

О как… Вот взяли и отменили @params в Ruby on Rails. А что им стоит отменить?. Нет, ну оно осталось, но, как-бы не рекомендуется. То, что мы конкретные грабли всем подложили – мало кого теперь волнует. А ведь примеры в сети будут с @params наверняка валяться, книга у них тоже содержит @params… Почему они сами об этом ещё тогда не подумали? Что это что-то поломает… Вроде они как бы создатели… Они вообще не рекомендуют использовать instance variable ни в controller ни в view… Согласно всему @content_for_layout deprecated и теперь надо использовать yield, за исключением тех случаев, если instance variable инициализируем мы сами. Причём, то что по их мнению является тривиальным, для меня совсем не тривиально…

PHP GOTCHAS! – Они читают или они дети?

Пробежался по блогам и прочим ресурсам, утреннего ознакомления и наткнулся на статью PHP GOTCHAS! на Zend Developer Zone. Читал… Думал… Я чего-то не понял, люди, начинающие работать с PHP (даже и профессионалы), перед тем как начать, с документацией не знакомятся, или как? Все эти PHP GOTCHAS! – детские какие-то пинки интерпретатора с закрытыми глазами и ветром в мозгах. Конечно, не буду скрывать, я о таком поведении __toString в PHP5 не знал… Нет, я даже не ожидал такого (используется только при print и echo), так как с PHP5 я ещё не работал в плане кастинга типов (пока, почему-то в округе сервером с PHP 5 не сильно много), но если оно в PHP5 задумывалось только в таком плане, зачем было тратить время компилятора на такое убогое имплементированние полиморфизма? Их ответный комментарий kovrov’у был совсем не смешной…

Как быстро время летит

Стоило всерьёз заняться работой и праздниками (пасхой, день рожденьями, прочая эвакуация), как пропускаешь кучу всего интересного… Ruby on Rails дошли до версии 1.1.2. Techno Weenie выдал 5 причин, почему нужно создавать свои плугины, в чём я с ним даже очень согласен и пару мелких вещей, нужных для проекта, я загнал в плугины неделю назад. Josh Susser сравнил has_and_belongs_to_many и has_many :through со всеми вытекающими последствиями и возможностями. Теперь и мы знаем разницу. Вот бы только хостеры обнавились до Ruby 1.8.4, что-бы Rails 1.1.2 можно было во freeze использовать.

Ещё, где-то в блогах, я наткнулся на статью о RealApps CMS – Add Content Management to any Ruby on Rails Site – простеньком движке для динамического и часто обновляемого сайта на Ruby on Rails. Всё красиво в описании, особенно простота, с которой он должен установиться, но читая не только блоги программеров, а и других людей, которые заинтересованны в создании CMS следующего поколения, понимаешь, что пока все они со своими “RealApps CMS” в песочнице версии 1.0 играют. Хотя, может только потому, что эти люди рядом сидят, и тебе их идеи лучше знакомы?

Как скачать Microsoft Internet Explorer 6

Сегодня пришла SMS: Как и где скачать Microsoft Internet Explorer 6 так, что-бы его можно было поставить на машине, котороя находиться вне интернета? Памятка для меня, так как мне иногда тоже приходится выполнять такую операцию.
Естественно, вспомнив о такой возможности у Windows Service Pack, я посоветовал поискать на всем известном сайте. На что, через какое-то время узнал, что нету там ничего (ну не нашли, может и есть)… Чтож, вспомнил я что у меня на CD где-то был такой, но куда-либо ехать и везти CD, или звать кого-то в гости, объясняя где я живу (это без карты Вильнюса тяжело), я не хотел. Бросил я мыть ванну, вытер начисто руки, оторвал жену от чтения косметических форумов и сделав пару запросов в Google, на запросе “internet explorer update full” наткнулся на статью “Download IE6 – In FULL….. We show you HOW!“. Посмотрел, не сложно, и выслал адрес на статью SMSкой. Вся соль в том, что скачав ie6setup.exe, нам достаточно запустить его вот с такой командой (положив его в папку C:\Downloads): “C:\Downloads\ie6setup.exe” /c:”ie6wzd.exe /d /s:””#E”, включая кавычки. Будет предоставлен интерфейс, который позволит скачать с сайта Microsoft всё обновление для Microsoft Internet Explorer 6, для платформ: Windows 98, Windows NT, Windows XP/2000, Windows ME. Ведь иногда нужно обновить кучу компов в сети, а качать каждый раз всё это не охото.