Posts tagged: aplikimi

"Sign in me Twitter" duke përdorur Zend Kornizë

Nga , e enjte 17 Mars 2011 1:07 am

Përkundër të gjitha të urrejtjes eksitim në këtë moment, unë kam vendosur për të krijuar një të ri twitter aplikimit bazë. Duke qenë dikush që menaxhon disa llogari (të dyja personale dhe për punën time bamirëse) Unë kam qenë që kanë nevojë për një mjet për diku që unë jam vetëm duke marrë rreth për shkrim (më shumë se në të ardhmen e afërt ...).

Unë e kam lexuar deri në Zend_Oauth_Consumer dhe se si ajo mund të përdoret për të marrë autorizimin për të bashkëveprojmë me eksitim përdorur oauth . Të gjitha të mirë dhe të mirë, unë kam çelësin tim qasje dhe unë mund të postoni larg gëzim në emër të përdoruesit. Ka shumë burime atje për të bërë këtë kështu që unë nuk do të mërzitin njerëzit.

Hapi tjetër ishte që të lejojnë njerëzit që të kthehen në faqen e internetit, hyni në dhe të modifikojë llogarinë e tyre. Kjo është ajo ku unë arriti në një problem të vogël. Duke përdorur shembuj kodin në faqet e internetit do të thotë se unë do të keni twitter kërkuar mua për autorizim të qasjes përsëri për çdo login, nuk është e mirë. Duke analizuar me anë të kornizës Unë nuk mund të gjykojnë asgjë që do të lejonte mua të vetëm të kërkojnë mirëfilltësim. Kjo nuk do të thotë se nuk e saj, por atje nuk duket të jetë një mekanizëm të legalizuara që mund të përdoret pa e ditur shenjë qasje tashmë.

Alternativat ishin për të zbatuar një regjistër Për Site-e të bazuar në një farë mënyre apo dyqan shenjë e përdoruesit qasje në klient (Encrypted natyrisht). Asnjë nga këto dukej si një zgjidhje të mirë / të përshtatshme.

"Sign in me Twitter" duke përdorur Zend Kornizë 'VAZHDIM leximin »

Zend_Layout lakuriq dhe Zend_View

Nga , e martë 10 gusht 2010 11:47 pm

Në këtë artikull unë shoh në përdorimin Zend_Layout dhe Zend_View së bashku me një kontrollues të thjeshtë para për të treguar se si është e mundur që të fillojë që ndan logjikën e biznesit dhe prezantimin në aplikimin tuaj. Të gjitha kod është në dispozicion në Github:
Zend_Layout lakuriq dhe Zend_View në Github .

VAZHDIM 'Zend_Layout zhveshur dhe Zend_View' leximin »

Dizajn Patterns PHP - modeli Observer

Nga , e martë 29 Dhjetor 2009 10:02

Unë kam qenë duke lexuar Modele pari Shef Dizajn kohët e fundit dhe kam vendosur të shkruaj disa nga modelet si shembuj PHP për të mirën time. I pari që unë kam vendosur të kodit lart është modeli Observer . Përkufizimi formal i modelit Observer është:

Model vëzhgues (a mesin e të progresit shfaqet gjatë publikojë / regjistroheni model ) është një software dizajn model në të cilin një objekt , i quajtur subjekt, mban një listë të familjarëve të saj, i quajtur vëzhgues, dhe njofton ata automatikisht për çdo ndryshim shtetërore, zakonisht nga duke e quajtur një prej tyre metodave . Ajo është përdorur kryesisht për të zbatuar sistemet e trajtimit të shpërndara ngjarje.

Si sisteme të bëhen më të lirshëm së bashku duke u siguruar se kur një ngjarje ndodh të gjitha sistemet që kërkojnë njohuri të këtyre përditësime janë të informuar. Për shembull, një blog post, pasi shpëtuar një post ne mund të kenë nevojë për të rinovuar një motor kërkimi (p.sh. Lucene), update sitemap tona, tags, përdoruesit e email regjistruar, etj model vëzhgues lejon zhvilluesve për të shtuar dëgjuesit shtesë pa redaktimi objektin e tyre të dukshëm . Duke injektuar vëzhgues (motor dmth një vëzhgues kërkim update, një gjenerator sitemap, etj) në një temë (pas dmth blog redaktimi sistem), ne mund të lejojë që ajo të kryejë të gjitha përditësimet e nevojshme pa ndonjë ndryshim.

VAZHDIM 'Modele PHP projektimit - model Observer' leximin »

Grid Computing Zyra e ambiente duke përdorur Virtual - Pjesa 3

Nga , e premte 4 dhjetor 2009 11:37 pm

Hyrje

Unë punoj në një kompani ku kemi drejtuar Punë many grumbull përpunimit miliona e të dhënave e të dhënave çdo ditë dhe unë kam qenë duke menduar kohët e fundit për të gjitha makinat që ulen çdo ditë duke bërë asgjë për disa orë. A nuk do të jetë mirë në qoftë se ne mund të përdorni këto makina për të forcuar pushtetin e përpunimit të sistemeve tona? Në këtë grup të neneve Unë do të shikojmë në përfitimet potenciale të punësuar një zyrë rrjet duke përdorur mjedise virtualised.

pjesën e 2 kemi shikuar në punë një server do të kandidojë, dhe sa punë duhet të konfigurohet në mënyrë që të arrihet shuma më e madhe e përpunimit ndërsa të siguruar që çdo punë është përpunuar pa dyshim.

Ngritja punëtor tuaj - ose server butë

Hapi i ardhshëm në këtë proces është për të ngritur punëtorët tuaj virtuale. Për këtë unë jam duke shkuar për të përdorur një instalimin e CentOS përdorur VirtualBox. Unë jam duke shkuar për të instaluar MySQL dhe PHP në server, i njohur gjithashtu si (nux ​​Li, m ySQL, P HP) Server butë (i mund të ketë bërë që emri i lart).

  • Install VirtualBox në dritaret kompjuterin tuaj (ndiqni lidhjen)
  • Shkarkoni dhe instaloni CentOS simbolit aktual version 5.3) brenda një makine të krijuar virtuale

Nuk ka asnjë pikë unë do të këtë ka ndoshta s 1000 'e mësime të mëdha atje (në rregull, këtu është një: Krijimi dhe Managing CentOS makinë virtuale nën VirtualBox ). Pika e rëndësishme të theksohet që unë mendoj është se unë i quajtur makinë im virtual GridMachine.

Sa i përket zgjedhje e mi të klientit virtualisation dhe sistemin operativ të shkuar nuk ka asnjë arsye bindëse e madhe për çdo zgjedhje. VirtualBox është diçka që unë e përdor në kompjuterin tim në shtëpi dhe është mbështetur nga tre sistemet operative të mëdha. Unë zgjodha CentOS si një OS të saj të mirë të qëndrueshme dhe unë e përdorin atë në serverin tim web. Unë jam një besimtar i madh në mjetet e duhura për punë (edhe pse unë jam duke aplikuar "përdorni të shpejtë dhe të lehtë për ju 'mentalitetit këtu), kështu që nëse X sistemit operativ shkon kodin tuaj të shpejtë dhe më efikase të përdorin që në vend :)

E rëndësishme të sigurohemi që VM juaj përdor DHCP, ndryshe për çdo makinë të re virtuale do të duhet të jetë konfiguruar vete e cila është diçka që ne nuk want.By përdorur DHCP ne nuk kemi nevojë për konfigurimin e rrjetit settings individualisht për makinat punëtore, DHCP do t'ia nga IPS për ju. Prandaj, ju mund të kopjoni kompjuterin tuaj virtuale në lidhje me zyrën e pa shqetësuese në lidhje me ngritjen secili up (kjo përmirëson scalability dhe redukton administratën punëtor).

Procesi që ju duhet të synojë për të arritur do të jetë për të marrë një makinë të re fizike, install VirtualBox, dhe pastaj shumë e shumë të vendosur imazhin virtual pa shumë tjetër. Kjo mund të jetë i mençur për të setup të gjithë punëtorët tuaj në një subnet të ndryshme në mënyrë që ju mund të paktën të shihni se sa shumë makina të vrapojnë. Ju gjithashtu duhet për të ngritur makina tuaja në një qira të gjatë apo të pakufizuar qira DHCP.

Si për të kandiduar Punësim në punëtori

Kjo është një fushë interesante dhe ka disa metoda të vlefshme për përpunimin e vendeve të punës në punëtori. Këtu unë do të diskutojë vetëm dy më të qartë:

  • Përherë drejtimin e shkrimit: Një skenar, të jetë ajo një script shell, apo një script PHP kryhet një herë në punëtorit dhe shkon si pjesë e një lak pafund. Unë kam zbritur këtë metodë si një përplasje e shkrimit dhe potencialisht punëtorët tuaj do të pushojë për të drejtuar pa një lloj ndërhyrjeje.
  • Bazuar cron script ekzekutimin: Çdo minuta X daemon cron nis një thirrje për shkrimin tuaj për të marrë gjërat e sipër. Pa disa kontrollin kjo mund të çojë në shumë kopje shumë për drejtimin e shkrimit tuaj punëtor.

Vendimi im ishte për të shkuar me cron-i cili nis një skenar shell çdo minutes. 10 dorëshkrim ime shell kryen detyrat e mëposhtme:

  1. Merrni një listë proces dhe ky grep për 'php-së. Nëse nuk u gjet pastaj të vazhdojë.
  2. Telefononi kodin tuaj të punës, në rastin tim kjo do të jetë PHP diçka në bazë
  3. Script punëtor përfundon garën e saj
  4. Gati për të shkuar përsëri në thirrjen e ardhshme të përshtatshme

Script im bash duket diçka si në vijim:

  #! / Bin / sh
 nëse ps sëpatë | grep grep v-| grep php> / dev / null
 pastaj
     echo "Jobi është aktualisht përpunimi, dalje"
 tjetër
     echo "Jobi nuk është në ekzekutim, fillojnë tani"
     php yourJobProcessingScript.php
 fi 

Shënim: echo-së janë pothuajse krejtësisht e pakuptimtë, por mund të ndihmojë personin tjetër që vjen së bashku të përpiqen dhe të redaktoni ato.

Që përfundon në ngritjen e makinës virtuale punëtor, të shpejtë, i thjeshtë dhe e lehtë për të kopjoni çdo pjesë të re të pajisjeve që është marrë. The 'zgjuarsia "e sistemit të rrjetit të vërtetë nuk është në OS visualized, të saj të gjithë të bëjnë me kodin e krijuar në punët e procesit, konfigurimi të punës, dhe në bërjen e sigurt se puna shkon kur është e përshtatshme (dmth. kur ushtria është i papunë ).

Ngritja e Windows në nisje Punëtorëve

Detyra e parë është që të punojë jashtë komandën e nevojshme për të drejtuar makinën virtuale nga command line dritaret. Nëse e keni instaluar VirtualBox në vendin e paracaktuar dhe e keni emrin GridMachine tuaj punëtor, atëherë komanda e nevojshme për të ngarkesës deri punëtor juaj është:

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

Megjithatë për të drejtuar script ne nje shtetit 'pa kokë' ne duhet të përdorni:

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

Kjo do të fillojë në makinë virtuale pa GUI dhe ta lejojë atë për të ruajtur shtetin gracefully. Argumenti i dytë fiket RDP kështu që nuk ka konflikt me dritaret RDP, apo të ju jap një mesazh për të dëgjuar në portin 3389. Emri virtuale makinë është çështje të ndjeshme!

Tjetra, ne do të duhet për të vendosur dritaret deri me shkelm off VM tonë punëtor herë në makinë ka qenë i papunë. Për ta bërë këtë (në Windows XP) ju do të duhet të shkoni Start -> Programs -> Te gjitha Accessories -> Sistemit Tools -> detyrat kohore si më poshtë:

detyrat e planifikuara

Klikoni Next për 'Shto detyrë kohore s Gallery ndjekur nga shfletoni për të shtuar një program me porosi. Shkoni tek shkrimin tuaj VBoxManage dhe klikoni OK. Orari detyrën tuaj për ndonjë prej opsioneve (ne do të ndryshojë këtë në një minutë) dhe të vazhdojë. Pas duke lënë mënjanë ekranin e ardhshëm dritaret do t'ju kërkojë që ju dëshironi për të drejtuar këtë detyrë, unë do të sugjeroj ose 'Administrator' ose duke krijuar një përdorues të ri të privilegjuar. Mos harroni ne nuk duam të ndërhyjë në llogarinë e stafit standarde në makinë në çdo pikë. Kliko ardhshëm dhe të shikoni opsionet e tregojnë të avancuara për këtë detyrë.

Deri në fund të textbox drejtuar shtoni vargun tonë 'startvm GridMachine' dhe të sigurojë që të kandidojë vetëm kur keni hyrë në është lënë unticked. Vizitoni detyrën orar tjetër dhe të ndryshojë orarin e zbritur poshtë në opsionin 'kur boshe', të zgjedhin sasinë e kohës që ju dëshironi makinë të jetë boshe para se të lëvizin për në butonin e ardhshëm.

Së fundi untick opsionin i cili thotë ndaluar detyrën në qoftë se ajo ka qenë duke sasi të X të kohës, por mos shënoni mundësi për të ndaluar detyrën nëse makina nuk është më e papunë.

orar

Kjo është ajo pastaj për setup pritës dritare!

Përmbledhje

Në këtë pjesë ne kemi ngritur një makinë virtuale për të vepruar si një punëtor, si dhe mënyrën në të cilën ne e quajmë dhe ekzekutuar të përpunimit tona të punës Scripts (për vete një script PHP). Nga këtu shohim se si për të krijuar kopje tona e dritareve ta nisni makinë virtuale në mënyrë të pa kokë kur kompjuteri bëhet i papunë, dhe për të shpëtuar gjendjen e saj kur përdoruesi rifillon përdorimin e makinës. Shpresojmë në këtë pikë ju jeni duke parë sa e thjeshtë është për të ngritur një sistem të tillë dhe janë të kruhet për të marrë disa eksperimente do veten!

Herën tjetër

Pjesën 4 ne do të jetë në kërkim të përdorur mjetet për të siguruar që ju xhironi versionin më të fundit të burimeve të kodit dhe të dhënat në mënyrë që rezultatet e arritura janë gjithmonë up-to-date me informacionin e biznesit të fundit dhe logjikës.

Grid Computing Zyra e ambiente duke përdorur Virtual - Pjesa 2

Nga , e premte 4 dhjetor 2009 11:23 pm

Hyrje

Unë punoj në një kompani ku kemi drejtuar Punë many grumbull përpunimit miliona e të dhënave e të dhënave çdo ditë dhe unë kam qenë duke menduar kohët e fundit për të gjitha makinat që ulen çdo ditë duke bërë asgjë për disa orë. A nuk do të jetë mirë në qoftë se ne mund të përdorni këto makina për të forcuar pushtetin e përpunimit të sistemeve tona? Në këtë grup të neneve Unë do të shikojmë në përfitimet potenciale të punësuar një zyrë rrjet duke përdorur mjedise virtualised.

Pjesën 1 I dha një pasqyrë të sistemit dhe teknologjive unë do të përdorni, si dhe u diskutua si disa nga arsyet e mundshme pse ju do të duan të krijojnë një rrjet zyre.

Kontrolli i punës

Nëse ju do të jeni të konkurrojnë punë, atëherë ju do të jeni nevojë për disa rrugë për të menaxhuar ato. Kontrollit tuaj punë të sistemit (në serverin tuaj të punës) duhet të jetë me të vërtetë menduar mirë para se edhe u përpjekur për të drejtuar një rrjet zyre. Pra, së pari, cilat janë detyrat për një sistem të kontrollit të punës:

  • Dorë nga punët me kërkesë të punëtorëve
  • Tregoj punëtorë çfarë lloji i Punë për të drejtuar
  • Punë në Track
  • Siguruar se punët janë drejtuar vetëm një herë
  • Sigurimi i të dhënave të punës për punëtorët, ose të paktën tregoni atyre se ku mund të merrni atë

Sistemi gjithashtu duhet të jetë e zgjeruar, një zgjidhje që punon për tani në një rast të vetëm mund të zgjatet për të kandiduar disa lloje të vendeve të punës si biznesin e sheh me vlerë në një zgjidhje të rrjetit. Për shembull, mund të fitojë Punë në prioritetet, më shumë se një lloj punë mund të ekzistojnë (Bazat dmth. disa code), përfundimisht ju mund të drejtuar edhe disa makina të ndryshme punonjësit që janë optimizuar për secilin lloj të punës (megjithëse kjo do të lëvizin larg nga punonjesi gjenerik 'ide). Gjithmonë të përpiqemi të mendojmë për të ardhmen, kur zhvillimin e sistemeve, një vizion afat shkurtër mund të çojë në frustrimit afat më të gjatë dhe kohë të rritjes e zhvillimit.

Server Job

Ne do të jeni nevojë diku për të kontrolluar punën tonë nga, kjo duhet të jetë sistemi i vetëm në rrjetin tuaj që ka një locator fikse të burimeve, të jetë që një adresë IP, emri i host, URL (duke përdorur të brendshme DNS), etj Kjo është për shkak se punëtorët duhet të dini ku të kërkoni për punë, punëtorët kanë nevojë për të gjetur sistemin e kontrollit të punës (nuk i kontrollit punë të sistemit të gjetur punëtorë).

Serveri punë në vetvete nuk ka të vërtetë kanë një detyrë të komplikuar (në një sistem themelor gjithsesi), ajo ka nevojë për të ruajtur një listë të vendeve të punës, dora nga puna, për të marrë rezultatet, dhe më pas ruajtur ato për rikthim më vonë. Si këto pjesë ('dorë nga punë' të tilla si) janë përcaktuar mund të jetë shumë themelore. Më vonë ne mund të zgjasë sistem të përfshijë një ndërfaqe të administratës për të shtuar, modifikoni, fshini, të pezullojë punët por kjo është përtej këtij ushtrimi.

Nuk ka asnjë arsye whatsoever atëherë që serveri juaj punë nuk mund të jetë një makinë virtuale drejtimin brenda serverit tuaj kryesore të përpunimit me kusht që ajo nuk thahet shumë burime prej saj. Serveri punë megjithatë ka nevojë për disponueshmërinë e lartë, në qoftë se ajo shkon poshtë në një mbrëmje të premten do të jeni të humbur një fundjavë e tërë e përpunimit, potencialisht ju kushton disa javë me vlerë të madhe të kohës të përpunimit (kur krahasohet me kryesore serverin tuaj të përpunimit të vetëm) . Ju mund të dëshirojnë të marrin në konsideratë vendosjen e serverit tuaj të punës në një mjedis të ngarkesës të ekuilibruar për disponueshmërinë e lartë.

Setup bazë

Skema themelore për serverin tonë të punës do të përbëhet nga ajo që unë jam duke e quajtur një nga serverat e mi squllur, që është nux Li, m ySql, P HP). Kodi kandidon për punëtorët Thea vërtetë do të punojnë jashtë çfarë Punë mund të drejtuar nga bashkëveprojmë me me bazat e të dhënave të kontrollit të punës e sistemit. Më vonë ne mund të krijojë një shërbim të internetit dhe në fakt dorën jashtë vendeve të punës në vend se punonjësit bëjnë punën e vështirë vetë, por tani për tani ne do të vazhdojmë duke përdorur parimin KISS (Keep it Simple, Stupid!).

Pra, ju lejon të krijojë tre MySQL tavolina për t'u marrë me punë. Këto do të jenë `Punë`, `jobRecords`, dhe `jobResults`.

Punë në tryezë Ja unë jam duke përdorur SQL Buddy një alternativë e madhe pak për phpMyAdmin vetëm për shkak se më e lehtë të saj për të instaluar në CentOS (për të tjerët e shohin: 10 alternativa të madhe për phpMyAdmin )

Kjo tabelë përbëhet nga 5 fusha të thjeshta,

  • id: Unike të identifikuar punën
  • Emri: Mund të jetë një referencë e klientit, ose ndonjë numër identifikues të tjera
  • Statusi: Ju duhet të dini se ku puna është në, p.sh.
    • 0: Nuk ka filluar
    • 1: kap
    • 2: Kompletuar
  • started_by: Kush filloi bërë këtë punë? Kjo nuk është e nevojshme tërësisht, por është një e mirë që të ketë. Unë do të sugjeroj punëtorë ndjekja me adresën e tyre IP në rrjetin tuaj
  • started_at: Kur punonjësi ka filluar punë? Nga ndjekja e punët që nuk kanë përfunduar brenda shumës X kohe ne e dimë se ne duhet të marr këtë punë edhe një herë dhe të fillojnë të përpunimit nga një tjetër punëtor. Punëtorët mund të ndalojë përpunimin / shkoni e shkëputur për çdo numër arsyesh, e dështimit të pushtetit, Crash, humbje të rrjetit etj

Është e lehtë se si kjo tabelë mund të zgjatet me një disa fusha të tjera për të lejojnë për ndjekjen e statistikave, një kohë të përfundojë kolonë për të parë se sa kohë puna mori, një kundër për të parë se sa punëtorë të kap punë (natyrisht kjo duhet të kujdesen për 1), prioritet punë, lista mund të vazhdojë dhe më. Në skenarët punë më komplekse do të ishte e mundur që të përcaktojë se sa memorie punëtori do të duhet qasje në (dhe prandaj përdorni vetëm punëtorë të përshtatshme), apo edhe se çfarë lloji i punëtorit do të jetë e nevojshme.

Lejon të shtoni një punë disa shembuj:

Punë shembull

Tabela e ardhshëm përsëri është mjaft e thjeshtë për të kuptuar, këto janë të dhënat tona të punës. Ata janë të lidhur me kryesore tryezë punë nga një kolonë `s jobs_id`. Make up i kësaj tryeze shumë varet nga të dhënat që ju duhet të furnizimit të punëtorëve tuaj, ju lejon të bërë një shembull shumë të thjeshtë ku ne kemi katër kolona:

  • id: ID e procesverbalit
  • Emri: Emri i personit
  • Adresa: Adresa e personit
  • jobs_id: ID punë që ky rekord është i lidhur me

Tabela e tretë dhe i fundit përbëhet nga një tryezë e rezultateve, ajo ka shumë e njëjtë të bërë deri sa të dhënat tryezën tonë, dhe me shtimin e disa shtyllave mund të jetë pjesë e tabelës të dhënat:

  • job_record_id: Link rezultatin në tryezën e punës
  • Rezultati: Të dhënat rezultojnë

... Dhe kjo është e gjitha që ju duhet për kontrollin e punës! (Edhe pse në një nivel shumë bazik) Në rastin tim unë jam i vuri në një tjetër tryezë ku të dhënat e mia proces ishte vendosur, por kjo mund vetëm si lehtësisht qenë një file, parametrat për të drejtuar kodin simulim, ju atë emër.

Zgjedhjen e një punë

Siç u tha më parë, punëtorët do të bëjnë menaxhimin e punës tonë për ne tani për tani, kështu që të gjithë ne kemi nevojë të vërtetë të bëni është të gjeni një punë që ka nevojë për përpunim dhe për të marrë informacion. Si do ta bëjmë këtë? Pra i bie zgjedhjen tonë të punës kriteret dhe të kërkoni për punë, në SQL kam bërë në vijim:

  1. Merrni ndonjë punë që nuk janë shënuar si të plotë, por nga punonjësit tonë dhe ktheni ato (zëvendësim ME__ dokumentin me një identifikues, lehtë do të jetë adresa IP):
      UPDATE s `Punë` SET `status` = 0 KU `status` = 1 DHE `started_by` = __ ME__; 
  2. Duke përdorur zgjedhjen tonë të punës kriteret, zgjidhni një punë dhe tregoni sistemin e kontrollit se ky punëtor ka të bëjë me atë:
      UPDATE s `Punë` SET `status` = 1, `started_by` = __ ME__, `started_at` = NOW () KU `status` = 0 APO
     (`Status` = 1 DHE `started_at`> DATE_SUB (NOW (), Interval X ORE)) ORDER BY `id` s KLV; 

    Nga punët grabbing që nuk janë kthyer rezultatet në sasi X kohe ne kemi siguruar që të gjitha punët janë drejtuar në rast të një punëtori crashing ose duke shkuar AWOL.

  3. Next kap detajet punëve ndjekura nga të dhënat e vetë:
      SELECT * Nga `punë` KU `started_by` = __ ME__ AFATI 1;
     SELECT * Nga job_records `` `id` KU = __ JOBID__; 

Pas përfundimit të punës kemi futur të dhënat tona të rezultojnë dhe të shënojë punë si i plotë. Mos harroni si Punë mund të pezullojë / rinisë në çdo kohë të lejojë për disa Fuqia në shkrimin tuaj. Kjo mund të jetë se detyra pezullon gjysmë rrugë nëpërmjet përditësimit sistemin e kontrollit të punës, në mënyrë të kontrolluar numrin e regjistrimeve në një punë dhe numrin e rezultateve të ruajtur përsëri në sistemin e kontrollit të punës do të jetë një veprim i mençur.

Përveç kësaj, ndërsa kjo demonstron se si Punë mund të përzgjidhen dhe menaxhohen nga një kuadër SQL-query ju duhet të vërtetë të abstraguar kontrollin tuaj të punës në mënyrë që nëse ju vendosni të kaloni për të përdorur një shërbim web, një sistem file bazë, XML , ose ndonjë tjetër numri i sistemeve ajo nuk do të ndikojë në kodin e mësipërm të.

Konfigurimi Job

Aspekti tjetër për t'u marrë parasysh është madhësia punë dhe konfigurimit. Duke luajtur me konfigurimin e punës që ne mund të arrijnë një ekuilibër të shkëlqyer midis shpejtësisë, riperteritja e procesit, dhe besueshmërinë. Merrni një skenarë MKO çift:

  1. Punë të marrë 1 ditë çdo për të drejtuar: Kjo do të thotë se punëtorët tuaj duhet 15 ditë për të proceduar çdo punë (kujtoni 10 për qind të fuqisë për 2/3rds të kohës). Kjo nuk është qartë një konfiguracion i mençur, madhësisë tuaj të punës është mënyrë shumë e madhe! Ajo do të marrë të paktën dy herë kohën për të marrë një punë të përpunuara duhet punonjësi fillestar të shkojë AWOL (koha të marr se ajo nuk i ka kthyer një rezultat plus kohë ripërpunimin). Në një ideal që ju do të keni të paktën një punë të plotë pastruar lehtë deri në fund të çdo periudhe të gjatë boshe, në këtë mënyrë ju mbani punët troket mbi dhe në të keqe rastin e një punë do të marrë dy ditë për procesin duhet së pari shkojnë të zhdukur.
  2. Punë marrin 1 minutë për të kandiduar: Kjo do të thotë se punëtorët tuaj të marrë rreth 15 minuta për të drejtuar çdo punë. Përderisa kjo mund të duket fillimisht ideal, keni fituar përpunimin shtesë të punës gjatë kohës së drekës, të prishet kafe, takime, etj, ky skenar vë tendosje në zona të tjera të sistemit tuaj dhe paraqet problemet e veta. Për shembull, së pari raporti Setup / përpunimit kohën tuaj do të shkoni djathtas poshtë, pra humbur efikasitetin e sistemit. Rrjeti juaj do të jetë informacioni vazhdimisht streaming punë të ndryshme stafit punëtorëve frustruese që janë kar ditën e tyre për punën e përditshme. Ju jeni gjithashtu do të vënë më shumë tendosje në serverin e përpunimit tuaj të punës si ajo ka për të shpërndaj shumë dhe shumë e copa të vogla të punës në një bazë të rregullt. Së fundi, në këtë situatë, nëse serveri juaj puna shkon poshtë ju do të jeni për të krijuar një regjistër të madh mbrapa e punës së pambaruar, ndërsa punët e mëdha mund të vazhduar përpunimin blissfully dijeni se serveri punë u përjetuar vështirësi.

Në realitet nuk do të ketë një konfigurim ideal për setup tuaj rrjetit, shumë varet nga burimet në dispozicion, llojet e Jobit, kthesën kërkesat punë me kohë, aftësive të rrjetit, dhe kështu me radhë. Megjithatë, disa udhëzime do të jenë:

  • Punë Madhësia në mënyrë që çdo punëtor mund ta merrni nëpërmjet të paktën punëve 3-4 në një periudhë prej 15 orëve (më i gjati ka gjasa periudha boshe kohë)
  • Luaj me madhësinë e punës në mënyrë që koha organizim bëhet mjaft i parëndësishëm në krahasim me kohën e përpunimit (duke pasur parasysh pika lart).
  • Nëse një punë nuk e bën të plotë në vlerë të dyfishtë të kohës (ndoshta me pak) ju presin që ai të përfundojë ajo supozohet se AWOL tij shkuar dhe të fillojnë përpunimin atë me një tjetër punëtor. Kjo do të thotë që ju mund të duhet të presin deri në tri herë gjatësinë normale të punës për atë për të përfunduar (ndoshta më shumë në qoftë se puna pasuese dështon). Ju mund të dëshironi të reduktuar këtë kohë, por të jenë të kujdesshëm për të mos zvogëluar atë shumë si ju mund të filloni dublikuar detyra të përpunimit në një bazë të rregullt.
  • Punë në duhet të jetë i pavarur nga kërkesat e jashtme sa më shumë të jetë e mundur. Serveri punë, për shembull, duhet vetëm të kontaktohet në fillim dhe në fund të çdo punë.
  • Mos njom rrjetit tuaj, kjo do të ketë dy efekte negative, personeli juaj gjatë ditës do të gjeni duke përdorur rrjetin e frustruese dhe problemet mund të jetë me përvojë me lidhjet kohen nga një problem që vetëm do të merrni më keq si ju shkallë rrjetit tuaj.
  • Sigurimi Punë mund të kandidojë në punëtorët tuaj. Nëse Punë të bëhet shumë memorie Punë intensive apo disk hapësirë ​​intensive do të fillojë ndërpres dhe e vetmja gjë që ju do të vëreni është një rënie në numrin e vendeve të punës të përpunuara me asnjë arsye reale pse.

Rezultatet dorëzimin e një Jobit

Kur paraqitur rezultatet e një punë është e rëndësishme që të kontrolloni se rezultatet nuk janë dorëzuar nga një tjetër punonjës, veçanërisht në qoftë se punonjësi aktual ka qenë në gjumë për disa kohë.

Kur rezultatet janë paraqitur të sigurojë që numri i rezultateve të përputhet me numrin e të dhënave në punë.

Siç u tha më parë, dhe nuk mund të jetë mbi theksoi, të ndërtuar tolerancë gabimi në rikthim të punës dhe rezultateve nënshtrim. Punëtorët mund (dhe më shumë gjasa do të) shkojnë në mënyrë të pezullojë në më të papërshtatshëm të kohës dhe kjo duhet të catered për të. Gjithashtu edhe një herë abstraguar larg rezultatet paraqitjen tuaj do t'ju ndihmojë të kujdesem për ndryshimet e ardhshme në sistemin e kontrollit tuaj të punës shumë më e lehtë për t'u marrë me të.

Përmbledhje

Në këtë section kemi shikuar në atë që një kontroll punë server duhet të bëjnë dhe si të merrni një sistem shumë bazë ngritur. Ne diskutuam se si për të tërhequr një punë nga sistemi i kontrollit dhe si më e mirë për të konfiguruar punë për të marrë më të tonë i sistemit të rrjetit zyrën tuaj. Për të përfunduar, një paragraf ose dy në paraqitjen e rezultateve përsëri në server të kontrollit të punës u paraqit.

  • Një kontroll punë server menaxhon punët dhe siguron që të gjitha njësitë e punës janë përfunduar
  • Duke abstraguar punën tuaj Përzgjidhe / Rezultatet paraqitja ne mund të ndryshojmë teknologjinë e serverit kontrollit pa probleme shumë
  • Konfiguro punën tuaj për të siguruar që ato janë drejtuar shpejt dhe me efikasitet, pa vënë shumë presion në infrastrukturën e rrjetit tuaj, dhe pa dublikuar detyra të përpunimit në një bazë të rregullt.
  • Sigurohuni që ju të ndërtuar tolerancë gabimi dhe checking gabim në rutinat tuaj, punëtorët mund të pezullojë dhe të rinisë dhe më të papërshtatshëm të kohës. Mos harroni të kontrolloni nëse rezultatet tashmë janë dorëzuar nga një tjetër punëtor.

Herën tjetër

pjesën 3 ne do të krijoni virtuale makinë tona të përpunimit dhe të ngritur makina dritaret tona të bëhen boshe në kohë punëtorë.

Zend Kornizë: Bazat - Review

Nga , e shtunë 28 Nëntor 2009 10:42

Punëdhënësi im paguar kohët e fundit për një grup prej nesh zhvilluesit për të marrë Kornizën Zend me: Bazat e kursit, këtu unë do të përmbledh mendimet e mia dhe opinionet në kurs për të tjerët. Për ata që duke kërkuar për të kursyer kohë, këtu është përmbledhje e mia:

Për zhvilluesit të cilët nuk kanë pasur kohë për ta parë në Kornizën Zend këtë kurs (Zend Kornizë: Bazat) ofron një pasqyrë të mirë të përgjithshëm të kuadrit të ju futur në fushat kyçe dhe duke i dhënë informacion të mjaftueshëm në mënyrë që të vazhdojë. Për ata të cilët kanë kaluar kohë duke kërkuar në kuadrin e kanë ndjekur një ose dy mësime ky kurs nuk ofron shumë më përtej.

Sfond

Unë kam qenë një PHP zhvilluesi i saj për rreth 5-6 vjet, dhe kanë filluar duke punuar me Zend Kornizë në baza komponent gjatë 6 muajve të fundit. Unë kam zhvilluar dhe / ose qenë një zhvillues në një çift të Zend Kornizë të vogël MVC sites. unë do të jem i sinqertë, unë nuk kanë pasur një sasi të madhe të ekspozimit ndaj strukturave të tjera nga një pikë kodim të parë, por kanë kaluar disa ore studjuar faqet e internetit të projektit dhe vlerësimit them. e kornizës dhe komunitetit përreth Zend Kornizë ai është mjaft emocionuese dhe nuk duket të jenë mundësitë e mëdha në ku e saj do.

Rreth Kursit

Kursi është dorëzuar mbi 9 sesione dy orë WebEx (me një ndërprerje 10-minutëshe në mes). Ora është shpenzuar duke kaluar nëpër një sërë slides ofruara nga Zend me diskutim në çdo kohë. Ju mund të përdorni një mikrofon të bisedoni me instruktor, por të jetë i sinqertë unë nuk kam parë askënd të përdorë asgjë më shumë se dritaren e chat. Përveç kësaj një makinë Ubuntu VMWare është kusht që ka kodin shembull dhe projekte të ngritur një version të një gjyqin e Zend Studio. Bisedimet kreu kurs për të pranishmit ose mbi një zgjidhje të VoIP të integruar, ose ju mund të thirrni në përdorimin e njërit prej dial many në mbarë botën në numra.

Gjatë material përbëhet nga një pasqyrë të shkurtër të Kornizës dhe model MVC para se të nisej në një aplikim të modelit të ftuarve. Diskutimi tregoi bootstrapping, Zend_Application, Tabelat DB, qasje Baza e të dhënave, forma, filtrim, ACL, të Vleresimin, etj, etj Në thelb që mbulon të gjitha temat që ju do të kërkojnë për të marrë një faqe bazë up një running gjithë kohës duke ju dhënë mjetet për të shkoni dhe të merrni më të avancuar në kuadër (edhe pse kjo e bëri shumë të 'Shikoni faqen e internetit' shumë e kohës).

Koha është dhënë kod deri disa shembuj, dhe për të zhvilluar e 'miq' dhe aplikimin e thjeshtë 'wiki-së. Personalisht ndjeva se siguruar kodin ose çdo app dhe pastaj na pyesnin për të zhvilluar atë që ishte në thelb një kopje së bashku me të vërtetë nuk ofrojnë një përvojë të mirë të mësuarit. Unë do të kishte preferuar për të zhvilluar një kërkesë të ngjashme, por jo identike. me zbatimin shembull me të mirën e të paturit e një udhëzues për t'iu referuar. Përndryshe ndërtimin aplikimet nga e para me demonstrues do të çuar ndoshta në pyetje më shumë se pse dhe si, duke i dhënë kështu një kuptim më të mirë të kuadrit, pasi të gjithë ju mund të kërkoni specifikat pas kursit.

Leksioni i fundit përbëhej të punuar në zbatimin wiki me ndihmën / udhëzim nga mësuesi. Pas reagime kurs është marrë, u theksua disa herë nëpërmjet kursit që Zend merr reagime shumë seriozisht, ne fakt me sa duket versioni ynë i kursit ishte mjaft e re. Disa nga zhvilluesit e tjera të kompanisë do të marrë kursin shpejt kështu që do të jetë interesante të shihet nëse kjo ka ndodhur.

Stili kurs ishte informal, lejohet për komentin dhe bashkëpunim mes të pranishmit dhe instruktor. Udhëheqësi kurs ishte miqësor, i arritshëm (email adresat ishin ndarë për pyetje), dhe ndërsa prezantimin e tij nga slides ishte pak i dredhur u duk plotësisht kompetent në kuadër. Ai ishte në mënyrë të qartë një person që ka përdorur kornizën në një bazë të rregullt sesa dikush që është mësuar për të mësuar kursin, unë i pëlqente përvoja e 'botës së vërtetë' në këtë drejtim.

Ndjenja e përgjithshme

Në disa mënyra kam gjetur kursin e një humbje kohe, në të tjerat ai ishte shumë i dobishëm. Shpresojmë se unë do të merrni arsyet e mia të gjithë në mënyrë të qartë, dhe ndoshta të japë disa ushqim për të menduar apo të dobishme reagime (duke e ditur mua kjo nuk ka gjasa!).

Për mua ky kurs synonte të nivelit të ulët. Duke kaluar nëpër udhëzues quickstart, lexoni Kornizë Zend Rob Allen në Veprim, dhe ka punuar me kuadrin pak nuk e kam të vërtetë të merrni asgjë shumë. Unë do të të pëlqente kursin për të marr nga fundi i quickstart dhe të zhvillojnë aftësitë e tjera.

Kjo tha, titulli sigurisht e bën të qartë shtetëror "Zend kornizë bazat" dhe në këtë aspekt kursi arrin atë që vendos të bëjë. Anëtarët e tjerë të ekipit të zhvillimit që nuk kanë shpenzuar kohë duke kërkuar në kuadrin përfunduar çdo seancë me entuziazëm dhe e pyeti pyetje e cila ishte me të vërtetë mirë për të parë.

Të gjitha nuk ishte e humbur, ajo ishte e mirë për të shpenzuar kohë konfirmuar të dhënat themelore të kuadrit dhe për të marrë të kërkojë disa pyetje në zonat ku nuk ishte 100%. Kjo ishte edhe koha që kam marrë të ulen çdo ditë dhe të mendojnë për kodim përdorur projektet kuadër dhe të ardhmen, diçka që unë nuk do të qenë në gjendje të bëjë ndryshe (mund ta imagjinoni kompania juaj duke rënë dakord për këtë? :)). E fundit por jo më pak edhe ju të merrni një certifikatë e bukur nga Zend për të thënë që keni ndjekur kursin (megjithëse me email).

Zend Kornizë Certifikimi

Kjo ishte një pyetje që vinin në mendje gjatë, do të përgatisë mua për certifikim? Shpejtë, e lehtë nuk është një oshëtimë. Mësuesi kurs ishte mjaft e qartë në se me këshilla shtesë që për vërtetimin ju duhet të vërtetë të jetë duke përdorur kornizën për një ditë në baza ditore dhe të ndjehen shumë të rehatshme dhe të sigurt në përdorimin e saj dhe metodologjitë.

Përmbledhje

Duke pasur parasysh gjithçka që unë kam shkruar më lart, unë do të përmblidhni gjithçka në dy pikat e plumbave të lehtë:

  • Re për Zend Kornizë: Ky kurs ka pikërisht ajo që ju do të presin, kjo ju jep një hyrje të bukur në kuadrin e një argumentim të mirë mbi bazat nga të cilat mund të ndërtohet. Kursi i duket për të gjeneruar interes dhe entuziazëm për të kornizës midis zhvilluesit.
  • Përdoret Kornizën Zend: Ndërkohë që ishte e bukur për të mbështetur disa nga bazat shumë ndjeva kohë, përpjekje, dhe fondet për të marrë kurs mund të janë shpenzuar më mirë diku tjetër. Ajo do të jetë mirë për see Zend krijuar një kurs të ri të nivelit të lartë për të marrë zhvilluesve të nivelit të ardhshëm -. Të paktën me standardet e certifikimit dhe më gjerë Për këtë unë do të nënshkruajë menjëherë.

Britania e Madhe Emrat Directory dhe Facebook Application

Nga , e premte 10 Prill 2009 09:33 am

Një nga gjërat fun unë kam qenë përfshirë në kurse është punuar për Tracesmart directory emrat . Në thelb ne mori të madhe database tonë të informacionit dhe u tërhoq nga një grumbull i madh i statistikat rreth emrave të ndryshëm.

Procesi është e gjitha një përpjekje e madhe SEO në mënyrë që të tërheqë më shumë trafik në faqen e internetit, por ajo gjithashtu ofron disa të dhëna interesante dhe statistikat emrin.

Ja një shembull për emrin tim Lloyd Watkin , ose unë mendoj më shumë saktë Steven Watkin . Merrni një minutë për të kërkoni emrin tuaj në faqen e Tracesmart, mund të jetë interesante ;)

Ne kemi marrë edhe emrat e statistikave të dhëna për emrat directory faqen e cila ju tregon se çfarë emrat janë kontrolluar dhe se si kohët e fundit. . Mjaft interesante për të parë emrat e njerëzve të famshëm s fluturojnë deri stats kur ata shfaqen në lajme e saj Një shembull i kohëve të fundit është ai i Liam Neeson që gruaja e vdekur nga një aksident me ski kohët e fundit, ndonëse natyrisht njerëzit nuk janë mjaft të drejtë në gabimet ortografike (kështu një numër i madh i klikimeve në këtë emër) - Liam Nilson .

Facebook Application

Pasi directory emrat u krijua ne kemi vendosur për krijimin e një aplikim facebook cilat ne emrin duely ' Emri im '. Kërkesa facebook është një zgjerim i directory emrat dhe jep disa statistika shtesë. Në mënyrë që të shtoni në dosjen emra facebook llogarinë tuaj ju lutem vizitoni:

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













Theme nga Panorama Themocracy

7 vizitorët në linjë tani
5 mysafirë, 2 bots, 0 anëtarë
Vizitorë Max sot: 11 at 04:16 PM UTC
Këtë muaj: 18 në 07-05-2012 04:35 PM UTC
Këtë vit: 69 në 27-02-2012 09:56 am UTC
Gjithë koha: 130 në 28-03-2011 UTC 10:40 PM