Jan 13 2012

Graduação: Concluída

Depois de 4,5 anos, acabou!  Finalmente, concluí minha graduação no curso de Sistemas de Informação.

E depois deste tempo todo, me pergunto: valeu a pena? A resposta vem rápido!

VALEU DEMAIS! Pra mim valeu muito, deixe-me contar um pouco da minha história: assim que terminei meu segundo grau mau e porcamente em uma escola públicanão tinha nenhuma intenção de fazer uma faculdade. O pensamento era: “com a grana que vou investir consigo dar uma boa entrada em um apertamento apartamento”. Fiquei um tempo nessa vibe, e depois de um ano após ter concluído o ensino médio, fiz a famigerada prova do ENEM, fiz uma pontuação razoável, de acordo com o ensino/esforço que tive até então. E o fato é que consegui uma bolsa parcial em uma faculdade particular de BH e o curso escolhido foi Sistemas de Informação.

Até este momento o que sabia do curso foi de um amigo que também cursava e me falou um pouco a respeito.

Não sabia o que era um if, nunca tinha programado! O máximo que cheguei perto de foi de brincar um bocado com html no início da minha adolescencia. Mas curti o desafio! Logo no primeiro período fiquei M-A-L-U-C-O com algoritmos, e tomei gosto por eles e depois tudo fez sentido. Daí em diante até consegui um ÓTIMO estágio não demorou muito… Aprendi 1000000000000x mais no estágio que durante todo o meu curso. Foi fantástico!

Muita coisa aconteceu de lá pra cá! Mas  tanto quanto o gosto pela programação que adquiri, também  as amizades que pude fazer foram essenciais. Pessoas que são mais que contatos profissionais são realmente parceiros de caminhada! Muito Obrigado a todos!

Fica uma foto da turma, está faltando uma galera aí, mas ta valendo:

Este não é o final. É apenas um checkpoint! Hora de salvar o jogo, tomar fôlego e seguir pra próxima fase!

Abraço galera!

Flávio Silva


Jan 13 2012

BH Js

Fala galera,

No próximo sábado, dia 21-01-12, vai rolar em Belo Horizonte o BHJs2012.

Pra quem não conhece, o BHJs é um evento focado em JavaScript, onde vários feras da área apresentarão palestras durante todo o dia. Além disso é uma ótima oportunidade pra trocar uma idéia com a galera…

As inscrições estão esgotadas, mas no site oficial http://bhjs.com.br/ tem um formulário para entrar na fila de espera.

O evento vai ser fod*!

Ah! Só pra não perder o costume, após o término vai rolar um Happy Hour com a galera do @horaextrabh!
Não deixem de visitar o site oficial do evento: http://bhjs.com.br/

Nos vemos lá!


Dec 17 2011

Uma noite de Paz (?)

Fala moçada,

Este momento é onde o espírito bizarro do natal está a solta por aí, forçando ou dando uma boa desculpara pra galera comprar feito loucos, nos dando momentos de constragimentos nas festas de final de ano do trabalho onde você só ganha presente fumo no amigo oculto… e por aí vai. Apesar desta estupidez loucura gostaria de deixar este vídeo de uma banda transuda. Vejam, escutem e reflitam!

Fazemos a festa, mas deixamos o principal de lado. Uma amiga fez um post bem massa sobre o assunto, vale a pena dar uma lida: http://raquelquintao.blogspot.com/2011/11/natal-pra-que.html Afinal de contas, Natal pra que?

Sem mais!!!

Flávio Silva


Dec 10 2011

WCF sem Service Reference!

Há algum tempo atrás precisei fazer um exemplo do consumo de uma aplicação WCF sem a utilização dos Services References.

Para tal,  foi criado um projeto contendo os contratos dos serviços expostos. Este projeto é acessível tanto pelo cliente quanto pela implementação do serviço. Para possibilitar a comunicação entre os dois lados sobre o contrato definido, foi utilizado o Spring Framework para criar os endpoints através de proxys dinâmicos.

O código desta app está disponível no Bitbucket no link https://bitbucket.org/flavio1110/wcfexample. Forkem a vontade!!

Neste projeto foram utilizados o .Net 4 + WCF + C# + WebForms + Spring Framework.

Qualquer dúvida só comentar aqui ou mandar pelo twitter.

T+

Flávio Silva


Dec 3 2011

Problema no Ambiente de Desenvolvimento Azure

Azure Fala moçada! De algumas semanas para cá, comecei a desenvolver para o Azure a partir de uma necessidade de criar um WebRole WCF para disponibilizar serviços RESTFULL para acesso via dispositivos mobile. Este WebRole será disponibilizado juntamente com outro que já está no ar.

A montagem do ambiente foi tranquila, fiz o download do SDK 1.5, atualizei os Visual Studio 2010 e até então tudo certo. Após criar o primeiro método e rodar a App ela subiu direitinho em um endereço como este: http://127.0.0.1:8080/MeuServico. Fiz alguns testes via jquery, e tudo funcionando que é um beleza! Mas não pode ser tão fácil né…. nunca é!

Como trabalho em um MacBook em razão do desenvolvimento para iphone dentre outras coisas, uso o Windows em uma máquina virtual (parallels), então, meu raciocínio foi: “se na vm o serviço está no endereço http://127.0.0.1:8080/MeuServico, logo, para acessá-lo do Mac, utilizo o endereço http://meuip:8080/MeuServico”. Mas qual foi a surpresa? A porta não responde! Eu só poderia estar fazendo algo errado, é claro! Afinal de contas é minha primeira App no Azure, está faltando alguma coisa.

Após muitas algumas longas horas de pesquisa descobri que o SDK do Azure, simplesmente bloqueia a porta que está “servindo” o WebRole por questões de segurança para acesso de outra máquina, dado que o mesmo precisa ser rodado com privilégios de administrador para emular o ambiente Clód Azure.

Mais algum tempo de procura (Google #FTW), encontrei o blog de um gringo que me salvou ajudou. A solução basicamente é abrir uma outra porta e redirecionar para a porta que o Azure está utilizando na sua máquina. Existem algumas maneiras pra fazer isto, inclusive com configurações do IIS e etc, porém obtive sucesso somente com a dica do Emmanuel`s Blog. Abaixo segue a a solução por ele encontrada:

1 – Baixe o rinetd

O ridnet é um utilitário Unix, mas existe um parte para utilizada em windows.

http://www.boutell.com/rinetd/

Após o download, ao abrir o arquivo ZIP, você perceberá que existem vários arquivos. Estes arquivos são necessários caso você esteja com tempo ou queira ver como esse trem é feito queira recompilar o exe posteriormente. No momento precisaremos apenas do arquivo rinetd.exe, extraia-o para uma pasta a sua escolha.

2 – Configurando o rinetd

Crie um novo arquivo chamado “rinetd.conf” no diretório que você colocou o rinetd.exe. Neste arquivo ficará a configuração das portas a serem redirecionadas.

Abra-o no bloco de notas. E insira as informações como descrito abaixo:

10.10.1.20 9980 127.0.0.1 8080

- [10.10.1.20] O endereço a esquerda é seu endereço na rede, você pode descobrir seu ip através do comando ipconfig com prompt de comando do windows;

- [9980] Porta que deverá estar disponível para acesso de outra máquina;

- [127.0.0.1] Único atualmente endereço ip que o ambiente de desenvolvimento do Azure aceita acesso;

- [8080] Porta que sua WebRole no azure está disponível na sua máquina local;

Salve o arquivo e feche-o. Não se esqueça que ele precisa estar na mesma pasta do rinetd.exe.

3 – Inicie o rinetd

Existem três maneiras de inicar o rinetd, manualmente através do prompt de comando, através de um arquivo .bat ou criando um serviço para iniciar este arquivo bat todas as vezes que o sistema iniciar. Irei mostrar apenas as duas primeiras, a terceira pode ser verificada no Emmanuel`s Blog.

- Manualmente:

Digite no prompt de comando:


meu_caminho_escolhido/rinetd-c rinetd.conf

- Através de um arquivo .bat:

Crie um arquivo .bat e coloque os comando descritos abaixo:


c:

cd meu_caminho_escolhido

start meu_caminho_escolhido\rinetd.exe -c C:\rinetd\rinetd.conf

Pronto!!! Agora você pode acessar sua webrole de outra máquina no ambiente de desenvolvimento através do endereço http://10.10.1.20:9980/MinhaWebRole. E talvez queira economizar alguns trocados pode utilizar para testes e homologação.

IMPORTANTE:

Não se esqueça de configurar e rodar o rinetd TODAS as vezes que você estiver em uma rede diferente, visto que seu ip será outro. :)

TODOS os créditos são do Emmanuel`s Blog, http://blog.ehuna.org/2009/10/an_easier_way_to_access_the_wi.html.

Até a próxima!

Caso tenham alguma dúvida, comenta no post ou manda pelo twitter @flavio1110.

Até a próxima.

Flávio Silva