Neste segundo dia, mais palestras. Algumas muito boas, outras nem tanto. Abaixo segue os comentários sobre elas. Quanto a feira, andei um pouco por ela e ate o momento nao vi nada que valha a pena comentar, mas isso e mais uma coisa minha de nao gostar muito de feiras.
1. Ecossistema do desenvolvimento agil
Metodologias Ageis
– economia
– resultado
– eficiência
– “ suficiência” evitar desperdício
Contexto: a “historia” de cada um
metodo agil -> compartilhamento do contexto
esforço para unir o esforços
sem hierarquia
lembrar da necessidade de pedir ajuda
Software
-Intangivel
-criar ambiente favoravel a mudança
Feedback – o cliente observa e interage com o software; suas açoes sao observadas.
NO PRINCIPIO TEMOS O CLIENTE E SEUS DESEJOS.
tempo x esforço
Estimativa
Tarefas visuais
Lembretes e tarefas]
Reuniao diaria (em pe)
apos o fim do sprint, o fim da iteração.
Test-drive (pelo cliente)
Programação em par
-o conhecimento ocorre pela iteraçao entre sujeiro e objeto.
Modelagem visual
Baby Steps
-nao assumir que saiba alguma coisa – conferir tudo.
Nao se repita
Controle de versao
Testes automatizados
Integraçao
– economia
– resultado
– eficiência
– “ suficiência” evitar desperdício
Contexto: a “historia” de cada um
metodo agil -> compartilhamento do contexto
esforço para unir o esforços
sem hierarquia
lembrar da necessidade de pedir ajuda
Software
-Intangivel
-criar ambiente favoravel a mudança
Feedback – o cliente observa e interage com o software; suas açoes sao observadas.
NO PRINCIPIO TEMOS O CLIENTE E SEUS DESEJOS.
tempo x esforço
Estimativa
Tarefas visuais
Lembretes e tarefas]
Reuniao diaria (em pe)
apos o fim do sprint, o fim da iteração.
Test-drive (pelo cliente)
Programação em par
-o conhecimento ocorre pela iteraçao entre sujeiro e objeto.
Modelagem visual
Baby Steps
-nao assumir que saiba alguma coisa – conferir tudo.
Nao se repita
Controle de versao
Testes automatizados
Integraçao
Uso do PostgreSql para soluçoes corporativas
caso de uso: caixa economica federal
por onde conmeçar a usar postgresql:
-tecnicamente, em qualquer projeto que necessite de um bd
mudança tecnologica:
visual studio -> sql server
netbeans (Java) -> postgresql
adaptaçoes:
-motivaçao da equipe
-aquisiçao de conhecimento (treinamentos, manuais, livros – alto custo)
-prospecçao de ferramentas
-estrategia de migraçao
limites do postgresql:
tam max bd ilimitado
tam max tabela 32TB
soluçoes com postgresql:
-SalaSegura
-Sistema de conta unica
-Sistema de autenticaçao biometrica
liçoes aprendidas na migraçao:
-padrao de nomenclatura dos objetos
–nomes em miniatura
-organizaçao dos databases
–integridade referencial entre multiplas databases
–datrabases departamentais – schemas
-campos tipo auto-incremento
–utilizaçao do objeto tipo sequence (nextval)
-string de conexao (tamanho)
–configurar varios aspectos
-strings sql
–algumas diferenças na conatruçao
-processo de backupo
–agendamento: script linux
-processo de limpeza e reindexaçao
–limpeza dos registros: VACUUM
-processo de tuning
–aprenda bem antes de realizar
por onde conmeçar a usar postgresql:
-tecnicamente, em qualquer projeto que necessite de um bd
mudança tecnologica:
visual studio -> sql server
netbeans (Java) -> postgresql
adaptaçoes:
-motivaçao da equipe
-aquisiçao de conhecimento (treinamentos, manuais, livros – alto custo)
-prospecçao de ferramentas
-estrategia de migraçao
limites do postgresql:
tam max bd ilimitado
tam max tabela 32TB
soluçoes com postgresql:
-SalaSegura
-Sistema de conta unica
-Sistema de autenticaçao biometrica
liçoes aprendidas na migraçao:
-padrao de nomenclatura dos objetos
–nomes em miniatura
-organizaçao dos databases
–integridade referencial entre multiplas databases
–datrabases departamentais – schemas
-campos tipo auto-incremento
–utilizaçao do objeto tipo sequence (nextval)
-string de conexao (tamanho)
–configurar varios aspectos
-strings sql
–algumas diferenças na conatruçao
-processo de backupo
–agendamento: script linux
-processo de limpeza e reindexaçao
–limpeza dos registros: VACUUM
-processo de tuning
–aprenda bem antes de realizar
Agile e Open Source – A experiência do framework demoiselle
manifesto agile:
estamos descobrindo melhores formas de desenvolver software
interaçoes individuais
software funcionando
colaboraçao com o cliente
resposta as mudanças
demoiselle – framework open-source para desenvolvimento java/web
-framework – parte principal
-wizard
-sample
-component
livro: “scum e xp direto das trincheiras”
livro “innovation happens elsewhere” – hybryd open source
estamos descobrindo melhores formas de desenvolver software
interaçoes individuais
software funcionando
colaboraçao com o cliente
resposta as mudanças
demoiselle – framework open-source para desenvolvimento java/web
-framework – parte principal
-wizard
-sample
-component
livro: “scum e xp direto das trincheiras”
livro “innovation happens elsewhere” – hybryd open source
GNU LibDWG – libertando arquivos CAD
area emergente (projetos livres)
-brl-cad (exerc americano)
-grass (osgeo foundation)
-opencascade (plataforma cad)
-freecad (python)
-archimedes (usp)
mercado proprietario:
-autocad
DWG
formato nativo do utocad, criado na decada de 70
dados armazenados no formto binario
maioria dos arquivos cad estao nesse formato
sem suporte via software livre
libDWG
libDWG derivada da libreDWG (em esperanto)
especificaçao open design alliance
fsf high priority projects list
pacote do projeto gnu
suporte r13, r14, r2000, r2004, r2007, r2010
escrita em C (e muitas macros)
como participar
-escrevendo codigo
–suporte a 3d (acis)
–leitura r2007 e r2010
–escrita dwg
–bindings para outras linguagens (python)
–suite de teste automatizada
–google summer of code 2011
-testando
–provedo arquivos dwg
–executando testes
-promovendo
–divulgue
–use em software livre
-brl-cad (exerc americano)
-grass (osgeo foundation)
-opencascade (plataforma cad)
-freecad (python)
-archimedes (usp)
mercado proprietario:
-autocad
DWG
formato nativo do utocad, criado na decada de 70
dados armazenados no formto binario
maioria dos arquivos cad estao nesse formato
sem suporte via software livre
libDWG
libDWG derivada da libreDWG (em esperanto)
especificaçao open design alliance
fsf high priority projects list
pacote do projeto gnu
suporte r13, r14, r2000, r2004, r2007, r2010
escrita em C (e muitas macros)
como participar
-escrevendo codigo
–suporte a 3d (acis)
–leitura r2007 e r2010
–escrita dwg
–bindings para outras linguagens (python)
–suite de teste automatizada
–google summer of code 2011
-testando
–provedo arquivos dwg
–executando testes
-promovendo
–divulgue
–use em software livre
Empreendedorismo – como começar sua startup
começa com uma ideia
-mas como gerar uma ideia
-pense: o que mais te incomoda em algo
-o que mais gosta de fazer
-tem algo fora do pais
-voce consegue fazer melhor
-ouça a reclamaçao de outras pessoas
avaliando sua ideia
os 3 M’s
-market demand – demanda do mercado
-market size e structure – tamanho e estrutura do mercado – tem clientes suficientes; qual o tamanho da concorrencia.
-margin analysis – consegue produzir tendo lucro
alguns produtos exigem uma infra-estrutura
como voce vai ganhar dinheiro com seu produto – ads fail
tenha um plano b para ganhar dinheiro
o cliente nem sempre sabe o que quer, prototipo, demonstraçao
pesquise, mas saiba escolher sua amostra
se voce procurar por investidores…
procure emprendedores, entusiastas, socios, loucos…
vai achar gente pra construir sua ideia.
procure investidores, para descobri…
investidor nao investe em ideia.
dedicaçao
-combine tempo
-ajuste o tempo para algo que voce pode cumprir
-expectativas nao cumpridas frustam os envolvidos
-nao planeje em excesso
-se precisar melhore a equipe
prototipo
-nao precisa ser o software. precisa ser mais que a ideia.
-se precisar mude ou molde a ideia
-construa e re-construa o prototipo
-tenha um objetivo claro. quando o prototipo esta pronto.
-na ocorrencia de uma nova ideia, mantenha o foco.
procure investidores e parceiros
-agora voce nao tem apenas uma ideia
-o nao voce ja tem: aumento de salario
-o combinado antes nao sai caro
-muita gente quer fazer parceria, voce so precisa mostrar potencial no seu negocio e ter moeda de troca.
sem medo de ganhar dinheiro
-cubra os custos de venda
-alguem sempre praticara um preço mais barato que o seu.
-mas como gerar uma ideia
-pense: o que mais te incomoda em algo
-o que mais gosta de fazer
-tem algo fora do pais
-voce consegue fazer melhor
-ouça a reclamaçao de outras pessoas
avaliando sua ideia
os 3 M’s
-market demand – demanda do mercado
-market size e structure – tamanho e estrutura do mercado – tem clientes suficientes; qual o tamanho da concorrencia.
-margin analysis – consegue produzir tendo lucro
alguns produtos exigem uma infra-estrutura
como voce vai ganhar dinheiro com seu produto – ads fail
tenha um plano b para ganhar dinheiro
o cliente nem sempre sabe o que quer, prototipo, demonstraçao
pesquise, mas saiba escolher sua amostra
se voce procurar por investidores…
procure emprendedores, entusiastas, socios, loucos…
vai achar gente pra construir sua ideia.
procure investidores, para descobri…
investidor nao investe em ideia.
dedicaçao
-combine tempo
-ajuste o tempo para algo que voce pode cumprir
-expectativas nao cumpridas frustam os envolvidos
-nao planeje em excesso
-se precisar melhore a equipe
prototipo
-nao precisa ser o software. precisa ser mais que a ideia.
-se precisar mude ou molde a ideia
-construa e re-construa o prototipo
-tenha um objetivo claro. quando o prototipo esta pronto.
-na ocorrencia de uma nova ideia, mantenha o foco.
procure investidores e parceiros
-agora voce nao tem apenas uma ideia
-o nao voce ja tem: aumento de salario
-o combinado antes nao sai caro
-muita gente quer fazer parceria, voce so precisa mostrar potencial no seu negocio e ter moeda de troca.
sem medo de ganhar dinheiro
-cubra os custos de venda
-alguem sempre praticara um preço mais barato que o seu.
QTestLib: criando unit tests inteligentes para projetos baseados em Qt
introduçao
o que eh o qt – framework multiplataforma para desenvolvimento de aplicaçoes
o que sao unit tests:
-caracteristicas
–testes de blocos individuais e independentes do codigo
–validaçao do comportamento esperado
–mensura a qualidade do codigo esperado
–testes podem ser automatizados
-beneficios
–simplifica a integraçao do codigo
–evita bugs de regressao
–detecçao rapida de bottenecks (partes do codigo comproblema de perfomance\0
ferramentas de teste do qt
framework QtTestLib
namespace QTest
–metodos publicos para benchmark, data driven testing, simulaçao de eventos, sleep/wait do loop de eventos, facitadores de output
–macros
–tipos: keyaction, mouseaction, testfailmode e outros
–classes: qsignalspy e qtoucheventsequence
escrevendo unit tests
o que e necessario:
-herdar de QObject
-implementar cada teste em separado como private slots
-4 slots especiais tratados como nao tesre:
initTestCase()
cleanupTestCase()
init()
cleanup()
o que eh o qt – framework multiplataforma para desenvolvimento de aplicaçoes
o que sao unit tests:
-caracteristicas
–testes de blocos individuais e independentes do codigo
–validaçao do comportamento esperado
–mensura a qualidade do codigo esperado
–testes podem ser automatizados
-beneficios
–simplifica a integraçao do codigo
–evita bugs de regressao
–detecçao rapida de bottenecks (partes do codigo comproblema de perfomance\0
ferramentas de teste do qt
framework QtTestLib
namespace QTest
–metodos publicos para benchmark, data driven testing, simulaçao de eventos, sleep/wait do loop de eventos, facitadores de output
–macros
–tipos: keyaction, mouseaction, testfailmode e outros
–classes: qsignalspy e qtoucheventsequence
escrevendo unit tests
o que e necessario:
-herdar de QObject
-implementar cada teste em separado como private slots
-4 slots especiais tratados como nao tesre:
initTestCase()
cleanupTestCase()
init()
cleanup()
Como escrever seu primeiro patch para o kernel
por que:
-dificil
-documentaçao
-muitas mudanças
-pensamento “you arte stupi if you can not figure it out”
o que aprenderera:
-baixar codigo
-navegar pelo codigo
-escrever um patch
-enviar o patch
desenvolvimento centralizado no linus torvalds
comunicaçao pelo Linux kernel mailing list (LKML)
ou em lista de subsistemas (netdev, powerpc, wireless, etc)
versao estavel (-stable)
desenvolvimento completamente dependente
git.kernel.org – contem todas as arvores de desenvolvimento do kernel
a arvore do linux e a oficial
cada subsistema tem uma ou mais arvores
cada arvore tem um mantenedor
mantenedores enviam o codigo para o mainline
linux-2.6/Documentation/CodingStyle
utilizar tab para identar
80 colunas
menos de 3 niveis de identaçao
chaves na mesma linha para if, while, etc
chavres na linha abaixo para funçoes
utilize i aoa inves de loop.counter
utilize count.active.users() ao inves de cntusr()
nao misture maisculas e minusculas
faça funçoes pequenas
use GoTo
comente e utilize o estilo kernel-doc
sempre use o checkpatch.pl
instalar git
instalar compilador
git clone <arvore>
instalar cscope
–apt-get install cscope
–make cscope
-dificil
-documentaçao
-muitas mudanças
-pensamento “you arte stupi if you can not figure it out”
o que aprenderera:
-baixar codigo
-navegar pelo codigo
-escrever um patch
-enviar o patch
desenvolvimento centralizado no linus torvalds
comunicaçao pelo Linux kernel mailing list (LKML)
ou em lista de subsistemas (netdev, powerpc, wireless, etc)
versao estavel (-stable)
desenvolvimento completamente dependente
git.kernel.org – contem todas as arvores de desenvolvimento do kernel
a arvore do linux e a oficial
cada subsistema tem uma ou mais arvores
cada arvore tem um mantenedor
mantenedores enviam o codigo para o mainline
linux-2.6/Documentation/CodingStyle
utilizar tab para identar
80 colunas
menos de 3 niveis de identaçao
chaves na mesma linha para if, while, etc
chavres na linha abaixo para funçoes
utilize i aoa inves de loop.counter
utilize count.active.users() ao inves de cntusr()
nao misture maisculas e minusculas
faça funçoes pequenas
use GoTo
comente e utilize o estilo kernel-doc
sempre use o checkpatch.pl
instalar git
instalar compilador
git clone <arvore>
instalar cscope
–apt-get install cscope
–make cscope