TDC 2010

by Fujiy 22. agosto 2010 18:20

Este sábado fui ao TDC 2010 que aconteceu em São Paulo. Na trilha de .NET.

Foi uma ótima oportunidade para conhecer novas tecnologias, que as vezes não da tempo de estudar ou mesmo nem conhecemos.

 O AppFabric que é novidade e até hoje nunca tinha visto funcionando foi o assunto da primeira palestra.

Uma tecnologia que sempre deixei de lado para estudar é o Sharepoint, assisti a palestra tendo certeza que ia acabar surpreso com a produtividade e poder da plataforma e foi o que aconteceu.

Em seguida uma palestra do Giovanni Bassi e André Dias sobre testes na plataforma Microsoft, ótima, mostrando as várias ferramentas e recursos para testes como Code Coverage e UI Test.

Após o almoço foi o ponto que achei de maior destaque, pudemos ver um debate sobre diversas linguagens, contando com a presença de alguns membros do Mono Brasil inclusive do Rodrigo Bamboo, criador da linguagem Boo, muito utilizada e que conta inclusive com um livro do (sempre crítico) Ayende, só isso ja faz merecer respeito. Felipe Rodrigues (chamado pelos colegas de excêntrico, rs.) também estava presente, e também escreve suas próprias linguagens.

Uma dica deixada foi, aprenda vários paradigmas de linguagens de programação. E é  algo que sempre levo em consideração, linguagens de Ruby e F# mostram que há outras formas de chegar no resultado desejado, mesmo que você não use essas linguagens. Por exemplo o C# 3 incorporou alguns comportamento de linguagem funcional e a versão 4 aceita dinamismo. Pode não ser o mesmo que usar as linguagens feitas para o proposito, mas ajuda muito.

O momento mais interessante foi após a palestra onde pudemos conversar com alguns palestrantes, tiramos algumas dúvidas sobre o projeto Mono, e sobra criação de linguagens e padrões.

 O próximo evento é o TechEd, com 3 dias de muita novidade e tecnologia!

 

Tags:

Eventos

Software, "It’s not what we do".

by Fujiy 9. agosto 2010 09:33

Um interessante post(Software, "It’s not what we do".) do David Starr . Vou colocar o sumário aqui, mas vale a pena ler, não é um post técnico, mas importante:

"In summary, no matter what type of organization you work for:
Yes, you need to use source control.
Yes, you need to automate the build.
No, you shouldn’t be releasing the assemblies compiled on your machine.
Yes, you need to stop writing long methods and pay attention to code complexity.
Yes, you need to buy your developers the best tools available.
No, you don’t need to write your own logging framework.
Yes, you should be practicing test first development.
No, continuing to ship known defects is not acceptable.
Yes, you should understand who your customer is."

Tags:

ASP.NET MVC 3 Preview 1

by Fujiy 27. julho 2010 09:57

A Microsoft liberou o Preview 1 do ASP.NET MVC 3.

No blog do Maarten Balliauw tem algumas das novidades.

Entre elas, está o suporte ao Razor, a nova view engine, ViewData usando dynamic e suporte a injeção de dependência. Lembrando que o ASP.NET MVC 3 não suporta versões anteriores ao .NET 4

Download ASP.NET MVC 3 Preview 1 

Tags:

Notícias

MCTS .NET Framework 4, Web Applications

by Fujiy 6. julho 2010 08:11

Outra beta, fiz no mesmo dia do exame de ADO.NET.

 

Tags:

Meu Portfolio

MCTS .NET Framework 4, Data Access with ADO.NET

by Fujiy 6. julho 2010 08:06

Essa ganhei no fase Beta. A vantagem além de sair de graça, é ganhar o certificado Charter, que é dado quando se passa no exame nos primeiros seis meses após o lançamento, ou na fase Beta.

Tags:

Meu Portfolio

Corrigindo RangeValidator e CompareValidator em browsers não IE

by Fujiy 28. junho 2010 23:28

Os validator RangeValidator e CompareValidator permitem validar se o texto digitado pode ser convertido para um certo tipo, como DateTime. Porém em browsers não IE ocorre um erro de javascript quando se usa datas com 2 dígitos no ano. Para corrigir isto pode-se usar o seguinte javascript para sobrescrever o método original:

function ValidatorConvert(op, dataType, val) {
    function GetFullYear(year) {
        var twoDigitCutoffYear = val.cutoffyear % 100;
        var cutoffYearCentury = val.cutoffyear - twoDigitCutoffYear;
        return ((year > twoDigitCutoffYear) ? (cutoffYearCentury - 100 + year) : (cutoffYearCentury + year));
    }
    var num, cleanInput, m, exp;
    if (dataType == "Integer") {
        exp = /^\s*[-\+]?\d+\s*$/;
        if (op.match(exp) == null)
            return null;
        num = parseInt(op, 10);
        return (isNaN(num) ? null : num);
    }
    else if (dataType == "Double") {
        exp = new RegExp("^\\s*([-\\+])?(\\d*)\\" + val.decimalchar + "?(\\d*)\\s*$");
        m = op.match(exp);
        if (m == null)
            return null;
        if (m[2].length == 0 && m[3].length == 0)
            return null;
        cleanInput = (m[1] != null ? m[1] : "") + (m[2].length > 0 ? m[2] : "0") + (m[3].length > 0 ? "." + m[3] : "");
        num = parseFloat(cleanInput);
        return (isNaN(num) ? null : num);
    }
    else if (dataType == "Currency") {
        var hasDigits = (val.digits > 0);
        var beginGroupSize, subsequentGroupSize;
        var groupSizeNum = parseInt(val.groupsize, 10);
        if (!isNaN(groupSizeNum) && groupSizeNum > 0) {
            beginGroupSize = "{1," + groupSizeNum + "}";
            subsequentGroupSize = "{" + groupSizeNum + "}";
        }
        else {
            beginGroupSize = subsequentGroupSize = "+";
        }
        exp = new RegExp("^\\s*([-\\+])?((\\d" + beginGroupSize + "(\\" + val.groupchar + "\\d" + subsequentGroupSize + ")+)|\\d*)"
                        + (hasDigits ? "\\" + val.decimalchar + "?(\\d{0," + val.digits + "})" : "")
                        + "\\s*$");
        m = op.match(exp);
        if (m == null)
            return null;
        if (m[2].length == 0 && hasDigits && m[5].length == 0)
            return null;
        cleanInput = (m[1] != null ? m[1] : "") + m[2].replace(new RegExp("(\\" + val.groupchar + ")""g"), "") + ((hasDigits && m[5].length > 0) ? "." + m[5] : "");
        num = parseFloat(cleanInput);
        return (isNaN(num) ? null : num);
    }
    else if (dataType == "Date") {
        var yearFirstExp = new RegExp("^\\s*((\\d{4})|(\\d{2}))([-/]|\\. ?)(\\d{1,2})\\4(\\d{1,2})\\s*$");
        m = op.match(yearFirstExp);
        var day, month, year;
        if (m != null && m.length > 2 && m[2] && (m[2].length == 4 || val.dateorder == "ymd")) {
            day = m[6];
            month = m[5];
            year = (m[2].length == 4) ? m[2] : GetFullYear(parseInt(m[3], 10))
        }
        else {
            if (val.dateorder == "ymd") {
                return null;
            }
            var yearLastExp = new RegExp("^\\s*(\\d{1,2})([-/]|\\. ?)(\\d{1,2})\\2((\\d{4})|(\\d{2}))\\s*$");
            m = op.match(yearLastExp);
            if (m == null) {
                return null;
            }
            if (val.dateorder == "mdy") {
                day = m[3];
                month = m[1];
            }
            else {
                day = m[1];
                month = m[3];
            }
            year = (m[5] && m[5].length == 4) ? m[5] : GetFullYear(parseInt(m[6], 10))
        }

        if (Number(year) > 0 && Number(month) > 0 && Number(day) > 0) {
            month -= 1;
            var date = new Date(year, month, day);
            if (year < 100) {
                date.setFullYear(year);
            }
            return (typeof (date) == "object" && year == date.getFullYear() && month == date.getMonth() && day == date.getDate()) ? date.valueOf() : null;
        }
        else
            return null;
    }
    else {
        return op.toString();
    }
}

Tags:

Artigos

A surpreendente verdade sobre o que nos motiva

by Fujiy 2. junho 2010 21:10

Originalmente postado no Twitter pelo Christopher Bennage, um vídeo interessante sobre motivação. Não se trata apenas de dinheiro: http://www.youtube.com/watch?v=u6XAPnuFjJc

 

Fonte: CodeBetter

Tags:

Virtual Business Cards available para MCP´s

by Fujiy 23. abril 2010 15:58

Esta semana todos os MCP´s ganharam acesso ao Virtual Business Cards. É possível criar cartões de visitas virtuais e uma página com seu perfil. É uma forma de fácil acesso as suas credenciais e contatos. Erwin Chan fala sobre o serviço no blog.

Exemplos: Comum, JavaScript, Perfil Completo

Tags: ,

Notícias

Visual Studio 2010

by Fujiy 12. abril 2010 19:54

Você já pode baixar o Visual Studio 2010 RTM! As versões Trial(links abaixo), ou Express, aqui

Tags:

Top 10 Problems - Gerenciamento de Projetos

by Fujiy 16. março 2010 21:03

Tags:

Notícias

Powered by BlogEngine.NET 1.6.1.0 - Eco Theme by n3o Web Designers