Warning: fopen(/homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/gt-cache/tr/_tr_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

Sanal ortamlar kullanarak Office Grid - Bölüm 1

By , Cuma 4 Aralık 2009 11:23

Giriş

Birçok toplu iş veriler, her gün milyonlarca kaydın işlenmesi ve ben birkaç saat hiçbir şey yapmadan her gün oturup tüm makineler hakkında son zamanlarda düşünüyordum çalıştırmak nerede bir şirkette çalışmak. Bizim sistemlerinin işlem gücü desteklemek için bu makineleri kullanabilir olsa iyi olmaz mıydı? Bu makaleler set ben bir ofis istihdam potansiyel yararları bakmak için gidiyorum ızgara sanallaştırılmış ortamlarda kullanarak.

Olarak PHP geliştiricisi Ben, yani her gün Linux, kullandığınız araçları kullanmak için gidiyorum mySQL , PHP, VirtualBox ve subversion (SVN). Ancak ben bu kılavuz gibi diğer dillerde ve teknolojilere adapte umuyoruz.

Ben sağlayan çözüm çok gevşek biz Burada basitlik için şeyleri değiştirmek gerekir, ya da daha ilginç kullanım senaryoları üretmek için bu makalenin tümünü doğru olmayabilir ancak ulaşmak için ihtiyaç duyacağımı işlem türüne göre yapılacaktır.

Bu ofisler çoğunluğu çalıştırmak ne zamandan beri bu sanallaştırılmış ortamlarda pencereler makinelerde çalışacaktır. Büro makineleri yaptığımız işlem bu makineleri kullanarak personel ile müdahale etmemelidir, makinede herhangi bir bakım gerektirir ve kullanılabilir olduklarında yeni makinelerin kolayca konuşlandırılabilir olmalıdır. Bu büyük ölçüde ızgara sistemi uzatılabilir hangi ölçeklenebilirlik ve kolay azaltır olarak da, yeni sanal makineler herhangi bir ek yapılandırma gerektirmemelidir.

Neden bir Office hesaplama parmaklığı dağıtma?

Öncelikle düşünce olabilir, neden sadece gibi bir bulut bilgi işlem kaynağı kullanmaz Amazon'un EC2 platformu ? Sıra nedenlerle, örneğin, çeşitli olabilir:

  • Bir bulut bilgi işlem ortamı için belirli veri emanet olmaz
  • Siz yasal nedenlerle, örneğin NHS kayıtları için potansiyel olarak, yasal nedenlerle (örneğin veri ülkeyi terk) için bir bulut bilgi işlem ortamı içine belirli veri koyamazsınız.
  • Sen işleme üniteleri çok donanım üzerinde tam kontrol kapatmak ve sahip tutmak istiyor
  • Sen bulut örneklerini çalıştırmak üzere proje fon yok
  • Ofisiniz bir bulut kaynak kullanmak için internet bağlantısı olmayan ve bu nedenle mümkün değil
  • Sen yağmur sevmiyorum, bulutlar yağmur öneririm, bu nedenle de uzak tutun

Ben liste devam edebilir emin değilim, ama yeterli şimdilik olduğunu düşünüyorum.

Office Computing Grid Avantajları

Eh, biraz matematik (ve gerçek fizik tarzı bazı süpürme varsayımlar yapmanıza olanak sağlar) yapmanıza olanak sağlar. Eğer günde 100 iş çalışan büyük etli işleme sunucu var düşünün. Ofisinizde size günde 16 saat boşta 50 makinemiz var, bu makinelerin her biri kendi adeleli işleme sever gibi güçlü% 10'dur. (Buradaki tüm sonuçları performans artışı hafife yuvarlanır).

Yani, 1 makine *% 10 güç * 2/3 saat = boş zaman 0,067 yani 1 masaüstü işlemci günde 6 tam işlerini işlemek olabilir.

Şimdi bu kadar ölçeklendirilebilir Eğer ana işleme sunucu yaptığı gibi günde bir işlerini işlemek için 15 boşta masaüstü alır.

Yani 50 makinelerin bizim hayali ofiste biz 4 tam işleme sunuculara kadar 1 sunucu bizim işlemci gücü artabilir, ya da 100 yerine günde 400 işlerini işlemek olabilir.

Bildirim, yeni donanım hiçbir yatırım için şirket sadece kendi toplu işleme kapasitesi 4 kat arttı! Potansiyel size güç kullanımını artırmak için gidiyoruz ama çoğu ofis ortamlarına Ben makineleri ziyaretinde genellikle zaten gece boyunca, bu nedenle yeşil bir girişim olarak bu görebiliyordu.

Diğer avantajlar da büro makineleri yeterli iseniz ve büro makinelerinin gücü artırmak olarak ofis ızgara otomatik olarak daha güçlü hale gelmesi durumunda yeni bu yatırım (veya güncellenmiş) işleme sunucuları gecikebilir demek.

Teknolojileri

Neye ihtiyacın var? (Daha doğrusu ne kullanmalıyım vermedi):

  • Boşta büro makineleri (benim durumumda bir yedek eski windows XP dizüstü)
  • VirtualBox (veya başka bir istemci sanallaştırma yazılımı)
  • PHP, mySQL running OS aşağı bir kesim ile çalışan bir sanal makine, ben bu benim LIMP sunucular :) arıyorum
  • Çalıştırmak için İş
  • İş sunucusu (bir yerde başka bir sanal makine olabilir)

Tipik İşler

Aşağıdaki gibi, bu sistemin çalıştırmak için tasarlanmış bir iş türlerine şöyledir:

  • Sistem biz sonuçları maç ve dönmek gerek bunun üzerine veri listesini alır
  • Eşleştirme (oldukça statik) çeşitli veri kaynaklarına kontrol / arıyor içerir
  • Veri kaynaklarından Sonuçları sonuç yanıt olarak ek veri kaynaklarının denetimi, birleştirilmesi, daha doğrulama gerektirebilir
  • Veri, eşleşen kayıtları ile iade tamamen onaylanmadığı ve işlenir
  • Bir iş içindeki her kayıt geri kalanından bağımsız olduğunu

Yani temelde biz veritabanı aramalarına karışımı ve bazı numarası çıtırdatan, bir iş ortamında oldukça tipik bir senaryo gerektiren işlerde çalışan bakıyoruz.

Izgara çözümlerin bu tip işler işlenmesi için, sadece avantajlı değildir. Temel olarak, bağımsız birimler bölünebilir herhangi bir işlem paralel olarak çalıştırılabilir. Örnekler ve daha fazla bilgi için bu wikipedia bakınız: Grid , ancak ünlü birkaç örnek vardır Seti @ Home ve BIONC . Orada bilgisayar ızgaraları çalıştırmak için çerçeveler vardır ve bunlar içine bakarak iyi değer.

Ne elde edecek?

Bu maddelerin sonunda ben bir ofis ızgara dağıtma derece pahalı veya zaman alıcı olması gerekmez göstermek istiyoruz. Ben tartışmak için gidiyorum:

  • Iş yapılandırma, iş denetim sisteminin kurulması
  • Uygun bir işleme sanal makine oluşturma
  • Bir windows makinede sistemi kurmak için nasıl
  • En son kod ve veri kullanıyorsanız sağlanması
  • Dağıtım ve kıyaslama
  • İleriye

Ben (tamam ben bu yazdı, sonra yerleşik) Windows XP ve benim 'GridMachine' sanal makine kullanarak bir yerel makine üzerinde kavramları test etmek için örnek bir uygulama bina olacak. Benim işim kontrol sunucusu çalıştırır benim ana makine olacak Fedora 11 .

Bu, hiçbir şekilde tam çalışan sağlam bir sistem göstermek içindir, onun bir gösteri daha fazla ve bunları makul bir süre kısa ve az maliyetle elde edilebileceğini gösteren tartışılması anlamına geliyordu. Bana herhangi bir yorum, düzeltilmesi veya iyileştirmeler göndermek için çekinmeyin ve ben eşleşecek şekilde güncelleştirilir bu makalede tutmak için elimden geleni yapacağım olun.

Bir dahaki sefere

In part 2 ben iş denetim sistemi bakarak başlayacak ve işler her iş aksatmadan işlenir sağlarken işleme büyük miktarda elde etmek için nasıl yapılandırılmalıdır içine bakmak.

Sanal ortamlar kullanarak Office Grid - Bölüm 2

By , Cuma 4 Aralık 2009 11:23

Giriş

Birçok toplu iş veriler, her gün milyonlarca kaydın işlenmesi ve ben birkaç saat hiçbir şey yapmadan her gün oturup tüm makineler hakkında son zamanlarda düşünüyordum çalıştırmak nerede bir şirkette çalışmak. Bizim sistemlerinin işlem gücü desteklemek için bu makineleri kullanabilir olsa iyi olmaz mıydı? Bu makaleler set ben bir ofis istihdam potansiyel yararları bakmak için gidiyorum ızgara sanallaştırılmış ortamlarda kullanarak.

In Part 1 sana bir ofis ızgara oluşturmak için neden isteyeyim sıra potansiyel bazı nedenleri tartışıldı olarak kullanıyorum edilecek sistem ve teknolojileri konusunda bilgi verdi.

İş Denetimi

Eğer işler çalışıyor gidiyoruz, o zaman onları yönetmek için bir yol gerekir gidiyoruz. İşiniz kontrol sistemi (iş sunucuda) gerçekten iyi hatta bir ofis ızgara çalıştığınız önce düşünülmüş olması gerekir. Yani öncelikle bir iş denetim sisteminin görevleri nelerdir:

  • Işçilerin talebi üzerine işleri teslim
  • Ne tür işler çalıştırmak için işçi söyle
  • Parça işler
  • Işler sadece bir kez çalıştırmak emin olun
  • Işçilerin işi verileri sağlayın, ya da en azından bunu elde etmek için onlara

Sistem aynı zamanda genişletilebilir, bir ızgara çözüm değer gördüğü iş olarak işler çeşitli çalıştırmak için uzatılabilir tek bir durumda şu an için çalışan bir çözüm olması gerekir. Örneğin, iş öncelikleri elde edebilir, birden fazla iş türü (yani birkaç kod bazlar) var olabilir, sonuçta siz bile 'genel işçinin uzak hareket ediyor olsa da (iş her türü için optimize edilmiş çeşitli işçi makineleri çalıştırmak olabilir 'fikir). Daima sistemleri geliştirirken geleceği hakkında düşünmeye çalışacağım, kısa dönemli vizyonu uzun vadede hayal kırıklığı ve artan geliştirme süresini yol açabilir.

İş Sunucu

Biz işten kontrol etmek için bir yere ihtiyacımız olacak, bu gibi bir IP adresi, ana bilgisayar adı, URL (iç DNS kullanarak), Bunun nedeni olduğunu, sabit bir kaynak bulucu vardır sizin Izgarada sadece sisteminin olmalıdır işçiler nerede iş aramak için bilmeniz gereken, işçilerin iş denetim sistemi (değil, işi kontrol sistemi işçi bulma) bulmalıyız.

Iş sunucusu kendisini gerçekten (temel bir sistemde olsa) karmaşık bir görev yoktur, bu işleri el, işlerin bir listesini saklamak sonuçlar alırsınız ve daha sonra daha sonra geri alma için bunları saklamak gerekiyor. Bu parçalar (örneğin 'el işleri') nasıl tanımlanmaktadır çok basit olabilir. Daha sonra biz bir yönetim arayüzü eklemek, düzenlemek, silmek, işleri askıya ancak bu egzersizin ötesinde dahil etmek sistemi genişletebilirsiniz.

İşinizi sunucu bunu ondan çok fazla kaynak drenaj değil sağlanan ana işleme sunucu içerisinde çalışan bir sanal makine olamayacağı sonra hiçbir sebep yoktur. Bunu işleme bütün bir hafta sonu kaybedeceğiz bir Cuma akşamı aşağı giderse iş sunucusu Ancak potansiyel olarak sizin işlem süresi değerinde birkaç hafta (yalnız ana işleme sunucu göre) maliyet, yüksek erişilebilirlik ihtiyacı var . Bu yüksek kullanılabilirlik için bir yük dengeli çevreye verdiğiniz iş sunucusu koyarak düşünebilirsiniz.

Temel Kurulum

Bizim iş sunucusu için temel kurulum benim LIMP sunuculardan biri (ki Li nux, m ySql, P HP ise) aradığım ne oluşacaktır. Thea işçi çalıştıran kodu aslında işi kontrol sistemi veritabanları ile etkileşerek çalıştırabilirsiniz ne işler yoluna girecek. Daha sonra bir web hizmeti ve aslında el işleri yerine işçilerin zor işi kendileri yapmak zorunda yaratabilir, ama şimdi biz kullanmaya devam edeceğiz KISS prensibini (Basitleştirin, Stupid!).

Yani, üç oluşturmanızı sağlar mySQL işleri ile uğraşmak tablolar. Bunlar, `işler`, `jobRecords` ve `jobResults olacak`.

işler tablosu İşte kullanıyorum SQL Buddy için büyük bir küçük bir alternatif phpMyAdmin (: için diğerlerini görmek CentOS yüklemek için sırf onun kolay phpMyAdmin 10 Büyük alternatifler )

Bu tablo, 5 basit bir alandan oluşur

  • id: Tek işi tanımlamak
  • ad: Bir müşteri referansı veya diğer tanımlayıcıları herhangi bir sayı olabilir
  • Durum: Bu iş nerede olduğunu bilmek gerekir, örneğin
    • 0: Başlamadı
    • 1: aldım
    • 2: Tamamlandı
  • started_by: iş yapmaya başladı kim? Bu tamamen ihtiyaç var ama bir güzel değil. Ben ağınızdaki IP adresi ile izleme işçilerin öneririm
  • started_at: Ne zaman işçinin işe ne zaman başladınız? Zaman X miktar içinde tamamlamamış olan işleri takip ederek biz bir kez daha işi alıp başka bir işçi tarafından işleme başlamak gerekir biliyorum. İşçi işleme / stop herhangi sayısı nedenleri, elektrik kesintisi, crash, şebeke kaybı, vb için çevrimdışı gidebiliriz

Bu tablo istatistiklerini izleme, işi kaç işçi iş aldı görmek için, bir karşı ne kadar sürdüğünü görmek için bir bitiş saati sütunu için izin vermek için birkaç ek alanlar ile uzatılabilir ne kadar kolay olduğunu (tabi bu ihtiyaçları eğilimindedir 1), iş önceliği, liste uzayıp gidebilir. Daha karmaşık iş senaryolarda bu işçi (ve bu nedenle sadece uygun işçiler kullanın), hatta ne tür işçinin gerekli olacaktır erişimi gerekir ne kadar bellek belirtmek mümkün olacaktır.

Birkaç örnek işler ekleriz:

Örnek işler

Sonraki tablo yeniden anlamak için oldukça basit, bu bizim işimiz kayıtları vardır. Bunlar, bir kolon `jobs_id` tarafından ana işler tablosu ile bağlantılıdır. Bu tablo oluşturan çok sizin işçilere sağlamak için gereken verilere bağlıdır, biz dört sütun var çok basit bir örnek yapmanızı sağlar:

  • id: kaydın kimliği
  • Adı: Kişi adı
  • Adres: Kişinin adresi
  • jobs_id: Bu kayıt bağlı olduğu iş kimliği

Üçüncü ve son tablosu bir tablo içerir sonuçlar, aynı kayıtlarımızdan tablo olarak telafi kadar sahiptir ve bazı sütun ilavesi ile kayıt tablosu bir parçası olabilir:

  • job_record_id: iş tabloya sonucu Bağlantı
  • Sonuç: Sonuç olarak veri

... Ve size iş denetimi için gereken herşey! (Bir çok temel düzeyde de olsa) Benim durumumda süreç benim veri bulunduğu başka bir tabloya işaret ediyorum, ama bu kadar kolay bir dosya olmuş olabilir, simülasyon kodu çalıştırmak için parametreler, siz söyleyin.

Bir iş seçme

Daha önce belirtildiği gibi, işçilerin artık bizim için bizim iş yönetimi yapacak, bu yüzden gerçekten tüm yapmanız gereken işlem gerektiren bir iş bulmak ve bilgi almak olduğunu. Bunu nasıl yapardın? Eh bizim işimiz seçim kriterleri almak ve iş peşinde, SQL aşağıdaki yaptım:

  1. Tam olarak ama bizim görevliden işaretli olmayan herhangi bir işle alın ve (bir tanımlayıcı ile __ ME__ yerine, en kolay IP adresi olacak) bunları sıfırlamak:
      UPDATE `işler` SET `Durum` = 0 WHERE `durum` = 1 AND `started_by` = __ ME__; 
  2. Bizim işimiz seçim kriterleri kullanarak, bir iş seçin ve bu işçi onunla ilgili olduğunu kontrol sistemi söyle:
      UPDATE `işler` SET `Durum` = 1, `started_by` = __ ME__, `started_at` = ŞİMDİ () WHERE `durum` = 0 VEYA
     (`Durum` = 1 AND `started_at`> DATE_SUB (NOW (), ARALIK X SAAT)) id `ARTAN` ORDER BY; 

    Hepimizin işler AWOL çökmesini veya giden bir işçinin durumunda çalıştırmak emin zaman X miktar sonuçları dönmediği kapma işleri tarafından.

  3. Sonraki kayıtlarını kendileri tarafından takip işleri ayrıntıları yakala:
      `Işler` SELECT * FROM WHERE `started_by` = __ ME__ LIMIT 1;
     Job_records `SELECT * FROM` WHERE `id` = __ JOBID__; 

Iş tamamlandıktan sonra biz sonucu kayıt eklemek ve eksiksiz olarak iş işaretleyin. Işler istediğiniz zaman komut dosyası bazı sağlamlık için izin askıya alma / devam ettirebilirsiniz gibi hatırlıyorum. Bu görev çok akıllıca bir hareket olacak bir iş ve iş denetim sistemine geri kaydedilen sonuç sayısını kayıtların sayısını kontrol, iş denetim sisteminin güncellenmesi ile yarım askıya ki olabilir.

Ayrıca, bu işler gerçekten olması gereken bir SQL sorgusu çerçeve seçilir ve nasıl idare edilir gösterir iken soyutlayarak böylece iş kontrolü size bir web hizmeti, dosya tabanlı sistem kullanarak geçmek için karar verirseniz, XML , veya başka bir sistemlerinin numarası buna yukarıda kodu etkilemez.

İş Yapılandırma

Dikkate sonraki yönü iş boyutuna ve yapılandırma. Iş yapılandırma ile oynayarak biz mükemmel bir hızı arasındaki denge, süreç çoğaltma ve güvenilirlik grev olabilir. Bir çift OFA senaryoları atın:

  1. İşler 1 gün, her çalıştırmak için almak: Bu işçiler (zaman 2/3rds için güç% 10 hatırlamıyorum) her iş işlemek için 15 gün gerekiyor demektir. Bu açıkça akıllıca bir yapılandırma değildir, bu iş boyutuna şekilde çok büyük! İlk işçi AWOL (bir sonucu artı yeniden işleme zamanı iade etmediği pick up zamanı) gitmeli Bu bir iş işlenmiş olsun en az iki katı zaman alacaktı. İdeal olarak size ilk kayıp gitmeli, bir iş sürecini iki gün alacağını durumda tekrar ve en kötü geçiyor işler tutmak bu şekilde, kolayca her Cihaz uzun süre sonuna kadar temizlenmiş en az bir tam iş olurdu.
  2. İş çalıştırmak için 1 dakikanızı alacak: Bu işçilerin her iş çalıştırmak için yaklaşık 15 dakika sürer anlamına gelir. Bu başlangıçta idealdir görünebilir yaparken, öğle saatlerinde ek iş işleme kazanmak, kahve molaları, toplantılar, vs Bu senaryoda sistem diğer bölgelerinde yük koyar ve kendi sorunlarını tanıtır. Örneğin, öncelikle kurulum / işlem süresi oranı bu nedenle sistem verimliliğini kaybediyor, sağ aşağı gidecek. Ağ gün iş onların gün dong olan çeşitli işçi sinir bozucu personele sürekli akış iş bilgileri olacak. Ayrıca o çok ve düzenli bir çalışma küçük parçalar çok saçmak için olduğu gibi iş işleme sunucuda daha fazla zorlayacak gidiyoruz. İşinizi sunucu aşağı giderse Son olarak, bu durumda size iş sunucusu sorunlar yaşıyor olduğunu blissfully habersiz işleme devam verebilecek büyük işler tamamlanmamış ise çalışmaların büyük bir geri günlüğü oluşturmak için gidiyoruz.

Gerçekte, sizin ızgara kurulum için hiç kimse ideal bir yapılandırma olacak kadar böylece kullanılabilir kaynakları, iş türleri, iş gerçekleştirme süresi gereksinimleri, ağ yeteneği ve bağlıdır. Ancak bazı kurallar olacaktır:

  • Boyut işler böylece her işçinin 15 saatlik bir süre (en uzun olasılıkla boş zaman süresi) en az 3-4 işler aracılığıyla alabilirsiniz
  • Bu kurulum süresi işlem süresi (zihin yukarıdaki noktada rulman) ile karşılaştırıldığında oldukça önemsiz hale gelir böylece iş büyüklüğü ile oynayın.
  • Bir iş bunu tamamlamak için bekliyoruz zaman çift miktarı (belki daha az) tam olmazsa onun gitti AWOL ve başka bir işçi ile işlemeye başlayacağı varsayılmaktadır. Bu, sizin (sonraki iş başarısız olursa muhtemelen daha uzun) tamamlamak için bir iş üç kez normal uzunluğa kadar beklemek zorunda kalabilirsiniz demektir. Bu zamanı azaltmak istiyorum, ama çok fazla bir düzenli olarak işleme görevleri çoğaltarak başlayabilir olarak azaltmak için dikkatli olabilir.
  • İş dışında gereksinimleri mümkün olduğunca bağımsız olmalıdır. Iş sunucusu, örneğin, sadece her işin başında ve sonunda temasa geçilmelidir.
  • Ağınızda bombalamak etmeyin, bu iki olumsuz etkileri olacaktır, sizin gündüz personeli bağlantıları size ızgara ölçeklendirebilirsiniz olarak daha da kötüye gidecek bir sorun aşımından yaşanan olabilir ağ sinir bozucu ve sorunları kullanarak bulabilirsiniz.
  • Emin olun işler işçiler üzerinde çalıştırabilirsiniz. Işler çok bellek olursanız yoğun veya disk alanı yoğun işler durduruluyor başlayacak ve fark edeceksiniz tek şey hiçbir gerçek sebebi ile işlenen iş sayısı bir damladır.

İş ve gönderme Sonuçları

Bir işin sonuçları sunarken bu sonuçlar, mevcut işçi bir süre atıl olmuştur, özellikle eğer başka bir işçi tarafından teslim edilmemiş olması kontrol etmek önemlidir.

Sonuçları sonuç sayısını iş içindeki kayıtların sayısını eşleşen emin gönderildiğinde.

Daha önce de belirtildiği ve vurgulandığı üzerinde olamaz gibi, işi alma ve sonuç boyun hata toleransı oluşturmak. Işçilerin zamanların en uygunsuz anda askıya alma moduna geçer (ve muhtemelen) ve bunun için yiyecek ve içecek gerekiyor. Ayrıca bir kez daha sonuç verme uzakta soyutlayarak işinizi kontrol sistemi ile başa çıkmak çok daha kolay gelecek değişiklikler hitap yardımcı olacaktır.

Özet

Bu Bölümüa biz ne iş denetimi sunucusuna yapmak gerekiyor ve nasıl bir çok temel sistemi kurmak almak için baktım. Biz bir kontrol sisteminden iş ve en iyi nasıl çoğunu ofis ızgara sisteminin almak için işler yapılandırmak için almak için ele aldı. Bitirmek için, iş denetim sunucuya sonuçları geri göndererek bir paragraf ya da iki sunuldu.

  • Bir iş, kontrol sunucu işlerini yönetir ve tüm iş birimlerinin tamamlanmış olmasını sağlar
  • Seçmek / sonuç gönderme işinizi soyutlayarak biz çok sorun olmadan kontrol sunucu teknolojisi değiştirebilirsiniz
  • Onlar ağ altyapısı üzerinde çok fazla baskı olmadan hızlı ve verimli çalışması emin olmak için iş yapılandırın ve düzenli bir şekilde işleme görevleri çoğaltma olmadan.
  • Eğer rutin işlere hata toleransı ve hata checking inşa emin olun, işçilerin askıya alma ve sürdürme ve zamanların en rahatsız edici olabilir. Sonuçlar zaten başka bir işçi tarafından sunuldu olmadığını kontrol etmeyi unutmayın.

Bir dahaki sefere

Yılında part 3 bizim sanal işleme makine oluşturmak ve atıl zamanlı işçileri olmak için elimizden pencere makineleri kuracağım.

Zend Framework: Temelleri - İnceleme

By Cumartesi, 28 Kasım 2009 22:42

İşverenim son zamanlarda almak bizi geliştiricileri bir grup için ödenen Zend Framework: Temelleri kursu, burada ben başkaları için ders ilgili düşünce ve görüşleri özetlemek gerekir. Zaman kazanmak isteyenler için, işte özeti:

Bakmaya zamanım olmadı geliştiriciler için Zend Framework Bu dersin (Zend Framework: Temelleri) kilit alanlarda tanıtan ve devam etmek için yeterli bilgi veren çerçevesi iyi bir genel resim sunuyor. Çerçevesinde bakarak zaman geçirdim ve bir veya iki Öğreticiler takip edenler için bu dersin çok ötesinde sunmuyor.

Arkaplan

Ben oldum PHP 5-6 yaş civarında için geliştirici ve son 6 ay içinde bir bileşen olarak Zend Framework ile çalışmaya başladık. Ben geliştirilen ve / veya küçük Zend Framework bir çift bir geliştirici oldum MVC Ben dürüst olacağım sites.Â, Bir bakış kodlama noktadan diğer çerçeveler maruz kalma büyük miktarda olmadı ama birkaç geçirdim saat projenin web siteleri araştıran ve them. oldukça heyecan verici ve gidiş nereye muazzam olanaklar orada görünmektedir çerçeve ve Zend Framework çevreleyen topluluk değerlendirilmesi.

Ders Hakkında

Tabii 9 iki saat WebEx seans (ortasında 10 dakika ara ile) üzerinde teslim edilir. Zaman her zaman tartışma ile Zend tarafından sağlanan slaytlar bir dizi geçiyor harcanmaktadır. Bu öğretim konuşmak için bir mikrofon kullanabilirsiniz, ancak dürüst olmak gerekirse ben kimseye sohbet penceresi başka bir şey kullanmak görmedik. Ayrıca bir VMWare Ubuntu makine kod örneği vardır ve projeleri Zend Studio bir deneme sürümü kurmak sağlanır. Elbette lideri entegre VoIP çözümü üzerinden ya katılanlara görüşmeler veya sayıları pek çok dünya çapında arama birini kullanarak arayabilirsiniz.

Kurs süresince maddi bir örnek ziyaretçi defteri uygulamasına gitmeden önce Framework ve MVC deseni kısa bir bakış oluşur. Tartışma önyükleme, Zend_Application, Db Tablolar, Veritabanı erişim, Formlar, Filtreleme, ACL, vb Temelde için gerekli araçları sağlayan bir çalışan, her geçen gün bir temel site almak gerekir istediğiniz tüm konuları kapsayan, vb Validating gösterdi gidin ve (bu kez çok 'web sitesine bakın' tutarı yaptı rağmen) çerçevesinde daha gelişmiş olsun.

Zaman bazı örnekler kadar kod ve 'ziyaretçi defteri' ve basit 'wiki' uygulama geliştirmek için verilir. Şahsen ben kodu veya her uygulama sağlayan ve daha sonra gerçekten iyi bir öğrenme deneyimi vermedi yanında aslında bir kopyasını ne geliştirmek için bize soran hissettim. Ben benzer bir uygulama geliştirmek için tercih ettiği, ancak aynı olurdu. ifade etmek için bir kılavuz olmasının avantajı ile Örneğin uygulama için. Alternatif gösterici ile sıfırdan bina uygulamaları muhtemelen böylece kurs sonrasında özelliklerini bakabilirsiniz tüm sonra, çerçeveyi daha iyi bir anlayış vererek, neden ve nasıl hakkında daha fazla soru neden olur.

Son ders eğitmen yardım / rehberlik wiki uygulama üzerinde çalışıyoruz oluşuyordu. Tabii geri alındıktan sonra, bu Zend aslında görünüşte tabii bizim sürümü oldukça yeni olduğunu, çok ciddi geri aldığı ders boyunca birkaç kez vurgulanmıştır. Şirketin diğer geliştiricilerin bazıları yakında bu yüzden bu olmuşsa görmek ilginç olacak dersi alan edilecektir.

Tabii tarzı katılımcı ve eğitmen arasında geri ve işbirliği için izin, resmi değildi. Elbette lideri dostu idi, cana (e-posta adresleri sorular için paylaşıldı) ve slaytları yaptığı sunumda ederken biraz sallantılı oldu çerçevesinde tam yetkili görünüyordu. O açıkça yerine ders öğretmek öğretilen birinden daha düzenli bir çerçeve kullanılır birisi oldu, ben bu konuda 'gerçek dünya' deneyimi sevdim.

Genel Hissediyorum

Bazı bakımlardan ben zaman kaybı, bazılarında ise çok kullanışlı olduğunu kursunu buldum. Umarım açıkça karşısında benim nedenlerle alırsınız, belki düşünce ya da faydalı bir geri besleme (bu pek mümkün değildir bana bilerek!) Için bazı gıda sağlamak.

Kendim için bu dersin çok düşük bir seviyede amaçlanmıştır. Hızlı başlangıç ​​kılavuzu ile gitmiş olması, Eylem Rob Allen'in Zend Framework okumak ve biraz da ben gerçekten çok fazla bir şey alamadım çerçeve ile çalıştı. I quickstart sonuna gelen pick up ve ilave beceriler geliştirmek için kurs severlerdi.

Söyledi, kurs başlığı açıkça devlet "Zend Framework: Temelleri" yapar ve bu yönüyle tabii bunu yapmak için yola koyulur ne ulaşır. Çerçeve içine bakarak zaman geçirdim değil geliştirme ekibinin diğer üyeleri coşkuyla her oturum bitmiş ve gerçekten görmek iyi oldu, sorular sordu.

Tüm kayıp değil, o çerçevenin temel ayrıntıları teyit zaman harcamak ve ben% 100 olmadığı yerlerde birkaç soru sormak için iyi oldu. Ben her gün oturup, ben değil (Eğer şirket olduğunu kabul hayal edebiliyorum? :)) Başka türlü yapmak mümkün bir şey çerçeve ve gelecek projeleri kullanarak kodlama düşünmek zorunda olduğunu da zamanı gelmişti. Son olarak da kurs (e-posta ile de olsa) katıldığı söylemek Zend güzel bir sertifika almak.

Zend Framework Sertifikasyon

Bu kurs sırasında, bu sertifika için bana hazırlayacak akla geliyor tutulur bir soru oldu? Hızlı, kolay yankılanan bir yok olduğunu. Dersin öğretim sertifikasyonu için gerçekten günlük olarak bir gün framework kullanarak ve çok rahat ve kullanımı ve metodolojileri güvenmeli gerektiğini ek tavsiyelerle birlikte olduğu oldukça açıktı.

Özet

Yukarıda yazdığım her şeyi göz önüne alındığında, iki kolay mermi noktalarına her şeyi özetlemeye olacak:

  • Zend Framework Yeni: Bu kurs tam size beklediğiniz, o size inşa edebilirsiniz hangi temeller üzerinde çerçeve ve iyi bir topraklama için güzel bir tanıtım da yok. Tabii geliştiriciler arasında çerçeve için ilgi ve heyecan oluşturmak gibi görünüyor.
  • Zend Framework el: bu çok temel bazı desteklemek güzel iken ben zaman, çaba hissettim ve daha iyi yerlerde harcandı olabilir fonlar ders almak. Bu see Zend sonraki seviyeye geliştiriciler çekmek için yeni bir üst düzey Ders oluşturmak için güzel olacak -. En az belgelendirme ve ötesinde standart ben hemen kayıt edeceğini için.

Zend Framework kullanarak DB oturum açın

By Salı, 14 Nisan 2009 21:06

Ben bir site almak ve çalışan ettik Zend Framework , her şeyi kundakçı / FirePHP için güzel oturum böylece bir sonraki adım DB oturum oldu. Ben de kullanıcı arayüzü gibi framework kullanarak bazı ek bilgileri oturum istedi, tarih ve saati almak ve değişkenler göndermek. Yani burada biraz yaptım el uzatmak için:

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

$ = Array ('öncelikli' => 'öncelikli', columnMapping
'Message' => 'Mesaj',
'Datetime' => 'damgası'
'User_agent' => 'user_agent',
'Get_vars' => 'get_vars',
'Post_vars' => 'post_vars',
'Site' => 'site'
);

$ WriterDb = new Zend_Log_Writer_Db ($ db, 'error_logging', columnMapping $);
$ Logger = new Zend_Log ($ writerDb);

$ Logger-> setEventItem ('datetime', date ('Ymd 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 ('site', SITE);

$ Logger-> info ('Bilgilendirici mesaj');

$ ColumnMapping dizinin anahtarları benim sütun adları nerede. 'Öncelik' ve 'mesaj' anlaşıldığına göre Zend_Log_Writers ancak ek alanlar bana bazı ek bilgiler vermek için eklenmiştir.

Açıkçası bu, diğer yazarların ilk :) birini kullanarak çalışma günlüğü olduğunu varsayar













Tarafından Panorama Tema Themocracy

Şimdi online 5 visitors
4 misafir, 1 bot, 0 üye
Bugün Max ziyaretçiler: 09:36 13 UTC ÖS
Bu ay: 23-05-2012 03:33 40 UTC ÖS
Bu yıl: 27-02-2012 09:56 de 69 UTC ÖS
Bütün Zaman: 28-03-2011 10:40 pm UTC de 130