<?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:blogger='http://schemas.google.com/blogger/2008' 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-5085415133197781301</id><updated>2024-09-14T00:21:49.174-03:00</updated><category term="Desenvolvimento Web"/><category term="Ruby on Rails"/><category term="Concursos Públicos"/><category term="Git"/><category term="Google"/><category term="Análise de Sistemas"/><category term="CEP"/><category term="Correios"/><category term="Diagrama de Classe"/><category term="Gem"/><category term="IDEs"/><category term="Livros"/><category term="NetBeans"/><category term="Rastreamento"/><category term="Relatório"/><title type='text'>WEB DEV ROADMAP</title><subtitle type='html'>Guia para estudo de frontend, backend e devops</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://alvaromateus.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://alvaromateus.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Alvaro Mateus</name><uri>http://www.blogger.com/profile/04708496903163110647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOVsehqnv8CKUL-kIM9bL4om_1g3MktXfi5Z_8HBBQjjZ6mSHqj7DgJCivqdMvYfyErrM3EOFrrNQw80e9cb9MBrCeCaTV-mtNvpqNf3NmvlDRKKSRMYEqfYdkOgLu1lBlIYwzOEzFB81MsFAHFaidtufG_FgVrFIju9-g82lNMzYCuQ/s220/2e8158ef-bec7-49c3-9389-7058a74f5ce8%20(1).jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5085415133197781301.post-8026966764103530272</id><published>2011-01-28T14:36:00.000-02:00</published><updated>2011-01-28T14:36:01.095-02:00</updated><title type='text'>Inspiração para novos projetos</title><content type='html'>Estava dando uma olhada no site&amp;nbsp;&lt;span style=&quot;background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;a href=&quot;http://br.wwwhatsnew.com/&quot; id=&quot;internal-source-marker_0.1523065420333296&quot;&gt;http://br.wwwhatsnew.com&lt;/a&gt; &lt;/span&gt;que tem muitos posts que colocam diversos projetos, muitos deles criando funcionalidades pioneiras. Sites como conversores de vídeo on line, sistemas de reputação, etc.&lt;br /&gt;
Dando uma listada nos projetos pode-se ter novas idéias para novos projetos ou para uso próprio destas funcionalidades.&lt;br /&gt;
Mas fica aí a dica para quem precisar de inspiração ou quiser ficar antenado em notícias e projetos recentes.</content><link rel='replies' type='application/atom+xml' href='http://alvaromateus.blogspot.com/feeds/8026966764103530272/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alvaromateus.blogspot.com/2011/01/inspiracao-para-novos-projetos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/8026966764103530272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/8026966764103530272'/><link rel='alternate' type='text/html' href='http://alvaromateus.blogspot.com/2011/01/inspiracao-para-novos-projetos.html' title='Inspiração para novos projetos'/><author><name>Alvaro Mateus</name><uri>http://www.blogger.com/profile/04708496903163110647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOVsehqnv8CKUL-kIM9bL4om_1g3MktXfi5Z_8HBBQjjZ6mSHqj7DgJCivqdMvYfyErrM3EOFrrNQw80e9cb9MBrCeCaTV-mtNvpqNf3NmvlDRKKSRMYEqfYdkOgLu1lBlIYwzOEzFB81MsFAHFaidtufG_FgVrFIju9-g82lNMzYCuQ/s220/2e8158ef-bec7-49c3-9389-7058a74f5ce8%20(1).jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5085415133197781301.post-7287835729895211797</id><published>2010-09-02T13:20:00.000-03:00</published><updated>2010-09-02T13:20:19.182-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Concursos Públicos"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><title type='text'>Livros para concursos</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf3W6UPFlwIuGKHqLEy0NcRlnGeheRhJmpnFOSJo7QId2uGF74XbBxCTPbdoOikPTdep4vJwaLH7aHyytbvUjtwDFPCUh1RfsIiY14de2OI42j1JlstyiTXYMNWeUL7OxMIhdWcy7amsRc/s1600/google-livro[1].jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf3W6UPFlwIuGKHqLEy0NcRlnGeheRhJmpnFOSJo7QId2uGF74XbBxCTPbdoOikPTdep4vJwaLH7aHyytbvUjtwDFPCUh1RfsIiY14de2OI42j1JlstyiTXYMNWeUL7OxMIhdWcy7amsRc/s320/google-livro[1].jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Continuando o meu post e o &quot;plano de estudo&quot; estou disponibilizando a minha &quot;biblioteca&quot; no Google. Usando a ferramenta consegui acesso a diversos livros e os dividi segundo as disciplinas que estão no post anterior.&lt;br /&gt;
Também fica o recado para quem não conheça a ferramenta do Google que dispõem de diversos ebooks.&lt;br /&gt;
Dividi uma &quot;estante&quot; para cada disciplina, eis o link:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://books.google.com.br/books?uid=9003942363704946648&amp;amp;source=gbs_lp_bookshelf_list&quot;&gt;http://books.google.com.br/books?uid=9003942363704946648&amp;amp;source=gbs_lp_bookshelf_list&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://alvaromateus.blogspot.com/feeds/7287835729895211797/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alvaromateus.blogspot.com/2010/09/livros-para-concursos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/7287835729895211797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/7287835729895211797'/><link rel='alternate' type='text/html' href='http://alvaromateus.blogspot.com/2010/09/livros-para-concursos.html' title='Livros para concursos'/><author><name>Alvaro Mateus</name><uri>http://www.blogger.com/profile/04708496903163110647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOVsehqnv8CKUL-kIM9bL4om_1g3MktXfi5Z_8HBBQjjZ6mSHqj7DgJCivqdMvYfyErrM3EOFrrNQw80e9cb9MBrCeCaTV-mtNvpqNf3NmvlDRKKSRMYEqfYdkOgLu1lBlIYwzOEzFB81MsFAHFaidtufG_FgVrFIju9-g82lNMzYCuQ/s220/2e8158ef-bec7-49c3-9389-7058a74f5ce8%20(1).jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhf3W6UPFlwIuGKHqLEy0NcRlnGeheRhJmpnFOSJo7QId2uGF74XbBxCTPbdoOikPTdep4vJwaLH7aHyytbvUjtwDFPCUh1RfsIiY14de2OI42j1JlstyiTXYMNWeUL7OxMIhdWcy7amsRc/s72-c/google-livro[1].jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5085415133197781301.post-4481414246323525896</id><published>2010-08-31T17:41:00.015-03:00</published><updated>2010-08-31T21:12:08.114-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Concursos Públicos"/><title type='text'>Concursos Públicos na área de TI</title><content type='html'>Aqui estou eu 7 meses depois postando novamente, peço desculpas pela ausência.&lt;br /&gt;
Este post serve de divisor de águas para o blog. A partir de agora coloquei como um dos meus objetivos estudar para concursos públicos na área de TI. Até elaborei um plano de estudo (que compartilharei para quem quiser).&amp;nbsp;Portanto agora também estarei postando assuntos relacionados a concursos na área de TI.&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Ainda continuo aficionado por Ruby on Rails, PHP e outras tecnologicas de desenvolvimento web e haverão posts sobre o assunto. Mas como boa parte do meu tempo irei gastar em estudo para concursos que virão, usarei o blog como ferramenta para ajudar quem talvez compartilhe este objetivo comigo.&lt;br /&gt;
&lt;br /&gt;
Para começar segue abaixo a divisão de disciplinas que fiz para meus estudos. São 24 disciplinas divididas em 3 ciclos de estudo. O tempo usado para cada ciclo irá depender para o tempo que cada pessoa irá dispor para estudo. Dividi cada ciclo em 5 dias por semana. No meu caso disponho de&amp;nbsp;4 horas diárias para estudo.&lt;br /&gt;
&lt;br /&gt;
A idéia é não utilizar apostilas durante o estudo, mas como não tenho grana para comprar todos esses livros utilizarei ebooks.&lt;br /&gt;
Estou sempre buscando autores que são referências no assunto como Taneunaum, Monteiro, Silbertchtz. Tenho ebooks para a maioria das disciplinas, caso alguém queira só deixar comentário pedindo.&lt;br /&gt;
&lt;br /&gt;
Ah também inclui três links relacionados a concursos de TI na aba de Links Interessantes&lt;br /&gt;
&lt;br /&gt;
Abaixo a divisão dos ciclos e disciplinas:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAtSaTOACBUOj4kSs8e0NFZJlUptMqH1U9DeDreIKpowl3GJNjfuaP_JgOPupadFgC6jcT8L2sRLOuG0-d2kgTKM0BpzaiE2ntwFeMKXKS8ugWWNk3EnFt4qEODvtGzfdrkcRfC5NIeNXJ/s1600/plano.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAtSaTOACBUOj4kSs8e0NFZJlUptMqH1U9DeDreIKpowl3GJNjfuaP_JgOPupadFgC6jcT8L2sRLOuG0-d2kgTKM0BpzaiE2ntwFeMKXKS8ugWWNk3EnFt4qEODvtGzfdrkcRfC5NIeNXJ/s400/plano.jpg&quot; width=&quot;336&quot; /&gt;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alvaromateus.blogspot.com/feeds/4481414246323525896/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alvaromateus.blogspot.com/2010/08/concursos.html#comment-form' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/4481414246323525896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/4481414246323525896'/><link rel='alternate' type='text/html' href='http://alvaromateus.blogspot.com/2010/08/concursos.html' title='Concursos Públicos na área de TI'/><author><name>Alvaro Mateus</name><uri>http://www.blogger.com/profile/04708496903163110647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOVsehqnv8CKUL-kIM9bL4om_1g3MktXfi5Z_8HBBQjjZ6mSHqj7DgJCivqdMvYfyErrM3EOFrrNQw80e9cb9MBrCeCaTV-mtNvpqNf3NmvlDRKKSRMYEqfYdkOgLu1lBlIYwzOEzFB81MsFAHFaidtufG_FgVrFIju9-g82lNMzYCuQ/s220/2e8158ef-bec7-49c3-9389-7058a74f5ce8%20(1).jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAtSaTOACBUOj4kSs8e0NFZJlUptMqH1U9DeDreIKpowl3GJNjfuaP_JgOPupadFgC6jcT8L2sRLOuG0-d2kgTKM0BpzaiE2ntwFeMKXKS8ugWWNk3EnFt4qEODvtGzfdrkcRfC5NIeNXJ/s72-c/plano.jpg" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5085415133197781301.post-1687417261132412984</id><published>2010-01-27T10:31:00.001-02:00</published><updated>2010-01-27T10:32:15.088-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Git"/><category scheme="http://www.blogger.com/atom/ns#" term="Ruby on Rails"/><title type='text'></title><content type='html'>&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;img alt=&quot;&quot; src=&quot;http://alvaromateus.wordpress.com/files/2009/04/logo.jpg?w=250&quot; /&gt;&lt;br /&gt;
O Busca Impresso é um sistema de cotação de preços para a indústria gráfica, desenvolvido por mim. Basicamente gráficas cadastram informações sobre seus processos, máquinas, papéis e configurações da sua gráfica (percentual de lucro, preço de tinta, etc).&lt;br /&gt;
A partir destas informações o sistema gera um orçamento. O cálculo segue o padrão adotado pela grande maioria das gráficas.&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Neste ponto entra o usuário comum que poderá solicitar determinado produto e o sistema trará a lista com preço e nome da gráfica do referido produto, dando a oportunidade do usuário observar o preço mais baixo.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt; A partir disso o usuário poderá enviar uma ordem de serviço que será enviada via email a todos os vendedores previamente cadastrados na gráfica uma notificação de interesse em determinado produto.&lt;br /&gt;
Sabendo disso o vendedor pode logar-se no sistema, associar-se a ordem de serviço e ver as informações do cliente.&lt;/span&gt;&lt;br /&gt;
Uma versão beta do sistema atéestá no &lt;a href=&quot;http://github.com/ams/buscaimpresso/tree/master&quot;&gt;Github (git://github.com/ams/buscaimpresso.git)&lt;/a&gt;, não foi perfeitamente testado, faltam algumas validações, mas vale para o estudo de Ruby on Rails para iniciantes que procuram algum exemplo.&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alvaromateus.blogspot.com/feeds/1687417261132412984/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alvaromateus.blogspot.com/2010/01/o-busca-impresso-e-um-sistema-de.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/1687417261132412984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/1687417261132412984'/><link rel='alternate' type='text/html' href='http://alvaromateus.blogspot.com/2010/01/o-busca-impresso-e-um-sistema-de.html' title=''/><author><name>Alvaro Mateus</name><uri>http://www.blogger.com/profile/04708496903163110647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOVsehqnv8CKUL-kIM9bL4om_1g3MktXfi5Z_8HBBQjjZ6mSHqj7DgJCivqdMvYfyErrM3EOFrrNQw80e9cb9MBrCeCaTV-mtNvpqNf3NmvlDRKKSRMYEqfYdkOgLu1lBlIYwzOEzFB81MsFAHFaidtufG_FgVrFIju9-g82lNMzYCuQ/s220/2e8158ef-bec7-49c3-9389-7058a74f5ce8%20(1).jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5085415133197781301.post-7129346594578324313</id><published>2010-01-20T16:53:00.034-02:00</published><updated>2010-08-31T20:31:13.466-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Desenvolvimento Web"/><category scheme="http://www.blogger.com/atom/ns#" term="Google"/><title type='text'>Google App Engine com Java</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://www.javahowto.net/images/googleAppEngine.jpeg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.javahowto.net/images/googleAppEngine.jpeg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Foi liberado o suporte a java no Google App Engine. Para quem não sabe o GAE é um serviço que você pode hospedar aplicações Python e agora também Java na estrutura do Google.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;O serviço está limitado aos 10.000 primeiros usuários. Para criar acesse &lt;a href=&quot;http://appengine.google.com/&quot;&gt;http://appengine.google.com&lt;/a&gt;/, após isso você terá a oportunidade de criar 10 aplicações com o dominio &quot;suaaplicação.appspot.com&quot;.  &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Outro ponto é Ruby on Rails pois com Java obviamente o Jruby também rodará, porém com várias restrições devido a segurança. Só testei um &lt;a href=&quot;http://alvaroguestbook.appspot.com/&quot;&gt;demo &lt;/a&gt;que vem ao você instalar o google app engine feito em python, mas aparentemente o deploy é simples.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Mas fica aí o recado para desenvolvedores que quiserem testar suas aplicações. No &lt;a href=&quot;http://www.akitaonrails.com/2009/04/08/breaking-news-jruby-on-rails-on-google-app-engine&quot;&gt;post do akita&lt;/a&gt; sobre o assunto ele faz um passo a passo um deploy de um pequeno blog e fala sobre restrições e como contorná-las.&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://alvaromateus.blogspot.com/feeds/7129346594578324313/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alvaromateus.blogspot.com/2010/01/google-app-engine-com-java.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/7129346594578324313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/7129346594578324313'/><link rel='alternate' type='text/html' href='http://alvaromateus.blogspot.com/2010/01/google-app-engine-com-java.html' title='Google App Engine com Java'/><author><name>Alvaro Mateus</name><uri>http://www.blogger.com/profile/04708496903163110647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOVsehqnv8CKUL-kIM9bL4om_1g3MktXfi5Z_8HBBQjjZ6mSHqj7DgJCivqdMvYfyErrM3EOFrrNQw80e9cb9MBrCeCaTV-mtNvpqNf3NmvlDRKKSRMYEqfYdkOgLu1lBlIYwzOEzFB81MsFAHFaidtufG_FgVrFIju9-g82lNMzYCuQ/s220/2e8158ef-bec7-49c3-9389-7058a74f5ce8%20(1).jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5085415133197781301.post-6368832482411121485</id><published>2010-01-20T16:53:00.032-02:00</published><updated>2010-01-26T16:32:45.074-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Desenvolvimento Web"/><category scheme="http://www.blogger.com/atom/ns#" term="IDEs"/><category scheme="http://www.blogger.com/atom/ns#" term="NetBeans"/><title type='text'>IDEs</title><content type='html'>&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Recentemente baixei a última versão do NetBeans e comecei a me questionar sob a produtividade do meu TextMate para desenvolvimento web. A IDE é realmente bem abrangente. A última versão e suporta Java-web/EE, PHP, Ruby, Ruby on Rails, Grovvy, C/C++. Não utilizei, mas há até editor de diagramas UML, tudo sob a mesma IDE.&amp;nbsp;  Acredito que um desenvolvedor experiente a primeira vista prefira um editor de textos como TextMate e provavelmente ele será mais produtivo nesta ferramenta. Mas e um iniciante na tecnologia não será mais produtivo e seu tempo de aprendizado não será menor utilizando uma IDE? E um usuário experiente em outra tecnologia, não será mais produtivo utilizando uma IDE? &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;E a questão não é somente o NetBeans, a questão deste post é a seguinte: uso a ferramenta X ao invés da Y porque sou mais produtivo ou por preconceito e/ou modismo?&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Continuo desenvolvendo em TextMate mas eventualmente tentarei desenvolver um projeto inteiramente no NetBeans e talvez isso seja tema de futuro post. Lembrando que desenvolvo em Mac, outros SOs Linux e Windows não tem a sorte de ter o TextMate à disposição, porém editores como o Vim com certeza se equiparam a sua produtividade. Tanto que acredito que existam desenvolvedores Mac que utilizam Vim.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Voltando ao NeBeans, vou relacionar algumas funcionalidades que acredito que possam ser de grande valia para desenvolvedores menos experientes ou não:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;strong&gt;Auto complete:&lt;/strong&gt; relacionar todos os métodos é uma opção interessante até mesmo para desenvolvedores experientes.  &lt;img alt=&quot;&quot; height=&quot;460&quot; src=&quot;http://alvaromateus.wordpress.com/files/2009/04/picture-1.png&quot; width=&quot;613&quot; /&gt;  &amp;nbsp;  &lt;strong&gt;Navigator:&lt;/strong&gt; Interessante para códigos extensos, onde é possível acessar métodos e variáveis globais rapidamente.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt; &lt;img alt=&quot;&quot; src=&quot;http://alvaromateus.wordpress.com/files/2009/04/picture-2.png&quot; /&gt; &amp;nbsp;  &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;strong&gt;Botão direito:&lt;/strong&gt; sem acesso a console você pode criar controllers, models, views, usar o rake, usar o console ou até mesmo o IRB. Esta função é interessantes para iniciantes ou para quem não gosta de console.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;  &lt;img alt=&quot;&quot; src=&quot;http://alvaromateus.wordpress.com/files/2009/04/picture-3.png&quot; /&gt;  &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Relacionei algumas funções triviais que existem em outras ferramentas, há outras opções como debug, instalação de gems via IDE, suporte a CSV, Subversion (faltou Git).  Este suporte a esta infinidade de funções e tecnologias acaba se tornando um ponto contra, pois você dificilmente usa todas e estas acabam por alocar recursos, mas sempre há a opção de configuração e adaptação da IDE a suas necessidades.&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://alvaromateus.blogspot.com/feeds/6368832482411121485/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alvaromateus.blogspot.com/2010/01/ides.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/6368832482411121485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/6368832482411121485'/><link rel='alternate' type='text/html' href='http://alvaromateus.blogspot.com/2010/01/ides.html' title='IDEs'/><author><name>Alvaro Mateus</name><uri>http://www.blogger.com/profile/04708496903163110647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOVsehqnv8CKUL-kIM9bL4om_1g3MktXfi5Z_8HBBQjjZ6mSHqj7DgJCivqdMvYfyErrM3EOFrrNQw80e9cb9MBrCeCaTV-mtNvpqNf3NmvlDRKKSRMYEqfYdkOgLu1lBlIYwzOEzFB81MsFAHFaidtufG_FgVrFIju9-g82lNMzYCuQ/s220/2e8158ef-bec7-49c3-9389-7058a74f5ce8%20(1).jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5085415133197781301.post-8287879874328630708</id><published>2010-01-20T16:53:00.030-02:00</published><updated>2010-01-26T16:31:47.215-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CEP"/><category scheme="http://www.blogger.com/atom/ns#" term="Desenvolvimento Web"/><title type='text'>Busca CEP</title><content type='html'>&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;O site &lt;a href=&quot;http://www.republicavirtual.com.br/&quot;&gt;http://www.republicavirtual.com.br/&lt;/a&gt; disponibiliza uma busca dentro da sua base de dados de endereços. Basicamente você tem que requisitar o arquivo web_cep.php do site, ou seja o link http://cep.republicavirtual.com.br/web_cep.php passando como parâmetro o cep e o formato. No exemplo abaixo utilizarei Ruby requisitando em formato query_string, porém você pode receber os dados via xml e javascript. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;code&gt;@c = (params[:cep]); url = &quot;http://cep.republicavirtual.com.br/web_cep.php?cep=#{@c}&amp;amp;formato=query_string&quot; consulta = Net::HTTP.get_response(URI.parse(url)); pesquisa = CGI::parse(consulta.body) pesquisa = Hash[*pesquisa.map { |k, v| [k, v[0]] }.flatten] &lt;/code&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Agora você tem acesso a todas as informações referentes ao CEP na variável pesquisa e pode utiliza-la da forma que achar melhor: Abaixo um exemplo da utilização: &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;code&gt;render :update do |page|&amp;nbsp;&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;code&gt;page[:form_cep_logradouro].value = pesquisa[&#39;logradouro&#39;] page[:form_cep_logradouro].value = pesquisa[&#39;tipo_logradouro&#39;] page[:form_cep_logradouro].value = pesquisa[&#39;bairro&#39;] page[:form_cep_logradouro].value = pesquisa[&#39;cidade&#39;] page[:form_cep_logradouro].value = pesquisa[&#39;uf&#39;] end&lt;/code&gt; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Exemplifiquei eu ruby utilizando query string, mas cabe a você verificar a melhor maneira de utilizar em sua aplição seja como xml ou javascript.  No site &lt;a href=&quot;http://www.republicavirtual.com.br/&quot;&gt;http://www.republicavirtual.com.br/&lt;/a&gt; há implementações em outras linguagens como PHP, ASP, .NET C#, Python, Perl, Java, C++, Delphi e o próprio Ruby, que foi de onde tirei o código acima. Também no mesmo site, há opção para download de uma base de endereços de 2005.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: -webkit-monospace; font-size: 12px; line-height: 16px;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://alvaromateus.blogspot.com/feeds/8287879874328630708/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alvaromateus.blogspot.com/2010/01/busca-cep.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/8287879874328630708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/8287879874328630708'/><link rel='alternate' type='text/html' href='http://alvaromateus.blogspot.com/2010/01/busca-cep.html' title='Busca CEP'/><author><name>Alvaro Mateus</name><uri>http://www.blogger.com/profile/04708496903163110647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOVsehqnv8CKUL-kIM9bL4om_1g3MktXfi5Z_8HBBQjjZ6mSHqj7DgJCivqdMvYfyErrM3EOFrrNQw80e9cb9MBrCeCaTV-mtNvpqNf3NmvlDRKKSRMYEqfYdkOgLu1lBlIYwzOEzFB81MsFAHFaidtufG_FgVrFIju9-g82lNMzYCuQ/s220/2e8158ef-bec7-49c3-9389-7058a74f5ce8%20(1).jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5085415133197781301.post-7003018640695598011</id><published>2010-01-20T16:52:00.010-02:00</published><updated>2010-01-27T10:32:45.934-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Desenvolvimento Web"/><category scheme="http://www.blogger.com/atom/ns#" term="Git"/><category scheme="http://www.blogger.com/atom/ns#" term="Relatório"/><category scheme="http://www.blogger.com/atom/ns#" term="Ruby on Rails"/><title type='text'>Relatório com Ghostscript + Rghost</title><content type='html'>&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Mês passado desenvolvi um pequeno sistema para controle de um cursinho pré-vestibular. O objetivo era controlar os cursos, alunos, responsáveis, e seus débitos.  Me foi requisitado relatórios de inadimples e alunos de determinados curso e encontrei o rghost, excelente ferramenta para criação de relatórios sob o Rails. O Beta do sistema que desenvolvi também está no &lt;a href=&quot;http://github.com/ams/cursoprevestibular/tree/master&quot;&gt;Git&lt;/a&gt;, caso alguém queira estudá-lo.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Voltando ao relatório, primeiro é necessário instalar o Ghostscript, que tem versões para Windows, Linux e Mac. Ele é responsável pela criação dos pdfs.  Após isso é necessário instalar a gem do rghost para usá-lo no Rails: &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;strong&gt;gem install rghost&lt;/strong&gt; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Se você for utilizar códigos de barras há a seguinte gem:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;strong&gt;gem install rghost_barcode&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;strong&gt;&lt;/strong&gt;Após isso é necessário configurar o caminho do Ghostscript, no meu Mac ficou assim: &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;strong&gt;RGhost::Config::GS[:path]= &#39;/usr/local/bin/gs&#39;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;strong&gt;&lt;/strong&gt;Para Windows ficaria algo assim:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;strong&gt;RGhost::Config::GS[:path]= &#39;C:\\gs\\bin\\gswin32c.exe&#39;&lt;/strong&gt; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Acredito que a melhor maneira de entender é ler código que utilizei para gerar os relatórios:&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;img alt=&quot;&quot; height=&quot;286&quot; src=&quot;http://alvaromateus.wordpress.com/files/2009/04/picture-31.png&quot; width=&quot;420&quot; /&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Como já disse o projeto completo está disponível no &lt;a href=&quot;http://github.com/ams/cursoprevestibular/tree/master&quot;&gt;Git&lt;/a&gt; Existe mais uma infinidade de recursos que devem ser explorados, criei um relatório muito simples, para mais detalhes use o &lt;a href=&quot;http://alvaromateus.wordpress.com/files/2009/04/rghost_manual08.pdf&quot;&gt;manual que está disponível aqui.&lt;/a&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://alvaromateus.blogspot.com/feeds/7003018640695598011/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alvaromateus.blogspot.com/2010/01/relatorio-com-ghostscript-rghost.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/7003018640695598011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/7003018640695598011'/><link rel='alternate' type='text/html' href='http://alvaromateus.blogspot.com/2010/01/relatorio-com-ghostscript-rghost.html' title='Relatório com Ghostscript + Rghost'/><author><name>Alvaro Mateus</name><uri>http://www.blogger.com/profile/04708496903163110647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOVsehqnv8CKUL-kIM9bL4om_1g3MktXfi5Z_8HBBQjjZ6mSHqj7DgJCivqdMvYfyErrM3EOFrrNQw80e9cb9MBrCeCaTV-mtNvpqNf3NmvlDRKKSRMYEqfYdkOgLu1lBlIYwzOEzFB81MsFAHFaidtufG_FgVrFIju9-g82lNMzYCuQ/s220/2e8158ef-bec7-49c3-9389-7058a74f5ce8%20(1).jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5085415133197781301.post-2767825845914251816</id><published>2010-01-20T16:51:00.008-02:00</published><updated>2010-01-27T10:37:23.204-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Desenvolvimento Web"/><category scheme="http://www.blogger.com/atom/ns#" term="Diagrama de Classe"/><category scheme="http://www.blogger.com/atom/ns#" term="Gem"/><category scheme="http://www.blogger.com/atom/ns#" term="Ruby on Rails"/><title type='text'>Diagramas de classe a partir de sua aplicação Rails</title><content type='html'>&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Recentemente estive na busca por ferramentas case que tivessem alguma conexão com o Rails, acabei encontrando o &lt;a href=&quot;http://railroad.rubyforge.org/&quot;&gt;RailRoad&lt;/a&gt;, que basicamente gera diagramas de classe a partir de sua aplicação existente.  É uma opção para aplicações onde não há projetos, dando a oportunidade de um melhor entendimento do mesmo.  A instalação é simples, é necessário instalar a gem:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;gem install railroad&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;e instalar o &lt;a href=&quot;http://www.graphviz.org/&quot;&gt;graphviz &lt;/a&gt;responsável pela leitura da saída do programa em formato .dot &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;A utilização é tão fácil quanto a instalação: &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;railroad -o model.dot -M&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;railroad -o controller.dot -C&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;dot -Tpng model.dot &amp;gt; models.png&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;dot -Tpng controller.dot &amp;gt; controller.png&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Pronto agora você tem imagem do seu controller e model  Abaixo diagramas criados no RailRoad:  &lt;img alt=&quot;&quot; src=&quot;http://www.blainekendall.com/uploads/blog/railroad-depot_models_full.png&quot; /&gt; &lt;img alt=&quot;&quot; src=&quot;http://railroad.rubyforge.org/diagrams/depot_controllers_full.png&quot; /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://alvaromateus.blogspot.com/feeds/2767825845914251816/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alvaromateus.blogspot.com/2010/01/diagramas-de-classe-partir-de-sua.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/2767825845914251816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/2767825845914251816'/><link rel='alternate' type='text/html' href='http://alvaromateus.blogspot.com/2010/01/diagramas-de-classe-partir-de-sua.html' title='Diagramas de classe a partir de sua aplicação Rails'/><author><name>Alvaro Mateus</name><uri>http://www.blogger.com/profile/04708496903163110647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOVsehqnv8CKUL-kIM9bL4om_1g3MktXfi5Z_8HBBQjjZ6mSHqj7DgJCivqdMvYfyErrM3EOFrrNQw80e9cb9MBrCeCaTV-mtNvpqNf3NmvlDRKKSRMYEqfYdkOgLu1lBlIYwzOEzFB81MsFAHFaidtufG_FgVrFIju9-g82lNMzYCuQ/s220/2e8158ef-bec7-49c3-9389-7058a74f5ce8%20(1).jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5085415133197781301.post-6472665365001075387</id><published>2010-01-20T16:40:00.011-02:00</published><updated>2010-01-26T16:33:47.234-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Análise de Sistemas"/><category scheme="http://www.blogger.com/atom/ns#" term="Livros"/><title type='text'>Livros</title><content type='html'>&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;http://alvaromateus.wordpress.com/files/2009/04/1732671937_857218c127_m.jpg&quot; /&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Tentarei criar uma lista de livros que, na minha opnião, devem ser lidos por todo bom desenvolvedor web. Também darei minha breve visão da obra. Caso eu conheça a versão e-book deixarei também o link.  Boa parte dessa literatura faz parte da grade acadêmica da maioria dos cursos de graduação de Análise e Desenvolvimento de Sistemas (que também estou cursando), porém muitos deles conheci em fórums, sites, colegas ou até mesmo blogs como este. Portanto faço deste post mais um elo desta rede. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;strong&gt;A ORGANIZAÇÃO&lt;/strong&gt;  Organizarei os livros seguindo as etapas que, acredito que indiferente da metologia, são utilizadas em todos os projetos de desenvolvimento de software: análise de requisitos, projeto, codificação e teste.  A análise de requisitos, mesmo que involuntariamente pode até ser feita em pesquisas na internet, análise de softwares similares ou uma pequena entrevista com o cliente.  Talvez algum possam dizer que fizeram softwares sem projeto, mas acho que até mesmo a criação de prototipos ou uma listagem de funcionalidades escritas em um pedaço de papel podem ser considerados um projeto, um projeto pobre mas mesmo assim um projeto.  Portanto até mesmo quem não conhece toda a teoria por traz de engenharia de software, porém desenvolve softwares, para internet ou não, passa por estas etapas.  Lembrando que não sou um estudioso de metodologias e muitas vezes não aplico todos os passos oficialmente “necessários” em meus projetos. Em certos projetos julgo certo diagrama mais necessário que outro. &amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;strong&gt;1 - ANÁLISE DE REQUISITOS&lt;/strong&gt;  Não lembro de ter lido um livro que fale exclusivamente de análise de requisitos, portanto optei em colocar um clássico da engenharia de software que está nas salas de aula a um bom tempo e que possui extenso material sobre análise de requisitos.  Apesar de as primeiras versões terem vários anos, muitos dos princípios podem ser aplicados a quaisquer projetos atuais. &amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;strong&gt;Engenharia de Software de Roger Pressman&lt;/strong&gt; disponível &lt;a href=&quot;http://www.4shared.com/file/48480806/aace3fb2/Engenharia_de_Software_-_Roger_S_Pressman_6_Rev__1_ao_9_Cap_.html?s=1&quot;&gt;aqui&lt;/a&gt; a 6ª edição do capitulo 1 ao 9. Mas em qualquer biblioteca de uma faculdade onde exista curso de gradução na área deve existir um exemplar. &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;strong&gt;2 - PROJETO&lt;/strong&gt;  &lt;strong&gt;GETTING REAL ou Caindo na real.&lt;/strong&gt; Disponível &lt;a href=&quot;http://gettingreal.37signals.com/GR_por.php&quot;&gt;aqui&lt;/a&gt;, escrito pelo pessoal da 37 Signals, empresa onde David Heinemeier Hansson, criador do Ruby on Rails trabalha. A obra traz uma metodologia focada no problema, com a idéia básica de “menos é mais”, ou seja um sistema deve trazer o mínimo possível de funcionalidades, porém resolver o problema proposto.  Apesar deste livro abordar todas as outras etapas, acho que ele se enquadra mais em projeto.  Lembrando que o livro anteriormente citado de Roger Pressman também é um ótimo título para esta etapa.  No projeto grande parte do tempo é usado na criação de diagramas, onde é necessário a linguagem UML. Há vários títulos mas cito livro dos homens que padronizaram a linguagem de modelagem criando a UML, Raumbaugh, Jacobson e Booch, o título é &lt;strong&gt;UML - Guia do Usuário.&lt;/strong&gt; &amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;strong&gt;3 - CODIFICAÇÃO&lt;/strong&gt;  Citarei algumas linguagens de programação aqui, porém acredito que quem estiver familiarizado com alguma linguagem de programação com algumas horas ou dias em tutoriais e livros pode migrar da linguagem x para y sem problemas.  Mas há regras gerais de um bom programador como separar código “político” dos demais, dividir métodos grandes em sub-métodos, não repetir códigos (copiar colar) ou seja deixa-lo o mais limpo é legível possível, ou um termo que está na moda a algum tempo, tornar seu código DRY (Dont Repeat Yourself). &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;strong&gt;Linguagem C  &lt;/strong&gt;Mesmo este blog ser focado em desenvolvimento web, não posso deixar de mencionar esta linguagem. Apesar de que já ouvi falar de desenvolvimento de projetos web em C como nesta &lt;a href=&quot;http://www.akitaonrails.com/2007/8/6/conversando-com-jamis-buck&quot;&gt;entrevista feita por Fabio Akita a Jamis Buck&lt;/a&gt;.  Mas normalmente a linguagem C é utilizada em projetos de mais “baixo nível” como sistemas operacionais, drivers de dispositivo, linguagens de programação, etc. Claro que não é uma regra, existem desenvolvimento de sistemas comerciais, editores de texto ou qualquer outro software do gênero nesta linguagem.  Mas é inegável que C tem mais afinidade com projetos de mais baixo nível.  Acredito que esta linguagem deveria ser o ponto de partida para todos os programadores iniciantes, mesmo tendo todo este poder, penso que quem programar nela não encontrará dificuldades de migração para outros códigos.  C foi a primeira linguagem de programação que tive contato, ainda lembro das minhas pequenas calculadoras escritas sob o Turbo C e como era divertido brincar com as bibliotecas gráficas. Posteriormente na faculdade a revi no primeiro período do meu curso de Análise e Desenvolvimento de Sistemas Web. &amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Mas voltando as livros, existe uma infinidade de títulos, para iniciantes sugiro este &lt;strong&gt; &lt;a href=&quot;http://www.inf.ufrgs.br/~binsely/tutorialc.pdf&quot;&gt;tutorial &lt;/a&gt; da Unicamp&lt;/strong&gt;  &lt;strong&gt;Java&lt;/strong&gt;  Apesar da programação orientada a objeto existir desde muito antes de sua criação, Java que realmente impulsionou a OO nos desenvolvedores, tanto que muitos chegam a pensar que orientação a objeto surgiu com ela.  Só para citar, o temo orientação a objeto surgiu com a linguagem Smalltalk, apesar de algumas idéia serem usadas até mesmo antes disso. &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Meu contato com Java até agora foi estritamente acadêmico, portanto deixarei um livro que pra mim foi muito bom: o &lt;a href=&quot;http://www.submarino.com.br/produto/1/730400&quot;&gt;&lt;strong&gt;Java como Programar&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; de  Harvey M. Deitel&lt;/strong&gt;.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;Com uma didática que as vezes chega a ser infantil, mas como já disse, para mim foi muito eficiente.  Não posso deixar de mencionar o JSP (Java Server Pages) que foram projetadas para a web. Além de JSP temos frameworks como Struts, Hibernate (estou desatualizado em frameworks Java, devem haver mais) que trazem muito mais produtividade, porém existe uma obra para cada tema, portando deixo a cargo de a quem interessar pesquisar estes temas. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;strong&gt;Estrutura de Dados  &lt;/strong&gt;Optei por abrir um subtítulo em Java para falar de estrutura de dados, apesar de não estar diretamente relacionada a Java, foi a forma que aprendi e que penso ser uma forma muito eficiente de entender listas encadeadas, pilhas, arvores binárias, algoritmos de balanceamento de árvores binárias etc.  O livro é chamado &lt;strong&gt;Estrutura de dados e algoritmos em Java de Robert Lafore&lt;/strong&gt;, o livro é excelente, quem quiser e-book só me contatar.  Estrutura de dados é competência obrigatória para qualquer bom programador portanto realmente vale a pena. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;strong&gt;PHP  &lt;/strong&gt;Esta foi uma das pioneiras em trazer para a web dinamismo. Com consultas em banco dados, trazendo imagens e textos que eram atualizados rapidamente, ela foi bem popularizada na estática web dos idos de 1994.&amp;nbsp;Levando em conta esta popularidade acredito que ninguém encontrará problemas em encontrar material de aprendizado de qualidade para esta linguagem, mas como este post é para sugerir aí vai um título que também foi meu parceiro na faculdade o &lt;a href=&quot;http://www.americanas.com.br/AcomProd/1472/63742&quot;&gt;&lt;strong&gt;PHP a Bíblia&lt;/strong&gt;&lt;/a&gt; de Tim Converse, Joyce Park. &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;strong&gt;Ruby on Rails  &lt;/strong&gt;Esta tecnologia não é uma linguagem de programação mas sim um framework, a linguagem mesmo é Ruby, mas que foi popularizada com a criação do framework. Podemos dizer que todos os títulos abordam grande parte do tema, ao contrário de outras tecnologias como Java que é necessário aprender sobre a linguagem em um título sobre o framework em outro.  Há livros focados somente na linguagem Ruby como o do Eustáquio Rangel que tem versão pdf disponivel em &lt;a href=&quot;http://eustaquiorangel.com/downloads/tutorialruby.pdf&quot;&gt;aqui&lt;/a&gt; e quem tem como título &lt;strong&gt;Ruby Conhecendo a Linguagem&lt;/strong&gt;.  Os que englobam todo a tecnologia Ruby on Rails (ROR) temos o do Fabio Akita &lt;strong&gt;“Repensando a web com rails”&lt;/strong&gt;, porém é de 2006.  Recentemente Urubatan lançou o &lt;a href=&quot;http://livro.urubatan.com.br/&quot;&gt;http://livro.urubatan.com.br/ &lt;/a&gt; mais um, em português a obra mais recente.  Apesar que as principais fontes estarem em inglês. Atualmente temos a terceira edição do&lt;strong&gt; Agile Web Development with Rails&lt;/strong&gt;, com participação do próprio criador do ROR David Heinemeier Hansson. &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Lucida Grande&#39;, Verdana, Arial, &#39;Bitstream Vera Sans&#39;, sans-serif; font-size: 13px; line-height: 19px; white-space: pre-wrap;&quot;&gt;&lt;strong&gt;4 - TESTES&lt;/strong&gt;  Para os testes novamente recomendo a clássica obra de Roger Pressman, Engenharia de Software. Além de Pressman, Yourdon e De Marco são autores consagrados na área. &lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://alvaromateus.blogspot.com/feeds/6472665365001075387/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alvaromateus.blogspot.com/2010/01/livros.html#comment-form' title='4 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/6472665365001075387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/6472665365001075387'/><link rel='alternate' type='text/html' href='http://alvaromateus.blogspot.com/2010/01/livros.html' title='Livros'/><author><name>Alvaro Mateus</name><uri>http://www.blogger.com/profile/04708496903163110647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOVsehqnv8CKUL-kIM9bL4om_1g3MktXfi5Z_8HBBQjjZ6mSHqj7DgJCivqdMvYfyErrM3EOFrrNQw80e9cb9MBrCeCaTV-mtNvpqNf3NmvlDRKKSRMYEqfYdkOgLu1lBlIYwzOEzFB81MsFAHFaidtufG_FgVrFIju9-g82lNMzYCuQ/s220/2e8158ef-bec7-49c3-9389-7058a74f5ce8%20(1).jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5085415133197781301.post-3265176156222096103</id><published>2010-01-20T16:33:00.012-02:00</published><updated>2010-01-26T08:46:58.970-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Correios"/><category scheme="http://www.blogger.com/atom/ns#" term="Desenvolvimento Web"/><category scheme="http://www.blogger.com/atom/ns#" term="Rastreamento"/><category scheme="http://www.blogger.com/atom/ns#" term="Ruby on Rails"/><title type='text'>Rastreamento de encomendas do Correio</title><content type='html'>Antes de mais nada se você não é desenvolvedor e procura uma encomenda dos correios entre neste &lt;a href=&quot;http://www.correios.com.br/servicos/rastreamento/rastreamento.cfm&quot;&gt;&lt;b&gt;link&amp;nbsp;&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Se você tem um site de comércio eletrônico e faz envio das encomendas via Correios, uma boa opção para os clientes anciosos do site é ver onde está a encomenda.&lt;br /&gt;
Para isso Guilherme Chapiewski disponibiliza uma api muito simples para acesso as informações de rastreamento do correio.&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
Como a maioria dos bons projetos ele está disponível no &lt;a href=&quot;http://github.com/guilhermechapiewski/correios-api/tree/master&quot;&gt;GitHub&lt;/a&gt;.&lt;br /&gt;
A instalação pode ser feita com o gem direto do github:&lt;br /&gt;
Descreverei a utilização em Ruby on Rails, para outras plataformas acesse o &lt;a href=&quot;http://guilhermechapiewski.github.com/correios-api/&quot;&gt;site da API&lt;/a&gt;.&lt;br /&gt;
&lt;h5&gt;&lt;code&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt; $ gem sources -a http://gems.github.com&lt;br /&gt;
$ sudo gem install guilhermechapiewski-correios-api&lt;/span&gt;&lt;/code&gt;&lt;/h5&gt;A utilização é tão fácil quanto a instalação:&lt;br /&gt;
Incluindo os devidos requires:&lt;br /&gt;
&lt;h5&gt;&lt;code&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;require &quot;rubygems&quot;&lt;br /&gt;
require &quot;correios&quot;&lt;/span&gt;&lt;/code&gt;&lt;/h5&gt;Basta ter o número da encomenda&lt;br /&gt;
&lt;span style=&quot;font-family: monospace; font-size: 11px;&quot;&gt;encomenda = Correios.encomenda(&quot;ES446391025BR&quot;)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Para ter acesso aos seguintes atributos numa array:&lt;br /&gt;
&lt;h5&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;encomenda.status.each do |status|&lt;br /&gt;
puts &quot; data: #{status.data}&quot;&lt;br /&gt;
puts &quot; local: #{status.local}&quot;&lt;br /&gt;
puts &quot; situacao: #{status.situacao}&quot;&lt;br /&gt;
puts &quot; detalhes: #{status.detalhes}&quot;&lt;br /&gt;
end&lt;/span&gt;&lt;/h5&gt;</content><link rel='replies' type='application/atom+xml' href='http://alvaromateus.blogspot.com/feeds/3265176156222096103/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://alvaromateus.blogspot.com/2010/01/rastreamento-de-encomendas-do-correio.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/3265176156222096103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5085415133197781301/posts/default/3265176156222096103'/><link rel='alternate' type='text/html' href='http://alvaromateus.blogspot.com/2010/01/rastreamento-de-encomendas-do-correio.html' title='Rastreamento de encomendas do Correio'/><author><name>Alvaro Mateus</name><uri>http://www.blogger.com/profile/04708496903163110647</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOVsehqnv8CKUL-kIM9bL4om_1g3MktXfi5Z_8HBBQjjZ6mSHqj7DgJCivqdMvYfyErrM3EOFrrNQw80e9cb9MBrCeCaTV-mtNvpqNf3NmvlDRKKSRMYEqfYdkOgLu1lBlIYwzOEzFB81MsFAHFaidtufG_FgVrFIju9-g82lNMzYCuQ/s220/2e8158ef-bec7-49c3-9389-7058a74f5ce8%20(1).jpg'/></author><thr:total>0</thr:total></entry></feed>