Torna-se pobre…
Microsoft Certificate of Excellence
Após 12 dias de árduos estudos, sem ver a luz do sol ou o lindo luar…
Fiz a prova 70-561 e passei…
Agora já posso ser chamado de MCTS! hu hu hullllllllllllll!!!!!!

Embora ninguém possa voltar atrás…
Nasceste no lar que precisavas,
Vestiste o corpo físico que merecias,
Moras onde melhor Deus te proporcionou,
De acordo com teu adiantamento.
Possuis os recursos financeiros coerentes
Com as tuas necessidades, nem mais,
nem menos, mas o justo para as tuas lutas terrenas.
Teu ambiente de trabalho é o que elegeste
espontaneamente para a tua realização.
Teus parentes, amigos são as almas que atraíste,
com tua própria afinidade.
Portanto, teu destino está constantemente sob teu controle.
Tu escolhes, recolhes, eleges, atrais,
buscas, expulsas, modificas tudo aquilo
que te rodeia a existência.
Teus pensamentos e vontade são a chave de teus atos e atitudes….
São as fontes de atração e repulsão na tua jornada vivência.
Não reclames nem te faças de vítima.
Antes de tudo, analisa e observa.
A mudança está em tuas mãos.
Reprograma tua meta,
Busca o bem e viverás melhor.
Embora ninguém possa voltar atrás e
fazer um novo começo,
Qualquer Um pode Começar agora e fazer um Novo Fim.
por Chico Xavier
ANTES:

Executar o fonte:
Configuration configuration = WebConfigurationManager.OpenWebConfiguration(“~”);
ConfigurationSection configurationSection = configuration.GetSection(“connectionStrings”);
configurationSection.SectionInformation.ProtectSection(“DataProtectionConfigurationProvider”);
configurationSection.SectionInformation.ForceSave = true;
configuration.Save(ConfigurationSaveMode.Full);

Como pegar o valor da connectionString ?
Response.Write ( ConfigurationManager.ConnectionStrings["MinhaConnectionString"].ConnectionString );
Responsável pela mágica -> DataProtectionConfigurationProvider
[]‘s
DEPOIS:
Como disse, será simples é direto!
Gravar no Registro
string PATH = @"SOFTWARE\QX3\ROTAS\Hosts";
RegistryKey registryKey = Registry.LocalMachine.CreateSubKey(PATH);
registryKey.SetValue("Servidor SMTP", "192.169.0.121:25");
registryKey.SetValue("Servidor POP", "192.169.0.121:110");
registryKey.Close();
Resgatar valor do mesmo.
RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(PATH);
Console.WriteLine(registryKey.GetValue("Servidor POP"));
Remover Chave do registro.
Registry.LocalMachine.DeleteSubKey(PATH);
Simples e direto!
[]‘s
GCTS – Gambi Certified Technology Specialist

*Para os que não sabem o que é POT ou POG, aguarde…
Criando efeitos em fotos no ASP.NET
Bom, sei que já escrevi esse artigo no linha de código e no código fonte, e também sei que não posto nada construtivo em meu blog faz tempo… ;-)
por isso estou dando um copy+paste dele aqui em em blog! ;P
Vamos lá….
O .Net possui uma excelente biblioteca para tratamento de imagens, ela nos possibilita gerar efeitos, recortes, desenhos e etc, tudo através de uma “simples“ página asp.net.
Antigamente para criar efeitos em fotos precisavamos usar alguma IDE gráfica para depois publica-las na internet. Hoje podemos fazer isso on-line, sem perder tempo.
Neste momento você deve estar pensando, “isso deve ser algo MUITO DIFICIL!”
Mas acredite, não é!
Hoje teremos uma prova de como é fácil e simples brincar com fotos usando Dot.Net.
Para começar abra o Visual Studio, em seguida crie um projeto WebSite.
Em seu WebForm, arraste 3 controles de imagem.

Defina uma imagem para o controle Image1.
Para o controle Image2 defina a ImageUrl como fotos.apx?tipo=negativo e para o controle Image3 defina a ImageUrl como fotos.apx?tipo=cinza
Exemplo:
<asp:Image ID=”Image1″ runat=”server”
ImageUrl=”foto.jpg” /><br />
<asp:Image ID=”Image2″ runat=”server”
ImageUrl=”fotos.aspx?tipo=negativo” /><br />
<asp:Image ID=”Image3″ runat=”server”
ImageUrl=”fotos.aspx?tipo=cinza” />
Acho que já deu para entender o que vamos fazer mais adiante, certo? :-]
No .cs de sua página, adicione os namespaces System.Drawing e System.Drawing.Imaging em seguida crie o método Efeito. Este método possui a seguinte assinatura:
public void Efeito(string tipo)
Implementação:
public void Efeito(string tipo)
{
/*Aqui estamos definindo nossa imagem. Note que estamos carregando a imagem definida no Image1.
*No artigo gerando barras expliquei como funciona a classe Bitmap.*/
Bitmap bmp = new Bitmap(Server.MapPath(this.Image1.ImageUrl));
int x, y;
Byte RGB;
Color cor;
for (y = 0; y < bmp.Height; y++)
{
for (x = 0; x < bmp.Width; x++)
{
/*O metodo getPixel como o nome já diz,passa a cor do pixel nas posições de x,y.*/
cor = bmp.GetPixel(x, y);
RGB = cor.G;
/*Neste ponto escolhemos qual efeito usar. Lembrando que você pode criar seus próprios efeitos, basta modificar os valores do RGB.*/
if(tipo == ”negativo”){
// Configuração para gerar o efeito de NEGATIVO
bmp.SetPixel(x, y,
Color.FromArgb(255, 255 – cor.R,
255 – cor.G, 255 – cor.B));
}
else
{
/* ajuste para gerar efeito cinza em sua foto! */
bmp.SetPixel(x, y, Color.FromArgb(RGB, RGB, RGB));
}
}
}
/* Neste ponto você informa ao browser que o documento enviado a ele, é uma imagem;*/
Response.ContentType = ”image/jpeg”;
bmp.Save(Response.OutputStream,ImageFormat.Jpeg);
bmp.Dispose();
}
No Page_load de sua página adicione a instrução abaixo.
if(Request.QueryString["tipo"] != null)
Efeito(Request.QueryString["tipo"]);
O resultado será semelhante a imagem abaixo:

viu como a mágica acontece? ;-)
[]‘s
Animação com javascript puro em 45 linhas
Alguns dias atrás tirei 15 minutos de meu trabalho para fazer algo com um efeito de uma bola quicando em uma area definida no browser usando javascript ( não irei contar a verdadeira história que me levou a fazer isso, pois é algo longo….
), e como vi que ficou legal, achei bacana mostrar isso para vocês.
Espero que esse exemplo ajude alguém a ter novas ideias! ;-)
Antes de colar o fonte + o link demo, quero dizer que somente testei esse efeito no Firefox e Chrome se alguém puder me da um feedback, ficarei feliz! :-)
FONTE:
var LIMITE_Y = 200,LIMITE_X = 200,LIMITE_BARRA = 0,DELAY = 10, VELOCIDADE = 2, X = 0, Y = 0;
var PAUSE = false;
var SENTIDO_Y = "D", SENTIDO_X= "B";
window.onload = function(){
var BOX = document.getElementById("box");
var BARRA = document.getElementById("bloco");
var AREA = document.getElementById("area");
BARRA.style.left = 75;
BARRA.style.top = 100;
BOX.style.left = X;
BOX.style.top = Y;
var LIMITE_BARRA_X = parseInt(BARRA.style.top.replace("px",""))-parseInt(BOX.offsetHeight)-parseInt(BARRA.offsetWidth);
var LIMITE_BARRA_Y = parseInt(BARRA.style.left.replace("px",""))+parseInt(BOX.offsetWidth);
window.setInterval(function() {
if(PAUSE) {
if (Y >= LIMITE_Y) SENTIDO_Y = "E";
if (Y <= 0) SENTIDO_Y = "D"; Y = (SENTIDO_Y == "D") ? (Y+VELOCIDADE): (Y-VELOCIDADE); if (X >= LIMITE_X) SENTIDO_X = "C";
if (X <= 0) SENTIDO_X = "B";
X = (SENTIDO_X == "B") ? (X+VELOCIDADE) : (X-VELOCIDADE);
if((X == LIMITE_BARRA_X && Y <= LIMITE_BARRA_Y)) SENTIDO_X = "C";
if(X <= (LIMITE_BARRA_X+parseInt(BARRA.offsetWidth)+parseInt(BARRA.offsetHeight)) && Y <= parseInt(BOX.offsetHeight+BARRA.offsetHeight)) { if(X == (LIMITE_BARRA_X+BARRA.offsetWidth+BARRA.offsetHeight))SENTIDO_Y = "E"; else if (X > LIMITE_BARRA_X && X <= (parseInt(BOX.offsetHeight)+LIMITE_BARRA_X)){
SENTIDO_X = "B";
SENTIDO_Y = "D";
}
AREA.style.backgroundColor= (AREA.style.backgroundColor == 'green' ? 'white' : 'green');
}
BOX.style.left = Y;
BOX.style.top = X;
}
},DELAY);
}
Geração framework (qual é a sua opinião?)
Tenho notado que em fóruns,comunidades e até mesmo em chats, muitos programadores (“não todo, mas na sua grande maioria os novos programadores”) estão muito dependentes do uso de frameworks para seus desenvolvimentos.
Antes que pensem que estou aqui para pregar algo do tipo “morte aos frameworks”, quero deixar bem claro que uso e adoro usar alguns frameworks do mercado, sou usuário dos seguintes frameworks:
1 – Prototype (http://www.prototypejs.org/)
2 – Script.aculo.us (http://script.aculo.us/)
3 – JQuery (http://jquery.com/)
Entre outros…
O que está me deixando preocupado é que, geralmente quando ocorre algum problema com o framework, tais como:
1 – “Não atenda na solução do problema”
2 – ”Bugs encontrado”
3 – “Problemas em usar”
Muitos programadores não sabem como resolver ou não possuem conhecimento ou esperiência para resolver esses problemas.
Será que eles esqueceram ou não sabem como realmente as coisas funcionam por dentro do framework ?
Claro que ninguém é obrigado a saber tudo, mas acredito que o básico se faz necessário nessas horas…
Na empresa que trabalho, aconteceu algo muito parecido com a questão supracitada.
Lá existe um “Programa de Qualificação Profissional”, onde os estagiários passam por um ciclo de aprendizado ou treinamento para poder entrar na fabrica de software com uma base…
Pois bem….
Certo dia um dos estágiarios estava com muita dificuldade para usar alguns recursos do Javascript (sem framework). Para ajuda-lo chamei um programador que por sinal sabe tudo de jquery tanto nas coisas básicas quanto nas coisas avançadas
(criação de plugins para jquery, utilização de seletores avançados e etc..).
Para minha surpresa, ele teve uma grande dificuldade para ajudar o estagiário, o que me deu a entender é que de tanto usar frameworks, ele não sabia mais como usar o “javascript puro”…
Será que é seguro somente usar frameworks ?
Gostaria de saber a opinião de vocês…
PS: Sei que meu português é um pouco falho, se encontrar algum erro gramatical, não se espante!
Para implementar o carrinho de compras, usaremos como base o framework Prototype (http://www.prototypejs.org/) e script.aculo.us (http://script.aculo.us/).
Elementos :
Classe Produto:
Classe Carrinho:
Instanciando o Carrinho e os Produtos:
Segue o endereço do fonte e demo: