<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8779577075993579471</id><updated>2012-02-16T14:43:19.549Z</updated><category term='sites'/><category term='melhorar'/><category term='Javascript'/><category term='Web Services'/><category term='tutorial'/><category term='A List Apart'/><category term='Dreamweaver'/><category term='manutenção'/><category term='Google'/><category term='SOAP'/><category term='PHP'/><category term='Nicholas C. Zakas'/><category term='Google Chrome'/><category term='Google Earth'/><category term='css'/><category term='tempo'/><category term='browser'/><category term='Projectos'/><category term='IE8'/><category term='Base de dados'/><category term='HTML'/><category term='Firefox 3'/><category term='Incompetência'/><category term='programador'/><category term='decisões'/><category term='futuro'/><category term='aprender'/><category term='frustação'/><title type='text'>Diário de um programador WEB</title><subtitle type='html'>Por entre linhas de código, condições, ciclos, funções e variáveis...assim vivo e respiro a profissão de programador...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://diariodeumprogramadorweb.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://diariodeumprogramadorweb.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tio</name><uri>http://www.blogger.com/profile/05397096906039652923</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://pwp.netcabo.pt/lancaster/blog/msn2.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8779577075993579471.post-4805267799212762067</id><published>2008-09-03T12:26:00.000+01:00</published><updated>2008-09-03T12:26:39.155+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Chrome'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>Google Chrome - A Google entra na guerra dos Browsers</title><content type='html'>&lt;div style="text-align: justify;"&gt;O Google lançou ontem um novo &lt;span style="font-style: italic;"&gt;browser&lt;/span&gt; o &lt;a target="_blank" href="http://www.google.com/chrome"&gt;Google Chrome&lt;/a&gt;, mas no dia 1 de Setembro tinha lançado esta &lt;a style="font-style: italic;" target="_blank" href="http://www.google.com/googlebooks/chrome/"&gt;comic&lt;/a&gt; que aconselho a lerem atentamente.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;div style="text-align: center;"&gt;Têm aqui um print-screen da página inical da comic:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_MhXoGaG_W74/SL5zK0BoyrI/AAAAAAAAACg/jxw4GS78mfM/s1600-h/googlechrome.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_MhXoGaG_W74/SL5zK0BoyrI/AAAAAAAAACg/jxw4GS78mfM/s400/googlechrome.jpg" alt="" id="BLOGGER_PHOTO_ID_5241753645907233458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Ainda não fiz um teste como deve ser, porque só o descobri hoje de manhã, e estou no escritório. Onde há muita coisa para fazer.&lt;br /&gt;&lt;br /&gt;A única coisa que testei, foi abrir uma página que estou a desenvolver, para ver se notava alguma diferença a nivel de layouts para o Firefox ou IE, não notei nenhuma diferença, mas também não foi um olhar clínico...&lt;br /&gt;&lt;br /&gt;Pelo que li da &lt;a style="font-style: italic;" target="_blank" href="http://www.google.com/googlebooks/chrome/"&gt;comic&lt;/a&gt;, o Google Chrome usa o mesmo motor que o &lt;a href="http://www.apple.com/safari/" target="_blank"&gt;Safari&lt;/a&gt;, o que me parece bastante interessante, o Safari está bem cotado em relação aos &lt;span style="font-style: italic;"&gt;Web Standards,&lt;/span&gt; o que no final, vai facilitar a vida, a nós programadores WEB.&lt;br /&gt;&lt;br /&gt;Já sabem o que têm de fazer, experimentem-no...e vamos ver se a Google lançou um &lt;span style="font-style: italic;"&gt;browser&lt;/span&gt; capaz de fazer concorrência ao Firefox, IE e Opera ( só para nomear os mais conhecidos ).&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8779577075993579471-4805267799212762067?l=diariodeumprogramadorweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diariodeumprogramadorweb.blogspot.com/feeds/4805267799212762067/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8779577075993579471&amp;postID=4805267799212762067' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/4805267799212762067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/4805267799212762067'/><link rel='alternate' type='text/html' href='http://diariodeumprogramadorweb.blogspot.com/2008/09/google-chrome-google-entra-na-guerra.html' title='Google Chrome - A Google entra na guerra dos Browsers'/><author><name>Tio</name><uri>http://www.blogger.com/profile/15353459668646297415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://bp2.blogger.com/_MhXoGaG_W74/SJT1bc23iOI/AAAAAAAAAAU/slYZoz2SkhM/S220/msn2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_MhXoGaG_W74/SL5zK0BoyrI/AAAAAAAAACg/jxw4GS78mfM/s72-c/googlechrome.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8779577075993579471.post-5803887235251425095</id><published>2008-08-04T15:00:00.001+01:00</published><updated>2008-08-04T15:01:41.708+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sites'/><category scheme='http://www.blogger.com/atom/ns#' term='A List Apart'/><title type='text'>A List Apart - The Survey 2008</title><content type='html'>&lt;div style="text-align: justify;"&gt;Para quem não sabe a "&lt;a href="http://www.alistapart.com/" target="_blank"&gt;&lt;span style="font-style: italic;"&gt;A List Apart&lt;/span&gt;&lt;/a&gt;", é um &lt;span style="font-style: italic;"&gt;website&lt;/span&gt;, onde se publicam vários artigos relacionados com &lt;span style="font-style: italic;"&gt;WEB&lt;/span&gt;, deste a programação de &lt;span style="font-style: italic;"&gt;Javascript&lt;/span&gt; até ao &lt;span style="font-style: italic;"&gt;Design&lt;/span&gt;, e citando:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;blockquote style="font-style: italic; font-weight: bold;"&gt;“For people who make websites”&lt;br /&gt;&lt;br /&gt;A List Apart Magazine (ISSN: 1534-0295) explores the design, development, and meaning of web content, with a special focus on web standards and best practices. &lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Desde que a descobri que tenho tenho lido os vários artigos que eles vão publicando, vale a pena acreditem.&lt;br /&gt;&lt;br /&gt;O que interessa é que eles lançaram um &lt;a href="http://www.alistapart.com/articles/survey2008" target="_blank"&gt;questionário&lt;/a&gt; para quem trabalha na área da WEB. O ano passado também o fizeram, podem ver &lt;a href="http://www.alistapart.com/articles/2007surveyresults" target="_blank"&gt;aqui&lt;/a&gt; os resultados.&lt;br /&gt;&lt;br /&gt;Preencham o questionário, não demora mais do que 15 minutos.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://alistapart.com/articles/survey2008" title="The Survey, 2008"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_MhXoGaG_W74/SJcLE0Kju0I/AAAAAAAAAAg/bneTEr7J9ds/s320/i-took-the-2008-survey.gif" alt="" id="BLOGGER_PHOTO_ID_5230661669564431170" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8779577075993579471-5803887235251425095?l=diariodeumprogramadorweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diariodeumprogramadorweb.blogspot.com/feeds/5803887235251425095/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8779577075993579471&amp;postID=5803887235251425095' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/5803887235251425095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/5803887235251425095'/><link rel='alternate' type='text/html' href='http://diariodeumprogramadorweb.blogspot.com/2008/08/list-apart-survey-2008.html' title='A List Apart - The Survey 2008'/><author><name>Tio</name><uri>http://www.blogger.com/profile/15353459668646297415</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://bp2.blogger.com/_MhXoGaG_W74/SJT1bc23iOI/AAAAAAAAAAU/slYZoz2SkhM/S220/msn2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_MhXoGaG_W74/SJcLE0Kju0I/AAAAAAAAAAg/bneTEr7J9ds/s72-c/i-took-the-2008-survey.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8779577075993579471.post-8877452884031089341</id><published>2008-07-27T22:58:00.001+01:00</published><updated>2008-07-27T23:00:50.761+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tempo'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>A vida está difícil...</title><content type='html'>&lt;div style="text-align: justify;"&gt;...para um programador WEB!&lt;br /&gt;&lt;br /&gt;Estou a implementar um novo site, para um dos clientes da nossa empresa...&lt;br /&gt;&lt;br /&gt;E estou a tentar utilizar apenas &lt;span style="font-style: italic;"&gt;div's&lt;/span&gt; para o fazer, ou melhor no inicio estava, neste momento tenho um misto de de &lt;span style="font-style: italic;"&gt;div's&lt;/span&gt; e tabelas...&lt;br /&gt;&lt;br /&gt;E porquê? Porque causa dos 3 &lt;span style="font-style: italic;"&gt;browser's&lt;/span&gt; que testo ( &lt;span style="font-style: italic;"&gt;FF&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;IE7&lt;/span&gt; e &lt;span style="font-style: italic;"&gt;IE6&lt;/span&gt; ), embora o &lt;span style="font-style: italic;"&gt;IE7&lt;/span&gt;, já se comporte praticamente de forma igual ao &lt;span style="font-style: italic;"&gt;FF&lt;/span&gt; para a maior parte do código &lt;span style="font-style: italic;"&gt;HTML&lt;/span&gt; que metemos na página, ainda existem algumas coisas que falham...sobre o &lt;span style="font-style: italic;"&gt;IE6&lt;/span&gt;, nem vale a pena falar...&lt;br /&gt;&lt;br /&gt;O incrível, é que existem montes de pessoas que ainda o continuam a usar. E não tarde muito terei 4 browser's para testar! ( Isto quando sair o &lt;span style="font-style: italic;"&gt;IE8&lt;/span&gt; ).&lt;br /&gt;&lt;br /&gt;E sim só testo em 3 &lt;span style="font-style: italic;"&gt;browser's&lt;/span&gt; diferentes, podem tentar crucificar-me à vontade. E porque é que só testo para 3 &lt;span style="font-style: italic;"&gt;browser's&lt;/span&gt;? Porque simplesmente não há tempo, bem que gostava de testar no &lt;span style="font-style: italic;"&gt;Opera&lt;/span&gt; ( está instalado só para eu dar uma olhadela de vez em quando ) e também gostava de experimentar no &lt;span style="font-style: italic;"&gt;Safari&lt;/span&gt;. Só que se me ponho a testar em todos os &lt;span style="font-style: italic;"&gt;browser's&lt;/span&gt; nunca mais despacho o trabalho que tenho para fazer.&lt;br /&gt;&lt;br /&gt;É que se formos bem a ver ( da perspectiva de um gestor ), o que interessa é que o trabalho fique feito, esteja apresentável, e que seja feito o mais rápido possivél... ( pelo menos é a experiência que eu tenho ).&lt;br /&gt;&lt;br /&gt;Ou seja, a vida está díficil para um programador WEB...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8779577075993579471-8877452884031089341?l=diariodeumprogramadorweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diariodeumprogramadorweb.blogspot.com/feeds/8877452884031089341/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8779577075993579471&amp;postID=8877452884031089341' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/8877452884031089341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/8877452884031089341'/><link rel='alternate' type='text/html' href='http://diariodeumprogramadorweb.blogspot.com/2008/07/vida-est-difcil.html' title='A vida está difícil...'/><author><name>Tio</name><uri>http://www.blogger.com/profile/05397096906039652923</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://pwp.netcabo.pt/lancaster/blog/msn2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8779577075993579471.post-8938064735836707011</id><published>2008-06-18T15:17:00.002+01:00</published><updated>2008-06-18T15:20:03.895+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firefox 3'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>Firefox 3 já saiu!</title><content type='html'>&lt;div style="text-align: justify;"&gt;Que bela supresa hoje! O Firefox saiu ontem!&lt;br /&gt;&lt;br /&gt;Até querem fazer um recorde do Guiness, o de o software mais descarregado da internet num dia!&lt;br /&gt;&lt;br /&gt;Podem ver &lt;a href="http://www.spreadfirefox.com/en-US/worldrecord/" target="_blank"&gt;aqui&lt;/a&gt;, e fazer o download como é lógico.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8779577075993579471-8938064735836707011?l=diariodeumprogramadorweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diariodeumprogramadorweb.blogspot.com/feeds/8938064735836707011/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8779577075993579471&amp;postID=8938064735836707011' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/8938064735836707011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/8938064735836707011'/><link rel='alternate' type='text/html' href='http://diariodeumprogramadorweb.blogspot.com/2008/06/firefox-3-j-saiu.html' title='Firefox 3 já saiu!'/><author><name>Tio</name><uri>http://www.blogger.com/profile/05397096906039652923</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://pwp.netcabo.pt/lancaster/blog/msn2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8779577075993579471.post-88510525123082324</id><published>2008-06-17T20:47:00.001+01:00</published><updated>2008-06-17T20:48:35.824+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tempo'/><category scheme='http://www.blogger.com/atom/ns#' term='Projectos'/><category scheme='http://www.blogger.com/atom/ns#' term='melhorar'/><title type='text'>Projectos e Atrasos...</title><content type='html'>&lt;div style="text-align: justify;"&gt;Este é um assunto complicado. Principalmente em casos onde não existe nenhuma metodologia de desenvolvimento como "&lt;a target="_blank" href="http://en.wikipedia.org/wiki/Agile_software_development"&gt;Agile Software Development&lt;/a&gt;".&lt;br /&gt;&lt;br /&gt;Nestes casos, quem é que tem a culpa? É o programador? É o gestor de projectos?&lt;br /&gt;&lt;br /&gt;Melhor ainda, como é que se avalia a culpa num projecto atrasado?&lt;br /&gt;&lt;br /&gt;Acho que é impossível de se avaliar a culpa de um atraso num projecto, pelo menos na maior parte dos casos. A não ser que aja mesmo um grande erro de um dos lados.&lt;br /&gt;&lt;br /&gt;A meu ver a culpa pode ser atribuída aos dois, ao gestor porque não geriu bem o tempo, não explicou precisamente o que era necessário fazer. Ao programador porque demorou mais tempo do que devia a fazer certas partes da aplicação.&lt;br /&gt;&lt;br /&gt;Quem é que deve ser responsabilizado? Depende do caso, mas eu diria que a maior parte das vezes deve ser o gestor, o gestor é o responsável pelo projecto, é ele quem coordena, organiza, planeia todo um projecto. O gestor tem de ter em conta tudo o que se possa passar com os programadores à sua volta.&lt;br /&gt;&lt;br /&gt;Isto aconteceu-me no último projecto onde estive envolvido, que finalizei hoje!&lt;br /&gt;&lt;br /&gt;O que é que aconteceu?&lt;br /&gt;&lt;br /&gt;Eu comecei a desenvolver o &lt;span style="font-style: italic;"&gt;script&lt;/span&gt;, e acabei-o em 3 dias. Tinha feito de acordo com as especificações que me tinham dado.&lt;br /&gt;&lt;br /&gt;No entanto quando foi altura de mostrar ao gestor para ver se estava tudo em ordem, não estava. Afinal o que era um &lt;span style="font-style: italic;"&gt;script &lt;/span&gt;aparentemente fácil de executar sem grandes complicações, deixou de ser. Passou a existir uma quantidade enorme de cálculos com datas ( basicamente aplicar operações de conjuntos a vários intervalos de datas várias vezes com diferenças entre intervalos de datas, uniões e etc's... ).&lt;br /&gt;&lt;br /&gt;Ou seja maior parte do que tinha sido feito, foi simplesmente para o lixo. Toca de refazer praticamente todo o &lt;span style="font-style: italic;"&gt;script &lt;/span&gt;de novo.&lt;br /&gt;&lt;br /&gt;Claro que aplicar todas estas operações no &lt;span style="font-style: italic;"&gt;script&lt;/span&gt; não foi tarefa fácil, e como é lógico atrasou logo tudo montes de tempo.&lt;br /&gt;&lt;br /&gt;Aqui a culpa é de quem?&lt;br /&gt;&lt;br /&gt;Em parte também é minha, porque se calhar devia-me ter informado melhor sobre o que estava a fazer, de maneira a não ter que refazer o &lt;span style="font-style: italic;"&gt;script &lt;/span&gt;outra vez.&lt;br /&gt;&lt;br /&gt;Do gestor, por não ter enunciado logo tudo o que o &lt;span style="font-style: italic;"&gt;script&lt;/span&gt; envolvia, fazendo-me perder tempo, por ter desenvolvido 2 maneiras completamente diferentes.&lt;br /&gt;&lt;br /&gt;Quem é que paga?&lt;br /&gt;&lt;br /&gt;Paguei eu ( que sou o programador ), que tive de vir trabalhar 6º feira ( feriado ) umas duas horas porque o gestor me andava a apertar os calos. ( Embora ache que não tenha culpa no cartório, pelo menos neste caso, e não devia ter ido ).&lt;br /&gt;&lt;br /&gt;Pagou o gestor, porque lhe atrasou tudo o que tinha planeado.&lt;br /&gt;&lt;br /&gt;Paga o cliente, porque em vez de pagar 3 dias de trabalho, vai pagar mais.&lt;br /&gt;&lt;br /&gt;Soluções para que isto nunca aconteça? Pelo que estive a ler sobre "&lt;a href="http://en.wikipedia.org/wiki/Agile_software_development"&gt;Agile Software Development&lt;/a&gt;", parece que é uma boa aposta, partir o software em várias tarefas minúsculas e só passar para a próxima após a anterior estar completa e testada.&lt;br /&gt;&lt;br /&gt;Tenho é impressão que o meu gestor de projecto não vai achar grande piada ( até porque lhe ia aumentar bastante o trabalho )&lt;br /&gt;&lt;br /&gt;Um bom link para se irem entretendo sobre desenvolvimento de produtos "&lt;a href="http://www.jrothman.com/blog/mpd/" target="_blank"&gt;Managing Product Development&lt;/a&gt;", tenho acompanhado o blog e tenho gostado bastante.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8779577075993579471-88510525123082324?l=diariodeumprogramadorweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diariodeumprogramadorweb.blogspot.com/feeds/88510525123082324/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8779577075993579471&amp;postID=88510525123082324' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/88510525123082324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/88510525123082324'/><link rel='alternate' type='text/html' href='http://diariodeumprogramadorweb.blogspot.com/2008/06/projectos-e-atrasos.html' title='Projectos e Atrasos...'/><author><name>Tio</name><uri>http://www.blogger.com/profile/05397096906039652923</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://pwp.netcabo.pt/lancaster/blog/msn2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8779577075993579471.post-3434810183555251258</id><published>2008-03-16T20:51:00.000Z</published><updated>2008-03-16T20:51:57.442Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Incompetência'/><title type='text'>Decisões inteligentes...</title><content type='html'>&lt;div style="text-align: justify;"&gt;Esta 6º feira passada, estive a conversar com um professor, que foi prejudicado pelos concursos de colocação de professores, ou melhor prejudicado pelo software onde o concurso foi efectuado.&lt;br /&gt;&lt;br /&gt;O problema aqui, é que os engenheiros/ministros/quem quer que seja que está à frente do sistema, teve uma ideia brilhante:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;"Não vamos correr o software novo e o antigo ao mesmo tempo, para ver se dão os mesmo resultados! Vamos mas é correr só o novo software e logo se vê."&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;Como podem imaginar deu barraca e não se podia esperar outra coisa, toda a gente sabe que qualquer software desenvolvido, trabalha bem no servidor de testes, agora quando passa para o servidor de produção, aparece sempre qualquer coisa.&lt;br /&gt;&lt;br /&gt;Gostava de saber como é que é possível, aquelas mentes brilhantes, fizeram isto, ora toda a gente sabe, que testa-se sempre primeiro um software em produção. Mantendo o sistema antigo a funcionar, para se poder comparem os dados tanto de um como de outro. Para se ter a certeza que o novo está a funcionar a 100%.&lt;br /&gt;&lt;br /&gt;Claro que podem ter existido mudanças na maneira como era feito o concurso, mas mesmo assim... há que ter os 2 sistemas a funcionar para se ter a certeza que o novo software trabalha bem.&lt;br /&gt;&lt;br /&gt;Não admira que exista montes de gente a queixar-se dos concursos de colocações dos professores...&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8779577075993579471-3434810183555251258?l=diariodeumprogramadorweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diariodeumprogramadorweb.blogspot.com/feeds/3434810183555251258/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8779577075993579471&amp;postID=3434810183555251258' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/3434810183555251258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/3434810183555251258'/><link rel='alternate' type='text/html' href='http://diariodeumprogramadorweb.blogspot.com/2008/03/decises-inteligentes.html' title='Decisões inteligentes...'/><author><name>Tio</name><uri>http://www.blogger.com/profile/05397096906039652923</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://pwp.netcabo.pt/lancaster/blog/msn2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8779577075993579471.post-4376743874282190125</id><published>2008-03-06T22:12:00.004Z</published><updated>2008-03-08T14:03:03.364Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='decisões'/><category scheme='http://www.blogger.com/atom/ns#' term='IE8'/><category scheme='http://www.blogger.com/atom/ns#' term='futuro'/><title type='text'>IE8</title><content type='html'>&lt;div style="text-align: justify;"&gt;Pelos vistos, parece que a Microsoft ganhou &lt;a target="_blank" href="http://blogs.msdn.com/ie/archive/2008/03/03/microsoft-s-interoperability-principles-and-ie8.aspx"&gt;juízo&lt;/a&gt;, e ainda bem!&lt;br /&gt;&lt;br /&gt;Finalmente, vê-se a Microsoft a dar um passo na direcção certa, o que me deixa bastante feliz, e quase de certeza que deixa também muita gente.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://diariodeumprogramadorweb.blogspot.com/2008/01/o-futuro-do-ie.html" target="_blank"&gt;Lembram-se daquela história&lt;/a&gt;, que sempre que construíssemos uma página, tínhamos obrigatoriamente que por um &lt;span style="font-style: italic;"&gt;header&lt;/span&gt;, para se poder usar a última versão possível do IE? E que se não usássemos nada, iria renderizar a página como se estivéssemos  a vê-la no IE7?&lt;br /&gt;&lt;br /&gt;A Microsoft, tomou ( a meu ver ) a decisão certa, se não tiver &lt;span style="font-style: italic;"&gt;header&lt;/span&gt; nenhum o IE8, vai renderizar sempre no motor mais novo, claro que podemos continuar a "trancar" o modo de &lt;span style="font-style: italic;"&gt;render&lt;/span&gt; da página, bastando para isso usar os &lt;a href="http://alistapart.com/articles/beyonddoctype" target="_blank"&gt;&lt;span style="font-style: italic;"&gt;headers&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Fico contente por a Microsoft, ter ouvido a comunidade, e ter tomado a decisão certa, será que vamos ter uma reviravolta na guerra dos &lt;span style="font-style: italic;"&gt;browsers&lt;/span&gt;??&lt;br /&gt;&lt;br /&gt;Embora muita gente, continue sem conhecer alternativas ao IE, muita gente nova, está cada vez mais receptiva às novas tecnologias, e procura alternativas.&lt;br /&gt;&lt;br /&gt;Sem dúvida nenhuma, que o futuro, parece bem melhor face a estas novas revelações.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8779577075993579471-4376743874282190125?l=diariodeumprogramadorweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diariodeumprogramadorweb.blogspot.com/feeds/4376743874282190125/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8779577075993579471&amp;postID=4376743874282190125' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/4376743874282190125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/4376743874282190125'/><link rel='alternate' type='text/html' href='http://diariodeumprogramadorweb.blogspot.com/2008/03/ie8.html' title='IE8'/><author><name>Tio</name><uri>http://www.blogger.com/profile/05397096906039652923</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://pwp.netcabo.pt/lancaster/blog/msn2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8779577075993579471.post-2327588038480632279</id><published>2008-03-03T21:55:00.004Z</published><updated>2008-03-04T09:48:47.785Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='frustação'/><title type='text'>Conselho...</title><content type='html'>&lt;div style="text-align: justify;"&gt;Só vos dou um conselho:&lt;br /&gt;&lt;br /&gt;Se tiverem uma ideia, executem-na, mal tenham tempo para a fazer, porque senão podem acontecer várias coisas:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;Transformam a ideia original, em algo que não vos agrada mesmo nada.&lt;/li&gt;&lt;li&gt;Não vos dão o apoio necessário, para a executarem, e ficam a pensar que a ideia não é realmente grande coisa.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Por exemplo:&lt;br /&gt;Em meados de Dezembro, tive a ideia, de um site que tivesse o preço dos combustíveis, nas várias zonas do país, um sítio, onde qualquer pessoa podesse ir ver/inserir os preços que viu nas bombas que costuma visitar.&lt;br /&gt;&lt;br /&gt;Depois de pensar um pouco nisso, decidi apresentar a ideia à chefia, da minha empresa para saber o que achavam, se tinha pernas para andar, se queriam entrar etc etc..&lt;br /&gt;&lt;br /&gt;O consenso não foi lá muito favorável, para além de quererem logo construir algo que não estava mesmo na minha ideia original, para além de que tinham de existir lucros o que não me interessava, pelo menos no inicio, e o projecto foi para a gaveta.&lt;br /&gt;&lt;br /&gt;Foi para a gaveta, também por minha culpa, que deixei de pensar nisso, e como fazia falta o apoio, deixei andar até ter mais tempo, para o poder executar como deve ser.&lt;br /&gt;&lt;br /&gt;Ontem um amigo mostrou-me um site: &lt;a href="http://www.maisgasolina.com/" target="_blank"&gt;http://www.maisgasolina.com&lt;/a&gt;, e por incrível que pareça é exactamente aquilo que eu tinha idealizado, com menos umas coisas da minha ideia.&lt;br /&gt;&lt;br /&gt;Ou seja, perdeu-se/perdi uma excelente oportunidade para fazer algo com bastante interesse, e que poderia ter bastante sucesso. Vamos ver se o site tem o sucesso que eu esperava que o meu tivesse.&lt;br /&gt;&lt;br /&gt;Registem-se, e actualizem os postos em que passam.&lt;br /&gt;&lt;br /&gt;Repetindo, se tiverem uma ideia, falem com dois ou três amigos, para saberem o que acham. E depois executem-na sem dó nem piedade, porque oportunidades são realmente muito poucas.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8779577075993579471-2327588038480632279?l=diariodeumprogramadorweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diariodeumprogramadorweb.blogspot.com/feeds/2327588038480632279/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8779577075993579471&amp;postID=2327588038480632279' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/2327588038480632279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/2327588038480632279'/><link rel='alternate' type='text/html' href='http://diariodeumprogramadorweb.blogspot.com/2008/03/conselho.html' title='Conselho...'/><author><name>Tio</name><uri>http://www.blogger.com/profile/05397096906039652923</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://pwp.netcabo.pt/lancaster/blog/msn2.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8779577075993579471.post-3367056734943721205</id><published>2008-01-29T21:10:00.000Z</published><updated>2008-01-30T00:08:12.009Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>Altura a 100% de uma div.</title><content type='html'>&lt;div style="text-align: justify;"&gt;Parece-me que existem bastantes dúvidas de como por uma div com altura de 100%, ou seja de modo a ocupar toda a altura de uma janela do browser.&lt;br /&gt;&lt;br /&gt;Então deixo aqui um pequeno tutorial de como o fazer.&lt;br /&gt;&lt;br /&gt;Primeiro vamos definir o css:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;html {&lt;br /&gt; height: 100%;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; body {&lt;br /&gt; margin:0px;&lt;br /&gt; padding:0px;&lt;br /&gt; height:100%;&lt;br /&gt; background-color:#000000;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; #main {&lt;br /&gt; min-height:100%;&lt;br /&gt; height:auto;&lt;br /&gt; margin:0px auto;&lt;br /&gt; width:500px;&lt;br /&gt; background-color:#666666;&lt;br /&gt; color:#FFFFFF;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; /* Para o IE */&lt;br /&gt; * html #main{&lt;br /&gt; height:100%;&lt;br /&gt; }&lt;/blockquote&gt;Explicando, para a nossa div, poder ter todo o tamanho do browser é necessário, que o parent neste caso o body tenha também a altura de 100%, por isso é que o body e html têm a altura de 100%.&lt;br /&gt;&lt;br /&gt;Está lá o &lt;span style="font-style: italic;"&gt;hack&lt;/span&gt; para o IE, porque sem ele o que acontecia era que a div ficava apenas com o tamanho do conteúdo.&lt;br /&gt;&lt;br /&gt;Agora temos o código HTML que é muito simples:&lt;br /&gt;&lt;blockquote&gt;&amp;lt;div id="main"&amp;gt; Conteúdo&amp;lt;div&amp;gt;&lt;br /&gt;&lt;/blockquote&gt;Como se pode ver é extremamente simples, por uma div com a altura a 100%. Podem ver o demo&lt;a target="_blank" href="http://lancaster.freehostia.com/demos/altura_100_a.html"&gt; aqui&lt;/a&gt; ( sem conteúdo suficiente para encher a página  ) e &lt;a href="http://lancaster.freehostia.com/demos/altura_100_b.html" target="_blank"&gt;aqui&lt;/a&gt; ( com conteúdo suficiente para fazer aparecer a scroll bar vertical ), e fazer o download &lt;a target="_blank" href="http://lancaster.freehostia.com/"&gt;aqui&lt;/a&gt; do código de ambas as páginas.&lt;br /&gt;&lt;br /&gt;Esta é um dos 2, 3 métodos que existem para criar div's com 100% de altura, e de entre eles, este é o mais fiável. Pelo que testei.&lt;br /&gt;&lt;br /&gt;Aproveito também para dizer, que já criei uma sandbox, para poder mostrar os demos funcionais do código que for postando aqui. Podem vê-la aqui: &lt;a target="_blank" href="http://lancaster.freehostia.com/"&gt;http://lancaster.freehostia.com/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8779577075993579471-3367056734943721205?l=diariodeumprogramadorweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diariodeumprogramadorweb.blogspot.com/feeds/3367056734943721205/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8779577075993579471&amp;postID=3367056734943721205' title='7 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/3367056734943721205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/3367056734943721205'/><link rel='alternate' type='text/html' href='http://diariodeumprogramadorweb.blogspot.com/2008/01/altura-100-de-uma-div.html' title='Altura a 100% de uma div.'/><author><name>Tio</name><uri>http://www.blogger.com/profile/05397096906039652923</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://pwp.netcabo.pt/lancaster/blog/msn2.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8779577075993579471.post-3126770428088452132</id><published>2008-01-23T21:58:00.000Z</published><updated>2008-01-23T23:07:36.090Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='IE8'/><category scheme='http://www.blogger.com/atom/ns#' term='futuro'/><category scheme='http://www.blogger.com/atom/ns#' term='browser'/><title type='text'>O futuro do IE</title><content type='html'>&lt;div style="text-align: justify;"&gt;Dia 21 deste mês, foi um dia em grande, para a comunidade que desenvolve para a WEB, e tudo por causa de um artigo da autoria de &lt;a target="_blank" href="http://www.alistapart.com/authors/g/aarongustafson"&gt; Aaron Gustafson&lt;/a&gt; escrito no &lt;a href="http://www.alistapart.com/" target="_blank"&gt;A list Apart&lt;/a&gt; intitulado &lt;a target="_blank" href="http://www.alistapart.com/articles/beyonddoctype"&gt;Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;O DOCTYPE, para quem não sabe, é usado basicamente para o browser saber em que modo há-de renderizar a página que lhe estamos a passar, se usarmos um DOCTYPE válido e completo, o browser tenta mostrar a página no modo "&lt;span style="font-style: italic;"&gt;Standard&lt;/span&gt;" ( fazendo com que tudo apareça tal como está escrito nas especificações ), se no entanto não existir uma declaração de DOCTYPE válida ou incompleta, ele vai mostrar a página no modo "&lt;span style="font-style: italic;"&gt;Quirks&lt;/span&gt;", ou seja como se estivesse a ser vista no IE 4.0 ( ou algo parecido ). O DOCTYPE é também usado para fazer validar as páginas, definindo assim qual o "&lt;span style="font-style: italic;"&gt;markup&lt;/span&gt;" que estamos a utilizar por exemplo: "&lt;span style="font-style: italic;"&gt;XHTML 1.0 Transitional&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;A equipa que está a desenvolver o IE8, queria seguir a máxima "&lt;span style="font-style: italic;"&gt;Don’t Break the Web&lt;/span&gt;!", e no que é que isto resultou?&lt;br /&gt;&lt;br /&gt;Decidiram implementar um header que indica ao browser qual o motor que deve utilizar:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;pre&gt;&amp;lt;meta equiv="X-UA-Compatible" content="IE=8"/&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;E desta maneira, quando o IE8 ( ou outra versão superior ao IE8), olhar para este header, vai usar o motor do IE8 para mostrar o conteúdo da página.&lt;br /&gt;&lt;br /&gt;Existe também um parâmetro para quando se quer usar o último motor disponível:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;pre&gt;&amp;lt;meta http-equiv="X-UA-Compatible" content="IE=edge" /&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;O curioso é que se não incluirmos nenhum destes header's na página, o IE vai mostrar a página usando o motor do IE7.&lt;br /&gt;&lt;br /&gt;E aqui é que está o problema. Por um lado tem as suas vantagens, já não é preciso estar a verificar um site, de uma ponta a outra para ver se está tudo bem, e se não tiver, têm que se estar a perder horas e horas de trabalho, para resolver pequenos problemas de design. Mas mantém-nos ( a nós programadores para a WEB ), atentos ao que se passa no resto do mundo o que é uma grande vantagem.&lt;br /&gt;&lt;br /&gt;Mas por outro lado, também atrasa um pouco o desenvolvimento dos padrões "&lt;span style="font-style: italic;"&gt;Standard&lt;/span&gt;", isto porque a tendência, será usar sempre o motor do IE7, porque muita gente não vai usar o header ( existe muita gente a usar o FrontPage, e espantem-se o Publisher para criar páginas ), logo tudo o que tenha sido desenvolvido ( Javascript, e mais importante CSS ) após o lançamento do IE7, não vai funcionar a não ser que se ponha o header correcto.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Para finalizar, a opção default, deveria ser: "Usar sempre o último motor". E no caso de não querermos modificar a página bastaria por o header, com o motor que queremos usar e problema resolvido.&lt;br /&gt;&lt;br /&gt;Referências:&lt;br /&gt;&lt;a target="_blank" href="http://meyerweb.com/eric/thoughts/2008/01/23/version-two/"&gt;meyerweb.com/&lt;/a&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.nczonline.net/archive/2008/1/541"&gt;NCZ Online&lt;/a&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.alistapart.com/articles/beyonddoctype"&gt;A List Apart 1 - Aaron Gustafson&lt;/a&gt;&lt;br /&gt;&lt;a target="_blank" href="http://alistapart.com/articles/fromswitchestotargets"&gt;A List Apart 2 - Eric Meyer&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8779577075993579471-3126770428088452132?l=diariodeumprogramadorweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diariodeumprogramadorweb.blogspot.com/feeds/3126770428088452132/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8779577075993579471&amp;postID=3126770428088452132' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/3126770428088452132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/3126770428088452132'/><link rel='alternate' type='text/html' href='http://diariodeumprogramadorweb.blogspot.com/2008/01/o-futuro-do-ie.html' title='O futuro do IE'/><author><name>Tio</name><uri>http://www.blogger.com/profile/05397096906039652923</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://pwp.netcabo.pt/lancaster/blog/msn2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8779577075993579471.post-1350325371139519064</id><published>2008-01-16T00:06:00.000Z</published><updated>2008-01-16T00:36:57.848Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='manutenção'/><category scheme='http://www.blogger.com/atom/ns#' term='Nicholas C. Zakas'/><title type='text'>Manutenção de Código.</title><content type='html'>&lt;div style="text-align: justify;"&gt;Estive agora a ouvir durante cerca de 45 minutos a palestra do Nicholas C. Zakas, sobre manutenção de código em Javascript...e como é lógico não podia concordar mais com ele em vários pontos. No entanto há muito programador que se esquece da maior parte das coisas que ele fala ( eu inclusive ). Seja pela pressa pela distracção ou outra coisa qualquer. Mas isto não pode acontecer!&lt;br /&gt;&lt;br /&gt;Este problema leva a bastantes dores de cabeça, quer sejamos nós a mexer no código que criámos, quer seja um colega nosso. E quase que aposto que é onde um programador perde mais tempo no seu dia.&lt;br /&gt;&lt;br /&gt;O que fazer para poder resolver este problema tão comum hoje em dia? Arranjar um bom método de trabalho, este penso que é o mais importante que tudo. Não ir em modas, lá porque toda a gente o anda a fazer, não quer dizer nós precisamos de o fazer e que é o melhor para onde o estamos a aplicar. É preciso analisar muito bem o que estamos a fazer para nos podermos atirar de cabeça com tecnologia X ou Y.&lt;br /&gt;&lt;br /&gt;E para além destas duas que dei, outra, é ler, ler e ler ainda mais sobre a matéria em questão.&lt;br /&gt;&lt;br /&gt;Se acham que implementaram alguma coisa mal, procurem por isso na web. Para que quando tiverem que criar algo parecido não caiam no mesmo erro.&lt;br /&gt;&lt;br /&gt;Para finalizar ficam com o link para a palestra que ele deu intitulada: "Maintainable JavaScript".&lt;br /&gt;&lt;a href="http://www.nczonline.net/speaking/" target="_blank"&gt;http://www.nczonline.net/speaking/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Link para o site dele:&lt;br /&gt;&lt;a href="http://www.nczonline.net/" target="_blank"&gt;http://www.nczonline.net/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8779577075993579471-1350325371139519064?l=diariodeumprogramadorweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diariodeumprogramadorweb.blogspot.com/feeds/1350325371139519064/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8779577075993579471&amp;postID=1350325371139519064' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/1350325371139519064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/1350325371139519064'/><link rel='alternate' type='text/html' href='http://diariodeumprogramadorweb.blogspot.com/2008/01/manuteno-de-cdigo.html' title='Manutenção de Código.'/><author><name>Tio</name><uri>http://www.blogger.com/profile/05397096906039652923</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://pwp.netcabo.pt/lancaster/blog/msn2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8779577075993579471.post-3554806597229566191</id><published>2008-01-13T23:58:00.000Z</published><updated>2008-01-16T00:35:36.889Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google Earth'/><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='Incompetência'/><title type='text'>Google Earth download!</title><content type='html'>Se há coisa que me irrite, é quando vou a um site, e esse site começa a dar erros de javascript! E que não nos deixa fazer o que queremos, por causa desses erros..&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;Desta vez foi com o site do &lt;a target="_blank" href="http://earth.google.com/intl/en/"&gt;Google Earth&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;&lt;span class="objectBox objectBox-errorMessage hasTwisty hasBreakSwitch"&gt;&lt;span class="errorSource"&gt;Primeiro pensei que fosse por estar a usar o Firefox, então toca de experimentar o IE e o problema continuava na mesma..&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;O que acontecia, como acontece a muito site por aí, que use o Google Analytics, a função &lt;span class="objectBox objectBox-errorMessage hasTwisty hasBreakSwitch"&gt;&lt;span class="errorSource"&gt;  urchinTracker(); não estava definida!&lt;br /&gt;&lt;br /&gt;Podem ver os erros de tanto do FF, como do IE:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://pwp.netcabo.pt/lancaster/blog/web/google_1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://pwp.netcabo.pt/lancaster/blog/web/google_1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="objectBox objectBox-errorMessage hasTwisty hasBreakSwitch"&gt;&lt;span class="errorSource"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a target="_blank" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://pwp.netcabo.pt/lancaster/blog/web/google_2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://pwp.netcabo.pt/lancaster/blog/web/google_2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="objectBox objectBox-errorMessage hasTwisty hasBreakSwitch"&gt;&lt;span class="errorSource"&gt;&lt;br /&gt;Mas como eu queria mesmo fazer o download, toca de meter mãos à obra com o meu fiel companheiro &lt;a target="_blank" href="http://www.getfirebug.com/"&gt;Firebug&lt;/a&gt;, basicamente é uma extensão para o Firefox, que permite editar e fazer debug no browser.&lt;br /&gt;&lt;br /&gt;O que fiz simplesmente, foi ir à procura da função que o script javascript chamava quando se carregava no botão, e removê-la de lá. Depois foi só carregar no botão e voilá.. Toca de instalar o Google Earth.&lt;br /&gt;&lt;br /&gt;O problema nisto tudo, é que quem visita a página à procura do produto, e vê que não consegue fazer o download, fica logo a pensar: "Mas que incompetentes são estes?!" Pelo menos é o que eu penso..&lt;br /&gt;&lt;br /&gt;E até existem maneiras de dar a volta a isto, uma delas seria passar por verificar se o objecto javascript existe, outra seria por tudo dentro de um &lt;span style="font-weight: bold;"&gt;try catch finally&lt;/span&gt;, e problema resolvido. Mesmo que ele desse erro algures, o utilizador poderia sempre fazer o Download. A isto chama-se javascript não obstrutivo, e que degrada facilmente sem retirar qualquer funcionalidade à página que se está visualizar. E que deixa toda a gente contente!&lt;br /&gt;&lt;br /&gt;Claro que esta solução dá mais trabalho, acrescenta mais código etc etc, mas não é bem mais vantajosa??&lt;br /&gt;&lt;br /&gt;O que é que estes engenheiros/programadores/gestores andam a fazer no Google??&lt;br /&gt;&lt;br /&gt;PS: Quem quiser pode fazer o download directo a partir &lt;a target="_blank" href="http://earth.google.com/support/bin/answer.py?answer=21616&amp;amp;query=download&amp;amp;topic=&amp;amp;type="&gt;daqui&lt;/a&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8779577075993579471-3554806597229566191?l=diariodeumprogramadorweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diariodeumprogramadorweb.blogspot.com/feeds/3554806597229566191/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8779577075993579471&amp;postID=3554806597229566191' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/3554806597229566191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/3554806597229566191'/><link rel='alternate' type='text/html' href='http://diariodeumprogramadorweb.blogspot.com/2008/01/google-earth-download.html' title='Google Earth download!'/><author><name>Tio</name><uri>http://www.blogger.com/profile/05397096906039652923</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://pwp.netcabo.pt/lancaster/blog/msn2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8779577075993579471.post-1352383285437249473</id><published>2008-01-11T01:06:00.000Z</published><updated>2008-01-11T01:08:06.836Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='programador'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><category scheme='http://www.blogger.com/atom/ns#' term='Dreamweaver'/><title type='text'>Ser um programador WEB a sério!</title><content type='html'>&lt;div style="text-align: justify;"&gt;Este não vai ser daqueles post's onde vou dar 2 ou 3 dicas, e pronto é-se um programador WEB de sucesso.&lt;br /&gt;&lt;br /&gt;Primeiro há que distinguir, programador WEB de WEB designer, embora as duas profissões, estejam eternamente ligadas, não são bem a mesma coisa. ( Pelo menos na minha opinião ). Há muita gente que chama a um programador WEB, WEB designer...pelo menos é o que me acontece a mim..&lt;br /&gt;&lt;br /&gt;Um WEB designer, é alguém que desenha as páginas para a WEB, ou seja, cria os layout's para as várias páginas existentes num site.&lt;br /&gt;&lt;br /&gt;O programador WEB, é quem pega no layout feito previamente, e implementa esse layout em código. ( O que às vezes é bem complicado de fazer..)&lt;br /&gt;&lt;br /&gt;Existe muita gente hoje em dia, que faz ambos, cria o layout, e também o implementa.&lt;br /&gt;&lt;br /&gt;Dito isto, e estando feita a distinção, podemos passar para o segundo passo, como é que alguém se pode tornar num programador WEB digno desse nome.&lt;br /&gt;&lt;br /&gt;Hoje em dia, qualquer pessoa pode ter uma página na internet. Existem vários serviços para isso, por exemplo o &lt;a target="_blank" href="https://www.google.com/accounts/ServiceLogin?service=pages"&gt;Google Pages&lt;/a&gt;, para além disso a maior parte dos ISP's têm alojamento gratuito no pacote de acesso à net. E como qualquer pessoa tem o Office, que tem o magnífico FrontPage, consegue fazer uma página em 2 tempos. E publicá-la na WEB.&lt;br /&gt;&lt;br /&gt;Vê-se muito por aí, e cada vez mais, muitos sites completamente detestáveis, que só trabalham bem no IE ( mas isto é outra guerra, portanto fica para depois ), para além de que existem muitas empresas que têm alguém que sabe mexer no FrontPage, e dizem-lhe para criar uma página com umas coisa e pronto, já têm a sua presença na WEB, o que degrada a imagem da empresa.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A minha história:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Eu comecei pelo FrontPage, há cerca de 8 anos atrás, uma coisa muito simples, punha-se uma tabela aqui ( pronto, muitas tabelas ), formatava-se o tipo de letra e a cor acolá. E pronto, tinha-se uma página toda bonita em questões de minutos.&lt;br /&gt;&lt;br /&gt;Passado uns tempos, descobri que fazendo uma página num editor &lt;a target="_blank" href="http://pt.wikipedia.org/wiki/WYSIWYG"&gt;WYSIWYG&lt;/a&gt; ( WYSIWYG é o acrónimo para "&lt;span style="font-weight: bold;"&gt;W&lt;/span&gt;hat &lt;span style="font-weight: bold;"&gt;Y&lt;/span&gt;ou &lt;span style="font-weight: bold;"&gt;S&lt;/span&gt;ee &lt;span style="font-weight: bold;"&gt;I&lt;/span&gt;s &lt;span style="font-weight: bold;"&gt;W&lt;/span&gt;hat &lt;span style="font-weight: bold;"&gt;Y&lt;/span&gt;ou &lt;span style="font-weight: bold;"&gt;G&lt;/span&gt;et"), não era a melhor opção, até porque os editores WYSIWYG não são fiáveis a 100%. Para além do código que geram ser do piorio.&lt;br /&gt;&lt;br /&gt;Nessa altura, decidi remodelar o site que tinha feito, escrevendo tudo à mão, com o Notepad ( foi esta a maneira que aprendi HTML ), ao fazer isto, para além de perder montes de tempo, também aprendi a sintaxe do HTML, de trás para a frente e da frente para trás...&lt;br /&gt;&lt;br /&gt;Passado uns tempos, comecei a usar o Dreamweaver da Macromedia ( syntax highlighting dá mesmo muito jeito, para além de completar as tag's HTML automaticamente.. ). Mas sem usar as propriedades WYSIWYG do software, ou seja faço tudo à mão.&lt;br /&gt;&lt;br /&gt;Para finalizar, os meus conselhos são:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Não usar editores WYSIWYG.&lt;/li&gt;&lt;li&gt;Começar logo por escrever tudo à mão.&lt;/li&gt;&lt;li&gt;Não usar o Notepad.&lt;/li&gt;&lt;li&gt;Usar um bom editor, como por exemplo o Dreamweaver.&lt;/li&gt;&lt;/ul&gt;Existe bastante gente que concorda comigo nestes 4 aspectos. Mas também há muita gente que não.&lt;br /&gt;&lt;br /&gt;Existem algumas pessoas que dizem que programar HTML no Notepad é que é bom, sinceramente não percebo porquê, tudo bem que é rápido e nada pesado, mas tentar mexer numa página HTML, com o Notepad, acho um suicídio autêntico, é bem complicado de se ler. Atenção, que até eu uso o Notepad de vez em quando, para fazer uma alteração muito simples nalgum ficheiro. Agora para desenvolver um site do início nem pensar! Em vez de demorar uma ou duas semanas, se calhar demorava um mês ou dois.&lt;br /&gt;&lt;br /&gt;Estes são os meus conselhos para alguém se tornar num programador WEB, se será bom ou mau, já depende da sua capacidade e vontade. Mas pelo menos poderá dizer que sabe HTML.&lt;br /&gt;&lt;br /&gt;Eu ao fim de 8 anos a programar para WEB, não sei tudo...e ainda hoje continuo à procura de soluções para os problemas que encontro. Até diria que o tempo que um programador WEB gasta, poderá estar dividido da seguinte maneira, 70% em pesquisas, e 30% a programar.&lt;br /&gt;&lt;br /&gt;E não se esqueçam que Roma não foi construída num dia!&lt;br /&gt;&lt;br /&gt;Nota: Não esquecer, que para ser programador WEB, não basta saber HTML, é preciso saber também CSS, algum Javascript e alguma(s) linguagen(s) dinâmica(s) também, como por exemplo o PHP.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8779577075993579471-1352383285437249473?l=diariodeumprogramadorweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diariodeumprogramadorweb.blogspot.com/feeds/1352383285437249473/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8779577075993579471&amp;postID=1352383285437249473' title='8 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/1352383285437249473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/1352383285437249473'/><link rel='alternate' type='text/html' href='http://diariodeumprogramadorweb.blogspot.com/2008/01/ser-um-programador-web-srio.html' title='Ser um programador WEB a sério!'/><author><name>Tio</name><uri>http://www.blogger.com/profile/05397096906039652923</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://pwp.netcabo.pt/lancaster/blog/msn2.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8779577075993579471.post-2972770462134642839</id><published>2007-12-06T21:34:00.000Z</published><updated>2008-01-11T00:51:55.145Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='programador'/><category scheme='http://www.blogger.com/atom/ns#' term='aprender'/><category scheme='http://www.blogger.com/atom/ns#' term='melhorar'/><title type='text'>Bom programador, mau programador</title><content type='html'>&lt;div style="text-align: justify;"&gt;A meu ver a principal característica para se ser um bom programador é ser &lt;span id="lblDlpoDefinicao"&gt;&lt;span class="texto"&gt;&lt;span class="verbete"&gt;autodidacta e ter curiosidade.&lt;br /&gt;&lt;br /&gt;Um bom programador:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span id="lblDlpoDefinicao"&gt;&lt;span class="texto"&gt;&lt;span class="verbete"&gt;É aquele que nunca está contente com o código que escreve. Deve sempre procurar melhores formas de o melhorar.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span id="lblDlpoDefinicao"&gt;&lt;span class="texto"&gt;&lt;span class="verbete"&gt;É aquele que está sempre a estudar/pesquisar, sobre novas formas de abordar/resolver problemas.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span id="lblDlpoDefinicao"&gt;&lt;span class="texto"&gt;&lt;span class="verbete"&gt;É aquele que analisa e estuda um programa com antecedência antes de o tentar programar.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;Um mau programador é o contrário destes 3 pontos, claro que não abordei muita coisa, mas para mim, estes são os pontos fulcrais para uma pessoa ser/tornar num programador.&lt;br /&gt;&lt;br /&gt;Podem também ler este &lt;a href="http://samizdat.mines.edu/howto/HowToBeAProgrammer.html" target="_blank"&gt;guia&lt;/a&gt; intitulado "&lt;a href="http://samizdat.mines.edu/howto/HowToBeAProgrammer.html" target="_blank"&gt;How to be a Programmer:  A Short, Comprehensive, and Personal Summary&lt;/a&gt;" escrito por Robert L. Read.&lt;br /&gt;&lt;br /&gt;Concluindo, um mau programador é aquele que sabe uma coisa, porque precisa de o saber, um bom programador, é aquele que sabe uma coisa porque tem vontade de o saber.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8779577075993579471-2972770462134642839?l=diariodeumprogramadorweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diariodeumprogramadorweb.blogspot.com/feeds/2972770462134642839/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8779577075993579471&amp;postID=2972770462134642839' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/2972770462134642839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/2972770462134642839'/><link rel='alternate' type='text/html' href='http://diariodeumprogramadorweb.blogspot.com/2007/12/bom-programador-mau-programador.html' title='Bom programador, mau programador'/><author><name>Tio</name><uri>http://www.blogger.com/profile/05397096906039652923</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://pwp.netcabo.pt/lancaster/blog/msn2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8779577075993579471.post-8825812987452888449</id><published>2007-11-29T22:25:00.001Z</published><updated>2007-11-29T23:47:02.779Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='Base de dados'/><title type='text'>Web Services - SOAP</title><content type='html'>&lt;div style="text-align: justify;"&gt;Nestas últimas duas semanas tive o prazer de começar a trabalhar com WEB Services, mais propriamente com SOAP, usando a library &lt;a href="http://sourceforge.net/projects/nusoap/" target="_blank"&gt;NuSOAP&lt;/a&gt; para PHP.&lt;br /&gt;&lt;br /&gt;O projecto consistia em centralizar um número variável de bases de dados alojadas em vários locais espalhados por todo o país.&lt;br /&gt;&lt;br /&gt;Tendo lido e ouvido falar sobre SOAP, decidi propor SOAP para se fazer essa centralização, ou pelo menos se fazer alguns testes para se verificar a capacidade do SOAP para fazer a transferência de uma grande quantidade de dados através de uma linha ADSL comum.&lt;br /&gt;&lt;br /&gt;Quando falo em grandes quantidades de dados, refiro-me a tabelas de base de dados com cerca de 256 colunas ( vários tipos ) com mais de 150 mil linhas, este é um dos casos extremos, mas esta tabela virá a crescer diariamente.&lt;br /&gt;&lt;br /&gt;Entretanto ficou outra pessoa responsável pelos testes e exemplos do SOAP, enquanto fiquei a tratar de outros assuntos urgentes.&lt;br /&gt;&lt;br /&gt;Como se pode prever, os testes não foram bem efectuados ou totalmente efectuados, não se chegou a testar o envio de uma grande quantidade de dados.&lt;br /&gt;&lt;br /&gt;Ou seja, quando se foi testar no servidor de produção, verificou-se que a maior parte dos pedidos excediam o tempo de timeout (30 segundos por default  definido no NuSoap), como nesta altura já era eu que estava responsável pelo projecto, tive que assumir as responsabilidades.&lt;br /&gt;&lt;br /&gt;Os pedidos estavam a demorar tanto tempo, porque para além de ser necessário enviar uma grande quantidade de dados, é necessário inserir os dados na base de dados central, o que ainda leva um certo tempo.&lt;br /&gt;&lt;br /&gt;Depois de algumas pesquisas no Google ( o melhor amigo do programador actual ), descobri que para transferir grandes quantidades de dados o SOAP por HTTP, não deve ser usado para estes tipos de transferências, por uma série de razões, torna-se pesado para o servidor/local porque os pedidos têm de ser completamente carregados em memória antes de serem enviados e também introduz muito "overhead".&lt;br /&gt;&lt;br /&gt;Para resolver o problema aumentou-se o tempo de timeout no SOAP para 60 segundos (algo completamente desconhecido pelo meu colega que fez os testes). E até ao momento parece que o problema ficou resolvido. Embora a centralização esteja algo lenta.&lt;br /&gt;&lt;br /&gt;O conselho que posso dar em relação ao uso de SOAP, é que não pode ser usado para transferências de uma grande quantidade de dados ao mesmo tempo, como neste caso específico.&lt;br /&gt;&lt;br /&gt;O problema maior neste projecto, foi a falta de investigação sobre a tecnologia que se ia usar, como é que ela se comporta em vários ambientes, resultando em vários problemas e dores de cabeça para mim.&lt;br /&gt;&lt;br /&gt;Se a tecnologia tivesse sido testada convenientemente poderia-se ter aplicado de maneira diferente ou não ter-se-ia decidido não a usar para fazer a centralização. Poupando bastante tempo.&lt;br /&gt;&lt;br /&gt;Será que é nestes pormenores que se distingue um bom programador de um mau programador? Esta será a programação para o próximo tópico deste blog, como distinguir um bom  programador de um mau programador.&lt;br /&gt;&lt;br /&gt;Em breve também um pequeno tutorial como usar SOAP em PHP usando a library &lt;a href="http://sourceforge.net/projects/nusoap/" target="_blank"&gt;NuSoap&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8779577075993579471-8825812987452888449?l=diariodeumprogramadorweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diariodeumprogramadorweb.blogspot.com/feeds/8825812987452888449/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8779577075993579471&amp;postID=8825812987452888449' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/8825812987452888449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/8825812987452888449'/><link rel='alternate' type='text/html' href='http://diariodeumprogramadorweb.blogspot.com/2007/11/web-services-soap.html' title='Web Services - SOAP'/><author><name>Tio</name><uri>http://www.blogger.com/profile/05397096906039652923</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://pwp.netcabo.pt/lancaster/blog/msn2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8779577075993579471.post-11364467646794645</id><published>2007-11-29T21:56:00.000Z</published><updated>2007-11-29T23:29:05.397Z</updated><title type='text'>echo "O ínicio";</title><content type='html'>&lt;div style="text-align: justify;"&gt;Como se pode ver pela descrição deste Blog, aqui vai tentar-se discutir, algumas das lacunas. problemas, sucessos das pessoas que têm a profissão de programador enquanto batem ao teclado intermináveis linhas de código...&lt;br /&gt;&lt;br /&gt;Sou um programador WEB, e trabalho na mesma empresa à cerca de 2 anos e meio. Frequento a Universidade Nova de Lisboa - Faculdade de Ciências e Tecnologia, onde estive os últimos 6 anos a tentar tirar o curso de Engenharia Electrotécnica, até que decidi mudar este ano para Engenharia Informática, provavelmente a maior, melhor e a mais importante decisão que tomei nestes 26 anos de vida.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8779577075993579471-11364467646794645?l=diariodeumprogramadorweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diariodeumprogramadorweb.blogspot.com/feeds/11364467646794645/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8779577075993579471&amp;postID=11364467646794645' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/11364467646794645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8779577075993579471/posts/default/11364467646794645'/><link rel='alternate' type='text/html' href='http://diariodeumprogramadorweb.blogspot.com/2007/11/como-se-pode-ver-pela-descrio-deste.html' title='echo &quot;O ínicio&quot;;'/><author><name>Tio</name><uri>http://www.blogger.com/profile/05397096906039652923</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://pwp.netcabo.pt/lancaster/blog/msn2.jpg'/></author><thr:total>0</thr:total></entry></feed>
