quinta-feira, 1 de outubro de 2009

.NET Open Day (Itumbiara - 30/09/2009)


O evento .NET Open Day superou minhas expectativas! O pessoal participou em peso, muita gente mesmo.

A primeira boa impressão que tive foi a receptividade do pessoal do curso de Sistema de Informação, eles realmente foram muito gentis conosco (Marcos e eu). A simpatia, sem dúvidas, é uma ferramenta importantíssima para um bom networking.

A segunda surpresa foi o número de pessoas no auditório, que estava muito cheio, praticamente lotado. O Gesmar até tinha me falado do grande interresse do pessoal, mas de certa forma eu estava receoso quanto à empolgação da qual ele falou.

Esse interesse dos alunos é de suma importância para o crescimento profissional dos mesmos, Além do mais, essas oportunidades que surgem na faculdade tem de ser agarradas com força, pois pode ser que na vida de profissional seja um pouco mais difícil de participar delas.

Durante a palestra do Gesmar tive conhecimento de outra coisa que me deixou bastante satisfeito: o número de pessoas que está participando da célula atualmente. A lista realmente é grande. Deixo meu total incentivo para que continuem com força total nas atividades, e faço questão de dar uma forcinha sempre que possível. Escrevam muito código pois programar se aprende pogramando.

Durante minhas palestras, primeiro de Windows Workflow Foundation e depois de Silverlight, gostei de ver que o pessoal manteve boa atenção em tudo que eu estava passando, mesmo sendo um assunto técnico e às vezes confuso para alguns. Além do mais notei que poucas pessoas sairam do auditório durante todo evento, o que também considero um ótimo resultado.

E para fechar a noite fomos pra um bar local, o Academia do Chopp, para fazer uma confraternização onde falamos de .NET, mercado de trabalho, futebol e atitude!

Foi uma ótima experiência, espero voltar a Itumbiara para realizar outras atividades com o pessoal da Ulbra.

O material já está disponível, em breve fotos e videos.



Abraços,

Fred Policarpo
MCP - Microsoft Certified Professional
MCTS: .NET Framework 2.0 Windows Applications
MCTS: .NET Framework 3.5 Windows Presentation Foundation Applications
MCTS: .NET Framework 3.5 Windows Workflow Foundation Applications
Consultor/Desenvolvedor - Fibonacci Soluções Ágeis - http://fibonacci.inf.br

quinta-feira, 10 de setembro de 2009

Treinamento Framework.NET - Tron Informática


Na terça-feira passada (08/09/2009) finalizei o treinamento sobre o Framework.NET da Tron Informática. O treinamento, que teve duração de uma semana, pois iniciou-se dia 01/09/2009, foi ministrado a três equipes: desenvolvimento, manutenção e homologação.

Antes de mais nada é necessário explicar do que estou falando! O Framework.NET em questão é um software que foi desenvolvido pela Tron Informática em parceria com a Fibonacci - Soluções Ágeis, durante um contrato de consultoria em arquitetura de software solicitado pela Tron. Essa consultoria, que teve duração de quatro meses, teve como objetivo a preparação de um framework para desenvolvimento de aplicações web com .NET 3.5, que será a tecnologia usada para construção dos novos produtos da Tron. Essa consultoria foi aplicada por mim(Fred Policarpo) e pelo Márcio Siqueira (sócio/diretor da Fibonacci). O representante do cliente foi o Weverton Gomes.

Agora que já sabemos que o Framework.NET, produto da Tron, não é a mesma coisa que o .NET Framework, produto da Microsoft, posso continuar a falar sobre o treinamento.

Durante esses cinco dias de aula tivemos grande foco em explicar a importância do Desenvolvimento Orientado a Testes (TDD), da Orientação a Objetos (OO), das responsabilidades de cada camada das aplicações que serão construídas tendo como base esse framework, e também das facilidades que o mesmo irá proporcionar aos usuários(códigos reutilisáveis, diversas funcionalidades comuns às aplicações já disponíveis, além de uma ferramenta de automatização para acelerar ainda mais o desenvolvimento)

Foi muito produtivo ter trabalhado durante esses quatro meses com o que há de mais recente no mundo .NET (como LINQ, WCF e Silverlight 3) assim como foi excelente ter a oportunidade de passar um pouco desse conhecimento para as equipes que irão trabalhar com esse framework.

Mudanças de conceito são sempre um passo difícil para a maioria das pessoas, e eu me incluo nesse conjunto. Mesmo assim, percebi uma vontade de aprender dos profissionais que lá estavam e acredito que, com a decicação e paciência adequada, eles irão se adaptar e confirmar a melhoria de produtividade e qualidade que o Framework.NET irá oferecer aos produtos a serem desenvolvidos.

Deixo então meu agradecimento à Fibonacci - Solulções Ágeis por ter confiado meu trabalho neste projeto, à Tron Informática por ter confiado essa responsabilidade à Fibonacci e à mim(que sou apenas um jovem desenvolvedor), ao Weverton por ter tido paciência com as questões que eu também desconhecia e que tivemos que aprender juntos, e ao pessoal que acompanhou o treinamento e conseguiu manter a atenção e dedicação apesar do horário puxado. Obrigado a todos.

Às empresas que tiverem interesse, a Fibonacci possui uma equipe de arquitetos prontos para dar treinamento e consultoria em arquitetura\desenvolvimento de software(.NET, Grails, Ruby on Rails, Java) e também em metodologias ágeis.


Abraços,

Fred Policarpo
MCP - Microsoft Certified Professional
MCTS: .NET Framework 2.0 Windows Applications
MCTS: .NET Framework 3.5 Windows Presentation Foundation Applications
MCTS: .NET Framework 3.5 Windows Workflow Foundation Applications
Consultor/Desenvolvedor - Fibonacci Soluções Ágeis - http://fibonacci.inf.br

quarta-feira, 26 de agosto de 2009

Como matar uma palestra




Ontem fui a uma palestra sobre testes e qualidade de software, marcada para as 19hs de uma terça-feira comum. Para quem trabalha o dia todo, nada melhor do que uma palestra que será depois do expediente, ainda mais de graça, como foi essa em questão.

O tema então é excelente, pelo menos eu estou de acordo que testes e qualidade de software são assuntos de suma importância para o sucesso de sistema de computador, ou de qualquer sistema.

Porém nem tudo na vida são flores, a começar com um atraso de 50 minutos. É isso mesmo, quase uma hora!

Então vamos à primeira coisa que mata uma palestra:

Atraso maior do que 15 minutos

Esse problema pode não ser culpa direta do palestrante e sim da organização, porém o fato de ser em um dia de semana, onde a grande maioria das pessoas passou por uma jornada cansativa de oito, ou mais, horas de trabalho, é extremamente desconfortável um atraso tão grande.

Segundo tiro no pé:

Falta de objetividade

Novamente o fato de ser em um dia de semana faz com que algumas atitudes tornem a palestra muito cansativa.

Para essa palestra o público era seleto, estudantes, professores, profissionais e empresários.

Considerando esse público, o palestrante não precisa de 3 minutos para explicar que um código com 1000 linhas de código é mais complexo do que um com 10 linhas de código, e muito menos de 10 minutos para explicar que na realidade as empresas corrigem os erros e não os previnem. Essas duas coisas poderiam ser ditas em apenas um minuto, seria melhor para todos se fosse assim. Esses devaneios vão consumindo a paciência do público, a minha então já estava ficando com saldo negativo.

Terceira atitude negativa:

Comparar engenharia de software com engenharia civil, programadores com pedreiros

Já não é de hoje que existem pesquisas e mais pesquisas mostrando que um dos maiores erros da indústria de software é tentar seguir o modelo das fábricas tradicionais, o Taylorismo, e seguir os passos das engenharias tradicionais: cívil, automobilística, etc.. No mundo do software o pedreiro é o compilador, será difícil, para uma pessoa com tantos anos de experiência, entender isso?

Insistir nessa comparação ilógica é como se alguém insistisse que é melhor usar a linguagem C para desenvolver sistemas de informação para Web do que usar .NET, Java, Grails ou Ruby On Rails.

Como palestrante eu ainda não tenho experiência, mas como ouvinte eu posso dar minha opinião sobre o que atrai ou não a atenção da platéia, e está dito!

Abraços,

Fred Policarpo
MCP - Microsoft Certified Professional
MCTS: .NET Framework 2.0 Windows Applications
MCTS: .NET Framework 3.5 Windows Presentation Foundation Applications
MCTS: .NET Framework 3.5 Windows Workflow Foundation Applications
Consultor/Desenvolvedor - Fibonacci Soluções Ágeis - http://solucoesageis.com.br

terça-feira, 11 de agosto de 2009

Obtendo todas actions de um serviço WCF

Quando se trabalha com WCF você precisa de uma interface que irá definir o contrato do serviço a ser disponibilizado com esta tecnologia.

Essa interface deve ser marcada com o atributo ServiceContract, e cada método desta interface que deverá estar disponível pelo serviço deve ser marcado com o atributo OperationContract.

Se você estiver muito confuso sobre o que falei até o momento aconselho que dê uma lida neste artigo de introdução aos serviços em WCF: Introdução ao WCF.

O atributo OperationContract contém uma série de proriedades, uma delas é a Action (detalhes).

A propriedade Action é usada para identificar de forma única a operação equivalente. No projeto em que estou trabalhando aparece a necessidade se determinar, em tempo de execução, qual a lista completa de actions das operações disponíveis em um dado contrato de serviço (a interface). Após algumas análises conseguimos o seguinte código que, via reflexão, nos retorna uma lista de strings com todas actions de um dado serviço:

public static IList ObtenhaTodasOperacoes()
{
    var actions = new List();
    foreach (var method in typeof(T).GetMethods())
    {
        var att = (OperationContractAttribute)Attribute.GetCustomAttribute(method, typeof(OperationContractAttribute));
        if (att != null) actions.Add(att.Action);
    }

    return actions;
}


Na verdade a implementação está mais relacionada a Reflections do que a WCF, porém é uma utilidade que os usuários de WCF podem precisar no decorrer de seu projeto.

É isso,

Abraços,

Fred Policarpo
MCP - Microsoft Certified Professional
MCTS: .NET Framework 2.0 Windows Applications
MCTS: .NET Framework 3.5 Windows Presentation Foundation Applications
MCTS: .NET Framework 3.5 Windows Workflow Foundation Applications
Consultor em Arquitetura de Software na Fibonacci Soluções Ágeis - http://solucoesageis.com.br

segunda-feira, 27 de julho de 2009

Aula na Fibonacci - TDD + Singleton

Conforme foi dito no post anterior, eu estava planejando uma aula para os dedicados alunos da Célula .NET da Faculdade Objetivo. Tudo deu certo e essa aula realmente aconteceu no dia 25/07/2009 em uma das salas de desenvolvimento da Fibonacci - Soluções Ágeis.

O tempo foi muito curto para tudo que eu gostaria de passar para o pessoal, não por culpa do tempo, mas por culpa da minha imensa vontade de passar o máximo de informações importantes para eles. Porém não adianta ter pressa, a coisa precisa ser bem feita antes de mais nada, por isso mesmo focamos em dois assuntos principais: TDD e o Padrão Singleton.

Os outros assuntos mercem uma aula dedicada cada um, são eles: Reflection, Padrão Factory, Configuração, Convensão sobre Configuração e Generics. Ufa é muita coisa para uma manhã só mesmo. Outras manhãs virão e esses assuntos ainda serão focados ;-P

Agradeço ao Rogério, à Ana Paula e ao Marcos pela persença. Continuem se esforçando, e principalmente escrevendo muito código! Agradeço também à Fibonacci - Soluções Ágeis que cedeu o espaço e os equipamentos.

Abaixo seguem a fotos, de qualidade duvidosa, da nossa primeira aula e também o link para obter os slides usados na mesma.

Um grande abraço e até breve.

Fred Policarpo
MCP - Microsoft Certified Professional
MCTS: .NET Framework 2.0 Windows Applications
MCTS: .NET Framework 3.5 Windows Presentation Foundation Applications
MCTS: .NET Framework 3.5 Windows Workflow Foundation Applications
Consultor em Arquitetura de Software na Fibonacci Soluções Ágeis - http://fibonacci.inf.br/

Baixar Material