The world before the fall...
sexta-feira, 9 de março de 2012
ORA-01843: not a valid month
quarta-feira, 7 de março de 2012
TransactionScope e Invalid operation. The connection is closed no Oracle
System.InvalidOperationException: Invalid operation. The connection is closed.
at System.Data.OracleClient.OracleConnection.GetOpenInternalConnection()
at System.Data.OracleClient.OracleConnection.get_ErrorHandle()
at System.Data.OracleClient.OracleDataReader.ReadInternal()
at System.Data.OracleClient.OracleDataReader.Read()
at Microsoft.Practices.EnterpriseLibrary.Data.Oracle.OracleDataReaderWrapper.Read()
using(var trans = new TransactionScope(TransactionScopeOption.Suppress))
{
// ...
}
quinta-feira, 16 de fevereiro de 2012
Mau uso do TryParse...
public DateTime ObterDataControle()
{
DateTime dt = DateTime.MinValue;
if (File.Exists(_caminhoArquivo))
{
StreamReader sr = new StreamReader(_caminhoArquivo);
try
{
string dateString = sr.ReadLine();
if (DateTime.TryParse(dateString, out dt))
dt = Convert.ToDateTime(dateString);
}
finally
{
sr.Close();
}
}
return dt;
}segunda-feira, 9 de janeiro de 2012
Impressões da 70-512
No final do ano passado (alias, feliz 2012 para todos!) eu fiz a prova de certificação da Microsoft 70-512, de administração do TFS. Felizmente ocorreu tudo ok, e eu passei! E agora vou colocar neste espaço aqui alguns comentários e impressões que eu tive dela, para servir de dica para que irá fazê-la em breve.
Bom, em primeiro lugar, eu vou passar como eu me preparei para a prova:
- Antes mesmo de pensar em fazer essa prova, eu tive oportunidade de assistir um treinamento de ALM com meu amigo Victor Cavalcante. Boa parte do conteúdo deste treinamento caiu na prova. Se tiverem oportunidade, procurem algum treinamento com pessoal capacitado como ele.
- Já quando eu estava com a idéia de fazer a prova (meta da empresa), eu encontrei o livro Professional Team Foundation Server 2010. É um bom livro, apesar que eu achei que algumas partes deixaram a desejar, como a parte de Lab Management e configuração de servidores Proxy do TFS. Mas a visão geral da parte de instalação e configuração e uso de branchs compensa. No final, o livro é um bom material para estudo dessa prova.
- Encontrei também alguns links com material online para estudo, como este aqui http://dfaoliveira.wordpress.com/2010/10/08/exame-70-512/ do Daniel Oliveira. Tem bastante links interessantes.
- Baixei a máquina virtual que a Microsoft disponibiliza para testes, pois com ela tive um ambiente já pronto para brincar um pouco: http://www.microsoft.com/download/en/details.aspx?id=22267.
Basicamente a estratégia de estudo que eu segui foi essa. Agora vou comentar um pouco da prova.
A 70-512 é uma prova bem conceitual, você não precisa saber detalhes da administração para fazê-la. Por exemplo, lembro de uma questão onde era dado um cenário onde se devia tirar um team project de uma team project collection e passar para outro. A solução neste caso seria fazer um split (http://msdn.microsoft.com/en-us/library/dd936158.aspx), e bastava saber esse conceito para ter a resposta. Não precisava saber dos detalhes que tem nesse último link que passei, apenas uma visão geral.
Outra coisa que pega bastante a parte conceitual da coisa são as questões que envolvem instalação e configuração. São várias onde é dado um cenário (a pessoa instalando um TFS em várias máquinas, fazendo upgrade, etc) e é questionado quais opções de configuração escolher. Isso foi um assunto que eu bloguei alguns dias antes da prova (http://www.galorebr.blogspot.com/2011/12/resumo-tipos-de-configuracao-do-tfs.html). Pré-requisitos de servidores, como o uso do WSS 3.0 para integração mínima com Sharepoint, também são cobrados.
Caiu uma questão de restauração de desastres relacioada ao Reporting Services, mais especificamente sobre a necessidade de fazermos um backup da symmetric key. Mas em geral as questões ficam com foco mesmo no TFS, não na configuração da infra necessária.
Outro tipo de questão que cai bastante é relacionado ao uso de branch e merge. Geralmente a questão vai envolver a escolha da alternativa que mostra como disponibilizar certas alterações de código feita em uma branch em uma outra branch, sem o uso de um baseless merge (http://msdn.microsoft.com/en-us/library/bb668976.aspx). Basicamente escolha a questão que explique um caminho de “merges” desde a branch de origem até a de destino.
Sugiro também dar uma “decorada” nas opções disponíveis quando enfileiramos um build, por exemplo para ativar a execução de testes, impacto dos testes ou Code Analysis. Caem também alguns comandos (lembro de uma questão relacionada ao “tf /lock”). Ah, também foram cobrados conceitos de shelveset e cloak, sendo que a questão dá um cenário por exemplo desenvolvedor querendo que alterações ainda não finalizadas ficassem no backup do TFS ou evitar que arquivos desnecessários sejam baixados na máquina durante o processo de get latest version.
Por enquanto ficam essas dicas, mas se eu lembrar de mais coisas eu atualizo este post.
Boa sorte para todos que forem fazer essa prova.
[]’s
domingo, 25 de dezembro de 2011
Resumo: tipos de configuração do TFS 2010
O TFS possui os processos de instalação e configuração bem segregados. No primeiro processo, é possível escolher o que será instalado na máquina. No segundo, podemos escolher quais componentes habilitar, quais instâncias do SQL utilizar, etc. Hoje vamos falar de configuração, e abaixo estão os tipos disponíveis para configuração do TFS.
- Basic – Permite configurar o TFS para usar o controle de versões, work-items e a parte de testes e lab management. No entanto, não permite a integração com Sharepoint e Reporting Services (cenário, por exemplo, quando instalamos o TFS num sistema operacional cliente, como o Windows 7).
- Standard – É a configuração que deve ser escolhida ao se instalar o TFS em uma única máquina, mas funciona apenas com Windows Sharepoint Services 3.0. Não permite a escolha de um SQL Server remoto.
- Advanced – Agora sim, permite usar SQL Server, Sharepoint e Reporting Services remotos. É nela que temos a maior flexibilidade de configuração.
- Application-Tier Only – É usada na configuração de ambientes com alta disponibilidade (adicionando servidores em um Network Load Balance, por exemplo). Também pode ser usada em cenários em que se move a camada de aplicação do TFS para outra máquina ou em situações de recuperação de desastres.
- Upgrade – Como o nome diz, deve ser utilizado em situações de upgrade do TFS 2005 ou 2008.
- Configure Team Foundation Server Proxy – Para quando instalamos o TFS Proxy Server.
- Configure Team Foundation Build Service – Para quando a máquina onde instalamos o TFS servirá como Build Agent ou Controller.
- Configure Extensions for SharePoint Products – Configura extensões no Sharepoint para que o TFS possa utilizar (em situações de Sharepoint remoto ou web farm).
O quadro abaixo dá um resumo por cima das 4 primeiras configurações, mostrando suas principais diferenças.
| Basic | Standard | Advance | Application-Tier only | |
| Instâncias | Multiple-server | Single-server | Multiple-server | Multiple-server |
| Reporting | Não | Sim | Sim | Sim |
| Sharepoint Integration | Não | Sim | Sim | Sim |
| SQL em outra máquina | Sim | Não | Sim | Sim |
Se pensarmos num ambiente corporativo com muito uso do TFS (servidores segregados, ou seja, dados, aplicação, Sharepoint e Reporting Services tudo sepadados), basicamente iremos utilizar a configuração Advanced para configurar o primeiro servidor de aplicação (considerando escolher e configurar o SQL Server, Sharepoint, etc.) e depois a configuração Application-Tier only, para configurar os diversos nós do load balance.
Por hoje é só.
[]’s