Свирж 2009 |
Метки: фест туризм музыка фото лето украина свирж |
Час Земли! |
Метки: интернет сообщество экология информация энергетика земля украина глобальное потепление братство благо инициативы |
Устанавливаем портабельный сервер для web-разработки |
Хочется быть максимально кратким, а потом я в коротких трех пунктах хочу поведать о том, как быстро и без лишних заморочек установить web сервер со всеми прилагающимися фенечками для локальной, но портабельной разработки web проектов.
0. Постановка задачи
В процессе работы над текущим проектом мы использовали STPServer, но со временем его приколы на столько достали нас, что было решено вернуться на старый добрый Denwer. Как выяснилось, и что приятно нас удивило, проект за время нашего мучения с альтернативными предложениями приятно вырос и хотя не сильно изменился, все же радует те ми же малыми размерами дистрибутива, простотой установки (пока консольной) и удобностью портирования. Сильно же *(ИМХО, в лучшую сторону) изменился дизайн проекта, а именно страница Denwer. Кроме всего этого очень радует наличие дополнительной инсталляции всех необходимых библиотек, которые в отстутствие http://pecl4win.php.net/ просто уже достало искать по всяким dll хостингам, качая и проверяя версии.
Имено на портабельности сервера хотелось бы остановиться подробнее. Не буду расписывать всех деталей установки и использования, это прекрасно рассказано на самом сайте Denwer и соотв. форуме. Расскажу лучше о том, что у меня вариант с флешкой не захотел работать так как я того ожидал. На работе еще можно было перебиваться и мучиться низкой скоростью флешки, а вот дома сервер вообще не заработал, не говоря уж о том как он тормозил при чтении/записи флешки на ноуте. Но от идеи портабельности отказываться не хотелось, очень уж заманчиво приходя домой иметь проект в актуальном состоянии и без лишних теложвижений браться за работу, экономя время и нервы.
Так появилась простейшая идея совместить Denwer и Dropbox! Кто уже понимает о чем речь, могут не читать дальше.
Остальным же, кратко расскажу как это делается
0.0 Инструментарий
Для реализации задумки были использованы следующие инструменты:
Джентльменский набор Web-разработчика («Д.н.w.р», читается «Денвер») — проект
Новый удобный интернет файлообменник Dropbox. На локальном компьютере создается папка, образ которой сохраняется в защищенной области интернет с возможностями корпоративной и открытой публикации по желанию пользователя. Подробности тут.
1. Установка Dropbox
Первое с чего необходимо начать - скачать Dropbox с официального сайта. Установить на любом компьютере, где вы собираетесь заниматься своими проектами (позже, конечно, нужно будет установить его на все компьютеры где вы планируете работать со своим сервером). Установка неприхотлива, настройки минимальны, а потому рассказывать туту практически не о чем.
2. Установка Denwer
Дальше нужно установить Denwer скачв дистрибутив в офсайта или воспользовавшись этой прямой ссылкой на самую свежую версию, где, увы, потребуется регистрация.
Во время установки лучше всего соглашаться со всеми рекомендациями инсталятора, кроме разве что, разумеется, пути установки и буквы виртуального диска, которую нужно подобрать таким образом, что бы она не просто не использоалась на вашем компьютере (даже флешками и пр.), но и не была задействована ни дома, ни еще где-либо, где вы собираетесь юзать Джентльменский набор (© Denwer). У меня такой буквой оказалась не Z, которую рекомедуют по дефолту, а X.
Путь же установки, конечно, нужно указать в папку, которая была назначена Dropbox'у как каталог для синхронизации. Желательно, что бы можно было использовать Dropbox еще и по рямому назначению, установить Denwer в каталог с аналогичным названием. У вас это может оказаться путь вроде C:\My Dropbox\Denwer.
На этом, вроде бы тоже все. Разве что можно скопировать на в корень Дропбокса ярлыки созданные Денвером на рабочем столе.
3. Доработка напильником (советы)
Последним этоапом будет настройка Денвера для работы с вашими проектами. Тут в принципе тоже все предельно просто. Если вам необходимы расширения PHP както библиотеки PDO или какие-то XML феньки, то установите Пакет расширений PHP 5. Кроме того, если вам необходимо работать с колдировкой UTF-8, то пропишите в вашем .htaccess строку AddDefaultCharset utf-8, без которой Денвер выпендривается даже при указаных метатегах.
Дальше, просто настройте php.ini под ваши нужды, включив, например нужные дополнения и настроив время выполнения скриптов и размер загрузки файлов и приступайте к работе.
Дома или же где-то еще (где, разумеется, должно быть соединение с интернетом) вам предстоит повторить только первый пункт этой простейшей инструкции, установив и дождавшись синхронизации Dropbox.
Вот и все, собственно :) Поздравляю, теперь у вас есть портабельный и быстрый сервер для локальной разработки, который всегда находится в актуальном состоянии на всех машинах, где есть интернет и установленный Dropbox. причем надежность хранения копий проекта повышается в разы, так как он будет лежать физически как на всех компьютерах, где вы с ним работаете, так и на сервере Dropbox.
Метки: web php server perl development apache denwer dropbox |
Трэш-арт в моём исполнении... |
Сегодня переустанавливал сервер на флешку. Всё жутко тормозило и оказалось что у меня уйма времени. Вот и маялся... рукоделием:
Резинка, винтики от компа, скрепки, зажимы от проводов и пакетиков, пружинки из ручек...
Метки: искусство куклы свадьба trash рукоделие art фигурки она мусор |
Продолжение истории про три байта |
Настроение сейчас - Отличное!
Приветствую вас дорогие читатели!
Помните, я писал уже раньше историю о трех лишних байтах и генерации динамических картинок в Zend Framework?
Так вот, тогда эти три злополучных байта изрядно поморочили головы, как мне, так и моему коллеге. Но решив какую-то проблему сразу о ней забываешь, откладывая разве что куда-то на пыльную полку с подписью "Одноразовый опыт". А зря! Ведь покопайся я тогда глубже в проблеме, то понял бы, что дело было вовсе не в лишних строках, а все таки в лишних трех байтах :)
Метки: css php templates smarty bug div utf-8 zend bom ef bb bf |
Динамически генерируемые картинки в Zend Framework |
Настроение сейчас - уже лучше :)
Работая над одним проектом базирующимся на Zend Framework, мы с коллегой столкнулись с серьезной проблемой, очевидного решения которой так и не смогли нарыть в Интернетах. Поэтому, хочу написать о нем здесь, что бы наше решение не кануло в Лету и возможно пригодилось бы еще кому-то.
Постановка задачи:
Итак, задача на самом деле простейшая - поместить каталоги изображений в область сайта недоступную для публичного просмотра. В дальнейшем выдавать изображения посредстом скрипта, в качестве параметра которому передавалось бы, например, имя фала. Контролировать выдачу с учетом таблицы прав доступа Zend и текущей роли пользователя.
Суть проблемы:
Как оказалось проблема заключалась в том, что даже простейший код работающий с графикой через GD возвращал в браузер вместо ожидаемой картинки только текущий URI, котрый был альтернативным текстом прописанным Zend'ом в теге img.
То есть следующий код выдавал в браузер набор байт, сохранив которые можно было просмотреть картинку через любой вьювер графики, но в браузере мы получали только путь, точно такой же как в адресной строке.
header("Content-type: image/gif");
$img_src=imagecreatefromgif($src);
imagegif($img_src);
В переменной $src, разумеется, находился сформированный ранее путь к реальному файлу.
Попытки решения:
Решение этой проблемы затянулось. Перелопатив и рунет и западные ресурсы мы то тут, то там нападали на след похожего поведения Zend. У кого-то не генерировались капчи, кто-то не мог вывести графику из BLOB полей базы. многим помогало отключение Layout'ов и Рендера в функции инициализации Контроллера:
function init()
{
$this->_helper->viewRenderer->setNoRender();
$this->_helper->layout->disableLayout();
}
Однако нам все это не подходило. Рендер у нас был отключен изначально, лэйауты мы не использовали. Однако, проблема оставалась нерешенной и возможно осталась бы такой еще долго, если бы не FirePHP и внимательность моего товарища. Как выяснилось в stand-alone выводе той же картинки таким методом (то есть без Zend (которое кстати, как известно, работает на "Ура!")) выводило в браузер чистый Response, то есть картинку начинающуюся с таких байтов:
ÿØÿà�JFIF�
в то время как такой же код работающий в Zend выдавал на выходе несколько другой набор:
ÿØÿà�JFIF�
Эти три лишних байта и послужили как причиной неприятной проблемы, так и ключем к разгадке.
Решение задачи:
Решить пробелму нам помогла банальность, к которой мы пришли методом проб и ошибок (пробовали убирать закрывающий тег PHP в конце первичного загрузчика, прописывали перед ним вывод хотя бы одного байта).
В итоге оказалось, что в начале всех подключаемых к контроллеру модулей в том числе и в файлах самописных предков нашего Контроллера следует убрать все лишние пустые строки в начале файлов! То есть влияние на вывод оказывала даже пустая строка между комментариями в начале файла и непосредственным описанием класса.
НЕ ТАК:
0.
1. <?php
2.
/**
3.
* Модуль главного Контроллера
4.
*
5.
* @author Smile @rT
6.
* @version development
7.
* @since 08.11.2008
8.
*/
9.
10. require_once 'lib/our/Standard_Controller_Actions.php';
11.
class ReaderController extends StandardControllerAction
12.
{
13.
...
А ТАК:
0. <?php
1.
/**
2.
* Модуль главного Контроллера
3.
*
4.
* @author Smile @rT
5.
* @version development
6.
* @since 08.11.2008
7.
*/
8. require_once 'lib/our/Standard_Controller_Actions.php';
9.
class ReaderController extends StandardControllerAction
10.
{
11.
...
То есть фактически проблема для новичка :) Банальная и простейшая, доступно описанная, например здесь, однако с той лишь разницей, что Zend выдал не знакомую и банальную ошибку, а прибавил к нашей картинке лишних три (бывало и шесть) байт, что и приводило к тому, что она не отображалась!
Так что, думаю, всегда можно найти может и не очевидное, но действенное решение. :)
Метки: php картинка ошибка изображение генерация капча img динамическая uri zend |
Делать деньги на лохах тоже нужно уметь! |
Но, увы, отечественные аферисты, видимо, этого не умеют. Что, в общем-то, хорошо...
Многие наверное уже читали о разводилове под названием http://topkonkurs.ru/, некоторые, думаю, даже проголосовали за "своих друзей". Но, включив элементрную логику и не пойдя на поводу ментальной эмоции "последнее сниму и отдам ради друга!" попробуйте вдуматься.
Простейшие признаки лохотрона:
1. Ужасный дизайн, без идентификации личноcтей авторов, обратной связи, копирайтов
2. Отсутствует выбор операторов и стран, цена соотвественно не адаптируется к нац. валютам
3. Фотография "вашего френда" такая же как и Вконтакте, что как минимум должно напрягать
4. Место "вашего" псевдо друга достаточно высокое (должна сработать мысль - "Среди миллионов Вконтактовцев ОН/ОНА один из лучших? Что за бред!")
5. Самое элементарное - Вконтакте предупреждают, что когда вы переходите по ссылкам, то дальше отвественность сугубо на вашей совести, а все потому, что если бы какой-то подобный конкурс существовал, то он бы проводился на одной из страниц самой социалки!!!
6. Если удалить cookie, то сайт стаёт "недоступным". Товарищи, любая недоступная страница должна как минимум вызывать у браузера стандартное сообщение, а не выведенное через какой-то echo/print примитивный мэседдж!
Вот, кажется, все самое бросающееся в глаза, что должно напрячь человека перешедшего по ссылке! Короче, повышайте свой уровень ителлекта и не будьте бездумными меценатами, даже если об этом просят "друзья". Что еще можно посоветовать? По возможности не храните куки Вконтакте в браузере, когда разоблачили мошеннический сайт - удалите его куки со свеого браузера. Не нажимайте на стрёмные ссылки, если не уверены, что сообщение прислал друг (определяется по языку, сленгу, стилю), ну и наконец, пользуйтесь сервисами вроде http://saiter.ru/, где можно как узнать о мошенничестве, так и сообщить о нём другим!!!
Метки: sms развод обман Афера вКонтакте лохи мошенники vkontakte.ru topkonkurs.ru |
Пусть ка-жда-я и-го-ло-чка ра-да-ва-ет наааас! :) |
Что за Новый год без ёлочки?.. Но и притащить в офис зеленую красавицу, мягко говоря, не гуманно по отношению к природе, а уж тем боле не полит корректно относительно офисных порядков.
Так что, увы, делать ёлку приходится из подручных материалов.
Метки: ёлка самоделки праздник новый год зима |