Showing posts with label aprendizado. Show all posts
Showing posts with label aprendizado. Show all posts

Friday, March 15, 2013

OpenBadges by Mozilla

 
Esse post será um tanto quanto curto, o tempo me escapa esse ano, 2013 realmente começou com tudo e nem mesmo quando terei férias terei o tempo necessário para atualizar sempre o blog, mas não o abandonei e nem mesmo esqueci.

Hoje vou falar de uma iniciativa da mozilla, o OpenBadges. Pra quem é ligado a fundação mozilla ja ouviu falar e até mesmo ja ganhou alguns badges. O objetivo é bem interessante, você realiza alguns exercícios e em troca ganha um bagde (adesivo) dizendo que você sabe daquele assunto ou tarefa.
Parece simples não??? E é... o que é necessário para começar??

Bom, para começar que tal fazer uma visita a página principal do OpenBadges ( http://openbadges.org/ ). La tem tudo explicado do funcionamento, mas darei um geral aqui.
Você precisa criar um backpack (é o local onde estarão armazenados seus badges), para criar um backpack é só acessar o site e criar uma conta ( http://backpack.openbadges.org/ ). Pronto!!!
Agora é só sair por ae coletando badges!!!


A própria mozilla disponibiliza alguns como é o caso dos badges para quem gosta do Mozilla WebMaker ( https://badges.webmaker.org/ ) ... ;D


É válido citar também o site do P2PU ( https://p2pu.org/ ), la você poderá conseguir dezenas de badges... 

Olha que legal, além de postar sobre o OpenBadges, um dos desafios que estou fazendo pede para assim que terminar você crie um blog post falando sobre o que foi realizado... e consequentemente aqui estou eu!! hahahahahahahaha

O desafio é bem simples: 
"This task is going to introduce you to writing a basic html document. But you'll do it on paper, using a pen, for fifteen minutes."

Ok, esse desafio é bem simples, mas não deixa de ser trabalhoso, afinal você tem que escrever um blog post inteiro sobre sua façanha... e colocar uma foto! :O

Enfim, bom divertimento a vocês todos...

Monday, September 17, 2012

Melhorando a performance de sistemas web.


Melhorando a performance de sistemas web.

Com a grande migração de muitos sistemas para a internet após o ano 2000, muitas técnicas foram propostas para a melhoria no processo de carregamento de sistemas web. Essas melhorias visam, claro, uma melhor performance de acesso para os usuários dos sistemas.
Nesse post irei tratar de algumas técnicas que são principais, de fácil identificação e que podem ser implantadas rapidamente. Um detalhe importante é que todas as informações colocadas aqui são as mais simples possíveis, por conseguinte se forem implantadas em ambientes de produção pode vir a ser necessário algum tipo de análise de segurança (não que todas irão precisar claro!). Por onde começar?


Um start interessante é instalar estas duas ferramentas, as quais irão proporcionar uma visão de como nossa página é carregada e sugerir melhorias a serem feitas:


Após isso, comece realmente a melhorar sua performance!


Minify your files!!!

A primeira técnica e que considero a mais simples de todas, é minificar e agrupar seus arquivos estáticos. Mas o que são arquivos estáticos? Eles são como páginas estáticas (Static Web Pages[1]), ou seja seu conteúdo não muda de acordo com o acesso. Os exemplos mais comuns são arquivos javascript, css e imagens!
Normalmente esses arquivos não são tratados para contemplar esse tipo de situação, e isso pode vir a se tornar um problema de payload[2] conforme vamos adicionando mais e mais bibliotecas, classes e imagens sem otimiza-los.
Algumas soluções para esse problema se resumem em minimizar manualmente os arquivos usando ferramentas como (estes são os top 4 na minha busca do Google) e posteriormente agrupando todos em 1 (um) só arquivo:

Javascript


CSS:


Dentre os outros milhões de ferramentas online, eles podem nos ajudar a melhorar a performance de nossa aplicação no que concerne no carregamento da bibliotecas e códigos que utilizamos, mas não são nem um pouco produtivos, pois devemos fazer manualmente essa cópia e compressão e ainda precisamos manter 2 (dois) arquivos (o original e o minificado).
Como melhorar isso? E sermos mais produtivos?

Podemos utilizar ferramentas automáticas que façam isso, alternativas é o que não faltam também. Particularmente conheço muito poucas ferramentas desse tipo em PHP, mas uma me chamou ultimamente:


A idéia aqui é a mesma, otimizar e automatizar a minificação dos arquivos estáticos, lembrando que ele não serve para imagens, mas sim para javascript e css.
Em outras linguagens temos alternativas ja incorporadas nos frameworks (que não é necessariamente o caso do Zend Framework[3], mas o minify pode ser usado em conjunto[4]), por exemplo em Django[5] temos um app chamado django-compressor[6] que faz a minificação e agrupamento dos arquivos automaticamente, sendo necessário apenas ativar o package.

Para imagens, podemos utilizar de alguns programas para compressão, alguns exemplos bem interessantes, sugeridos pelo Google são [7]:




GZIP[8] on the fly!

Outra técnica bastante utilizada em sistema/sites da web é de comprimir seus arquivos, aqui vale a máxima de que 10% de redução pode diminuir em muito o payload de seu usuário!
Vou dar um exemplo bem simples e surpreendente, eu utilizo a biblioteca ExtJs[9] que tem um arquivo .js de 1Mb! Isso mesmo, e é 1Mb ja minificado! Usando gzip diminuímos esse payload para 400Kb, ainda é muito? Pode ser, mais é um ganho de 50%. Ou seja 50% menos de carga que um usuário terá de carregar em cada acesso ao sistema.
Devo dizer que o gzip não serve apenas para arquivos estáticos, podemos comprimir todos os arquivos e nossas respostas AJAX[10] também, ou seja, todo nosso site será mais leve para o usuário carregar. O lado ruim? nosso servidor deve aguentar a carga para comprimir todos os dados antes de enviar de volta para nosso usuário.

Para habilitar o gzip em nosso servidor apache devemos apenas habilitar o módulo mod_deflate! Simples não? Claro que tem-se muitas configurações, mas de modo simplista devemos apenas executar em shell:

$ a2enmod deflate

Fazendo isso estamos prontos, todo o conteúdo do nosso site será compresso para cada requisição realizada. Outros servidores podem possuir outras configurações.
Em Django podemos habilitar a compressão via gzip sem precisar interagir com o servidor, para isso basta habilitarmos o middleware GZipMiddleware[11], fazendo com que nosso sistema use script’s em python para a compressão!




Finalizando por aqui...
Seus usuários agradecem, mesmo não sabendo disso... :D!

Estas são duas regras muito simples que podemos habilitar em nossos sistemas, fazendo com que a performance de carregamento seja melhorada.
No próximo post vou tratar sobre o varnish cache e cache headers no apache!








falowaer

Thursday, May 31, 2012

Aprendizado Contínuo

Aprendizado Contínuo


Então você é daqueles que não gosta de estudar? Odeia pegar nos livros? Bom então essa publicação não é pra você! Mas não se preocupe, a vida esta repleta de pessoas que gosta/odeiam estudar, então com certeza um par você poderá encontrar.
Mas afinal de contas, o que nos leva a estudar?
Para alguns a resposta é simples e imediata: "Estudo pois quero conseguir um emprego bom e ganhar muito dinheiro!".
Parece ser uma boa resposta, e até mesmo simplista demais, afinal nem todo mundo que estuda ganha dinheiro e o inverno também é muito verdadeiro, nem todos que ganham muito dinheiro estudaram...
Limitar nossos estudos e direcionamentos, pelo simples modo de ver a vida dessa maneira (estudar para ganhar dinheiro), faz-me pensar se as pessoas não vêem seus motivos de forma obscura demais.

A verdadeira razão

Estudamos pelo simples fato de aprender, claro que aprendendo cada vez mais, e até mesmo especializando cada vez mais em um assunto, poderemos colher benefícios desse estudo, como um emprego melhor, uma idéia brilhante que nos faça ter muito dinheiro. Mas acredito, que não devemos estudar voltando nossa mente para esse fim, caso contrário, se não atingirmos esse objetivo, ficaremos frustrados e deixaremos de estudar, nos acomodando (ficamos no Ok Plateau).

Mas o que é esse Ok Plateau?
Quando nos acomodamos, ou achamos que ja sabemos demais sobre determinado assunto, ou melhor, quando paramos de ficar melhor em algo. E estudar é isso, teoria e prática, ficar cada vez melhor sobre determinado assunto, tentando evitar o "Ok Plateau"

Q: Can you explain the "OK Plateau?"
A: The OK Plateau is that place we all get to where we just stop getting better at something. Take typing, for example. You might type and type and type all day long, but once you reach a certain level, you just never get appreciably faster at it. That's because it's become automatic. You've moved it to the back of your mind's filing cabinet. If you want to become a faster typer, it's possible, of course. But you've got to bring the task back under your conscious control. You've got to push yourself past where you're comfortable. You have to watch yourself fail and learn from your mistakes. That's the way to get better at anything. And it's how I improved my memory. (Joshua Foer)


Por conseguinte, devemos pensar, não, acreditar que estudamos para um objetivo a curto prazo (e não a longo prazo, como ganhar dinheiro), o objetivo de aprender mais e nos tornarmos melhores! Aceitando esse objetivo podemos mudar nosso conceito sobre o estudo e consequentemente sobre nós.

Por onde começar?

Bom, legal, quero fazer isso, mas como faço?
As possibilidades podem ser muitas, mas acredito que o melhor seria o seguinte:
  • Procure identificar os objetos, temas, coisas que tem preferência;
  • Busque sempre informações sobre o tema;
  • Encontre as pessoas que são referência na área e siga-as como puder;
  • Procure por grupos para interagir, eles podem ser fontes de muitas informações;
  • E o principal, não importa o quão não goste de um tema, procure conhece-lo, pois o mesmo pode lhe abrir os olhos para outros assuntos!
Seguindo essa linha, um site muito legal que encontrei e que permite você testar seus conhecimentos sobre determinados temas, e quem sabe abrir sua mente para outros tantos é o P2PU (https://p2pu.org/). Entre la e veja se tem algo que lhe interessa, você pode até mesmo se surpreender!

Keep Learning...

falowaer