Warning: fopen(/homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/gt-cache/fi/_fi_tag_db) [function.fopen]: failed to open stream: Disk quota exceeded in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1183

Warning: flock() expects parameter 1 to be resource, boolean given in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1184

Warning: fwrite(): supplied argument is not a valid stream resource in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1188

Warning: fclose(): supplied argument is not a valid stream resource in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1190
Evilprofessor.co.uk »db

Posts tagged: db

Toimisto Grid Computing Virtual ympäristöissä - Osa 1

Kun perjantai 04 joulukuu 2009 23:23

Johdanto

Olen töissä yrityksessä, jossa voimme suorittaa useita eräajot käsittely miljoonia levyjä tietoja joka päivä, ja olen ajatellut viime aikoina kaikki koneet, istua joka päivä tekemättä mitään useita tunteja. Eikö olisi hyvä, jos voisimme käyttää näitä koneita vahvistamaan prosessointitehoa järjestelmiemme? Tämän joukon artikkeleita aion tarkastella mahdollisia hyötyjä palkata toimiston verkon avulla virtualisoituja ympäristöissä.

Koska PHP kehittäjä aion käyttää työkaluja, joita käytän joka päivä eli Linux, MySQL , PHP, VirtualBox ja Subversion (SVN). Kuitenkin Toivon tämän oppaan sopeutuvat muita kieliä ja tekniikoita yhtä hyvin.

Ratkaisu annan tulee hyvin perustuu löyhästi tyypin käsittelyn olimme täytyy saavuttaa mutta tämä voi olla totta läpi koko artikkeli tulen muuttaa asioita yksinkertaisuuden, tai tuottamaan mielenkiintoisempia käyttötilanteissa.

Nämä virtualisoitua ympäristöt toimivat Windows-koneilla, koska tämä on mitä suurin toimistojen juosta. Käsittely että konttorikoneiden eivät saisi häiritä toimihenkilöiden näitä koneita, pitäisi vaadi huoltoa kone, ja helposti käyttöönotettavia uusia koneita kun ne tulevat saataville. Myös uusia virtuaalikoneita ei vaadi mitään lisäasetuksia, koska tämä vähentää huomattavasti skaalautuvuutta ja helppous, jolla verkkoon voidaan laajentaa.

Miksi käyttöönotto Office Computing Grid?

Ensinnäkin voi olla ajattelematta, miksi ei vain käyttää cloud computing resursseja, kuten Amazon EC2 foorumi ? Hyvin syistä voi olla useita, esimerkiksi:

  • Et antaa tiettyjä tietoja cloud computing ympäristö
  • Et voi laittaa tietyt tiedot cloud computing ympäristön oikeudellisista syistä (esim. tiedot lähtevät maasta), mahdollisesti oikeudellisista syistä, kuten NHS kirjaa.
  • Haluat säilyttää käsittely yksiköissä lähellä ja täysin hallita laitteisto liian
  • Sinulla ei ole hankerahoista ajaa pilvi tapauksissa
  • Toimistossasi ei ole yhteyttä Internetiin, ja siksi se ei ole mahdollista käyttää pilvi voimavara
  • Et pidä sadetta, pilvet viittaavat sadetta, joten sinun pitää hyvin poissa

Olen varma, lista voisi jatkua, mutta mielestäni se riittää nyt.

Edut Office Computing Grid

No, antaa tehdä joitakin matematiikka (ja aidon fysiikan tyyliin antaa tehdä joitakin laajoja oletuksia). Kuvittele on iso lihaksikas käsittely palvelin käyttää 100 työpaikkaa päivässä. Teidän toimiston sinulla on 50 koneita, jotka ovat lepotilassa 16 tuntia päivässä, jokainen näistä koneista on 10% niin voimakas kuin teidän lihaksikas käsittelyn katkaista. (Kaikki tulokset täällä pyöristetty aliarvioida enemmän tehoa).

Joten, 1 kone * 10% teho * 2/3 kertaa = 0,067 eli 1 työpöydän käsittely tyhjäkäyntiin voisi käsitellä 6 täyttä tehtävää päivässä.

Jos nyt skaalata tästä ylöspäin kestää 15 idle pöytäkoneet käsitellä mahdollisimman monta tehtävää päivässä pääasiakirjana käsittelyn palvelin tekee.

Joten meidän teeskennellä toimistossa 50 konetta voisimme kasvattaa prosessoritehoa alkaen 1 palvelin jopa 4 täyttä käsittelyyn palvelimia, tai voisimme käsitellä 400 työpaikkaa päivässä sijasta 100.

Huomaa, ilman investointeja uusiin laitteisto yrityksenne on juuri lisännyt erän jalostuskapasiteettia 4 kertaa! Mahdollisesti aiot lisätä virrankulutusta, mutta useimmissa toimistoissa olen ollut koneita yleensä jää yöksi tapauksessa, jotta voisit nähdä tämä vihreä aloite.

Muita etuja myös sitä, että investoinnit uuteen (tai päivitetty) käsittely palvelimia voi viivästyä, jos toimiston koneet ovat riittävät ja että voit parantaa voimaa oman toimiston koneiden toimiston verkkoon voimistuu automaattisesti.

Technologies

Mitä tarvitset? (Tai oikeammin mitä käytin):

  • Idle toimistolaitteet (minun tapauksessani vara vanha Windows XP laptop)
  • VirtualBox (tai muun virtualisoinnista client-ohjelmisto)
  • Virtuaalikoneen PHP, mySQL running käynnissä leikata alas OS, soitan nämä minun Limp palvelimet :)
  • Työpaikat juosta
  • Job palvelin (voi olla toinen virtuaalikoneen jonnekin)

Tyypillisiä Työpaikat

Erilaisia ​​töitä, että tämä järjestelmä on suunniteltu toimimaan on seuraava:

  • Järjestelmän saa luettelon tiedot, joihin meidän on vastattava ja palauttaa tulokset
  • Vastaavat on tarkistettava / haku useita (melko staattiset) tietolähteitä
  • Tulokset tietolähteistä saattaa edellyttää lisää validointi, yhdistäminen, tarkastaminen uusia tietolähteitä vastauksena tuloksia
  • Tiedot palautetaan yhteensopivat kirjaa, täysin validoitu ja käsitelty
  • Jokainen tietue sisällä työ on riippumaton muusta

Joten periaatteessa me tarkastelemme ajossa olevat työt, jotka vaativat seosta tietokanta haut ja jotkut numerotoimituksiksi, melko tyypillinen skenaarion liiketoimintaympäristössä.

Grid ratkaisut eivät ole ainoastaan ​​edullinen käsiteltäessä työpaikkoja tätä tyyppiä. Periaatteessa mikä tahansa prosessi, joka voidaan jakaa itsenäisiä yksiköitä voidaan ajaa rinnakkain. Katso tämä wikipedia esimerkkejä ja lisätietoja: Grid Computing , mutta pari tunnetuimpia esimerkkejä ovat Seti @ Home ja BIONC . On puitteita käynnissä tietojenkäsittely verkkoihin, ja nämä ovat hyvin arvoinen.

Mitä voimme saavuttaa?

Loppuun mennessä näiden artiklojen toivon mukaan käyttöönottokustannukset toimiston verkkoon ei tarvitse olla valtavan kallista ja aikaa vievää. Aion keskustella:

  • Asettaminen työn ohjausjärjestelmä, työn kokoonpano
  • Luominen asianmukainen käsittely virtuaalikone
  • How to setup järjestelmä windows koneella
  • Varmistaminen käytät uusinta koodia ja tietoja
  • Käyttöönotto ja benchmarking
  • Katse eteenpäin

Tulen rakennus (ok rakensin, niin kirjoitin tämän) esimerkkisovellus testata käsitteitä paikalliselle koneelle Windows XP ja minun "GridMachine-virtuaalikone. Työni Control Server tulee olemaan tärkein kone, joka toimii Fedora 11 .

Tämä ei mitenkään tarkoitus osoittaa täysin toimiva vankka järjestelmä, se merkitsi enemmän mielenosoituksen ja keskustella siitä, että nämä asiat voidaan saavuttaa kohtuullisen lyhyessä ajassa ja vähäisin kustannuksin. Voit vapaasti lähettää minulle kommentteja, korjauksia tai parannuksia ja teen parhaani pitää tämän artikkelin päivitetään vastaamaan.

Seuraavalla kerralla

Kun osa 2 Aloitan tarkastelemalla työn valvonta ja katsoa miten työpaikat tulisi määrittää, jotta saavutetaan mahdollisimman suuren osan käsittelyn ja samalla varmistaa, että jokainen työ on käsitelty ilman epäonnistuvat.

Toimisto Grid Computing Virtual ympäristöissä - Osa 2

Kun perjantai 04 joulukuu 2009 23:23

Johdanto

Olen töissä yrityksessä, jossa voimme suorittaa useita eräajot käsittely miljoonia levyjä tietoja joka päivä, ja olen ajatellut viime aikoina kaikki koneet, istua joka päivä tekemättä mitään useita tunteja. Eikö olisi hyvä, jos voisimme käyttää näitä koneita vahvistamaan prosessointitehoa järjestelmiemme? Tämän joukon artikkeleita aion tarkastella mahdollisia hyötyjä palkata toimiston verkon avulla virtualisoituja ympäristöissä.

Vuonna Osa 1 annoin yleiskuvan järjestelmästä ja teknologiat Aion käyttää sekä käsitellään joitakin mahdollisia syitä, miksi haluaisi luoda toimiston verkkoon.

Työn hallinta

Jos aiot olla käynnissä työpaikkoja sitten olet menossa on jotenkin hallita niitä. Työsi ohjausjärjestelmä (työssäsi palvelimella) on todella harkittu ennen kuin edes yrität käyttää toimiston verkkoon. Eli ensinnäkin, mitä tehtäviä työ ohjausjärjestelmä:

  • Ojentaa työpaikat pyynnöstä työntekijöitä
  • Kerro työntekijät millaisia ​​työpaikkoja juosta
  • Track työpaikkaa
  • Varmista, että työpaikkoja ajetaan vain kerran
  • Tarjoa työtietojen työntekijöille tai ainakin kertoa heille mistä sitä saa

Lisäksi järjestelmän tulee olla laajennettavissa, ratkaisu, joka toimii nyt samaan koteloon voidaan ulottaa suorittaa useita erilaisia ​​työpaikkoja kuin liiketoiminnan näkee arvokkaaksi verkkoon ratkaisu. Esimerkiksi työpaikkoja voi saada painopisteitä, enemmän kuin yksi työpaikka tyyppi voi olla (siis useita koodia emäkset), lopulta ehkä jopa käyttää useita eri työntekijöiden koneita, jotka on optimoitu kunkin työn (vaikka se ei siirrä pois geneerinen työntekijä "idea). Yritä aina ajatella tulevaisuutta kehitettäessä järjestelmiä, lyhyen aikavälin visio voi johtaa pitkällä aikavälillä turhautumista ja lisää kehitysaikaa.

Job Server

Tulemme tarvitsemaan jonnekin hillitsemään työpaikkoja, tämän pitäisi olla ainoa järjestelmä teidän ruudukko, jossa on kiinteä Resource Locator olla että IP-osoite, palvelimen nimi, osoite (käyttämällä sisäisiä DNS), jne. Tämä johtuu työntekijöiden täytyy tietää, mistä etsiä työtä, työntekijöitä täytyy löytää työpaikan ohjausjärjestelmä (ei työn ohjausjärjestelmä löytää työntekijöitä).

Työ-palvelin itsessään ei todellakaan ole monimutkainen tehtävä (vuonna perusjärjestelmän muutenkin), se tarvitsee tallentaa luetteloa työpaikoista, ojentaa työpaikkoja, saada tuloksia, ja sen jälkeen tallentaa ne myöhemminkin. Miten nämä osat (esim. "ojentaa työpaikkoja") on määritelty voi olla hyvin yksinkertainen. Myöhemmin voimme laajentaa järjestelmä koskemaan hallintaliittymä lisätä, muokata, poistaa, peruuttaa työpaikkoja, mutta tämä on kuin harjoitus.

Ei ole mitään syytä niin että työsi palvelin ei voinut olla virtuaalikoneen käynnissä omassa tärkein käsittelystä palvelin kunhan se ei pääse virtaamaan liikaa resursseja siitä. Työ-palvelin on kuitenkin se tarvitsee korkean käytettävyyden, jos se menee alas perjantai-iltana aiot menettää koko viikonlopun jalostus, mahdollisesti maksaa sinulle pari viikkoa arvosta käsittelyajan (verrattuna ensisijaiseen käsittelyyn palvelin yksin) . Haluat ehkä harkitsemaan työsi palvelimen kuormitusta tasapainoisen ympäristön korkean käytettävyyden.

Basic Setup

Perusasetukset työmme palvelimelle muodostuu mitä soitan eräs Limp palvelimia (eli Li Nux, m ySql, P HP). Koodin suorittamisen thea työntekijöistä todella selvittää, mitä työtä se voi hoitaa vuorovaikutuksessa työpaikkojen ohjausjärjestelmän tietokantoihin. Myöhemmin voisimme luoda verkkopalvelun ja itse ojentaa työpaikkoja sen sijaan työntekijät tekevät kovaa työtä itse, mutta nyt jatkamme käyttää KISS periaate (Keep It Simple, Stupid!).

Joten avulla luodaan kolme mySQL taulukoita käsitellä työpaikkoja. Nämä ovat `työpaikkoja`, `jobRecords`, ja `jobResults`.

työpaikkoja pöytä Täällä Käytän SQL Buddy hyvin vähän vaihtoehtoja phpMyAdmin vain koska sen helpompi asentaa CentOS (muille katso: 10 Great vaihtoehtoja phpMyAdmin )

Tämä taulukko on 5 yksinkertaisia ​​kenttiä,

  • id: tunnistaa työ
  • name: Voisi olla asiakasnumerosi, tai useita muita tunnisteita
  • Tila: Sinun täytyy tietää, missä työ on, esim.
    • 0: ei alkanut
    • 1: Noudetaan
    • 2: Päättyneet
  • started_by: Kuka alkoi tehdä työtä? Tämä ei ole täysin pakollista, mutta on hyvä olla. Haluan ehdottaa seurata työntekijöiden IP-osoitteen verkon
  • started_at: Milloin työntekijä aloittaa työn? Seuraamalla työpaikkoja, jotka eivät ole päätökseen X ajan tiedämme, että meidän poimia työn uudelleen ja aloittaa käsittelyn toisen työntekijän. Työntekijät voisivat lopettaa käsittelyn / go offline mahdollisesti useita syitä, sähkökatko, crash, verkko menetys jne.

On helppo miten tämä taulukko voitaisiin jatkaa muutamalla lisäkenttiä jotta tilastojen seuranta, lopetusaika sarakkeesta, miten kauan työ kesti, laskuri, kuinka monta työntekijää piristyi työ (ilmeisesti tämä tarvitsee yleensä 1), työ ensisijaisesti lista voi jatkua loputtomiin. Vuonna monimutkaisempi työ skenaariot olisi mahdollista määrittää, kuinka paljon muistia työntekijällä olisi pääsy (ja siksi käyttää vain sopivaa työntekijää), tai jopa millainen työntekijä olisi tarpeen.

Lets lisätään muutama esimerkki työpaikkoja:

Esimerkiksi työpaikkaa

Seuraavassa taulukossa on taas melko helppo ymmärtää, nämä ovat meidän tehtävämme kirjaa. Ne liittyvät pääasiassa työpaikkojen taulukon sarake `jobs_id`. Muodostavat tämän taulukon riippuu paljon tietoja, joita et tarvitse toimittaa teidän työntekijöitä, antaa tehdä hyvin yksinkertainen esimerkki, jossa meillä on neljä saraketta:

  • id: tunnus ennätys
  • nimi: Henkilön nimi
  • osoite: Henkilön osoite
  • jobs_id: työn tunnusta, että tämä levy liittyy

Kolmas ja viimeinen taulukko koostuu tulosten taulukon, se on paljon samaa muodostavat kuin tietomme pöytä, ja lisäämällä tiettyjä palstoja voisi olla osa Records taulukon:

  • job_record_id: Linkki tuloksen tehtävätaulukko
  • Tulos: tulostiedot

... Ja siinä kaikki mitä tarvitset työnohjausta! (Joskin aivan perustasolla) Omalla kohdallani olen todennut toiseen pöytään, jossa tietoni käsitellä sijaitsi, mutta voisi yhtä hyvin tehty tiedosto, parametrit suorittaa simulaatio koodia, you name it.

Valitseminen työpaikka

Kuten aiemmin on todettu, työntekijät teemme työn hallintaan meille nyt, niin kaikki meidän todella on löytää työpaikka, joka vaatii käsittelyä ja saada tietoa. Miten teemme tämän? No valita työtämme valintaperusteet ja etsiä työpaikkoja, SQL tein seuraavat:

  1. Ota kaikki työpaikat, joita ei ole merkitty täydellisiä, mutta meidän työntekijöiden ja palauttaa ne (korvaa __ ME__ kanssa tunnisteen, helpointa olisi IP-osoite):
     UPDATE `työpaikkoja` SET `status` = 0 WHERE `status` = 1 JA `started_by` = __ ME__; 
  2. Käyttämällä meidän tehtävämme valintaperusteet, valitse työ ja kerro ohjausjärjestelmä, tämä työntekijä käsittelee sitä:
      UPDATE `työpaikkoja` SET `status` = 1, `started_by` = __ ME__, `started_at` = NOW () WHERE `asema` = 0 tai
     (`Status` = 1 JA `started_at`> DATE_SUB (NYT (), ALUE X AIKA)) ORDER BY `id` ASC; 

    Tarttumalla työpaikat, joita ei palauteta tuloksia X ajassa voimme varmistaa, että kaikki työpaikat ovat käytössä jos työntekijä kaatuu tai menee luvattomalla lomalla.

  3. Seuraavaksi ota työpaikat yksityiskohdat jälkeen Records itse:
      SELECT * FROM `työpaikkoja` WHERE `started_by` = __ ME__ LIMIT 1;
     SELECT * FROM `job_records` WHERE `id` = __ JOBID__; 

Päätyttyä työpaikka lisäämme tuloksemme kirjaa ja merkitä työtä valmiiksi. Muista, kun työpaikkoja voi keskeyttää / jatkaa milloin tahansa sallia tietty kestävyydestä script. Voi olla, että tehtävä keskeyttää puolivälissä päivittää työn ohjausjärjestelmä, niin tarkkailun Tietueiden määrän työtä ja tulosten määrä tallentaa ne takaisin työn ohjausjärjestelmä olisi viisasta.

Lisäksi, vaikka tämä osoittaa, miten työpaikkoja voidaan valita ja hallita SQL-kyselyn runko sinun pitäisi oikeastaan ​​hahmotuskykyyn oman työn hallintaa niin, että jos päätät siirtyä käyttämään verkkopalvelu, tiedostopohjaisesta, XML -tai muita lukuisia järjestelmiä, se ei vaikuta koodia sen yläpuolella.

Job Configuration

Seuraava huomioon otettava näkökohta on työn koon ja kokoonpanon. Pelaamalla työpaikkojen kokoonpano voimme löytää hyvä tasapaino nopeuden, prosessin toistettavuus ja luotettavuus. Ota pari OFA skenaarioita:

  1. Työpaikat kestää 1 päivästä joka ajaa: Tämä tarkoittaa, että työntekijöitä on 15 päivää aikaa käsitellä kunkin työpaikan (muista 10% tehon 2/3rds ajasta). Tämä ei selvästikään ole viisas kokoonpano, työsi koko on liian iso! Se veisi ainakin kaksinkertainen aika saada suorittaa työ tulisi ensimmäinen työntekijä menee luvattomalla lomalla (aika poimia että se ei ole palannut tulos plus uudelleenkäsittely aikaa). Ihanteellisessa sinun on ainakin yksi täysi työ helppo tyhjentää jokaisen pitkän vapaan aikana, näin pidät työpaikkaa tikittää yli ja pahimmassa tapauksessa työ kestäisi kaksi päivää prosessia pitäisi ensin mennä puuttuu.
  2. Työpaikat kestää 1 minuutti juosta: Tämä tarkoittaa, että työntekijät kestää noin 15 minuuttia suorittaa kunkin työn. Vaikka tämä voi aluksi tuntua ihanteellinen, saat lisätyöstä käsittely lounasaikaan, kahvitauot, kokoukset jne. tämä skenaario asettaa paineita myös muiden järjestelmän ja tuo omat ongelmansa. Ensinnäkin esimerkiksi asennuksessa / käsittelyaika suhde on menossa alas, siis menettää järjestelmän tehokkuutta. Verkko tulee olemaan jatkuvasti streaming työpaikka tietoja eri työntekijöiden turhauttavaa henkilöstölle dong heidän päivittäisessä työssä. Olet myös menossa kohdistuu enemmän rasitusta työsi käsittelystä palvelimella, koska se on jaella paljon ja paljon pieniä teoksia säännöllisesti. Lisäksi tässä tilanteessa, jos työsi palvelin menee alas aiot luoda valtava takaisin lokin keskeneräinen työ taas isompi työpaikkaa Voitaisiin jatkaa käsittelyä blissfully tiedä, että työ-palvelin oli vaikeuksia.

Todellisuudessa ei tule yksi ideaalinen kokoonpano oman verkon asetukset, paljon riippuu käytettävissä olevien resurssien kaikenlainen työssä, työn läpimenoaika vaatimukset, verkkotoiminnot, ja niin edelleen. Jotkin suuntaviivat olisivat:

  • Koko työpaikkoja jotta jokainen työntekijä voi saada läpi ainakin 3-4 työpaikkaa 15 tunnin ajan (pisin todennäköinen vapaan ajan)
  • Pelaa työn koko, niin että asennuksen aikana tulee melko vähäinen verrattuna käsittelyaika (ottaen huomioon edellä kohta).
  • Jos työ ei ole täydellinen kaksinkertainen aika (ehkä vähemmän) odotatte sitä täydentää sitä olettaa, että sen mennyt luvattomalla lomalla ja aloittaa sen käsittelyn toisen työntekijän. Tämä tarkoittaa sitä, saatat joutua odottamaan jopa kolme kertaa tavanomaiselta työtä sen loppuun (mahdollisesti pidempään, jos myöhemmin työ epäonnistuu). Voit vähentää tällä kertaa, mutta varo vähentää sitä liikaa, sillä saatat alkaa päällekkäistä käsittelyä tehtäviä säännöllisesti.
  • Työpaikkoja tulisi olla riippumattomia ulkopuolella vaatimusten niin paljon kuin mahdollista. Työ-palvelin, esimerkiksi vain ottaa yhteyttä alussa ja lopussa jokainen työpaikka.
  • Älä kyllästetty verkko, tällä on kaksi kielteistä vaikutusta, sinun päivällä henkilökunta löytävät käyttää verkkoa turhauttavaa ja ongelmia voi ilmetä, jolla on yhteyksiä aikarajan ongelma vain pahenee kun skaalata verkkoon.
  • Varmista työpaikkoja voi ajaa omia työntekijöitä. Jos työpaikkaa liian paljon muistia ja levytilaa intensiivisiä työpaikkoja alkaa saaliin, ja ainoa asia, jonka huomaat on pudotus Työpaikkojen määrä käsitellä ilman varsinaista syytä, miksi.

Hakemuksen tulokset Job

Toimittaessaan tulokset työ on tärkeää tarkistaa, että tuloksia ei ole jätetty toinen työntekijä, varsinkin jos nykyinen työntekijä on ollut lepotilassa jonkin aikaa.

Kun tulokset esitetään että tulosten määrä vastaa tietueiden sisällä työtä.

Kuten aiemmin todettiin, eikä se voi olla yli korosti, rakentaa vikasietoisuutta osaksi työpaikan hakuun ja tulosten esittämisen. Työntekijät voivat (ja mitä todennäköisimmin) siirtyy lepotilaan klo hankalimmassa kertaa ja tämä on huomioitu. Myös jälleen hahmotuskykyyn pois hakutuloksia jättämisestä auttavat palvelemaan tulevia muutoksia työn ohjausjärjestelmä paljon helpompi käsitellä.

Yhteenveto

Tässä section olemme tarkastelleet mitä työnohjaus palvelin pitää tehdä ja miten saada hyvin yksinkertainen järjestelmä käyttöön. Keskustelimme siitä, miten hakea työtä käyttöjärjestelmästä ja miten parhaiten määrittää työpaikkoja saada eniten meidän oman toimiston verkkoon. Lopuksi, kappaleen tai kaksi esittäessään tulokset takaisin työn Control Server esiteltiin.

  • Työn hallinta palvelimen kautta työpaikkoja ja varmistaa, että kaikki toimivat yksiköt valmistuvat
  • Abstrahoimalla työsi valitset / tulos jättämistä voimme muuttaa teknologian Control Server ilman suurempia ongelmia
  • Määritä työpaikkoja, jotta ne ajetaan nopeasti ja tehokkaasti vaarantamatta liikaa paineita verkon infrastruktuuriin, ja tekemättä päällekkäistä käsittelyä tehtäviä säännöllisesti.
  • Varmista, että olet rakentaa vikasietoisuuden ja erehdys checking teidän rutiinit, työntekijä voi keskeyttää ja aloittaa uudelleen ja hankalimmassa kertaa. Muista tarkistaa, jos tuloksia on jo toimitettu toinen työntekijä.

Seuraavalla kerralla

Kun osa 3 luomme virtuaalinen jenkäsittelykoneeseen ja perustamme oman Windows-koneissa tulee idle-aikaisia ​​työntekijöitä.

Zend Framework: Fundamentals - Review

Kun , lauantai 28 marraskuu 2009 22:42

Työnantaja hiljattain maksettu ryhmä meille kehittäjät voivat Zend Framework: Fundamentals kurssi, täällä minä tiivistää ajatuksiani ja mielipiteitä kurssin muille. Niille, jotka haluavat säästää aikaa, tässä on yhteenveto:

Kehittäjille, jotka eivät ole ehtineet tarkastella Zend Framework kurssilla (Zend Framework: Fundamentals) tarjoaa hyvän yleiskuvan kehyksen käyttöönottoa voit avainalueilla ja antaa riittävästi tietoa, jotta voidaan jatkaa. Niille, jotka ovat viettäneet aikaa tarkastella ja luotava seurannut yksi tai kaksi tutorials Tällä kurssilla ei tarjoa paljon pidemmälle.

Tausta

Olen ollut PHP kehittäjä noin 5-6 vuotta, ja ovat aloittaneet yhteistyön Zend Framework on osa pohjalta viimeisten 6 kuukauden aikana. Olen kehittänyt ja / tai ollut kehittäjä pari pientä Zend Framework MVC sites. Olen rehellinen, en ole ollut valtavan määrän altistuminen muille kehyksiä peräisin koodauksen näkökulmasta, mutta ovat viettäneet useita tunteja tutkien projektin sivustot ja arvioimaan them. puitteet ja yhteisöä ympärillä Zend Framework on varsin jännittävä, ja siellä näyttää olevan suuria mahdollisuuksia, jos se menee.

Tietoa Kurssin

Kurssi on toimitettu yli 9 kahden tunnin WebEx-istunnot (ja 10 minuutin tauko keskellä). Aika kuluu läpi joukko dioja tarjoamien Zend kanssa keskusteluun milloin tahansa. Voit käyttää mikrofonia puhua ohjaaja, mutta rehellisesti sanottuna en nähnyt ketään käytä mitään muuta kuin chat-ikkuna. Lisäksi VMWare Ubuntu kone jos on esimerkiksi koodin ja hankkeet perusti kokeiluversio Zend Studio. Kurssin johtaja puhuu osallistujille joko yli integroitu VoIP-ratkaisun, tai voit soittaa ja käyttämällä yhtä monista maailman yhteystietosi numeroina.

Kurssilla materiaali koostuu lyhyesti puitteiden ja MVC malli ennen menossa näyte vieraskirjaan sovellus. Keskustelu osoitti bootstrapping, Zend_Application, Db taulukot, tietokanta pääsy, lomakkeet, suodatus, ACL, Validating, jne, jne. Periaatteessa kattaa kaikki aiheet sinun tarvitse saada perus sivustosi käynnissä koko ajan antaa sinulle työkalut mene ja saada pidemmällä puitteissa (vaikka tämä ei määrä "Katso verkkosivuston paljon aikaa).

Aika annetaan koodaamaan joitakin esimerkkejä, ja kehittää "vieraskirja" ja yksinkertainen "wiki-sovellus. Henkilökohtaisesti olen sitä mieltä, että antamalla koodin tai kunkin sovelluksen ja sitten pyytää meitä kehittämään mikä oli lähinnä kopio rinnalla ei oikeastaan ​​tarjota hyvä oppimiskokemus. Olisin halunnut kehittää sovellus samankaltaisia, mutta eivät identtiset. on esimerkki sovelluksen hyötyä ottaa oppaan viitata. Vaihtoehtoisesti rakentaa sovelluksia tyhjästä mielenosoittajan olisi mahdollisesti johtanut enemmän kysymyksiä siitä, miksi ja miten, mikä antaa ymmärtää paremmin puitteita, kun kaikki voit etsiä yksityiskohtia kurssin jälkeen.

Viimeinen luento koostui työtä wikin sovellus apua / ohjeita ohjaajalta. Kurssin jälkeen palaute on otettu, korostettiin useaan otteeseen kurssin että Zend ottaa palautteen vakavasti, itse asiassa ilmeisesti meidän versio Kurssi oli aivan uutta. Jotkut muiden kehittäjien yhtiö aikoo ottaa kurssin nopeasti, joten on mielenkiintoista nähdä, jos tämä on tapahtunut.

Kurssin tyyli oli epävirallinen, saa palautetta ja yhteistyötä osallistujat ja ohjaaja. Kurssin vetäjä oli ystävällinen, helposti lähestyttävä (sähköpostiosoitteet jaettiin kysymyksille), ja vaikka hänen esityksen kalvot oli hieman hutera tuntui täysin päteviä puitteissa. Hän oli selvästikin joku, joka käyttää puitteet säännöllisesti kuin joku opetetaan opettamaan tietenkin pidin "reaalimaailmassa" kokemus tältä osin.

Kaiken Feeling

Jollain tavalla löysin kurssin ajanhukkaa, toisissa se oli erittäin kätevä. Toivottavasti saan syyni selvästi esille, ja ehkä antaa ajattelemisen aihetta ja hyödyllistä palautetta (tietäen minulle tämä on epätodennäköistä!).

Itselleni kurssin tarkoituksena oli liian alhainen. Ottaa käynyt läpi Pikaopas, lukea Rob Allenin Zend Framework in Action, ja työskennellyt puitteet hieman en oikein saa mitään liikaa. Olisin halunnut tietenkin poimia lopusta Quickstart ja kehittää uusia taitoja.

Se sanoi, kurssin nimi ei selvästi todetaan "Zend Framework: Fundamentals", ja että osa kurssin saavuttaa mitä esitetään tehdä. Muut jäsenet kehitystiimi jotka eivät ole viettäneet aikaa etsimässä osaksi valmiiksi kunkin istunnon innostuneesti ja kysymyksiä, jotka oli kiva nähdä.

Kaikki ei ole menetetty, oli mukava viettää aikaa vahvistaa perustiedot puitteet ja saada esittää pari kysymystä alueilla, joilla en ollut 100%. Oli myös aika, että sain istua joka päivä ja ajatella koodaus käyttää kehystä ja tulevia hankkeita, mitä olisin ole voinut tehdä toisin (voitteko kuvitella yrityksesi sopimalla siitä? :)). Viimeisenä mutta ei vähäisimpänä saat myös mukava todistuksen Zend sanoa, että kurssille (vaikka sähköpostitse).

Zend Framework sertifiointi

Tämä oli yksi kysymys riitti mieleen aikana, eikö valmistella minua sertifiointi? Nopea, helppo on raikuva Ei. Kurssin opettaja oli aivan selvä, että neuvontaa että sertifioinnin sinun pitäisi oikeastaan ​​käyttää puitteet päivittäin ja tuntuu erittäin mukava ja luottavainen sen käyttö ja menetelmiä.

Yhteenveto

Koska kaikki, mitä olen kirjoittanut edellä, minä tiivistää kaiken kahden helpon bullet pistettä:

  • Uusi Zend Framework: Kurssi ei tarkalleen mitä odottaa, se antaa sinulle mukava johdatus puitteet ja hyvää maadoitusta perusasiat, josta voit rakentaa. Kurssin näyttää herättää kiinnostusta ja innostusta puitteissa keskuudessa kehittäjille.
  • Käytetään Zend Framework: Vaikka se oli kiva pönkittää joitakin aivan alkeista tunsin aikaa, vaivaa ja varoja suorittaa kurssin Voitaisiin ollut parempi käyttää muualla. On mukava see Zend luoda uuden korkeamman tason kurssi ottamaan kehittäjät seuraavalle tasolle - ainakin standardin sertifiointia ja sen jälkeen. Tästä olisin kirjautua välittömästi.

Kirjaa DB käyttää Zend Framework

Kun tiistai 14 huhtikuu 2009 21:06

Olen onnistunut saamaan sivuston vauhdissa Zend Framework , kaikki on kirjautumassa hienosti Firebug / FirePHP niin seuraava askel oli loki DB. Halusin myös kirjautua joitakin lisätietoja käyttämällä puitteet kuten käyttäjä agentti, päivämäärä ja aika, GET ja POST muuttujat. Joten jatkaa käsin hieman tässä mitä tein:

// Set up logging to DB
$db = Zend_Registry ::get('dbAdapters');
$db = $db['general'];

$ ColumnMapping = array ("ensisijainen" => "ensisijainen"
'Viesti' => 'Viesti',
'Datetime' => 'timestamp',
'User_agent' => 'user_agent "
'Get_vars' => 'get_vars "
'Post_vars' => 'post_vars "
"Paikalla" => "paikalla"
);

$ WriterDb = uusi Zend_Log_Writer_Db ($ db, "error_logging", $ columnMapping);
$ Logger = uusi Zend_Log ($ writerDb);

$ Logger-> setEventItem ('datetime', date ("VKP H: i: s '));
$ Logger-> setEventItem (user_agent ", $ _SERVER ['HTTP_USER_AGENT']);
$ Logger-> setEventItem (get_vars ", print_r ($ _GET, true));
$ Logger-> setEventItem (post_vars ", print_r ($ _POST, true));
$ Logger-> setEventItem ("paikalla", SITE);

$ Logger-> info (tiedonvälityksellisen viesti ');

Kun array avaimet $ columnMapping ovat minun sarakkeen nimiä. "Priority" ja "sanoma" ymmärtävät Zend_Log_Writers vaan lisäkenttiä lisättiin antaa minulle joitakin lisätietoja.

Ilmeisesti tämä edellyttää, että olet kirjautumassa työtä jollain muita kirjailijoita ensimmäinen :)













Panorama Theme by Themocracy

8 vierailijaa nyt
7 vierasta, 1 vastaan, 0 jäsentä
Max kävijöitä tänään: 40 klo 03:33 am UTC
Tässä kuussa: 40 at 23-05-2012 03:33 am UTC
Tänä vuonna: 69 at 27-02-2012 09:56 am UTC
Kaikki aika: 130 at 28-03-2011 22:40 UTC