Categoría: Xeral

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.

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 ;)

Tamén temos datos estatísticos nomes no directorio nomes de páxina que informa que os nomes foron investigados e como recentemente. A súa moi interesante ver os nomes das persoas famosas das voar ata as estatísticas cando aparecen no informativo. Un exemplo recente é o de Liam Neeson , que é muller morreu dun accidente de esquí recentemente, aínda que, obviamente, as persoas non están moi ben sobre a ortografía (de aí o enorme número de visitas no seu nome) - Liam Nilson .

Aplicación de Facebook

Unha vez que o directorio de nomes foi creado partimos para a creación dun programa de Facebook que duely chamado ' My Name '. A aplicación de Facebook é unha extensión do directorio nomes e ofrece algunhas estatísticas adicionais. Para engadir o directorio nomes para a súa conta de Facebook, por favor visite:

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

Flickr e Yahoo!: Detalles Entrar Esquecidos

Por , xoves 02 de abril de 2009 19:31

Algúns meses atrás eu mudei o meu contrasinal de Flickr para que un amigo pode enviar algunhas fotos para el. Un par de meses máis tarde, eu creo que eu teña esquecido o contrasinal e tentar recordar os meus datos secretos de Yahoo! é só un pesadelo. Eu tiven o meu enderezo de correo-e Yahoo por varios anos e eu non estaba seguro de cando ou onde (eu estaba vivindo) cando me inscribirse - oh só para facer esta Flickr claro usa Yahoo sesión do sistema :)

Yahoo! non eran quere axudar, eles querían detalles exactos e rejeitaria calquera cousa que non se atoparon. Ademais, eu non tiña permiso para fornecer unha lista de detalles posible correspondencia que tiña que estar seguro de cada detalle doutra forma podería ser rexeitada. Podo entender a seguridade, pero iso estaba quedando un pé no saco, especialmente porque podería recuperar meu nome de usuario para o meu enderezo de correo-e normal sen ningún problema (por que non podería enviar un reset alí!?!). Na parte superior de todo isto que eles querían a información foi enviada a as súas oficinas en California, por correo ou fax, Boo!

Paso atrás para o Flickr que por favor envíe un correo para o meu enderezo de correo-e rexistrado me pedindo para retirar a miña conta de Yahoo! desde a miña conta de Flickr. Hooray eu podería, entón, rexistrar unha conta de Yahoo! novo e volva a miña conta de Flickr para este novo usuario.

Despois de esperar polo menos unha semana de cada vez para Yahoo! para responder Flickr recibiu esta todo resolto dentro de 2-3 horas!

Ben feito Flickr, por sorte está aí fóra, coidar dos seus clientes :)

Agora, para tedio de todo aquí está un link para a miña conta en Flickr

Inspirado ... e guilted!

Por , mércores 11 de marzo de 2009 20:51

Eu recentemente creou un blog para un dos caras no traballo - Matthew Hopkins - e vendo as súas primeiras mensaxes poucos me fixo pensar que talvez eu debería engadir algúns artigos como o seu foi un tempo bo e moi aconteceu en relación a 2008. Outra das caras do traballo faise un blog para, bos e vellos Stephen Griffiths entón dea un ollo alí tamén.

Entón eu vou arrastrar-se e engadir algúns artigos retrospectivos sobre o que 2008, realizada por min e como 2009 é moldes-se :)

2008 WTF?

Por , xoves primeiro de xaneiro de 2009 12:00 pm

2008 foi un ano estraño vello, alí de moitas cousas que eu realmente gusta del, Â e hai algunhas cousas que xa foron esquecidos e trasladouse con ....

Mergullo

Eu non fixen moito na forma de mergullo Creo que conseguín en torno a uns 10 mergullo durante todo o ano. Un deses foi a mergullo SCUBA santas evento en Vobster Quay que foi máis ben substitúe que os meus soños. Ao final, levantou máis de £ 1000 para o RNLI , ten cobertura na BBC e ITV, e tivo preto de 80 mergulladores na auga. Vobster era un mar de santas de mergullo para o día! Realmente espero que podo facer mergullo MROE en 2009 (moito máis!), Quedando atrás en que ha involucrar moito adestramento para afacerse de novo. Teño saudades dos días de entrar no barco, sol radiante para abaixo, agarrando unha lagosta, embalaxe UPA A e indo a casa para tomar unhas cervexas.

Carreira

A finais de xaneiro de 2008 eu estaba implicado nun accidente de coche, alcanzado por tras, mentres parado, nada importante ou así pensaba eu. Durante moitos meses, a miña dor de gorxa ten progresivamente peor me parando en execución. Ao final, entrei en contacto con un accidente empresa alega que comezou a me o tratamento con un Quiroprácticos en Cardiff, que eu aínda estou frecuentando (marzo de 2009 - a alegación aínda non está resolta calquera). Correr é unha desas cousas que quero volver a, comece con Miles , pero entre enfermidades, lesións, e acaba de pasar a Cambridge só temos un puñado de veces. Realmente teño un bo chute a aparvado para seguir adiante, aínda que a miña única consolo é que eu fun en bicicleta cara atrás e cara adiante para traballar durante meses que está a facer-me algo de bo.

Movido

En xullo de 2008 me mudei para un apartamento con Megan, estamos recibindo a través da pintura e decoración e estar mirando realmente Nicea - a pesar de estarmos tipo de arrastrando os nosos talóns coa pintura .... aínda. O apartamento está en Adamsdown en Cardiff (eu nunca parecen moverse moito) e é-nos adecuando óptimo.

Traballar

O traballo era todo o lugar en 2008, eu comece a deriva un pouco antes de asumir o traballo nun axente deixando como director. Iso axudou sen fin coa propiedade e software axencia de deixar que eu estaba a desenvolver. O meu plan para o inmobiliario e software axencia de deixar é para liberalo como un produto de baixo custo cando teño máis tempo para esclarecelos lo. Polo que me dixeron sobre os produtos competidores no mercado é máis doado de usar e realiza moitas ou máis das mesmas funcións dun xeito mellor :)

Durante abril 2008 chegando ao meu aniversario, 22 anos, tanto Megan e miña nai comezou a empurrar-me para "ter unha carreira", que unha idea difícil de tragar era realmente o que eu precisaba. Correndo a miña propia empresa foi divertido, pero non proporcionan a estabilidade necesaria e gañando unha ninharia na axencia non era un obxectivo da carreira deixando a longo prazo. Era sempre un caso de espera ata que eu comece o meu programa rematou e eu vou comezar a vendelo, pero o tempo foi sempre contra min.

O que se seguiu foi varias entrevistas con algunhas empresas grandes nalgunhas áreas grandes, cheos de promesa de se cambiar a unha nova área, novo comezo parecía óptimo. A mellor oferta de traballo era un gran proveedor de hospedaxe na área de Worcester e parecía ideal. Entón o que pasou? Ben, eu tiña desenvolvido unha solución en liña de texto de volta en torno ao Nadal que estaba sentado en torno a non facer moito que os investimentos se atoparon. Excelente, pensei e alí fomos nós. Todo non acabou ben e despois de varios meses de promesas non cumpridas e aumento do estrés que eu fixen unha cesta e saíu. Traballando 60 horas á semana, chegando na casa e facer outra 3-4 horas traballando todo fin de semana e para todo o estrés era unha das mellores decisións que xa fixen. (Aquí gustaríame agradecer a Megan, meus pais e os meus amigos que estaban xunto de min, eu era un pau-estrés cabeza ás veces, e eu sinto moito)

Catro semanas máis tarde, eu me aterrou un traballo cunha empresa chamada Tracesmart en Cardiff Bay como PHP Developer. Despois de pasar as probas e as entrevistas comece con unha pila de entusiasmo (como pode imaxinar as cousas fosen un pouco baixo por algún tempo). Tracesmart realizar as persoas á procura, a xente seguimento, cadernos electorais manipulación de datos, que inclúen enormes cantidades de datos. Eu estiven alí agora a preto de 5 meses (xa que realmente estou escribindo isto en marzo de 2009) e eu amo cada minuto dela. Estou me esforzo día a día, ten un excelente ambiente de traballo (a miña secretaria ten vistas á bahía!), Bos compañeiros! Eu estiven implicado en algúns proxectos bos (outros artigos a continuación) e estou moi orgulloso do traballo que estou facendo alí.

2009 ....

A pesar de a partir de 2009 en Alemaña sufrindo co virus Novo 2009 é grande ata agora. Megan e eu Spenta tempo de ano en Alemania e Amsterdam. Amsterdam é fermoso ea casa de Anne Frank tivo un efecto real profundo en min, en algún lugar imos estar retornando definitivamente para. O traballo está indo moi ben. O meu pescozo está quedando mellor e mellor así que nun par de semanas o tempo eu vou saír para as primeiras carreiras terribles, unha vez máis. O único que eu realmente teño agora é un bo número de mergullo (ou unhas vacacións de mergullo) para volver ao balance das cousas!

Php.ini personalizado con Plesk

Por , mércores 13 de agosto de 2008 15:53

Temos un servidor dedicado con ukFast  en que corremos un certo número de dominios que existen en servidores virtuais en execución no Plesk . En calquera caso, na maioría dos meus dominios quero ocultar os avisos de seguridade e manter os erros nos arquivos de rexistro, pero en algúns dos meus dominios (tales como os que eu estou a desenvolver) Quero mostrar os avisos pouco desagradable e de erro que aparece.

Se eu editar o meu PHP . INI "php.ini> que afecta cada dominio do servidor non, unha boa idea, sobre todo cando varios dos sitios son totalmente vivir versións  Así, para evitar isto, ten que poñer un arquivo chamado vhosts.conf no seu directorio conf, por exemplo, /var/www/vhosts/<my_domain>/conf/vhost.conf .

Unha vez que engadiu o código adicional, de novo por exemplo, eu incluído,

 php_value error_reporting E_ALL php_value display_errors On 

seguido pola execución do seguinte comando (este reconfigura todos os seus dominios só a súa máis rápido máis preguiceira que escribindo o nome de dominio ,

 # /usr/local/psa/admin/bin/websrvmng -a 

Se está sentindo un pouco áxil, entón podes sempre escribir a versión completa que é,

 # /usr/local/psa/admin/sbin/websrvmng -u --vhost-name=<my_domain> 

Tras esta orde se ollar para httpd.include arquivo, vai ver que o seu httpd.include terá unha liña de inclusión para o seu vhost.conf, algo como isto:

 Include /srv/www/vhosts/domain.com/conf/vhost.conf 

Teoría Bolômetro

Por , xoves 21 de xuño de 2007 13:18

Tiven toneladas de e-mails (ben sobre 5: $) pregunta sobre a introdución de páxina "teoría bolómetro" Eu adoitaba ter-se no sitio web. Entón aquí está como antes, pero con algúns dos enlaces a outros anacos de partes do sitio antigo eliminado :)

Introdución á teoría bolómetro













Tema por Panorama Themocracy

4 convidados en liña agora
3 visitantes, 1 bots, 0 membros
Max visitantes hoxe: 11 ás 01:15 am UTC
Este mes: 40 en 23-05-2012 03:33 pm UTC
Este ano: 69 en 27-02-2012 09:56 pm UTC
Todas as horas: 130 en 28-03-2011 10:40 UTC