Arquivo

Archive for março \27\UTC 2012

Site SEO in House

SEO in House é um site aonde profissionais conhecidos trocam informações e idéias sobre negócios. Eles contam sobre seus projetos, suas experiência dentro das empresas aonde trabalham.

Tem por exemplo Matt Cutts e seus 195 vídeos organizados por categoria para você curtir algumas discussões e ideias.

Você também pode aprender bastante e entrar em brainstorms online sobre respectivo assunto.

Se você não quer ficar pra trás em questão de conhecimento, não deixe de acessar o site.

 

Anúncios
Categorias:Dicas

XML to SQL

26/03/2012 2 comentários

Segue uma dica de como usar XML to SQL.

————————–

declare @xmlIds xml

set @xmlIds = ‘<Xml><Produto Id=”100148166”></Produto><Produto Id=”100148165”></Produto><Produto Id=”100148161”></Produto><Produto Id=”100148162”></Produto><Produto Id=”100148163”></Produto><Produto Id=”100148164”></Produto><Produto Id=”100148156”></Produto><Produto Id=”100148157”></Produto><Produto Id=”100148158”></Produto><Produto Id=”100148160”></Produto></Xml>’

select T.Produto.value(‘@Id’,’int’)  from @xmlIds.nodes(‘/Xml/Produto’) as T(Produto)

————————–

Categorias:Banco de dados

AS DUAS PULGAS (Max Gehringer)

Muitas empresas caíram e caem na armadilha das mudanças drásticas de coisas que não precisam de alteração, apenas aprimoramento. O que lembra a história de duas pulgas.

Duas pulgas estavam conversando e então uma comentou com a Outra:

– Sabe qual é o nosso problema? Nós não voamos, só sabemos saltar. Daí nossa chance de sobrevivência quando somos percebidas pelo cachorro é zero. É por isso que existem muito mais moscas do que pulgas.

E elas contrataram uma mosca como consultora, entraram num programa de reengenharia de vôo e saíram voando. Passado algum tempo, a primeira pulga falou para a outra:

– Quer saber? Voar não é o suficiente, porque ficamos grudadas ao corpo do cachorro e nosso tempo de reação é bem menor do que a velocidade da coçada dele. Temos de aprender a fazer como as abelhas, que sugam o néctar e levantam vôo rapidamente.

E elas contrataram o serviço de consultoria de uma abelha, que lhes ensinou a técnica do chega-suga-voa. Funcionou, mas não resolveu. A primeira pulga explicou por quê:

– Nossa bolsa para armazenar sangue é pequena, por isso temos de ficar muito tempo sugando. Escapar, a gente até escapa, mas não estamos nos alimentando direito. Temos de aprender como os pernilongos fazem para se alimentar com aquela rapidez.

E um pernilongo lhes prestou uma consultoria para incrementar o tamanho do abdômen. Resolvido, mas por poucos minutos. Como tinham ficado maiores, a aproximação delas era facilmente percebida pelo cachorro, e elas eram espantadas antes mesmo de pousar. Foi aí que encontraram uma saltitante pulguinha:

– Ué, vocês estão enormes! Fizeram plástica?

– Não, reengenharia. Agora somos pulgas adaptadas aos desafios do século XXI. Voamos, picamos e podemos armazenar mais alimento.

– E por que é que estão com cara de famintas?

– Isso é temporário. Já estamos fazendo consultoria com um morcego, que vai nos ensinar a técnica do radar. E você?

– Ah, eu vou bem, obrigada. Forte e sadia.

Era verdade. A pulguinha estava viçosa e bem alimentada. Mas as pulgonas não quiseram dar a pata a torcer:

– Mas você não está preocupada com o futuro? Não pensou em uma reengenharia?

– Quem disse que não? Contratei uma lesma como consultora.

– O que as lesmas têm a ver com pulgas?

– Tudo. Eu tinha o mesmo problema que vocês duas. Mas, em vez de dizer para a lesma o que eu queria, deixei que ela avaliasse a situação e me sugerisse a melhor solução. E ela passou três dias ali, quietinha, só observando o cachorro e então ela me deu o diagnóstico.

– E o que a lesma sugeriu fazer?

– “Não mude nada. Apenas sente no cocuruto do cachorro. É o único lugar que a pata dele não alcança”.

MORAL: Você não precisa de uma reengenharia radical para ser mais eficiente. Muitas vezes, a GRANDE MUDANÇA é uma simples questão de reposicionamento.

(Max Gehringer)

Pivotal Tracker

22/03/2012 1 comentário

A algum tempo escrevi sobre o scrummy.com. Atualmente aqui na empresa estamos utilizando o Pivotal Tracker e achei muito mais interessante. Nele é possível controlar o projeto seguindo a metodologia Scrum e modelos ágeis.

Assim como na outra ferramenta, os projetos públicos podem utilizar o Pivotal Tracker sem qualquer custo. Já para projetos privados, é necessário pagar uma mensalidade dependendo da quantidade de usuários.

Para um entendimento inicial mais interessante, existe um “Getting Stared” no link https://www.pivotaltracker.com/help/gettingstarted que é muito bom. Dá uma boa noção sobre a abrangência da ferramenta.

Os principais pontos positivos na minha visão são:

  • Controle de usuários aos projetos
  • Configuração do projeto
    • Time Zone
    • Tamanho da iteração (em semanas)
    • Ponto de escala (power, linear, Fibonacci ou Custom). Em alguns projetos utilizamos o Custom e colocamos em horas.
    • Configuração inicial da velocidade, ou seja, quantidade de pontos da escala possíveis de entregar em cada iteração (Sprint)
    • Estratégia de velocidade: A cada “n” iterações o software analisa a sua média de entregas e recalcula sua velocidade
    • Projeto
      • Criação de Histórias (Feature, Bug, Chore, Release)
      • Pontuação
      • State (Started, Finished, Delivered, Accepted, Rejected)
      • Requester (quem criou a histíoria)
      • Owner (responsável por entregar a tarefa)
      • Labels (bom para filtrar grupo de histórias.
      • Criação de Tasks
      • Histórico de alterações da história
      • Anexar arquivos
      • Workflow de tarefas
      • Configuração de envio de e-mail sempre que alguma tarefa é alterada
      • Icebox track
      • Report de progresso/histórico.

O que pode melhorar:

  • Controle de impedimentos: hoje não existe uma fila para impedimentos. A melhor forma de contornar isso é utilizando um label, ou colocando na track “icebox”.
  • Normalmente no Scrum existe um PBI (Story) que contém várias tarefas. O tempo é calculado em cima de cada tarefa. O Pivotal Tracker trabalha diferente, aonde existe o peso da “story” e as tasks apenas para controle do que deve ser feito.

Existe a versão para IPhone e IPad (https://www.pivotaltracker.com/tracker-for-iphone-and-ipad)

Como conclusão, é uma ferramenta muito boa e está melhorando nosso controle de projetos e comunicação com o cliente.

Categorias:Ferramentas, Scrum

GitHub

Comecei a poucas semanas a trabalhar com o https://github.com/, repositório de arquivos que tem como principal objetivo trabalhar desconectado. Apenas como conhecimento, o GitHub surgiu junto com desenvolvimento de produtos OpenSource (principalmente o Linux). Atualmente é utilizado para compartilhar projetos de código aberto. Se você quiser criar um projeto private, precisa pagar uma mensalidade.

Para quem a muitos anos trabalha com VSTS, o conceito é bem parecido, mas tem suas peculiaridades. Tem algumas dicas aqui: http://help.github.com/send-pull-requests/

Abaixo segue um link de como instalar plug-ins integrados com o VSTS e Windows.

http://dbanck.de/2009/10/08/github-windows-and-tortoisegit-part-1-installing-pulling/

Uma outra coisa que sofremos um pouco é com o conflito de arquivos. Abaixo tem um vídeo de como fazer o merge utilizando o TortoiseGit.

 

Agora é só dar uma lida na documentação do GitHub e compartilhar seus projeto. Você também pode se conectar a um projeto público e ajudar no desenvolvimento. Muito show.

 

Categorias:Ferramentas

Executando o mesmo script em vários bancos utilizando “sp_msforeachdb”

05/03/2012 1 comentário

Hoje tive mais um desafio a ser ultrapassado.
Trabalho em um projeto modelo SaaS aonde cada cliente tem seu próprio banco de dados. Estamos alterando um módulo que gera impacto no banco de dados e precisamos replicar o script para todos os clentes (cada cliente tem um banco de dados SQL separado).
A primeira idéia foi pegar todas as strings de conexão e montar um console que fizesse o trabalho. Pesquisando outras soluções, encontramos  “sp_msforeachdb“. Ela serve exatamente para o que preciso.
No meu caso, estou mudando o módulo de Login da aplicação e preciso buscar todos os usuários para inserí-los no novo módulo.
Segue o script:

create table #Administradores(
	[IdAdministrador] [int] ,
	[IdParceiro] [int] ,
	[Nome] [varchar](50) ,
	[Email] [varchar](250) ,
	[Login] [varchar](50) ,
	[Senha] [varchar](50) ,
	[FlagAtiva] [bit] ,
	[IdLojaFisica] [int],
	[dbName] [varchar](100)
)

EXECUTE sp_msforeachdb 'USE ? ;
IF EXISTS (SELECT 1 
    FROM INFORMATION_SCHEMA.TABLES 
    WHERE TABLE_TYPE="BASE TABLE" 
    AND TABLE_NAME="Administrador")
insert into tempdb.#Administradores
SELECT [IdAdministrador]
      ,[IdParceiro]
      ,[Nome]
      ,[Email]
      ,[Login]
      ,[Senha]
      ,[FlagAtiva]
      ,[IdLojaFisica]
      ,DB_NAME()
  FROM [Administrador]'

select * from #Administradores 

drop table #Administradores

Esse script já retorna uma única tabela com todos os usuários, como se fosse uma tabela única. Basta criar uma procedure com o script acima e fazer o console utilizar a procedure.

Alguns links que ajudaram:

 

 

Categorias:Banco de dados