# Pós-II Seminário Portabilidade e Performance
Caloni, 2010-12-21 <ccppbr> [up] [copy]O nosso seminário da semana retrasada sobre portabilidade e performance teve um clima mais familiar, lembrando os antigos eventos. O tamanho menor da sala, aliado ao fato dos palestrantes não precisarem usar microfone, como foi da última vez, fez com que houvesse mais interação com o público, com destaque para minha própria palestra, onde tivemos um hiato significativo para falar sobre o desempenho da classe std::string e outros assuntos mais obscuros.
A ordem das palestras também ajudou muito a tecer os conteúdos individuais para algo maior e em comum, que eram os temas do seminário: se com Galuppo tivemos uma pitada do desenvolvimento concorrente, com Fernando conseguimos entender de uma maneira simples e didática como funcionam os recursos de sincronismo entre threads rodando em múltiplos cores, com uma pequena ajuda de um exemplo em C levado ao nível de assembly, onde foi possível acompanhar o que já havíamos aprendido com a palestra do Caloni.
Pra terminar, um apanhado de boas práticas e a experiência de quem já mexeu muito com análise e desempenho no código: Rodrigo Strauss. Além das dicas e do bom humor costumeiros, tivemos uma pequena prévia do que poderemos ter em breve com o tema "C++ com outra linguagens".
Deixarei disponibilizado para download minha transparência, onde infelizmente não estão embutidos o áudio nem o vídeo do momento realmente importante,que foi a interação do grupo durante a apresentação. Se você perdeu, so sorry. Até a próxima!
# Trabalhando em múltiplos ambientes
Caloni, 2010-12-27 [up] [copy]Existem diversas maneiras de se trabalhar com o Bazaar. Eu já havia definido como fazer na máquina de desenvolvedor para modificar o mesmo código-fonte em projetos paralelos, onde basicamente tenho um branch principal conectado no servidor (assim todo commit vai pra lá) e crio branches paralelos e desconectados para fazer quantos commits eu tenho vontade durante o desenvolvimento. Após todas as mudanças e testes básicos, atualizo o branch principal (com mudanças dos meus colegas) e faço o merge com o branch paralelo onde fiz todas as mudanças. Antes de subir com o commit final, ainda realizo um build de teste local, se necessário.
Nos casos em que eu trabalho em casa (ou em outro ambiente), posso fazer basicamente a mesma coisa, só que meu branch paralelo é copiado para outra máquina:
C:\>cd \Src\projeto-principal C:\Src\projeto-principal>bzr get . ..\projeto-principal.TravamentoServico.MeuNotePessoal Branched 950 revision(s).
Geralmente o que faço depois é compactar a pasta gerada (se desejar, use uma senha forte nesse passo), fazer uma cópia para um PenDrive e descompactar na máquina que irei trabalhar.
C:\Src\projeto-principal.TravamentoServico>hack hack hack C:\Src\projeto-principal.TravamentoServico>bzr ci -m "Uma mudancinha inicial" Committing to: C:/Src/projeto-principal.TravamentoServico/ added teste.txt Committed revision 951. C:\Src\projeto-principal.TravamentoServico>hack hack hack C:\Src\projeto-principal.TravamentoServico>bzr ci -m "Vamos ver se funciona" Committing to: C:/Src/projeto-principal.TravamentoServico/ modified teste.txt Committed revision 952. C:\Src\projeto-principal.TravamentoServico>hack hack hack C:\Src\projeto-principal.TravamentoServico>bzr ci -m "Não funcionou. Mais uma vez." Committing to: C:/Src/projeto-principal.TravamentoServico/ modified teste.txt Committed revision 953. C:\Src\projeto-principal.TravamentoServico>hack hack hack C:\Src\projeto-principal.TravamentoServico>bzr ci -m "Desconfio de uma coisa..." Committing to: C:/Src/projeto-principal.TravamentoServico/ modified teste.txt Committed revision 954. C:\Src\projeto-principal.TravamentoServico>hack hack hack C:\Src\projeto-principal.TravamentoServico>bzr ci -m "Corrigido travamento." Committing to: C:/Src/projeto-principal.TravamentoServico/ modified teste.txt Committed revision 955. C:\Src\projeto-principal.TravamentoServico>doc doc doc C:\Src\projeto-principal.TravamentoServico>bzr ci -m "Comentando e documentando solucao." Committing to: C:/Src/projeto-principal.TravamentoServico/ modified teste.txt Committed revision 956.
Terminado o trabalho naquela máquina, geralmente gero um branch novo (para limpar o diretório) e recompacto a solução, copio para o Pendrive, e descompacto na máquina da empresa. O resto do caminho é como se eu tivesse feito as modificações na própria máquina: