Kategorija: Članci

OAuth / Twitter Auth Adapter za Zend Framework

Do , subota 23. travanj 2011 15:57

Rad se nastavlja (polako) na moj novi Twitter aplikacija. Tijekom sljedećih nekoliko praznikom Nadam se da ću dobiti zamah ide ponovo na projektu (u unatoč prekrasnih Vrijeme u sadašnjosti). U svakom slučaju, moj sljedeći zadatak je bio stvoriti autentifikacije adapter za Zend Framework . Imao sam radni prijavu implementacije, ali s padom Auth adapter za Zend Framework izgledalo kao atraktivna prijedlog, pa sam ga stvorio ....

(Im 'ne idući u ići kroz OAuth ili registracije molbu Twitter, postoji stotine vodiča i njegova prilično jednostavan proces zapravo.)
Nastaviti čitanje 'OAuth / Twitter Auth Adapter za Zend Framework' »

"Prijavite se s Twitter" Korištenje Zend Framework

Do , četvrtak 17 ožujak 2011 01:07

Unatoč svim Twitter mrzim u ovom trenutku, ja sam krenuo u stvaranje nove Twitter aplikacija. Budući da je netko tko upravlja nekoliko računa (i osobne i za moj dobrotvorni rad) sam bio siromaštvo alat za neko vrijeme da sam samo uzimajući okolo na pisanje (više od toga u skoroj budućnosti ...).

Pročitao sam se na Zend_Oauth_Consumer i kako ga se može koristiti kako bi dobili odobrenje za interakciju s Twitter koristeći OAuth . Sve dobro i dobro, ja imam svoj ključ pristupa i ja veselo možete postavljati daleko na korisnika ime. Postoji mnogo resursa vani to učiniti tako da neću rodila ljudi.

Sljedeći korak je da omogući ljudima da se vrate na web stranicu, prijaviti i mijenjati njihov račun. Ovo je mjesto gdje sam stigao malo problem. Koristeći primjere koda na web stranicama je značilo da bih Twitter me pitaju za pristup odobrenja opet za svaku prijavu, nije dobro. Skeniranje kroz okvir nisam mogao vidjeti ništa što bi omogućilo mi samo zahtjev provjeru. To ne znači svoju ne postoji, ali nije Čini se da autentifikacijskih mehanizama koji bi mogao biti pozivati ​​bez poznavanja pristupa token već.

Alternative su za provedbu web-based se prijavite ili nekako trgovini korisnički pristup token na klijentu (enkriptirane naravno). Niti jedna od tih se činilo kao dobra / prikladno rješenje.

Nastaviti čitanje "Prijavite se s Twitter" pomoću Zend Framework '»

Zend Certified Engineer (ZCE) 5,3

Do , četvrtak 30. rujna 2010 21:00

Sa činovnik puštanje od inženjera Zend Certified (ZCE) program za 5,3 Mislio sam da bih dati svoj ​​brzi dojam o tome što sam mislio ispita.

Malo pozadini na sebi: Ja sam prvi put upoznao s PHP oko 7 godina i radili su profesionalno u PHP-u od 2006. Ja trenutno rade za uzbudljiv start-up zove Brightpearl sa sjedištem u Bristolu, Velika Britanija , proizvodnju integrirani CRM, računovodstva, i ecommerce softver. Nisam prethodno bilo koje od prethodnih ZCE kvalifikacija. Ja trenutno razvijaju u 5.2.X serija i stvarno ne koristi bilo koji od posebne 5,3 značajke (ja sam na čekanju za Zend Framework 2 i nauk 2) u mom razvojne projekte.
Nastaviti čitanje 'Zend Certified Engineer (ZCE) 5,3' »

Quick Start Symfony DI (ovisnost Injection) Tutorial

Do , subota 14 kolovoz 2010 14:21

Što je ovisnost Injection (DI)?

Ovisnost injekcija je tehnika koja omogućuje labavo spregnuti objekata unutar softverske aplikacije. Općenito, ako objekt zahtijeva pristup funkcionalnosti drugi da će to biti instanciraju interno vodi čvrsto spregnuti sustav. Uvođenjem ovisnost injekcije smo se uvelo željenih objekata spreman za korištenje (ponekad se također naziva inverzija kontrole - MOO). Uzmi sljedeći primjer:

  <? Php
 klasa DecisionMaker {
     javnu funkciju makeDecision (polje $ parametri) {
         / / Trebate baze podataka adaptera
         $ DP = new DecisionParameters ();
         $ ParameterScore = $ DP-> getScore ($ parametri);
         / * ...  Neki više odluka logike ...  * /
         povratak ($ ​​parameterScore> 50);
     }
 } 

Ovaj dio koda je rekao da biti čvrsto spojeni DecisionParameters objekt. Prepisivanjem gore u labavo spregnuti modni ćemo imati nešto poput ....

  <? Php
 klasa DecisionMaker {
     Privatni $ _dp;
     javnu funkciju __construct ($ DP) {
         $ This-> _dp = $ DP;
     }
     javnu funkciju makeDecision (polje $ parametri) {
         $ ParameterScore = $ this-> _dp-> getScore ($ parametri);
         / * ...  Neki više odluka logike ...  * /
         povratak ($ ​​parameterScore> 50);
     }
 } 

Dok stjecanja prednosti labavo spregnuti koda smo dodajući složenosti tako da svaki put kad objekt je instanciraju moramo instantiate svoje ovisnosti i proći tim u previše. Na primjer, ovo:

  $ Izboru = new DecisionMaker ();
 echo $ izbor-> makeDecision (array ('napor' => 'nisko', 'povratak' => 'visoke')); 

sada postaje:

  $ DP = new DecisionParameters ();
 $ Izboru = new DecisionMaker ($ DP);
 echo $ izbor-> makeDecision (array ('napor' => 'nisko', 'povratak' => 'visoke')); 

Ova situacija postaje bolno kao broj zavisnosti za klasu je povećana, a što ako zavisnosti sami ovisnosti? To se može vrlo brzo postati noćna mora uprave objekt! Unesite posude ovisnost (ili okvira) injekcije ...
Nastaviti čitanje 'Quick Start Symfony DI (ovisnost Injection) Vodič »»

Goli Zend_Layout i Zend_View

Do , utorak 10. kolovoz 2010 11:47

U ovom članku ću gledati koristeći Zend_Layout i Zend_View uz jednostavan kontroler ispred pokazati kako je moguće pokrenuti odvajanje poslovne logike i prezentacije unutar aplikacije. Sve kôd je dostupna na github:
Goli Zend_Layout i Zend_View na GitHub .

Nastaviti čitanje 'Goli Zend_Layout i Zend_View' »

Zend Framework po modulu Izgled Postavke - Upute za daljnji rad

Do , utorak 16. veljače 2010 20:48

Kao nastavak na moj prethodni post na po modulu na temelju izgleda postavki za Zend Framework , ja sam obnovljeno kod zahtijevaju manje konfiguraciju onda prije (ne da je potrebno više od nekoliko redaka u vašoj prijavi konfiguraciji!).
Nastaviti čitanje 'Zend Framework po modulu Izgled Postavke - Follow Up' »

Stvaranje URL u Zend Custom View Helper

Do , četvrtak 28 siječanj 2010 11:01

Ovaj svibanj činiti se jednostavan, ali sam bio lupanje moj glava pokušava stvoriti URL-u prilagođeni prikaz pomagač u Zend Framework . Imam usmjeravanje postava koja dobiva modul iz pod-domene u uporabi pa nisam mogao koristiti jednostavne Hard-kodirano URL-a.

Nastaviti čitanje 'Stvaranje URL u Zend Custom View pomagač' »

Ruta zahtjeva za sitemap.xml običaju kontroler / akcija

Do , srijeda 6 siječanj 2010 12:13

Kako bi se izravne zahtjeve za / sitemap.xml na prilagođeni kontroler i djelovanja u Zend Framework aplikacija jednostavno dodajte sljedeće u vašem application.ini ili alternativne konfiguracijske datoteke (npr. ja koristiti navigation.ini):

 resources.router.routes.sitemap.route = "sitemap.xml"
 resources.router.routes.sitemap.defaults.controller = indeksa
 resources.router.routes.sitemap.defaults.action = sitemap

Primjer koda za izlaza može se vidjeti stvaranjem djelovanjem u odgovarajućim regulatora (npr. od moje Sitemap leži u indeksu kontroler, sitemap akcija):

 < php
 klasa IndexController
     proteže Zend_Controller_Action
 {
     / **
      * Žbuke Sitemapa na temelju Zend_Navigation postavljanje
      * /
     javnu funkciju sitemapAction ()
     {
    	 echo $ this-> View-> navigaciju () -> sitemap ();
    	 $ This-> View-> izgleda () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (true);
     }
 }

Sitemapova možete brzo i lako generiraju pomoću Zend_Navigation , veliki brzi uvod (i općenito vrlo korisno za Zend Framework tutoriali) je Zend baca - Dinamički stvaranje izbornika sitemap i krušnih mrvica .

Ured Grid Computinga koristeći virtualnim okruženjima - 4. dio

Do , petak 4. prosinac 2009 11:59

Uvod

Radim u tvrtki gdje smo pokrenuti mnoge skupne poslove obrade milijune zapisa podataka svaki dan i Razmišljao sam nedavno o svim strojevima koji sjede oko svaki dan radiš ništa za nekoliko sati. Ne bi li bilo dobro ako bismo mogli koristiti one strojeva za poticanje obrade snagu naših sustava? U taj skup članaka idem gledati na potencijalne koristi od zapošljavanja ureda mrežu koristeći virtualiziranog okruženja.

U dijelu 3 smo napravili naš virtualni stroj za obradu i postavljanje prozora strojevi postati mirovanja radnog vremena radnika.

Trčanje najnoviji broj

Neizbježno nakon stvaranja radnika poslovnu logiku će se promijeniti, greške će se naći, brži učinkovitije kod će biti proizvedena na taj način iz svog radnika sjedili oko obrade podataka pomoću stare smrdljive koda . Kako onda mi bismo osigurali da uvijek koristite najnoviju verziju i najveći naše obrade skripti?

Postoji nekoliko vrlo lako jednostavan način možemo to učiniti, trik, međutim, da se smanji procesorskom snagom i mrežnog prometa u postizanju toga. Omogućuje započeti s najjednostavnijim rješenja i unaprijediti polako preko nekoliko iteracija.

Prva metoda da bi se jednostavno spojiti na naš server posao nadzora (preko sambe, FTP ili slično) i povucite prema dolje najnoviju verziju koda. Nije vrlo učinkovit, ali to će obaviti posao. Omogućuje poboljšanje na tom pomalo, kako o stvaranju rsync skriptu i korištenjem da svaki put umjesto toga? Alternativno što o stavljanju naše najnovije prerade skriptu u subverzija odjavljivanje kod u početku i onda samo osvježavamo koda na svakoj vožnji ( svn ažuriranje )?

Na kraju bismo mogli završiti s bash skripta (zove cron svakih 10 minuta) koji izgleda kao jednostavan kao ovaj:

  #! / Bin / sh
 Ako ps ax | grep-v grep | grep php > / dev / null
 tada
     echo "Posao je trenutno obrada, izlaz"
 drugo
     echo "Posao nije pokrenut, pokrenite sada"
     CD / put / do / rad / kopiranje
     svn ažuriranje
     php yourJobProcessingScript.php
 fi 

Sada možemo biti sigurni da sa svakom pokrenuti svakako radite najnovije koda. Mi smo osigurati tako osvježavamo baze svaki put kada obavljaju vožnji i smanjenje mrežnog prometa, samo prijenos datoteka razlike diljem naše mreže.

U mom demonstraciju postava, ja sam točno kao gore. Subversion je instaliran na moj server posao obrade i jednostavno sam izvukao najnovije koda iz 'radnik' grana pomoću 'svn ažuriranje ". Također sam dodao oznake broj verzije na moj obradu pismu kojim je vraćen u bazu podataka kao dio rezultata povratka. Na taj način sam mogao vidjeti da je moj broj bio ažuriraju svaki put kad sam kopirati moje deblo u, odnosno radnik grana da sam definitivno bio pokrenut najnovije obradu skriptu.

Koristeći najnovije podatke

Ako vaš posao obradu omogućuje korištenje izvora podataka zatim u nekom trenutku su idući u biti ažuriran previše. Ako ćete se obratiti svojem izvora podataka o vrlo rijedak temelju ćete poplava mrežu s prometom čim radnici početi prikazivati ​​donosi sve mirovanja. Za moje rješenje odlučio sam da želim da se presele moje izvore podataka okolo sa mojim virtualna.

Držite ste konje tamo! Što ako je moja izvori podataka su ogromni? Pa ovo je stvarno slučaj koliko podataka govorimo? On svibanj biti troškovno učinkovite za instalaciju dodatnih veći hard disk u svakom stroju nego na kupnju dodatnih obradu poslužitelju. To je pitanje proračuna, a do poslovnih odlučiti. To možda da izvori podataka su toliko velike da je samo unfeasible da bi taj iznos podatke u vašem radnika strojeva. U tom slučaju ono što biste učinili? Pa mogli smo gledati na poziv lokalnog poslužitelja podataka, ali bi to moglo uzrokovati probleme s mrežom. U tom slučaju mrežnog sustava kao što je ovaj svibanj postati nerealno uključiti u uredskom okruženju. Također može biti da možete pogledati u alternativne strategije trčanje, na primjer samo poziv tvoj radnici 20:00-6:00 svake noći i / ili prigušni izvor podataka zahtjeva.

Premještanje na recimo naše izvore podataka iznosi 100GB podataka. Pa da to je vrlo malo podataka za kretanje mreže na ažuriranje. Kako bismo osigurali da imamo najnovije kopiju podataka u ovom slučaju? Rsync je mogućnost, ali ja osobno mislim da pokrenete svoj najnoviji izvor podataka na vašem poslužitelju posao obrade i postavljanje ovaj gore kao majstor u replikaciju (s lijepim dugim bin dnevnik) može biti način da ide:

odgovor Postavljanjem svaku od vaših radnika se kao rob posao nadzora poslužitelja ažuriranja na vaše izvore podataka će kapati dolje lijepo na radnike, bez velikog povećanja aktivnosti mreže (koja je, osim ako obavljaju veliki data update i sve svoje radnike udarac nogom u odjednom). To ima prednosti nad rsync u da ne bi dobili duge stanke prije svakog posla, kao i baza podataka obnove, mysql daemon na radnika će se stalno ažurirati svoje podatke, a obrada se nastavlja.

To je kako sam postaviti demonstracije poslužitelj. Da biste postavili odgovor slijedio sam vodič na MySQL stranice ( Postavljanje replikacija ) i unutar 20 minuta sam imao moj inital radnika Umnožava posao nadzora poslužitelja podataka. Za svaku dodatnu radnik replikaciju postavke i proces radio svaki put kad je VM je kopiran.

Rezime

U ovom dijelu članka smo gledali kako se lako i bezbolno je da bi se kod obrade do datumu po using rsync ili subverion (SVN) da radimo i smanjenje mrežnog prometa na istoj time. Razgovarali smo io tome kako da bi izvor podataka informacije up-to-date dopuštajući da kapati dolje na svakoj od svojih radnika. Tako području osigurava da držimo korak s poslovnom logikom i informacije u našem sustavu uredu mrežu. Tu očito će biti bezbroj alternativa za obavljanje tih zadataka, ali ovdje su dvije jednostavne primjere pokazati kako je lako rješenje je doći.

Sljedeći put

U posljednjem dijelu ove serije, podesno zove Dio 5 , mi ćemo raspravljati o uvođenju ovog sustava za. Ja ću sažeti ono što je naučio i ono što sam uspio stvoriti.

Ured Grid Computinga koristeći virtualnim okruženjima - 3. dio

Do , petak 4. prosinac 2009 11:37

Uvod

Radim u tvrtki gdje smo pokrenuti mnoge skupne poslove obrade milijune zapisa podataka svaki dan i Razmišljao sam nedavno o svim strojevima koji sjede oko svaki dan radiš ništa za nekoliko sati. Ne bi li bilo dobro ako bismo mogli koristiti one strojeva za poticanje obrade snagu naših sustava? U taj skup članaka idem gledati na potencijalne koristi od zapošljavanja ureda mrežu koristeći virtualiziranog okruženja.

U 2. dio smo promatrali na poslovima server će raditi, i kako radna mjesta bi trebao biti konfiguriran kako bi se postigla najveća količina prerade, dok bi se osiguralo da svaki posao obrađuje bez iznimke.

Postavljanje radnika - ili hramati poslužitelj

Sljedeći korak u procesu je da postavite svoj virtualni radnika. Za to ću koristiti instalaciju CentOS koristi VirtualBox. Idem instalirati MySQL i PHP na poslužitelju, također poznat kao opušten (Li Nux, m ySQL, P KS) Servera (ja svibanj imati je napravio taj naziv gore).

  • Instalirajte VirtualBox na tvoj Windows stroj (slijedi link)
  • Preuzmite i instalirajte CentOS (trenutačne inačice 5.3) u sklopu stvorio virtualni stroj

Nema smisla mi ide na to da je vjerojatno 1000 je od velike tutoriali vani (ok, ovdje je jedan: Izrada i Managing CentOS virtualni stroj pod VirtualBox ). Važno je napomenuti mislim je da sam nazvao moj virtualni stroj GridMachine.

Što se tiče mog izbora virtualizacije klijenta i operativnog sustava otići tamo nije velika razlog za svaki izbor. VirtualBox je nešto što sam koristiti na moj home stroj i podržava tri glavne operativne sustave. Odabrao sam CentOS kao stabilnu dobar OS, a ja ga koristiti na moj posjedovati web poslužitelju. Ja sam veliki vjernik u pravom alata za posao (iako sam primjeni primjenu najbrži i najlakši za vas "mentalitet ovdje), pa ako operativni sustav X pokreće svoj ​​kod brže i učinkovitije koristiti da umjesto:)

Važno je osigurati da vaše VM koristi DHCP, inače za svaki novi virtualni stroj bi trebao biti konfiguriran posebno što je nešto što ne want.By pomoću DHCP ne moramo konfigurirati mrežne postavke pojedinačno za radnika strojeva, DHCP će ruku IP se za vas. Stoga možete kopirati virtualni stroj o uredu bez brige o postavljanju svakog gore (to poboljšava skalabilnost i smanjuje radnik uprave).

Proces bi trebao težiti postizanju bi dobiti novi fizički stroj, instalaciju VirtualBox, a zatim ljepušan velik dio implementaciju virtualne slike bez mnogo drugo. To bi moglo biti mudar za postavljanje sve svoje radnike na različite podmreže, tako da možete barem vidjeti koliko strojevi su trčanje. Također ćete trebati postaviti svoje strojeve na dugi najam ili zakup neograničen DHCP.

Kako izvoditi poslovi na radnika

To je zanimljivo područje i postoji nekoliko načina vrijede za obradu radnih mjesta na radnika. Ovdje ću samo raspravljati o dvije najočitije:

  • Neprestano trčanje skripte: skripta, bilo da je shell skripta, ili PHP skripte izvodi jednom na radnika i radi kao dio beskonačnu petlju. Ja sam ovu metodu diskontiranog kao jedan sudar pisma i potencijalno svojim radnicima prestat će pokrenuti bez neke vrste intervencije.
  • Cron skripta temelji izvršenja: Svaki X minuta cron daemon započinje poziv na skriptu da se stvari događa. Bez neke provjere to bi moglo dovesti do mnogo mnogo kopija tvoj trčanje radnika skripte.

Moja odluka je da ide s cron koji započinje skripte svakih 10 minutes. Moj shell skripta obavlja sljedeće zadatke:

  1. Nabavite popis procesa i to za grep 'php'. Ako nije pronađena zatim nastavite.
  2. Nazovite vaš posao kod, u mom slučaju to će biti nešto PHP temelju
  3. Radnik skripta završi svoj trčanje
  4. Spreman ići opet na sljedeću odgovarajući poziv

Moj bash skripta izgleda ovako sljedeće:

  #! / Bin / sh
 Ako ps ax | grep-v grep | grep php> / dev / null
 tada
     echo "Posao je trenutno obrada, izlaz"
 drugo
     echo "Posao nije pokrenut, pokrenite sada"
     php yourJobProcessingScript.php
 fi 

Napomena: echo-a su gotovo potpuno besmisleno, ali može pomoći sljedeća osoba koja dolazi zajedno i pokušati urediti ih.

To zaključuje postaviti radnika virtualni stroj, brzo, jednostavno i lako kopirati na svakom novom komad hardvera koji je primio. 'Pamet' od grid sustav stvarno nije u vizualizirati OS-a, sve je to učiniti s kodom stvoren za obradu radnih mjesta, posla konfiguracije, i pazeći da posao radi po potrebi (tj. kad je domaćin u stanju mirovanja ).

Postavljanje sustava Windows da biste pokrenuli radnika

Prvi je zadatak raditi naredbu potrebne za pokretanje virtualni stroj iz linije prozora naredbu. Ako ste instalirali VirtualBox u zadano mjesto i da ste imenovali svoje radnik GridMachine zatim naredbu potrebno za učitavanje gore vaš radnik:

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

Međutim, kako pokrenuti skriptu u 'bez glave' stanja moramo koristiti:

  "C: \ Program Files \ ned \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - vrdp = off 

To će pokrenuti virtualni stroj bez GUI i ostavite ga da se spasi država graciozno. Drugi argument isključuje RDP tako da nije u sukobu s Windows RDP, ili vam dati poruku o slušanje na portu 3389. Virtualni stroj ime je mala i velika slova!

Dalje, mi ćemo je potrebno za postavljanje prozora do kick off naš djelatnik VM jednom stroj je u stanju mirovanja. Da biste to učinili (u sustavu Windows XP), morat ćete ići Start -> All Programs -> Accessories -> System Tools -> Scheduled Tasks kao ispod:

zakazanim zadacima

Zatim kliknite na 'Dodaj Planirani zadatak' slijedi pregledavati dodati prilagođenu programu. Dođite na VBoxManage skripte i kliknite OK. Raspored vaš je zadatak za bilo koju od opcija (mi ćemo promijeniti u minuti) i nastaviti. Nakon što je preskakanje sljedeći ekran Windows će vas pitati koji želite pokrenuti ovaj zadatak, ja bih predložiti bilo "Administrator" ili stvaranjem novog privilegirani korisnik. Zapamtite da mi ne želimo se miješati sa standardnim osobljem račun na stroju u bilo kojem trenutku. Kliknite na Dalje i provjerite prikazuju napredne mogućnosti za ovaj zadatak.

Za kraj pokrenuti textbox dodati naše 'startvm GridMachine' niz i osigurati koji se pokreću samo kada prijavljeni ostaje unticked. Posjetite zadatak raspored sljedeći i promijeniti raspored padajući na opciju 'kad miruje', odaberite količinu vremena želite biti u stanju mirovanja stroja prije prelaska na sljedeću karticu.

Konačno untick opciju u kojem se navodi zaustaviti zadatak ako je pokrenut X iznos od vrijeme, ali ne označite opciju da se zaustavi zadatak ako stroj nije više u stanju mirovanja.

raspored

To je onda za postavljanje prozora domaćin!

Rezime

U ovom dijelu smo postavili virtualni stroj djelovati kao radnik, kao i način na koji zovemo i izvršiti naše skripte posao obrade (za sebe PHP skripte). Odavde gledamo kako postaviti našim kopije sustava Windows pokrenuti virtualni stroj u bez glave mode kada je računalo postaje miruje, i spasiti njegovo stanje kada korisnik nastavlja uporabe stroja. Nadam se da u ovom trenutku ste vidjeli kako jednostavan posrijedi je postaviti takav sustav i svrab da biste dobili neki eksperimenti se ide!

Sljedeći put

U 4. dio ćemo biti obličje at pomoću alata kako bi se osiguralo da ste trčanje najnoviju verziju koda i izvora podataka tako da se dobiveni rezultati su uvijek up-to-date s najnovijim poslovnih informacija i logike.













Panorama Theme by Themocracy

9 posjetitelja online sada
5 Gostiju, 4 robota, nije vidljiva 0 clanova
Max posjetitelja danas: 17 u 06:54 UTC
Ovaj mjesec: 17 godina 18-08-2011 06:54 UTC
Ove godine: 130 u 28-03-2011 10:40 UTC
Sva vremena: 130 u 28-03-2011 10:40 UTC