quarta-feira, 7 de outubro de 2009

ASP.NET Ajax e VS 2008

Tive alguns problemas a um tempo atrás com aplicações que utilizam o ASP.NET Ajax no Visual Studio 2008, onde mostrava um problema de compilação exibindo que não conseguia encontrar a DLL System.Web.Extensions, então numa busca na Internet encontrei uma solução proposta pela Microsoft de rodar um script para que o VS ao compilar retire a checagem dessa DLL, segue o endereço do script.

http://go.microsoft.com/fwlink/?linkid=95792

Referência: Telerik

Chamada Ajax com jQuery

Com o nascimento da Web 2.0 e com elas as aplicações ricas em recursos e funcionalidades. Uma das grandes ferramentas que facilitam muito o desenvolvimento de tais aplicações é o Ajax que é uma chamada assíncrona para o servidor, assim não tendo a necessidade de recarregar toda a página. Nesta hora o jQuery se torna nosso grande aliado pois este nos facilita muito com chamadas Ajax. Segue abaixo um exemplo prático de como se fazer uma chamada Ajax utilizando jQuery.

jQuery.ajax({
type: 'GET',
url: 'script.php',
success: function(data){
alert(data);//em caso de sucesso realiza um alert do retorno
}
});


Muito fácil não?! é para ser assim mesmo...

Referência:http://docs.jquery.com/Ajax

terça-feira, 6 de outubro de 2009

Seletores jQuery

Uma das grandes facilidades deste excelente framework são os seus seletores, vou aprensentar aqui alguns muito úteis, por classe e por id do elemento.

Vamos supor que quero recuperar o elemento pelo seu Id, podemos escrever o código da seguinte maneira:

<span id="element_id">meu texto aqui</span>

var element = jQuery('#element_id');

Onde o símbolo que representa o get por ID é o símbolo #.

Agora vamos supor que necessito recuperar vários elementos do código HTML, então posso fazer isso através do seletor de classes como segue no exemplo:

<span class="myclass">meu texto aqui</span>
<span class="myclass">meu texto aqui2</span>
<span class="myclass">meu texto aqui3</span>

Para recuperar todos os elementos que contém esta classe posso escrever:

jQuery('.myclass').each(function(){
var element = jQuery(this);
});

Onde cada item do laço representa um elemento HTML e o símbolo que representa o get por classes é o ".".

Referência: http://docs.jquery.com/Selectors

sexta-feira, 18 de setembro de 2009

A USB de cara nova

Chamado comercialmente por USB SuperSpeed, por ser dez vezes mais rápido que o antecessor, o USB 3.0 chega mantendo praticamente a mesma arquitetura e a mesma facilidade de uso do USB 2.0. Seu diferencial vem com otimizações relacionadas ao consumo de energia e à eficiência do protocolo.

A velocidade de transferência da nova versão é de 4,8 Gb/s, enquanto o USB 2.0 oferece 480 Mb/s. Ambos os tipos continuarão compatíveis, apesar da nova variante ter transmissão de dados bidirecional.

Referência: Olhar Digital




quinta-feira, 17 de setembro de 2009

Revista Veja Online

Reviva quarenta anos de história através da Revista Veja que ganhou um acervo digital para todas as suas edições em forma de revista eletrônica, vale a pena conferir e relembrar esses preciosos 40 anos história do Brasil e do mundo.

http://veja.abril.com.br/acervodigital/

A nova era da TV

Os canais de TV começaram a invadir a Web com seu conteúdo que antes restrito apenas aos assinantes do canal, agora podem ser assistidos na web. Este vídeo do programa Olhar Digital mostra como estes sites têm feitos suas programações online.



Configurando SMTP no Web.config

Segue uma maneira de se configurar os servidores SMTP diretamente no web.config, torna-se muito útil pela sua facilidade de alteração.

<configuration>
<system.net>
<mailSettings>
<smtp>
<network
host="smtp.gmail.com"
userName="user"
password="password" />
</smtp>
</mailSettings>
</system.net>
<system.web>
...
</system.web>
</configuration>

quarta-feira, 16 de setembro de 2009

Layout gratuito para asp.net MVC

Um canal novo que a Microsoft disponibilizou no portal ASP.NET dentro do canal MVC é a possibilidade de baixar layouts prontos para adaptar em sua aplicação ASP.NET MVC e também fazer upload de um layout para compartilhar na web. Segue o endereço do canal:

http://www.asp.net/mvc/gallery/default.aspx?supportsjs=true

Desenvolvimento web ágil com jQuery

A pergunta que nunca "quer calar": Quem nunca perdeu tempo com desenvolvimento de JavaScript?, acredito que todos já devem ter passado por essa etapa... porém nos dias de hoje contamos com grandes Frameworks de JavaScript que nos facilitam e muito a vida para criar aplicações Web que necessitam de JavaScript, um dos mais famosos e completos Frameworks é o Jquery que contém uma infinidade de recursos e plugins que podem ser acoplados para turbinar ainda mais o Framework, um exemplo básico que o Jquery nos "quebra um galho" muito grande é o suporte as requisições Ajax e manipulação de Json. Vale a pena conferir este excelente Framework para JavaScript.

http://jquery.com

segunda-feira, 14 de setembro de 2009

Deixe seus menus com cara de MAC

Um software bastante eficiente e bonito e que deixa seus menus com cara de um MAC é o RocketDoc, trata-se de uma barra de menus semelhante a que se encontra no MAC que é muito eficiente e acaba "quebrando um galho" muitas vezes ajudando a manter a área de trabalho organizada. Vale a pena conferir este software. Segue ai o link para o mesmo:
http://rocketdock.com/


terça-feira, 25 de agosto de 2009

Criando html helpers customizados em asp.net mvc

Como demonstrei no artigo anterior: Utilizando html helpers, neste artigo demonstro como criar html helpers customizados, podendo esse ser totalmente customizado.
Neste exemplo vou demonstrar como criar um controle que exibe um label customizado.
1º Passo: Crie uma pasta chamada Helpers na raiz do seu projeto asp.net mvc.
2º Passo: Crie uma classe dentro desta pasta, o nome é de sua escolha, a minha chamei de CustomHtmlHelpers.vb.
3º Passo: Criar o método que retorna um label de acordo com minhas configurações.
Para isso crio um método que retorna uma string que é o html gerado pela minha nova label;

Public Class CustomHtmlHelper
Public Shared Function Label(ByVal target As String, ByVal text As String) As String
Return String.Format("<label for='{0}'>{1}</label>", target, text)
End Function
End Class


4º Passo: Agora meu custom html helper já está pronto para ser utilizado, para utilizá-lo você necessita ir até a view onde deseja utilizá-lo e importar o namespace como no exemplo:

<%@ Import Namespace="Seu namespace aqui" %>

Para invocar o html helper basta invocá-lo pelo nome do método:

<%=CustomHtmlHelper.Label("txt1", "Meu label customizado")%>

Referência: http://www.asp.net/learn/mvc/tutorial-09-vb.aspx

Caracteres especiais em html

Uma coisa muito trivial em html mas que algumas vezes nos toma tempo procurando como faz são os caracteres especiais em html, por isso lanço aqui uma tabela com a maioria dos caracteres especiais utilizados no html.








Á .............. &Aacute;

á ............... &aacute;

 ................. &Acirc;

â ................ &acirc;

À ............... &Agrave;

à ............... &agrave;

Å ................. &Aring;

å ................ &aring;

à ................ &Atilde;

ã ............... &atilde;

Ä .................. &Auml;

ä ................. &auml;

Æ ................. &AElig;

æ .................. &aelig;

É ................ &Eacute;

é ............... &eacute;

Ê ................. &Ecirc;

ê ................ &ecirc;

È ................ &Egrave;

è ............... &egrave;

Ë .................. &Euml;

ë ................. &euml;

Ð ................... &ETH;

ð .................. &eth;




Í ................ &Iacute;

í ............... &iacute;

Î ................. &Icirc;

î ................ &icirc;

Ì ................ &Igrave;

ì ............... &igrave;

Ï .................. &Iuml;

ï ................. &iuml;

Ó ........... &Oacute;

ó .............. &oacute;

Ô ................ &Ocirc;

ô ................. &ocirc;

Ò .............. &Ograve;

ò ............... &ograve;

Ø ................ &Oslash;

ø ............... &oslash;

Õ ................ &Otilde;

õ ............... &otilde;

Ö .................. &Ouml;

ö ................. &ouml;




Ú .............. &Uacute;

ú ............... &uacute;

Û ................ &Ucirc;

û ................ &ucirc;

Ù ............. &Ugrave;

ù .............. &ugrave;

Ü ................. &Uuml;

ü ................. &uuml;

Ç ............... &Ccedil;

ç ............... &ccedil;

Ñ ............... &Ntilde;

ñ ............... &ntilde;

< ................. &lt;

> ................. &gt;

& ................ &amp;

" ................. &quot;

® .................. &reg;

© ............... &copy;

Ý ............ &Yacute;

ý ............ &yacute;

Þ .............. &THORN;

þ ................ &thorn;

ß ................ &szlig;


Utilizando html helpers em asp.net mvc

Uma facilidade muito interessante que foi embutida no asp.net mvc são os html helpers, são uma espécie pequenos "geradores" de códigos html como por exemplo: textbox, labels, forms e etc. Sendo estes totalmente customizáveis e podem ser extendidos.

No exemplo abaixo demonstro como criar um textbox rapidamente utilizando um html helper.

A tag html que desejo criar segue a seguinte proposta em html:

<input type="text" id="txt1" style="background:yellow;color:red" value="my text" />

Para criar esse campo utilizando um html helper segue o seguinte código:

<%=Html.TextBox("txt1", "my text", New With {.style = "background:yellow;color:red"})%>

Existe esse entre muitos outros html helpers que podem ser utilizados como label, form, imagens e etc.

Referência: http://www.asp.net/learn/mvc/tutorial-09-vb.aspx

segunda-feira, 24 de agosto de 2009

Criando rotas customizadas em asp.net mvc

Uma das grandes facilidades embutidas no asp.net mvc é a criação de rotas customizadas que nos permite criar urls amigáveis para web sites, no exemplo abaixo exemplifico como criar rotas customizadas utilizando vb.net.

Para criar essas rotas devemos utilizar o arquivo Global.asax, podemos ver que no arquivo por Default existe a seguinte rota:

routes.MapRoute( _
"Default", _
"{controller}/{action}/{id}", _
New With {.controller = "Home", .action = "Index", .id = ""} _
)


Para criar uma rota devemos suprir os seguintes parâmetros na sequência:
Nome, Url a ser exibida, e caminho da action responsável.

No exemplo quero criar uma url para meu site que facilite o entendimento do usuário e facilite os buscadores a indexar meu site.

A url que desejo é: http://meusite.com/produto/cadastrar

A rota dever ser configurada da seguinte maneira:

routes.MapRoute( _
"Cadastro", _
"produto/cadastrar", _
New With {.controller = "Produto", .action = "cadastro"} _
)


Agora vamos supor que necessito passar um parâmetro na url para recuperar posteriormente por exemplo para consultar um produto como no exemplo abaixo:
http://meusite.com/produto/1

A rota deve ser configurada da seguinte maneira:

routes.MapRoute( _
"Cadastro", _
"produto/{id}", _
New With {.controller = "Produto", .action = "consultar"} _
)


OBS: No exemplo acima como o código do produto é variável, considero este como parâmetro na rota para que possa ser passado posteriormente no momento de montar a url.

Referência: http://www.asp.net/learn/mvc/tutorial-23-vb.aspx

quinta-feira, 20 de agosto de 2009

FriendFeed conectando tudo a tudo

Em minha primeria experiência com FriendFeed fiquei muito animado, apesar de não conhecê-lo anteriormente, descobri o mesmo através de uma notícia na qual relatava que o Facebook havia comprado o mesmo recentimente. Criei minha conta e vi que apesar de um sistema simples à vista do usuário, é um sistema que integra tudo a tudo, você pode publicar os posts do seu blog, suas fotos do flickr, seus links do delicious e seu perfil do facebook, seus tweets e etc. Vale a pena conferir mais esse hit da web.

http://friendfeed.com/

sexta-feira, 14 de agosto de 2009

Descubra as pesquisas mundiais com Google Insights

O Google disponibiliza uma ferramenta muito interesante chamada Google Insights for Search para webmasters e pessoas de negócios. É uma ferramenta que possibilita descobrir o que o mundo procura na Internet, podendo filtrar os resultados por diversos critérios como tempo, região, termos de pesquisa e etc.


terça-feira, 28 de julho de 2009

Melhorando relevância do Adsense

Um recurso que o google fornece em seu serviço Adsense para que os anúncios sejam mais relevantes ao assunto do seu web site é o tageamento do conteúdo do site, para que você possa restringir o conteúdo relevante para o Adsense. Esse tageamento delimita o conteúdo como no exemplo abaixo:

<html>
<body>
<!-- google_ad_section_start -->
<h1>Meu conteúdo relevante <h1/>
...
<!-- google_ad_section_end -->
</body>
</html>

Você também pode excluir conteúdo que não considera relevante para anúncios delimitando também por tags como segue no exemplo abaixo:

<html>
<body>
<!-- google_ad_section_start -->
<h1>Meu conteúdo relevante <h1/>
...
<!-- google_ad_section_end -->


<!-- google_ad_section_start(weight=ignore) -->
Conteúdo pouco relevante
<!-- google_ad_section_end -->
</body>
</html>


Referência:
https://www.google.com/adsense/support/bin/answer.py?hl=en&answer=23168

quinta-feira, 23 de julho de 2009

Instalando ASP.NET Mvc

Um lançamento recente da Microsoft que tem feito sucesso entre os desenvolvedores é o pacote para desenvolvimento de projetos web utilizando o conceito MVC(Model, View and Controller), este cria uma estrutura de projeto pronta para o desenvolvimento. De uma maneira geral é organizado de maneira simples, possibilita o desenvolvimento rápido e eficiente de um projeto web no padrão MVC.

Para baixar o pacote do ASP.NET MVC no endereço: http://www.asp.net/mvc/download/.

A instalação do pacote acontece de maneira muito simples, sem configurações específicas.

Após a instalação do pacote, para a criação de um projeto MVC basta ir ao menu: File > New > Project > Web > ASP.NET MVC Web Application.



Após a criação do projeto será exibido a tela do projeto com a nova estrutura de arquivos e pastas. Tudo muito rápido e sem complicação!.



Você já pode debugar o projeto criado e conferir seu novo web site criado em MVC. Rápido e prático!



quinta-feira, 16 de julho de 2009

Tradutor instantâneo online da Microsoft

A Microsoft lançou algumas ferramentas muito interessantes para tradução de textos. Um deles é um tradutor que foi acoplado ao novo Buscador da Microsoft chamado Bing, o interessante dessa ferramenta é que esta consegue identificar o texto a ser traduzido automaticamente e posteriormente traduz para o idioma escolhido pelo usuário. Vale a pena conferir.

http://www.microsofttranslator.com/Default.aspx



A outra ferramenta interessante para tradução de textos é um tradutor instantâneo que é acoplado ao Live Messenger da Microsoft e que funciona de maneira simples. O usuário simplismente precisa adicionar em sua lista de amigos o contato mtbot@hotmail.com basta o usuário enviar uma mensagem para esse contato que ele responderá perguntando para qual idioma o texto deve ser traduzido e pronto! você terá seu tradutor instantâneo funcionando.



quarta-feira, 15 de julho de 2009

Rodando seus programas no pen drive

Você é um daqueles que usa vários computadores e sempre reclama que nunca têm seus programas "necessários" sempre à mão?! Então seus problemas acabaram ...rs.
O programa Potable Apps permite carregar diversos programas em versão que rodam no pen drive e existe diversas opções de programas e jogos. Existe várias opções como: Open Office, Firefox, Thunderbird... e por ae vai... segue o link para baixar:

http://portableapps.com/



terça-feira, 14 de julho de 2009

Google Android para seu PC


Que tal rodar o Google Android no seu pc?!, visto que você não têm nenhum dos aparelhos para experimentar este, o Google liberou uma versão do seu sistema batizada de Live Android que pode ser instalada ou virtualizada no seu pc segue o link:





http://code.google.com/p/live-android/





segunda-feira, 13 de julho de 2009

Google Api

Agora você pode "brincar" com um dos melhores brinquedos do Google: o Google Playground!, trata-se de uma ferramenta onde você pode conferir tutoriais sobre quase todos os produtos do google e como usar sua API.
Você pode conferir por exemplo como usar o Google Maps no seu site ou como criar uma busca personalizada no buscador. Vale a pena conferir.

http://code.google.com/apis/ajax/playground/




Apostilas grátis no formato e-book

Galera segue ao link para baixar algumas apostilas muito boas no formato e-book.

http://migre.me/3Bjv


quarta-feira, 20 de maio de 2009

Otimizando o Gmail



Uma grande ferramenta do Gmail que fica "um tanto quanto escondida" dentro do Gmail é o Google Labs, trata-se de recursos densenvolvidos pela equipe do Gmail porém que ainda não são "definitivos". Porém trazem recursos muito interessantes tais como: Acesso offline do email, Google agenda, Bookmarks... Vale muito a pena dar uma olhada nestes recursos. Porém para habilitar estes recursos é necessário mudar o idioma padrão do email para o inglês, assim aparecerá no topo da janela um símbolo do Google Labs em forma de um "tubo de ensaio" por onde se pode entrar nos novos recursos e aproveitar tudo.


Referência:

Google Labs

terça-feira, 19 de maio de 2009

Ferramentas para melhoria de SEO

Existem hoje diversas ferramentas que nos auxiliam na melhoria de SEO (Search Engine Optimization). Foram utilizadas também neste blog para melhoria de SEO estas ferramentas que descrevo abaixo.

SEO Workers: Esta ferramenta analiza o SEO do seu site e dá dicas do que precisa ser melhorado para aumentar a relevância do seu site.

Meta Tag Analyzer: Também uma grande ferramenta como a SEO Workers que analiza as meta tags do seu site e dá dicas de alterações para melhoria.

Link Vendor: Esta é uma ferramenta que analiza a relevância do seu site nos diversos buscadores e mostra seu rank nos mesmos.

sexta-feira, 15 de maio de 2009

Tradutor instantâneo online do Google



Talvez muito pouca gente conheça mas o google disponibiliza um tradutor instantâneo muito bom através do Gtalk. Esse quando adicionado ao Gtalk se comporta como se fosse um usuário e quando enviamos o texto a traduzir ele responde com o mesmo traduzido. Para traduzir Inglês para Português e vice-versa segue os contatos que devem ser adicionados ao Gtalk:

en2pt@bot.talk.google.com - Tradutor inglês para português
pt2en@bot.talk.google.com - Tradutor português para inglês


terça-feira, 31 de março de 2009

Iniciando aplicação Rails na porta 80

Quando iniciamos uma aplicação rails geralmente ela é iniciada pela porta 3000 porém algo que pode nos ser muito útil é fazê-la inciar pela porta 80 isso pode ser feito pelo seguinte comando:

$ script/server -p 80

quinta-feira, 12 de março de 2009

Ajustando códigos em Rails

Um dos grandes problemas que encontramos na hora de programar para web é manter os códigos em seu devido lugar, por isso vou abordar neste post a maneira como Rails nos dá um auxílio nessa tarefa.
Imagine que temos um javascript ou css que será embutido somente durante a execução de uma parte da aplicação, ao invés de colocarmos este no meio do código, podemos usar uma propriedade do Rails chamada YIELD que podemos definir como um container.

No nosso exemplo temos que embutir o código dentro da tag <head> por exemplo. Então no nosso arquivo principal vamos colocar a tag dentro do mesmo como no exemplo abaixo:

<html><head>
<%= yield :head %>
</head>
</html>

Na interface onde é necessário embutir o arquivo vamos realizar a chamada da seguinte maneira:

<% content_for :head do %>
<%= javascript_include_tag "product" %>
<% end %>

Pronto!, nosso arquivo será colocado em seu divido lugar no código.

OBS: Somente não funciona este exemplo quando o arquivo já é um PARTIAL

sexta-feira, 6 de março de 2009

Lendo arquivos .chm no Ubuntu

Para todos aqueles que também são fãs dos livros e apostilas no formato .chm segue ai um link que instala o pacote o software necessário para lê-lo no Ubuntu.

Digite no terminal:

$sudo apt-get install gnochm

quinta-feira, 5 de março de 2009

Desenvolvendo em Ruby on Rails no Windows

Nativamente desenvolvido para rodar no Linux Ruby on Rails tem também sua opção de desenvolvimento em Windows, podemos fazer isso através do software InstantRails que roda em Windows rodando automaticamente o Servidor web Apache, Banco de dados Mysql o framework Rails. Segue o link para download: http://instantrails.rubyforge.org/wiki/wiki.pl

Instalando Ruby on Rails no Ubuntu

Uma das tecnologias para web que tem despontado no momento é o framework Ruby on Rails para desenvolvimento ágil web que promete agilizar o desenvolvimento web de maneira fácil. Então segue aqui um artigo de como instalá-lo no linux Ubuntu.

Primeiramente precisamos instalar o Ruby que é a base para que o Rails funcione corretamente. Instalamos utilizando o terminal.

sudo apt-get install ruby rdoc ri irb
Descrição:
>>ruby- Interpreted object-oriented scripting language
>>rdoc1.8- Generate documentation from Ruby script files
>>ri1.8 - Ruby Information at your fingertips
>>irb1.8 - interactive ruby''


Para verificar se o Ruby foi instalado corretamente digite no terminal:

ruby -v
>>ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
irb -v
>>irb 0.9.5(05/04/13)


Agora precisamos instalar os RubyGems que são como bibliotecas necessárias para o Ruby. Você pode pegar a última versão no site: http://rubyforge.org/

Para instalar os gems rode o seguinte comando:

sudo ruby /setup.rb

Nesta versão do RubyGems foi criado o comando gem1.8 vamos criar um link para o comando, chamado gem, para isto rode o seguinte comando:

sudo ln -s /usr/bin/gem1.8 /usr/bin/gem


Agora vamos finalmente instalar o framework Rails:

sudo gem install rails

Agora vamos verificar se foi instalado corretamente:

rails -v
>>Rails 2.1.2


Agora vamos instalar o SSL do Ruby:

sudo apt-get install libopenssl-ruby

Instalando os compiladores:

sudo apt-get install build-essential

Instalando os pacotes de development do Ruby:

sudo apt-get install ruby-dev

Para finalizar vamos instalar um banco de dados (MYSQL) e integrar ao nosso ambiente de desenvolvimento.

Primeiramente vamos instalar os pacotes necessários para o MYSQL

sudo apt-get install libmysqlclient15-dev
sudo gem install mysql


Agora instalamos o MYSQL

sudo apt-get install mysql-server

Pronto temos um ambiente configurado para o desenvolvimento neste excelente framework.

Referências:

ruby-br.org/
rubyonbr.org/