Feed on Posts or Comments 14 March 2010

programação Rangel on 04 Mai 2008

Unificando

Galera,

Exportei todo o BitCodes para o Rangel Avulso , em 1 semana vou desativar de vez esse blog e ficarei só com o principal mesmo.

Para quem assina ou visita basta apontar browser ou o agregador para www.hrangel.com.br

Mas para quem gosta do conteúdo daqui, não precisa se preucupar, continuarei escrevendo sobre o assunto numa frequência maior (assim espero).

Abraços a todos

mysql & php & iis7 & windows Rangel on 10 Abr 2008

Instalando PHP + MySQL no IIS7 do Vista

Tive que formatar meu notebook há pouco tempo atrás e por isso precisei reinstalar esse pacote básico que qualquer desenvolvedor no windows utiliza.

Para a instalação utilizei:

IIS7 - Se você não tiver instale pelo: Program and Features > Turn Windows features on or off > IIS7

PHP - A última versão em ZIP.

MySQL - A última versão do Community Server, a versão Essentials é suficiente.

Primeiro Passo - PHP

Extrai o PHP para a pasta que quiser (no meu caso utilizei C:\Program Files\PHP\).
Em seguida, para instalar o PHP no IIS7 basta baixar o BAT feito pelo David Wang nesse artigo. Eu fiz algumas alterações para que o BAT já copie o PHP.INI para a pasta Windows.
Basta baixar o arquivo BAT zipado.

Segundo Passo - MySQL

  1. Faça a instalação do MySQL normal utilizando o setup
  2. Em seguida você deve copiar o arquivo libmysql.dll (que pode ser encontrado na pasta de instalação do PHP) para a pasta C:\Windows\System32
  3. Edite arquivo PHP.INI (que está na pasta C:\Windows\)
  4. Encontre a linha que contém extension_dir = “./”, altere o valor para a pasta de extensions do seu PHP (no meu caso ficaria extension_dir = “C:\Program Files\PHP\ext”) e retire o comentário (basta remover o ‘;’ que vem antes do texto caso tenha algum)
  5. Encontre a linha que contém extension=php_mysql.dll e retire o cometário (basta remover o ‘;’ que vem antes do texto caso tenha algum)
  6. Salve o Arquivo

Para finalizar basta reiniciar seu IIS e testar abrindo via browser (dentro do servidor) qualquer arquivo que contenha o código <?php phpinfo();?>, lá deve mostrar que a extensão do PHP foi instalado com sucesso.

Espero que ajude alguém.

Qualquér dúvida ou comentário é só deixar ai embaixo!

.NET & acessibilidade & c# Rangel on 28 Nov 2007

Acessibilidade em .NET #1 - Preenchendo o Alt de um asp:Hyperlink

Começando uma série de posts rápidos sobre como utilizar ASP.NET e manter seu site correto de acordo com os padrões de acessibilidade do WCAG, hoje vou mostrar como fazer com que um asp:Hyperlink (que usa imagem) mostrar o atributo AlternateText - mais conhecido como alt pra quem trabalha com HTML.

O asp:Hyperlink é ideal para quando queremos fazer um link simples para outra página que não exige ação em code-behind (Server-Side) mas que esse link seja dinâmico, pois é mais fácil trabalhar com os componentes (webcontrols) já criados.

Para isso o Hyperlink conta com um atributo chamado NavigateUrl, que, como o próprio nome diz, é onde você deve preencher a URL alvo do seu Link, seja programaticamente ou fixo no próprio ASPX.

Agora vem o X da questão caso você queira fazer um link usando imagem (sem ter ação server side) é só preencher o atributo ImageUrl com o endereço da imagem, e para que o alt da imagem (que vai ser retornado para o browser) venha preenchido basta setar o valor desejado no atributo Text do asp:Hyperlink.

Tranquilo não?

Preenchendo isso além de seguir os padrões da W3C o seu site ainda fica mais acessível, ou seja, mais visitas para ele e mais chances de clicks do adsense, há ainda muitas outras formas de melhorarmos a acessibilidade com ASP.NET, vou tentar escrever pelo menos uma por dia.

Enquanto isso leiam os textos do BrunoTorres e do grupo AcessoDigital, ambos tem informações valiosas sobre acessibilidade, e se sobrar um tempinho dêem um pulo no meu outro blog de idéias Avulsas.

[UPDATE]Outro site muito legal para acessar é o BengalaLegal do MAQ.[/UPDATE]

Até!

0100100001010010

c# & programação Rangel on 03 Ago 2007

Reduzindo o ViewState

Não sou muito fã de tecnologias Microsoft, mas acho que o .NET tem lá suas vantagens, uma delas pode ser o ViewState, se você está se perguntando por que o “pode ser” é bem simples, quando seu ViewState sai do controle pode ter certeza, que seus clientes ou usuários vão começar a reclamar de lentidão

1 - O que é ViewState

ViewState é a tecnologia utilizada pelo .NET da Microsoft para facilitar a vida dos desenvolvedores, a funcionalidade básica dele é manter dados (ou configurações) da página entre postbacks (reload), como textos dinâmicos que são alterados de acordo com alguma ação na página, ou linhas de um grid que mudam a formatação dependendo dos dados que sâo inseridos nela.

2 - Como é na prática (se você não estiver interessado na implementação vá para o item 3)

O .NET cria (ou renderiza) em sua página algumas funções JavaScript e alguns componentes escondidos (input hidden do html), em um deles é feita a mágica do ViewState onde os dados sâo encriptados e formam uma grande String, quando sua página efetua um PostBack, o .NET decripta esses dados e recarrega suas configurações nos devidos locais.

3 - Me mostre o problema

O problema é quando começcamos a usar o ViewState demais guardando objetos (sim você pode guardar, desde que sejam Serializable) , ou até informação demais, já vi gente guardar a mesma lista que tinha em uma tabela lá. O ViewState começa a ficar grande demais e derrubando a performance da página (localmente tudo parece perfeito - em 99% dos casos).

4 - Como resolver e reduzir o ViewState

Aí vão algumas dicas que aprendi durante o percurso de ViewState’s gigantes (páginas de até 1,5 MB)

Coloque no HTML o que é fixo
Tente deixar o máximo de configurações fixas na página (HTML), Labels, TextBox, Combos que tiverem valores fixos adicione os mesmos direto na página, adiciona-los programaticamente vai só lhe trazer problemas já que o ViewState aumentará sem necessidade, configurações como tamanho, maxlength, cor, ou seja, tudo que não for variável coloque na própria página e importante sete o EnableViewState desse componente como false.

Não para objetos sim para IDs
Troque os objetos (se vierem de algum banco de dados) que você guarda por ID’s (algum tipo de código de identificação) e recarrege eles através do banco quando seus dados originais forem necessários.

Se for necessário mesmo use String
Se for realmente necessário usar o ViewState procure pelo menos salvar sempre Strings, o porque disso é que o ViewState (na verdade a classe que faz o Encoding) dos objetos no ViewState é feita para Strings, por exemplo, salvar um array de números é muito melhor (e menor) feito se eles forem em String do que em int.

Essas são as dicas básicas, achei boas refrências para melhorar diverseos componentes, um deles ( e o que faz muita diferença) é o Datagrid que você encontrará boas informações (em inglês) no CodeProject.

Saiba Mais (recomendo):
Help! My ViewState Is Out Of Control

DataGrid’s ViewState optimization

Qualquer dúvida pode me perguntar que estamos ai pra isso!

Até!

0100100001010010

c# & programação Rangel on 31 Jul 2007

Assembly Strong Naming, Assinando sua DLL

Assinar uma DLL é bem simples, e como todo bom programador vou direto ao ponto.

No VS 2003

1 - Crie um arquivo com uma key usando o sn.exe via linha de comando, por exemplo:
A - Iniciar > Executar > cmd
B - Acesse a pasta PastadoVS2003\SDK\v1.1\Bin
C -Execute:
sn -k MinhaKey.snk

Pronto, arquivo criado chamando MinhaKey.snk na mesma pasta

2 - Agora copie para onde você quiser (eu copio normalmente para a raiz do Projeto)

3 - Faça o Link para o Assembly.cs ou Assembly.vb, exemplo (em c# pois trabalho com ela) adicionado essas linhas no final do arquivo (se já existirem substitua, claro):
[assembly: AssemblyDelaySign(true)]
[assembly: AssemblyKeyFile("..\\..\\MinhaKey.snk")]

Estou usando o “..\\..\\” pois o compilador sempre vai verificar a referência a partir do diretório de compilação. que no meu caso é bin/Release.

No VS 2005

1 - Clique com o botão direito no Projeto e depois em Properties
2 - Vá até a aba Signing
3 - Selecione “Sign the assembly” e se você não tiver um arquivo .snk (veja passo 1 do VS2003) basta selecionar a opção New

Basicamente é isso, se você tiver mais algumas dúvidas deixe comentários ou entre em contato via email.
Outras referências mais complicadas mas mais detalhadas:
The Secrets of Strong Naming

Até!

0100100001010010

Next Page »