Категория: Общие

PHP Design Patterns - наблюдатель "

По Стивен Ллойд Уоткин , во вторник 29 декабря 2009 10:02 вечера

Я читал Head First Design Patterns недавно и решили написать несколько моделей в качестве примеров PHP для моего собственного блага. Первое, что я решил код на это наблюдатель " . Формальное определение шаблона наблюдателя является:

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

Поскольку системы становятся более слабо связанные убедившись, что, когда событие происходит все системы, которые требуют знания эти обновления в сообщении. Например, в блоге, после сохранения должности мы, возможно, потребуется обновление поисковой системы (например Lucene), обновленная карта сайта, теги, электронной почты подписка пользователей и т.д. наблюдателя шаблон позволяет разработчикам добавлять дополнительные слушателей без редактирования их наблюдаемого объекта . Вводя наблюдателей (т.е. обновление поисковой наблюдателя, Sitemap Generator, и т.д.) в теме (т.е. системы после редактирования блог) мы можем позволить ей выполнять все необходимые обновления без каких-либо изменений.

Продолжить чтение 'PHP Design Patterns - наблюдатель Pattern' »

Управление Grid Computing использованием виртуальных сред - Часть 3

По Стивен Ллойд Уоткин , в пятницу 4 декабря 2009 11:37 вечера

Введение

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

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

Настройка рабочего - или LIMP сервера

Следующим шагом в процессе является создание виртуальной работников. Для этого я собираюсь использовать установки CentOS использованием VirtualBox. Я собираюсь установить MySQL и PHP на сервере, также известный как LIMP (Li NUX, м ySQL, P HP) Сервера (я, возможно, сделали это имя вверх).

  • Установить VirtualBox на ваши окна машины (по ссылке)
  • Загрузка и установка CentOS (текущая версия 5,3) в рамках созданной виртуальной машины

Там нет смысла мне будет это там, наверное, 1000 'с большой учебники там (ну ладно, вот один: Создание и Managing CentOS виртуальной машине под VirtualBox ). Важно отметить, я думаю, что я назвал мою виртуальную GridMachine машины.

Что касается моего выбора виртуализации клиентов и операционной системы, туда не такое уж большое веских причин для каждого варианта. VirtualBox является то, что я использую на моем домашнем компьютере и при поддержке трех основных операционных систем. Я выбрал CentOS как его хороший стабильный OS и я использую его на свой веб-сервер. Я очень верю в правильные инструменты для работы (хотя я подаю заявление "Использовать быстрый и простой для вас" менталитет здесь), поэтому, если операционная система X работает ваш код быстрее и более эффективно использовать его:)

Важно убедиться, что ваш VM используется DHCP, в противном случае для каждой новой виртуальной машины должны быть настроены отдельно, то, что мы не want.By использованием DHCP мы не должны настроить сетевые настройки индивидуально для рабочего машин, DHCP будет стороны из IP-адресов для вас. Поэтому вы можете скопировать вашу виртуальную машину около офиса, не беспокоясь об установке каждого вверх (это улучшает масштабируемость и снижает работник администрации).

Процесс, который вы должны стремиться к достижению бы получить новые физические машины, установки VirtualBox, и то в значительной степени развернуть виртуальные изображения без многое другое. Это может быть мудрым, чтобы настроить все ваши работники в другой подсети, чтобы можно было по крайней мере узнать, сколько машин работает. Вам также необходимо настроить машины на долгосрочную аренду или неограниченное аренды DHCP.

Как для выполнения заданий на работника

Это интересное направление и Есть несколько научно обоснованных методов для обработки заданий на работника. Здесь я просто обсудить два наиболее очевидных:

  • Постоянно работает сценария: сценарий, будь то скрипт, или скрипт выполняется один раз на работника и работает как часть бесконечного цикла. Я этот метод дисконтированных как один крах сценария и, возможно, ваши работники перестанут работать без какого-то вмешательства.
  • Cron основан выполнения сценария: каждые х минут демон cron стартует звонок на ваш сценарий наладить дело. Без какой-либо проверки это может привести к многим многие копии рабочий скрипт работает.

Мое решение было пойти с хрон который стартует скрипт каждые 10 minutes. мой скрипт выполняет следующие задачи:

  1. Получить список процессов и GREP это для "PHP". Если не найден, то продолжить.
  2. Call работу кода, в моем случае это будет что-то PHP основанных
  3. Работник скрипт завершает свой бег
  4. Готовы идти снова на следующий соответствующий вызов

Мой Баш скрипт выглядит примерно следующим:

  #! / BIN / Ш.
 PS если топор | Grep-V GREP |> GREP PHP / Dev / нуль
 то
     Эхо "Работа в настоящее время обработки, с выходом"
 еще
     Эхо "Работа не работает, начните прямо сейчас"
     PHP yourJobProcessingScript.php
 Fi 

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

На этом настройка работника виртуальной машины, быстро, просто и легко копировать в каждой новой части оборудования, которое получил. 'Ум' сетки система действительно не в визуализируется ОС, ее все делать с код, созданный в процессе работы, работы конфигурации, и в том, чтобы задание выполняется в случае необходимости (например, когда хозяин находится в режиме ожидания ).

Настройка Windows для инициализации рабочих

Первой задачей является разработка команды, необходимые для запуска виртуальной машины из командной строки Windows. Если у Вас установлена ​​VirtualBox в папку по умолчанию, и вы назвали ваш работник GridMachine то команда требует, чтобы загрузить ваш работник:

  "C: \ Program Files \ Sun \ VirtualBox \ VBoxManage.exe" startvm GridMachine 

Однако, чтобы запустить сценарий в "обезглавленный" государство нам нужно использовать:

  "C: \ Program Files \ Sun \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - VRDP = OFF 

Это приведет к запуску виртуальной машины без графического интерфейса и позволяет ему сохранить состояние изящно. Второй аргумент выключается RDP поэтому он не конфликтует с Windows RDP, или дать вам сообщение о прослушивает порт 3389. Имя виртуальной машины с учетом регистра!

Далее, мы должны установить Windows до стартует наш рабочий В. М. раз машина была простой. Для этого (на Windows XP) вам необходимо перейти Пуск -> Все программы -> Стандартные -> Служебные -> Назначенные задания ", как показано ниже:

запланированных задач

Потом нажмите на "Добавить задание ', а затем перейдите к добавлять пользовательские программы. Перейдите на сценарий VBoxManage и нажмите кнопку ОК. Расписание ваша задача для любого из вариантов (мы изменим это в минуту) и продолжить. После пропуска следующего окна окно попросит вас, кто вы хотите, чтобы выполнить эту задачу, я предлагаю либо "Администратор" или создания новых привилегированных пользователей. Помните, что мы не хотим вмешиваться в стандартной учетной сотрудников на машине в любой момент. Нажмите кнопку Далее и установите флажок Показывать дополнительные опции для этой задачи.

К концу выполнения TextBox добавить 'startvm GridMachine' строка нашего и обеспечения того, чтобы работать только тогда, когда вошли в систему остается данную опцию. Посетите Расписание задания следующего и изменить график опуститься до опцию 'в режиме ожидания, выберите количество времени, вы хотели машина, бездействовать, перед тем как перейти к следующей закладке.

Наконец снимите опцию в котором говорится, остановить задачу, если она работает уже X количество времени, но галочку, чтобы отказаться от задачи, если машина не простаивает.

график

Вот и все, то для установки принимающей окна!

Резюме

В этой части мы создали виртуальную машину в качестве работника, а также способ, в котором мы называем и выполнить наши сценарии обработки заданий (для себя сценарий PHP). Здесь мы рассмотрим, как настроить наши копии Windows для запуска виртуальной машины в режиме обезглавленный, когда компьютер бездействует, и сохранить свое состояние, когда пользователь возобновляет использование машины. Надеюсь, в этот момент вы видите, как это просто для создания такой системы и чешутся, чтобы получить некоторые эксперименты собираетесь сами!

Следующий раз

В части 4 мы будем смотреть на использовании инструментов для обеспечения того, чтобы вы работаете в последней версии кода и данных источников, с тем, что полученные результаты всегда в ногу со актуальный с последними бизнес-информации и логике.

Великобритания имена каталогов и того, применение

По Стивен Ллойд Уоткин , в пятницу 10 апреля 2009 9:33 утра

Один из забавных вещей, я принимал участие в то время работал для Tracesmart это имена каталогов . В основном мы взяли наши огромная информационная база данных и вытащил большую кучу статистика о различных имен.

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

Вот пример моего имени Ллойд Уоткин , или я полагаю, более правильно Стивен Уоткин . Остановитесь на минутку, чтобы посмотреть ваше имя на сайте Tracesmart, может быть интересно;)

Мы также получили имена статистических данных на имена каталогов страницу, которая говорит вам, что имена были искать и как недавно. Его весьма интересно посмотреть, имена известных людей взлететь статистика, когда они появляются в новостях. Одним из последних примеров является то, что из Лиам Нисон , кто жена умерла от лыжах аварии недавно, хотя очевидно, что люди не совсем верно на правописание (отсюда и огромное количество хитов на это имя) - Лайам Нильсон .

Того, применение

После названия каталога был создан, мы приступили к созданию того, применение которых мы duely именем " My Name ". Того, приложение расширения имен каталогов и обеспечивает некоторую дополнительную статистику. Для того, чтобы добавить имена каталогов на вашем счету того, пожалуйста, посетите:

http://apps.facebook.com/my-name/

Flickr и Yahoo!: Забыли Логин Подробности

По Стивен Ллойд Уоткин , четверг 2 апреля 2009 7:31 вечера

Несколько месяцев назад я изменил мою Flickr паролем, чтобы друг мог загружать несколько выстрелов к нему. Несколько месяцев спустя я нахожу, что я забыл, что пароль и пытаясь вспомнить все свои тайные подробности из Yahoo! просто кошмар. У меня была Yahoo! адрес электронной почты в течение нескольких лет, и я не был уверен, когда и где (я живу), когда я подписал - о только для большей ясности Flickr использует Yahoo! Войти системы:)

Yahoo! были не помогло, они хотели, точные детали и будет отвергать все, что не совпадают. Кроме того, я не смог предоставить список возможных соответствующие детали оно должно быть права на каждую деталь в противном случае оно будет отклонено. Я могу понять безопасности, но это было получать боль в заднице, особенно, как я мог получить свое имя пользователя в свой обычный адрес электронной почты без каких-либо проблем (почему не могли бы вы отправить сбросить там !?!?!). В дополнение ко всему этому они хотели подробнее послал к ним в офис в Калифорнии по почте или факсу, BOO!

Шаг назад к Flickr, которые любезно отправить письмо на мой зарегистрированный адрес электронной почты просят меня, чтобы отделить мою учетную запись Yahoo! с моего счета Flickr. Ура я мог бы подписать контракт с новой учетной записи Yahoo! и прикрепить мой Flickr внимание к этому новому Войти.

После ожидания по крайней мере неделю каждый раз для Yahoo! ответить Flickr получил это все сортируется в течение 2-3 часов!

Молодцы Flickr, к счастью, вы там ищете после ваших клиентов:)

Теперь для скуки каждого вот еще одна ссылка на мой счет Flickr

Вдохновленный ... и guilted!

По Стивен Ллойд Уоткин , в среду 11 марта 2009 8:51 вечера

Я недавно создал блог для одного из парней в работе - Мэтью Хопкинс - и, видя его первые несколько сообщений заставил меня думать, что, может быть, я хотел бы добавить несколько сообщений, как его уже довольно долго и много произошло за 2008 год. Еще один из парней в работе делает сам блог, старый добрый Стивен Гриффитс так посмотрите там.

Так что я буду тащиться и добавить некоторые ретроспективные сообщения о том, что 2008, предназначенные для меня и как 2009 год складывается:)

2008 WTF?!?

По Стивен Ллойд Уоткин , четверг 1 января 2009 12:00 утра

2008 год был странный старый год, есть несколько вещей, которые я действительно любил об этом, и есть некоторые вещи, которые в настоящее время забыты и переехал на с ....

Дайвинг

Я не делал ничего особенного в том, как подводное плавание Я думаю, мне удалось около около 10 погружений в течение всего года. Один из этих погружений было подводного Санты события в Vobster Набережная который был более успешным, чем мои самые смелые мечты. В конце концов мы подняли над £ 1000 для RNLI , получили освещение на BBC и ITV, и имел около 80 водолазов в воду. Vobster было море дайвинг Санты за день! Я действительно надеюсь, что я делаю более дайвинга в 2009 (много больше!), Возвращаясь в него будет включать множество обучение, чтобы научиться работать снова. Я скучаю дней с момента получения на лодке, солнце сияло вниз, схватил омара, упаковка ира Â и отправиться домой на несколько сортов пива.

Бег

В конце января 2008 года я принимал участие в автокатастрофе, ударил сзади в то время остановился, ничего серьезного или так я думал. За несколько месяцев моя боль в шее получили все хуже и хуже мешает мне работать. В конце концов, я связался с компанией происшествиями, которые начали получать мне лечение мануального терапевта в Кардиффе которые я все еще идет (март 2009 - претензии по-прежнему не урегулирован либо). Запуск еще одна из тех вещей, я хочу, чтобы вернуться к, я начала с Miles а между заболеваний, травм, и в конечном итоге его переезда в Кембридже мы только вышли несколько раз. Мне очень нужен хороший пинок, чтобы получить Бум будет снова, хотя мое единственное утешение в том, что я был Велоспорт назад и поэтому работать в течение нескольких месяцев который делает мне несколько хороших.

Перемещенные

В июле 2008 года я переехал в квартиру с Меган, мы получаем через отделочные работы и получать его ищет действительно Никее -. Хотя мы вроде перетаскивания наши каблуки с картины ... до сих пор. Квартира есть в Adamsdown в Кардиффе (я кажется, никогда не двигаться далеко) и подходящую нам просто замечательно.

Работа

Работа была всем в 2008 году, я начал с дрейфующих немного, прежде чем принимать работу на оповещая агента в качестве менеджера. Это помогло не заканчиваются недвижимости и позволяя агентство программного обеспечения , что я был развивающихся. Мой план на имущество и позволяя агентство программного обеспечения является, чтобы освободить ее, как низкая себестоимость продукции, когда у меня больше времени, чтобы очистить его. Из того, что я рассказал о конкурирующих продуктов на рынке, она проще в использовании и выполняет много или несколько из тех же функций в лучшую сторону:)

Протяжении апреля 2008 года подошел к моей 22 года как Меган и моя мать стала настаивать на меня "пойти на карьере", которые тяжело глотать идея была действительно то, что мне было нужно. Запуск свою собственную компанию Было весело, но не обеспечивает стабильность, необходимую и зарабатывать гроши на оповещая агентство не была долгосрочной цели карьеры. Он всегда был случай подождать, пока я получу свой программное обеспечение закончена и я начну продавать его, но время всегда был против меня.

За этим последовало несколько интервью с некоторыми большими компаниями в некоторых больших областей, подающий большие надежды переехать в новые области, начать новую жизнь, казалось большим. Лучшая работа, предложение было с большой хостинг-провайдер в области Вустер и, казалось идеальным. Так что же случилось? Ну, я был разработан онлайн решения SMS назад под Рождество, которые были сидеть не делает много такого, что инвесторы были найдены. Отлично я думал, и мы поехали. Все не закончилось хорошо, и после нескольких месяцев невыполненных обещаний и повышение уровня стресса я сделал стенд и вышел. Рабочая 60 часов в неделю, придя домой и делаю еще 3-4 часов плюс рабочие все выходные, и для всех напряжений это было одно из лучших решений, которые я когда-либо делали. (Здесь я хотел бы поблагодарить Меган, мои родители, и мои друзья, что рядом со мной, я был стресс-возглавляет член время от времени, и я извиняюсь)

Четыре недели спустя я приземлился себя работу с компанией "Tracesmart в Cardiff Bay как PHP Developer. После прохождения тестов и интервью, которые я начал с целой кучей энтузиазма (как вы можете себе вещей было немного низких на некоторое время). Tracesmart выполнять поиск людей, людей отслеживания, избирателей обработки данных, с участием огромного количества данных. Я был там уже около 5 месяцев (с учетом на самом деле я пишу эту статью в марте 2009 года), и я люблю каждую минуту этого. Я нажатием себя каждый день, имеют большой рабочей среды (мой стол с видом на залив!), Хорошие коллеги! Я принимал участие в некоторых хороших проектов (другие должности следовать), и я очень горжусь работой, которую я делаю там.

2009 ....

Несмотря на начало 2009 года в Германии страдают от вируса Ново 2009 году великий до сих пор. Меган и я Спента Новый год время в Германии и Амстердаме. Амстердам является красивым и дом Анны Франк был реальный огромное влияние на меня, то мы будем безусловно, будет возвращаться. Работа идет очень хорошо. Моя шея становится все лучше и лучше, чтобы в течение нескольких недель я буду голову из тех первых ужасно работает еще раз. Единственное, что мне действительно нужно сейчас хороших несколько погружений (или погружение праздник), чтобы вернуться в качели вещей!

Пользовательские php.ini с Plesk

По Стивен Ллойд Уоткин , в среду 13 августа 2008 3:53 вечера

У нас есть выделенный сервер с ukFast А, на котором мы запускаем ряд областей , которые существуют на виртуальных серверах под управлением Plesk . Во всяком случае, на большинстве из моих доменов Я хочу, чтобы скрыть от предупреждения и обеспечения безопасности держать ошибки в лог-файлы, однако на некоторых из моих доменов (таких, как я на развивающихся) Я хочу показать каждому мало неприятных предупреждений и ошибок, что появляется.

Если бы я изменить свой ​​PHP . INI "> php.ini это влияет на каждый домен на сервере, а не хорошая идея, особенно когда несколько сайтов полностью концертные версии Так, чтобы обойти эту проблему нужно положить файл с именем vhosts.conf в конференции каталоге, например, /var/www/vhosts/<my_domain>/conf/vhost.conf .

После того как вы добавили дополнительный код, опять же для примера я включил,

 php_value error_reporting E_ALL php_value display_errors On 

следует выполнить следующую команду (это перенастраивает все ваши областей его просто быстрее ленивее, чем ввод в домен ,

 # /usr/local/psa/admin/bin/websrvmng -a 

Если вы чувствуете себя немного проворные то вы всегда можете вводить одни и полную версию, которая является,

 # /usr/local/psa/admin/sbin/websrvmng -u --vhost-name=<my_domain> 

После этой команды, если вы посмотрите на httpd.include файл, увидите, что ваш httpd.include будет включать линию для вашего vhost.conf, что-то вроде этого:

 Include /srv/www/vhosts/domain.com/conf/vhost.conf 

Болометра теории

По Стивен Ллойд Уоткин , четверг 21 июня 2007 1:18 вечера

У меня была тонн писем (а около 5 $) с просьбой о введении странице "болометра теории" Раньше у меня на сайте. Так вот он так же, как и раньше, но с некоторыми из ссылок на другие биты части старого сайта удалить:)

Введение в теорию болометра













Панорама Тема Themocracy

6 посетителей сейчас
4 гостей, 2 ботов, 0 пользователей
Макс посетителей сегодня: 14 в 12:11 UTC
В этом месяце: 26 в 07-05-2011 12:35 утра UTC
В этом году: 130 в 28-03-2011 10:40 вечера UTC
За все время: 130 в 28-03-2011 10:40 вечера UTC