Posts tagged: aplicación

"Entrar con Twitter" a usar o Zend Framework

Por , Xoves 17 de marzo de 2011 1:07 am

A pesar de todo o odio do twitter no momento, teño a intención de crear un novo Twitter baseada en aplicación. Ser alguén que xestiona varias contas (tanto persoal como para o meu traballo de caridade) Eu teño que necesitan de unha ferramenta por algún tempo que eu estou apenas empezando en torno a escrita (máis que nun futuro próximo ...).

Lin en Zend_Oauth_Consumer e como se pode usar para obter autorización para interactuar con Twitter usando OAuth . Todo ben, eu teño a miña clave de acceso e podo publicar alegremente afastado en nome dun usuario. Hai unha abundancia de recursos alí fora para facelo, entón eu non vou aborrecer a xente.

O seguinte paso é permitir que as persoas volvan para o sitio, logar e modificar a súa conta. Este é o lugar onde cheguei a un pequeno problema. Usando os exemplos de código en sitios significaba que eu tería Twitter me pedindo autorización de acceso de novo para cada usuario, non é bo. Dixitalización a través do cadro que eu non podía ver nada que me permita só solicitar autenticación. Isto non quere dicir que non é alí, pero non parece ser un mecanismo de autenticación que pode ser chamado sen saber o token de acceso xa.

As alternativas eran para implementar un rexistro con base na web ou forma de almacenar a cadea de verificación de acceso do usuario no cliente (cifrada por suposto). Ningunha delas me pareceu unha boa solución / adecuado.

Continúe lendo "Entra en Twitter" a usar o Zend Framework '»

Zend_Layout espido e Zend_View

Por , martes 10 de agosto de 2010 23:47

Neste artigo eu ollar usando Zend_Layout e Zend_View xunto cun controlador simple diante para amosar como se pode comezar a separar lóxica de negocio e presentación dentro da súa aplicación. Todo o código está dispoñible en github:
Zend_Layout espido e Zend_View no GitHub .

Continuar 'Zend_Layout Núa e Zend_View' lectura »

Patróns de deseño PHP - por defecto Observer

Por , martes 29 de decembro de 2009 10:02 pm

Estiven lendo Head First Design Patterns recentemente e decidín escribir algúns dos patróns como exemplos PHP para o meu propio beneficio. O primeiro que eu decidimos código anterior é o patrón Observer . A definición formal do estándar Observer é:

O observador estándar (un subconxunto da asíncrono Publish / subscribe estándar ) é un software estándar de proxecto en que un obxecto , chamado de suxeito, mantén unha lista dos seus dependentes, chamados de observadores, e notificaralle automaticamente de todos os cambios de estado, xeralmente chamado un dos seus métodos . É usado principalmente para implementar sistemas de tratamento de eventos distribuídos.

Como os sistemas se fan máis flexible asegurarse de que cando un evento acontece todos os sistemas que esixen coñecemento destas actualizacións son informados. Por exemplo, un post de blogue, despois de salvar un post que pode ser necesario actualizar un motor de procura (por exemplo, Lucene), actualizar os nosos sitemap, etiquetas, os usuarios de correo-e subscritas, etc O observador estándar permite que os desenvolvedores engadir ouvintes adicional sen modificar o seu obxecto observável . Ao inxectar os observadores (ou sexa, un motor de procura observador actualización, un xerador de sitemap, etc) nun asunto (blog, é dicir post sistema de edición) que pode permitir a el para realizar todas as actualizacións necesarias, sen os cambios.

Continuar 'Patróns de Proxecto PHP - por defecto Observer' lectura »

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

Por , venres 04 de decembro de 2009 23:37

Introdución

Eu traballo nunha empresa na que corremos moitos traballos en lote procesar millóns de rexistros de datos de cada día e eu estiven a pensar recentemente sobre as máquinas que se sentan ao redor de cada día sen facer nada durante varias horas. Non sería bo se puidésemos utilizar esas máquinas para reforzar o poder de procesamento dos nosos sistemas? Neste conxunto de artigos que eu vou ollar para os potenciais beneficios da contratación dunha oficina de reixa utilización de ambientes virtualizados.

Na parte 2 nós miramos os traballos serán executados nun servidor, e como os traballos deben ser configurados para acadar maior cantidade de procesamento, garantindo que cada traballo é procesado, sen fallar.

Configurar o traballador - ou servidor Limp

O seguinte paso no proceso é a creación dos seus traballadores virtuais. Por iso eu vou usar unha instalación de CentOS usando VirtualBox. Vou instalar MySQL e PHP no servidor, tamén coñecido como Bizkit (Li nux, m ySQL, P HP) Servera (eu poida facer ese nome).

  • Instalar VirtualBox na súa máquina Windows (continuación enlace)
  • Baixo e instala o CentOS (versión actual 5.3) dentro dunha máquina virtual creada

Non adianta ir a este probablemente hai 1.000 's de tutoriais aí fóra (ok, aquí vai un: Creando e Managing CentOS máquina virtual no VirtualBox ). O punto importante a destacar é que supoño que eu chamei miña máquina virtual GridMachine.

Tanto como as miñas opcións do cliente de virtualización de sistema operativo e alí non é gran motivo convincente para cada elección. VirtualBox é algo que eu uso na miña máquina na casa e é apoiado polos tres principais sistemas operativos. Eu escollín o CentOS como o seu sistema operativo unha boa estable e eu uso no meu propio servidor web. Son un gran crente nas ferramentas certas para o traballo (aínda que eu estou aplicando "usar o máis rápido e máis doado para ti" mentalidade aquí), entón o sistema operativo X executa o código máis rápido e máis eficiente usar isto en vez :)

É importante asegurarse de que a súa VM emprega DHCP, se non, para cada nova máquina virtual que debe ser configurado por separado que é algo que non want.By utilizando DHCP non precisa configurar as opcións de rede individualmente para máquinas de traballo, DHCP pode entregar fóra IPs para ti. Así, pode copiar a máquina virtual no escritorio sen se preocupar sobre como configurar cada un para arriba (é dicir mellora a módulos e reduce a administración traballador).

O proceso que debe ter por obxectivo sería conseguir unha nova máquina física, instala o VirtualBox, e, a continuación, practicamente implantar a imaxe virtual sen máis. Pode ser sabio para configurar os seus traballadores en unha 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 contrato a longo ou de concesión ilimitada DHCP.

Como facer Jobs sobre o traballador

Esta é unha área interesante e existen varios métodos válidos para procesar os traballos sobre o traballador. Aquí eu só vou discutir os dous máis obvios:

  • Perpetuamente executar o script: Un guión, sexa un shell script, ou un script PHP é executado unha vez sobre o traballador e é executado como parte dun loop infinito. Eu xa descontado a rede como un accidente do guión e, potencialmente, os traballadores deixarán de funcionar sen ningún tipo de intervención.
  • Cron a execución de scripts baseada en: cada X minutos o servizo cron inicia unha chamada ó arquivo para facer as cousas ocorrer. Sen algunhas probas este podería levar a moitas moitas copias da súa carreira guión traballador.

A miña decisión era ir co cron que comeza un shell script cada minutes. 10 O meu guión shell executa as seguintes tarefas:

  1. Faga unha lista de procesos e grep para este 'php'. Se non está, a continuación continuar.
  2. Chame ao seu código de traballo, no meu caso iso sería algo baseado PHP
  3. Guión traballador completa a súa execución
  4. Preparado para ir de novo a próxima chamada axeitada

O meu script bash parece algo como o seguinte:

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

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

Isto conclúe a configuración da máquina de traballo virtual, rápido, sinxelo e fácil de copiar a cada nova peza de hardware que é recibido. A "intelixencia" do sistema de rede realmente non é visualizado no sistema operativo, é todo que ver co código creado para traballos do proceso, a configuración do traballo, e para garantir que o traballo é executado no seu caso (ou sexa, cando o anfitrión é ocioso ).

Configurando o Windows para arrincar Traballadores

A primeira tarefa é descubrir o comando necesario para realizar a máquina virtual dende a liña de comandos de Windows. Se instalar o VirtualBox na localización predefinida e nomeou o seu traballador GridMachine entón o mando necesario para cargar o seu traballador é:

  "C: \ Arquivos de programas \ Sun \ VirtualBox \ VBoxManage.exe" startvm GridMachine 

Con todo, para executar o script nun estado 'sen cabeza', cómpre usar:

  "C: \ Arquivos de programas \ Sun \ VirtualBox \ VBoxHeadless.exe"-startvm GridMachine - VRDP = off 

Isto iniciar a máquina virtual sen a GUI e permitir que salva o estado graciosamente. O segundo argumento desactiva RDP polo que non entra en conflito con fiestras RDP, ou dar-lle unha mensaxe sobre escoita na porta 3389. O nome da máquina virtual é sensible a maiúsculas!

A continuación, imos ter definir fiestras ata comezar a nosa VM traballador unha vez que a máquina está ociosa. Para iso (en Windows XP) ten que ir en Inicio -> Programas -> Accesorios -> Ferramentas do Sistema -> Tarefas programadas conforme a continuación:

tarefas programadas

A continuación preme en "engadir tarefa programada 'seguido de navegar para engadir un programa personalizado. Desprácese ata o guión VBoxManage e prema en Aceptar. Agende súa tarefa para calquera das opcións (imos cambiar isto nun minuto) e seguir. Despois de saltar a seguinte pantalla de Windows ha pedir que quere levar a cabo esta tarefa, eu sugiro que sexa "administrador" ou crear un novo usuario privilexiado. Lembre que non queremos interferir na conta persoal estándar na máquina en calquera momento. Preme aquí ao lado e confía concerto advanced options para esta tarefa.

Para o fin da caixa de texto longo engadir noso cadea 'startvm GridMachine "e garantir que execución só cando conectado queda DESestablecido. Visita a tarefa seguinte programa e cambiar o programa de caer para a opción "cando ocioso", escolla a cantidade de tempo que lle gustaría que o ordenador estea ausente antes de pasar á seguinte guía.

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

programar

É iso entón, para a configuración de servidor de Windows!

Resumo

Nesta parte temos un conxunto de unha máquina virtual para actuar como un traballador, así como a forma na que chamamos e realizar os nosos scripts de procesamento de traballo (para min un script PHP). A partir de aquí, veremos como configurar nosas copias de Windows para iniciar a máquina virtual no modo headless cando o computador pasa a ser ocioso, e gardar o seu estado cando o usuario retomar a utilización da máquina. Esperemos que neste momento está a ver como é simple para configurar un sistema deste tipo e está ansioso para comezar algunhas experiencias vai vostede mesmo!

Próxima vez

Na Parte 4 , imos estar a ollar para o uso de ferramentas para garantir que está a empregar a última versión das fontes de código e datos, para que os resultados obtidos son sempre up-to-date coas últimas información da empresa e da lóxica.

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

Por , venres 04 de decembro de 2009 11:23

Introdución

Eu traballo nunha empresa na que corremos moitos traballos en lote procesar millóns de rexistros de datos de cada día e eu estiven a pensar recentemente sobre as máquinas que se sentan ao redor de cada día sen facer nada durante varias horas. Non sería bo se puidésemos utilizar esas máquinas para reforzar o poder de procesamento dos nosos sistemas? Neste conxunto de artigos que eu vou ollar para os potenciais beneficios da contratación dunha oficina de reixa utilización de ambientes virtualizados.

Na parte 1 eu dei unha visión xeral do sistema e as tecnoloxías que están empregando, así como discutir algunhas das posibles razóns polo que desexa crear unha rede de oficina.

Job Control

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

  • Distribuír os traballos, a petición dos traballadores
  • Diga traballadores que tipo de postos de traballo para realizar
  • Traballos Pista
  • Asegúrese de que os traballos son executado só 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 estendido para realizar varios tipos de traballos como a empresa ve o valor nunha solución de rede. Por exemplo, os traballos poden gañar prioridades, máis dun tipo de traballo pode existir (ou sexa, varias bases de código), finalmente pode incluso realizar varias máquinas de traballo diferentes que son optimizados para cada tipo de traballo (a pesar de que non se afasta do traballador xenérico 'idea). Sempre intento pensar no futuro no desenvolvemento de sistemas, unha visión a curto prazo pode levar á frustración a longo prazo e tempo de desenvolvemento máis grande.

Servidor de traballo

Nós imos ter un lugar para controlar o noso traballo de, este debe ser o único sistema na súa rede que ten un fixo Resource locator, sexa un enderezo IP, o nome do host URL (usando DNS interno), etc Isto é porque os traballadores teñen que saber onde buscar emprego, os traballadores teñen que atopar o sistema de control de traballo (non o sistema de control de traballo atopar os traballadores).

O servidor de traballo en si non ten realmente unha tarefa complicada (nun sistema básico de todos os xeitos), el que almacenar unha lista de empregos, man de postos de traballo, recibir os resultados, e, posteriormente, almacena-los para a súa posterior recuperación. Como esas pezas (como "man de empregos") son definidos pode ser moi básico. Máis tarde, pode estender o sistema para incluír unha interface de administración para engadir, editar, borrar, suspender os traballos, pero iso está fóra deste exercicio.

Non hai ningunha razón que sexa, entón, que o teu servidor de traballo non podería ser unha máquina virtual executando dentro do seu servidor de procesamento principal, sempre que non drena moitos recursos del. O servidor de traballo con todo é necesario alta dispoñibilidade, se vai para abaixo nunha noite de venres vai perder un fin de semana enteiro de procesamento, potencialmente custando-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 balanceo de carga para alta dispoñibilidade.

Configuración básica

A configuración básica para o noso servidor de traballo consistirá en que eu estou chamando un dos meus servidores Bizkit (que é Li nux, m ySql, P HP). O código a executar en traballadores Thea vai realmente descubrir o que pode facer traballos, interactuar con bases de datos con emprego de sistemas de control. Posteriormente, poderiamos crear un servizo web e realmente man empregos en vez de ter os traballadores fan o traballo duro en si, pero por agora imos seguir usando o principio KISS (Keep it Simple, Stupid!).

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

emprego táboa Aquí está a usar SQL camarada unha boa alternativa pouco para phpMyAdmin só porque é máis fácil de instalar no CentOS (para outros o ven: 10 óptimas alternativas para phpMyAdmin )

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

  • ID: Identificar o traballo
  • nome: Podería ser unha referencia de cliente, ou calquera número de outros identificadores
  • Estado: Ten que saber onde o traballo está, por exemplo,
    • 0: Non iniciado
    • 1: Colleu
    • 2: Feito
  • started_by: Quen comezou a facer o traballo? Iso non é totalmente necesario, pero é un bo ter. Eu suxiro que os traballadores de seguimento polo seu enderezo IP na súa rede
  • started_at: Cando o traballador iniciar o traballo? Ao seguir os traballos que non teñan completado dentro X cantidade de tempo que sabemos que necesitamos para incorporarse o traballo unha vez máis e comezar a procesar por outro traballador. Os traballadores poderían deixar o procesamento / go off-line para calquera número de razóns, falta de enerxía, accidente, perda de rede, etc

É doado como esta táboa pode ser estendido con algúns campos adicionais para permitir estatísticas de seguimento, unha columna de tempo de chegada para ver canto tempo o traballo levou, un contador para ver cantos traballadores colleu o traballo (obviamente iso necesita tenden a 1), a prioridade dos traballos, a lista pode ir sobre e sobre. En escenarios máis complexos de traballo sería posíbel especificar a cantidade de memoria que o traballador precisaría para enlazar (e, polo tanto, utilizar só os traballadores máis axeitados), ou mesmo o tipo de traballador sería necesario.

Permite engadir un exemplo poucos empregos:

emprego exemplo

A seguinte táboa de novo é moi sinxelo de entender, son datos que o noso traballo. Eles están conectados á táboa de traballos principal por unha columna `jobs_id`. A composición desta táboa depende moito dos datos que precisa ofrecer aos seus traballadores, imos facer un exemplo moi sinxelo, onde temos catro columnas:

  • id: identificación do rexistro
  • nome: o nome da persoa
  • Enderezo: Enderezo da Persoa
  • jobs_id: A ID de traballo que este rexistro está ligado á

A táboa terceiro e último está formado por unha táboa de resultados, que ten o mesmo facer se como a nosa táboa rexistros, e coa adición de algunhas columnas podería ser parte da táboa de rexistros:

  • job_record_id: vincular o resultado para a mesa de traballo
  • Resultado: Os datos do resultado

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

Seleccionando un emprego

Como mencionado anteriormente, os traballadores van facer o noso traballo de xestión para nós agora, para todo o que necesitamos realmente facer é atopar un traballo que precisa de procesamento e obter a información. Como faríamos isto? Ben escoller os nosos criterios de selección de emprego e buscar emprego, en SQL eu fixen o seguinte:

  1. Tome todos os traballos que non están marcadas como concluídas, mais do noso traballador e redefini-las (substitúa ME__ __ cun identificador máis doado, sería a dirección IP):
      Update `emprego` SET `status` = 0 Where `status` = 1 AND `started_by` = __ ME__; 
  2. Usando os nosos criterios de selección de emprego, seleccionar un traballo e dicir ao sistema de control que este traballador está lidando con iso:
      Update `emprego` SET `status` = 1, `started_by` = __ ME__, `started_at` = NOW () Where `status` = 0 OR
     (`Status` = 1 AND `started_at`> DATE_SUB (NOW (), INTERVAL Hour X)) ORDER BY `id` ASC; 

    Ao incorporarse emprego que non presentaron resultados en X cantidade de tempo que garantir que todos os traballos son executados en caso de un traballador non funcionar ou se ausentar sen licenza.

  3. A continuación cara os detalles emprego seguidos polos rexistros propios:
      SELECT * FROM `emprego` onde `started_by` = __ ME__ Limit 1;
     SELECT * FROM `job_records Where` id `= __ JOBID__; 

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

Ademais, aínda que iso demostra como os traballos poden ser seleccionados e xestor a partir dun cadro SQL-consulta ten que realmente ser abstraindo o seu control sobre o traballo de modo que se decide pasar a usar un servizo web, un sistema de ficheiros baseado en XML , ou calquera outro número de sistemas que non afectará o código anterior.

Configuración do traballo

O seguinte aspecto a considerar é o tamaño do traballo e configuración. Ao xogar con a configuración do traballo, podemos atopar un equilibrio excelente entre a velocidade, a replicación de procesos, e fiabilidade. Dedique uns escenarios OFA parella:

  1. Emprego tomar 1 día a día para ser executado: Isto significa que os traballadores necesitan 15 días para procesar cada traballo (lembre-se 10% da enerxía para 2/3rds do tempo). Este non é claramente un sabio configuración, o tamaño do traballo é moi grande! Levaría polo menos o dobre do tempo para conseguir un emprego procesado debe o traballador ir AWOL inicial (tempo de coller que non retornou 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 ocioso, de que xeito se 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. Traballos levar 1 minuto para executar: Isto significa que os traballadores levar uns 15 minutos para realizar cada traballo. Aínda que isto poida parecer inicialmente ideal, gañou 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 a súa razón de tempo de configuración / procesamento está a ir dereito para abaixo, perdendo así a eficiencia do sistema. Súa rede vai ser constantemente información sobre o traballo de streaming para o equipo varios traballadores frustrante que son dong seu traballo do día a día. Tamén vai poñer máis presión sobre o seu traballo como servidor de procesamento que ten que repartir lotes e lotes de pequenas pezas de traballo nunha base regular. Por fin, nesta situación, o seu servidor de emprego descende vai crear un rexistro de volta enorme de traballo incompleto mentres traballos maiores podería de procesamento continuou alegremente inconscientes de que o servidor estaba pasando por dificultades de emprego.

En realidade, non haberá unha configuración ideal para a súa instalación da reixa, moi depende dos recursos dispoñibles, tipo de traballo, requisitos do traballo tempo de produción, capacidade de rede, e así por diante. Con todo, algunhas directrices sería:

  • Traballos en tamaño de xeito que cada traballador pode pasar por polo menos 3-4 emprego nun período de 15 horas (o máis longo período de tempo probable idle)
  • Xoga co tamaño do traballo de xeito que o tempo de configuración tórnase bastante insignificante comparado co tempo de procesamento (tendo en conta o punto anterior).
  • Se un traballo non é concluído en dobrar a cantidade de tempo (quizais menos) se espera para completa-lo asumir que a súa AWOL ir e comezar a proceso-lo con outro traballador. Isto significa que pode ter que esperar ata tres veces a lonxitude normal de un traballo para a conclusión (posiblemente máis o traballo posterior falla). Pode querer reducir este tempo, pero Tomé coidado para non reduci-lo moito como podes comezar a duplicación de tarefas de procesamento nunha base regular.
  • Jobs debe ser independente das esixencias externas, na medida do posible. O servidor de emprego, por exemplo, só debe atoparse no inicio e final de cada traballo.
  • Non saturar a súa rede, este terá dous efectos negativos, o seu equipo vai atopar durante o día a través da rede frustrante e os problemas poden ser probados con conexións tempo de espera dun problema que só vai peor cando escalar a reixa.
  • Garantir os postos de traballo poden ser executados nos seus traballadores. Os traballos fanse moito espazo de memoria traballos intensivos ou intensivos disco comeza a abortar eo único que notará é unha gota 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 dormente por algún tempo.

Cando os resultados son presentados asegurar que o número de resultados coincide co número de rexistros dentro do traballo.

Como mencionado anteriormente, e non pode ser máis enfatizado, construír tolerancia a fallos na recuperación de traballos e presentación de resultados. Os traballadores poden (e seguramente) entrar no modo de suspensión no máis inconveniente de veces e iso debe ser servidos. Tamén unha vez abstraindo súa submisión resultados axudarán atender a futuras cambios no seu sistema de control de traballo moito máis doado de xestionar.

Resumo

Neste sectiona vimos o que é un servidor de control de traballo que facer e como obter un sistema moi básico configurado. Discutir como recuperar un traballo desde o sistema de control ea mellor forma de configurar traballos para obter o máximo do noso sistema de reixa oficina. Para finalizar, un parágrafo ou dous sobre como enviar os resultados ao seu servidor de control de traballo foi presentado.

  • Un servidor de control de traballo xere emprego e asegura que todas as unidades de traballo son concluídas
  • Ao abstraerse o seu traballo Select / resultados submisión podemos cambiar a tecnoloxía do servidor de control sen moitos problemas
  • Configure os seus traballos para garantir que se executan de forma rápida e eficiente, sen poñer demasiada presión sobre a infraestrutura 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 renovar e máis inconveniente de veces. Teña en conta que comprobar os resultados xa foron presentados por outro traballador.

Próxima vez

Na parte 3 imos crear a nosa máquina de procesamento virtual e configurar nosas máquinas de fiestras para facer ausente dos traballadores a tempo.

Zend Framework: Fundamentos - comentario

Por , sábado 28 de novembro de 2009 10:42 pm

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

Para os desenvolvedores que non tiveron tempo de ollar para o Zend Framework este curso (Zend Framework: Fundamentos) ofrece unha boa imaxe global do cadro de presenta-lo para as áreas clave e dar información suficiente para continuar. Para os que gastaron tempo mirando para o cadro e seguir un ou dous tutoriais deste curso non ofrece moito máis alá.

Fondo

Eu fun un PHP creador a preto de 5-6 anos, e xa comezou a traballar co Zend Framework nunha base de compoñente ao longo dos últimos 6 meses. Eu xa desenvolvidas e / ou un creador en un par de pequenas Zend Framework MVC sites. Vou ser honesto, eu non tiven unha enorme cantidade de exposición á outros cadros de un punto de vista de codificación, pero pasaron varios horas buscando os sitios web dos proxectos e avaliación them. O cadro ea comunidade envolvente Zend Framework é moi interesante e parece haber grandes posibilidades de que o seu curso.

Sobre o Curso

O curso é impartido por 9 dúas sesións de unha hora WebEx (cun ​​intervalo de 10 minutos no medio). O tempo é gasto a pasar por un conxunto de láminas proporcionados por Zend coa discusión en calquera momento. Podes usar un micrófono para falar co adestrador, pero para ser honesto eu non vin a ninguén utilizar calquera cousa máis que a xanela de chat. Ademais, unha máquina VMWare Ubuntu ven que ten código de exemplo e proxectos de creación de unha versión de proba de un Zend Studio. As conferencias do curso de líderes para os participantes, tanto a través dunha solución de VoIP integrada, ou pode chamar a usar un dos moitos marcado mundial en números.

Durante o curso, o material consiste nunha breve visión xeral do cadro e do patrón MVC antes de ir a unha aplicación de exemplo no libro de visitas. A discusión demostrou inicio, Zend_Application, táboas dB, acceso á base de datos, formularios, filtrado, 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 buscar máis avanzada no cadro (aínda que este valor fixo para "Consulte o sitio web da" maioría das veces).

O tempo vén dado para codificar algúns exemplos, e para o desenvolvemento do 'libro' e aplicación 'wiki' simple. Persoalmente, eu sentín que proporcionar o código ou cada aplicación e, a continuación, pedir connosco para desenvolver o que era esencialmente unha copia á beira realmente non ofrecer unha boa experiencia de aprendizaxe. Eu preferiría a desenvolver unha aplicación similar, pero non idénticas. por exemplo de aplicación, coa vantaxe de ter un guía para referirse a. Alternativamente construír as aplicacións a partir de cero co manifestante tería que, posiblemente, levou a máis preguntas sobre por que e como, dando así unha mellor comprensión do cadro, despois de todo que podes ollar cara arriba específicos despois do curso.

A última charla consistiu en traballar na aplicación wiki coa axuda / guía de instrutor. Tras o regreso do curso foi tomada, foi enfatizado varias veces ao longo do curso que leva Zend comentarios moi en serio, de feito, ao parecer, a nosa versión do curso foi moi novo. Algúns dos outros desenvolvedores da empresa será facer o curso en breve, así que será interesante ver se isto aconteceu.

O estilo curso foi informal, permitiu feedback e colaboración entre os participantes eo instrutor. O líder do curso foi agradable, accesible (direccións de correo se 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, en vez de alguén que se ensina para impartir o curso, gustoume experiencia do "mundo real" a este respecto.

Sentimento xeral

Nalgúns aspectos eu penso o curso unha perda de tempo, noutros, foi moi útil. Esperemos que eu vou comezar as miñas razóns toda claridade, e se cadra dar algunhas pistas de reflexión ou útil producto (coñecerme iso é improbable!).

Para min este curso foi destinado a un nivel demasiado 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 conseguir nada máis. Eu gustaría de curso para incorporarse a partir do final do quickstart e desenvolver habilidades adicionais.

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

Non todo estaba perdido, foi bo para pasar o tempo confirmar os detalles básicos do marco e comezar a pedir un par de cuestións nas áreas onde eu non estaba 100%. Era tamén o tempo que eu comece a sentir-se todos os días e pensar sobre codificación usando os proxectos de estrutura e do futuro, algo que non foi capaz de facer o contrario (podes imaxinar a súa empresa de acordo con isto? :)). Last but not Least tamén terá un certificado de boa Zend 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, será que me preparar para a certificación? A rápida, fácil é un sonoro NON. O instrutor do curso foi ben claro que, co consello adicional para a certificación de 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 escribín enriba, vou resumir todo en dous puntos de bala fáciles:

  • Novo para Zend Framework: Este curso é o que esperar, dálle unha boa introdución para o marco e unha boa base sobre os conceptos básicos a partir do cal pode construír. O curso parece xerar interese e entusiasmo para o cadro entre os desenvolvedores.
  • Usado Zend Framework: Mentres foi bo para reforzar algúns dos conceptos básicos sentín o tempo, esforzo e recursos para facer o curso podería de ser mellor gasto en outro lugar. Vai ser bo para SEEA Zend crear un curso novo nivel máis elevado de desenvolvedores para o seguinte nivel -. Polo menos para o estándar de certificación e ademais por que eu ía asinar inmediatamente.

Nomes UK Directorio e Aplicación Facebook

Por , venres 10 de abril de 2009 9:33 am

Unha das cousas divertidas que eu estiven implicado en ao mesmo tempo traballar para Tracesmart é o directorio nomes . Basicamente tiramos nosa base de datos de información enorme e sacou unha gran pila de estatísticas sobre varios nomes.

O proceso é todo un gran esforzo de SEO, a fin de atraer máis tráfico para o sitio, pero tamén ofrece algunhas informacións interesantes e estatísticas nome.

Aquí está un exemplo para o meu nome Lloyd Watkin , ou supoño que máis correctamente Steven Watkin . Tomé un minuto para mirar para arriba o seu nome na páxina web Tracesmart, pode ser interesante ;)

We've also got names statistics data on the names directory page which tells you what names have been searched and how recently. Its quite interesting to see famous people's names fly up the stats when they appear in the news. A recent example is that of Liam Neeson who's wife died from a skiing accident recently, although obviously people aren't quite right on the spelling (hence the huge numbers of hits on this name) — Liam Nilson .

Facebook Application

Once the names directory was created we set about creating a facebook application which we duely named ' My Name '. The facebook application is an extension of the names directory and provides some additional statistics. In order to add the names directory to your facebook account please visit:

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













Tema por Panorama Themocracy

8 convidados en liña agora
7 guests, 1 bots, 0 members
Max visitantes hoxe: 14 ás 12:49 am UTC
Este mes: 26 en 2012/04/04 10:27 UTC
Este ano: 69 en 27-02-2012 09:56 pm UTC
Todas as horas: 130 en 28-03-2011 10:40 UTC