Categoría: Informática

Apache proxy con autenticación dixestivo

Por Watkin Steven Lloyd , 27 Marzo 2011 12:57 domingo

Este post ha rapidamente amosar-lle como configurar o proxy con autenticación básica usando Apache .

No meu caso eu quería ter a transmisión bit torrent client dispoñibles en internet para que eu puidese comprobar e adminster torrent descargas estado (como a última versión de Fedora), sexa necesario. Envío -se xestiona o seu cliente web na porta 9091 por defecto. No canto de se preocupar abrir máis portas no meu cortalumes e engadir a porta reenvío regras nessecary eu decidimos que eu acabara de proxy as chamadas a través da transmisión vía apache con mod_proxy .

Siga a ler 'proxy Apache con autenticación Digest' »

Zend Framework: Render Se existe

Por Watkin Steven Lloyd , domingo 12 decembro 2010 16:19

Resumo

Este é un post rápido para falar sobre a perspectiva de axuda, sinxela e que creei para prestar un Zend Framework arquivo de estilo vista só se existe. Xeralmente pedir o código para procesar un arquivo que non existe publicar unha excepción. Por iso creei unha capa para o Zend_View: método render () que determinou o ficheiro existe e se fai así, se non, simplemente amosa unha cadea baleira.
Continúe lendo "Zend Framework: Render Se existe '»

Zend Certified Engineer (ZCE) 5.3

Por Watkin Steven Lloyd , xoves 30 de setembro 2010 21:00

Co lanzamento oficial do Enxeñeiro Zend Certified ZCE) programa (de 5,3 pensei en dar a miña impresión rápida do que eu pensaba do exame.

Un pouco sobre min: se introduciu por primeira vez para PHP preto de 7 anos e estou traballando profesional en PHP desde 2006. Eu actualmente traballo para unha emocionante start-up chamada Brightpearl baseado en Bristol, Reino Unido , a produción integrada de CRM, contabilidade, comercio electrónico e software. Eu aínda non teñan obtido calquera das cualificacións ZCE anterior. Eu actualmente se desenvolven na serie 5.2.x e realmente non teño usado ningunha das características específicas 5,3 (estou esperando Zend Framework 2 e Doutrina 2) no desenvolvemento dos meus proxectos.
Siga a ler 'Zend Certified Engineer (ZCE) 5.3' »

Zend Framework Configuración por Esquema Module - Seguimento

Por Watkin Steven Lloyd , martes 16 febreiro 2010 08:48 pm

Seguindo ao meu post anterior sobre a configuración do esquema por módulo base para o Zend Framework , eu teño actualizado o código para esixir menos entón a configuración de antes (non que era necesario máis que algunhas liñas na súa configuración da aplicación!).
Siga a ler 'Zend Framework por módulo Esquema Settings - Follow Up' »

Office Grid Computing utilización de ambientes virtuais - Parte 4

Por Watkin Steven Lloyd , venres 04 decembro 2009 11:59

Introdución

Eu traballo nunha empresa onde realizar traballos de procesamento por lotes moitos millóns de rexistros de datos de cada día e eu teño pensado recentemente sobre todas as máquinas que se senten ao redor de cada día sen facer nada por varias horas. Non sería bo se puidésemos utilizar estas máquinas para reforzar o poder de procesamento dos nosos sistemas? Neste conxunto de artigos que eu vou mirar para os potenciais beneficios da contratación dunha oficina da rede usando ambientes virtualizados.

Na parte 3 , creamos a nosa máquina de procesamento virtual e configurar o Windows para facer máquinas de traballadores a tempo ocioso.

Executando o código máis recente

Inevitablemente, despois de crear a lóxica de negocio traballadores vai cambiar, os erros se atopan, máis eficiente código máis rápido serán producidas deixando así os seus traballadores se sentaron arredor de procesamento de datos usando o código antigo fedorento . Como entón é seguro que estamos sempre usar a versión máis recente e dos nosos scripts de procesamento?

Existen algunhas formas simples moi doado nós poderíamos facer iso, o truco, con todo, é reducir o poder de procesamento e tráfico de rede para acadar isto. Imos comezar a máis simple das solucións e mellora-lo lentamente, ao longo dun par de iteracións.

O primeiro método sería simplemente conectarse ao noso servidor de control de traballo (vía samba, FTP ou similar) e tire abaixo a versión máis recente de código. Non é moi eficiente, pero só pode facer o traballo. Imos mellorar un pouco, como sobre a creación dun script con rsync e que cada vez en vez? Tamén podes Que tal poñer o noso último programa de procesamento en subversión checo o código inicialmente e despois só actualizar o noso código en cada execución ( svn update )?

Ao final, pode acabar un script (chamado polo cron cada 10 minutos), que parece tan sinxelo coma isto:

  #! / Bin / sh
 se ps ax | grep-v grep | grep php > / dev / null
 a continuación,
     echo "O traballo está a procesar actualmente, con saída
 máis
     echo "O traballo non está en execución, comezar agora"
     cd / camiño / a / de traballo / copia
     svn update
     yourJobProcessingScript.php php
 fi 

Agora podemos estar seguro de que cada rolda estamos sempre executando o código máis recente. Estamos garantindo a este, a actualizar a nosa base de código cada vez que facemos unha carreira e reducindo o tráfico da rede, transferindo só as diferenzas de ficheiros a través da nosa rede.

Na miña configuración de demostración, eu fixen exactamente como descrito anteriormente. Subversion foi instalado no meu servidor de procesamento de traballo e eu simplemente tirou o último código dunha rama 'traballador' usando 'svn update ". Eu tamén engade unha etiqueta número de versión para o meu programa de transformación que foi devolto á base de datos como parte do retorno de resultados. Así puiden ver que o meu código estaba a ser actualizado cada vez que eu copiar o meu baúl é dicir, ramo de traballo que estaba definitivamente a execución do script máis recente transformación.

Empregando os datos máis recentes

Se o procesamento do traballo fai uso de fontes de datos, a continuación, nalgún momento estes van ser actualizados. A menos que chamar súas fontes de datos en unha base moi raros que está indo a inundar a rede con tráfico así que os traballadores comezan a funcionar levando todo a un impasse. Para a miña solución Eu decidir que quere pasar miñas fontes de datos en todo cos meus VMS.

Manteña está cabalos alí! E se os datos das miñas fontes son enormes? Ben, este é realmente un caso de cantos datos que estamos falando? Pode ser máis rendible para instalar un disco duro adicional unidade maior en cada máquina que mercar un servidor de procesamento adicional. Esta é unha cuestión de orzamento e ata a empresa decidir. É quizais a que as súas fontes de datos son tan grandes que é só inviable manter esa cantidade de datos nas súas máquinas de traballo. Nese caso, o que faría? Así, poderíamos mirar para chamar a un servidor de datos locais, pero isto pode causar problemas coa rede. Neste caso, un sistema de rede como esta pode converterse en irrealista para incluir no seu ambiente de escritorio. Pode ser tamén que vostede pode ver estratexias alternativas de execución, por exemplo, só chamando os traballadores 20:00-06:00 cada noite e / ou fonte de datos solicitudes de iguais.

Pasando permite dicir que o noso volume de datos de fontes de 100GB de datos. Ben, si que é un pouco de datos para cambiar na rede nunha actualización. Como seguro que temos a copia máis recente dos datos neste caso? Rsync é unha posibilidade, pero persoalmente creo que executando o seu último fonte de datos no servidor de procesamento de emprego e como facer esa configuración como un mestre na replicación (cun ​​rexistro de bin longa e agradable) pode ser o camiño a seguir:

replicación Ao establecer cada un dos seus traballadores como un escravo para o traballo de actualizacións do servidor de control para as fontes de datos vai pingar moi ben no seu traballo sen un gran aumento na actividade da rede (que é menos que realizar unha actualización de datos enorme e todos os seus traballadores patada no ao mesmo tempo). Isto ten vantaxes sobre o rsync en que non ía estar dunha longa pausa antes de cada traballo, como as actualizacións da base de datos, o mysql servizo no seu traballo continuamente actualizar os seus datos, o procesamento continúa.

Isto é como eu configurar meu servidor de demostración. Para configurar a replicación seguín a guía na páxina web de MySQL ( Configurar replicación ) e en 20 minutos tiña o meu traballo inital replicar o traballo conxunto de datos de control servidores. Para cada traballador adicional a configuración de replicación e proceso de traballo, cada vez que a máquina virtual foi copiado.

Resumo

Nesta sección do artigo, vimos como é fácil e indolora, é manter o seu código de procesamento ata a data por rsync using ou subverion (SVN) para facer o traballo e reducir o tráfico da rede no mesmo time. Tamén discutir como para manter a súa información de fonte de datos up-to-date, permítelle escorrem para cada un dos seus traballadores. Así, zona que garanta a manter-se coa lóxica de negocio e información no noso sistema de rede de oficina. Non será, obviamente, moitas alternativas para a execución destas tarefas, pero aquí foron dous exemplos simples para amosar como é doado unha solución está por vir.

A próxima vez

Na parte final desta serie, apropiadamente chamado Parte 5 , imos discutir a implantación deste sistema para. Vou resumir o que foi aprendido eo que eu puiden crear.

Office Grid Computing utilización de ambientes virtuais - Parte 3

Por Watkin Steven Lloyd , venres 04 decembro 2009 23:37

Introdución

Eu traballo nunha empresa onde realizar traballos de procesamento por lotes moitos millóns de rexistros de datos de cada día e eu teño pensado recentemente sobre todas as máquinas que se senten ao redor de cada día sen facer nada por varias horas. Non sería bo se puidésemos utilizar estas máquinas para reforzar o poder de procesamento dos nosos sistemas? Neste conxunto de artigos que eu vou mirar para os potenciais beneficios da contratación dunha oficina da rede usando ambientes virtualizados.

Na parte 2 nós miramos os traballos serán executados nun servidor, e cantos empregos deberían configurarse para acadar maior cantidade de procesamento, mentres que cada traballo é procesado sen falla.

Configurar o traballador - ou servidor limpa

O paso seguinte no proceso é a creación dos seus traballadores virtuais. Polo que eu vou usar unha instalación do Center usando o VirtualBox. Eu estou indo a instalar MySQL e PHP no servidor, tamén coñecido como un coxo (Li nux, m ySQL, P HP) Server (Talvez teña feito este nome).

  • Instalar VirtualBox na súa máquina Windows (sigan o enlace)
  • Fai a descargar e instalar o Center (última revisión 5.3) dentro dunha máquina virtual creada

Non adianta ir para ese probablemente hai 1,000 's de tutoriais por aí (ok, aquí vai un: Creando e Managing máquina virtual no VirtualBox Center ). O punto importante a nota que eu supoño que é o que eu chamei meu GridMachine máquina virtual.

No que se refire as miñas opcións do cliente e virtualización do sistema operativo non hai razón convincente para cada gran opción. VirtualBox é algo que eu uso na miña máquina na casa e é apoiada polos tres principais sistemas operativos. Eu escollín Center como un bo sistema operativo estable e eu uso o meu propio servidor web. Son un gran crente nas ferramentas certas para o traballo (aínda que eu estou aplicando "utilización máis rápido e sinxelo para ti" mentalidade aquí), entón se sistema operativo OS X é executado o código máis rápido e máis eficiente utilización que, en vez:)

É importante asegurarse de que a VM usa DHCP, se non, para cada nova máquina virtual que ten que ser configurado por separado, que é algo que non want.By usando DHCP non precisamos configurar as definicións de rede para as máquinas individualmente traballador, DHCP man fóra IPs para ti. Polo tanto, pode copiar a máquina virtual sobre o escritorio sen preocuparse definición de cada un para arriba (é dicir mellora a módulos e reduce a administración do traballador).

O proceso que debe ter como obxectivo sería obter unha nova máquina física, instalar o VirtualBox, e despois practicamente implantar a imaxe virtual, sen moito máis. Pode ser sabio para instalación todos os seus traballadores nunha sub-rede diferente para que poida polo menos ver cantas máquinas están funcionando. Tamén cómpre configurar as súas máquinas nun arrendamento a longo ou ilimitado DHCP.

Como realizar traballos sobre o traballador

Esta é unha área interesante e existen varios métodos válidos para os traballos de procesamento do traballador. Aquí vou discutir os dous máis obvios:

  • Perpetuamente executar o script: Un script, sexa un shell script ou un script PHP é executado xa sobre o traballador e é executado como parte dun loop infinito. Eu descontado ese método como un fallo do guión e, potencialmente, os traballadores deixarán de funcionar sen algún tipo de intervención.
  • Cron execución do script en base a: cada X minutos o cron servizo inicia unha chamada para a escritura para facer as cousas andaren. Sen algunhas probas este podería conducir a moitas moitas copias do seu guión de traballo en execución.

A miña decisión foi de ir co cron que comeza un script cada 10 minutes. meu script realiza as seguintes tarefas:

  1. Faga unha lista de procesos e grep isto para 'php'. Se non está, desde logo continuar.
  2. Chamar seu código de traballo, no meu caso iso sería algo baseado en PHP
  3. script traballador completa súa execución
  4. Preparado para ir de novo na seguinte chamada adecuado

Meu script bash é algo así como o seguinte:

  #! / Bin / sh
 se ps ax | grep grep-v |> php grep / dev / null
 a continuación,
     echo "O traballo está a procesar actualmente, con saída
 máis
     echo "O traballo non está en execución, comezar agora"
     yourJobProcessingScript.php php
 fi 

Nota: o de eco son case completamente inútil, pero pode axudar a seguinte persoa que vén para tratar de editalos.

Isto conclúe a configuración da máquina virtual traballador, rápido, sinxelo e fácil de copiar a cada nova peza de hardware que se recibe. A "experta" do sistema de rede realmente non é visto no sistema operativo, é todo que ver co código creado para o emprego de proceso, a configuración do traballo, e en garantir que o traballo é executado cando (ou sexa, axeitada cando a máquina está ociosa ).

Configurar Windows para arrincar Traballadores

A primeira tarefa é elaborar a orde necesario para realizar a máquina virtual dende a liña de comandos de Windows. Se instalou o VirtualBox no lugar estándar e nomeou o seu GridMachine traballador, entón o comando necesario para cargar o teu traballo é:

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

Con todo, para executar o script nun estado "sen cabeza", temos que usar:

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

Isto pode iniciar a máquina virtual sen a interface gráfica e permitir que salva o estado correctamente. O segundo argumento desactiva RDP polo que non entra en conflito con Windows RDP, ou darlle unha mensaxe sobre a escoita no porto 3389. O nome da máquina virtual é sensible caso!

A continuación, precisamos establecer fiestras ata comezar a nosa VM traballador cando a máquina estea ociosa. Para iso (en Windows XP) ten que ir a Inicio -> Programas -> Accesorios -> Ferramentas do Sistema -> Tarefas programadas conforme a continuación:

tarefas programadas

A continuación preme en "engadir tarefa programada 'seguido por ver a engadir un programa personalizado. Navega ata o script VBoxManage e prema en Aceptar. Programa a súa tarefa para calquera das opcións (imos cambiar isto nun minuto) e continuar. Despois de saltar as fiestras seguinte pantalla pode pedir que quere realizar esta tarefa, eu suxiro que sexa Administrador, ou crear un novo usuario privilexiado. Lembre que non queremos interferir coa conta persoal estándar na máquina en calquera punto. Prema ao lado e amosar opcións avanzadas de selección para esta tarefa.

Para a fin do TextBox executar engadir 'startvm' GridMachine cadea noso e garantir que só funcionan cando conectado queda desmarcada. Visita a tarefa próxima programación e cambiar o calendario drop down a opción "cando ausente", seleccione a cantidade de tempo que lle gustaría que a máquina estar ociosa antes de pasar á seguinte guía.

Finalmente, desmarque a opción que afirma parar a tarefa se foi correndo X cantidade de tempo, pero non marca a opción de deixar a tarefa a máquina non está ociosa.

programa

É iso aí, a continuación, para a configuración do servidor windows!

Resumo

Nesta parte temos un conxunto dunha máquina virtual para actuar como un traballador, así como a forma en que chamamos e comunicar os nosos scripts de procesamento de traballo (para min un script PHP). A partir de aquí, veremos como configurar o noso copias de Windows para iniciar a máquina virtual en modo Headless cando o ordenador está ausente, e salvar o seu estado cando o usuario retomar o uso da máquina. Esperamos que neste momento está a ver como é simple crear un tal sistema e están ansiosos para comezar algunhas experiencias van-se!

A próxima vez

Na parte 4 , imos estar a ollar a utilizar ferramentas para asegurar que está a empregar a versión máis recente de código e as fontes de datos para que os resultados obtidos son sempre actualizados coas últimas información de empresas e da lóxica.

Office Grid Computing utilización de ambientes virtuais - Parte 1

Por Watkin Steven Lloyd , venres 04 decembro 2009 11:23

Introdución

Eu traballo nunha empresa onde realizar traballos de procesamento por lotes moitos millóns de rexistros de datos de cada día e eu teño pensado recentemente sobre todas as máquinas que se senten ao redor de cada día sen facer nada por varias horas. Non sería bo se puidésemos utilizar estas máquinas para reforzar o poder de procesamento dos nosos sistemas? Neste conxunto de artigos que eu vou mirar para os potenciais beneficios da contratación dunha oficina da rede usando ambientes virtualizados.

Como PHP desenvolvedor vou utilizar as ferramentas que eu uso cada día é dicir, Linux, MySQL , PHP, VirtualBox e Subversion (SVN). Con todo espero que esta guía pode adaptarse a outras linguaxes e tecnoloxías tan ben.

A solución que fornecen será moi vagamente baseado no tipo de tratamento que necesitamos para acadar, isto pode non ser verdade o artigo íntegro como eu vou cambiar as cousas para a sinxeleza, ou para producir escenarios de uso máis interesante.

Estes ambientes virtualizados serán executados en máquinas Windows pois é iso que a maioría das oficinas de execución. O tratamento que as máquinas de oficina non debe interferir co persoal utilizando estes aparellos, deben non necesitan de mantemento na máquina, e ser facilmente salientables para novas máquinas que estean dispoñibles. Ademais, novas máquinas virtuais non require ningún configuración adicional que esta reduce a módulos ea facilidade con que o sistema de rede pode ser prorrogado.

Por que implantar un Grid Computing Office?

Nun principio, pode estar pensando, porque non pode utilizar un recurso de computación en nube como o EC2 de Amazon plataforma ? Ben, as razóns poden ser varias, como por exemplo:

  • Non vai entregar os datos correctos para un ambiente de computación en nube
  • Non podes publicar certos datos nun ambiente de computación en nube, por motivos legais (por exemplo, os datos que saen do país), posiblemente por razóns legais, por exemplo, rexistros do SNS.
  • Quere manter as súas unidades de procesamento de preto e ten control total sobre o hardware tamén
  • Non ten os fondos do proxecto a executar instancias nube
  • Súa oficina non ten unha conexión a internet e, polo tanto, que non se pode utilizar un recurso nube
  • Non gusta de choiva, as nubes de choiva suxiren, polo tanto, a manter ben lonxe

Estou seguro que a lista podería seguir, pero eu creo que é suficiente de momento.

Vantaxes dun Grid Computing Office

Ben, imos facer algunha matemáticas (e ao grande verdadeira física permite facer algunhas suposicións varrer). Imaxina que tes un servidor de procesamento de grandes beefy execución de 100 empregos ao día. No seu despacho, ten 50 máquinas que están ociosas 16 horas ao día, cada unha destas máquinas é do 10% tan potente como o seu procesamento robusto Sever. (Todos os resultados aquí son redondeados para aumentar o rendemento subestimar).

Así, unha máquina * 10% * de enerxía 2 / 3 = 0,067 é dicir, o tempo de procesamento de escritorio nun tempo ocioso se puido procesar a 6 total de empregos ao día.

Se agora escala isto leva 15 escritorios ocioso para procesar tantos postos de traballo ó día que o servidor principal de procesamento fai.

Así, na nosa oficina finxir de 50 máquinas, puidemos ampliar o poder de procesamento do servidor a partir de 1 até 4 servidores de procesamento completo, ou ben sexa o procesamento de 400 empregos ao día en lugar de 100.

Repare, por ningún investimento en novo hardware da súa empresa acaba de ampliar a súa capacidade de procesamento en solar 4 veces! Potencialmente, vai aumentar o seu consumo de enerxía, pero a maioría dos ambientes de escritorio que eu teño de máquinas son xeralmente deixadas pola noite mesmo, entón podería ver isto como unha iniciativa verde.

Outras vantaxes tamén significa que o investimento en novos (ou actualizado), servidores de procesamento pode ser adiada se as máquinas da súa oficina son suficientes e que, ao mellorar o poder das súas máquinas de oficina da súa rexa de oficina faise máis poderosa automaticamente.

Tecnoloxías

O que precisa? (Ou máis correctamente o que eu uso):

  • máquinas de oficina Idle (no meu caso un portátil Windows XP reposición de idade)
  • VirtualBox (ou software de virtualización de cliente)
  • Unha máquina virtual con PHP, MySQL rodando running cortar unha OS, eu estou chamando estes limpa meus servidores:)
  • Traballo para realizar
  • Traballo de servidor (pode ser outra máquina virtual en algún lugar)

Emprego típica

Tipo de empregos que este sistema está deseñado para ser executado é o seguinte:

  • Sistema recibe unha lista de datos sobre a que necesitamos para atender e devolver resultados
  • Correspondencia implica comprobar / buscar diversas fontes (bastante estática) de datos
  • Resultados das fontes de datos pode esixir unha validación adicional, que se funden, comprobación de fontes de datos adicionais en resposta aos resultados
  • Os datos obtidos con rexistros correspondentes, debidamente validados e procesados
  • Cada rexistro nun traballo é independente do resto

Entón, basicamente estamos mirando para realizar tarefas que requiren unha mestura de investigacións de base de datos e algunhas procesamento de números, un escenario moi común en un ambiente de negocios.

Grid solucións non son só vantaxes para o procesamento de traballos deste tipo. Basicamente, calquera proceso que está dividida en unidades independentes poden ser executados en paralelo. Vexa esta wikipedia exemplos e máis información: Grid Computing , pero un par de exemplos famosos son Seti @ Home e BIONC . Hai cadros para a execución de redes de computación, e estes valen a pena ollar.

O que imos conseguir?

Ao final destes artigos, espero mostrar que a implantación dunha rede de oficina non precisan ser moi cara ou demorada. Eu estou indo a discutir:

  • Configurar o sistema de control de traballo, configuración de traballo
  • Creando unha máquina para procesamento virtual apropiado
  • Como configurar o sistema nunha máquina Windows
  • Garantir que está a usar o último código e datos
  • Implantación e Benchmarking
  • Mirando cara o futuro

Vou ser a construción (ok eu constrúe, entón escribiu isto) un exemplo de aplicación para probar os conceptos nunha máquina local usando o Windows XP e miña máquina virtual 'GridMachine. Meu servidor de control de traballo será a miña principal da máquina que roda o Fedora 11 .

Iso non é de forma significaba para demostrar un sistema totalmente funcional robusto, o seu significado máis unha demostración e discusión mostrando que estas cousas poden ser realizados nun espazo relativamente curto de tempo ea custos reducidos. Síntase libre de me enviar comentarios, correccións ou melloras e vou facer o meu mellor para manter este artigo actualizado para corresponden.

A próxima vez

Na parte 2 vou comezar por mirar para o sistema de control de traballo, e ollar como os traballos deben ser configurados para acadar maior cantidade de procesamento, mentres que cada traballo é procesado sen falla.

Office Grid Computing utilización de ambientes virtuais - Parte 2

Por Watkin Steven Lloyd , venres 04 decembro 2009 11:23

Introdución

Eu traballo nunha empresa onde realizar traballos de procesamento por lotes moitos millóns de rexistros de datos de cada día e eu teño pensado recentemente sobre todas as máquinas que se senten ao redor de cada día sen facer nada por varias horas. Non sería bo se puidésemos utilizar estas máquinas para reforzar o poder de procesamento dos nosos sistemas? Neste conxunto de artigos que eu vou mirar para os potenciais beneficios da contratación dunha oficina da rede usando ambientes virtualizados.

Na parte 1 eu dei unha visión xeral do sistema e as tecnoloxías que vai utilizar, así como discutidos algúns dos posibles motivos polos que desexa crear unha rede de oficina.

Job Control

Se indo para ser executado emprego, entón vai ter algunha maneira para administra-los. O seu sistema de control do traballo (no seu servidor de traballo) ten que ser moi ben pensada antes de intentar realizar unha rede de oficina. Polo tanto, en primeiro lugar, cales son as tarefas de un sistema de control do traballo:

  • Distribúe tarefas, a petición dos traballadores
  • Diga traballadores que tipo de traballos para seren executados
  • emprego Track
  • Asegúrese de que os traballos só son executados unha vez
  • Proporcionar datos de emprego aos traballadores, ou, polo menos, dicirlles onde obtelo

O sistema tamén debe ser extensible, unha solución que funciona de momento nun único caso pode ser prorrogado para executar varios tipos de traballos que a empresa ve o valor nunha solución de rede. Por exemplo, os traballos poden gañar prioridades, máis de un tipo de traballo pode haber (ou sexa, varias bases de código), eventualmente pode incluso realizar varias máquinas de traballo diferentes que están optimizados para cada tipo de traballo (aínda que isto non se afastar do "traballador xenérico 'idea). Sempre intento pensar no futuro cando os sistemas en desenvolvemento, unha visión a curto prazo pode levar á frustración a longo prazo e tempo de desenvolvemento aumentou.

Traballo de servidor

Imos ter que un lugar para o noso traballo de control, este debe ser o único sistema na súa rede que ten un localizador de recursos fixos, sexa un enderezo IP, nome do servidor da URL (mediante DNS interno), etc Isto é porque os traballadores teñen que saber onde buscar emprego, os traballadores necesitan atopar o sistema de control de traballo (non o sistema de control do traballo atopar os traballadores).

O servidor de traballo en si non ten realmente unha tarefa complicada (nun sistema básico de calquera maneira), el que almacenar unha lista de postos de traballo, distribuír tarefas, recibir os resultados, e posteriormente gardalas para a súa posterior recuperación. Como estas pezas (como "man de emprego") son definidos pode ser moi básico. Máis tarde, podemos estender o sistema para incluír unha interface de administración para engadir, editar, borrar, suspender os traballos, pero iso está alén deste exercicio.

Non hai ningunha razón, entón, que o teu servidor de emprego non podería ser unha máquina virtual rodando dentro do seu servidor de procesamento principal, sempre que non drena moitos recursos del. O servidor de traballo pero non necesitan de alta dispoñibilidade, se vai para abaixo unha noite de venres vai perder toda unha semana de tratamento, pode custa-lle un par de semanas por valor de tempo de procesamento (en comparación co seu servidor de procesamento principal só) . Pode querer poñer o seu servidor de traballo nun ambiente de balance de carga para alta dispoñibilidade.

Configuración básica

A configuración básica para o noso servidor de traballo estará composto por que eu estou chamando unha de Limp meus servidores (que é Li nux, ySql m, P HP). O código execución traballadores Thea vai realmente traballar para fóra o traballo que pode realizar, interactuar con bases de datos co traballo do sistema de control. Posteriormente, poderiamos crear un web service e realmente a entrega dos traballos en vez de ter os traballadores fan o traballo duro en si, senón por agora imos seguir usando o principio KISS (Keep it Simple, Stupid!).

Entón, imos crear tres MySQL táboas para xestionar os traballos. Estes serán «emprego», «jobRecords`, e `jobResults».

táboa de empregos Aquí está a usar o SQL Buddy un pouco grande alternativa ao phpMyAdmin só porque é máis fácil de instalar no Center (para os outros, ver: 10 grandes alternativas ao phpMyAdmin )

Esta táboa está composta de 5 campos simple,

  • ID: Identificar o traballo
  • Nome: Podería ser unha referencia de cliente, ou calquera número de outros identificadores
  • Estado: Debe saber que o traballo está, por exemplo,
    • 0: Non iniciado
    • 1: Peguei
    • 2: Rematada
  • started_by: Quen empezou a facer o traballo? Isto non é totalmente necesario, pero é bo ter. Eu suxiro seguimento dos traballadores polo seu enderezo IP na rede
  • started_at: Cando o traballador iniciar o traballo? Ao seguir os traballos que non teñan completado no prazo de X cantidade de tempo que sabemos que cómpre tomar o traballo, unha vez máis e comezar a procesar por outro traballador. Traballadores poden deixar o procesamento / go off-line para calquer número de razóns, falta de enerxía, accidente, perda de rede, etc

É doado coma este cadro podería ser estendido con algúns campos adicionais para permitir estatísticas de seguimento, unha columna horario de finalización para ver canto tempo o traballo tomou, un contador para ver cantos traballadores colleu o traballo (obviamente iso precisa tenden a 1), a prioridade dos traballos, a lista pode ir sobre e sobre. En escenarios máis complexa tarefa sería posible especificar a cantidade de memoria que o traballador terá acceso ó (e, polo tanto, utilizar só os traballadores máis axeitados), ou mesmo o tipo de traballo sería necesario.

Permite engadir un exemplo de algúns traballos:

emprego exemplo

A seguinte táboa de novo é ben sinxela de entender, estes son datos que o noso traballo. Están ligados á mesa de traballo por medio dunha columna `jobs_id». A composición desta táboa depende moito dos datos que cómpre proporcionar aos seus traballadores, imos facer un exemplo moi sinxelo, onde temos catro columnas:

  • gravar o id: identificación do
  • nome: é o nome da persoa
  • enderezo: o enderezo Persoa
  • jobs_id: O traballo de identificación de que este rexistro é ligada á

A táboa a terceira e última consiste nunha táboa de resultados, ten case a mesma cousa compoñen a nosa táboa de rexistros, e coa adición de algunhas columnas poderían ser parte da táboa de rexistros:

  • mesa de traballo job_record_id: Ligazón ao resultado do
  • Resultado: os datos do resultado

... E iso é todo o que precisa para o control de traballo! (Aínda que a un nivel moi básico) No meu caso estou vinculado a outra mesa onde os meus datos para procesar foi localizado, pero isto pode só como facilmente ser un ficheiro, os parámetros para executar o código de simulación, o seu nome.

Seleccionando un emprego

Como dito anteriormente, os traballadores van facer o noso traballo de xestión para nós, por agora, para todo o que necesitamos realmente facer é atopar un traballo que precisa de tratamento e obter a información. Como fariamos iso? Ben, escollemos os nosos criterios de selección de emprego e buscar emprego, no SQL eu fixen o seguinte:

  1. Cara todos os traballos que non son marcadas como concluídas, mais do noso traballador e axustar-las (__ME__ substituír cun identificador, máis fácil sería a dirección IP):
      Update `jobs 'SET status` = 0 Where status = 1 `E` `= started_by __ME__; 
  2. Mediante o noso criterio de selección de emprego, elixe unha tarefa e dicir ao sistema de control que este traballador está lidando con iso:
      Update `jobs 'SET status = 1`, `` = started_by __ME__, started_at `` = Now () Where status `= 0 OR
     (`Status` = 1 AND `started_at`> DATE_SUB (Now (), intervalos X HORA)) ORDER BY `id` ASC; 

    Ao incorporarse os traballos que non devolveu resultados en X cantidade de tempo que asegurar que todos os traballos son executados en caso de un traballador deixar de funcionar ou ausentarse sen licenza.

  3. A continuación cara os detalles emprego seguido polos rexistros de si:
      SELECT * FROM `Where` emprego started_by `= __ME__ LÍMITE 1;
     SELECT * FROM `job_records` Where `id` = __JOBID__; 

Tras a conclusión do traballo que inserir rexistros noso resultado e marcar a tarefa como rematada. Lembre que os traballos poden suspender / retomar en calquera momento, permitir algunha robustez no seu guión. Pode ser que a tarefa suspende a medio de actualizar o sistema de control de traballo, para comprobar o número de rexistros nun traballo eo número de resultados gardadas ao seu sistema de control de traballo sería unha medida acertada.

Ademais, mentres este amosa como os traballos poden ser seleccionados e xestionado a partir dun cadro de consulta SQL que ten que realmente ser abstrair o seu control sobre o traballo de xeito que se decide pasar a utilizar un servizo web, un sistema baseado en arquivo XML , ou calquera outro número de sistemas que non afectará o código enriba del.

Job Configuration

O próximo aspecto a considerar é a dimensión do traballo e da configuración. A xogar coa configuración de traballo que poden acadar un excelente equilibrio entre a velocidade, a replicación de procesos e fiabilidade. Cara un par OFA escenarios:

  1. Jobs ter un día cada un para realizar: Isto significa que os traballadores necesitan 15 días para procesar cada traballo (lembre de 10% da enerxía para 2/3rds do tempo). Este non é claramente unha configuración intelixente, o tamaño do traballo é moi grande! Levaría polo menos o dobre do tempo para conseguir un emprego procesados ​​caso de que o traballador vaia AWOL inicial (tempo de incorporarse que non teña retorno un resultado máis o tempo de reprocesando). Nun ideal que ten polo menos un traballo completo facilmente apurada ata o final de cada período de tempo ausente, de que xeito mantén os postos de traballo máis típico e, no peor caso, un traballo levaría dous días para o primeiro proceso debería van faltar.
  2. Emprego tomar un minuto para executar: Isto significa que os traballadores levan uns 15 minutos para realizar cada traballo. Aínda que isto poida parecer inicialmente ideal, gañou o procesamento traballo adicional durante a hora do xantar, coffee-breaks, reunións, etc este escenario pon presión sobre outras áreas do seu sistema e presenta os seus propios problemas. Por exemplo, en primeiro lugar configurar o ratio tempo de procesamento está a ir dereito para abaixo, perdendo así a eficiencia do sistema. Súa rede vai ser sempre fluíndo información sobre o traballo aos traballadores varios funcionarios que están frustrando dong seu día a día. Tamén vai poñer máis presión sobre o seu traballo como servidor de procesamento ten de prato fóra lotes e lotes de pequenas pezas de traballo nunha base regular. Por fin, nesta situación, se o seu servidor de emprego descende vai crear un rexistro enorme parte posterior do traballo incompleto mentres traballos maiores de continuación do proceso podería alegría inconscientes de que o servidor estaba pasando por dificultades de emprego.

En realidade non haberá unha configuración ideal para a súa configuración de rede, depende moito dos recursos dispoñibles, tipo de traballo, as esixencias da función tempo de resposta, a capacidade de rede, e así por diante. Con todo, algunhas orientacións serían:

  • traballos en tamaño de modo que cada traballador pode pasar por polo menos 3-4 postos de traballo nun período de 15 horas (o máis longo período de tempo probable idle)
  • Xogar coa dimensión do traballo a fin de que o tempo de configuración tórnase moi insignificante cando se compara co tempo de procesamento (tendo en conta o punto anterior).
  • Un traballo non é concluído o dobre a cantidade de tempo (quizais menos), espera que completa ela asumir que AWOL seu pasado e comezar a proceso-lo con outro traballador. Isto significa que pode ter que agardar a tres veces o tamaño normal dun traballo para a conclusión (posiblemente máis, se o traballo subseguinte falla). Pode querer reducir este tempo, pero teña coidado de non reduci-lo moito como podes comezar a duplicación de tarefas de procesamento nunha base regular.
  • Traballos deben ser independentes das necesidades de fóra, na medida do posible. O servidor de emprego, por exemplo, só debe ser contacto no inicio e ao final de cada traballo.
  • Non saturado súa rede, terá dous efectos negativos, o seu equipo vai atopar durante o día utilizando a rede frustrante e problemas poden ser probados con conexións tempo de espera un problema que só vai peor a medida que a escala do grid.
  • Asegúrese de traballos poden ser executados nos seus traballadores. Os traballos de facerse demasiado espazo de memoria traballos intensivos ou intensivos de disco comezará a abortar eo único que vai notar un descenso no número de traballos procesados, sen motivo real.

Entregaren os resultados dun traballo

Ao presentar os resultados dun traballo é importante comprobar que os resultados non foron presentados por outro traballador, especialmente se o traballador actual estivo durminte por algún tempo.

Cando os resultados son presentados garantir que o número de resultados corresponde ao número de rexistros dentro do traballo.

Como dito anteriormente, e non pode ser subestimado, construír tolerancia a fallos en recuperación de traballos e presentación dos resultados. Os traballadores poden (e que seguramente) entrar no modo de suspensión no inconveniente a maioría das veces e iso ten que ser atendidas. Ademais, unha vez abstrair súa submisión resultados axudar a atender a futuras cambios no seu sistema de control de traballo moito máis fácil de manexar.

Resumo

Neste section nós miramos o que é un servidor de control de traballo ten que facer e como obter un sistema moi básico configurado. Discutir como recuperar un traballo dende o sistema de control ea mellor forma de configurar tarefas para obter o máximo do noso sistema de reixa de oficina. Para finalizar, un parágrafo ou dous sobre a presentación dos resultados ao seu servidor de control de traballo era presentado.

  • Un servidor de control de traballo xestiona emprego e asegura que todas as unidades de traballo son concluídas
  • Ao abstrair o traballo de seleccionar / submisión resultados podemos cambiar a tecnoloxía do control de servidor sen grandes problemas
  • Configure o seu traballo para garantir que sexan executados con rapidez e eficiencia, sen poñer demasiada presión sobre a infraestructura de rede, e sen duplicar tarefas de procesamento nunha base regular.
  • Asegúrese de construír a tolerancia a fallos e checking erro nas súas rutinas, os traballadores poden suspender e retomar o inconveniente e na maioría das veces. Lembre-se de comprobar que os resultados xa foron presentados por outro traballador.

A próxima vez

Na parte 3 , imos crear o noso procesamento de máquina virtual e configurar o Windows para facer as nosas máquinas de traballadores a tempo ocioso.

Office Grid Computing utilización de ambientes virtuais - Parte 5

Por Watkin Steven Lloyd , venres 04 decembro 2009 11:03

Introdución

Eu traballo nunha empresa onde realizar traballos de procesamento por lotes moitos millóns de rexistros de datos de cada día e eu teño pensado recentemente sobre todas as máquinas que se senten ao redor de cada día sen facer nada por varias horas. Non sería bo se puidésemos utilizar estas máquinas para reforzar o poder de procesamento dos nosos sistemas? Neste conxunto de artigos que eu vou mirar para os potenciais beneficios da contratación dunha oficina da rede usando ambientes virtualizados.

Na Parte 4 miramos para usar ferramentas para garantir que estamos executando a versión máis recente de código e as fontes de datos para que os resultados obtidos son sempre actualizados coas últimas información de empresas e da lóxica.

Pre-Implantación

Antes de implantar o seu sistema de rede, se hai unha cousa que fai e unha cousa só que é referencia do sistema actual! Non importa o que di sobre o que os compañeiros de traballo extra o sistema vai facer menos que teña números para isto as súas garantías non son nada. Así,

  • cantos rexistros pode proceso actualmente? Ao día? Por hora?
  • Canto tempo fai exame tipicamente de xirar ao redor dun emprego?
  • Canto máis capacidade ten?

Hai tamén cuestións adicionais:

  • Se o servidor de procesamento (ou un dos seus servidores de procesamento) vai para abaixo como isto afectará a súa capacidade, vai estar aleijado?
  • Que vantaxes ten que espera / espera obter un sistema de rede?
  • Son máquinas do seu despacho capaz de realizar os traballos?
  • É o seu (ou se pode converter emprego) para traballar neste estilo de correr?

O último punto importante é levar o seu tempo en calquera gran cambio como esta. Actualiza o seu código de procesamento para o traballo a través da nova metodoloxía, referencial de novo. Posiblemente configurar o servidor de procesamento para realizar unha máquina virtual, ao final o seu servidor de procesamento será só outro traballador (só unha moi poderosa relativamente). Facer que o novo proceso para resolver.

Implantación

A miña suxestión sería a de pop na fin de semana unha oficina de realizar todas as instalacións e configuración. Faino logo antes de vacacións dunha quincena e deixar que outros pobre home para xestionar as consecuencias ... quizais non ...

Implantación dun sistema coma este debe ser lento. A pesar de ser relativamente sinxela de configurar este sistema pode afectar a súa infraestrutura de oficina enteiro (ben o dixital). En primeiro lugar, lanzar un par de máquinas á vez, monitorizar o tráfico da rede, como os anfitrións traballador executar nunha base día a día. Pode cambiar a configuración de traballo en resposta ás seus descubrimentos.

Xa que o sistema teña resolto con algunhas máquinas (digamos 10% de todas as máquinas de oficina, ou sexa, 5) manter o seguimento do tráfico de rede e servidor da máquina benchmark performance. Seguinte novo, que agora debe estar a procesar os traballos de 33% máis que a súa referencia primeira. Comprobe isto é así, ou que é, polo menos neste estadio. Se non, investigar o que está a ocorrer antes de continuar. Repita este ciclo ata que afortunadamente temos todas as máquinas de oficina sen matar o rendemento da máquina individual ou range de rede a un impasse.

En todo momento manter Benchmarking, mesmo despois de todas as implementacións poden facer. Consulte como actualizacións novo código afecta a velocidade do seu sistema, comproba todos os traballadores e de información en tarefas de procesamento. Pouco a pouco (moi lentamente) incrementar a súa configuración de traballo para obter o mellor dos seus traballadores e de rede.

Pare!

E se queres deixar o seu traballo sexa executado en algún momento? Están todos aí fóra, correndo, rexeneración, e probar o mellor para a xestión dos datos como insectos famentos. A resposta pode parecer obvia, mais o que vale engadir só no caso do seu predio. Basta editar o seu programa de transformación cunha saída (0) or die () ou algunha outra indicación para matar o seu traballo de procesamento. Unha razón importante pola cal a xente sempre intenta actualizar o último guión de procesamento antes de calquera carreira!

Demostración do Sistema

Para escribir este conxunto de artigos curtos, creei unha rede moi pequena para demostrar as tecnoloxías e metodoloxías. Lin moitos artigos, tutoriais e usado diversas ferramentas para configurar e supervisar o que estaba a ocorrer. De maneira ningunha eu teño ido para fóra, e saturada de oficina conxunto co tráfico e nin tiven acceso a un ordenador común os funcionarios para ver como o rendemento do servidor foi afectada.

O meu sistema de demostración foi moi humilde, de feito. Eu usei o meu escritorio regular configurado como un servidor de control de traballo. Polo que eu tiña instalado MySQL server instalado configurado como un mestre na replicación, PHP , Â e SVN ligadas a través de apache (para acceso vía traballador VM).

Eu, entón, creou unha máquina Center traballador no VirtualBox nun vello portátil con Windows XP seis anos. Eu configurar as tarefas programadas, segundo especificou despois da copia da VM na máquina e deixar ir.

A máquina virtual foi creada co PHP, subversión e MySQL. Eu confirme unha rama chamado "traballador" do meu traballo de servidores de arquivo e control por seguro que se pode actualizar a usar 'svn update ". Seguinte configuración que eu MySQL como un escravo e comprobado que os datos foron replicar a partir do MySQL no servidor de control de traballo ata o VM traballador. Despois de todo isto eu configurar o script bash e do traballo do cron.

O meu programa de procesamento, basicamente, deu ao longo das liñas do presente (cousa moi simple):

  • Ler no campo de nome
  • Contado o número de nomes similares nunha táboa da fonte de datos sobre a VM
  • Contado o número de nomes como anteriormente, pero dividindo o nome por espazos (por exemplo, nome propio, apelido do medio)
  • Repetido este proceso mil veces

Cada traballo durou aproximadamente 20 minutos para ser executado. Nun punto abri varias copias do VM traballador no portátil fiestras e observaba os traballos poden ser verificados polos cada un dos enderezos IP do traballador. Nese punto, eu tamén confirmou que a replicación se reinicia automaticamente.

Deixando o portátil para a marcha lenta deu lugar a un traballador comeza a procesar os traballos dende o servidor de control de traballo. Ao retomar o uso do portátil houbo un atraso de preto de 30-60 segundos, esta é unha cantidade razoable de tempo e persoal que precisa ser consciente de que a súa máquina pode facer unha pausa por un curto período ao voltar para a máquina. máquinas máis recentes non poden ter unha pausa de tanto tempo. O beneficio da cantidade de procesamento realizado por estas máquinas en períodos ociosos que máis que compensan os membros do persoal ter que esperar un curto período de tempo (digamos, 1 minuto), ao chegar ás súas máquinas de mañá (eu frecuentemente esperar máis que iso para un Windows Defender actualización para o lugar), sempre que tomaron coñecemento deste tempo (útil para incorporarse un almorzo!).

En xeral eu me sinto seguro de que teño demostrado nas tecnoloxías que se poden usar para crear tal sistema. Eu teño mostrado que este sistema funciona nunha escala (moi) pequeno e con pouco máis de experimentación pode ser máis grande utilizar os recursos das máquinas de oficina. Se eu non chegar ao punto de facelo eu estaría moi interesado en saber / ver cando alguén fai.

Conclusións da avaliación

O seguinte paso evidente sería comezar realmente un exemplo do mundo real e comezar a implantar un sistema como este dentro dun ambiente de escritorio para ver o que acontece. Pedir unha empresa se comprometer con esta empresa sen unha banda de chamas para probar a eficacia da tecnoloxía e pode ser un pouco difícil. Reixa / A computación distribuída é moi popular é nalgúns círculos, e ten unhas grandes aplicacións (BIONC, o SETI @ Home, Folding @ Home, etc). Eu non sabía, non obstante, atopar unha escala menor e un sistema simple como este nas miñas investigacións que poderían ser desenvolvidas dentro dun ambiente de escritorio.

Eu creei un sistema basicamente libres empregando software de código aberto e, sobre todo as ferramentas dispoñibles en case todo o escritorio. As tecnoloxías eran basicamente demostrado e amosar a executar e funcionar como esperaba. Espero ter mostrar que con moito traballo e non cunha configuración moi sinxelo, pode implantar unha oficina do sistema de grid computing, que é poderoso, barato, un e scalable, todo á vez.

Xa que o sistema está funcionando, non hai case ningunha final coa cantidade de personalización e melloras que podes facer. Por exemplo, estatísticas / Benchmarking poden ser facilmente engadidos amosando o valor dun tal sistema todos os días. Novas máquinas poden ser engadidas de forma rápida e doadamente como e cando chegan coas actualizacións de hardware existente reforzar o seu poder de procesamento.

Espero que disfrutara de ler esta serie de artigos cuxo dato alimento para o pensamento sobre a execución dun sistema de rede de oficina. A solución presentada aquí non necesariamente funcionará en todas as situacións, pero debe ser adaptable para permitir que obteña o seu procesamento de datos feito coa súa propia solución.

Síntase libre de me enviar comentarios, correccións ou melloras e vou facer o meu mellor para manter este artigo actualizado para corresponden.

Zend Framework: Fundamentos - Crítica

Por Watkin Steven Lloyd , sábado 28 de novembro 2009 22:42

O meu patrón pagou recentemente a un grupo de nós desenvolvedores aproveitar o Zend Framework: Fundamentos claro, aquí vou resumir os meus pensamentos e opinións sobre o curso para os outros. Para os que desexen aforrar tempo, aquí está o meu resumo:

Para os desenvolvedores que non tiveron tempo de mirar para o Zend Framework este curso (Zend Framework: Fundamentos) ofrece unha boa visión xeral do cadro de presenta-lo para os sectores clave e dar información suficiente para continuar. Para aqueles que pasaron algún tempo mirando para o cadro e seguir un ou dous cursos este curso non ofrece moito máis alá.

Antecedentes

Eu fun un PHP desenvolvedor para uns 5-6 anos, e xa comezou a traballar co Zend Framework nunha base de compoñentes ao longo dos últimos seis meses. Eu teño desenvolvido e / ou ser un colaborador nun par de pequenos Zend Framework MVC sites. Vou ser sincero, eu non tivo unha enorme cantidade de exposición a outros cadros do punto de vista de codificación, pero pasaron varias horas buscando os sitios web dos proxectos e avaliación them. O marco ea comunidade do entorno do Zend Framework é moi interesante e semella que hai enormes posibilidades de onde o seu curso.

Sobre o Curso

O curso é impartido en dúas sesións WebEx 9 horas (cun ​​intervalo de 10 minutos no medio). O tempo é gasto a atravesar un conxunto de diapositivas proporcionados pola Zend coa discusión en calquera momento. Podes usar un micrófono para falar co instrutor, pero para ser honesto eu non vin nada a ninguén use máis que a xanela de chat. Ademais, unha máquina VMWare Ubuntu é subministrado que ten código de exemplo e proxectos configurar unha versión de proba de un Zend Studio. O curso líder fala aos participantes, tanto a través dunha solución de VoIP integrada, ou pode disco usando un dos moitos dial mundial en números.

Durante o curso o material consiste dunha breve descrición do cadro e do patrón MVC antes de ir a unha aplicación de libro de visitas mostra. A discusión demostrou bootstrapping, Zend_Application, táboas db, acceso á base de datos, formularios, Filtro, ACL, validación, etc, etc Basicamente, cubrindo todos os temas que precisa para obter un sitio básico dun rodando o tempo dándolle as ferramentas para ir e ir máis avanzados no ámbito (aínda que este importe foi de "ver o sitio web 'a maioría das veces).

O tempo é xa ao código ata algúns exemplos, e para o desenvolvemento do 'libro de visitas e aplicación sinxela' wiki '. Persoalmente, eu sentín que proporcionar o código ou a cada programa e, a continuación, pedir-nos para desenvolver o que era esencialmente unha copia xunto realmente non proporcionar unha boa experiencia de aprendizaxe. Eu preferiría a desenvolver unha aplicación similar, pero non idénticas. para a aplicación exemplo co beneficio de ter unha guía para consulta. Alternativamente, as solicitudes de construción de raíz co demonstrador de que, posiblemente, levou a máis preguntas sobre o por qué e como, dando así unha mellor comprensión do cadro, ao final pode buscar detalles despois do curso.

A última charla consistiu en traballar na aplicación wiki coa axuda / orientación do instrutor. Tras o retorno do curso foi tomada, foi enfatizado varias veces ao longo do curso que a Zend ten un feedback moi en serio, en realidade, aparentemente, a nosa versión do curso foi moi novo. Algúns dos outros colaboradores da empresa será facer o curso en breve polo que vai ser interesante ver se isto aconteceu.

O estilo informal curso foi permitida para o producto e colaboración entre os participantes eo instrutor. O líder do curso foi agradable, accesible (enderezos de correo electrónico foron compartidas para cuestións), e, aínda que a súa presentación dos diapositivas estaba un pouco trémula parecía totalmente competente no cadro. Estaba claramente alguén que usou o cadro nunha base regular, no canto de alguén que se ensina para a impartición do curso, eu gosto da experiencia "mundo real" a este respecto.

Sentíndose Xeral

De certa forma eu penso o curso a pérdida de tempo, noutros, foi moi útil. Esperamos que eu vou buscar o meu razóns toda a claridade, e quizais dar algunhas pistas de reflexión ou de información útil (sabendo-me iso é improbable!).

Para min este curso foi destinado a un nivel moi baixo. Tendo atravesado a guía de inicio rápido, le Zend Framework Rob Allen en Acción, e traballou co cadro un pouco, realmente non entender nada máis. Eu gosto do curso de incorporarse a partir do final do quickstart e desenvolver habilidades adicionais.

Dito isto, o título do curso di claramente "Zend Framework: Fundamentos" e nese aspecto o curso atinxe o que se propón a facer. Outros membros do equipo de desenvolvemento que non pasaron o tempo mirando para o cadro final de cada sesión, con entusiasmo e preguntas que foi moi bo para ver.

Non todo estaba perdido, foi bo para pasar o tempo que confirma os datos básicos do cadro e comezar a pedir un par de cuestións nas áreas onde eu non estaba 100%. Era tamén o tempo que eu teño que sentar todos os días e pensar sobre a codificación utilizando a estrutura e os proxectos futuros, algo que eu non sería capaz de facer doutro xeito (pode imaxinar a súa empresa de acordo con isto:)). Por último pero non menos importante, tamén recibe un certificado de bo da Zend para dicir que frecuentou o curso (aínda que por correo electrónico).

Certificación Zend Framework

Esta foi unha pregunta que ían chegando á mente durante o curso, ela ía me preparar para a certificación? A rápida, fácil é un rotundo non. O instrutor do curso foi moi claro a este respecto cos consellos adicionais para a certificación de que o que realmente debe estar usando a estrutura dunha base do día a día e me sinto moi cómodo e seguro no seu uso e metodoloxías.

Resumo

Dado todo o que eu escribín enriba, eu vou resumir todo en dous puntos da bala doado:

  • Novo para o Zend Framework: Este curso fai exactamente o que esperar, se lle dá unha boa introdución para o marco e unha boa base sobre os conceptos básicos desde o que podes construír. O curso parece xerar interese e entusiasmo para o cadro entre os desenvolvedores.
  • Usado o Zend Framework: Mentres foi bo para reforzar algúns dos fundamentos en que eu sentín o tempo, esforzo e recursos para facer o curso podería ser mellor gasto de outros lugares. Vai ser bo para SEEA Zend crear un novo nivel de curso superior para ter desenvolvedores ao seguinte nivel - polo menos para o estándar de certificación e ademais inmediatamente. Por que eu ía asinar.












Panorama Tema por Themocracy

8 convidados en liña agora
6 persoas, 2 bots, 0 membros
Max visitantes hoxe: 15 ás 00:21 UTC
Este mes: 26 en 2011/07/05 12:35 UTC
Este ano: 130 en 28-03-2011 22:40 UTC
Todas as horas: 130 en 28-03-2011 10:40 UTC