<?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-4955415392227148151</id><updated>2012-02-16T03:27:38.635-08:00</updated><category term='cakephp'/><category term='utf-8'/><category term='postgres'/><category term='blogger'/><category term='dicas'/><category term='pl sql'/><category term='mysql'/><category term='blog'/><category term='função'/><category term='function'/><category term='sitemap'/><title type='text'>Digaumlima</title><subtitle type='html'>Blog que aborda temas envolvendo programação, tecnologia, informática e internet, além de dicas e macetes.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://digaumlima.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4955415392227148151/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://digaumlima.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Rodrigo Lima, 28 anos, Pós-graduando em Engenharia de Software pelo Infnet. Atualmente trabalha como Webmaster, desenvolvendo sites, hot-sites, portais e um sistema de gestão integrada.</name><uri>http://www.blogger.com/profile/03617628075567490437</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_nnNiqIW2Nqw/TBbiCnT6K_I/AAAAAAAAABs/7otrOGRVWZY/S220/rlima_cartoon_4.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4955415392227148151.post-6445872117529915213</id><published>2010-06-27T16:52:00.000-07:00</published><updated>2010-06-27T16:52:10.474-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='sitemap'/><category scheme='http://www.blogger.com/atom/ns#' term='dicas'/><title type='text'>Adicionar sitemap no blogger</title><content type='html'>&amp;nbsp;&amp;nbsp;Neste post mostro como adicionar de forma útil um sitemap nos blogs feitos com o blogger.&lt;br /&gt;&lt;span id="fullpost"&gt;&amp;nbsp;&amp;nbsp;Para estar bem posicionado nos resultados do Google, é muito importante ter um sitemap (mapa do site), mas como para isso você precisa enviar para o seu servidor o arquivo do sitemap isto se torna algo totalmente inviável nos blogs do blogger.com.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;A primeira coisa a fazer é cadastrar o seu blog nas Ferramentas do Google para webmasters.&amp;nbsp;&amp;nbsp;Depois de cadastrado, clique no menu do lado esquerdo "Configuração do site" e na aba "Sitemaps" que abrirá abaixo. Na página que aparecer, escolha "Enviar um Sitemap".&amp;nbsp;&amp;nbsp;Vai abrir um campo com o endereço do blog que você cadastrou, exemplo "http://seublog.blogspot.com/", no campo em branco logo após o endereço digite :&lt;br /&gt;&lt;code&gt;atom.xml?redirect=false&amp;start-index=1&amp;max-results=200&lt;/code&gt;&amp;nbsp;&amp;nbsp;Clique no botão "Enviar Sitemap" e pronto seu blog já tem um sitemap relacionado. Se você fez tudo corretamente, em alguns minutos os relatórios serão atualizados e o Google checará o arquivo regularmente para manter-se atualizado sobre seus posts.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4955415392227148151-6445872117529915213?l=digaumlima.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digaumlima.blogspot.com/feeds/6445872117529915213/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://digaumlima.blogspot.com/2010/06/adicionar-sitemap-no-blogger.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4955415392227148151/posts/default/6445872117529915213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4955415392227148151/posts/default/6445872117529915213'/><link rel='alternate' type='text/html' href='http://digaumlima.blogspot.com/2010/06/adicionar-sitemap-no-blogger.html' title='Adicionar sitemap no blogger'/><author><name>Rodrigo Lima, 28 anos, Pós-graduando em Engenharia de Software pelo Infnet. Atualmente trabalha como Webmaster, desenvolvendo sites, hot-sites, portais e um sistema de gestão integrada.</name><uri>http://www.blogger.com/profile/03617628075567490437</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_nnNiqIW2Nqw/TBbiCnT6K_I/AAAAAAAAABs/7otrOGRVWZY/S220/rlima_cartoon_4.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4955415392227148151.post-5443701153944571614</id><published>2010-06-23T08:23:00.000-07:00</published><updated>2010-06-23T08:36:12.239-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='function'/><category scheme='http://www.blogger.com/atom/ns#' term='utf-8'/><category scheme='http://www.blogger.com/atom/ns#' term='pl sql'/><category scheme='http://www.blogger.com/atom/ns#' term='função'/><category scheme='http://www.blogger.com/atom/ns#' term='postgres'/><title type='text'>Consulta no postgres com acentos</title><content type='html'>&amp;nbsp;&amp;nbsp;Vou mostrar neste post como utilizar uma função em pl sql que retira acentos, para os casos em que a codificação do seu banco for utf-8.&lt;br /&gt;&lt;span id="fullpost"&gt;&amp;nbsp;&amp;nbsp;Um grande problema que encontrei quando comecei a desenvolver sistemas para web, foi o fato de ter que realizar consultas com palavras acentuadas em bancos de dados com codificação utf-8, e vi que isso era a dúvida e um grande problema para muitos outros desenvolvedores tambem.&lt;br /&gt;&amp;nbsp;&amp;nbsp;Então segue abaixo uma função em pl sql para postgres que retira os acentos, para facilitar na hora da consulta.&lt;br /&gt;&lt;br /&gt;&lt;b style="font-size:10px;color:black;"&gt;Obs: Esta função foi achada em fóruns sobre postgres, por isso não creditei a ninguem, caso alguém conheça o criador do código, deixa como comentário que eu atualizo o post dando o devido crédito.&lt;/b&gt;&lt;br /&gt;&lt;code&gt;CREATE OR REPLACE FUNCTION sem_acento(text)&lt;br /&gt;RETURNS text AS&lt;br /&gt;$BODY$&lt;br /&gt;select&lt;br /&gt;translate($1,'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',&lt;br /&gt;'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC');$BODY$&lt;br /&gt;LANGUAGE 'sql' IMMUTABLE STRICT;&lt;br /&gt;&lt;/code&gt;E depois de criado a função no postgres é só realizar as consultas como no exemplo abaixo:&lt;code&gt;SELECT * FROM Tabela WHERE UPPER(sem_acento(campo_que_deseja_retirar_os_acentos))&lt;br /&gt; LIKE UPPER(sem_acento('%cão%'));&lt;br /&gt;-- Retorna CAO, CÃO, cao, etc.&lt;/code&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4955415392227148151-5443701153944571614?l=digaumlima.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digaumlima.blogspot.com/feeds/5443701153944571614/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://digaumlima.blogspot.com/2010/06/vou-mostrar-neste-post-como-utilizar.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4955415392227148151/posts/default/5443701153944571614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4955415392227148151/posts/default/5443701153944571614'/><link rel='alternate' type='text/html' href='http://digaumlima.blogspot.com/2010/06/vou-mostrar-neste-post-como-utilizar.html' title='Consulta no postgres com acentos'/><author><name>Rodrigo Lima, 28 anos, Pós-graduando em Engenharia de Software pelo Infnet. Atualmente trabalha como Webmaster, desenvolvendo sites, hot-sites, portais e um sistema de gestão integrada.</name><uri>http://www.blogger.com/profile/03617628075567490437</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_nnNiqIW2Nqw/TBbiCnT6K_I/AAAAAAAAABs/7otrOGRVWZY/S220/rlima_cartoon_4.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4955415392227148151.post-6446398706964543825</id><published>2010-06-15T16:22:00.000-07:00</published><updated>2010-06-16T09:37:59.236-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cakephp'/><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><title type='text'>Transactions com Cakephp e Mysql</title><content type='html'>&amp;nbsp;A algum tempo precisei utilizar transactions em um projeto grande desenvolvido em Cakephp e Mysql, e depois de muito esforço e pesquisa em fórums e grupos de discussão consegui fazer funcionar, como mostro a seguir.&lt;span id="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Primeiro o tipo das tabelas tem que ser "InnoDB".&lt;/b&gt;&lt;/span&gt;&lt;code&gt;ALTER TABLE table_name type=InnoDB;&lt;/code&gt;&lt;br /&gt;&amp;nbsp; Por padrão o MySQL é executado em modo autocommit. Isto significa que assim que você&lt;br /&gt; executa uma instrução que atualiza (modifica) uma tabela, o MySQL armazena a atualização&lt;br /&gt; no disco.Se você estiver usando tabelas com segurança a transação (como InnoDB \ ou BDB), você pode colocar o MySQL em modo não autocommit com o seguinte comando:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;$this-&amp;gt;Model1-&amp;gt;query('SET AUTOCOMMIT = 0');&lt;/code&gt;&lt;br /&gt;&amp;nbsp;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;Para iniciar uma transação usa-se o código abaixo:(Note que só usaremos os códigos de transação apenas em um dos models).&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;code&gt;$this-&amp;gt;Model1-&amp;gt;query('START TRANSACTION');&lt;/code&gt;&lt;br /&gt;&amp;nbsp;O código abaixo mostra dois Models(Model1 e Model2) que não tem relacionamento explicito, sendo gravados no banco unicamente quando os dois são validados e retornam como verdade.&amp;nbsp;Tentaremos salvar os Model1 e Model2 com os dados vindos de algum formulário e passaremos a ambos o parâmetro atomic com o valor false, para que o CakePHP entenda que ele não deve salvar os modelos relacionados a esses Models(Model1 e Model2) deixando isso a cargo do código que estamos inserindo.&lt;br /&gt;&amp;nbsp;E depois utilizamos duas variáveis(model1 e model2), para saber se podemos enviar um COMMIT ou um ROLLBACK nas alterações feitas no banco.&lt;code&gt;$this-&amp;gt;Model1-&amp;gt;saveAll($this-&amp;gt;data['Model1'],array('atomic'=&amp;gt;false));$model1=$this-&amp;gt;Model1-&amp;gt;getLastInsertId();&lt;br /&gt;$this-&amp;gt;Model2-&amp;gt;saveAll($this-&amp;gt;data['Model2'],array('atomic'=&amp;gt;false));$model2=$this-&amp;gt;Model2-&amp;gt;getLastInsertId();&lt;/code&gt;&lt;br /&gt;&amp;nbsp;Por fim testamos as variáveis e se as duas não forem nulas, confirmamos no banco com o comando COMMIT e se por acaso acontecer algum problema com a inserção desses dados o ROLLBACK.&lt;br /&gt;&lt;code&gt;if($model1 != null &amp;amp;&amp;amp; $model2 != null){&lt;br /&gt;  $this-&amp;gt;Model1-&amp;gt;query('commit');&lt;br /&gt;   echo "Inserção realizado com sucesso!";&lt;br /&gt;}else{&lt;br /&gt;  $this-&amp;gt;Model1-&amp;gt;query('rollback');&lt;br /&gt;  echo "Operação não realizada!";&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&amp;nbsp;Espero ter ajuda aqueles que estiverem com as mesmas dificuldades que eu tive e gostaria de frisar que essa não é a melhor nem a pior maneira de se fazer transactions utilizando CakePHP e Mysql é só a forma que eu encontrei de fazê-las funcionar sem problemas.&lt;br /&gt;&amp;nbsp;Qualquer dúvida, reclamação ou sugestão sobre o código é só postar um comentário que eu responderei o mais breve possível.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4955415392227148151-6446398706964543825?l=digaumlima.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digaumlima.blogspot.com/feeds/6446398706964543825/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://digaumlima.blogspot.com/2010/06/transactions-com-cakephp-e-mysql.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4955415392227148151/posts/default/6446398706964543825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4955415392227148151/posts/default/6446398706964543825'/><link rel='alternate' type='text/html' href='http://digaumlima.blogspot.com/2010/06/transactions-com-cakephp-e-mysql.html' title='Transactions com Cakephp e Mysql'/><author><name>Rodrigo Lima, 28 anos, Pós-graduando em Engenharia de Software pelo Infnet. Atualmente trabalha como Webmaster, desenvolvendo sites, hot-sites, portais e um sistema de gestão integrada.</name><uri>http://www.blogger.com/profile/03617628075567490437</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://1.bp.blogspot.com/_nnNiqIW2Nqw/TBbiCnT6K_I/AAAAAAAAABs/7otrOGRVWZY/S220/rlima_cartoon_4.jpg'/></author><thr:total>0</thr:total></entry></feed>
