tag:blogger.com,1999:blog-88809530537771207732024-03-13T03:18:02.442-07:00Estudar ComputaçãoBlog sobre o estudo da Ciência da Computação, pra quem gosta de pesquisar e aprender por conta própria.Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comBlogger90125tag:blogger.com,1999:blog-8880953053777120773.post-22123122007989489842016-05-09T13:34:00.000-07:002016-05-09T13:39:27.281-07:00Sorteio do livro “Aprenda a programar com Minecraft”, da Ed. Novatec<div style="font-family: ArialMT;">
<b style="color: windowtext; font-family: Tahoma; font-size: 14px;">“Aprenda a programar com Minecraft” ensina a usar a linguagem Python para construir, criar e personalizar o Minecraft</b><br />
<br />
<div class="MsoNormal">
<span style="clear: left; float: left; font-family: "tahoma"; font-size: 14px; margin-bottom: 1em; margin-right: 1em;"> <img class="CToWUd" height="209" src="https://mail.google.com/mail/u/0/?ui=2&ik=6eaf101590&view=fimg&th=1547ba232e162d6e&attid=0.1.1&disp=emb&attbid=ANGjdJ_Zlrn7SskJIecdZycVwLkA2Ax_QKEycPu_DC0OOBvVUXXtceLUpdd1dHCtMcmsJ4zbFCA47WAo1HLgRZsGBNPXFWloZdLL3CZa3KAzWevPM5vazBL9YN9QlXo&sz=w300-h418&ats=1462824583515&rm=1547ba232e162d6e&zw&atsh=0" width="150" /></span></div>
<div class="MsoNormal">
<span style="font-family: "tahoma"; font-size: 14px;">Você
já derrotou creepers, fez viagens a cavernas profundas e, talvez, até
tenha ido ao The End e voltado. Mas por acaso você já transformou uma
espada numa varinha mágica? Construiu um palácio num piscar de olhos? Ou
criou a sua própria pista de dança com luzes piscando?</span></div>
<div class="MsoNormal">
<span style="font-family: "tahoma"; font-size: 14px;">Com o livro <a data-saferedirecturl="https://www.google.com/url?hl=en&q=http://novatec.com.br/livros/aprenda-programar-minecraft/&source=gmail&ust=1462910983516000&usg=AFQjCNE5-1TClCjleMplpNCbIEmAP6qKjg" href="http://novatec.com.br/livros/aprenda-programar-minecraft/" target="_blank">Aprenda a programar com Minecraft</a> você
fará tudo isso ao mesmo tempo em que aprende a programar em Python, a
linguagem usada por milhões de programadores profissionais e iniciantes.</span></div>
<div class="MsoNormal">
<span style="font-family: "tahoma"; font-size: 14px;">O
livro inicia com lições simples no Python; conforme o leitor adquire
conhecimento, aprende a modificar o Minecraft e produzir resultados
instantâneos. Com a leitura, crianças, jovens e adultos aprenderão a
fazer minigames, duplicar casas, transformar blocos comuns em ouro,
viajar de teletransporte, construir pirâmides e florestas, criar
passagens secretas, construir blocos raros e muito mais.</span></div>
<div class="MsoNormal">
<span style="font-family: "tahoma"; font-size: 14px;"><span style="line-height: 16.100000381469727px;">O leitor verá o Minecraft sob uma nova perspectiva, aprendendo, ao mesmo tempo, os conceitos básicos de programação. Com </span><a data-saferedirecturl="https://www.google.com/url?hl=en&q=http://novatec.com.br/livros/aprenda-programar-minecraft/&source=gmail&ust=1462910983517000&usg=AFQjCNHqrF2vR58Blw8f6K-JBeLD5O3i_A" href="http://novatec.com.br/livros/aprenda-programar-minecraft/" target="_blank"><span style="line-height: 16.100000381469727px;">Aprenda a programar com Minecraft</span></a><span style="line-height: 16.100000381469727px;"> você não precisará mais passar o dia todo garimpando </span></span><span style="font-family: "tahoma"; font-size: 14px; line-height: 16.100000381469727px;">pedras preciosas ou construindo sua mansão manualmente. Com o poder do Python, esses dias acabaram!</span></div>
<span style="font-size: 14px; line-height: 16.100000381469727px;"><span style="font-family: "tahoma";">Sobre o autor</span></span><br />
<span style="font-family: "tahoma"; font-size: 14px;"><b><span style="line-height: 16.100000381469727px;">Craig Richardson</span></b><span style="line-height: 16.100000381469727px;"> é
desenvolvedor de software e professor de Python. Trabalhou para a
Fundação Raspberry Pi, foi professor de computação do ensino médio e
ministrou muitos workshops sobre programação em Python com Minecraft.</span></span><br />
<div>
<span style="font-family: "tahoma"; font-size: 14px;"><br /></span></div>
<div>
<span style="font-family: "tahoma"; font-size: 14px;">360 páginas</span></div>
<div>
<span style="font-family: "tahoma"; font-size: 14px;">ISBN 978857522493-9</span></div>
<div>
<span style="font-family: "tahoma"; font-size: 14px;"><a data-saferedirecturl="https://www.google.com/url?hl=en&q=http://www.novatec.com.br/livros/aprenda-programar-minecraft/&source=gmail&ust=1462910983517000&usg=AFQjCNHRAfp2QZnNoQ5FiibqNi59YW-9wA" href="http://www.novatec.com.br/livros/aprenda-programar-minecraft/" target="_blank">http://www.novatec.com.br/<wbr></wbr>livros/aprenda-programar-<wbr></wbr>minecraft/</a></span></div>
<br />
<hr />
<br />
<div>
<span style="font-family: "tahoma"; font-size: 14px;">Para participar, você deve seguir as regras de sempre:<br />
1. O participante deverá curtir a página da Novatec (<a href="https://www.facebook.com/novatec" rel="i nofollow" target="_blank">https://www.facebook.com/novatec</a>)<br />
2. O participante deverá ter um endereço de entrega no Brasil<br />
3. O sorteio será realizado até 23h59 do dia <b>27/05/2016</b><br />
4. O ganhador terá até uma semana (dia 03/06/2016) para entrar em contato, através desta <i>fanpage</i> ("Estudar
Computação") ou pelo e-mail lelimaufc@gmail.com. Caso contrário, o
sorteio será refeito.<br />
5. O perfil do participante deve ser real. Não serão aceitos perfis que
são usados somente para a participação em promoções ou somente para o
uso de jogos.<br />
6. A
Novatec conferirá se o ganhador seguiu as regras da promoção. Se
estiver tudo certo, o livro escolhido pelo ganhador será enviado.
Caso contrário, o sorteio será refeito. <br />
<br />
Link para o sorteio: </span><a href="https://www.sorteiefb.com.br/tab/promocao/553400" rel="i" target="_BLANK">https://www.sorteiefb.com.br/tab/promocao/553400</a></div>
<div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-63350421255207462992015-02-06T06:50:00.001-08:002015-02-06T06:54:44.098-08:00Sorteio do livro "Como ser um programador melhor", da editora Novatec, e desconto de 20% para leitores do blog<h1 align="center" style="margin-bottom: 6.0pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: center;">
<span style="font-size: 16px;"><span style="font-family: arial,helvetica,sans-serif;"><span style="color: windowtext;">Novatec Editora lança o livro “Como ser um programador melhor”</span></span></span></h1>
<div align="center" class="MsoNormal" style="text-align: center;">
<span style="font-size: 14px;"><span style="font-family: arial,helvetica,sans-serif;"><i>Título
reúne as melhores práticas da programação e dicas de comportamento para
impulsionar a carreira e tornar o trabalho mais agradável e produtivo</i></span></span><span style="font-family: arial,helvetica,sans-serif; font-size: 14px;"> </span></div>
<div align="center" class="MsoNormal" style="text-align: center;">
</div>
<h1 style="margin-bottom: 6.0pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm; text-align: justify; text-justify: inter-ideograph;">
<span style="font-size: 14px;"><span style="font-family: arial,helvetica,sans-serif;"><span style="color: windowtext; font-weight: normal;">Bons
programadores escrevem bons códigos. E bons códigos não surgem do nada
ou por sorte. É preciso trabalhar com dedicação e inteligência e saber o
que você está fazendo, além de investir tempo e esforço em seu
trabalho. Também é necessário ter alguns conhecimentos básicos sobre
codificação, conhecer as melhores práticas de programação e ter o
comportamento adequado no ambiente de trabalho para que ele não se torne
uma tarefa árdua e difícil.</span></span></span></h1>
<div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span style="font-size: 14px;"><span style="font-family: arial,helvetica,sans-serif;">Foi pensando em tudo isso que o autor Pete Goodliffe reuniu no livro “<a href="http://marketing.novatec.com.br/registra_clique.php?id=H%7C833609%7C179261%7C146561&url=http%3A%2F%2Fwww.novatec.com.br%2Flivros%2Fprogramador-melhor%2F" target="_blank">Como ser um programador melhor</a>”,
publicado no Brasil pela Novatec Editora, tudo o que aprendeu em seus
15 anos de carreira sobre como lidar com códigos, conhecer bem os
negócios e melhorar seu desempenho no trabalho. O conteúdo é útil tanto
para desenvolvedores experientes como para profissionais novatos e
estudantes.</span></span></div>
<div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-M0KAD1IEqi8/VNTRgQsLedI/AAAAAAAABkU/IPBkx6FTuAo/s1600/livro_como_se_tornar_um_programador_melhor.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-M0KAD1IEqi8/VNTRgQsLedI/AAAAAAAABkU/IPBkx6FTuAo/s1600/livro_como_se_tornar_um_programador_melhor.jpg" height="320" width="231" /></a></div>
<br />
<div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<br /></div>
<br />
<div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span style="font-family: arial,helvetica,sans-serif; font-size: 14px;">“<a href="http://marketing.novatec.com.br/registra_clique.php?id=H%7C833609%7C179261%7C146561&url=http%3A%2F%2Fwww.novatec.com.br%2Flivros%2Fprogramador-melhor%2F" target="_blank">Como ser um programador melhor</a>” possui dicas divididas em cinco categorias:</span></div>
<ul>
<li>
<span style="font-family: arial,helvetica,sans-serif; font-size: 14px;">Técnicas de codificação para compor linhas de código, testar, depurar e lidar com a complexidade.</span></li>
<li>
<span style="font-family: arial,helvetica,sans-serif; font-size: 14px; text-align: justify;">Práticas, abordagens e atitudes para manter a simplicidade, trabalhar bem em equipe e reutilizar e criar códigos maleáveis.</span></li>
<li>
<span style="font-family: arial,helvetica,sans-serif; font-size: 14px; text-align: justify;">Táticas para aprender de maneira eficiente, comportar-se de modo ético, encontrar desafios e evitar a estagnação.</span></li>
<li>
<span style="font-family: arial,helvetica,sans-serif; font-size: 14px; text-align: justify;">Maneiras práticas de completar tarefas: as ferramentas certas, qual é a aparência de “pronto” e procurar ajuda dos colegas</span></li>
<li>
<span style="font-family: arial,helvetica,sans-serif; font-size: 14px; text-align: justify;">Hábitos para trabalhar bem com outras pessoas e encarar o desenvolvimento como uma atividade social.</span></li>
</ul>
<div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;">
<span style="font-size: 14px;"><span style="font-family: arial,helvetica,sans-serif;"><br /></span></span></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt; text-autospace: none;">
<span style="font-size: 14px;"><span style="font-family: arial,helvetica,sans-serif;"><b><span style="color: black;">Sobre o autor</span></b></span></span></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt; text-autospace: none;">
<span style="font-size: 14px;"><span style="font-family: arial,helvetica,sans-serif;">Pete
Goodliffe é programador, colunista que escreve sobre desenvolvimento de
software, músico e autor. Ele jamais permanece no mesmo ponto da cadeia
alimentar de software. Pete é autor de uma coluna chamada “Becoming a
Better Programmer” (Como ser um programador melhor) para uma revista,
colaborou com vários livros sobre desenvolvimento de software e dá
palestras regularmente sobre esse assunto.</span></span></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt; text-autospace: none;">
<span style="font-size: 14px;"><span style="font-family: arial,helvetica,sans-serif;">“Este
livro alimentará a sua paixão pela arte e pela ciência da programação.
Pete entende que um bom software é resultado de boas pessoas fazendo o
seu melhor trabalho.”– Lisa Crispin, autora de <i>Agile Testing: A Practical Guide for Testers and Agile Teams</i></span></span></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt; text-autospace: none;">
<span style="font-size: 14px;"><span style="font-family: arial,helvetica,sans-serif;"><i><span style="font-size: 14px;"><span style="font-family: arial,helvetica,sans-serif;"><b>Livro:</b> Como ser um programador melhor - Um manual para programadores que se importam com código<br />
</span></span><b style="font-family: arial,helvetica,sans-serif; font-size: 14px; text-indent: 0cm;"><span lang="EN-US" style="color: windowtext;">Autor:</span></b><span lang="EN-US" style="color: windowtext; font-family: arial,helvetica,sans-serif; font-size: 14px; text-indent: 0cm;"> Pete Goodliffe<br />
</span><span lang="EN-US" style="color: windowtext; font-family: arial,helvetica,sans-serif; font-size: 14px; text-indent: 0cm;"><b>Tradução: </b></span><span lang="EN-US" style="font-family: arial,helvetica,sans-serif; font-size: 14px; text-indent: 0cm;">Lúcia A. Kinoshita<br />
</span><b style="font-family: arial,helvetica,sans-serif; font-size: 14px; text-indent: 0cm;"><span lang="EN-US" style="color: windowtext;">Revisão gramatical: </span></b><span lang="EN-US" style="font-family: arial,helvetica,sans-serif; font-size: 14px; text-indent: 0cm;">Marta Almeida de Sá<br />
</span><b style="font-family: arial,helvetica,sans-serif; font-size: 14px; text-indent: 0cm;"><span lang="EN-US" style="color: windowtext;">ISBN:</span></b><span lang="EN-US" style="color: windowtext; font-family: arial,helvetica,sans-serif; font-size: 14px; text-indent: 0cm;"> </span><span lang="EN-US" style="color: windowtext; font-family: arial,helvetica,sans-serif; font-size: 14px; text-indent: 0cm;">978-85-7522-415-1<br />
</span><b style="font-family: arial,helvetica,sans-serif; font-size: 14px; text-indent: 0cm;"><span style="color: windowtext;">Número de páginas:</span></b><span style="color: windowtext; font-family: arial,helvetica,sans-serif; font-size: 14px; text-indent: 0cm;"> </span><span style="font-family: arial,helvetica,sans-serif; font-size: 14px; text-indent: 0cm;"><span style="color: windowtext;">384</span></span></i></span></span></div>
<div class="MsoNormal" style="margin-bottom: 6.0pt; text-autospace: none;">
<span style="font-size: 14px;"><span style="font-family: arial,helvetica,sans-serif;"><i><span style="font-family: arial,helvetica,sans-serif; font-size: 14px; text-indent: 0cm;"><span style="color: windowtext;"> </span></span> </i></span></span></div>
<br />
<hr />
<br />
Para participar, você deve seguir as regras de sempre:<br />
1. O participante deverá curtir a página da Novatec (<a href="https://www.facebook.com/novatec" rel="i nofollow" target="_blank">https://www.facebook.com/novatec</a>)<br />
2. O participante deverá ter um endereço de entrega no Brasil<br />
3. O sorteio será realizado até 23h59 do dia <b>09/03/2015</b><br />
4. O ganhador terá até uma semana (dia 16/03/2015) para entrar em contato, através desta <i>fanpage</i> ("Estudar
Computação") ou pelo e-mail lelimaufc@gmail.com. Caso contrário, o
sorteio será refeito.<br />
5. O perfil do participante deve ser real. Não serão aceitos perfis que são usados somente para a participação em promoções ou somente para o uso de jogos.<br />
6. A
Novatec conferirá se o ganhador seguiu as regras da promoção. Se
estiver tudo certo, o livro escolhido pelo ganhador será enviado.
Caso contrário, o sorteio será refeito. <br />
<br />
Link para o sorteio: <a href="https://www.sorteiefb.com.br/tab/promocao/425356" rel="i" target="_BLANK">https://www.sorteiefb.com.br/tab/promocao/425356</a> <br />
<br />
<br />
<hr />
<br />
E continua o desconto de 20% em qualquer livro comprado no site da editora Novatec se for adicionado o código <b>ESTUDARCOMPUTACAO</b>. Esse desconto continua válido até o fim de 2015.<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comPhiladelphia, PA, USA39.9525839 -75.1652215000000339.5633714 -75.810668500000034 40.3417964 -74.519774500000025tag:blogger.com,1999:blog-8880953053777120773.post-10114124083207600342015-02-04T11:49:00.000-08:002015-02-04T11:54:45.286-08:00Startup americana propõe soluções para desenvolvedores<style>
<!--
/* Font Definitions */
@font-face
{font-family:Verdana;
panose-1:2 11 6 4 3 5 4 4 2 4;
mso-font-charset:0;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:-1593833729 1073750107 16 0 415 0;}
@font-face
{font-family:Verdana;
panose-1:2 11 6 4 3 5 4 4 2 4;
mso-font-charset:0;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:-1593833729 1073750107 16 0 415 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;
mso-font-charset:0;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:-520092929 1073786111 9 0 415 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
margin-top:0in;
margin-right:0in;
margin-bottom:8.0pt;
margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:Calibri;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-ansi-language:PT-BR;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
mso-themecolor:hyperlink;
text-decoration:underline;
text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-noshow:yes;
mso-style-priority:99;
color:#954F72;
mso-themecolor:followedhyperlink;
text-decoration:underline;
text-underline:single;}
p.Normal1, li.Normal1, div.Normal1
{mso-style-name:Normal1;
mso-style-unhide:no;
mso-style-parent:"";
margin-top:0in;
margin-right:0in;
margin-bottom:8.0pt;
margin-left:0in;
line-height:107%;
mso-pagination:widow-orphan;
font-size:11.0pt;
mso-bidi-font-size:10.0pt;
font-family:Calibri;
mso-fareast-font-family:Calibri;
mso-bidi-font-family:Calibri;
color:black;}
.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes;
font-size:11.0pt;
mso-ansi-font-size:11.0pt;
mso-bidi-font-size:11.0pt;
font-family:Calibri;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-ansi-language:PT-BR;}
.MsoPapDefault
{mso-style-type:export-only;
margin-bottom:8.0pt;
line-height:107%;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;
mso-header-margin:.5in;
mso-footer-margin:.5in;
mso-paper-source:0;}
div.WordSection1
{page:WordSection1;}
</style> <br />
<div align="center" class="Normal1" style="line-height: 150%; text-align: center;">
<i style="mso-bidi-font-style: normal;"><span lang="PT-BR" style="background: white; color: #222222; font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana; mso-highlight: white;">Com sede em Belo Horizonte, a Appbase promete melhorar
o desempenho dos processos de desenvolvimento de aplicativos.</span></i><span lang="PT-BR" style="font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR;"></span></div>
<div class="Normal1" style="line-height: 150%; text-align: justify;">
<br />
<span lang="PT-BR" style="background: white; color: #222222; font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana; mso-highlight: white;">Por trás de uma experiência positiva no uso dos
aplicativos, existe um processo de programação bastante complexo e que existe
atenção do desenvolvedor. Com o objetivo de intermediar esse processo, a <b style="mso-bidi-font-weight: normal;">Appbase</b> é uma <i style="mso-bidi-font-style: normal;">startup</i> que se propõe a solucionar problemas de escalabilidade,
permitir uma melhor administração do banco de dados e aplicações em tempo real.
Criada em 2014 em Pittsburgh, na Pensilvânia, nos Estados Unidos, a empresa
chegou ao Brasil graças ao programa de aceleração Start-Up Brasil. O produto está
disponível para cadastro no site </span><a href="http://appbase.io/"><span lang="PT-BR" style="background: white; font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana; mso-highlight: white;">http://appbase.io/</span></a><span lang="PT-BR" style="background: white; color: #222222; font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana; mso-highlight: white;">.</span><span lang="PT-BR" style="color: #222222; font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana;"> </span><span lang="PT-BR" style="font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR;">Atualmente os
fundadores da <b style="mso-bidi-font-weight: normal;">Appbase</b>, os indianos </span><span lang="PT-BR" style="background: white; color: #222222; font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana; mso-highlight: white;">Siddharth Kothari
e Sagar Chandarana</span><span lang="PT-BR" style="font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR;">, participam de um projeto de
aceleração de startups nos Estados Unidos, a Techstars Cloud, famosa por
fomentar investimentos de grandes empresas. Porém, parte da equipe se mantém em
Belo Horizonte, graças ao potencial econômico e de inovação e tecnologia da
cidade.</span></div>
<div class="Normal1" style="line-height: 150%; text-align: justify;">
<span lang="PT-BR" style="background: white; color: #222222; font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana; mso-highlight: white;">Funcionando como uma interface de programação de
aplicativos (API), a <b style="mso-bidi-font-weight: normal;">Appbase</b>
proporciona que o desenvolvedor esteja focado nos processos de <i style="mso-bidi-font-style: normal;">front-end</i>, já que a ferramenta se
encarrega de monitorar e organizar os bastidores. Ou seja, o serviço é
responsável por todo processo de <i style="mso-bidi-font-style: normal;">back-end</i>
e banco de dados. Outra característica importante do <b style="mso-bidi-font-weight: normal;">Appbase</b> é a possibilidade de programação de aplicativos que atuem
em tempo real, que conferem mais interatividade à plataforma que está sendo
criada. Sendo assim, o serviço evita que os desenvolvedores tenham que utilizar
vários serviços de banco de dados, o que diminui custos e aumentar a
produtividade. Ainda tratando das vantagens para o desenvolvedor, a <b style="mso-bidi-font-weight: normal;">Appbase</b> se encarrega da proteção e
segurança dos dados em utlização.</span><span lang="PT-BR" style="font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR;"></span></div>
<div class="Normal1" style="line-height: 150%; text-align: justify;">
<span lang="PT-BR" style="background: white; color: #222222; font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana; mso-highlight: white;">Sobre a sua aplicabilidade mercadológica, a <b style="mso-bidi-font-weight: normal;">Appbase</b> já despertou o interesse de
desenvolvedores, e foi utilizada na elaboração de mais 50 aplicativos. Além
disso, a API já recebeu mais de 4 milhões de requisições, em menos de um ano de
funcionamento. Com o objetivo de demonstrar a potencialidade do serviço, os
desenvolvedores da <b style="mso-bidi-font-weight: normal;">Appbase</b>,
construíram uma plataforma semelhante ao microblog <i style="mso-bidi-font-style: normal;">Twitter</i>, contando com apenas 300 linhas de códigos. Para os leigos,
é importante ressaltar que a criação de um aplicativo com essas características
a partir desse método, torna o processo bastante simplificado.</span><br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-IY262CLVUzM/VNJ4HTEniEI/AAAAAAAABkE/GQJJTwCiMVc/s1600/Appbase.io_Infogra%CC%81fico_Portugue%CC%82s.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://3.bp.blogspot.com/-IY262CLVUzM/VNJ4HTEniEI/AAAAAAAABkE/GQJJTwCiMVc/s1600/Appbase.io_Infogra%CC%81fico_Portugue%CC%82s.jpg" height="258" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Infográfico - clique para expandir</td></tr>
</tbody></table>
</div>
<div class="Normal1" style="line-height: 150%; text-align: justify;">
<br /></div>
<div class="Normal1" style="line-height: 150%; text-align: justify;">
<b style="mso-bidi-font-weight: normal;"><span lang="PT-BR" style="background: white; color: #222222; font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana; mso-highlight: white;">Parceria internacional</span></b><span lang="PT-BR" style="font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR;"></span></div>
<div class="Normal1" style="line-height: 150%; text-align: justify;">
<span lang="PT-BR" style="background: white; color: #222222; font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana; mso-highlight: white;">A <b style="mso-bidi-font-weight: normal;">Appbase
</b>surgiu do encontro dos indianos, Siddharth e Sagar, que trabalhavam com
desenvolvimento de jogos infantis nos Estados Unidos. Foi nesse projeto que
encontraram o problema que a Appbase pretende solucionar: a sincronização de
dados nos aplicativos. A proposta para a criação da ferramenta partiu da
americana Shannon Sullivan, que também encontrava os mesmos impasses. A
oportunidade dar continuidade com os trabalhos no Brasil surge com o edital da
Start-Up Brasil, programa do Governo Federal que oferece consultoria de
mercado, infraestrutura, oportunidade de parceria com grandes empresas, e um
ambiente propício ao empreendedorismo a empresas de base tecnológica. “Belo
Horizonte conta com uma grande aceleradora, a AceleraMGTI, que oferece terra
fértil com seus programas de aceleração, e uma equipe competente de mentores”,
esclarece o engenheiro de software da <b style="mso-bidi-font-weight: normal;">Appbase</b>,
Sagar Chandarana.</span><span lang="PT-BR" style="font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR;"></span></div>
<div class="Normal1" style="line-height: 150%; text-align: justify;">
<span lang="PT-BR" style="background: white; color: #222222; font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana; mso-highlight: white;">Sobre a experiência de instalar a <b style="mso-bidi-font-weight: normal;">Appbase</b> no Brasil, o CEO da empresa,
Siddharth, ressalta que “o mercado brasileiro tem um enorme potencial de
crescimento, e o Start-Up Brasil torna possível alavancar o serviço no mercado
sem os obstáculos iniciais que as novas empresas geralmente enfrentam”. Outro
fator que incentiva a instalação de empresas de tecnologia estrangeira no
Brasil, é a concessão facilitada de visto de trabalho.</span><span lang="PT-BR" style="font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR;"></span></div>
<div class="Normal1" style="line-height: 150%; text-align: justify;">
<span lang="PT-BR" style="background: white; color: #222222; font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana; mso-highlight: white;">No contexto das empresas de tecnologia, uma
equipe diversa e plural representa uma tendência que está se firmando nas novas
gerações de <i style="mso-bidi-font-style: normal;">startups. </i>“A diversidade
da equipe nos ajuda a criar perspectivas diferentes e gerar inovação, na parte
técnica e na cultura corporativa. Somos unidos pela própria cultura que criamos
e pelo desejo de resolvermos este grande problema que desenvolvedores como nós
enfrentam”, explica Saggar. Ele ainda destaca a fluência em inglês é
determinante para que haja uma boa comunicação no ambiente de trabalho: “Somos
uma equipe unicamente internacional. Os diversos membros da nossa equipe
representam três países diferentes, quatro religiões distintas, e falam cinco
idiomas, porém sempre nos comunicamos em inglês”.</span><span lang="PT-BR" style="font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR;"></span></div>
<div class="Normal1" style="line-height: 150%; text-align: justify;">
<span lang="PT-BR" style="background: white; color: #222222; font-family: Verdana; font-size: 10.0pt; line-height: 150%; mso-ansi-language: PT-BR; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana; mso-highlight: white;">Sobre a possibilidade de trabalhar com pessoas
de todo mundo, o desenvolvedor William Silva, que integra a equipe há quase um
mês, destaca que “essa é uma oportunidade de aumentar a bagagem cultural e
profissional, aprendendo conceitos que são aplicados em diferentes lugares do
mundo. Cada um traz experiências e vivências pessoais que só contribuem para um
bom trabalho”.</span></div>
<div class="Normal1" style="line-height: 150%; text-align: justify;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-qI9IL7-ScOc/VNJ2x2VA9_I/AAAAAAAABj8/YLQjxGx0HW0/s1600/Appbase%2BTeam.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="http://4.bp.blogspot.com/-qI9IL7-ScOc/VNJ2x2VA9_I/AAAAAAAABj8/YLQjxGx0HW0/s1600/Appbase%2BTeam.jpg" height="220" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Equipe Appbase: em sentido horário: Shannon Sullivan, Henrique Pinheiro Sá, William Silva, Sagar Chandarana, Isabela Magalhães e Siddharth Kothari.</td></tr>
</tbody></table>
<div class="Normal1" style="line-height: 150%; text-align: justify;">
<br /></div>
<div class="Normal1" style="line-height: 150%; text-align: justify;">
<br /></div>
<div class="Normal1" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;">
<b style="mso-bidi-font-weight: normal;"><span lang="PT-BR" style="color: #222222; font-family: Verdana; font-size: 10.0pt; mso-ansi-language: PT-BR; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana;">Contato:</span></b></div>
<div class="Normal1" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;">
<span lang="PT-BR" style="color: #222222; font-family: Verdana; font-size: 10.0pt; mso-ansi-language: PT-BR; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana;">Fernanda Mafia</span></div>
<div class="Normal1" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;">
<span lang="PT-BR" style="color: #222222; font-family: Verdana; font-size: 10.0pt; mso-ansi-language: PT-BR; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana;">Analista de Comunicação da Appbase</span></div>
<div class="Normal1" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;">
<span lang="PT-BR" style="color: #222222; font-family: Verdana; font-size: 10.0pt; mso-ansi-language: PT-BR; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana;">Telefone: (31) 9360-4402</span></div>
<div class="Normal1" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;">
<span lang="PT-BR" style="color: #222222; font-family: Verdana; font-size: 10.0pt; mso-ansi-language: PT-BR; mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana;">E-mail: nandamafia@gmail.com</span></div>
<div class="Normal1" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;">
<br /></div>
<div class="Normal1" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;">
<br /></div>
<div class="Normal1" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;">
<b style="mso-bidi-font-weight: normal;"></b></div>
<div class="Normal1" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; text-align: justify;">
<b style="mso-bidi-font-weight: normal;"><span lang="PT-BR" style="font-family: Verdana; font-size: 10.0pt; mso-ansi-language: PT-BR;"></span></b></div>
Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-39893531209030443402014-12-09T05:45:00.000-08:002014-12-09T05:57:41.069-08:00Mais um sorteio de livro no blog (dessa vez você escolhe o livro)Olá, pessoal.<br />
<br />
A Editora Novatec está com três super lançamentos. Vamos fazer um sorteio e o ganhador vai poder escolher o livro que irá receber!<br />
<br />
Os livros são:<br />
<ol>
<li>HTML5 em Ação</li>
<li>E-Commerce com PHP e MySQL</li>
<li>AngularJS – Uma abordagem prática e objetiva</li>
</ol>
Descrições mais detalhadas dos livros vão abaixo.<br />
<br />
Para participar, você deve seguir as regras de sempre:<br />
1. O participante deverá curtir a página da Novatec (<a href="https://www.facebook.com/novatec" rel="i nofollow" target="_blank">https://www.facebook.com/novatec</a>)<br />
2. O participante deverá ter um endereço de entrega no Brasil<br />
3. O sorteio será realizado até 23h59 do dia <b>17/12/2014</b><br />
4. O ganhador terá até 1 (uma) semana (dia 27/12/2014) para entrar em contato, através desta <i>fanpage</i> ("Estudar Computação") ou pelo e-mail lelimaufc@gmail.com. Caso contrário, o sorteio será refeito. Quando mais rápido o ganhador entrar em contato, mais rápido o livro será entregue (se entrar em contato em até 2 dias, o livro ainda poderá ser entregue esse mês).<br />
5. A
Novatec conferirá se o ganhador seguiu as regras da promoção. Se
estiver tudo certo, o livro escolhido pelo ganhador será enviado.
Caso contrário, o sorteio será refeito. <br />
<br />
Link para participar do sorteio:<br />
<a href="https://www.sorteiefb.com.br/tab/promocao/411991" rel="i" target="_BLANK">https://www.sorteiefb.com.br/tab/promocao/411991</a> <br />
<br />
***********************************************<br />
<br />
<div style="text-align: -webkit-auto;">
<div align="center" style="text-align: center;">
<span style="color: windowtext;"><span style="font-family: Calibri; font-size: small;"><b>Novatec Editora lança livro sobre desenvolvimento web com HTML5</b></span></span></div>
<div align="center" style="text-align: center;">
<span style="font-family: Calibri; font-size: small;"><span style="color: windowtext;">“</span><a href="http://novatec.com.br/livros/html5emacao/" target="_blank"><i>HTML5 em Ação</i></a><i><span style="color: windowtext;">”</span><span style="color: windowtext; font-style: normal;"> é uma introdução ao assunto por meio de códigos e exemplos do mundo real</span></i></span></div>
<div align="center" style="text-align: center;">
<br /></div>
</div>
<blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;">
<div>
<div>
<div style="text-align: -webkit-auto;">
<div style="text-align: justify;">
<span style="color: windowtext;"><span style="font-family: Calibri; font-size: small;">Há
uma boa razão para o HTML5 ser um dos tópicos mais falados do
desenvolvimento web. Além de ser a última versão da linguagem de
marcação da web, define um padrão totalmente novo para o desenvolvimento
de aplicações. </span></span></div>
</div>
</div>
</div>
<div>
<div>
<div style="text-align: -webkit-auto;">
<div style="text-align: justify;">
<span style="color: windowtext;"><span style="font-family: Calibri; font-size: small;">O
HTML5 é a primeira versão a adotar a web como uma plataforma para o
desenvolvimento de aplicativos web, e não constitui apenas tags e
recursos novos adicionados a um velho padrão. Ele é a base da Web
moderna, alavancando seus serviços interativos, UI de página única,
jogos interativos e aplicativos empresariais complexos. Tem também
suporte ao desenvolvimento de aplicativos móveis baseados em padrões,
recursos poderosos (como o armazenamento local e WebSockets), ótimas
APIs de áudio e vídeo e novas opções de layout com o uso de CSS3, SVG e
Canvas.</span></span></div>
</div>
</div>
</div>
<div>
<div>
<div style="text-align: -webkit-auto;">
<div style="text-align: justify;">
<span style="font-size: small;"><span style="color: windowtext;"><span style="font-family: Calibri;">O livro </span></span><span style="font-family: Calibri;"><a href="http://novatec.com.br/livros/html5emacao/" target="_blank">HTML5 em Ação</a> </span><span style="color: windowtext;"><span style="font-family: Calibri;">lançado
pela Novatec Editora é uma introdução completa ao assunto direcionada a
desenvolvedores de aplicações web, web designers e interessados no
assunto. A obra examina a especificação HTML5 por meio de códigos e
exemplos do mundo real e é um guia útil e prático para a construção
segura de aplicativos e sites.</span></span></span></div>
</div>
</div>
</div>
<div>
<div>
<div style="text-align: -webkit-auto;">
<div style="text-align: justify;">
<span style="color: windowtext;"><span style="font-family: Calibri; font-size: small;">O
conteúdo inclui explicações sobre os novos elementos semânticos, tipos
de entrada de formulário, design de aplicativo de página única, criação
de elementos gráficos interativos, aplicativos web móveis e tudo sobre
os novos recursos HTML5.</span></span></div>
</div>
</div>
</div>
<div>
<div>
<div style="text-align: -webkit-auto;">
</div>
</div>
</div>
<div>
<div>
<div style="text-align: -webkit-auto;">
<div class="MsoNormal">
<b><span lang="EN-US"><span style="font-family: Calibri; font-size: small;">Sobre os autores:</span></span></b></div>
</div>
</div>
</div>
<div>
<div>
<div style="text-align: -webkit-auto;">
<div class="MsoNormal">
<span style="font-family: Calibri; font-size: small;">Rob Crowther é desenvolvedor web, blogueiro e autor de <i>Hello! HTML5 & CSS3</i>.</span></div>
</div>
</div>
</div>
<div>
<div>
<div style="text-align: -webkit-auto;">
<div class="MsoNormal">
<span style="font-family: Calibri; font-size: small;">Joe Lennon é desenvolvedor de aplicativos empresariais móveis.</span></div>
</div>
</div>
</div>
<div>
<div>
<div style="text-align: -webkit-auto;">
<div class="MsoNormal">
<span style="font-family: Calibri; font-size: small;">Ash Blue constrói projetos interativos premiados.</span></div>
</div>
</div>
</div>
<div>
<div>
<div style="text-align: -webkit-auto;">
<div class="MsoNormal">
<span style="font-family: Calibri; font-size: small;">Greg Wanish é desenvolvedor independente da Web e de e-commerce.</span></div>
<div>
<br /></div>
</div>
</div>
</div>
</blockquote>
<img class="CToWUd" height="405" src="https://mail.google.com/mail/u/0/?ui=2&ik=6eaf101590&view=fimg&th=14a2eeb5838472cb&attid=0.1.2&disp=emb&attbid=ANGjdJ9YVVV1Uy5tpIRtJu-O1aV65V8GqgjgCHnJVJzSX9KdIXJkJkK6AzymMZCoY0wtI9JHJHOBKOdd7zxlE4vYnVj-zkrHalNWQgDBO1NJ3ygSqtRhBgMctjSDNeM&sz=w584-h810&ats=1418127651471&rm=14a2eeb5838472cb&zw&atsh=1" width="292" /><br />
<div>
<div>
<br /></div>
<div>
<div align="center" style="text-align: center;">
<span lang="EN-US" style="color: windowtext;"><span style="font-family: Calibri; font-size: small;"><b>Livro que ensina passo a passo para a criação de lojas virtuais é lançado pela Novatec Editora</b></span></span></div>
<div align="center" style="text-align: center;">
<span style="font-family: Calibri; font-size: small;"><i><span lang="EN-US" style="color: windowtext;">“</span></i><i>E-Commerce com PHP e MySQL</i><i><span lang="EN-US" style="color: windowtext;">” ensina o processo de criação de lojas online seguras e eficientes </span></i></span></div>
<div>
</div>
</div>
</div>
<blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;">
<div>
<div>
<div style="text-align: justify;">
<span lang="EN-US" style="color: windowtext;"><span style="font-size: small;"><span style="font-family: Calibri;">A
pergunta para a qual todo desenvolvedor web de lojas virtuais quer
encontrar a resposta: como criar um site de e-commerce bom e seguro? O
sucesso de qualquer site depende de sua confiabilidade e de seu
desempenho, e foi pensando nisso que o autor Larry Ullman escreveu o
livro </span><a href="http://novatec.com.br/livros/ecommerce/" target="_blank"><span style="font-family: Calibri;">E- Commerce com PHP e MySQL</span></a><span style="font-family: Calibri;">, um guia com um passo a passo completo para a criação de sites de e-commerce, lançado pela Novatec Editora.</span></span></span></div>
</div>
</div>
<div>
<div>
<div style="text-align: justify;">
<span lang="EN-US" style="color: windowtext;"><span style="font-family: Calibri; font-size: small;">O
livro conduz o leitor por todos os passos do processo de
desenvolvimento: design da interface visual, criação do banco de dados,
apresentação do conteúdo, criação de um catálogo online, administração
do carrinho de compras, tratamento dos pedidos, processamento dos
pagamentos e atendimento. </span></span></div>
</div>
</div>
<div>
<div>
<div style="text-align: justify;">
<span style="font-size: small;"><a href="http://novatec.com.br/livros/ecommerce/" target="_blank"><span style="font-family: Calibri;">E-Commerce com PHP e MySQL</span></a><span style="font-family: Calibri;"><span lang="EN-US" style="color: windowtext;"> utiliza
dois exemplos com vários recursos e diversos objetivos para apresentar a
maior variedade possível do que significa fazer um site eficiente.
Explica também o método Stripe para processamento de pagamentos e as
alterações mais recentes nas opções e metodologias do PayPal e do <a href="http://authorize.net/" target="_blank">Authorize.net</a>. </span></span></span></div>
</div>
</div>
<div>
<div>
<div style="text-align: justify;">
<span lang="EN-US" style="color: windowtext;"><span style="font-family: Calibri; font-size: small;">O
leitor aprenderá a criar um ambiente de servidor e um banco de dados
seguros, utilizar transações seguras, evitar vulnerabilidades comuns,
incorporar diferentes gateways de pagamento, fazer o design de sites
escaláveis fáceis de manter e muito mais.</span></span></div>
</div>
</div>
<div>
<div>
<div class="MsoNormal" style="text-align: justify;">
<b><span style="font-family: Calibri; font-size: small;">Sobre o autor:</span></b></div>
</div>
</div>
<div>
<div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Calibri; font-size: small;">Larry
Ullman é escritor, instrutor e desenvolvedor. Já escreveu inúmeros
livros aclamados pela crítica, que já venderam mais de 350 mil cópias em
todo o mundo em mais de 20 idiomas. Conforme seus leitores, estudantes e
clientes podem atestar, o ponto forte de Larry está em sua habilidade
de converter assuntos técnicos e misteriosos em algo compreensível e
útil.</span></div>
<div>
<br /></div>
</div>
</div>
</blockquote>
<img class="CToWUd" height="404" src="https://mail.google.com/mail/u/0/?ui=2&ik=6eaf101590&view=fimg&th=14a2eeb5838472cb&attid=0.1.3&disp=emb&attbid=ANGjdJ-rLgwcgQrjw75z_o1bAI1vPAkJ4NpzuNezneKCFsvs7pPBHOiZUJuDNhkuiV54OXTGw0SWI2IC-XCY0ABpfbAuw_14l-kToV0Y1RPT1MSt0uNd4C_HUn1_sPg&sz=w584-h808&ats=1418127651472&rm=14a2eeb5838472cb&zw&atsh=1" width="292" /><br />
<div>
<div>
<br /></div>
<div>
<div align="center" style="text-align: center;">
<span style="color: windowtext;"><span style="font-family: Calibri; font-size: small;"><b>Novatec Editora lança livro com abordagem prática sobre AngularJS</b></span></span></div>
<div align="center" style="text-align: center;">
<i><span style="color: windowtext;"><span style="font-family: Calibri; font-size: small;">Título é indicado para desenvolvedores que querem aprender a tecnologia de forma simples e objetiva</span></span></i></div>
<div align="center" style="text-align: center;">
<br /></div>
</div>
</div>
<blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;">
<div>
<div>
<div style="text-align: justify;">
<span style="color: windowtext;"><span style="font-family: Calibri; font-size: small;">O
AngularJS é o framework revolucionário criado e mantido por um time de
engenheiros do Google. Ele simplifica o desenvolvimento de aplicações
web robustas e de sucesso, e é por isso que tem crescido e sido
considerado a melhor tecnologia do momento para os desenvolvedores.</span></span></div>
</div>
</div>
<div>
<div>
<div style="text-align: justify;">
<span style="font-family: Calibri; font-size: small;"><span style="color: windowtext;">Os
estudantes e profissionais que querem aprender a trabalhar com o
AngularJS têm agora um material objetivo e simplificado, lançado pela
Novatec Editora: o livro </span><a href="http://www.novatec.com.br/livros/angularjsmichael/" target="_blank">AngularJS – Uma abordagem prática e objetiva</a><span style="color: windowtext;">,
do Michael Henrique R. Pereira. Com uma série de exemplos, o título
proporciona um conhecimento sólido sobre conceitos do framework.</span></span></div>
</div>
</div>
<div>
<div>
<div style="text-align: justify;">
<span style="color: windowtext;"><span style="font-family: Calibri; font-size: small;">O
leitor será capaz de criar uma aplicação single-page com AngularJS,
criar módulos, aplicar MVC de maneira correta, ampliar o vocabulário
HTML, utilizar o mecanismo de rotas do AngularJS, internacionalizar a
aplicação, criar formulários e aplicar CSS, implementar a comunicação de
componentes por meio de eventos, efetuar a comunicação com o servidor,
criar uma aplicação utilizando AngularJS e RequireJS e muito mais.</span></span></div>
<div style="text-align: justify;">
</div>
</div>
</div>
<div>
<div>
<div style="text-align: justify;">
<span style="color: windowtext;"><b><span style="font-family: Calibri; font-size: small;">Sobre o autor:</span></b></span></div>
</div>
</div>
<div>
<div>
<div style="text-align: justify;">
<span style="color: windowtext;"><span style="font-family: Calibri; font-size: small;">Michael
Henrique R. Pereira é arquiteto e desenvolvedor de software, apaixonado
por JavaScript e um aficionado por tecnologias de ponta, como o
AngularJS. Já desenvolveu aplicações utilizando diversas tecnologias de
backend e frontend e dá cursos e palestras sobre várias tecnologias,
como tecnologias da plataforma Java, JavaScript, Node.js, arquiteturas
RESTful e o próprio AngularJS.</span></span></div>
<div>
<br /></div>
</div>
</div>
</blockquote>
<div>
<div>
<div>
<img class="CToWUd" height="419" src="https://mail.google.com/mail/u/0/?ui=2&ik=6eaf101590&view=fimg&th=14a2eeb5838472cb&attid=0.1.4&disp=emb&attbid=ANGjdJ-Nj3XZ-R6oq0sb4EjDjWyfqnLbLtpsSPV-AifR55dox97peSHhRs3EQ3zYGRb5bSaIIrnAe7gy53V07-9i6moexcFfQa4rnxbXifBoc0z6qn4t040-_itZnYk&sz=w584-h838&ats=1418127651473&rm=14a2eeb5838472cb&zw&atsh=1" width="292" /></div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-29047069525567117982014-12-01T11:13:00.000-08:002015-01-11T14:40:07.789-08:00Pipeline de exoma completo - parte 2 (alinhamento/mapeamento das sequências)<pre style="background: #000; color: #f8f8f8;"><span style="color: #aeaeae; font-style: italic;"># 2_alinhamento.sh</span>
<span style="color: #aeaeae; font-style: italic;"># Criado em 15/08/2014</span>
<span style="color: #aeaeae; font-style: italic;"># Modificado em 27/11/2014</span>
<span style="color: #aeaeae; font-style: italic;"># Autor: Leandro Lima <llima@ime.usp.br></span>
<span style="color: #aeaeae; font-style: italic;"># Baixando o programa para alinhar as sequências (bwa)</span>
<span style="color: #aeaeae; font-style: italic;"># A versão mais nova pode ser encontrada aqui:</span>
<span style="color: #aeaeae; font-style: italic;"># <a href="http://sourceforge.net/projects/bio-bwa/files/">http://sourceforge.net/projects/bio-bwa/files/</a></span>
cd <span style="color: #3e87e3;">$mydir</span><span style="color: #e28964;">/</span>tools
<span style="color: #aeaeae; font-style: italic;"># Quando fiz esse tutorial, a versão mais nova era a 0.7.10</span>
wget <span style="color: #3387cc;">http:</span><span style="color: #e9c062;">/</span><span style="color: #e9c062;">/</span>downloads.sourceforge.net<span style="color: #e28964;">/</span>project<span style="color: #e28964;">/</span>bio<span style="color: #e28964;">-</span>bwa<span style="color: #e28964;">/</span>bwa<span style="color: #e28964;">-</span><span style="color: #3387cc;">0.7</span>.<span style="color: #3387cc;">10</span>.tar.bz2
tar <span style="color: #e28964;">-</span>xvjf bwa<span style="color: #e28964;">-</span><span style="color: #3387cc;">0.7</span>.<span style="color: #3387cc;">10</span>.tar.bz2
cd bwa<span style="color: #e28964;">-</span><span style="color: #3387cc;">0.7</span>.<span style="color: #3387cc;">10</span>
make <span style="color: #aeaeae; font-style: italic;"># para compilar o programa na sua máquina</span>
<span style="color: #aeaeae; font-style: italic;"># Para ficar mais fácil de encontrarmos o bwa, vamos criar uma variável</span>
<span style="color: #aeaeae; font-style: italic;"># para acessar a localização dele na sua máquina. Se você souber o que</span>
<span style="color: #aeaeae; font-style: italic;"># significa adicionar o programa ao PATH, fique à vontade para fazer isso.</span>
<span style="color: #3e87e3;">BWA</span><span style="color: #e28964;">=</span><span style="color: #3e87e3;">$mydir</span><span style="color: #e28964;">/</span>tools<span style="color: #e28964;">/</span>bwa<span style="color: #e28964;">-</span><span style="color: #3387cc;">0.7</span>.<span style="color: #3387cc;">10</span><span style="color: #e28964;">/</span>bwa
<span style="color: #aeaeae; font-style: italic;"># O 'bwa' precisa que a referência tenha um índice (index), para que as</span>
<span style="color: #aeaeae; font-style: italic;"># sequência sejam localizadas mais facilmente. A boa notícia é que o</span>
<span style="color: #aeaeae; font-style: italic;"># próprio bwa é usado para criar esse índice.</span>
<span style="color: #aeaeae; font-style: italic;"># Comando para criar o arquivo de índices do genoma.</span>
<span style="color: #aeaeae; font-style: italic;"># Isso pode levar alguns minutos.</span>
<span style="color: #3e87e3;">$BWA</span> index <span style="color: #3e87e3;">$hg19</span>
<span style="color: #aeaeae; font-style: italic;"># Instalando o 'samtools', para visualização de arquivos sam/bam</span>
<span style="color: #aeaeae; font-style: italic;"># <a href="http://sourceforge.net/projects/samtools/files/latest/download">http://sourceforge.net/projects/samtools/files/latest/download</a></span>
cd <span style="color: #3e87e3;">$mydir</span><span style="color: #e28964;">/</span>tools
wget <span style="color: #3387cc;">http:</span><span style="color: #e9c062;">/</span><span style="color: #e9c062;">/</span>downloads.sourceforge.net<span style="color: #e28964;">/</span>project<span style="color: #e28964;">/</span>samtools<span style="color: #e28964;">/</span>samtools<span style="color: #e28964;">/</span><span style="color: #3387cc;">1.0</span><span style="color: #e28964;">/</span>samtools<span style="color: #e28964;">-</span><span style="color: #3387cc;">1.0</span>.tar.bz2
tar <span style="color: #e28964;">-</span>xvjf samtools<span style="color: #e28964;">-</span><span style="color: #3387cc;">1.0</span>.tar.bz2
cd samtools<span style="color: #e28964;">-</span><span style="color: #3387cc;">1.0</span>
make
<span style="color: #3e87e3;">SAMTOOLS</span><span style="color: #e28964;">=</span><span style="color: #3e87e3;">$mydir</span><span style="color: #e28964;">/</span>tools<span style="color: #e28964;">/</span>samtools<span style="color: #e28964;">-</span><span style="color: #3387cc;">1.0</span><span style="color: #e28964;">/</span>samtools
<span style="color: #aeaeae; font-style: italic;"># Agora vamos para a parte do alinhamento.</span>
cd <span style="color: #3e87e3;">$mydir</span><span style="color: #e28964;">/</span>results
mkdir 2_aln
cd 2_aln
<span style="color: #aeaeae; font-style: italic;"># ALINHAMENTO</span>
<span style="color: #aeaeae; font-style: italic;"># Isso também vai levar bastante tempo, dependendo do número de sequências</span>
<span style="color: #aeaeae; font-style: italic;"># a serem mapeadas. Basicamente é a parte mais demorada do pipeline.</span>
<span style="color: #aeaeae; font-style: italic;"># O 'bwa' gera um arquivo de saída que contem informações sobre todas as</span>
<span style="color: #aeaeae; font-style: italic;"># sequências usadas no alinhamento (como: onde foram mapeadas, se foram</span>
<span style="color: #aeaeae; font-style: italic;"># mapeadas perfeitamente ou se houve inclusão, remoção ou troca de bases,</span>
<span style="color: #aeaeae; font-style: italic;"># e até mesmo se a sequência não foi mapeada em nenhum lugar). Esse arquivo</span>
<span style="color: #aeaeae; font-style: italic;"># (SAM, de "Sequence Alignment/Map") é bem grande, já que guarda bastante</span>
<span style="color: #aeaeae; font-style: italic;"># informações sobre as sequências. No entanto, ele tem uma versão compactada,</span>
<span style="color: #aeaeae; font-style: italic;"># ou binária (BAM), que pode ser gerada usando-se o programa samtools.</span>
<span style="color: #aeaeae; font-style: italic;"># As 4 próximas linhas, que estão comentadas, equivalem exatamente às próximas</span>
<span style="color: #aeaeae; font-style: italic;"># linhas que vêm neste script. Vamos usar o 'bwa' para mapear as sequências,</span>
<span style="color: #aeaeae; font-style: italic;"># e depois pegar a saída do mapeamento (arquivo SAM) e transformar num</span>
<span style="color: #aeaeae; font-style: italic;"># arquivo BAM. A diferença é que os comandos não comentados fazem isso sem</span>
<span style="color: #aeaeae; font-style: italic;"># precisar guardar o arquivo SAM (grande), economizando espaço em disco.</span>
<span style="color: #aeaeae; font-style: italic;"># Isso é muito bom, ainda contando com o fato de que o arquivo SAM pode ser</span>
<span style="color: #aeaeae; font-style: italic;"># gerado usando-se o arquivo BAM através do programa 'samtools'.</span>
<span style="color: #aeaeae; font-style: italic;"># Saiba mais sobre o 'bwa':</span>
<span style="color: #aeaeae; font-style: italic;"># <a href="http://bio-bwa.sourceforge.net/bwa.shtml">http://bio-bwa.sourceforge.net/bwa.shtml</a></span>
<span style="color: #aeaeae; font-style: italic;"># Saiba mais sobre o 'samtools':</span>
<span style="color: #aeaeae; font-style: italic;"># <a href="http://samtools.sourceforge.net/samtools.shtml">http://samtools.sourceforge.net/samtools.shtml</a></span>
<span style="color: #aeaeae; font-style: italic;"># Você não precisa rodar as 4 linhas abaixo!</span>
<span style="color: #aeaeae; font-style: italic;"># $BWA mem -t 4 $hg19 $SINGLE > aln_se.sam</span>
<span style="color: #aeaeae; font-style: italic;"># $BWA mem -t 4 $hg19 $R1 $R2 > aln_pe.sam</span>
<span style="color: #aeaeae; font-style: italic;"># $SAMTOOLS view -Sb aln_se.sam > aln_se.bam</span>
<span style="color: #aeaeae; font-style: italic;"># $SAMTOOLS view -Sb aln_pe.sam > aln_pe.bam</span>
<span style="color: #aeaeae; font-style: italic;"># Como explicado anteriormente, os comandos abaixo irão mapear</span>
<span style="color: #aeaeae; font-style: italic;"># as sequências usando o 'bwa' (com 4 threads, ou seja, seu</span>
<span style="color: #aeaeae; font-style: italic;"># mapeamento será executada em 4 processos paralelamente),</span>
<span style="color: #aeaeae; font-style: italic;"># depois a saída desse alinhamento é passada como entrada</span>
<span style="color: #aeaeae; font-style: italic;"># para o programa 'samtools' com a opção 'view', que irá pegar</span>
<span style="color: #aeaeae; font-style: italic;"># um arquivo SAM (argumento 'S') e gerar um arquivo binário</span>
<span style="color: #aeaeae; font-style: italic;"># (argumento 'b').</span>
<span style="color: #3e87e3;">$BWA</span> mem <span style="color: #e28964;">-</span>t <span style="color: #3387cc;">4</span> <span style="color: #3e87e3;">$hg19</span> <span style="color: #3e87e3;">$SINGLE</span> <span style="color: #e28964;">|</span> <span style="color: #3e87e3;">$SAMTOOLS</span> view <span style="color: #e28964;">-</span> <span style="color: #e28964;">-</span><span style="color: #3e87e3;">Sb</span> <span style="color: #e28964;">></span> aln_se.bam
<span style="color: #3e87e3;">$BWA</span> mem <span style="color: #e28964;">-</span>t <span style="color: #3387cc;">4</span> <span style="color: #3e87e3;">$hg19</span> <span style="color: #3e87e3;">$R1</span> <span style="color: #3e87e3;">$R2</span> <span style="color: #e28964;">|</span> <span style="color: #3e87e3;">$SAMTOOLS</span> view <span style="color: #e28964;">-</span> <span style="color: #e28964;">-</span><span style="color: #3e87e3;">Sb</span> <span style="color: #e28964;">></span> aln_pe.bam
<span style="color: #aeaeae; font-style: italic;"># Depois, iremos juntar as sequências pareadas (método "paired-end")</span>
<span style="color: #aeaeae; font-style: italic;"># com as sequências não-pareadas (método "single-end") usando</span>
<span style="color: #aeaeae; font-style: italic;"># o programa 'samtools' com a opção 'merge'.</span>
<span style="color: #3e87e3;">$SAMTOOLS</span> merge aln_se_pe.bam aln_se.bam aln_pe.bam
<span style="color: #aeaeae; font-style: italic;"># Agora, vamos visualizar algumas informaçõe sobre os arquivos</span>
<span style="color: #aeaeae; font-style: italic;"># usando o programa 'samtools' com a opção 'view'.</span>
<span style="color: #aeaeae; font-style: italic;"># Primeiramente, vamos entender como funciona um arquivo SAM.</span>
<span style="color: #aeaeae; font-style: italic;"># Um arquivo SAM (ou BAM) contem algumas colunas com diversas</span>
<span style="color: #aeaeae; font-style: italic;"># informações sobre cada sequência.</span>
<span style="color: #aeaeae; font-style: italic;"># Coluna 1: o nome da sequência (que originalmente estava no</span>
<span style="color: #aeaeae; font-style: italic;"># arquivo "fastq").</span>
<span style="color: #aeaeae; font-style: italic;"># Coluna 2: contem um número inteiro que é a soma de diversos</span>
<span style="color: #aeaeae; font-style: italic;"># valores menores que apresentam características da sequência</span>
<span style="color: #aeaeae; font-style: italic;"># e seu alinhamento.</span>
<span style="color: #aeaeae; font-style: italic;"># Coluna 3: nome da sequência que serviu de referência para o</span>
<span style="color: #aeaeae; font-style: italic;"># alinhamento (nesse caso, um cromossomo).</span>
<span style="color: #aeaeae; font-style: italic;"># Coluna 4: a posição, na referência (cromossomo), em que o</span>
<span style="color: #aeaeae; font-style: italic;"># alinhamento começou.</span>
<span style="color: #aeaeae; font-style: italic;"># Coluna 5: qualidade do alinhamento/mapeamento</span>
<span style="color: #aeaeae; font-style: italic;"># Saiba mais sobre as especificações dos arquivos SAM/BAM:</span>
<span style="color: #aeaeae; font-style: italic;"># http://samtools.sourceforge.net/samtools.shtml#5</span>
<span style="color: #aeaeae; font-style: italic;"># Quant. de sequências pareadas no arquivo de single-end</span>
<span style="color: #3e87e3;">$SAMTOOLS</span> view <span style="color: #e28964;">-</span>f <span style="color: #3387cc;">0x1</span> aln_se.bam <span style="color: #e28964;">|</span> wc <span style="color: #e28964;">-</span>l
<span style="color: #aeaeae; font-style: italic;"># Quant. de sequências pareadas no arquivo de paired-end</span>
<span style="color: #3e87e3;">$SAMTOOLS</span> view <span style="color: #e28964;">-</span>f <span style="color: #3387cc;">0x1</span> aln_pe.bam <span style="color: #e28964;">|</span> wc <span style="color: #e28964;">-</span>l
<span style="color: #aeaeae; font-style: italic;"># Quant. de sequências pareadas no arquivo com todas as sequências (merge)</span>
<span style="color: #3e87e3;">$SAMTOOLS</span> view <span style="color: #e28964;">-</span>f <span style="color: #3387cc;">0x1</span> aln_se_pe.bam <span style="color: #e28964;">|</span> wc <span style="color: #e28964;">-</span>l
<span style="color: #aeaeae; font-style: italic;"># Quant. de sequências mapeadas</span>
<span style="color: #3e87e3;">$SAMTOOLS</span> view <span style="color: #e28964;">-</span><span style="color: #3e87e3;">F</span> <span style="color: #3387cc;">0x4</span> aln_se.bam <span style="color: #e28964;">|</span> wc <span style="color: #e28964;">-</span>l
<span style="color: #aeaeae; font-style: italic;"># Quant. de sequências não-mapeadas</span>
<span style="color: #3e87e3;">$SAMTOOLS</span> view <span style="color: #e28964;">-</span>f <span style="color: #3387cc;">0x4</span> aln_se.bam <span style="color: #e28964;">|</span> wc <span style="color: #e28964;">-</span>l
<span style="color: #aeaeae; font-style: italic;"># Obs: a soma do número de sequências mapeadas com o número de sequências</span>
<span style="color: #aeaeae; font-style: italic;"># não-mapeadas sempre deve ser igual ao total de sequências</span>
<span style="color: #3e87e3;">$SAMTOOLS</span> view aln_se.bam <span style="color: #e28964;">|</span> wc <span style="color: #e28964;">-</span>l
<span style="color: #3e87e3;">$SAMTOOLS</span> view <span style="color: #e28964;">-</span><span style="color: #3e87e3;">F</span> <span style="color: #3387cc;">0x4</span> aln_pe.bam <span style="color: #e28964;">|</span> wc <span style="color: #e28964;">-</span>l
<span style="color: #3e87e3;">$SAMTOOLS</span> view <span style="color: #e28964;">-</span><span style="color: #3e87e3;">F</span> <span style="color: #3387cc;">0x4</span> aln_se_pe.bam <span style="color: #e28964;">|</span> wc <span style="color: #e28964;">-</span>l
<span style="color: #aeaeae; font-style: italic;"># Observe que o número de seqs. mapeadas do arquivo com todas as seqs.</span>
<span style="color: #aeaeae; font-style: italic;"># deve ser a soma das seqs. single-end (189558) com as seqs. paired-end (14797410)</span>
<span style="color: #aeaeae; font-style: italic;"># 189558 + 14797410 = 14986968</span>
<span style="color: #aeaeae; font-style: italic;"># Depois de ver essas estatísticas, podemos remover os arquivos</span>
<span style="color: #aeaeae; font-style: italic;"># separados, para economizar espaço em disco.</span>
rm aln_se.bam aln_pe.bam
</pre>
<br />
Acesse aqui o pipeline completo: <a href="http://www.estudarcomputacao.com/2014/09/pipeline-de-exoma-completo-parte-0.html">http://www.estudarcomputacao.com/2014/09/pipeline-de-exoma-completo-parte-0.html</a>Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comPhiladelphia, PA, USA39.9525839 -75.1652215000000339.5633714 -75.810668500000034 40.3417964 -74.519774500000025tag:blogger.com,1999:blog-8880953053777120773.post-25545100173836366762014-11-27T11:10:00.000-08:002015-01-11T14:40:23.910-08:00Pipeline de exoma completo - parte 1 (FastQC e qualidade das sequências)<pre style="background: #000; color: #f8f8f8;"><span style="color: #aeaeae; font-style: italic;"># Parte 1: controle de qualidade das sequências</span>
<span style="color: #aeaeae; font-style: italic;"># Criado em 15/08/2014</span>
<span style="color: #aeaeae; font-style: italic;"># Modificado em 27/11/2014</span>
<span style="color: #aeaeae; font-style: italic;"># Autor: Leandro Lima <llima@ime.usp.br></span>
<span style="color: #aeaeae; font-style: italic;"># Vamos continuar usando o diretório padrão</span>
<span style="color: #aeaeae; font-style: italic;"># utilizado na parte 0 do pipeline</span>
<span style="color: #dad085;">cd</span> <span style="color: #3e87e3;">$mydir</span> <span style="color: #aeaeae; font-style: italic;"># 'cd' muda o diretório de trabalho para $mydir</span>
<span style="color: #aeaeae; font-style: italic;"># FERRAMENTAS</span>
<span style="color: #aeaeae; font-style: italic;"># Agora vamos criar um diretório específico</span>
<span style="color: #aeaeae; font-style: italic;"># para guardar as ferramentas</span>
mkdir tools
<span style="color: #dad085;">cd</span> tools
<span style="color: #aeaeae; font-style: italic;"># FASTQC - Ferramenta para olhar verificar a qualidade geral das sequências</span>
<span style="color: #aeaeae; font-style: italic;"># Mais informações sobre o programa podem ser encontradas aqui:</span>
<span style="color: #aeaeae; font-style: italic;"># http://www.bioinformatics.babraham.ac.uk/projects/fastqc/</span>
wget http://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.2.zip
unzip fastqc_v0.11.2.zip
<span style="color: #dad085;">cd</span> FastQC/
chmod +x fastqc <span style="color: #aeaeae; font-style: italic;"># Adicionando permissão de execução</span>
FASTQC=<span style="color: #3e87e3;">$mydir</span>/tools/FastQC/fastqc
<span style="color: #aeaeae; font-style: italic;"># Criando um diretório para o fastqc</span>
<span style="color: #dad085;">cd</span> <span style="color: #3e87e3;">$mydir</span>/results
mkdir 1_fastqc
<span style="color: #dad085;">cd</span> 1_fastqc
<span style="color: #aeaeae; font-style: italic;"># Rodando o fastqc para os diferentes arquivos de sequências</span>
<span style="color: #3e87e3;">$FASTQC</span> <span style="color: #3e87e3;">$R1</span>
<span style="color: #3e87e3;">$FASTQC</span> <span style="color: #3e87e3;">$R2</span>
<span style="color: #3e87e3;">$FASTQC</span> <span style="color: #3e87e3;">$SINGLE</span>
<span style="color: #aeaeae; font-style: italic;"># Abra os arquivos "html" gerados para dar uma olhada nas estatísticas geradas.</span>
<span style="color: #aeaeae; font-style: italic;"># Nesse tutorial não iremos a fundo em todas essas informações, mas é interessante</span>
<span style="color: #aeaeae; font-style: italic;"># passar por todas elas e tentar entender o que é cada medida.</span>
<span style="color: #aeaeae; font-style: italic;"># É desejável que para todas as medidas, haja um "sinal verde", mas não é isso que</span>
<span style="color: #aeaeae; font-style: italic;"># ocorre geralmente. Vou chamar atenção principalmente para a medida "Per base</span>
<span style="color: #aeaeae; font-style: italic;"># sequence quality", que mostra a qualidade média das bases por posição nas sequências.</span>
<span style="color: #aeaeae; font-style: italic;"># Por causa do processo de leitura das bases, é esperado que as bases iniciais tenham</span>
<span style="color: #aeaeae; font-style: italic;"># uma qualidade melhor, e que depois a qualidade vá caindo. Por enquanto, não vamos</span>
<span style="color: #aeaeae; font-style: italic;"># remover nenhuma sequência, mas poderemos filtrá-las lá na frente, no processo.</span>
<span style="color: #aeaeae; font-style: italic;"># Algumas pessoas cortam/quebram a sequência para que ela fique somente com a</span>
<span style="color: #aeaeae; font-style: italic;"># parte que tem mais qualidade. No entanto, isso vai confundir os programas</span>
<span style="color: #aeaeae; font-style: italic;"># que forem remover sequências repetidas (duplicadas), lá na frente, neste</span>
<span style="color: #aeaeae; font-style: italic;"># pipeline. Portanto, deixaremos as sequências inalteradas. Nas próximas</span>
<span style="color: #aeaeae; font-style: italic;"># etapas, iremos usar a medida de qualidade do genótipo (genotype quality),</span>
<span style="color: #aeaeae; font-style: italic;"># que une várias medidas numa só, levando em consideração, além da qualidade</span>
<span style="color: #aeaeae; font-style: italic;"># do alinhamento, a qualidade da base.</span>
</pre>
<br />
Acesse aqui o pipeline completo:
<a href="http://www.estudarcomputacao.com/2014/09/pipeline-de-exoma-completo-parte-0.html">http://www.estudarcomputacao.com/2014/09/pipeline-de-exoma-completo-parte-0.html</a>Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-87944788813321749102014-10-30T03:57:00.002-07:002014-10-30T03:57:13.654-07:00Sorteio do livro "Python para desenvolvedores", da Editora Novatec<div>
<div align="center" style="text-align: center;">
<b><span style="color: windowtext; font-size: 14px;">Lançado o livro Python para Desenvolvedores, um curso rápido e prático sobre o assunto</span></b></div>
</div>
<div>
<div align="center" style="text-align: center;">
<i><span style="color: windowtext; font-size: 14px;">A Novatec traz mais um título de Python repleto de exemplos para desenvolvedores</span></i></div>
</div>
<div>
</div>
<div>
<span style="color: windowtext; font-size: 14px;">As
linguagens dinâmicas, que no passado eram vistas apenas como linguagens
script, hoje conquistam cada vez mais espaço no mercado, chamando a
atenção de grandes fornecedores de tecnologia. Entre elas, o Python se
destaca como uma das mais populares e poderosas.</span></div>
<div>
<div>
</div>
</div>
<div>
<span style="color: windowtext; font-size: 14px;">O
Python inclui diversas estruturas de alto nível (listas, dicionários,
data/hora, complexos e outras) e uma vasta coleção de módulos prontos
para uso, além de frameworks de terceiros que podem ser adicionados.
Também inclui recursos como geradores, introspecção, persistência,
metaclasses e unidades de teste. </span></div>
<div>
<div>
</div>
</div>
<div>
<span style="color: windowtext; font-size: 14px;">O livro <i>Python para Desenvolvedores</i>,
lançado pela Novatec Editora, descreve os principais recursos da
linguagem Python, focado em sua versão 3.3, com um texto direto e
conciso, repleto de exemplos para descrever desde os conceitos mais
básicos até recursos avançados, como a integração com outras linguagens.</span></div>
<div>
<div>
</div>
</div>
<div>
<span style="color: windowtext; font-size: 14px;">O
livro aborda conceitos básicos de linguagem, biblioteca-padrão,
geradores, programação funcional, classes, testes automatizados,
armazenamento de dados, aplicações web, processamento numérico,
interface gráfica, computação gráfica, processamento distribuído,
plataformas portáteis, empacotamento e distribuição e integração com
aplicativos e outras linguagens.</span></div>
<div>
<div style="text-align: justify;">
</div>
</div>
<div>
<div class="MsoNormal">
<b style="font-size: 14px;">Sobre o autor:</b></div>
</div>
<div>
<span style="color: windowtext; font-size: 14px;">Luiz
Eduardo Borges é engenheiro eletrônico e analista de sistemas, com
pós-graduação em Computação Gráfica pela Universidade do Estado do Rio
de Janeiro (UERJ). Atua há mais de duas décadas na área de informática.</span><br />
<div>
<img class="CToWUd" height="419" src="https://mail.google.com/mail/u/0/?ui=2&ik=6eaf101590&view=fimg&th=1493e723a2e8ba00&attid=0.1.2&disp=emb&attbid=ANGjdJ8bsC1P3x3kux25LbO1Af3bIJnxHdVy0jCoR0RTXK8gladkqLaHtLPToNvdkXCZ8_OLXDRfWH8DzdeQwn-hV1fqxKu0IHje6RH9ZUuEiUtMiKKdqjt7_XxL7-c&sz=w1600-h1000&ats=1414666341281&rm=1493e723a2e8ba00&zw&atsh=1" width="292" /></div>
<br />
Clique aqui para ir para a página do sorteio, que vai ocorrer dia 24/11/2014.<br />
<span style="font-size: large;"><b><a href="https://www.sorteiefb.com.br/tab/promocao/397685" rel="i" target="_blank">https://www.sorteiefb.com.br/<wbr></wbr>tab/promocao/397685</a></b></span> <br />
<br />
<br /></div>
Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-57333710963980786282014-09-28T11:56:00.000-07:002015-01-11T14:40:36.283-08:00Pipeline de exoma completo - parte 0 (Bioinformática)Atualização com as partes já publicadas.<br />
<br />
Parte 0: referências e conceitos básicos<br />
<a href="http://www.estudarcomputacao.com/2014/09/pipeline-de-exoma-completo-parte-0.html">http://www.estudarcomputacao.com/2014/09/pipeline-de-exoma-completo-parte-0.html</a> <br />
<br />
Parte 1: controle de qualidade das sequências<br />
<a href="http://www.estudarcomputacao.com/2014/11/pipeline-de-exoma-completo-parte-1.html">http://www.estudarcomputacao.com/2014/11/pipeline-de-exoma-completo-parte-1.html</a> <br />
<br />
Parte 2: alinhamento/mapeamento das sequências<br />
<a href="http://www.estudarcomputacao.com/2014/12/pipeline-de-exoma-completo-parte-2.html">http://www.estudarcomputacao.com/2014/12/pipeline-de-exoma-completo-parte-2.html</a><br />
<br />
----------------------------------------------------------<br />
<br />
<pre style="background-color: white; color: #1f1c1b;"><i><span style="color: blue;"># Parte 0: referências e conceitos básicos</span></i>
<i><span style="color: blue;"># Criado em 15/08/2014</span></i>
<i><span style="color: blue;"># Modificado em 30/09/2014</span></i>
<i><span style="color: blue;"># Autor: Leandro Lima <llima ime.usp.br=""></llima></span></i>
<i><span style="color: blue;"># Oi pessoal. Tudo bem?</span></i>
<i><span style="color: blue;"># Meu nome é Leandro de Araújo Lima. No momento (fim de 2014) estou concluindo meu</span></i>
<i><span style="color: blue;"># <a href="https://www.blogger.com/">doutorado em Bioinformática na Universidade de São Paulo</a> (USP), e estou fazendo</span></i>
<i><span style="color: blue;"># estágio sanduíche no Children's Hospital of Philadelphia (<a href="http://www.chop.edu/">http://www.chop.edu</a>),</span></i>
<i><span style="color: blue;"># mais especificamente no Center for Applied Genomics (<a href="http://caglab.org/">http://caglab.org</a>).</span></i>
<i><span style="color: blue;"># Você pode me encontrar através do e-mail llima@ime.usp.br ou através da página</span></i>
<i><span style="color: blue;"># <a href="http://www.ime.usp.br/~llima">http://www.ime.usp.br/~llima</a>, que tem mais informações sobre mim.</span></i>
<i><span style="color: blue;"># Este pipeline foi feito para quem não tem experiência com Bioinformática, e</span></i>
<i><span style="color: blue;"># mesmo para quem não tem experiência com o uso do terminal do Linux (ou Mac,</span></i>
<i><span style="color: blue;"># por exemplo). Se você tem experiência com o terminal e/ou Bioinformática, mas</span></i>
<i><span style="color: blue;"># não tem experiência com análise de exomas, este pipeline também é pra você.</span></i>
<i><span style="color: blue;"># Antes de começar, você precisa ter algumas noções de Biologia Molecular.</span></i>
<i><span style="color: blue;"># Se você não sabe ou não lembra dois conceitos de DNA, cromossomo e genoma</span></i>
<i><span style="color: blue;"># (humanos), recomendo que você dê uma relembrada. E, é claro, exoma!</span></i>
<i><span style="color: blue;"># <a href="http://pt.wikipedia.org/wiki/%C3%81cido_desoxirribonucleico">http://pt.wikipedia.org/wiki/Ácido_desoxirribonucleico</a></span></i>
<i><span style="color: blue;"># <a href="http://pt.wikipedia.org/wiki/Sequ%C3%AAncia_de_DNA">http://pt.wikipedia.org/wiki/Sequência_de_DNA</a></span></i>
<i><span style="color: blue;"># <a href="http://pt.wikipedia.org/wiki/Cromossomo">http://pt.wikipedia.org/wiki/Cromossomo</a></span></i>
<i><span style="color: blue;"># <a href="http://pt.wikipedia.org/wiki/Genoma">http://pt.wikipedia.org/wiki/Genoma</a></span></i>
<i><span style="color: blue;"># <a href="http://pt.wikipedia.org/wiki/Genoma_humano">http://pt.wikipedia.org/wiki/Genoma_humano</a></span></i>
<i><span style="color: blue;"># <a href="http://pt.wikipedia.org/wiki/Exoma">http://pt.wikipedia.org/wiki/Exoma</a></span></i>
<i><span style="color: blue;"># Não continue sem saber os conceitos acima. Dê pelo menos uma olhada nesses</span></i>
<i><span style="color: blue;"># artigo da Wikipedia. Alguns deles, inclusive, são bem curtos.</span></i>
<i><span style="color: blue;"># Recomendo também que você leia alguns post no blog da Genomika.</span></i>
<i><span style="color: blue;"># Os posts estão em português, e muito bem escritos.</span></i>
<i><span style="color: blue;"># <a href="http://www.genomika.com.br/blog/">http://www.genomika.com.br/blog/</a></span></i>
<i><span style="color: blue;"># Continuando...</span></i>
<i><span style="color: blue;"># Todos os comandos a seguir deverão ser executados em um terminal, seja este</span></i>
<i><span style="color: blue;"># no Linux, BSD ou Mac (por exemplo). Esse código que você está vendo, incluindo</span></i>
<i><span style="color: blue;"># este texto nas linhas que começam com '#' (jogo-da-velha), são um código de</span></i>
<i><span style="color: blue;"># uma linguagem própria para ser interpretada e usada no terminal. Esses programas,</span></i>
<i><span style="color: blue;"># que se comunicam com o Sistema Operacional, são chamados de "shell". O que</span></i>
<i><span style="color: blue;"># você vai executar são comandos do "bash", que é um tipo específico de shell.</span></i>
<i><span style="color: blue;"># Saiba mais sobre o "bash": <a href="http://pt.wikipedia.org/wiki/Bash">http://pt.wikipedia.org/wiki/Bash</a> (artigo muito legal!)</span></i>
<i><span style="color: blue;"># Os comandos poderão/deverão ser executados copiando-os e colando-os no terminal.</span></i>
<i><span style="color: blue;"># Todas as linhas que NÃO começam com o "#" são comandos executáveis. Já as linhas</span></i>
<i><span style="color: blue;"># que começam com o "#" são comentários, e serão descartadas no terminal.</span></i>
<i><span style="color: blue;"># OK, agora vamos começar!</span></i>
<i><span style="color: blue;"># Abra o terminal do Linux e crie um diretório de trabalho. Você pode fazer isso</span></i>
<i><span style="color: blue;"># usando o comando "mkdir <nome_do_novo_diretorio>". Certifique-se de ter uma</nome_do_novo_diretorio></span></i>
<i><span style="color: blue;"># máquina com pelo menos 4GB de memória e 100GB de espaço em disco.</span></i>
<i><span style="color: blue;"># <b>Caso você não tenha tanto espaço em disco, entre em contato, por favor!</b></span></i>
<i><span style="color: blue;"># <b>Posso disponibilizar arquivos menores.</b></span></i>
<i><span style="color: blue;"># O "mydir" vai ser o diretório de trabalho. Você pode substituir $PWD por outro</span></i>
<i><span style="color: blue;"># diretório qualquer ou simplesmente copiar a linha abaixo para tornar o diretório</span></i>
<i><span style="color: blue;"># em que você está o diretório de trabalho. "mydir" vai passar a ser uma variável</span></i>
<i><span style="color: blue;"># que vai ser referenciada usando o caracter $ na frente (ou seja, $mydir)</span></i>
<span style="color: #006e28;">mydir=$PWD</span>
<b><span style="color: #880088;">cd</span></b> <span style="color: #006e28;">$mydir</span> <i><span style="color: blue;"># 'cd' muda o diretório de trabalho para $mydir</span></i>
<i><span style="color: blue;"># REFERÊNCIAS</span></i>
<b><span style="color: #cc00cc;">mkdir</span></b> reference <i><span style="color: blue;"># 'mkdir' cria um diretório</span></i>
<b><span style="color: #880088;">cd</span></b> reference
<i><span style="color: blue;"># Baixando o genoma humano (versão de montagem: GRCh37, para o 1000 genomas)</span></i>
<i><span style="color: blue;"># O comando 'wget' serve para baixar um arquivo.</span></i>
<b><span style="color: #cc00cc;">wget</span></b> ftp://gsapubftp-anonymous@ftp.broadinstitute.org/bundle/2.8/b37/human_g1k_v37.fasta.gz
<b><span style="color: #cc00cc;">gunzip</span></b> human_g1k_v37.fasta.gz <i><span style="color: blue;"># gunzip para descompactar o arquivo .gz</span></i>
<i><span style="color: blue;"># Saiba mais sobre as versões usadas no 1000 genomas aqui:</span></i>
<i><span style="color: blue;"># <a href="http://www.1000genomes.org/faq/which-reference-assembly-do-you-use">http://www.1000genomes.org/faq/which-reference-assembly-do-you-use</a></span></i>
<i><span style="color: blue;"># esse comando vai criar uma variável que representa o caminho para o</span></i>
<i><span style="color: blue;"># genoma e pode ser acessada pelo terminal</span></i>
<span style="color: #006e28;">hg19=$mydir</span>/reference/human_g1k_v37.fasta
<i><span style="color: blue;"># Entenda mais sobre as versões do genoma no link abaixo</span></i>
<i><span style="color: blue;"># <a href="http://en.wikipedia.org/wiki/Reference_genome">http://en.wikipedia.org/wiki/Reference_genome</a></span></i>
<i><span style="color: blue;"># Observe que o arquivo tem a extensão 'fasta'</span></i>
<i><span style="color: blue;"># Em poucas palavras, um arquivo fasta é um arquivo texto com sequências.</span></i>
<i><span style="color: blue;"># Nesse arquivo do genoma humano, cada sequência é um dos cromossomos</span></i>
<i><span style="color: blue;"># humanos, e mais algumas sequências de regiões ainda não montadas</span></i>
<i><span style="color: blue;"># completamente, ou de DNA mitocondrial.</span></i>
<i><span style="color: blue;"># Você pode ler mais sobre as especificações do arquivo fasta nos links abaixo.</span></i>
<i><span style="color: blue;"># <a href="http://rosalind.info/glossary/fasta-format/">http://rosalind.info/glossary/fasta-format/</a></span></i>
<i><span style="color: blue;"># <a href="http://en.wikipedia.org/wiki/FASTA_format">http://en.wikipedia.org/wiki/FASTA_format</a></span></i>
<i><span style="color: blue;"># Para visualizar um arquivo de texto, você pode usar o comando "less". Por exemplo:</span></i>
<b><span style="color: #cc00cc;">less</span></b> <span style="color: #006e28;">$hg19</span>
<i><span style="color: blue;"># Pressione "q" para sair</span></i>
<i><span style="color: blue;"># Você vai observar que o arquivo contem, além das sequências, os nomes (rótulos)</span></i>
<i><span style="color: blue;"># da cada sequência. As linhas com esses nomes têm um sinal de maior (">") logo</span></i>
<i><span style="color: blue;"># no início. Você pode usar o comando "grep" para ver quais os nomes das sequências</span></i>
<i><span style="color: blue;"># que estão no arquivo do hg19. Por exemplo:</span></i>
<b><span style="color: #cc00cc;">grep</span></b> <span style="color: #bf0303;">'^>'</span> <span style="color: #006e28;">$hg19</span>
<i><span style="color: blue;"># o sinal circunflexo diz para o grep que você só quer pegar o sinal ">" que esteja</span></i>
<i><span style="color: blue;"># no início da linha.</span></i>
<i><span style="color: blue;"># AMOSTRAS</span></i>
<i><span style="color: blue;"># Agora vamos criar um diretório e baixar os arquivos das sequências que deverão ser mapeadas</span></i>
<b><span style="color: #880088;">cd</span></b> .. <i><span style="color: blue;"># vai para o diretório pai</span></i>
<b><span style="color: #cc00cc;">mkdir</span></b> data
<b><span style="color: #880088;">cd</span></b> data
<i><span style="color: blue;"># O "1000 genomas" é um projeto que tem o objetivo de encontrar as variantes mais</span></i>
<i><span style="color: blue;"># frequentes em diferentes populações. Foram escolhidas mais de 1000 pessoas com</span></i>
<i><span style="color: blue;"># origens diferentes (afro-americanos, europeus, asiáticos, etc.) e o genoma dessas</span></i>
<i><span style="color: blue;"># pessoas foi utilizado para encontrar as frequências das variações em cada população,</span></i>
<i><span style="color: blue;"># além de deixar públicos os dados brutos das sequências.</span></i>
<i><span style="color: blue;"># Saiba mais sobre o projeto "1000 genomas": <a href="http://www.1000genomes.org/">http://www.1000genomes.org/</a></span></i>
<i><span style="color: blue;"># O sequenciamento das amostras do 1000 genomas foi feito usando o método pareado</span></i>
<i><span style="color: blue;"># ("paired-end"). Nesse método, a máquina que faz o sequenciamento faz a leitura</span></i>
<i><span style="color: blue;"># das sequências de duas formas, que é usando cada uma das pontas da sequência</span></i>
<i><span style="color: blue;"># gerada como início (ou seja, uma leitura do começo para o final, e outra do</span></i>
<i><span style="color: blue;"># final para o começo). Essa leituras são colocadas em arquivos diferentes,</span></i>
<i><span style="color: blue;"># mas têm o mesmo nome, só mudando a indicação de se é a sequência 1 (do</span></i>
<i><span style="color: blue;"># início) ou a 2 (do fim). Depois de baixar as amostras, vamos ver isso.</span></i>
<i><span style="color: blue;"># Também há um arquivo separado com as sequências cujo par não foi encontrado.</span></i>
<i><span style="color: blue;"># Saiba mais sobre o sequnciamento pareado ("paired-end"):</span></i>
<i><span style="color: blue;"># <a href="http://en.wikipedia.org/wiki/Paired-end_tag">http://en.wikipedia.org/wiki/Paired-end_tag</a></span></i>
<i><span style="color: blue;"># <a href="http://www.cureffi.org/2012/12/19/forward-and-reverse-reads-in-paired-end-sequencing/">http://www.cureffi.org/2012/12/19/forward-and-reverse-reads-in-paired-end-sequencing/</a></span></i>
<i><span style="color: blue;"># <a href="http://technology.illumina.com/technology/next-generation-sequencing/paired-end-sequencing_assay.html">http://technology.illumina.com/technology/next-generation-sequencing/paired-end-sequencing_assay.html</a></span></i>
<i><span style="color: blue;"># Baixando dados das sequências de uma amostra do projeto 1000 genomas</span></i>
<i><span style="color: blue;"># Sequências do início</span></i>
<b><span style="color: #cc00cc;">wget</span></b> ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/data/HG01242/sequence_read/SRR100169_1.filt.fastq.gz
<i><span style="color: blue;"># Sequências do fim</span></i>
<b><span style="color: #cc00cc;">wget</span></b> ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/data/HG01242/sequence_read/SRR100169_2.filt.fastq.gz
<i><span style="color: blue;"># Sequências sem par</span></i>
<b><span style="color: #cc00cc;">wget</span></b> ftp://ftp-trace.ncbi.nih.gov/1000genomes/ftp/data/HG01242/sequence_read/SRR100169.filt.fastq.gz
<i><span style="color: blue;"># Vamos criar variáveis para referenciar o caminho completo das sequências</span></i>
<span style="color: #006e28;">R1=$mydir</span>/data/SRR100169_1.filt.fastq.gz
<span style="color: #006e28;">R2=$mydir</span>/data/SRR100169_2.filt.fastq.gz
<span style="color: #006e28;">SINGLE=$mydir</span>/data/SRR100169.filt.fastq.gz
<i><span style="color: blue;"># Vamos visualizar um dos arquivos "fastq". Como ele está compactado,</span></i>
<i><span style="color: blue;"># vamos usar o comando "zcat". Como não queremos que todo o conteúdo</span></i>
<i><span style="color: blue;"># do arquivo seja jogado de uma vez só na tela, vamos usar o comando</span></i>
<i><span style="color: blue;"># "less" para abrir o conteúdo do arquivo e olhá-lo com calma.</span></i>
<i><span style="color: blue;"># Para pegar a saída de um programa (ex: zcat) e direcionar para a entrada</span></i>
<i><span style="color: blue;"># de outro programa (ex: less), usamos o sinal da barra vertical ("|"),</span></i>
<i><span style="color: blue;"># também conhecido como "pipe". Por exemplo:</span></i>
<b><span style="color: #cc00cc;">zcat</span></b> <span style="color: #006e28;">$R1</span> <b>|</b> <b><span style="color: #cc00cc;">less</span></b> <i><span style="color: blue;"># Lembre-se de pressionar "q" para sair</span></i>
<i><span style="color: blue;"># Observação: os dois comandos acima podem ser resumidos usando-se </span></i>
<i><span style="color: blue;"># o comando "zless" (ex: zless $R1).</span></i>
<i><span style="color: blue;"># O comando "wc" ("word count") serve para contar palavras em um</span></i>
<i><span style="color: blue;"># arquivo. Mas além de contar palavras, ele também tem uma opção</span></i>
<i><span style="color: blue;"># para contar linhas (-l). Por exemplo:</span></i>
<b><span style="color: #cc00cc;">wc</span></b> -l <span style="color: #006e28;">$R1</span> <i><span style="color: blue;"># isso vai contar o número de linhas do arquivo $R1</span></i>
<i><span style="color: blue;"># Arquivos "fastq" são uma extensão do arquivo "fasta",</span></i>
<i><span style="color: blue;"># mas que possibilita incluir a qualidade das bases.</span></i>
<i><span style="color: blue;"># Essa qualidade é importante para sabermos o quanto devemos confiar</span></i>
<i><span style="color: blue;"># se cada base é mesmo o que foi lido no processo de sequenciamento.</span></i>
<i><span style="color: blue;"># No arquivo "fastq", as sequências são mostradas a cada 4 linhas.</span></i>
<i><span style="color: blue;"># Veja isso usando o comando "head", que mostra as primeiras linhas</span></i>
<i><span style="color: blue;"># de um arquivo texto (use a opção -n para definir a quantidade,</span></i>
<i><span style="color: blue;"># que por padrão é de 10 linhas). Nos exemplos abaixo, serão mostradas</span></i>
<i><span style="color: blue;"># a 8 primeiras linhas (ou seja, 2 sequências de cada arquivo. Compare</span></i>
<i><span style="color: blue;"># os nomes das sequências de R1 com as sequências de R2.</span></i>
<b><span style="color: #cc00cc;">zcat</span></b> <span style="color: #006e28;">$R1</span> <b>|</b> <b><span style="color: #cc00cc;">head</span></b> -n8
<b><span style="color: #cc00cc;">zcat</span></b> <span style="color: #006e28;">$R2</span> <b>|</b> <b><span style="color: #cc00cc;">head</span></b> -n8
<i><span style="color: blue;"># A primeira linha, que inicia com "@", apresenta o nome da sequência</span></i>
<i><span style="color: blue;"># (no arquivo "fasta" era o símbolo ">", lembra?).</span></i>
<i><span style="color: blue;"># A segunda linha apresenta a sequência propriamente dita.</span></i>
<i><span style="color: blue;"># A terceira linha contem somente um sinal de "+".</span></i>
<i><span style="color: blue;"># A quarta linha contem as qualidades de cada letra representada na</span></i>
<i><span style="color: blue;"># 2a linha (cada caractere representa um valor de qualidade da base).</span></i>
<i><span style="color: blue;"># Entenda mais sobre o formato de arquivo de sequências "fastq"</span></i>
<i><span style="color: blue;"># <a href="http://en.wikipedia.org/wiki/FASTQ_format">http://en.wikipedia.org/wiki/FASTQ_format</a></span></i>
<i><span style="color: blue;"># <a href="http://maq.sourceforge.net/fastq.shtml">http://maq.sourceforge.net/fastq.shtml</a></span></i>
<i><span style="color: blue;"># <a href="http://rosalind.info/problems/tfsq/">http://rosalind.info/problems/tfsq/</a></span></i>
<i><span style="color: blue;"># Exercícios</span></i>
<i><span style="color: blue;"># 1 - Quantas sequências há em cada arquivo?</span></i>
<span style="color: #006e28;">numero_de_linhas=</span><b>`</b><b><span style="color: #cc00cc;">zcat</span></b> <span style="color: #006e28;">$R1</span> <b>|</b> <b><span style="color: #cc00cc;">wc</span></b> -l<b>`</b>
<b><span style="color: #cc00cc;">expr</span></b> <span style="color: #006e28;">$numero_de_linhas</span> / 4
<i><span style="color: blue;"># ou, em uma linha só...</span></i>
<b><span style="color: #cc00cc;">zcat</span></b> <span style="color: #006e28;">$R1</span> <b>|</b> <b><span style="color: #880088;">echo</span></b> <span style="color: #006e28;">$((</span><b>`</b><b><span style="color: #cc00cc;">wc</span></b> -l<b>`</b>/4<span style="color: #006e28;">))</span>
<i><span style="color: blue;"># O número de linhas/sequências do arquivo R2 deve ser exatamente</span></i>
<i><span style="color: blue;"># igual ao número de linhas do arquivo R1, pois para cada sequência</span></i>
<i><span style="color: blue;"># do arquivo R1, há o par correspondente no arquivo R2.</span></i>
<i><span style="color: blue;"># Infelizmente, não podemos fazer como nos arquivos "fasta",</span></i>
<i><span style="color: blue;"># buscando pelas linhas que começam com "@" com o grep e </span></i>
<i><span style="color: blue;"># depois contá-las. Isso porque o caracter "@" também é</span></i>
<i><span style="color: blue;"># usado como caracter de qualidade, então ele não só aparece</span></i>
<i><span style="color: blue;"># no início das linhas com nomes (o mesmo ocorre com o "+").</span></i>
<i><span style="color: blue;"># 2 - Como imprimir somente os nomes (labels) das sequências (reads)?</span></i>
<b><span style="color: #cc00cc;">zcat</span></b> <span style="color: #006e28;">$R1</span> <b>|</b> <b><span style="color: #cc00cc;">awk</span></b> <span style="color: #bf0303;">'NR % 4 == 1'</span> <b>|</b> <b><span style="color: #cc00cc;">less</span></b>
<i><span style="color: blue;"># Observação: o programa "awk" está sendo usado para verificar uma</span></i>
<i><span style="color: blue;"># condição, que é se a linha sendo lida é a primeira de uma série de 4</span></i>
<i><span style="color: blue;"># (ou seja, se o número da linha dividido por 4 deixa resto 1) </span></i>
</pre>
Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comPhiladelphia, PA, USA39.952335 -75.16378900000000839.563109499999996 -75.809236000000013 40.3415605 -74.518342tag:blogger.com,1999:blog-8880953053777120773.post-29486759943383471152014-08-05T10:57:00.003-07:002014-08-05T10:59:12.592-07:00Sorteio do primeiro volume da série "Vida de Programador"<div align="center" style="text-align: center;">
<span style="color: windowtext; font-family: Calibri; font-size: 12pt;"><b>Novatec Editora lança o primeiro volume da série Vida de Programador</b></span></div>
<div align="center" style="text-align: center;">
<i><span style="color: windowtext; font-family: Calibri; font-size: 12pt;">Tirinhas bem-humoradas sobre a vida dos programadores vão virar série de livros</span></i></div>
<div>
</div>
<div style="text-align: justify;">
<span style="color: windowtext; font-family: Calibri; font-size: 12pt;">As
tirinhas do site Vida de Programador fazem sucesso na internet entre
estudantes e profissionais da área de informática que se identificam com
as situações engraçadas que acontecem com os personagens: o
Programador, o amigo P.A., o estagiário, o chefe, a esposa e outros que
fazem parte das histórias sobre o universo dos programadores.</span></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<span style="color: windowtext; font-family: Calibri; font-size: 12pt;">Andre
Noel, criador do site conhecido por seu vício em café (por este motivo,
a mancha de café na capa do livro), começou a criar as tirinhas em 2011
como uma forma de desestressar e contar as histórias curiosas e
engraçadas que viveu e ouviu. O Vida de Programador cresceu, ganhou
público fiel na internet e as tirinhas serão lançadas em uma série de
livros publicados pela Novatec Editora.</span></div>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
<span style="font-family: Calibri; font-size: 16px;"><a href="http://novatec.com.br/livros/vida-programador-vol0/" target="_blank">Vida de Programador – Volume 0</a><span style="color: windowtext;"> </span></span><span style="color: windowtext; font-family: Calibri; font-size: 12pt;">é
o primeiro da série e contém 136 páginas de tirinhas e outras histórias
sobre o dia a dia dos profissionais de TI. Os leitores vão se divertir
com o sarcasmo do personagem Programador lidando com o estagiário, as
dificuldades ao tentar explicar o que é programação para sua mãe, a
falta de paciência com as dúvidas dos usuários e os pedidos inesperados
do chefe.</span></div>
<div style="text-align: justify;">
</div>
<div align="center" class="MsoNormal" style="margin-bottom: 6pt; text-align: center; vertical-align: middle;">
<img class="" height="379" src="https://mail.google.com/mail/u/0/?ui=2&ik=6eaf101590&view=att&th=147a67752da71033&attid=0.1&disp=emb&realattid=a8b0f0782914ffa4_0.1.3&zw&atsh=1" width="382" /></div>
<div class="MsoNormal" style="margin-bottom: 6pt; vertical-align: middle;">
<b><span style="font-family: Calibri; font-size: 16px;">Sobre o autor</span></b></div>
<div class="MsoNormal" style="margin-bottom: 6pt; text-align: justify; vertical-align: middle;">
<span style="font-family: Calibri; font-size: 16px;">Nascido em São Paulo (SP),
mudou-se para Maringá (PR) aos 6 anos de idade (não por iniciativa
própria) e vive lá desde então. Ainda criança, teve o primeiro contato
com o computador na empresa de seu pai, onde jogava joguinhos em um
monitor monocromático.</span></div>
<div class="MsoNormal" style="margin-bottom: 6pt; text-align: justify; vertical-align: middle;">
<span style="font-family: Calibri; font-size: 16px;">Desde
pequeno apaixonou-se pela computação, chegando a pedir um “Apple
Macintosh” para a Porta da Esperança, mesmo sem saber direito o que isso
significava.</span></div>
<div class="MsoNormal" style="margin-bottom: 6pt; text-align: justify; vertical-align: middle;">
<span style="font-family: Calibri; font-size: 16px;">Mais
novo de três irmãos, teve o primeiro computador em casa somente aos 14
anos, um 386, que tempos depois ele estragou testando para descobrir
para quê serviam alguns arquivos do sistema.</span></div>
<div class="MsoNormal" style="margin-bottom: 6pt; text-align: justify; vertical-align: middle;">
<span style="font-family: Calibri; font-size: 16px;">Formou-se
em Ciência da Computação na UEM (Universidade Estadual de Maringá),
onde conheceu o Linux, tornou-se usuário em 2002 e membro oficial da
comunidade Ubuntu em 2005. Atualmente está fazendo mestrado, também em
Ciência da Computação.</span></div>
<div class="MsoNormal" style="margin-bottom: 6pt; text-align: justify; vertical-align: middle;">
<span style="font-family: Calibri; font-size: 16px;">Faz
programas por dinheiro desde 2002, sendo um profundo conhecedor de
métodos alternativos (gambiarras) e totalmente viciado em café.</span></div>
<div class="MsoNormal" style="margin-bottom: 6pt; text-align: justify; vertical-align: middle;">
<span style="font-family: Calibri; font-size: 16px;">Mantém
a sua lucidez graças à sua linda esposa Raquel e desenvolveu com
perfeição duas novas instâncias da classe Ser Humano, o Mateus e a
Gabrielle.</span></div>
<div class="MsoNormal" style="margin-bottom: 6pt; text-align: justify; vertical-align: middle;">
<span style="font-family: Calibri; font-size: 16px;">Em
2011, começou o site Vida de Programador, como uma forma de
desestressar e contar as diversas histórias que viveu e ouviu. Só
consegue desenhar porque um dia aprendeu a manipular vetores. Nunca
imaginou a proporção que isso ia tomar e que um dia escreveria um livro
sobre isso.</span></div>
<div class="MsoNormal" style="margin-bottom: 6pt;">
<span style="font-family: Calibri; font-size: 16px;">Por fim, graças à sua inigualável beleza, passou a aventurar-se como videologger no YouTube e parece que está dando certo.</span></div>
<div class="MsoNormal" style="margin-bottom: 6pt;">
<b style="text-indent: 42.55pt;"><span lang="EN-US" style="font-family: Calibri;"><br /></span></b></div>
<div class="MsoNormal" style="margin-bottom: 6pt;">
<b style="text-indent: 42.55pt;"><span lang="EN-US" style="font-size: 16px;"><span style="font-family: Calibri;">Detalhes do livro:</span></span></b></div>
<div style="margin-bottom: 6pt;">
<br /></div>
<div class="MsoNormal" style="margin: 12pt 0cm 6pt;">
<span style="font-family: Calibri; font-size: 16px;"><span lang="EN-US">Título: </span>Vida de Programador<br /><span lang="EN-US">Autor: </span>Andre Noel<br />
<span lang="EN-US">ISBN: </span>978-85-7522-320-8<br /><span lang="EN-US">Número de páginas: 136</span></span><span style="font-family: Calibri;"></span></div>
<div class="MsoNormal" style="margin: 12pt 0cm 6pt;">
<span style="font-family: Calibri; font-size: 16px;"><span lang="EN-US">Link para o sorteio:</span></span></div>
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: large;"><b><a href="https://www.sorteiefb.com.br/tab/promocao/371875" rel="nofollow nofollow" target="_blank">https://www.sorteiefb.com.br/<wbr></wbr>tab/promocao/371875</a></b></span></span>
<br />
<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-2764698690791129072014-06-30T05:26:00.004-07:002014-06-30T05:26:56.558-07:00Sorteio do livro "Web Design Responsivo", do Maujor, lançado pela Editora NovatecOlá, pessoal! Está no ar mais um sorteio de livro no blog. Dessa vez é o livro "Web Design Responsivo", do autor <a href="http://www.maujor.com/">Maurício Samy Silva</a>, publicado pela Editora Novatec. Veja abaixo mais informações sobre o livro e o sorteio, que será realizado dia <b>28/07/2014</b>.<br />
<br />
<hr />
<br />
<div align="center" class="MsoNormal" style="text-align: center;">
<b><span style="font-family: Arial; font-size: 15px;">Sorteio do livro "Web Design Responsivo"</span></b></div>
<div align="center" class="MsoNormal" style="text-align: center;">
<span style="font-size: 15px;"><i><span style="font-family: Arial;">Título ensina a criar páginas web que funcionam em qualquer dispositivo</span></i><i><span style="font-family: Arial;"> </span></i></span></div>
<div>
</div>
<div class="MsoNormal" style="text-align: justify;">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-dyGi3ajtB6Q/U7FXXLXyE0I/AAAAAAAABYw/-MXqU33V1Cs/s1600/capa_ampliada9788575223925.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-dyGi3ajtB6Q/U7FXXLXyE0I/AAAAAAAABYw/-MXqU33V1Cs/s1600/capa_ampliada9788575223925.jpg" height="320" width="231" /></a></div>
<span style="font-family: Arial; font-size: 11pt;">Com
a internet presente em grande parte das tarefas do cotidiano das
pessoas e as inúmeras opções de fontes de informação existentes na web,
os usuários estão cada vez mais exigentes em relação à experiência de
uso da web. Diminui a tolerância a sites com performance ruim,
dificuldades de uso, inacessibilidade e outros incômodos que ainda são
bastante comuns.</span><span style="font-family: Arial; font-size: 11pt;"> </span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Arial; font-size: 11pt;">Em
dispositivos móveis, é ainda mais difícil manter o usuário se a
performance não for satisfatória. Acessar via mobile um site que demora
para carregar e que não possui funcionamento simples e intuitivo faz com
que boa parte desista do acesso.</span><span style="font-family: Arial; font-size: 11pt;"> </span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Arial; font-size: 11pt;">Para
profissionais e estudantes envolvidos na criação de sites e aplicações
para a web que querem aprender a criar páginas que funcionam bem em
qualquer dispositivo, o autor Maurício Samy Silva, o Maujor, escreveu o
livro <i><a href="http://www.novatec.com.br/livros/webdesign-responsivo/" target="_blank">Web Design Responsivo</a></i>, publicado pela Novatec Editora.</span><span style="font-family: Arial; font-size: 11pt;"> </span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Arial; font-size: 11pt;">O
web design responsivo é uma abordagem de web design que permite que as
páginas web se adaptem e funcionem em qualquer dispositivo, de
computadores a smartphones. Com informações detalhas sobre as técnicas
do design responsivo, seus princípios, métodos e tecnologias aplicáveis,
Maujor explica através de exemplos práticos e de forma simples e clara
tudo o que é preciso saber para a criação de uma página com design
adaptável e layout responsivo.</span><span style="font-family: Arial; font-size: 11pt;"> </span></div>
<div class="MsoNormal" style="text-align: justify;">
<span style="font-family: Arial; font-size: 11pt;">Com o livro <i><a href="http://www.novatec.com.br/livros/webdesign-responsivo/" target="_blank">Web Design Responsivo</a></i>,
os leitores obterão o conhecimento que precisam para o planejamento e
execução das funcionalidades de suas criações e todas as ferramentas e
técnicas necessárias para o desenvolvimento de sites acessíveis e com
melhor experiência ao usuário.</span><span style="font-family: Arial; font-size: 11pt; text-align: -webkit-auto;"> </span></div>
<div style="text-align: justify; text-indent: 42.55pt;">
<br /></div>
<div style="text-align: justify; text-indent: 42.55pt;">
<span lang="EN-US" style="color: windowtext; font-family: Arial; font-size: 11pt;"><b>Sobre o autor:</b></span><span style="font-family: Arial; font-size: 11pt; text-align: -webkit-auto; text-indent: 0px;"> </span></div>
<div class="MsoNormal">
<b><span style="font-family: Arial; font-size: 11pt;">Maurício Samy Silva </span></b><span style="font-family: Arial; font-size: 11pt;">é graduado em Engenharia Civil pelo Instituto Militar de Engenharia (IME).</span></div>
<div class="MsoNormal">
<span style="font-family: Arial; font-size: 11pt;">É um obstinado divulgador dos Padrões Web e desenvolve o site do Maujor (<a href="http://maujor.com/" target="_blank">maujor.com</a>) e o Blog do Maujor (<a href="http://maujor.com/blog" target="_blank">maujor.com/blog</a>).</span></div>
<div class="MsoNormal">
<span style="font-family: Arial; font-size: 11pt;">Em 2011, lançou o site <a href="http://maujorsvg.com.br/" target="_blank">maujorsvg.com.br</a>,
destinado à divulgação da emergente tecnologia SVG. Maujor, como é
conhecido na Internet, escreve para revistas de desenvolvimento web, é
palestrante em eventos de TI e autor dos livros <i>Construindo sites com CSS e (X)HTML</i>, <i>Criando sites com HTML</i>, <i>jQuery</i>, <i>AJAX com jQuery</i>, <i>JavaScript</i>, <i>HTML5</i>, <i>CSS<wbr></wbr>3</i>, <i>JQuery Mobile</i>, <i>JQuery UI</i> e <i>Fundamentos da SVG</i>; todos publicados pela Novatec Editora.</span><span style="font-family: Arial; font-size: 11pt;"> </span></div>
<div class="MsoNormal" style="text-indent: 42.55pt;">
<br /></div>
<div class="MsoNormal" style="text-indent: 42.55pt;">
<b><span lang="EN-US" style="font-family: Arial; font-size: 11pt;">Detalhes do livro:</span></b></div>
<span lang="EN-US" style="font-family: Arial; font-size: 11pt;">Título: </span><span style="font-family: Arial; font-size: 11pt;">Web Design Responsivo</span><br />
<span style="font-family: Arial; font-size: 11pt;"> </span><span lang="EN-US" style="font-family: Arial; font-size: 11pt;">Autor: </span><span style="font-family: Arial; font-size: 11pt;">Maurício Samy Silva</span><span style="font-family: Arial; font-size: 11pt;"><br /></span><span lang="EN-US" style="font-family: Arial; font-size: 11pt;">ISBN: </span><span style="font-family: Arial; font-size: 11pt;">978-85-7522- 392-5</span><span lang="EN-US" style="font-family: Arial; font-size: 11pt;"> </span><br />
<span lang="EN-US" style="font-family: Arial; font-size: 11pt;">Número de páginas: 336</span><br />
<br />
<hr />
<br />
<div class="titulo-legenda-promocao">
<b>Regulamento</b>
</div>
1. O participante deverá curtir a página da Novatec (<a href="https://www.facebook.com/novateceditora" rel="i nofollow" target="_blank">https://www.facebook.com/novateceditora</a>)<br />
2. O participante deverá ter um endereço de entrega no Brasil<br />
3. O sorteio será realizado até 23h59 do dia <b>28/07/2014</b><br />
4. O ganhador terá até 1 (uma) semana (dia 04/08/2014) para entrar em contato, através desta <i>fanpage</i> ("Estudar Computação") ou pelo e-mail lelimaufc@gmail.com. Caso contrário, o sorteio será refeito.<br />
5. A
Novatec conferirá se o ganhador seguiu as regras da promoção. Se
estiver tudo certo, o livro será enviado para o ganhador do sorteio. <br />
Caso contrário, o sorteio será refeito.<br />
<br />
Link do sorteio:
<span style="font-size: large;"><a href="http://sorteiefb.com.br/tab/promocao/359245"><b>http://sorteiefb.com.br/tab/promocao/359245</b></a></span><br />
<span style="font-size: large;"><b> </b></span>
Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-67743536320905497102014-04-09T13:53:00.000-07:002014-04-09T13:53:05.627-07:00Sorteio do livro "AWS para Desenvolvedores", Ed. Novatec<div style="text-align: justify;">
<a href="http://4.bp.blogspot.com/-oVaKHlffbto/U0WxXvW_spI/AAAAAAAABPc/u_lg0JaXBIs/s1600/9788575223932_AWS-Desenvolvedores_CapaAmpliada.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-oVaKHlffbto/U0WxXvW_spI/AAAAAAAABPc/u_lg0JaXBIs/s1600/9788575223932_AWS-Desenvolvedores_CapaAmpliada.jpg" height="320" width="231" /></a><span style="color: windowtext;">A
computação em nuvem está mudando a forma como empresas hospedam seus
serviços de internet. Ela possibilita armazenamento infinito pela web,
acesso a arquivos como documentos, músicas, vídeos e fotos pela internet
e pagamento por demanda, ou seja, o usuário paga apenas o que utilizar.
Na nuvem não existe limite de espaço, o usuário sempre terá disponível o
quanto precisar para guardar informações de qualquer tamanho.</span></div>
<div style="text-align: justify;">
<span style="color: windowtext;"> </span></div>
<div style="text-align: justify;">
<span style="color: windowtext;">A
plataforma de computação em nuvem da Amazon Web Services (AWS) se
diferencia das demais porque oferece toda a infraestrutura de TI da
maior empresa de comércio eletrônico do mundo: a <a href="http://amazon.com/" target="_blank">Amazon.com</a>.
Qualquer empresa ou desenvolvedor pode facilmente hospedar um site ou
serviço nos servidores da Amazon e usufruir da mesma confiabilidade,
alta disponibilidade e segurança da loja.</span></div>
<div style="text-align: justify;">
<span style="color: windowtext;"> </span></div>
<div style="text-align: justify;">
<span style="color: windowtext;">O objetivo do livro </span><a href="http://www.novatec.com.br/livros/aws-desenvolvedores/" target="_blank">AWS para Desenvolvedores</a><span style="color: windowtext;">, do Ricardo Lecheta, é apresentar, do básico ao avançado, todos os serviços da AWS, com metodologia passo a passo para que </span><span lang="EN-US" style="color: windowtext;">desenvolvedores,
engenheiros de software, analistas de suporte, gerentes de ti e
interessados na área possam instalar suas aplicações na plataforma de
computação em nuvem da Amazon Web Services.</span></div>
<div style="text-align: justify;">
<span lang="EN-US" style="color: windowtext;"> </span></div>
<div style="text-align: justify;">
<span lang="EN-US" style="color: windowtext;">Lecheta
ensina na prática como criar servidores virtuais na nuvem para hospedar
sites, utilizar balanceadores de carga, escalonamento automático,
monitoramento de serviços, bancos de dados na nuvem, armazenamento de
arquivos, entrega de conteúdo estático e dinâmico, controle de
permissões e segurança, serviço de e-mails, serviço de fila para
mensagens assíncronas, mobile push e controle de custos. Os exemplos do
livro são demonstrados em linguagem PHP e Java, com banco de dados MySQL
e PostgreSQL.</span></div>
<div style="text-align: justify;">
<span style="color: windowtext;"> </span></div>
<div class="MsoNormal" style="margin-bottom: 6pt;">
<b>Sobre o autor:</b></div>
<div style="margin-bottom: 2.85pt;">
<b><span style="color: windowtext; line-height: 14px; text-transform: uppercase;">RICARDO R. LECHETA </span></b><span style="color: windowtext; line-height: 14px;">é formado em Ciência da Computação e pós-graduado em Gestão do Desenvolvimento de Software pela PUC-PR.</span></div>
<div class="MsoNormal" style="margin-bottom: 6pt;">
Possui
certificações da Sun, da IBM e da Rational, entre elas, SCMAD e SCEA. É
consultor de tecnologias mobile e pode ser contatado pelo e-mail <a href="mailto:rlecheta@gmail.com" target="_blank">rlecheta@gmail.com</a>.</div>
<div class="MsoNormal" style="margin-bottom: 6pt;">
<b><span lang="EN-US"><br /></span></b></div>
<div class="MsoNormal" style="margin-bottom: 6pt;">
<b><span lang="EN-US">Detalhes do livro:</span></b></div>
<span lang="EN-US">Título: </span>AWS para desenvolvedores<span lang="EN-US"><br />Subtítulo: </span>Aprenda a instalar aplicações na nuvem da Amazon AWS<span lang="EN-US"><br />Autor: </span>Ricardo R. Lecheta<span lang="EN-US"><br />ISBN: </span>978-85-7522- 393-2<span lang="EN-US"><br />Número de páginas: 504</span><br />
<br />
<br />
<div class="titulo-legenda-promocao" style="border-bottom-color: rgb(229, 229, 229); border-bottom-style: solid; border-width: 0px 0px 1px; line-height: 21px; margin-bottom: 10px; padding-bottom: 5px; padding-right: 10px; position: relative;">
Regulamento do sorteio</div>
<div class="regulamento">
1. O participante deverá curtir a página da Novatec (<a href="https://www.facebook.com/novateceditora" rel="i nofollow" style="color: #0088cc; text-decoration: none;" target="_blank">https://www.facebook.com/novateceditora</a>)<br />2. O participante deverá ter um endereço de entrega no Brasil<br />3. O sorteio será realizado até 23h59 do dia <b>05/05/2014</b><br />4. O ganhador terá até 1 (uma) semana (dia 12/05/2014) para entrar em contato, através desta <i>fanpage</i> ("Estudar Computação") ou pelo e-mail lelimaufc@gmail.com. Caso contrário, o sorteio será refeito.<br />5. A
Novatec conferirá se o ganhador seguiu as regras da promoção. Se
estiver tudo certo, o livro será enviado para o ganhador do sorteio.
Caso contrário, o sorteio será refeito.</div>
<div class="regulamento">
</div>
<div class="regulamento">
<b>Link para participar do sorteio no Facebook:</b></div>
<span lang="EN-US"><a href="https://www.sorteiefb.com.br/tab/promocao/329314" rel="i" target="_BLANK">https://www.sorteiefb.com.br/tab/promocao/329314</a> </span><br />
<span lang="EN-US"><br /></span>
<span lang="EN-US">Boa sorte!</span><br />
<span lang="EN-US"><br /></span>Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-8042647318574058412014-02-28T11:09:00.001-08:002014-02-28T11:09:36.651-08:00Sorteio do livro "Introdução ao Hacking e aos Testes de Invasão", Ed. Novatec<img alt="Foto promoção" class="imagem-promocao pull-left" src="https://www.sorteiefb.com.br/images/promocoes/310077.748x300.jpg" style="background-color: white; border: 0px; color: #333333; float: left; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; height: auto; line-height: 20px; margin-right: 10px; max-height: 300px; max-width: 748px; vertical-align: middle;" /><br />
<div style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 20px;">
<blockquote style="border-left-color: rgb(238, 238, 238); border-left-style: solid; border-left-width: 5px; margin: 0px 0px 20px; padding: 0px 0px 0px 15px;">
<b>Novatec Editora lança livro Introdução ao Hacking e aos Testes de Invasão</b><i><br />Título aborda o hacking ético e introduz técnicas para testes em rede</i><br />Com vasta experiência na área de testes de invasão, segurança ofensiva e hacking ético, Patrick Engebretson reuniu no livro <i>Introdução ao Hacking e aos Testes de Invasão</i> todo o material necessário para a realização de testes de invasão, do início ao fim. Com exemplos práticos e exercícios desenvolvidos com o objetivo de ensinar o leitor, seja ele iniciante ou experiente, a obra é um recurso fundamental para os interessados em hacking. <i>Introdução ao Hacking e aos Testes de Invasão </i>ensina a interpretar e utilizar os resultados das ferramentas de hacking de maneira eficiente e apresenta uma metodologia de quatro passos para a condução do teste de invasão ou hack. Oferece a descrição completa de cada um dos passos e ferramentas, de forma estruturada e simples, permitindo ao leitor uma visualização clara e didática de como cada fase funciona e se relaciona.<br /><b><br />Sobre o autor</b>O doutor Patrick Engebretson obteve seu doutorado em Ciências com uma especialização em Segurança de Informações pela Dakota State University. Atualmente, trabalha como professor assistente de Segurança de Informações e continua ativo no mercado como pentester sênior. Seus interesses em pesquisa incluem testes de invasão, hacking, exploração de falhas (exploitation) e malwares.</blockquote>
<br /><b>Detalhes do livro</b>Título: Introdução ao Hacking e aos Testes de InvasãoAutor: Patrick Engebretson<br />ISBN: 978-85-7522-390-1<br />Número de páginas: 304</div>
<div style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 20px;">
<br /></div>
<div style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 20px;">
<br /></div>
<div style="background-color: white; color: #333333; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 20px;">
<div class="titulo-legenda-promocao" style="border-bottom-color: rgb(229, 229, 229); border-bottom-style: solid; border-width: 0px 0px 1px; line-height: 21px; margin-bottom: 10px; padding-bottom: 5px; padding-right: 10px; position: relative;">
Regulamento</div>
<div class="regulamento">
1. O participante deverá curtir a página da Novatec (<a href="https://www.facebook.com/novateceditora" rel="i nofollow" style="color: #0088cc; text-decoration: none;" target="_blank">https://www.facebook.com/novateceditora</a>)<br />2. O participante deverá ter um endereço de entrega no Brasil<br />3. O sorteio será realizado até 23h59 do dia <b>17/03/2014</b><br />4. O ganhador terá até 1 (uma) semana (dia 24/03/2014) para entrar em contato, através desta <i>fanpage</i> ("Estudar Computação") ou pelo e-mail lelimaufc@gmail.com. Caso contrário, o sorteio será refeito.<br />5. A Novatec conferirá se o ganhador seguiu as regras da promoção. Se estiver tudo certo, o livro será enviado para o ganhador do sorteio. Caso contrário, o sorteio será refeito.</div>
<div class="regulamento">
<br /></div>
<div class="regulamento">
<b>Link para participar do sorteio no Facebook:</b></div>
<div class="regulamento">
<a href="http://sorteiefb.com.br/tab/promocao/310077"><b>http://sorteiefb.com.br/tab/promocao/310077</b></a></div>
<div class="regulamento" style="font-size: 14px;">
<br /></div>
<div class="regulamento" style="font-size: 14px;">
<br /></div>
</div>
Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-65037536745376547822013-11-18T11:21:00.001-08:002013-11-18T11:22:21.788-08:00Editora Novatec dá 20% de desconto em qualquer livro para os leitores do nosso blog<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-f9B483FeSnw/UopodyU6fEI/AAAAAAAAA-g/CB0usiv-r1s/s1600/parceria-novatec-topo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-f9B483FeSnw/UopodyU6fEI/AAAAAAAAA-g/CB0usiv-r1s/s1600/parceria-novatec-topo.jpg" height="86" width="400" /></a></div>
<br />
Oi pessoal! Isso mesmo!<br />
<br />
A <a href="http://www.novatec.com.br/">Editora Novatec</a> está dando desconto de 20% para os leitores do <a href="http://estudarcomputacao.com/">Estudar Computação</a> em qualquer livro.<br />
<br />
Basta utilizar o código ESTUDARCOMPUTACAO na compra de livros no site da Novatec ~> <a href="http://www.novatec.com.br/">http://www.novatec.com.br</a>.<br />
<br />
Você pode usar os descontos até 31/12/2014.<br />
<br />
Já conhece o <a href="http://www.novatec.com.br/catalogo.php">catálogo da Novatec</a>?Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-35298703103151466012013-10-15T10:15:00.001-07:002013-11-07T13:36:24.162-08:00Poscomp 2013 - Prova e gabarito<div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;">
<a href="http://1.bp.blogspot.com/-9GF4SHRNjmM/TLzCsyi03nI/AAAAAAAAAYA/oA_3FnkP2rg/s1600/poscomp.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="141" src="http://1.bp.blogspot.com/-9GF4SHRNjmM/TLzCsyi03nI/AAAAAAAAAYA/oA_3FnkP2rg/s320/poscomp.png" style="cursor: move;" width="320" /></a></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
No dia 30 de setembro, foi divulgada a prova e o gabarito do último Poscomp, ocorrido no dia anterior.</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
Aqui está o link da prova: <a href="http://www.cops.uel.br/concursos/153_poscomp_2013/15301.PDF">http://www.cops.uel.br/concursos/153_poscomp_2013/15301_DEF.PDF</a></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
E o gabarito: <a href="http://www.cops.uel.br/concursos/153_poscomp_2013/G15301.PDF">http://www.cops.uel.br/concursos/153_poscomp_2013/G15301_DEF.PDF</a></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
(prova e gabarito definitivos atualizados aqui no blog dia 07/11/2013)</div>
<br />
E aí, foi difícil?<br />
<br />
<b>Quer saber se você foi bem no Poscomp? É possível calcular sua colocação aproximada.</b><br />
Baseado nas explicações do <a href="http://ximen.es/?p=581">Pablo Ximenes</a> e do <a href="http://marathoncode.blogspot.com.br/2012/10/como-avaliar-sua-nota-no-poscomp.html">Wladimir Araújo</a>, fiz a simulação usando o <a href="http://www.wolframalpha.com/">Wolfram Alpha</a>.<br />
<br />
Quando você souber a média e o desvio padrão, supondo que a distribuição das notas seja semelhante a uma distribuição normal, use o link abaixo para calcular sua posição aproximada.<br />
<a href="https://www.blogger.com/goog_858932308"><br /></a>
<a href="http://www.wolframalpha.com/input/?i=normal+distribution%2C+mean%3D25%2C+sd%3D5%2C+P%28x%3C30%29">http://www.wolframalpha.com/input/?i=normal+distribution%2C+mean%3D25%2C+sd%3D5%2C+P%28x%3C30%29</a><br />
<br />
No campo de busca do Wolfram Alpha, digite a média (mean), o desvio padrão (sd) e a sua nota.<br />
<br />
No exemplo acima, estou supondo que a média seja 25, o desvio padrão seja 5 e sua nota tenha sido 30.<br />
<br />
<b>normal distribution, mean=25, sd=5, P(x < 30)</b><br />
<br />
O resultado vai ser:<br />
<div style="text-align: left;">
<img src="http://www5a.wolframalpha.com/input/subpodimage.jsp?podtitle=Result&cdtf=MSP33171i7d6df3i5295bc700002g54fhh3e7d95g9b&i=normal%20distribution%2C%20mean%3D25%2C%20sd%3D5%2C%20P%28x%3C30%29&theme=6&plottype=Default&incframe=false&inctitle=false&incinput=false&mck=&spidx=1&s=48&id=MSP33161i7d6df3i5295bc7000016gf840i96f8d7c4&podidentifier=Result&subtitle=&&&view=preview&zoom=s&subselection=undefined&as=null&au=null&at=null&" /> </div>
<br />
Isso significa que você tirou uma nota maior que aprox. 84,1% dos que fizeram a prova). Nesse caso, significaria que você foi bem.<br />
<br />
<img src="http://www5a.wolframalpha.com/input/subpodimage.jsp?podtitle=Plot&cdtf=MSP20741b7eabc189a060a100003a548ah45ih7b625&i=normal%20distribution%2C%20mean%3D25%2C%20sd%3D5%2C%20P%28x%3C30%29&theme=6&plottype=Default&incframe=false&inctitle=false&incinput=false&mck=&spidx=1&s=21&id=MSP20731b7eabc189a060a100003g9e83di89h80bei&podidentifier=Plot&subtitle=&&&view=preview&zoom=s&subselection=undefined&as=null&au=null&at=null&" /><br />
<br />
Devemos lembrar que a nota mínima para ser aceito para a pós-graduação pode variar de universidade para universidade.<br />
<br />
<br />
<br />
<b>Atualização do dia 07/11/2013</b><br />
<br />
Foi divulgada a média e o desvio padrão do Poscomp 2013.<br />
<br />
Após 3 questões terem sido anuladas e esses pontos terem sido dados pra todos os candidatos, a média ficou 30 e o desvio 8,2.<br />
<br />
O link abaixo mostra isso (com o exemplo de você ter acertado 39 questões).<br />
<br />
<a href="http://www.wolframalpha.com/input/?i=normal+distribution%2C+mean%3D30%2C+sd%3D8.2%2C+P%28x%3C39%29">http://www.wolframalpha.com/input/?i=normal+distribution%2C+mean%3D30%2C+sd%3D8.2%2C+P%28x%3C39%29</a> <br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-48431487320890973172013-10-10T11:08:00.004-07:002013-10-10T11:09:40.848-07:00Sorteio do livro "Estendendo a jQuery", de Keith Wood (traduzido e lançado no Brasil pela Novatec Editora) <div class="separator" style="clear: both; text-align: center;">
<a href="https://www.sorteiefb.com.br/images/promocoes/266283.748x300.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://www.sorteiefb.com.br/images/promocoes/266283.748x300.jpg" /></a></div>
<b>Estendendo a jQuery é traduzido e lançado no Brasil pela Novatec Editora</b><i><br /><br />Livro do autor Keith Wood apresenta extensões de funcionalidades para a biblioteca jQuery</i><br />
<br />
“Se
a jQuery oferece tantas funcionalidades, por que você iria querer
estendê-la?”. Essa é a primeira questão respondida por Keith Wood, autor
do livro <i><a href="http://novatec.com.br/livros/estendendo-jquery/" rel="i nofollow" target="_blank" title="Link: http://novatec.com.br/livros/estendendo-jquery/">Estendendo a jQuery</a></i>, que foi traduzido para o português e acaba de ser lançado no Brasil pela <a href="http://www.novatec.com.br/" rel="i nofollow" target="_blank">Novatec Editora</a>.<br />
<br />
Atualmente,
a jQuery é a biblioteca Javascript mais utilizada da internet. Ela
oferece inúmeras funções que facilitam o trabalho do desenvolvedor na
criação de scripts HTML, alteração do DOM, aplicação de animações e
outros recursos. Entretanto, mesmo os desenvolvedores que a utilizam
sabem ela não pode fazer tudo, por isso existem diversos pontos de
extensão da jQuery que permitem a integração de funcionalidades
adicionais. <i>Estendendo a jQuery</i> é
um guia que explora essas extensões personalizadas e mostra como criar
seus próprios seletores e filtros, plug-ins e animações, facilitar a
manutenção de seu código, criar seletores personalizados, funções
utilitárias, processadores sofisticados de Ajax, eventos personalizados e
regras de validação. O
autor Keith Wood já desenvolveu mais de vinte plug-ins jQuery,
incluindo o Datepicker original, World Calendar, Countdown e o SVG. Em
seu livro, detalha todos os aspectos relacionados às funcionalidades da
jQuery, procurando atingir leitores que possuem conhecimento
intermediário sobre jQuery e JavaScript e oferecer informações técnicas
completas sobre a extensão de funcionalidades dessa biblioteca.<br />
<br />
Para participar do sorteio, basta curtir a página do blog "Estudar Computação" e
permitir a participação pelo aplicativo do Sorteie.me no Facebook.<br />
<br />
O sorteio será realizado dia 11 de novembro.<br />
<br />
Link do sorteio: <br />
<b><a href="https://www.sorteiefb.com.br/tab/promocao/266283" rel="i" target="_blank">https://www.sorteiefb.com.br/<wbr></wbr>tab/promocao/266283</a> </b>Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-41998560250784505912013-07-11T08:07:00.003-07:002013-07-11T08:27:10.560-07:00Resultado da pesquisa sobre salários de professores de ComputaçãoOlá, pessoal.<br />
<br />
Um tempo atrás, iniciamos uma pesquisa sobre média salarial de professores de Computação no Brasil.<br />
<br />
<a href="http://www.estudarcomputacao.com/2012/10/pesquisa-salarial-de-professores-de.html">http://www.estudarcomputacao.com/2012/10/pesquisa-salarial-de-professores-de.html</a><br />
<br />
Em geral, professores de Computação de universidades particulares dão aulas como um segundo emprego, ou por hobby ou para complementar a renda. Muitos de nós gastamos muitos anos em graduação e pós (mestrado/doutorado) para obter uma qualificação melhor e é essencial que sejamos valorizados.<br />
<br />
<b>É possível ver um resumo da pesquisa <a href="https://docs.google.com/spreadsheet/viewanalytics?formkey=dHdJOEJtTFBpcnQ3clVnVXdYNFRqWVE6MQ#gid=0">aqui</a>.</b><br />
<br />
Em geral, o valor de hora/aula fica entre R$ 21 e R$ 30, o que na minha opinião é bem baixo. Como muitas faculdades só contratam professores com no mínimo mestrado, isso fica bem abaixo do que um profissional com essa competência ganharia.<br />
<br />
Minha humilde dica é: sempre busque se atualizar e se especializar mais. Procure uma faculdade que te motive de alguma forma: ou pelo salário, ou pelas turmas, ou pelas vantagens extras dadas aos professores. Avalie a estrutura da instituição e a possibilidade de crescimento. Verifique se são oferecidos cursos de aperfeiçoamento ou se você (ou parente próximo) pode(m) se matricular gratuitamente em outros cursos da instituição (isso na verdade é um <a href="http://www.fepesp.org.br/direitos_corpo.asp?id=380">direito do professor</a>).<br />
<br />
E claro: sempre tente ser um profissional cada vez melhor. O retorno e o conhecimento com certeza virão.<br />
<br />
<br />
<b>Clique <a href="https://docs.google.com/spreadsheet/ccc?key=0AsUr1bv2UjuhdHdJOEJtTFBpcnQ3clVnVXdYNFRqWVE&usp=sharing">aqui</a> para ver todas as respostas gravadas.</b><br />
<br />Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-92164297105688780562012-10-15T15:43:00.000-07:002012-10-15T15:46:44.662-07:00Pesquisa salarial de professores de ComputaçãoOlá, pessoal.<br />
<br />
A pedidos de alguns amigos, o blog "Estudar Computação" está lançando uma pesquisa sobre a média salarial dos professores de Computação no Brasil. Se você é professor em algum curso de graduação ou pós, seja em Computação ou áreas afins (como Sistemas de Informação, Análise de Sistemas, Engenharia da Computação, etc.), por favor responda nossa pesquisa. E divulgue! ;-)<br />
<br />
Em breve colocaremos os resultados parciais aqui no blog.<br />
<br />
<br />
<hr />
<br />
<br />
<iframe frameborder="0" height="1172" marginheight="0" marginwidth="0" src="https://docs.google.com/spreadsheet/embeddedform?formkey=dHdJOEJtTFBpcnQ3clVnVXdYNFRqWVE6MQ" width="760">Loading...</iframe>Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-85733424793604333002012-10-02T08:56:00.000-07:002012-10-02T08:57:21.240-07:00Poscomp 2012 - Prova e gabarito<br />
<div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;">
<a href="http://1.bp.blogspot.com/-9GF4SHRNjmM/TLzCsyi03nI/AAAAAAAAAYA/oA_3FnkP2rg/s1600/poscomp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="141" src="http://1.bp.blogspot.com/-9GF4SHRNjmM/TLzCsyi03nI/AAAAAAAAAYA/oA_3FnkP2rg/s320/poscomp.png" style="cursor: move;" width="320" /></a></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
No último domingo, dia 30 de setembro, ocorreu em todo o Brasil mais um Poscomp.</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
Aqui está o link da prova: <a href="http://www.cops.uel.br/concursos/130_poscomp_2012/13001.PDF">http://www.cops.uel.br/concursos/130_poscomp_2012/13001.PDF</a></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
E o gabarito: <a href="http://www.cops.uel.br/concursos/130_poscomp_2012/G13001.PDF">http://www.cops.uel.br/concursos/130_poscomp_2012/G13001.PDF</a></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
O que vocês acharam?</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
* Se souberem de mais discussões, por favor coloquem aqui.</div>
Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-35334832997802983872012-07-19T06:46:00.005-07:002016-06-29T11:16:11.397-07:00Plotando gráficos na web com rApacheOi pessoal!<br />
<br />
Hoje vou dar uma dica de como usar a <b>linguagem R</b> para criar uma <b>aplicação web</b> simples, com <b>upload</b> e um <b>plot</b> de um gráfico. Com essa aplicação, o usuário pode enviar um arquivo texto comum, selecionar o separador dos campos do arquivo, digitar os rótulos dos eixos e depois criar o gráfico, que é então mostrado na página.<br />
<br />
Primeiramente, você deve <a href="http://rapache.net/manual.html#Installation">instalar</a> e <a href="http://rapache.net/manual.html#Configuring_rapache">configurar</a> o <a href="http://rapache.net/">rApache</a> na sua máquina.<br />
<br />
<br />
<div style="text-align: center;">
<a href="http://rapache.net/"><span class="Apple-style-span" style="color: black; font-family: "courier new" , "courier" , monospace; font-size: large;"><b>http://rApache.net</b></span></a></div>
<br />
<br />
Agora, segue o nosso programa:
<br />
<pre style="background-color: white; color: black;"><i><span style="color: grey;"># simples_rApache.R</span></i>
<i><span style="color: grey;"># script para criar gráficos simples usando rApache</span></i>
<i><span style="color: grey;"># 19/07/2012</span></i>
<i><span style="color: grey;"># Leandro Lima - <a href="http://twitter.com/lelimat">@lelimat</a></span></i>
<b>setContentType</b>(<span style="color: #dd0000;">"text/html"</span>)
<b>cat</b>(<span style="color: #dd0000;">'<html><head><title>Simple plot</title></head></span><span style="color: magenta;">\n</span><span style="color: #dd0000;">'</span>)
<b>cat</b>(<span style="color: #dd0000;">'<body><H1>Simple plot</H1></span><span style="color: magenta;">\n</span><span style="color: #dd0000;">'</span>)
<b>cat</b>(<span style="color: #dd0000;">'<form enctype=multipart/form-data method=POST action=""></span><span style="color: magenta;">\n</span><span style="color: #dd0000;">'</span>)
<b>cat</b>(<span style="color: #dd0000;">'Arquivo: <input type=file name=arquivo><br /></span><span style="color: magenta;">\n</span><span style="color: #dd0000;">'</span>)
<b>cat</b>(<span style="color: #dd0000;">'<select name=separador></span><span style="color: magenta;">\n</span><span style="color: #dd0000;">'</span>)
<b>cat</b>(<span style="color: #dd0000;">'<option value=" ">Separador</option></span><span style="color: magenta;">\n</span><span style="color: #dd0000;">'</span>)
<b>cat</b>(<span style="color: #dd0000;">'<option value=",">v&iacute;rgula (,)</option></span><span style="color: magenta;">\n</span><span style="color: #dd0000;">'</span>)
<b>cat</b>(<span style="color: #dd0000;">'<option value=";">ponto-e-v&iacute;rgula (;)</option></span><span style="color: magenta;">\n</span><span style="color: #dd0000;">'</span>)
<b>cat</b>(<span style="color: #dd0000;">'<option value=" ">espa&ccedil;o ( )</option></span><span style="color: magenta;">\n</span><span style="color: #dd0000;">'</span>)
<b>cat</b>(<span style="color: #dd0000;">'</select><br />'</span>)
<b>cat</b>(<span style="color: #dd0000;">'Rotulo eixo x: <input type=text name=rotulo_eixo_x value=""></span><span style="color: #dd0000;">'</span>)
<b>cat</b>(<span style="color: #dd0000;">'Rotulo eixo y: <input type=text name=rotulo_eixo_y value=""></span><span style="color: #dd0000;">'</span>)
<b>cat</b>(<span style="color: #dd0000;">'<input type=submit name=Plotar>'</span>)
<b>cat</b>(<span style="color: #dd0000;">"<hr></span><span style="color: magenta;">\n</span><span style="color: #dd0000;">"</span>)
<i><span style="color: grey;"># Verificando se algum arquivo foi enviado</span></i>
<span style="color: #0000bf;">if</span> (!<b>is.null</b>(FILES)){
separador <b><span style="color: #336366;"><-</span></b> POST<span style="color: #803f00;">$</span>separador
<i><span style="color: grey;"># Lendo o arquivo temporário criado durante o upload</span></i>
arquivo <b><span style="color: #336366;"><-</span></b> <b>read.table</b>(FILES<span style="color: #803f00;">$</span>arquivo<span style="color: #803f00;">$</span>tmp_name, <span style="color: maroon;">sep=</span>separador)
<i><span style="color: grey;"># Rótulos dos eixos x e y</span></i>
rotulo_eixo_x <b><span style="color: #336366;"><-</span></b> <b>try</b>(<b>as.character</b>(POST<span style="color: #803f00;">$</span>rotulo_eixo_x))
rotulo_eixo_y <b><span style="color: #336366;"><-</span></b> <b>try</b>(<b>as.character</b>(POST<span style="color: #803f00;">$</span>rotulo_eixo_y))
<i><span style="color: grey;"># Criação do plot, na mesma pasta do script</span></i>
<b>png</b>(<span style="color: #dd0000;">"/var/www/tmp/plot.png"</span>)
<b>plot</b>(arquivo, <span style="color: maroon;">xlab=</span>rotulo_eixo_x, <span style="color: maroon;">ylab=</span>rotulo_eixo_y)
<b>dev.off</b>();
<i><span style="color: grey;"># Mostrando imagem</span></i>
<b>cat</b>(<b>paste</b>(<span style="color: #dd0000;">"<img src=</span><span style="color: magenta;">\"</span><span style="color: #dd0000;">/tmp/plot.png</span><span style="color: magenta;">\"</span><span style="color: #dd0000;">></span><span style="color: magenta;">\n</span><span style="color: #dd0000;">"</span>,<span style="color: maroon;">sep=</span><span style="color: #dd0000;">''</span>))
}
<b>cat</b>(<span style="color: #dd0000;">"</body></html></span><span style="color: magenta;">\n</span><span style="color: #dd0000;">"</span>)
DONE</pre>
<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://3.bp.blogspot.com/-9H2slsBk6lQ/UAgOXz9yUfI/AAAAAAAAAps/b0iUNa0sNd0/s1600/simple_plot.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="223" src="https://3.bp.blogspot.com/-9H2slsBk6lQ/UAgOXz9yUfI/AAAAAAAAAps/b0iUNa0sNd0/s320/simple_plot.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">A página vai ser mostrada assim.<br />
<br /></td></tr>
</tbody></table>
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-A83RcnGijlo/UAgOXfgvqXI/AAAAAAAAApk/yJrpboZSuTM/s1600/plot.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://2.bp.blogspot.com/-A83RcnGijlo/UAgOXfgvqXI/AAAAAAAAApk/yJrpboZSuTM/s320/plot.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">E esse é um exemplo de gráfico gerado para o<br />
arquivo de entrada abaixo (separado por espaços).</td></tr>
</tbody></table>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<span class="Apple-style-span" style="background-color: #eeeeee;"><br /></span>
<span class="Apple-style-span" style="background-color: #eeeeee;"><br /></span>
<span class="Apple-style-span" style="background-color: #eeeeee;"><br /></span>
<span class="Apple-style-span" style="background-color: #eeeeee;">Arquivo plot.txt</span><br />
<span class="Apple-style-span" style="background-color: #cccccc;"><b><span class="Apple-style-span" style="font-family: "courier new" , "courier" , monospace;">1 1</span></b></span><br />
<span class="Apple-style-span" style="background-color: #cccccc;"><b><span class="Apple-style-span" style="font-family: "courier new" , "courier" , monospace;">2 4</span></b></span><br />
<span class="Apple-style-span" style="background-color: #cccccc;"><b><span class="Apple-style-span" style="font-family: "courier new" , "courier" , monospace;">3 9</span></b></span><br />
<span class="Apple-style-span" style="background-color: #cccccc;"><b><span class="Apple-style-span" style="font-family: "courier new" , "courier" , monospace;">4 16</span></b></span><br />
<span class="Apple-style-span" style="background-color: #cccccc;"><b><span class="Apple-style-span" style="font-family: "courier new" , "courier" , monospace;">5 25
</span></b></span><br />
<br />Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-78762055653598341802012-07-03T07:18:00.000-07:002012-07-03T07:22:37.939-07:00Criando arquivo do Excel (xls) com PythonOi pessoal!<br />
<br />
Hoje venho com uma dica legal para criar arquivos do Excel (extensão <b>xls</b>) a partir do Python. De forma parecida, você poderia criar arquivos do LibreOffice (extensão <b>odt</b>) ou mesmo tabelas em html.<br />
<br />
Um dia desses me pediram para gerar um arquivo Excel com cores a partir de um arquivo de texto com sequências de DNA (um monte de bases A, T, C e G). Uma das alternativas é usar uma biblioteca do Python que permite fazer isso facilmente. Então hoje apresento a vocês a <b>xlwt</b>.<br />
<br />
<b>xlwt</b> - <a href="http://pypi.python.org/pypi/xlwt/">http://pypi.python.org/pypi/xlwt/</a> | <a href="http://www.python-excel.org/">http://www.python-excel.org/</a><br />
<br />
A partir de um conjunto de sequência (que podem vir de um arquivo texto), criei um arquivo Excel em que, dependendo da base (A, C, T ou G) a célula estaria em uma cor diferente. A biblioteca permite definir várias coisas como: número de planilhas, cor do texto e do fundo de células específicas, largura, altura, fórmulas matemáticas, entre outras coisas.<br />
<br />
Veja o código abaixo para resolver o meu problema.<br />
<br />
<br />
<pre style="background-color: white; color: black;"><i><span style="color: grey;"># -*- encoding: utf-8 -*-</span></i>
<i><span style="color: grey;"># seq2xls.py - script para transformar sequências de nucleotídeos</span></i>
<i><span style="color: grey;"># </span></i><i><span style="color: grey;">(DNA) </span></i><i><span style="color: grey;">em arquivos de Excel (xls) com cores</span></i></pre>
<pre style="background-color: white;"><i style="color: black;"><span style="color: grey;"># Criado em: 15/05/2012</span></i>
<i style="color: black;"><span style="color: grey;"># Última modificação: 03/07/2012</span></i>
<i style="color: black;"><span style="color: grey;"># Leandro Lima <lelimaufc@gmail.com></lelimaufc@gmail.com></span></i>
<i style="color: black;"><span style="color: grey;"># Essa é a biblioteca a ser importada</span></i>
<span style="color: magenta;">import</span> xlwt
<i style="color: black;"><span style="color: grey;"># Aqui você define um estilo a ser usado</span></i></pre>
<pre style="background-color: white;"><i style="color: black;"><span style="color: grey;"># (em quantas células você desejar).</span></i>
<i style="color: black;"><span style="color: grey;"># Iremos definir as seguintes cores (para o fundo da célula):</span></i>
<i style="color: black;"><span style="color: grey;"># A -> vermelho</span></i>
styleA <b style="color: black;"><span style="color: magenta;">=</span></b> xlwt.easyxf(<span style="color: #dd0000;">'pattern: pattern solid, fore_colour red;'</span>)
<i style="color: black;"><span style="color: grey;"># C -> verde</span></i>
styleC <b style="color: black;"><span style="color: magenta;">=</span></b> xlwt.easyxf(<span style="color: #dd0000;">'pattern: pattern solid, fore_colour green;'</span>)
<i style="color: black;"><span style="color: grey;"># G -> amarelo</span></i>
styleG <b style="color: black;"><span style="color: magenta;">=</span></b> xlwt.easyxf(<span style="color: #dd0000;">'pattern: pattern solid, fore_colour yellow;'</span>)
<i style="color: black;"><span style="color: grey;"># T -> azul</span></i>
styleT <b style="color: black;"><span style="color: magenta;">=</span></b> xlwt.easyxf(<span style="color: #dd0000;">'pattern: pattern solid, fore_colour blue;'</span>)
<i style="color: black;"><span style="color: grey;"># Definindo as sequências</span></i>
sequencias <b style="color: black;"><span style="color: magenta;">=</span></b> {<span style="color: #dd0000;">'sequencia 1'</span>:<span style="color: #dd0000;">'ACTGATCATGACATAGTAACCATGACATAGAA'</span>,
<span style="color: #dd0000;">'sequencia 2'</span>:<span style="color: #dd0000;">'CTAGCATGCATGACTAGCATGACTGACTGACT'</span>,
<span style="color: #dd0000;">'sequencia 3'</span>:<span style="color: #dd0000;">'CATCGACTCGACTCGACATCAGCAGCAGCATG'</span>,
<span style="color: #dd0000;">'sequencia 4'</span>:<span style="color: #dd0000;">'CTGACTAGCAGATCAGCATACGACTAGCCACA'</span>,
<span style="color: #dd0000;">'sequencia 5'</span>:<span style="color: #dd0000;">'CTAGCAGGACGACAGATTGACAGCAGAGCACA'</span>,
<span style="color: #dd0000;">'sequencia 6'</span>:<span style="color: #dd0000;">'AATCACATCACGGCATACGACGACTAGCAGTA'</span>,
}
<i style="color: black;"><span style="color: grey;"># Definindo planilha</span></i>
wb <b style="color: black;"><span style="color: magenta;">=</span></b> xlwt.Workbook()
ws <b style="color: black;"><span style="color: magenta;">=</span></b> wb.add_sheet(<span style="color: #dd0000;">'Sequencias'</span>)
<i style="color: black;"><span style="color: grey;"># Títulos das colunas</span></i>
titles <b style="color: black;"><span style="color: magenta;">=</span></b> [<span style="color: #dd0000;">'identificador'</span>,<span style="color: #dd0000;">'sequencia'</span>]
<i style="color: black;"><span style="color: grey;"># Escrevendo títulos na primeira linha do arquivo</span></i>
<b style="color: black;">for</b> i <b style="color: black;"><span style="color: magenta;">in</span></b> <span style="color: maroon;">range</span>(<span style="color: maroon;">len</span>(titles)):
ws.write(<span style="color: blue;">0</span>, i, titles[i])
<i style="color: black;"><span style="color: grey;"># Definindo largura das células das sequência</span></i>
<b style="color: black;">for</b> i <b style="color: black;"><span style="color: magenta;">in</span></b> <span style="color: maroon;">range</span>(<span style="color: blue;">1</span>,<span style="color: blue;">50</span>):
ws.col(i).width <b style="color: black;"><span style="color: magenta;">=</span></b> <span style="color: blue;">512</span>
i <b style="color: black;"><span style="color: magenta;">=</span></b> <span style="color: blue;">1</span>
<b style="color: black;">for</b> id_sequencia <b style="color: black;"><span style="color: magenta;">in</span></b> sequencias.keys():
<i style="color: black;"><span style="color: grey;"># Obtendo a sequência do dicionário</span></i>
sequencia <b style="color: black;"><span style="color: magenta;">=</span></b> sequencias[id_sequencia]
<i style="color: black;"><span style="color: grey;"># Escrevendo o identificar na 1ª coluna da linha i</span></i>
ws.write(i, <span style="color: blue;">0</span>, id_sequencia)
<b style="color: black;">for</b> j <b style="color: black;"><span style="color: magenta;">in</span></b> <span style="color: maroon;">range</span>(<span style="color: maroon;">len</span>(sequencia)):
<b style="color: black;">if</b> j <b style="color: black;"><span style="color: magenta;"><</span></b> <span style="color: maroon;">len</span>(sequencia):
<b style="color: black;">if</b> sequencia[j]<b style="color: black;"><span style="color: magenta;">==</span></b><span style="color: #dd0000;">'A'</span>:
ws.write(i, <span style="color: blue;">1</span><b style="color: black;"><span style="color: magenta;">+</span></b>j, sequencia[j], styleA)
<b style="color: black;">elif</b> sequencia[j]<b style="color: black;"><span style="color: magenta;">==</span></b><span style="color: #dd0000;">'C'</span>:
ws.write(i, <span style="color: blue;">1</span><b style="color: black;"><span style="color: magenta;">+</span></b>j, sequencia[j], styleC)
<b style="color: black;">elif</b> sequencia[j]<b style="color: black;"><span style="color: magenta;">==</span></b><span style="color: #dd0000;">'G'</span>:
ws.write(i, <span style="color: blue;">1</span><b style="color: black;"><span style="color: magenta;">+</span></b>j, sequencia[j], styleG)
<b style="color: black;">elif</b> sequencia[j]<b style="color: black;"><span style="color: magenta;">==</span></b><span style="color: #dd0000;">'T'</span>:
ws.write(i, <span style="color: blue;">1</span><b style="color: black;"><span style="color: magenta;">+</span></b>j, sequencia[j], styleT)
<b style="color: black;">else</b>:
ws.write(i, <span style="color: blue;">1</span><b style="color: black;"><span style="color: magenta;">+</span></b>j, sequencia[j])
<b style="color: black;">else</b>:
ws.write(i, <span style="color: blue;">1</span><b style="color: black;"><span style="color: magenta;">+</span></b>j, <span style="color: #dd0000;">''</span>)
i <b style="color: black;"><span style="color: magenta;">+=</span></b> <span style="color: blue;">1</span>
<i style="color: black;"><span style="color: grey;"># Salvando</span></i>
wb.save(<span style="color: #dd0000;">'sequencias.xls'</span>)</pre>
<pre style="background-color: white; color: black;"></pre>
<br />
<br />
O arquivo final vai sair com essa cara. Assim fica mais fácil saber se as sequências estão alinhadas em algum ponto.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://4.bp.blogspot.com/-LO4KlR3qFV4/T_L-uro6GjI/AAAAAAAAApE/2kFCXxcQrV4/s1600/sequencias.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="150" src="http://4.bp.blogspot.com/-LO4KlR3qFV4/T_L-uro6GjI/AAAAAAAAApE/2kFCXxcQrV4/s400/sequencias.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Clique na imagem para ampliar</td></tr>
</tbody></table>
<br />Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-77784965806720163612012-04-20T11:23:00.000-07:002012-04-20T11:26:49.944-07:00Systems Biology Lectures<b>Systems Biology</b> (<b>Biologia de Sistemas</b>, ou <b>Biologia Sistêmica</b>) é o nome que se dá à maneira de estudar e compreender os fenômenos biológicos não como fatos isolados, mas como a interação de vários fatores. Apesar de parecer um curso puramente <b>biológico</b>, a disciplina envolve muito de <b>estatística</b> e <b>computação</b>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-GWYZbW9INF8/T5GpUX_3S4I/AAAAAAAAAmY/wqU8H9Dn5_0/s1600/weizmann_institute_of_science.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-GWYZbW9INF8/T5GpUX_3S4I/AAAAAAAAAmY/wqU8H9Dn5_0/s1600/weizmann_institute_of_science.png" /></a></div>
<br />
<br />
Aqui estão os links dos videos de um curso de <b>Systems Biology</b>, pelo <b>Prof. Uri Alon</b>, do <b>Weizmann Institute of Science</b>. Clique no video abaixo para ver a aula 1.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://1.gvt0.com/vi/Z__BHVFP0Lk/0.jpg" height="266" width="320"><param name="movie" value="http://www.youtube.com/v/Z__BHVFP0Lk&fs=1&source=uds" />
<param name="bgcolor" value="#FFFFFF" />
<embed width="320" height="266" src="http://www.youtube.com/v/Z__BHVFP0Lk&fs=1&source=uds" type="application/x-shockwave-flash"></embed></object></div>
<br />
<br />
Aula 2: <a href="http://www.youtube.com/watch?v=w7oaCxaKfcA">http://www.youtube.com/watch?v=w7oaCxaKfcA</a><br />
Aula 3: <a href="http://www.youtube.com/watch?v=7AS4mW4Qwl0">http://www.youtube.com/watch?v=7AS4mW4Qwl0</a><br />
Aula 4: <a href="http://www.youtube.com/watch?v=3pPgPyS5ceQ">http://www.youtube.com/watch?v=3pPgPyS5ceQ</a><br />
Aula 5: <a href="http://www.youtube.com/watch?v=YGB0OblGQ00">http://www.youtube.com/watch?v=YGB0OblGQ00</a><br />
Aula 6: <a href="http://www.youtube.com/watch?v=GoE-k3-8W1E">http://www.youtube.com/watch?v=GoE-k3-8W1E</a><br />
Aula 7: <a href="http://www.youtube.com/watch?v=nJLu6GuCE0Q">http://www.youtube.com/watch?v=nJLu6GuCE0Q</a><br />
Aula 8: <a href="http://www.youtube.com/watch?v=PxjibEIs3MY">http://www.youtube.com/watch?v=PxjibEIs3MY</a><br />
Aula 9: <a href="http://www.youtube.com/watch?v=yzQdxNSJXik">http://www.youtube.com/watch?v=yzQdxNSJXik</a><br />
<br />Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-63187681278492854542012-04-13T09:48:00.000-07:002012-04-13T09:48:36.649-07:00Aulas de Computação na Udacity<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="http://www.udacity.com/image/headshot/Instructor/1061104" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="133" src="http://www.udacity.com/image/headshot/Instructor/1061104" width="200" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span class="Apple-style-span" style="font-family: Georgia, Times, serif; line-height: 19px;"><b class="sans" style="font-family: arial, sans-serif;">PETER NORVIG</b></span></td></tr>
</tbody></table>
<span class="Apple-style-span" style="border-collapse: collapse; color: #222222; font-family: arial, sans-serif;">A partir de 16 de abril, a Udacity vai oferecer quatro novos cursos, e oferecer novamente <a href="http://www.udacity.com/overview/Course/cs101" style="color: #1155cc;" target="_blank">CS101: Building a Search Engine</a> e <a href="http://www.udacity.com/overview/Course/cs373" style="color: #1155cc;" target="_blank">CS373: Programming a Robotic Car</a>. Todos que quiserem podem acompanhar as aulas.<br /><br />Inscrições para todas as turmas estão disponíveis em </span><span class="Apple-style-span" style="border-collapse: collapse; color: #222222; font-family: arial, sans-serif;"><a href="http://www.udacity.com/" style="color: #1155cc;" target="_blank">http://www.udacity.com</a><br /><br /><br /><br /><b>Disciplinas novas</b><br /><br /><br /><a href="http://www.udacity.com/overview/Course/cs212" style="color: #1155cc;" target="_blank">CS212: The Design of Computer Programs</a><br />Peter Norvig vai ajudar os alunos a desenvolver um bom gosto como programadores aprendendo como identificar soluções elegantes para os problemas.<br /></span><br />
<br />
<br /><table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: -webkit-auto;"><tbody>
<tr><td style="text-align: center;"><a href="http://www.udacity.com/image/headshot/Instructor/881019" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" src="http://www.udacity.com/image/headshot/Instructor/881019" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span class="Apple-style-span" style="font-family: Georgia, Times, serif; line-height: 19px;"><b class="sans" style="font-family: arial, sans-serif;">STEVE HUFFMAN</b></span></td></tr>
</tbody></table>
<a href="http://www.udacity.com/overview/Course/cs253" style="border-collapse: collapse; font-family: arial, sans-serif;" target="_blank">CS253: Web Application Engineering</a><br /><span class="Apple-style-span" style="color: #333333; font-family: arial, sans-serif;">Ministrado por Steve Huffman, co-fundador do Reddit.com e Hipmunk.com, este curso irá abranger as coisas que ele gostaria de ter aprendido ao iniciar seus sites, enquanto ele ensina os alunos a construir um blog.</span><br />
<span class="Apple-style-span" style="border-collapse: collapse; color: #222222; font-family: arial, sans-serif;"><br /></span><span class="Apple-style-span" style="border-collapse: collapse; color: #222222; font-family: arial, sans-serif;"><a href="http://www.udacity.com/overview/Course/cs262" style="color: #1155cc;" target="_blank">CS262: Programming Languages</a></span><span class="Apple-style-span" style="border-collapse: collapse; color: #222222; font-family: arial, sans-serif;"><br /></span><span class="Apple-style-span" style="border-collapse: collapse; color: #222222; font-family: arial, sans-serif;">Wes Weimer, professor da Universidade de Virgínia, vai ensinar os alunos sobre linguagens de programação no contexto da construção de um navegador web. Os alunos vão aprender a entender de HTML e javascript de dentro para fora, escrevendo um programa que os compreenda.</span><span class="Apple-style-span" style="border-collapse: collapse; color: #222222; font-family: arial, sans-serif;"><br /></span><span class="Apple-style-span" style="border-collapse: collapse; color: #222222; font-family: arial, sans-serif;"><br /></span><span class="Apple-style-span" style="border-collapse: collapse; color: #222222; font-family: arial, sans-serif;"><a href="http://www.udacity.com/overview/Course/cs387" style="color: #1155cc;" target="_blank">CS387: Applied Cryptography</a></span><br /><span class="Apple-style-span" style="color: #222222; font-family: arial, sans-serif;"></span><br />
<span class="Apple-style-span" style="color: #222222; font-family: arial, sans-serif;"><span class="Apple-style-span" style="border-collapse: collapse;">O professor da Udacity David Evans vai ensinar aos alunos os fundamentos matemáticos por trás da criptografia e ver como ela é usado para resolver problemas de computação. É tudo sobre como fazer e quebrar quebra-cabeças!</span></span><br />
<div style="border-collapse: collapse;">
<span class="Apple-style-span" style="color: #222222; font-family: arial, sans-serif;"><br /></span></div>
<span class="Apple-style-span" style="border-collapse: collapse; color: #222222; font-family: arial, sans-serif;">Udacity</span><br />
<br />
<br />
<br />
<br />
<span class="Apple-style-span" style="border-collapse: collapse; color: #222222; font-family: arial, sans-serif; font-size: 13px;"><br /></span><br />
<span class="Apple-style-span" style="border-collapse: collapse; color: #222222; font-family: arial, sans-serif; font-size: 13px;"><br /></span><br />Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-76152239926783851992012-04-04T07:17:00.001-07:002012-04-04T07:18:06.328-07:00ENADE Computação 2011 (prova, gabarito e padrão de respostas)Olá pessoal!<br />
<br />
É possível baixar a prova do ENADE (Exame Nacional de Desempenho dos Estudantes) 2011 junto com o gabarito e os padrões de respostas.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-8aNOE5x2lAk/T3xXtji1aiI/AAAAAAAAAlg/RVPeNVoHofs/s1600/enade2011.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="203" src="http://3.bp.blogspot.com/-8aNOE5x2lAk/T3xXtji1aiI/AAAAAAAAAlg/RVPeNVoHofs/s320/enade2011.png" width="320" /></a></div>
<br />
<br />
Basta clicar nos links abaixo.<br />
<br />
Prova: <a href="http://download.inep.gov.br/educacao_superior/enade/provas/2011/COMPUTACAO.pdf"><span class="Apple-style-span" style="font-size: x-small;">http://download.inep.gov.br/educacao_superior/enade/provas/2011/COMPUTACAO.pdf</span></a><br />
Gabarito: <a href="http://download.inep.gov.br/educacao_superior/enade/gabaritos/2011/Enade2011_Gab_Def_Computacao.pdf"><span class="Apple-style-span" style="font-size: x-small;">http://download.inep.gov.br/educacao_superior/enade/gabaritos/2011/Enade2011_Gab_Def_Computacao.pdf</span></a><br />
Padrões de respostas: <a href="http://download.inep.gov.br/educacao_superior/enade/padrao_resposta/2011/COMPUTACAO.pdf"><span class="Apple-style-span" style="font-size: x-small;">http://download.inep.gov.br/educacao_superior/enade/padrao_resposta/2011/COMPUTACAO.pdf</span></a><br />
<br />
O ENADE é uma prova elaborada pelo Ministério da Educação para avaliar as Instituições de Ensino Superior no Brasil. Para saber mais sobre o ENADE, clique <a href="http://portal.inep.gov.br/enade">aqui</a>.<br />
<br />
É possível baixar provas de outras áreas aqui: <a href="http://portal.inep.gov.br/provas-e-gabaritos">http://portal.inep.gov.br/provas-e-gabaritos</a>Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-58762433405122458032012-02-22T08:46:00.004-08:002012-09-17T10:33:59.689-07:00Cursos de Bioinformática on-line<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
Oi pessoal.</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
Criei este post para colocar constantemente links de <b>aulas on-line de Bioinformática</b>. São páginas de cursos que foram ou estão sendo ministrados tanto em faculdade brasileiras quanto de fora. Os cursos indicam uma vasta quantidade de livros e exercícios.</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
Aproveitem!</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-aunDdLZJM-c/T0Ubxa9rDRI/AAAAAAAAAj4/-ScaRlQSH20/s1600/bioinformatics_courses.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="274" src="http://2.bp.blogspot.com/-aunDdLZJM-c/T0Ubxa9rDRI/AAAAAAAAAj4/-ScaRlQSH20/s320/bioinformatics_courses.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Imagem: <a href="http://cores.montana.edu/index.php?page=bioinformatics-core-facility">http://cores.montana.edu/index.php?page=bioinformatics-core-facility</a> </td></tr>
</tbody></table>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
-----------------------</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
Livros do NCBI</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<a href="http://www.ncbi.nlm.nih.gov/books/">http://www.ncbi.nlm.nih.gov/books/</a></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
Cursos do NCBI</div>
<a href="http://www.ncbi.nlm.nih.gov/Class/minicourses/">http://www.ncbi.nlm.nih.gov/Class/minicourses/</a><br />
<br />
Brief introduction to Bioinformatics - Sandra Porter, Science Blogs<br />
<a href="http://scienceblogs.com/digitalbio/2007/10/its_time_for_bioinformatics_cl.php">http://scienceblogs.com/digitalbio/2007/10/its_time_for_bioinformatics_cl.php</a><br />
<br />
Network Algorithms for Biology - Universidade de Mariland<br />
<a href="http://www.cs.umd.edu/class/fall2009/cmsc858l/lectures.html">http://www.cs.umd.edu/class/fall2009/cmsc858l/lectures.html</a><br />
<br />
Biologia Computacional - Universidade de Washington<br />
<a href="http://www.cs.washington.edu/education/courses/cse527/11au/notes.html">http://www.cs.washington.edu/education/courses/cse527/11au/notes.html</a><br />
<br />
Computational Gene Finding and Genome Assembly - Universidade de Mariland<br />
<a href="http://www.cbcb.umd.edu/confcour/CMSC828H.shtml">http://www.cbcb.umd.edu/confcour/CMSC828H.shtml</a><br />
<br />
Bioinformatics for Metagenomics - Universidade de Mariland<br />
<a href="http://cbcb.umd.edu/confcour/CMSC858E.shtml">http://cbcb.umd.edu/confcour/CMSC858E.shtml</a><br />
<br />
Integrative Bioinformatics & Genomics - Universidade de Amsterdã<br />
<a href="http://www.ibi.vu.nl/teaching/masters/ibi_genomics/">http://www.ibi.vu.nl/teaching/masters/ibi_genomics/</a><br />
<br />
Programming & Statistical Modeling in R - Universidade de Harvard<br />
<a href="http://isites.harvard.edu/icb/icb.do?keyword=k84377">http://isites.harvard.edu/icb/icb.do?keyword=k84377</a><br />
<br />
Introduction to Computational Biology and Bioinformatics - Universidade de Harvard<br />
<a href="http://isites.harvard.edu/icb/icb.do?keyword=k84348">http://isites.harvard.edu/icb/icb.do?keyword=k84348</a><br />
<br />
Genômica - Instituto de Biociências - Universidade de São Paulo<br />
<a href="https://gate.ib.usp.br/GateWeb/?q=pt-br/content/curso-g%C3%AAnomica-2012">https://gate.ib.usp.br/GateWeb/?q=pt-br/content/curso-g%C3%AAnomica-2012</a><br />
<br />
Laboratório de Processamento de Informação Biológica - USP (Ribeirão Preto)<br />
<a href="http://labpib.openwetware.org/Teaching.html">http://labpib.openwetware.org/Teaching.html</a><br />
<br />
<b>Biologia</b><br />
<a href="http://www.khanacademy.org/">http://www.khanacademy.org/</a> (dica do amigo <a href="http://silveiraneto.net/">Silveira Neto</a>)<br />
<a href="http://www.youtube.com/user/bozemanbiology/videos">http://www.youtube.com/user/bozemanbiology/videos</a> (dica do amigo <a href="http://silveiraneto.net/">Silveira Neto</a>)<br />
<br />
Video interessante sobre comparação de sequências<br />
<br />
<iframe allowfullscreen="allowfullscreen" frameborder="0" height="315" src="http://www.youtube.com/embed/OSKwuOccAak" width="560"></iframe><br />
<br />
<br />
<b>Obs.: Essa página se manterá em constante atualização.</b><br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.comtag:blogger.com,1999:blog-8880953053777120773.post-27945431758563725652011-12-05T04:25:00.001-08:002016-06-29T11:18:46.118-07:00Como concatenar strings no R (como o join, no Python)Tentando concatenar elementos de um vetor de strings (character) de forma a criar uma só string, deparei-me com a função <b><a href="http://stat.ethz.ch/R-manual/R-patched/library/base/html/paste.html">paste</a></b>.<br />
<br />
A documentação do R mostra o seguinte, para a função:<br />
<br />
------------------------------------------------------<br />
<br />
<h3 style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #666666; font-family: monospace; font-size: large;">
Description</h3>
Concatenate vectors after converting to character.<br />
<h3 style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #666666; font-family: monospace; font-size: large;">
Usage</h3>
<pre>paste(..., sep = " ", collapse = NULL)
</pre>
<h3 style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: #666666; font-family: monospace; font-size: large;">
Arguments</h3>
<table summary="R argblock"><tbody>
<tr valign="top"><td><code>...</code></td><td>one or more <span style="color: #666666; font-family: "courier new" , "courier";"><b>R</b></span> objects, to be converted to character vectors.</td></tr>
<tr valign="top"><td><code>sep</code></td><td>a character string to separate the terms. Not <code><a href="http://stat.ethz.ch/R-manual/R-patched/library/base/html/NA.html" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: blue;">NA_character_</a></code>.</td></tr>
<tr valign="top"><td><code>collapse</code></td><td>an optional character string to separate the results. Not <code><a href="http://stat.ethz.ch/R-manual/R-patched/library/base/html/NA.html" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; color: blue;">NA_character_</a></code>.<br />
<div>
<br /></div>
<div>
<br /></div>
</td></tr>
</tbody></table>
<br />
------------------------------------------------------<br />
<br />
Mesmo com a descrição, talvez ainda cause confusão a diferença exata entre os argumentos <b>sep</b> e <b>collapse</b>.<br />
<br />
No exemplo da documentação, é mostrado o comando<br />
<br />
<br />
<pre><b>paste("A", 1:6, sep = "")</b></pre>
<br />
<br />
que gera o seguinte resultado:<br />
<br />
<br />
<pre><b>[1] "A1" "A2" "A3" "A4" "A5" "A6"</b></pre>
<br />
<br />
De forma parecida, o comando<br />
<br />
<br />
<pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><b>paste("A", 1:6, sep = "_")</b></pre>
<br />
<br />
gera o resultado:<br />
<br />
<br />
<br />
<pre style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"><b>[1] "A_1" "A_2" "A_3" "A_4" "A_5" "A_6"</b></pre>
<br />
<br />
<br />
O problema é que eu gostaria de unir todos os elementos de um vetor em uma string só, como o comando <a href="http://docs.python.org/library/stdtypes.html#str.join">join</a> faz no <a href="http://python.org/">Python</a>.<br />
<br />
Exemplo (em <b>Python</b>):<br />
<b><span class="Apple-style-span" style="font-family: "courier new" , "courier" , monospace;">>>> x = ['1', '2', '3', '4', '5', '6']</span></b><br />
<b><span class="Apple-style-span" style="font-family: "courier new" , "courier" , monospace;">>>> print 'bla'.join(x)</span></b><br />
<b><span class="Apple-style-span" style="font-family: "courier new" , "courier" , monospace;">1bla2bla3bla4bla5bla6</span></b><br />
<br />
Ou seja, o <b>join</b> une os termos de <b>x</b> separando-os pela string passada (no caso, 'bla').<br />
<br />
Para fazer de maneira semelhante, com o <b>paste</b>, você deve usar o argumento <b>collapse</b>, e não o <b>sep</b>.<br />
A principal diferença é que o <b>sep</b> é um separador usado na concatenação de cada termo. Já o <b>collapse</b> serve para unir todos os termos.<br />
<br />
Veja a diferença:<br />
<br />
<b><span class="Apple-style-span" style="font-family: "courier new" , "courier" , monospace;">> paste("A", 1:6, <span class="Apple-style-span" style="color: red;">sep</span> = '*')</span></b><br />
<b><span class="Apple-style-span" style="font-family: "courier new" , "courier" , monospace;">[1] "A*1" "A*2" "A*3" "A*4" "A*5" "A*6"</span></b><br />
<b><span class="Apple-style-span" style="font-family: "courier new" , "courier" , monospace;">> paste("A", 1:6, <span class="Apple-style-span" style="color: red;">collapse</span> = '*')</span></b><br />
<b><span class="Apple-style-span" style="font-family: "courier new" , "courier" , monospace;">[1] "A 1*A 2*A 3*A 4*A 5*A 6"</span></b><br />
<div>
<br /></div>
<div>
Dessa forma, para fazer o paste ter a mesma função do <b>join</b>, use o <b>collapse</b>, e não o <b>sep</b>.</div>
<div>
<br /></div>
<br />
É isso. Espero que o post ajude!Anonymoushttp://www.blogger.com/profile/17810216644273118641noreply@blogger.com