Autor: magoolation

  • Vídeo: O que é Domain Driven Design

    Fala galera!

    Infelizmente minha conexão não colaborou ontem mas a galera se reuniu para falar deste tema tão em voga: Domain Driven Design.

    Apesar de ser um tema exaustivamente discutido o DDD ainda traz muitos questionamentos em relação a sua aplicação e implementação.

    E ai concorda com o que foi comentado/discutido? De sua opinião aqui nos comentários e não se esueça de curtir os vídeos, assinar o canal e compartilhar com a galera!

    Até a próxima!

  • Big Data: Falando sobre arquitetura

    Este artigo foi publicado em 2016. Ferramentas e versões citadas podem ter mudado desde então; a reflexão permanece.

    Fala galera!

    Dando continuidade aos nossos hangouts sobre Big Data cumprimos a promessa de discutir a arquitetura por trás das soluções que encontramos no mercado.

    Para isto Jorge Fabre compartilhou conosco um material bem interessante com a big picture do que é, reforçou os conceitos e juntamente com Flavio Barros, estatístico e irmão do nosso amigo Fabio Margarito, explicou como funcionaria na prática uma solução utilizando algumas das tecnologias que já abordamos.

    Gostou? Quer ser um Data Scientist? compartilhe com a gente suas impressões e experiencias aqui nos comentários, lá no vídeo e nunca esqueça de curtir, compartilhar e assinar o canal.

    Até a próxima!

  • [Review]: Professional application Lifecycle Management with Visual Studio 2013

    Este artigo foi publicado em 2016. Ferramentas e versões citadas podem ter mudado desde então; a reflexão permanece.

    Fala galera!

    Venho hoje compartilhar com voces o que em minha opinião foi a melhor leitura técnica dos últimos anos: Professional ALM with Visual Studio 2013 o qual terminei de ler hoje de manhã.

    Foram cerca de dois meses empenhado em absorver todo o conteúdo deste extenso livro que cobre todas as etapas do ciclo de vida do desenvolvimento de aplicações utilizando-se da plataforma Microsoft entre elas:

    O livro esta dividido em partes que abrangem:

    • Gestão de Projetos;
    • Gestão de Requisitos;
    • Desenvolvimento;
    • Testes e Qualidade;
    • Build e Deploy;
    • Gerenciamento de Laboratórios;

    Todos os recursos Ão tratados com detalhe e muitas informaçõe extras são disponiblizadas através de links que enriquecem ainda mais o conteúdo.

    Todo o código fonte é disponibilizado para download acelerando muito colocar em prática o que é aprendido e são poquíssimos pré-requisitos para ter tudo funcionando.

    Se voce pretende utilizar a plataforma em sua totalidade é uma leitura obrigatória.

    Muitos dos próximos posts serõ compartilhamentos do que aprendi e consegui colocar em prática quase que de imediato.

    E voce, quais boas leituras tem feito recenetemente? Compartilhe com a gente aqui nos comentários.

    Até a próxima!

  • ASP.NET SignalR e CORS

    Fala galera!

    Dando continuidade ao tema ASP.NET SignalR o qual comentei aqui já começo a série de exemplos com a configuraçÃo que utilizei me nosso projeto para permitir o uso entre diferentes domínios, o famoso CORS.

    public partial class Startup
     {
     public void ConfigureSignalR(IAppBuilder app)
     {
     IContainer container = ContainerConfig.Configure();</p>
    
    <pre><code>        var resolver = new Autofac.Integration.SignalR.AutofacDependencyResolver(container);
            GlobalHost.DependencyResolver = resolver;
            var config = new HubConfiguration()
            {
                Resolver = resolver,
                EnableDetailedErrors = true,
                EnableJSONP        = true
            };
            var cors = new CorsOptions()
            {
                PolicyProvider = new CorsPolicyProvider()
                {
                    PolicyResolver = context =&gt;
                    {
                        var policy = new CorsPolicy();
                        policy.Origins.Add(@&quot;http://nossaappweb.azurewebsites.net&quot;);
                        policy.AllowAnyMethod = true;
                        policy.AllowAnyHeader= true;
                        policy.SupportsCredentials = true;
                        return Task.FromResult(policy);
                    }
                }
            };
            app.Map(&quot;/signalr&quot;, map =&gt;
            {               
               map.UseCors(cors);  
                map.RunSignalR(config);
            });
    
        }
    }
    

    Com este método estou fazendo as seguintes configurações:

    • Habilitando o SignalR e o uso de CORS para o endpoint /signalr;
      Habilitando JXP para browsers legados;
    • Habilitando a injeção de dependencia utilizando o Autofac;

    No próximo post irei mostrar como ficou nosso Hub e uma dica para escapar do Singleton que é implementado por padrão para ele.

    Até a próxima!

  • ASP.NET SignalR

    Fala galera!

    Este é um post introdutório sobre ASP.NET SignalR uma tecnologia para comunicação em tempo real entre aplic’ões Web e seus clientes.

    O SignalR abstrai de maneira simples a chamada remota de procedimentos (RPC) do cliente para o servidor e vice-versa permitindo, por exemplo, a atualização em tempo real do cliente quando da ocorrenci de eventos no servidor.

    Para isto ele faz de forma automática a seleção do melhor transporte a partir da analise da conexÃo do cliente, podendo optar entre:

    • WebSockets: cominicação TCP/IP e alto desempenho entre o servidor Web e o cliente. Neste modo a comunicaÇão é bidirecional através do uso de uma conexão persistente entre os envolvidos;
    • Long Pooling: Uma forma otimizada de pooling ao servidor Web para consulta de dados;
    • Pooling: Comunicação normal com o servidor WEb consultando de tempos em tempos se há novas requisiÇões para o cliente;

    Além disto o SignalR permite dois modos de trabalho:

    • Hub: Abstração total da comunicação através da exposição de endpoints padronizados e um rica API para facilitar as chamadas RPC;
    • Persstent Connection: Neste modo é disponibilizada uma rica API de comunicação em baixo nível utilizado principalmene quando se quer ter mais controle da transmissÃo de dados criando-se protocolos personalizados e usando-se de técnicas como criptografia e compactaçÃo;

    Em 90% dos casos o uso de Hubs é recomendado e atenderá a todas as suas necessidades mas é sempre bom saber qu podemos expandir nossas soluções caso precisemos de algo com maior controle.

    O ASP.NET SignalR ja se aproveita de todos os beneficios ofereidos pelo uso do midleware OWIN introduzido inicialmente com o ASP.NET WebAPI o que nos pemite hospedar nossa aplica’ão não somente no IIS mas também em qualquer aplicação/serviço que desenvlvamos e isto tamb’m permite que o mecanismo por traz do SignalR tambem seja acilmente extendido, como o uso d filas ou de caches para otimização da comunicação quando prcisamos escalar o servidor.

    Em postagens futuras irei abordar com exemplos cada um destes aspectos para que voces possam se familiarizar com esta tecnologia e usufruir de seus beneficios em suas aplicações.

    Até a próxima!

  • API First: Como aprendemos na prática

    Este artigo foi publicado em 2016. Ferramentas e versões citadas podem ter mudado desde então; a reflexão permanece.

    Fala galera!

    Hoje trago para discussão assunto que surgiu em uma retrospectiva do projeto que estamos concluindo.

    Por ter sido nosso primeiro grand projeto mobile fizemos o desenvolvimento de frontend e backend de forma paralela permitindo que ambos evoluissem de forma independente seguindo nossas especificações iniciais.

    Isto acelerou o desenvolvimento, mas causou um grande impacto nos testes integrados já que alguns aspectos técnicos da execução das APIs não haviam sido detectados.

    Outra constatação é que a própria interface do aplicativo poderia ter sido muito facilitada se a interação com o backend tivesse se iniciado mais cedo.

    Por isto comprovamos, infelimente da pior forma, que a abordagem de API First é extremamente importanteneste tipo de projeto.

    Para os novos desenvolvimento iremos tentar seguir o seguinte roteiro:

    • Fazer um planejamento inicial da aplicação utiliando o Storyboard;
    • Desenvolver as APIs já contemplando testes unitários e integrados;
    • Desenvolver as interfaces já apontando para os serviços, sejam eles mocks ou implementações finais;
    • Automatizar os testes de interface;

    E voces? Quais workflows tem utilizado no seu desenvolvimento móvel? Compartilhe com a gente aqui no comentários.

    Até a próxima!

  • 2016 o ano da Automação

    Este artigo foi publicado em 2016. Ferramentas e versões citadas podem ter mudado desde então; a reflexão permanece.

    Fala galera!

    Por ser um programador sou fanático por automação e como ganhar tempo não tendo que fazer tarefas repetitivas.

    Costumo inclusive dizer que se eu não trabalhasse com desenvolvimento de software sempre causaria minha demissÃo pois automatizaria meu trabalho e não seria mais necessário.

    Já hoje meu trabalho é exatamente este, automatizar tarefas que trazem grande risco operacional para a empresa através de utilitários, integrações, scripts, etc.

    Já na SuperActive as metas para este ano são:

    • Ter todos os projetos implantados através de processos automatizados;
    • Aumentar a quantidade de testes automatizados;
    • Implementar um processo de verificação de qualidade de código;

    Para atender estes objetivos desde o fim do ano estou estudando os seguintes temas:

    • Team Build e Release Management;
    • Coded UI;
    • Sonarqube;
    • Powershell;

    Estamos realizando reuniões semanais para acompanhamento e melhoria dos processos e tenho certeza que teremos grandes novidades em breve.

    E voce, o que tem feito para melhorar o seu dia? Compartilhe aqui nos comentários.

    Abraços e até a próxima!

  • Da virtualização à conteinerização

    Este artigo foi publicado em 2016. Ferramentas e versões citadas podem ter mudado desde então; a reflexão permanece.

    Fala galera!

    Não sei se voces sabem mas sou usuário da plataforma Apple e trabalho no meu dia-a-dia com um MacBook Pro.

    Mas para utilizar o Visual Studio tenho de recorrer a uma tecnologia que me facina a tempos: a virtualizaçÃo.

    No Windows utilizei por muito tempo o VMWare e só muitos anos depois, para falar a verdade só para usar o Xamarin Player utilizei o VirtualBox.

    Já no Mac acatando a sugestão do cocatech me rendi ao Parallels que tem me atendido com maestria, apesar dos problemas de acessibilidade.

    Mas nem sempre a criação de máquinas virtuais é rápida o suficiente para realizar determinadas tarefas e por isto comecei a estudar a tecnologia de containers, principalmente o docker.

    Ele utiliza o conceito de particionamento de recursos da máquina, seja ela física ou virtual, para rodar ambientes independentes, o que é ideal para a publicação de aplicações diferentes em um mesmo ambiente, e promove-los como se fossem códigos fonte, é a realmente implementação do DEVOPS.

    No caso tenho utilizado para rodar uma instancia do Sonarqube em minha máquina e analisar a qualidade dos meus projetos.

    O Sonar tem um procedimento de instalação até que simples, mas teria de fazer ou uma máquina virtual ou colocar todo este mbiente no Mac, o que não gosto pois me tira a independencia.

    Este assunto ainda será bem tratado aqui, mas fica a dica para aqueles que querem algo novo para estudar, e aplicar em seu dia-a-dia.

    Até a próxima!

  • Reflexão: A inclusão da pessoa com deficiência no mercado de trabalho

    Este artigo foi publicado em 2015. Ferramentas e versões citadas podem ter mudado desde então; a reflexão permanece.

    Fala galera!

    Neste feriado prolongado de Natal tive a oportunidade de ler esta excelente entrevista da minha amiga Esabela.

    É um ponto de vista inteligentíssimo sobre a inclusão da pessoa com deficincia no mercado de trabalho e aponta diversos problemas que, infelizmente, presenciamos diariamente não só nas empresas onde trabalhamos como também a forma que somos vistos e tratados em muitos serviços.

    O foco na pessoa é fundamental para que muitos dos preconceitos e dos tabus sejam derrubados e possamos dizer que vivmos em uma sociedade justa.

    Parabens Esabela pelo excelente trabalho que vem fazendo e muito obrigado por me encher ainda mais de animo para os projetos que estão por vir em 2016.

    Até a próxima!

  • Review: Plural Sight

    Este artigo foi publicado em 2015. Ferramentas e versões citadas podem ter mudado desde então; a reflexão permanece.

    Fala galera!

    Voces sabem, ao menos aos que me conhecem pessolmente, que gosto muito de me aperfeiçoar e por isto leio bastante, e passei a se fã de plataformas de treinamento online.

    Ja falei aqui do MeuSucesso.com onde tenho atacado minhas soft skills e investido em minha carreira empreendedora mas também tenho a mais de um ano investido em minha carreira técnica.

    O Plural Sight é o maior portal de treinamento de tecnologia e oferece cursos nas mis diversas áreas como desenvolvimento, design, 3D, redes, segurança entre outros.

    Os cursos não se limitam a um único vendor ou plataforma, passando por Microsoft, Adobe, IBM, projetos open source, etc.

    Além dos cursos é possível, dependendo do plano, tr cesso as apresentações, transcrição dos vídeos em texto, exercícios e até mesmo provas de proficiencia.

    Outra grande facilidade oferecida são os aplicativos para platafrmas móveis e, nos planos profissionais, a possibilidade de salva-los para reproduçao offlin.

    Com preços que começam em USD 29,90 no momento que escrevo este artigo acho uma excelente opção de custo benefício para quem quer se manter atualizado com as últimas tendencias.

    O único requisito é um ingles intermediário já que todos os cursos são ministrados neste idioma.

    Abraços e até a próxima!