Friday, March 14, 2008
Links úteis para Team Foundation Server
Reuni nesse post uma lista de links úteis relacionados com o TFS 2005 ou TFS 2008. A maioria está em inglês. Com o tempo vou pegando algumas dicas ou textos e colocando aqui no blog. Aceito sugestões sobre quais traduzir.
Lista de Features do TFS 2008 – Brian Harry ,do time de Team Foundation da Microsoft, lista em seu blog as novas features do team foundation server 2008. Confira. Em inglês.
TeamSystem Brasil – Site dos amigos Marcus Garcia e Fábio Camara com informações, noticas e artigos sobre TFS, e o melhor, em português.
Team Foundation Overview – Excelente texto dando uma visão geral do tfs com links para vários “How-tos”. Para quem está querendo conhecer mais da ferramenta , é leitura obrigatória. Em inglês.
Visão geral do Team Foundation – Outro texto bem interessante para conhecer os recursos do Team Foundation. Também escritos pelo Marcus e pelo Fabio, esse texto tem um enfoque um pouco diferente do texto acima , pois sai do teórico e mostra na prática como funcionam alguns mecanismos dos sistema. Leitura mais que recomendada. Em português.
Team System Widgets – Toneladas de Add-ons para Team foundation (tambem tem bastante coisa para outros módulos do VSTS , VSTS architect edition, VSTS tester edition, etc.) . Talvez a funcionalidade extra que voce esteja pensando em desenvolver ja esteja pronta. Em inglês.
Migrando para Team Foundation 2008 – Brian Harry, O cara, colocou em seu blog um resumo dos vários cenários de migraçao para o TFS 2008, com direito a como migrar da versao beta para a versao final. Em inglês.
Team Foundation Server Team Project Limits – Esse texto trás informações importantes sobre a performance e os limites do TFS. Ele fala também dos limites de um Team project. Nada que voce vai chegar em 1 2 anos (acredito), mas é bom ler e ter essa referência em mãos. Em inglês.
Permissoes no Team Foundation – Explica o que cada grupo tem direito e as demais permissões que podem ser concedidas aos usuários. Em inglês.
Tutoriais no VSTS Rocks – Página do clássico site VSTS Rocks com tutoriais sobre os mais diversos assuntos relacionados com TFS , claro. Em inglês.
Acho que por enquanto é só. Tentei focar esses links nos fundamentos do TFS e nas funcionalidades elementares do sistema. Num próximo post, colocarei links sobre assuntos mais variados, como técnicas de branching, build server, manipulação de work item, entre outros. Mas por enquanto esses links já vão te dar diversão por um bom tempo.
Have fun!
Lista de Features do TFS 2008 – Brian Harry ,do time de Team Foundation da Microsoft, lista em seu blog as novas features do team foundation server 2008. Confira. Em inglês.
TeamSystem Brasil – Site dos amigos Marcus Garcia e Fábio Camara com informações, noticas e artigos sobre TFS, e o melhor, em português.
Team Foundation Overview – Excelente texto dando uma visão geral do tfs com links para vários “How-tos”. Para quem está querendo conhecer mais da ferramenta , é leitura obrigatória. Em inglês.
Visão geral do Team Foundation – Outro texto bem interessante para conhecer os recursos do Team Foundation. Também escritos pelo Marcus e pelo Fabio, esse texto tem um enfoque um pouco diferente do texto acima , pois sai do teórico e mostra na prática como funcionam alguns mecanismos dos sistema. Leitura mais que recomendada. Em português.
Team System Widgets – Toneladas de Add-ons para Team foundation (tambem tem bastante coisa para outros módulos do VSTS , VSTS architect edition, VSTS tester edition, etc.) . Talvez a funcionalidade extra que voce esteja pensando em desenvolver ja esteja pronta. Em inglês.
Migrando para Team Foundation 2008 – Brian Harry, O cara, colocou em seu blog um resumo dos vários cenários de migraçao para o TFS 2008, com direito a como migrar da versao beta para a versao final. Em inglês.
Team Foundation Server Team Project Limits – Esse texto trás informações importantes sobre a performance e os limites do TFS. Ele fala também dos limites de um Team project. Nada que voce vai chegar em 1 2 anos (acredito), mas é bom ler e ter essa referência em mãos. Em inglês.
Permissoes no Team Foundation – Explica o que cada grupo tem direito e as demais permissões que podem ser concedidas aos usuários. Em inglês.
Tutoriais no VSTS Rocks – Página do clássico site VSTS Rocks com tutoriais sobre os mais diversos assuntos relacionados com TFS , claro. Em inglês.
Acho que por enquanto é só. Tentei focar esses links nos fundamentos do TFS e nas funcionalidades elementares do sistema. Num próximo post, colocarei links sobre assuntos mais variados, como técnicas de branching, build server, manipulação de work item, entre outros. Mas por enquanto esses links já vão te dar diversão por um bom tempo.
Have fun!
Tuesday, March 11, 2008
Termos técnicos sobre desenvolvimento em inglês
Amigos,
Fiquei em dúvida sobre publicar esse post aqui ou no meu blog pessoal (http://bottech.blogspot.com/), mas acabei publicando aqui mesmo devido ao caráter técnico do assunto.
Após estar trabalhando algum tempo aqui nos eua eu aprendi alguns jargões técnicos. Até agora me recordo de alguns poucos mas gostaria de compartilhar com voces na forma de curiosidade. Espero que nao seja nada old para voces. Bottech também é cultura.
Voce sabe o significado de???
Dev box: Servidor de desenvolvimento. Pelo menos aqui nessa região, box também significa servidor, entao QA Box, é servidor de QA (homologaçao, ou Quality Assurance)
Sand box: Caixinha de areia, onde as criançinhas brincam e fazem arte. Entao sand box, é aquele projeto ou servidor onde voce pode brincar e fazer arte. Desse eu gostei.
Playground:mesma coisa que o item acima só que mais , senao totalmente, relacionado com projetos para testar e tentar coisas novas antes de se arriscar em producao ou mesmo homologaçao.
Push code: Quando publicamos um código em outro ambiente , nós dizemos push the code, traduzindo seria algo como empurar o código. Empurrar para produçao, empurrar para homologaçao, seriam respectivamente Push to production e push do QA. legal né, esse achei bem doido.
Going Live: Ainda nao achei algo que represente a frase: o sistema vai para o ar , ou, o sistema está fora do ar; mas acho que esta expressão "going live" chega perto. Dizemos que um sistema "is going live" ou "we are going live" quando queremos informar que um sistema começará a ser operado em producao, ou vamos virar a chave de um sistema antigo para começar a usar o novo. Interessante tb.
Bem foi isso que eu aprendi até agora, quando eu ouvir (e entender o significado) de mais alguma eu coloco aqui.
Have fun!
Fiquei em dúvida sobre publicar esse post aqui ou no meu blog pessoal (http://bottech.blogspot.com/), mas acabei publicando aqui mesmo devido ao caráter técnico do assunto.
Após estar trabalhando algum tempo aqui nos eua eu aprendi alguns jargões técnicos. Até agora me recordo de alguns poucos mas gostaria de compartilhar com voces na forma de curiosidade. Espero que nao seja nada old para voces. Bottech também é cultura.
Voce sabe o significado de???
Dev box: Servidor de desenvolvimento. Pelo menos aqui nessa região, box também significa servidor, entao QA Box, é servidor de QA (homologaçao, ou Quality Assurance)
Sand box: Caixinha de areia, onde as criançinhas brincam e fazem arte. Entao sand box, é aquele projeto ou servidor onde voce pode brincar e fazer arte. Desse eu gostei.
Playground:mesma coisa que o item acima só que mais , senao totalmente, relacionado com projetos para testar e tentar coisas novas antes de se arriscar em producao ou mesmo homologaçao.
Push code: Quando publicamos um código em outro ambiente , nós dizemos push the code, traduzindo seria algo como empurar o código. Empurrar para produçao, empurrar para homologaçao, seriam respectivamente Push to production e push do QA. legal né, esse achei bem doido.
Going Live: Ainda nao achei algo que represente a frase: o sistema vai para o ar , ou, o sistema está fora do ar; mas acho que esta expressão "going live" chega perto. Dizemos que um sistema "is going live" ou "we are going live" quando queremos informar que um sistema começará a ser operado em producao, ou vamos virar a chave de um sistema antigo para começar a usar o novo. Interessante tb.
Bem foi isso que eu aprendi até agora, quando eu ouvir (e entender o significado) de mais alguma eu coloco aqui.
Have fun!
Monday, March 10, 2008
Video do Randy Shoup Arquiteto do eBay: Assista!
Estava fazendo algumas buscas na web e acabei me deparando com esse video do Randy Shoup, um dos principais arquiteto do ebay, maior site de leilões do mundo, revelando alguns dos segredos da sua estrutura. O video começa com alguns números do ebay que ja deixam voce de boca aberta. Em seguida ele faz um overview de como funciona o sistema para manipular esses numeros colossais. É realmente uma aula! Espero que aproveitem, afinal é também uma chance de sair da realidade da nossa empresa e respirar outros ares. Vale muito a pena ver esse video.
http://www.infoq.com/presentations/shoup-ebay-architectural-principles
Have Fun!
Friday, March 7, 2008
Artigo: Dicas sobre promoçao de código entre ambientes
Ultimamente tenho trabalhado muito com a questão de ambientes e principalmente a promoção de código. Se por um lado nós progamadores não somos promovidos com tanta velocidade, o código no entanto, muitas vezes é promovido mais rápido do que deve. (piadinha de TI sempre é complicado, mas essa ficou engraçadinha vai, voce pelo menos pensou: putz não acredito que ele escreveu isso). O código sai da nossa maquina para um ambiente de homologacao (QA) e em seguida para a produção. Em alguns lugares há outros ambientes envolvidos. Cada ambiente é um ecossistema diferente , com configuracoes, permissões, softwares, componentes , enfim tudo pode ser diferente e mesmo assim o código "tem" que rodar e se moldar ao ambiente onde está. Bem esse tem sido o foco dos meus estudos ultimamente.
Relacionado a isso tenho usado um elemento que muita gente não conhece ou conhece mas não aproveita todo o seu poder. Eu, por exemplo, começei a dar mais atenção a isso há não muito tempo atrás.
Bem todos voces ja viram que ao lado do "Play" para rodar a aplicacão no Visual Studio.NET , há uma combo onde você define se voce vai rodar em modo Debug ou Release, também conhecido como Solution Configurations. Podemos tirar vantagem disso ao invés de lotar nosso código com chaves do web config. Basicamente o modo em que estamos compilando define quem estará utilizando a aplicação. Basicamente existem dois perfis macro de pessoas que podem ter algum tipo de contato com aplicação: aqueles que estão construindo a aplicação e aqueles que utilizam a aplicação. Nao confunda com perfil de usuário, que são as formas de um usuário acessar, mas são todos usuários finais do sistema. Porém, um desenvolvedor constrói a aplicação mas precisa testar como se fosse um usuário em muitos casos. Algumas vezes é possivel criar um usuário no banco de dados e dar algumas permissões e fazer o desenvolvedor utilizar essa conta e a aplicação se comportará exatamente como um usuário final. Mas quando a complexidade do ambiente aumenta fazer isso fica complicado. Por exemplo, imagine que voce tem um relatório que só pode ser acessado por usuários do grupo gerência do Active Directory. Um desenvolvedor programa essa funcionalidade que verifica o grupo do usuário logado na master page e o outro programador faz o relatório usando a master page. Como nosso pobre amigo que está programando o relatório poderá testar o seu código se ele não consegue mais acessar a página? Podemos resolver isso de várias formas, algumas bonitas outras nem tanto. Um solução que eu considero bonita é usar o recurso de Debug/release para diferenciar quem está pilotando a aplicação. Funciona assim: se estou rodando em debug mode significa que eu sou um desenvolvedor entao a aplicação não precisa verificar se eu faço parte do grupo de gerência ou não. Uma vez meu relatório pronto, eu posso rodar em release mode, que significa como a aplicação irá se comportar para os usuários. Eu acho que dessa forma o processo de desenvolvimento fica mais produtivo do que adicionar uma chave do tipo "emDesenvolvimento=true" no web.config e ficar chaveando por ele. Lembre-se: web.config também é gente, ops, quer dizer, web.config também é código , sujeito a source control, versionamento,e você corre o risco de não poder dar check out porque alguem deu lock no arquivo, etc.
Para essa mágica de Debug/Release funcionar é necessário colocar uma diretiva de compilação no código onde voce quer haja um comportamento diferente dependendo do mode em que está a aplicação esta rodando. Vejamos um exemplo de uma função que verifica se o usuário faz parte do role "gerencia" utilizando o conceito de compile mode.
public bool VerificaAcessoGerencia()
{
#if DEBUG
return true;
#else
return this.User.IsInRole("gerencia");
#endif
}
Basicamente estamos verificando se a aplicação está rodando em Debug mode. Se estiver, vamos sempre retornar true, caso contrário vamos fazer o que realmente deve ser feito, procurar pela role "gerencia" na coleção de roles do usuário logado.
Muita atenção agora para alguns detalhes:
- Na hora de publicar o seu código para outro ambiente, certifique-se de que voce compilou em Release mode, do contrário voce estará levando lógica errada para ambiente errado e vai ser complicado de descobrir (ou melhor, de lembrar) o que está causando todo o transtorno.
- Se voce está utilizando blocos de código completamente diferentes ou utilizando essa diretiva descontroladamente, compulsivamente , cuidado voce pode estar querendo resolver outros problemas que não tem nada haver com ambientes ou compilation mode. Use o bom senso para essas decisões.
É possivel criar outras modos de compilação, (novas solution configurations), o que eu considero um próximo passo, mas apenas para ambientes mais complexos, por exemplo, se voce precisar testar o código de forma diferente em cada servidor numa arquitetura de load balance. Acredito que somente debug/release cobre 95% dos casos.
Utilizando esse recuros fica para o web.config apenas as diferenças entre os ambientes (path de arquivos em prod e QA, por exemplo), deixando para o compilation mode toda essa questão de diferenciar a maneira como o sistema se comporta. Isso vai auxiliar o desenvolvedor nos testes, otimizar o processo de desenvolvimento e trazer mais qualidade ao seu build.
Este artigo foi publicado no site Linha de código confira: http://www.linhadecodigo.com.br/Artigo.aspx?id=1724
Até a próxima!
Relacionado a isso tenho usado um elemento que muita gente não conhece ou conhece mas não aproveita todo o seu poder. Eu, por exemplo, começei a dar mais atenção a isso há não muito tempo atrás.
Bem todos voces ja viram que ao lado do "Play" para rodar a aplicacão no Visual Studio.NET , há uma combo onde você define se voce vai rodar em modo Debug ou Release, também conhecido como Solution Configurations. Podemos tirar vantagem disso ao invés de lotar nosso código com chaves do web config. Basicamente o modo em que estamos compilando define quem estará utilizando a aplicação. Basicamente existem dois perfis macro de pessoas que podem ter algum tipo de contato com aplicação: aqueles que estão construindo a aplicação e aqueles que utilizam a aplicação. Nao confunda com perfil de usuário, que são as formas de um usuário acessar, mas são todos usuários finais do sistema. Porém, um desenvolvedor constrói a aplicação mas precisa testar como se fosse um usuário em muitos casos. Algumas vezes é possivel criar um usuário no banco de dados e dar algumas permissões e fazer o desenvolvedor utilizar essa conta e a aplicação se comportará exatamente como um usuário final. Mas quando a complexidade do ambiente aumenta fazer isso fica complicado. Por exemplo, imagine que voce tem um relatório que só pode ser acessado por usuários do grupo gerência do Active Directory. Um desenvolvedor programa essa funcionalidade que verifica o grupo do usuário logado na master page e o outro programador faz o relatório usando a master page. Como nosso pobre amigo que está programando o relatório poderá testar o seu código se ele não consegue mais acessar a página? Podemos resolver isso de várias formas, algumas bonitas outras nem tanto. Um solução que eu considero bonita é usar o recurso de Debug/release para diferenciar quem está pilotando a aplicação. Funciona assim: se estou rodando em debug mode significa que eu sou um desenvolvedor entao a aplicação não precisa verificar se eu faço parte do grupo de gerência ou não. Uma vez meu relatório pronto, eu posso rodar em release mode, que significa como a aplicação irá se comportar para os usuários. Eu acho que dessa forma o processo de desenvolvimento fica mais produtivo do que adicionar uma chave do tipo "emDesenvolvimento=true" no web.config e ficar chaveando por ele. Lembre-se: web.config também é gente, ops, quer dizer, web.config também é código , sujeito a source control, versionamento,e você corre o risco de não poder dar check out porque alguem deu lock no arquivo, etc.
Para essa mágica de Debug/Release funcionar é necessário colocar uma diretiva de compilação no código onde voce quer haja um comportamento diferente dependendo do mode em que está a aplicação esta rodando. Vejamos um exemplo de uma função que verifica se o usuário faz parte do role "gerencia" utilizando o conceito de compile mode.
public bool VerificaAcessoGerencia()
{
#if DEBUG
return true;
#else
return this.User.IsInRole("gerencia");
#endif
}
Basicamente estamos verificando se a aplicação está rodando em Debug mode. Se estiver, vamos sempre retornar true, caso contrário vamos fazer o que realmente deve ser feito, procurar pela role "gerencia" na coleção de roles do usuário logado.
Muita atenção agora para alguns detalhes:
- Na hora de publicar o seu código para outro ambiente, certifique-se de que voce compilou em Release mode, do contrário voce estará levando lógica errada para ambiente errado e vai ser complicado de descobrir (ou melhor, de lembrar) o que está causando todo o transtorno.
- Se voce está utilizando blocos de código completamente diferentes ou utilizando essa diretiva descontroladamente, compulsivamente , cuidado voce pode estar querendo resolver outros problemas que não tem nada haver com ambientes ou compilation mode. Use o bom senso para essas decisões.
É possivel criar outras modos de compilação, (novas solution configurations), o que eu considero um próximo passo, mas apenas para ambientes mais complexos, por exemplo, se voce precisar testar o código de forma diferente em cada servidor numa arquitetura de load balance. Acredito que somente debug/release cobre 95% dos casos.
Utilizando esse recuros fica para o web.config apenas as diferenças entre os ambientes (path de arquivos em prod e QA, por exemplo), deixando para o compilation mode toda essa questão de diferenciar a maneira como o sistema se comporta. Isso vai auxiliar o desenvolvedor nos testes, otimizar o processo de desenvolvimento e trazer mais qualidade ao seu build.
Este artigo foi publicado no site Linha de código confira: http://www.linhadecodigo.com.br/Artigo.aspx?id=1724
Até a próxima!
Wednesday, March 5, 2008
Saiu a versao beta do Internet Explorer 8
Tenho acompanhado pelo blog do time do IE os avanços desta nova versao e estou bastante animado para ela. O blog do amigo Rodrigo Kono contém os links para baixar o IE8 beta para voce começar a brincar com as novas features. Apenas lembre, é uma versao beta, portanto instale em uma virtual machine ou em algum ambiente de teste.
Have fun!
Link do blog: http://kono.spaces.live.com/Blog/cns!66AB4111C1117587!1148.entry
Have fun!
Link do blog: http://kono.spaces.live.com/Blog/cns!66AB4111C1117587!1148.entry
Friday, February 8, 2008
Rodando IE 3, 4, 5, 5.5, 6 e 7 na mesma maquina
Essa dica é fantastica. Meu amigo fábio me mandou e estou compartilhando.
Para quem desenvolve aplicacoes para a web, muitas vezes é requisito que a aplicaçao seja compativel com diferentes versões do IE e/ou Firefox. Para resolver isso, muita gente acaba configurando virtual machines para isso, o que funciona, mas convenhamos que nao é o processo mais pratico para essa finalidade, apesar de ser fã de virtual machines.
Bem no link http://sitening.com/blog/2006/12/05/run-ie3-ie4-ie5-ie55-ie6-and-ie7-on-the-same-computer-even-on-mac/ voce pode baixar um aplicativo que faz essa mágica de instalar varias versões do Internet explorar na mesma maquina. Basta clicar no icone da versao e colocar a url do aplicativo e ver se sua aplicação está funcionando corretamente. Segundo fábio (que me passou a dica), ele instalou e rodou legal. Se voce ler os comentarios do post do link, alguns bradam e celebram alegremente a engenhoca, outros reclamam alegando que nao funcionou ou que travou a maquina , etc. Como diria Silvio Santos: eu não vi. Detalhe : nao é suportado no windows Vista.
Vale muito a pena dar uma olhada , afinal o beneficio é otimo..
Para quem desenvolve aplicacoes para a web, muitas vezes é requisito que a aplicaçao seja compativel com diferentes versões do IE e/ou Firefox. Para resolver isso, muita gente acaba configurando virtual machines para isso, o que funciona, mas convenhamos que nao é o processo mais pratico para essa finalidade, apesar de ser fã de virtual machines.
Bem no link http://sitening.com/blog/2006/12/05/run-ie3-ie4-ie5-ie55-ie6-and-ie7-on-the-same-computer-even-on-mac/ voce pode baixar um aplicativo que faz essa mágica de instalar varias versões do Internet explorar na mesma maquina. Basta clicar no icone da versao e colocar a url do aplicativo e ver se sua aplicação está funcionando corretamente. Segundo fábio (que me passou a dica), ele instalou e rodou legal. Se voce ler os comentarios do post do link, alguns bradam e celebram alegremente a engenhoca, outros reclamam alegando que nao funcionou ou que travou a maquina , etc. Como diria Silvio Santos: eu não vi. Detalhe : nao é suportado no windows Vista.
Vale muito a pena dar uma olhada , afinal o beneficio é otimo..
Tuesday, February 5, 2008
Saiu o Windows Vista Service Pack (SP1)
Aproximadamente um ano após o lancamento do Windows Vista, esta sendo lançado hoje o seu primeiro Service Pack 1 (SP1). O download porém, só estará disponivel a partir de março no windows update.
A lista completa de security issues e hot fixes voce encontra no link http://technet2.microsoft.com/WindowsVista/en/library/20184cb6-7038-4e82-a32c-4bc10ffe56ab1033.mspx?mfr=true. Outro resumo deste novo patch com informacoes mais high level voce encontra em http://technet2.microsoft.com/WindowsVista/en/library/20184cb6-7038-4e82-a32c-4bc10ffe56ab1033.mspx?mfr=true
Leia o anuncio do lançamento feito por Mike Nash , Windows Product Management no link http://windowsvistablog.com/blogs/windowsvista/archive/2008/02/04/announcing-the-rtm-of-windows-vista-sp1.aspx.
De quebra vale falar também que a Microsoft está com Service Pack 3 do Windows XP para ser lancado neste primeiro trimestre.
Este mes sai o Windows Server 2008.
Caramba minha gente, é muito lançamento! Praticamente um Microsoft Fashion Quarter. (ok, ok, tentei misturar Microsoft, lancamento do windows com sao paulo fashion week, tudo bem eu admito, ficou horrivel!).
Abraços
A lista completa de security issues e hot fixes voce encontra no link http://technet2.microsoft.com/WindowsVista/en/library/20184cb6-7038-4e82-a32c-4bc10ffe56ab1033.mspx?mfr=true. Outro resumo deste novo patch com informacoes mais high level voce encontra em http://technet2.microsoft.com/WindowsVista/en/library/20184cb6-7038-4e82-a32c-4bc10ffe56ab1033.mspx?mfr=true
Leia o anuncio do lançamento feito por Mike Nash , Windows Product Management no link http://windowsvistablog.com/blogs/windowsvista/archive/2008/02/04/announcing-the-rtm-of-windows-vista-sp1.aspx.
De quebra vale falar também que a Microsoft está com Service Pack 3 do Windows XP para ser lancado neste primeiro trimestre.
Este mes sai o Windows Server 2008.
Caramba minha gente, é muito lançamento! Praticamente um Microsoft Fashion Quarter. (ok, ok, tentei misturar Microsoft, lancamento do windows com sao paulo fashion week, tudo bem eu admito, ficou horrivel!).
Abraços
Subscribe to:
Posts (Atom)