Категорија: Членови

Oauth / Твитер Овласти адаптер за Zend Framework

Со , сабота 23 април, 2011 година 15:57

Работа продолжува (полека) на мојот нов Твитер -базирана апликација. Во текот на следните неколку банка празници се надевам дека ќе добие импулс ќе повторно на проектот (во и покрај прекрасни временски услови во моментов). Како и да е, мојата следна задача беше да се создаде за проверка адаптер за Рамковниот Zend . Имав работа најава имплементација, но има пад во Овласти адаптер за Zend Framework изгледаше како атрактивна предлог, па што јас го создадов ....

(Јас не одам да се оди преку Oauth или регистрирате со вашата молба Твитер, има стотици водичи и тоа е прилично јасна процес во секој случај.)
Продолжи со читање "Oauth / Твитер Овласти адаптер за Zend Framework" »

"Пријавете се со Твитер" со користење на Zend Framework

Со , четврток 17 Март 2011 година 01:07

И покрај сите омраза Твитер во моментот, јас сум постави за цел да создаде нова Твитер -базирана апликација. Како некој кој управува со неколку сметки (и лични и за мојата добротворна работа) Сум бил потреба од алатка за некаде дека јас сум само добивање околу пишување (повеќе од тоа што во блиска иднина ...).

Прочитав врз Zend_Oauth_Consumer и како може да се користи за да се добие овластување за интеракција со Твитер користење oauth . Сите многу добро, имам клуч за пристап и весело да испраќате далеку во име на корисникот. Има многу ресурси таму да го направите ова, па јас не ќе роди луѓе.

Следниот чекор е да им овозможи на луѓето да се вратат на веб-сајт, се најавите и да ги модифицираат своите сметка. Ова е местото каде стигнав мал проблем. Користење на кодот примери на веб-сајтови значи дека Би Твитер ме прашува за пристап овластување повторно за секоја најава, не е добра. Скенирање преку рамката не можев да видам нешто што ќе ми овозможи да само барање за проверка. Тоа не е да се каже тоа не е таму, но не се чини дека се за проверка механизам кој може да се повика без да се знае пристап знак веќе.

Алтернативите се да се спроведе сајт базирани Вклучи се или некако продавница пристап знак на корисникот на клиентот (шифрирана се разбира). Ниту една од овие ми изгледаше како добар / соодветно решение.

Продолжи со читање "Пријавете се со Твитер" со користење на Zend Framework "»

Zend Certified Engineer (ZCE) 5.3

Со , четврток 30 Сеп, 2010 21:00

Со официјалното пуштање на Zend Certified Engineer (ZCE) програма за 5.3 мислев дека сум дадам брз впечаток од она што мислев дека на испит.

Малку позадина на себе: јас прв пат е воведен PHP околу 7 години и имаат работено професионално во PHP од 2006 година. Јас во моментов работи за возбудлив старт-ап наречен Brightpearl со седиште во Бристол, Велика Британија , за производство на интегриран CRM, сметководствени, и e-commerce софтвер. Не сум претходно било кој од претходните ZCE квалификации. Јас во моментов се развие во 5.2.X серија и навистина не се користи било кој од специфични карактеристики 5.3 (јас чекам Zend Framework 2 и доктрина 2) во мојот развојни проекти.
Продолжи со читање "Zend Certified Engineer (ZCE) 5.3" »

Quick Start Symfony DI (зависност инекција) Почетен курс

Со , сабота 14 Август, 2010 14:21

Што е зависност инекција (Di)?

Зависност инјекција е техника која им овозможува за лабаво заедно објекти во рамките на софтверска апликација. Општо земено, ако објект бара пристап до функционалноста на друга дека ќе се инстанцира внатрешно доведе до цврсто заедно системи. Со воведување на зависност инекција се инјектираат потребните објекти подготвени за употреба (понекогаш и од инверзија на контрола - МОК). Земете следниот пример:

  <? PHP
 класа DecisionMaker {
     јавна функција makeDecision (низа $ параметри) {
         / / Треба база на податоци адаптер
         $ ДП = new DecisionParameters ();
         $ ParameterScore = $ ДП> getScore ($ параметри);
         / * ...  Некои повеќе одлука логика ...  * /
         се врати ($ parameterScore> 50);
     }
 } 

Овој дел од кодот се вели дека е цврсто поврзан со DecisionParameters објект. Препишување на погоре во лабаво заедно мода би имале нешто слично ....

  <? PHP
 класа DecisionMaker {
     приватни $ _dp;
     јавна функција __construct ($ ДП) {
         $ Ова-> _dp = $ ДП;
     }
     јавна функција makeDecision (низа $ параметри) {
         $ ParameterScore = $ ова-> _dp-> getScore ($ параметри);
         / * ...  Некои повеќе одлука логика ...  * /
         се врати ($ parameterScore> 50);
     }
 } 

Додека се здобива со придобивките од лабаво заедно код сме додавање на сложеност, како што секој пат кога објектот е instantiated ние исто така треба да се показ своите зависности и да го положат овие во премногу. На пример, ова:

  $ Избор = new DecisionMaker ();
 echo $ избор-> makeDecision (array ("напор '=>' низок ',' врати '=>' високо ')); 

сега станува:

  $ ДП = new DecisionParameters ();
 $ Избор = new DecisionMaker ($ ДП);
 echo $ избор-> makeDecision (array ("напор '=>' низок ',' врати '=>' високо ')); 

Оваа ситуација станува болна на бројот на зависности за класа е зголемен, и што ако зависности самите зависности? Ова многу брзо може да стане објект администрација кошмар! Внесете зависност инекција контејнери (или рамка) ...
Продолжи со читање "Quick Start Symfony DI (зависност инекција) Почетен курс '»

Голи Zend_Layout и Zend_View

Со , вторник 10 август 2010 23:47

Во оваа статија јас гледам на користење Zend_Layout и Zend_View заедно со едноставни пред контролорот за да покаже колку е можно да започне одвојување бизнис логика и презентација во рамките на вашата апликација. Сите кодот е достапна на github:
Голи Zend_Layout и Zend_View на GitHub .

Продолжи 'Гол Zend_Layout и Zend_View "читање»

Zend Framework по предмет распределба Подесувања - Да се следат

Со , вторник 16 февруари 2010 20:48

Како продолжување на мојот претходен пост на по модул врз изгледот поставувања за Zend Framework , јас сум ажурирани го кодот за да бараат помалку конфигурација тогаш пред (не дека тоа бара повеќе од неколку линии во вашата апликација конфигурација!).
Продолжи со читање "Zend Framework по предмет распределба Settings - Следете Up" »

Креирање на URL во Zend прилагодено ги Helper

Со , четврток 28 јануари 2010 11:01

Ова може да се чини едноставна, но бев удира главата се обидува да создаде рачно во сопствен поглед помошник во Zend Framework . Имам рутирање подесување кој добива модул од под-домен во употреба, така што не може да се користи едноставен hardcoded рачно.

Продолжи 'Креирање на URL во Zend прилагодено ги Helper "читање»

Пат барања за sitemap.xml да сопствени контролер / акција

Со , среда 6 јануари 2010 12:13

Со цел да се насочи барања за / sitemap.xml на сопствени контролер и акција во Zend Framework апликации едноставно додадете го следново во Вашиот application.ini или алтернативни конфиг фајл (на пример јас го користам navigation.ini):

 resources.router.routes.sitemap.route = "sitemap.xml"
 resources.router.routes.sitemap.defaults.controller = индекс
 resources.router.routes.sitemap.defaults.action = Мапа на сајтот

Пример код за Ставање може да се види со создавање на акција во соодветните контролер (на пример, мојата карта е во индекс контролер, карта акција):

 < PHP
 класа IndexController
     се протега Zend_Controller_Action
 {
     / **
      * Приказ Мапа на сајтот врз основа на Zend_Navigation подесување
      * /
     јавна функција sitemapAction ()
     {
    	 echo $ ова-> View-> навигација () -> Мапа на сајтот ();
    	 $ Ова-> View-> распоред () -> disableLayout ();
    	 $ Ова-> _helper-> viewRenderer-> setNoRender (вистинска);
     }
 }

Sitemaps брзо и лесно може да бидат генерирани со користење Zend_Navigation , голем брзо Почетен курс (и обично се многу корисни за Zend Framework вежби) е Zend фрла - Динамички создавање мени Мапа на сајтот и breadcrumbs .

Канцеларија мрежа компјутери со користење на виртуелни околини - Дел 4

Со , петок 4 Декември 2009 година 11:59

Вовед

Јас работам во компанија во која трчаме многу серија работни места обработка милиони евиденција на податоци секој ден и јас сум се размислува неодамна за сите машини кои седат околу секој ден прави ништо за неколку часа. Зарем не би било добро доколку можеме да ги користат овие машини за да ја зајакне моќ на процесирање на нашите системи? Во овој сет на статиите, ќе одам да се погледне на потенцијалните придобивки од вработувањето канцеларија мрежа користење виртуализирани средини.

Во Дел 3 Ја создадовме нашата виртуелна машина за обработка и конфигурирате Windows машини да стане мрзлив работно време.

Водење на најновите кодот

Неизбежно по создавање на работници бизнис логиката да се промени, грешки ќе се најде, побрзо поефикасно кодот ќе бидат произведени со тоа оставајќи вашиот работници седеа околу обработка на податоци со користење стари миризливи код . Како тогаш ние се осигура дека ние сме секогаш со користење на најновите и најголема верзија на обработка на скрипти?

Има неколку многу лесно едноставни начини би можеле да го направите ова, трик, сепак, е да се намали процесорска моќ и мрежниот сообраќај во постигнување на оваа. Да започнеме едноставно, со наједноставен на решенија и да се подобри тоа полека со текот на неколку повторувања.

Со првиот метод ќе биде едноставно да се поврзете со нашата работа за контрола на серверот (преку самба, FTP, или слично) и повлечете надолу на најновата верзија на кодот. Не е многу ефикасна, но тоа ќе ја заврши работата. Да се ​​подобри за тоа нешто, како за создавање на rsync скриптата и користење дека секој пат кога наместо неа? Алтернативно, она што за ставање на нашите најновите обработка скрипта во субверзија одјавувањето на кодот на почетокот, а потоа само ажурирање на нашите код на секој работи ( svn update )?

На крајот, би можел да заврши со сценариото баш (наречен од закажана на секои 10 минути) кој изгледа толку едноставно како ова:

  #! / Bin / sh
 ако PS секира | grep-v grep | grep PHP > / dev / null
 потоа
     echo "работа е во процес на обработка, Егзит"
 друго
     echo "работа не се извршува, да започнеме сега"
     CD / патека / до / работа / копија
     svn update
     PHP yourJobProcessingScript.php
 -fi 

Сега можеме да бидеме сигурни дека со секој работи ние сме дефинитивно работи за најновата код. Ние сме обезбедување ова со ажурирање на нашите кодот база во секое време се вршат се кандидира и намалување на мрежниот сообраќај од само пренос на датотека разлики во нашата мрежа.

Во мојот демонстрација подесување, го направив точно како што е погоре. Субверзија беше инсталиран на мојот работа обработка сервер и јас едноставно се повлече најновите кодот од "работник" гранка користење на "svn update. Јас исто така, додаде бројот на верзијата на мојот таг обработка скрипта која се врати во базата на податоци како дел од резултатите се врати. На овој начин можев да видам дека мојот кодот е се ажурираат секој пат кога копира моето стебло во работник гранка, односно дека сум бил дефинитивно работи за најновата обработка сценариото.

Користење на најновите податоци

Доколку вашата работа обработка прави користењето на извори на податоци, тогаш во некој момент овие се ќе биде обновено премногу. Освен ако не се јавите на вашиот извори на податоци за многу ретко основа си оди за да поплави вашата мрежа со сообраќај што е можно вашиот работници почнат да се носат се во застој. За мојот решение решив дека сакам да се движи мојот извори на податоци со околу мојата виртуелна машина.

Држете си коњи таму! Што ако моите извори на податоци се огромни? Па ова навистина е случај за тоа колку податоци зборуваме? Тоа може да биде поекономична да се инсталира дополнителна поголем хард диск во секоја машина, отколку да купите дополнителна обработка серверот. Ова е прашање на буџетот и е до бизнис да се одлучи. Тоа можеби дека вашите податоци извори се толку големи што е само неизводливо да го задржи износот на податоци во вашиот работник машини. Во тој случај што ќе направиш? Па би можеле да се погледне во нарекувајќи локалните податоци на серверот, но ова може да предизвика проблеми со мрежата. Во овој случај мрежа систем, како што тоа може да стане нереално да се вклучите во канцеларија на животната средина. Таа, исто така може да биде дека можете да погледнете во алтернативни работи стратегии, на пример само повикувајќи вашиот работници 20:00-06:00 секоја ноќ и / или Дроселиране извор на податоци барања.

Преселба на да речеме нашите извори на податоци изнесува 100GB податоци. Па да тоа е сосема малку на податоци да се движите низ мрежата на ажурирање. Како ние ќе се осигура дека имаме најновата копија на податоците во овој случај? Rsync е можност, но лично мислам дека со извршување на вашиот најновите извор на податоци на вашата работа за обработка на серверот и поставување на ова се како господар во репликација (со убав долго бин Вклучи се) може да биде начин да се оди:

репликација Со поставување на секој од вашите работници се како роб на работа за контрола на серверот на ажурирања на вашиот извори на податоци ќе браздичка надолу убаво на вашиот работници без огромен пораст во мрежата активност (што е, освен ако не се изврши ажурирање на податоците и огромна сите работници удар во одеднаш). Ова има предности во однос rsync во кои нема да добиеш долга пауза пред секоја работа; како база на податоци надградби, MySQL серверот на вашиот работник постојано ќе ги ажурира своите податоци додека обработка продолжува.

Ова е како поставам мојата демонстрација серверот. За да го поставите репликација го следев упатството за сајт MySQL ( Поставување на репликација ) и во рок од 20 минути имав inital работник реплицира на работа контрола сервери базата. За секоја дополнителна работник на репликација поставувања и процесот работел секој пат кога В.М. бил копиран.

Резиме

Во овој дел на статијата имаме погледна колку е лесно и безболно е да одржите вашиот обработка код во тек со using rsync или subverion (SVN) да ја заврши работата и да се намали сообраќајот во мрежата на истиот time. Ние, исто така, разговараа како да одржите вашиот извор на податоци информации до-to-date со тоа што овозможува да браздичка до секој од вашите работници. Така ние област се осигура дека ние се држи чекор со бизнис логиката и информации во нашата канцеларија мрежа систем. Има очигледно ќе биде безброј алтернативи за извршување на овие задачи, но тука беа два едноставни примери за да покаже колку е лесно решение е да се дојде до.

Следниот пат

Во завршниот дел од оваа серија, во потполност име Дел 5 , ние ќе разговараме имплементирање на овој систем за. Ќе ги сумирам што го знаеме и она што јас успеав да се создаде.

Канцеларија мрежа компјутери со користење на виртуелни околини - Дел 3

Со , петок 4 Декември 2009 година 23:37

Вовед

Јас работам во компанија во која трчаме многу серија работни места обработка милиони евиденција на податоци секој ден и јас сум се размислува неодамна за сите машини кои седат околу секој ден прави ништо за неколку часа. Зарем не би било добро доколку можеме да ги користат овие машини за да ја зајакне моќ на процесирање на нашите системи? Во овој сет на статиите, ќе одам да се погледне на потенцијалните придобивки од вработувањето канцеларија мрежа користење виртуализирани средини.

Во Дел 2 Ги свртевме погледите кон работните места на серверот ќе се кандидира, и како работни места треба да биде конфигуриран со цел да се постигне најголем износ на обработка додека се осигура дека секоја работа се обработуваат без пропадне.

Поставување на вашиот работник - или Limp сервер

Следниот чекор во процесот е да го поставите вашиот виртуелен работници. За ова, ќе одам да се користи за инсталација на CentOS користење VirtualBox. Одам да го инсталирате MySQL и PHP на серверот, исто така познат како Limp (Ли nux, м ySQL, П HP) Server (можеби сум го направи тоа име нагоре).

  • Инсталирајте VirtualBox на вашиот Windows машина (следи линк)
  • Преземете и инсталирајте CentOS (верзија 5.3) во создаде виртуелна машина

Нема смисла да ме случува на оваа има веројатно 1.000 "и на голем вежби таму (Во ред, еве еден: Креирање и Managing CentOS виртуелна машина под VirtualBox ). На важна точка да се напомене претпоставувам е дека јавив на виртуелната машина GridMachine.

Што се однесува до мојот избор на виртуелизација клиентот и оперативен систем одиме таму не е голема причина за секој избор. VirtualBox е нешто јас го користам на мојот дом машина и е поддржан од страна на три главни оперативни системи. Избрав CentOS како тоа е добар стабилен оперативен систем и јас го користам на мојот сопствен веб сервер. Јас сум голем верник во право алатки за работа (иако сум примена "употреба на најбрз и најлесен за вас" менталитет тука), па ако оперативен систем Х работи кодот побрзо и поефикасно користење дека наместо:)

Важно е да бидете сигурни дека вашиот В.М. користи DHCP, во спротивно за секој нов виртуелната машина ќе треба да се конфигурира посебно што е нешто што не want.By користење на DHCP ние не треба да го конфигурирате мрежните поставки поединечно за работник машини, DHCP ќе рака од IP адреси за вас. Затоа можете да ја копирате вашата виртуелна машина за канцеларија без да се грижиш за поставување на секој од нив се (ова се подобрува приспособливост и го намалува работник администрација).

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

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

Ова е интересна област и постојат неколку валидни методи за обработка на работни места на работникот. Еве јас само ќе разговараат за два најочигледен:

  • Постојано работи сценарио: скрипта, тоа да биде школка скрипта, или скрипта PHP се извршува еднаш на работникот и работи како дел од бесконечна јамка. Сум намалена овој метод како еден несреќа на сценариото и потенцијално вашите работници ќе престане да работи без некој вид на интервенција.
  • Cron врз скрипта извршување: Секој Х минути закажана демон започна повик за вашата скрипта да се работи се случува. Без некои проверка ова би можело да доведе до многу многу копии од вашите работник сценариото работи.

Мојата одлука е да се оди со cron која започна школка скрипта секои 10 minutes. Мојот школка скрипта ги врши следниве задачи:

  1. Земете процес листа и grep ова за 'PHP'. Ако не се најде тогаш продолжи.
  2. Повик вашата работа код, во мојот случај тоа ќе биде нешто PHP базирани
  3. Работник скрипта заврши своите работи
  4. Подготвени за повторно да се оди на следната соодветни повик

Мојот баш сценариото изгледа нешто како следново:

  #! / Bin / sh
 ако PS секира | grep-v grep | grep PHP> / dev / null
 потоа
     echo "работа е во процес на обработка, Егзит"
 друго
     echo "работа не се извршува, да започнеме сега"
     PHP yourJobProcessingScript.php
 -fi 

Забелешка: ехо се речиси целосно бесмислени, но може да им помогне на следната лице кое доаѓа заедно да се обидат и уредување нив.

Тоа се заклучува поставување на работникот виртуелната машина, брза, едноставна, и лесно да ги копирате на секој нов парче хардвер кој е примен. На "мудрост" на мрежа систем навистина не е во визуелизира оперативен систем, неговата сите да се направи со код создаден за да процесот на работа, на работа конфигурација, и во што си сигурен дека работата работи, кога е соодветно (т.е. кога домаќин е неактивен ).

Поставување на Windows да Initialise работници

Првата задача е да работат надвор од командата бара да се кандидира на виртуелната машина од Windows команда линија. Ако сте го инсталирале VirtualBox во стандардната локација и сте именуван вашиот работник GridMachine тогаш командата треба да се вчита на вашиот работник е:

  "C: \ Program Files \ Сонцето \ VirtualBox \ VBoxManage.exe" startvm GridMachine 

Сепак да се кандидира на сценариото во "глава" состојба треба да се користи:

  "C: \ Program Files \ Сонцето \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - vrdp = исклучен 

Ова ќе почне на виртуелната машина без GUI и оставете ја да се спаси државата благодатно. Вториот аргумент се исклучува RDP така што не конфликт со Windows RDP, или да ви даде порака за слушање на порта 3389. Виртуелната машина име е осетливо!

Следно, ќе треба да го поставите прозорците до започне нашиот работник В.М. откако машина е неактивен. За да го направите тоа (на Windows XP) ќе мора да оди на Start -> All Programs -> Accessories -> System Tools -> закажани задачи како што следи:

листата на закажани задачи

Следна кликнете на "Додај закажани Задача" проследена со разгледате за да додадете сопствени програма. Отиди до вашиот VBoxManage скрипта и кликнете OK. Распоред на вашиот задача за која било од опциите (што ќе го промените ова во минута) и да продолжат. По прескокнувањето на следниот екран Windows ќе побара од вас кој сакате да ја извршите оваа задача, јас му сугерираат или "Администратор" или создавање на нови привилегиран корисник. Запомни ние не сакаме да се меша со стандард на персоналот сметка на машина во кој било момент. Кликнете на Next и проверете покаже напредни опции за оваа задача.

До крајот на трката TextBox додадете стринг "startvm GridMachine" и да осигура дека се кандидира само кога сте најавени останува unticked. Посетете го распоред задача следната и промена на распоредот паѓачкото на опцијата "кога сум неактивен, изберете количина на време сакате машината да биде неактивен пред да се пресели на следниот таб.

Конечно untick опција во кој се наведува запре задача ако се одржува Х сума на време, но не штиклирајте ја опцијата за да се спречи задача и ако на машината не е неактивен.

распоред

Тоа е тоа, тогаш за домаќин Windows Setup!

Резиме

Во овој дел имаме постави виртуелна машина да дејствува како работник, како и начинот на кој ние го нарекуваме и извршување на нашата работа обработка скрипти (за мене скрипта PHP). Од тука гледаме како да се постави нашата копии на Windows да ја стартувате виртуелната машина во глава режим кога на компјутерот станува неактивен, и спаси својата држава кога корисникот продолжува употреба на машината. Се надеваме дека во овој момент гледате колку е едноставно тоа е да се постави таков систем и се чешање да се добијат некои експерименти си оди!

Следниот пат

Во Дел 4 ќе се гледа во користење на алатки за да се обезбеди дека сте водење на најновата верзија на кодот и извори на податоци, така што добиените резултати се секогаш-to-date со најновите бизнис информации и логика.













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

8 посетители онлајн сега
8 гости, 0-ботови, 0 членови
Макс посетители денес: 16 во 02:02 UTC
Овој месец: 16 во 2011/01/09 02:02 UTC
Оваа година: 130 на 28-03-2011 22:40 UTC
Сите време: 130 на 28-03-2011 10:40 UTC