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

PHP дизайн модели - Observer Pattern

С Стивън Лойд Watkin , вторник 29ти Декември, 2009 22:02

Аз съм четене Head First шаблони за дизайн неотдавна и реших да напиша някои от моделите като PHP примери за собствената си полза. Първият от тях, че реших да кода си е Observer Pattern . Официалното определение на наблюдател Модела е:

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

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

Продължи четене "PHP дизайн модели - Observer Pattern" »

Офис грид-технологията, използвайки виртуални среди - Част 3

С Стивън Лойд Watkin , петък 04 декември 2009 23:37

Въвеждане

Аз работя в компания, в която ще свършим много работа пакетна обработка на милиони записи на данни всеки ден и аз си мисля напоследък за всички машини, които седят около всеки ден прави нищо в продължение на няколко часа. Не би ли било добре, ако можем да използваме тези машини, за да подкрепят процесорна мощ на нашите системи? В тази поредица от статии, аз ще разгледаме потенциалните ползи от наемането на офис мрежа използване виртуализирани среди.

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

Настройка на работник - или Limp сървър

Следващата стъпка в процеса е да се създаде виртуална работници. За това аз ще използвам една инсталация на CentOS използвате VirtualBox. Отивам да инсталирате MySQL и PHP на сървъра, известен също като Limp (Li Nux, м ySQL, P HP) Server (I може да е направил това име нагоре).

  • Инсталиране на VirtualBox на вашата машина прозорци (следвайте линка)
  • Свалете и инсталирайте CentOS (текущата версия 5.3) е създаден в рамките на виртуална машина

Няма смисъл да ми ще бъде на това вероятно има 1000 "е от голямо уроци там (добре де, тук е един: Създаване и Managing CentOS виртуална машина под VirtualBox ). Важното е да се отбележи, предполагам е, че аз се обадих виртуална машина GridMachine.

Що се отнася до моя избор на клиента и виртуализация на операционната система там не е голяма основателна причина за всеки избор. VirtualBox е нещо, което използвате за моя дом машина и е подкрепена от трите основни операционни системи. Избрах CentOS като си е добра стабилна OS и го използвам за моя собствен уеб сървър. Аз съм голям вярващ в правилните инструменти за работа (въпреки че аз съм прилагане "да се използва най-бързият и най-лесният за вас" манталитет тук), така че ако операционната система X работи кода по-бързо и по-ефективно използване, че вместо да:)

Важно е да се уверите, че VM използва DHCP, в противен случай за всяка нова виртуална машина, ще трябва да бъде конфигуриран отделно, което е нещо, което не want.By използва DHCP ние не трябва да конфигурирате мрежовите настройки поотделно за работник машини, DHCP ще ръка от IP адреси за вас. Ето защо можете да копирате вашите виртуална машина за офиса без да се притеснявате за настройка на всеки един (това подобрява скалируемостта и намалява работник администрация).

Процесът трябва да се стремите да се постигне е да се получи нова физическа машина, инсталирате VirtualBox, а след това почти мобилизиране на виртуален образ, без много други неща. То може да бъде разумно да настроите всичките си работници на различни подмрежата, така че да може поне да видите колко машини се изпълняват. Вие също така ще трябва да настроите вашата машина за дългосрочни договори за наем или лизинг неограничен DHCP.

Как да стартираме работа на работник

Това е една интересна област и има няколко валидни методи за обработка на работни места на работника. Тук просто ще обсъдят двете най-очевидни:

  • Вечно стартирания скрипт: A скрипт, тя да бъде скрипт, или скрипт, PHP се изпълнява веднъж на работника и работи като част от един безкраен цикъл. Аз съм дисконтирани този метод като един катастрофата на сценария и потенциално вашите работници ще престане да работи без някаква намеса.
  • Cron основава изпълнението на скрипта: Всеки X минути Cron демона започва на повикване към вашия скрипт да се неща се случват. Без някаква проверка на това може да доведе до много, много копия на вашите работи работник скрипт.

Моето решение е да отидете с Cron което започва един скрипт на всеки 10 minutes. ми скрипт изпълнява следните задачи:

  1. Вземете списъка процес и Впиши това за "PHP". Ако не е намерен след това да продължи.
  2. Обадете се на вашия код работа, в моя случай това би било нещо, базиран на PHP
  3. Работник скрипт завършва своя план
  4. Готови ли сте да отидете отново на следващия подходящ разговор

Моите Баш скрипт изглежда нещо подобно на следното:

  #! / Хамбар / ш
 PS ако брадва | Впиши-V Впиши | Впиши PHP> / Dev / нула
 след това
     ехо "за работа в момента е обработка, изход"
 още
     ехо "работа не се изпълнява, да започнем сега"
     PHP yourJobProcessingScript.php
 Fi 

Забележка: ехо са почти напълно безсмислено, но може да помогне на следващия човек, който идва заедно да се опитаме да ги редактирате.

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

Създаване на Windows да инициализира работници

Първата задача е да се работи от командния необходими за работата на виртуалната машина от командния ред на Windows. Ако сте инсталирали VirtualBox в местоположението по подразбиране и сте името си работник GridMachine след това командата изисква да се зареди си работник е:

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

Въпреки това, за да изпълните скрипт в "обезглавени" състояние, ще трябва да използвате:

  "C: \ Program Files \ нд \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - vrdp = изключено 

Това ще започне на виртуалната машина, без да GUI и го оставете да спаси държавни елегантно. Вторият аргумент се изключва ПРСР, така че не влиза в конфликт с прозорци ПРСР, или да ви даде съобщение за слушане на порт 3389. В името на виртуалния машина е чувствителна!

На следващо място, ние ще трябва да настроите Windows до ритник на разстояние от нашата VM работник, след като машината е празен. За да направите това (за Windows XP) ще трябва да отидете Start -> All Programs -> Accessories -> System Tools -> Scheduled Tasks по-долу:

планирани задачи

Следваща кликнете върху "Добавяне на планирана задача", последвано от разглеждате, за да добавите обичай програма. Отидете до VBoxManage скрипт и щракнете върху OK. График вашата задача за всеки от вариантите (ние ще променим това в минута) и продължи. След като прескочите следващия екран на Windows ще ви попита, които искате да изпълните тази задача, бих предложил или "Администратор" или създаване на нови привилегировани потребители. Не забравяйте, ние не искаме да се намесва в стандартен акаунт персонал на машината по всяко време. Щракнете върху Напред и проверката покажат, разширени опции за тази задача.

До края на подготовката виждаш добавите низ "startvm GridMachine" и гарантира, че работят само, когато влезли в остава unticked. Посетете задача график следващата и промяна на графика падащото до опция ", когато празен ход", изберете колко време искате машината да бъде празен, преди да преминат към следващия раздел.

Накрая untick опцията която гласи, спиране на задача, ако тя е работила X период от време, но не маркирай опцията за спиране на задача, ако машината вече не е празен.

разписание

Това е то за домакин за инсталиране на Windows!

Обобщение

В тази част ние имаме създадена една виртуална машина да действа като един работник, както и начина, по който ние наричаме и изпълнение на нашите скриптове обработка на работа (за себе си скрипт, PHP). От тук гледаме как да се създаде нашите копия на прозорците, за да стартирате виртуалната машина в режим без глава, когато компютърът става празен и запишете си състояние, когато потребителят отново използване на машината. Надяваме се в този момент вие виждате колко лесно е да се създаде такава система и са сърбеж, за да получите някои експерименти себе си ще!

Следващия път

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

Великобритания Имена Directory и Facebook Приложение

С Стивън Лойд Watkin , петък 10 април 2009 09:33 ч.

Един от най-забавните неща, които съм участвал в докато работят за Tracesmart е имена директория . По принцип ние заехме огромна база данни информация и извади една голяма купчина статистика за различни имена.

Процесът е всичко една голяма SEO усилия, за да привлече повече трафик към сайта, но също така предоставя някои интересни информация и статистика име.

Ето един пример за моето име Lloyd Watkin , или Предполагам, че по-правилно Стивън Watkin . Вземете една минута, за да търсите името на сайта Tracesmart, може да е интересно;)

Ние сме също има имена статистически данни за имената директория страница, която ви казва какви имена е било претърсено и как наскоро. Нейната доста интересно да се види имената на известни хора летят до статистиката, когато те се появяват в новините. Един скорошен пример е, че на Лиъм Нийсън , който е жена почина от ски инцидент наскоро, въпреки че очевидно хората не са съвсем точно на правописа (оттук и огромен брой попадения за това име) - Лиъм Nilson .

Facebook Приложение

След като имената директория е създаден които си поставяме за създаване на приложение Facebook , който ние duely име " My Name ". Прилагането Facebook е разширение на имена директория и осигурява някои допълнителни статистически данни. За да добавите имената директория профила си в Facebook, моля посетете:

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

Flickr и Yahoo!: Забравена Вход Детайли

С Стивън Лойд Watkin , четвъртък 2 април, 2009 19:31

Преди няколко месеца смених Flickr парола, така че един приятел може да качите няколко снимки с него. Няколко месеца по-късно да намеря съм забравил, че паролата и се опитва да запомни всичките си тайни подробности от Yahoo! е просто кошмар. Имах адрес Yahoo! имейл в продължение на няколко години и не бях сигурен кога и къде (I е живял), когато се записах - О, само за да стане по-ясно Flickr използва система Yahoo! вход:)

Yahoo! са не помагат или, те искаха точните детайли и ще отхвърли всичко, което не съвпадат. Плюс това не ми беше позволено да предостави списък на възможните съвпадение детайли тя трябваше да бъде право на всеки детайл в противен случай тя ще бъде отхвърлена. Мога да разбирам сигурност, но това е все едно болка в задника, особено след като мога да си изтеглите потребителско име с обичайната моя имейл адрес, без никакви проблеми (защо не може да ви изпрати нулиране има !?!?!). На всичко отгоре на всичко това те искаха изпратим до своите офиси в Калифорния или по пощата или по факс, Бу!

Стъпка назад в Flickr, които изпратете имейл за регистрирани моя имейл адрес иска от мен да отделят моя профил Yahoo! от профила си във Flickr. Ура ще мога да се регистрирате с нов акаунт Yahoo! и включете отново ми Flickr сметка на този нов вход.

След чака най-малко една седмица, всеки път за Yahoo! да отговори Flickr има всичко това сортирани в рамките на 2-3 часа!

Браво Flickr, за щастие сте там се грижим за вашите клиенти:)

Сега за скуката на всички ето още един линк към моя профил във Flickr

Вдъхновен ... и guilted!

С Стивън Лойд Watkin , сряда 11-ти Март 2009 20:51

Аз наскоро се създаде блог за едно от момчетата в работата - Матю Хопкинс - и виждайки първите няколко мнения ме накара да мисля, че може би трябва да се добавят няколко теми, като си бил добър и много, докато се е случило през 2008 година. Още едно от момчетата в работата се прави блог, за да, доброто старо Грифитс Стивън така да разгледаме там.

Така че аз ще блъскам се на и се добавят някои ретроспективни мнения за това какво 2,008 държани за мен и как 2009 г. се очертава:)

2008 WTF?!?

С Стивън Лойд Watkin , четвъртък 01 януари, 2009 12:00 AM

2008 г. беше странно старата година, има няколко неща, които наистина се ползват за това, а и има някои неща, които вече са забравени и се премества на с ....

Гмуркане

Не съм правил много по пътя на гмуркане Мисля, че успях около около 10 спускания през цялата година. Един от тези гмуркания е леко Santas събитие в Vobster Quay която е по-успешен от най-смелите ми мечти. В крайна сметка събрахме над Â £ 1000 за RNLI , има покритие на BBC и ITV, и е около 80 водолази във водата. Vobster е море от Santas гмуркане за деня! Аз наистина се надявам да стигна до направи повече гмуркане през 2009 г. (много повече!), Връщайки се в нея ще включва много от обучение, за да се удобно отново. Липсва ми дни за получаване на лодката, слънце сияеше надолу, вземете един омар, опаковане UPA А и на път за вкъщи в продължение на няколко бири.

Работа

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

Преместен

През юли 2008 г. се преместих в един апартамент с Меган, ние получаваме чрез боядисване и декориране и все го търсят наистина Никея - въпреки че ние сме нещо като плъзгане ни токчета с картината ... все още.. Апартамента е в Adamsdown в Кардиф (аз никога не изглежда да се движат далеч) и костюми нас просто чудесно.

Работа

Работа е навсякъде през 2008 г. Започнах плаващи малко преди приемането на работа на отдаване под наем агент като мениджър. Това помогна не завършва с имоти и отдаване под наем софтуер агенция , че се развива. Моят план за имоти и отдаване под наем софтуер агенция е да я освободите като продукт на ниска цена, когато имам повече време да го изясни. От това, което съм казал за конкурентни продукти на пазара е по-лесно за използване и изпълнява много или повече от същите функции в по-добър начин:)

През април 2008 са достигнали до 22-рия си рожден ден Меган, така и майка ми започна да настоява за мен "получи кариера", които трудно преглъщат идеята да е наистина това, което имах нужда. Текущи моя собствена компания беше забавно, но не предостави необходимите стабилност и изкарва подаяние в отдаването под наем агенция дългосрочна цел не беше план кариера. Той винаги е бил един случай на изчакайте, докато си получа софтуер завършени и ще започнат да го продават, но времето винаги е бил срещу мен.

Последва няколко интервюта с някои големи компании в някои големи области, пълни с обещание за преминаване към нова област, ново начало изглеждаше страхотно. Най-доброто предложение за работа е с голям доставчик на хостинг услуги в областта Worcester и изглежда идеално. Така че какво се е случило? Ами имах разработи онлайн решение SMS обратно около Коледа, които са били около заседание не прави много, които инвеститорите са открити за. Отлично си мислех и изключване отидохме. Не всичко свърши добре и след няколко месеца на разбити обещания и покачващото се ниво на стрес съм направил стойка и излезе навън. Работа 60 часа на седмица, идващи у дома и това още 3-4 часа плюс работа през целия уикенд и за всички стрес е един от най-добрите решения, които някога съм направен. (Тук бих искал да благодаря на Меган родителите ми и приятелите ми, които стояха до мен, аз бях един от стрес начело пишка от време на време, и аз съжалявам)

Четири седмици по-късно аз поземлен работа с една компания, наречена Tracesmart в Кардиф залив като PHP разработчици. След преминаване на тестове и интервюта започнах с цял куп ентусиазъм (както можете да си представите нещата са малко по ниски за някъде). Tracesmart изпълняват хора, които търсят, хората издирване, избирателните списъци обработката на данни, включващи огромни количества данни. Аз съм бил там сега за около 5 месеца (при съм всъщност писмено това март 2009 г.) и аз обичам всяка минута от него. Аз съм себе си бутане всеки ден, имат голямо работната среда (бюрото ми с изглед към залива!), Добри колеги! Аз съм участвал в някои добри проекти (различни мнения да се следват) и аз съм наистина горд от работата, която правя там.

2009 ....

Въпреки започва 2009 г. в Германия страда от вирус Ново 2009 г. е много досега. Меган и аз spent Ново време години в Германия и Амстердам. Амстердам е красива и на Ане Франк къща е имала истински дълбок ефект върху мен, някъде ние със сигурност ще се завърне. Работи се много добре. Моята врата е все по-добре, така след няколко седмици аз ще главата за тези първи няколко ужасни работи отново. Единственото нещо, което наистина се нуждаем сега, е добър няколко гмуркания (или гмуркане празник) да се върне в люлка на нещата!

Custom php.ini с Plesk

С Стивън Лойд Watkin , сряда 13 август 2008 15:53

Ние имаме специален сървър с ukFast Â, на която ще свършим редица области , които съществуват на виртуални сървъри, работещи под Plesk . Така или иначе, на повечето от моите области искам да се скрия и предупреждения за сигурността запазват грешки в лог файлове, обаче на някои от моите области (като тези, които аз съм на развиващите се) Искам да покажа на всеки малко гаден предупреждение и грешка, която се появява.

Ако редактирам PHP . INI "> php.ini това засяга всеки домейн на сървъра, а не добра идея, особено когато няколко от сайтовете са напълно живеят версии Така, за да получите около това, което трябва да се сложи файл, наречен vhosts.conf в CONF директория, например, /var/www/vhosts/<my_domain>/conf/vhost.conf .

След като сте добавили допълнителен код, като отново за пример съм включил,

 php_value error_reporting E_ALL php_value display_errors On 

след като изпълните следната команда (това преконфигурира всичките си домейни си просто по-бързо lazier от пишете в името на домейна ,

 # /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 

Болометър теория

С Стивън Лойд Watkin , четвъртък 21 юни, 2007 13:18

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

Въведение в болометър теория













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

4 посетители онлайн
1 гости, 3 ботове, 0 потребители
Макс посетители днес: 10 в 01:31 ч. UTC
Този месец: 52 на 18-06-2011 03:11 ч. UTC
Тази година: 130 на 28-03-2011 22:40 UTC
През цялото време: 130 на 28-03-2011 22:40 UTC