Finalmente conseguir resolver a porcaria de erro que não deixava rodar um simples window.open!
foi tão foda de achar a solução que resolvi compartilhar.
Download/run the appropriate, newly-updated script(s) by IE MVP Kai Schaetzl:
http://iefaq.info/index.php?action=artikel&cat=42&id=133&artlang=en
Tip: The file named ie8-rereg.all.zip contains all three (3) scripts below.
If you have a Win7 32-bit computer:
• Close all open applications (i.e., anything with an icon on the taskbar) then Run the script named ie8-rereg.cmd & reboot.
If you have a Win7 64-bit computer:
• Close all open applications (i.e., anything with an icon on the taskbar) then Run the script named ie8-rereg.32on64.cmd to correct the problem in IE8 32-bit & reboot.
• Close all open applications (i.e., anything with an icon on the taskbar) then Run the script named ie8-rereg.64on64.cmd to correct the problem in IE8 64-bit & reboot.
NB: If the above is your fix, either a Norton or McAfee application is installed or one had been installed. YMMV.
Fonte: social.answers.microsoft.com
terça-feira, fevereiro 08, 2011
segunda-feira, dezembro 06, 2010
SQL Convertendo Colunas em Linhas
Pelo menos uma vez na vida você que trabalha com dados já passou pro este problema, uma tabela com 3 colunas normalizadas e outras 25 que deveriam se transformar em uma unica coluna.
A mágica se chama UNPIVOT, saboreem:
SELECT
[LOTE],
[PRODUTO],
[CAIXA],
NU_TITULO
FROM
(
SELECT
[LOTE],
[PRODUTO],
[CAIXA],
TITULO1, TITULO2, TITULO3, TITULO4, TITULO5,
TITULO6, TITULO7, TITULO8, TITULO9, TITULO10,
TITULO11, TITULO12, TITULO13, TITULO14, TITULO15,
TITULO16, TITULO17, TITULO18, TITULO19, TITULO20,
TITULO21, TITULO22, TITULO23, TITULO24, TITULO25
FROM
[TAB_ENTRADA_lotes]
) p
UNPIVOT
(NU_TITULO FOR Titulo IN
( TITULO1, TITULO2, TITULO3, TITULO4, TITULO5,
TITULO6, TITULO7, TITULO8, TITULO9, TITULO10,
TITULO11, TITULO12, TITULO13, TITULO14, TITULO15,
TITULO16, TITULO17, TITULO18, TITULO19, TITULO20,
TITULO21, TITULO22, TITULO23, TITULO24, TITULO25)
)AS unpvt;
A mágica se chama UNPIVOT, saboreem:
SELECT
[LOTE],
[PRODUTO],
[CAIXA],
NU_TITULO
FROM
(
SELECT
[LOTE],
[PRODUTO],
[CAIXA],
TITULO1, TITULO2, TITULO3, TITULO4, TITULO5,
TITULO6, TITULO7, TITULO8, TITULO9, TITULO10,
TITULO11, TITULO12, TITULO13, TITULO14, TITULO15,
TITULO16, TITULO17, TITULO18, TITULO19, TITULO20,
TITULO21, TITULO22, TITULO23, TITULO24, TITULO25
FROM
[TAB_ENTRADA_lotes]
) p
UNPIVOT
(NU_TITULO FOR Titulo IN
( TITULO1, TITULO2, TITULO3, TITULO4, TITULO5,
TITULO6, TITULO7, TITULO8, TITULO9, TITULO10,
TITULO11, TITULO12, TITULO13, TITULO14, TITULO15,
TITULO16, TITULO17, TITULO18, TITULO19, TITULO20,
TITULO21, TITULO22, TITULO23, TITULO24, TITULO25)
)AS unpvt;
sábado, novembro 20, 2010
nopCommerce com módulo PagSeguro e Correios
Módulo de pagamento PagSeguro UOL para nopCommerce e
Módulo Correios para nopCommerce.
Após publicar a primeira loja a WikiCode se deparou com a necessidade de fazer as cobranças através de cartão de crédito e ou boleto bancário e o cálculo do frete utilizando o site dos Correios. Não foi surpresa não encontrar um módulo de cobrança que utilizasse uma empresa brasileira, como o PagSeguro da UOL, pois a ferramenta tem diversos colaboradores e a maioria é dos EUA.
Uma solução foi desenvolvida e está a venda na Wikicode.
Quem estiver interessado no módulo enviar e-mail para nopcommerce@wikicode.com.br. O mesmo pode ser acessado no site de exemplo publicado no endereço http://loja.wikicode.com.br.
Módulo Correios para nopCommerce.
Após publicar a primeira loja a WikiCode se deparou com a necessidade de fazer as cobranças através de cartão de crédito e ou boleto bancário e o cálculo do frete utilizando o site dos Correios. Não foi surpresa não encontrar um módulo de cobrança que utilizasse uma empresa brasileira, como o PagSeguro da UOL, pois a ferramenta tem diversos colaboradores e a maioria é dos EUA.
Uma solução foi desenvolvida e está a venda na Wikicode.
Quem estiver interessado no módulo enviar e-mail para nopcommerce@wikicode.com.br. O mesmo pode ser acessado no site de exemplo publicado no endereço http://loja.wikicode.com.br.
domingo, outubro 10, 2010
Lean Thinking
O termo lean foi cunhado ao final da década de 80 em um projeto de pesquisa do Massachusetts Institute of Technology (MIT) sobre a indústria automobilística mundial.
A pesquisa revelou que a Toyota havia desenvolvido um novo e superior paradigma de gestão nas principais dimensões dos negócios (manufatura, desenvolvimento de produtos e relacionamento com os clientes e fornecedores).
Naquela época, a montadora japonesa não estava nem entre as dez maiores do mundo. Em 2009, a Toyota tornou-se a maior em volume de vendas, acumulando vitória após vitória ao longo destas décadas, mostrando as vantagens e benefícios do sistema que desenvolveu. Não se trata de um conceito exclusivo da Toyota, podendo ser aplicado por empresas de qualquer negócio e em qualquer país ou região. Deve ser visto como um sistema de gestão para toda a empresa.
Lean é uma estratégia de negócios para aumentar a satisfação dos clientes através da melhor utilização dos recursos.
A Gestão Lean procura fornecer consistentemente valor aos clientes com os custos mais baixos (PROPÓSITO) através da identificação de melhoria dos fluxos de valor primários e de suporte (PROCESSOS) por meio do envolvimento das pessoas qualificadas, motivadas e com iniciativa (PESSOAS).
O foco da implementação deve estar nas reais necessidades dos negócios e não na simples aplicação das ferramentas lean.
As práticas envolvem a criação de fluxos contínuos e sistemas puxados baseados na demanda real dos clientes, a análise e melhoria do fluxo de valor das plantas e da cadeia completa, desde as matérias-primas até os produtos acabados, e o desenvolvimento de produtos que efetivamente sejam soluções do ponto de vista do cliente.
A adoção dessa filosofia tem trazido resultados extraordinários para as empresas que a praticam, ainda que poucas empresas tenham conseguido replicar totalmente o sucesso e a eficiência operacional alcançados pela Toyota. Originalmente concebidas como práticas de manufatura, tem sido gradualmente disseminadas em todas as áreas da empresa e também para empresas dos mais diferentes tipos e setores, tornando-se efetivamente uma filosofia e uma cultura empresarial.
Os resultados obtidos geralmente implicam aumento da capacidade de oferecer os produtos que os clientes querem, na hora que eles precisam, nos preços que estão dispostos a pagar, com custos menores, qualidade superior, "lead times" mais curtos, garantindo assim maior rentabilidade para negócio.
fonte:http://www.lean.org.br
quinta-feira, outubro 07, 2010
SQL Server 2008 - Criando os índices necessários
Você sabia que o SQL Server mantem o controle dos índices que ele acha que você deve criar? A "falta de índice" DMVs é uma grande novidade no SQL Server 2005, que (na minha opinião) parecem ter sido pouco utilizado até agora. Se você quiser ver se esse recurso e poupá-lo do tédio de uma tarde de identificação baixo desempenho de consultas, tudo que você tem a fazer é :
SELECT
migs.avg_total_user_cost * (migs.avg_user_impact / 100.0) * (migs.user_seeks + migs.user_scans) AS improvement_measure,
'CREATE INDEX [missing_index_' + CONVERT (varchar, mig.index_group_handle) + '_' + CONVERT (varchar, mid.index_handle)
+ '_' + LEFT (PARSENAME(mid.statement, 1), 32) + ']'
+ ' ON ' + mid.statement
+ ' (' + ISNULL (mid.equality_columns,'')
+ CASE WHEN mid.equality_columns IS NOT NULL AND mid.inequality_columns IS NOT NULL THEN ',' ELSE '' END
+ ISNULL (mid.inequality_columns, '')
+ ')'
+ ISNULL (' INCLUDE (' + mid.included_columns + ')', '') AS create_index_statement,
migs.*, mid.database_id, mid.[object_id]
FROM sys.dm_db_missing_index_groups mig
INNER JOIN sys.dm_db_missing_index_group_stats migs ON migs.group_handle = mig.index_group_handle
INNER JOIN sys.dm_db_missing_index_details mid ON mig.index_handle = mid.index_handle
WHERE migs.avg_total_user_cost * (migs.avg_user_impact / 100.0) * (migs.user_seeks + migs.user_scans) > 10
and mid.database_id=33
ORDER BY migs.avg_total_user_cost * migs.avg_user_impact * (migs.user_seeks + migs.user_scans) DESC
SELECT
migs.avg_total_user_cost * (migs.avg_user_impact / 100.0) * (migs.user_seeks + migs.user_scans) AS improvement_measure,
'CREATE INDEX [missing_index_' + CONVERT (varchar, mig.index_group_handle) + '_' + CONVERT (varchar, mid.index_handle)
+ '_' + LEFT (PARSENAME(mid.statement, 1), 32) + ']'
+ ' ON ' + mid.statement
+ ' (' + ISNULL (mid.equality_columns,'')
+ CASE WHEN mid.equality_columns IS NOT NULL AND mid.inequality_columns IS NOT NULL THEN ',' ELSE '' END
+ ISNULL (mid.inequality_columns, '')
+ ')'
+ ISNULL (' INCLUDE (' + mid.included_columns + ')', '') AS create_index_statement,
migs.*, mid.database_id, mid.[object_id]
FROM sys.dm_db_missing_index_groups mig
INNER JOIN sys.dm_db_missing_index_group_stats migs ON migs.group_handle = mig.index_group_handle
INNER JOIN sys.dm_db_missing_index_details mid ON mig.index_handle = mid.index_handle
WHERE migs.avg_total_user_cost * (migs.avg_user_impact / 100.0) * (migs.user_seeks + migs.user_scans) > 10
and mid.database_id=33
ORDER BY migs.avg_total_user_cost * migs.avg_user_impact * (migs.user_seeks + migs.user_scans) DESC
terça-feira, setembro 07, 2010
segunda-feira, agosto 16, 2010
sexta-feira, agosto 13, 2010
sábado, março 20, 2010
Team System - Remover Projeto e Desfazer check-out de outro usuário
Achei duas soluções bacanas pra problemas com o Team System:
Remover projeto do Team Foundation Server
Desfazer check-out de outro usuário no Team Foundation Server
Esse ultimo eu fazia via sql direto no banco do TS!!
Fonte: Blog do Ronie
sábado, março 06, 2010
Último acesso a Tabela
SELECT
OBJECT_NAME(object_id,database_id) As Tabela, Index_Id,
last_user_seek, last_user_scan, last_user_lookup, last_user_update
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID() And OBJECTPROPERTYEX(object_id,'IsUserTable') = 1
ORDER BY Tabela, Index_ID
OBJECT_NAME(object_id,database_id) As Tabela, Index_Id,
last_user_seek, last_user_scan, last_user_lookup, last_user_update
FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID() And OBJECTPROPERTYEX(object_id,'IsUserTable') = 1
ORDER BY Tabela, Index_ID
quinta-feira, março 04, 2010
O que foi alterado depois das 18?
Esse script faz parte da serie "30 scripts que não podem faltar no pendrive de um DBA" que terminou em um monte de webcast que somam muito mais de 100 scripts. Esse eu achei particularmente interessante!
Quem tiver interesse pode conseguir mais alguns no blog do Vitor Fava (http://vfava.sqlserverday.com.br/)
Quem tiver interesse pode conseguir mais alguns no blog do Vitor Fava (http://vfava.sqlserverday.com.br/)
------------------------------------------------------------------------------------------------------------
--
-- Script para checar o que foi alterado no database após as 18:00 horas
---
---
USE DB_Mundo_1;
CREATE TABLE Nova_Tabela(cod int, descricao varchar(100));
SELECT name,
TYPE,
type_desc,
create_date,
modify_date
FROM sys.objects
WHERE TYPE IN ('U','V','PK','F','D','P')
AND modify_date >= Dateadd(HOUR,18,Cast((Cast(Getdate() - 1 AS VARCHAR(12)))AS SMALLDATETIME))
ORDER BY modify_date
--U - Table
--V - View
--PK - Primary Key
--F - Foreign Key
--D - Default Constraint
--P - Procedure
quarta-feira, fevereiro 17, 2010
Linq To SQL - Carregando dados adjacentes e liberando o DataContext
Eu sempre tive problemas quando tentava acessar uma tabela adjacente do objeto retornado pela query do linq depois do dispose, exemplo:
A tabela Documento tem relação com a tabela Tipo de Documento, se eu recupero via Linq uma instancia da tabela Documento, faço o dispose do DataContext e tento acessar a Tipo Documento atravez do relacionamento logo vem a mensagem: Cannot access a disposed object.Object name: ‘DataContext accessed after Dispose.
Descobri uma forma de resolver isso. Se a relação for de 1 pra N e você está com a tabela do lado esquerdo, basta que antes do dispose você acessece Documento.TipoDocumento.Load(). Se estiver do lado do N o jeito é passar configurações de load pro DataContext, exemplo:
A tabela Documento tem relação com a tabela Tipo de Documento, se eu recupero via Linq uma instancia da tabela Documento, faço o dispose do DataContext e tento acessar a Tipo Documento atravez do relacionamento logo vem a mensagem: Cannot access a disposed object.Object name: ‘DataContext accessed after Dispose.
Descobri uma forma de resolver isso. Se a relação for de 1 pra N e você está com a tabela do lado esquerdo, basta que antes do dispose você acessece Documento.TipoDocumento.Load(). Se estiver do lado do N o jeito é passar configurações de load pro DataContext, exemplo:
DataLoadOptions options = new DataLoadOptions();É isso ai, vivendo e aprendendo Linq!
options.LoadWith<Documento>(s => s.TipoDocumento);
DataContext.LoadOptions = options;
quarta-feira, fevereiro 03, 2010
SHRINKFILE - TRUNCATE do banco
use db_MeuBanco
BACKUP LOG db_MeuBanco WITH TRUNCATE_ONLY
DBCC SHRINKFILE (db_MeuBanco_Log, 1)
**Cuidado, só recomendo rodar isso se você estiver realmente sem espaço na partição do LOG (.mdl) e não tiver outra partição pra onde jogar nem fazer backup.
segunda-feira, janeiro 04, 2010
Queries que vou usar mais tarde
Formatando números com zero a esquerda
declare @num varchar(5)
set @num= '235'
select @num,
REPLICATE('0', 5 - datalength(@num)) + @num AS [Varchar Formatado]
--Resultado: 00235
declare @num varchar(5)
set @num= '235'
select @num,
REPLICATE('0', 5 - datalength(@num)) + @num AS [Varchar Formatado]
--Resultado: 00235
sexta-feira, novembro 27, 2009
Beneficios do processo de requisito de alta qualidade
Organizações que implementam engenharia de requisitos de forma efetiva podem garantir muitos benefícios. A grande recompensa vem da redução do retrabalho desnecessário nos estágios finais de desenvolvimento e ao longo do período de manutenção prolongada. O benefício da alta qualidade de requisitos as vezes não é muito obvia, e muitas pessoas acreditam erroneamente que o tempo gasto discutindo requisitos simplesmente vai gerar atraso na entrega do produto.
Ninguém pode prometer corretamente o ROI na aplicação de um processo de requisitos de alta qualidade. Pensando de forma analítica, da para imaginar como a aplicação de um processo bem feito de engenharia de requisitos pode ser benéfico. Primeiro, considere o custo de investir em um melhor processo. Isso inclui o custo da avaliação de suas práticas atuais, desenvolver novos processos e modelos de documentos, capacitação da equipe, compra de livros e ferramentas, e talvez a contratação de consultores externos. Seu maior investimento é o tempo de suas equipes demoram para coletar, documentar, analisar e gerenciar as suas exigências.
Em seguida, basta pensar sobre os possíveis benefícios que você possa desfrutar e quanto tempo ou dinheiro é possível economizar. É impossível quantificar todos os benefícios, mas estes são alguns:
Ninguém pode prometer corretamente o ROI na aplicação de um processo de requisitos de alta qualidade. Pensando de forma analítica, da para imaginar como a aplicação de um processo bem feito de engenharia de requisitos pode ser benéfico. Primeiro, considere o custo de investir em um melhor processo. Isso inclui o custo da avaliação de suas práticas atuais, desenvolver novos processos e modelos de documentos, capacitação da equipe, compra de livros e ferramentas, e talvez a contratação de consultores externos. Seu maior investimento é o tempo de suas equipes demoram para coletar, documentar, analisar e gerenciar as suas exigências.
Em seguida, basta pensar sobre os possíveis benefícios que você possa desfrutar e quanto tempo ou dinheiro é possível economizar. É impossível quantificar todos os benefícios, mas estes são alguns:
- Menos defeitos nos requisitos
- Redução do retrabalho de desenvolvimento
- Redução de funcionalidades desnecessárias
- Menor esforço
- Desenvolvimento mais rápido
- Redução na falha de comunicação
- Redução do estouro do escopo do projeto (scope creep)
- Reduzir o caos no projeto
- Maior satisfação dos clientes e membro da equipe
terça-feira, novembro 24, 2009
Falar com boas maneiras: Esse é o caminho
Materia da Ágilis que achei muito interessante:
Grande parte dos conflitos organizacionais é causada pela maneira como os profissionais falam uns com os outros.
O descuido com a forma do discurso, gestos bruscos e emoções à flor da pele costumam atrapalhar o entendimento do mais importante: a mensagem. E pior: acabam criando novos problemas.
Os conteúdos, por mais desagradáveis que sejam, precisam ser transmitidos de maneira leve e orientadora. As advertências podem e devem ser dadas, mas para orientar, e não para desabafar.
Por isso, a arte de dizer o que deve ser dito, fazendo-se entender e sem machucar o interlocutor, é uma competência a ser desenvolvida por todos na empresa.
Enfim, para evitar constrangimentos nas relações profissionais e problemas no resultado do trabalho, lembre-se: tudo pode ser dito, desde que de forma polida, clara e objetiva.
Fonte: Ágilis RH
sexta-feira, novembro 20, 2009
Change Isn't Free: Impact Analysis
True Stories - The need for impact analysis is obvious for major enhancements. However, unexpected complications can lurk below the surface of even minor change requests.
A company once had to change the text of one error message in its product.
What could be simpler?
The product was available in both English and German language versions.
There were no problems in English, but in German the new message exceeded the maximum character length allocated for error message displays in both the message box and a database.
Coping with this apparently simple change request turned out to be much more work than the developer had anticipated when he promised a quick turnaround.
Impact analysis is a key aspect of responsible requirements management (Arnold and Bohner 1996).
Impact analysis is a key aspect of responsible requirements management (Arnold and Bohner 1996).
It provides accurate understanding of the implications of a proposed change, which helps the team make informed business decisions about which proposals to approve.
The analysis examines the proposed change to identify components that might have to be created, modified, or discarded and to estimate the effort associated with implementing the change.
Before a developer says, "Sure, no problem" in response to a change request, he or she should spend a little time on impact analysis.
Trap - Because people don't like to say "no," it's easy to accumulate a huge backlog of approved change requests.
Before accepting a proposed change, make sure you understand the rationale behind it, its alignment with the product vision, and the business value that the change will provide.
quinta-feira, outubro 08, 2009
Arquitetura de Software
Hoje fui ao evento chamado Encontro de Arquitetos Brasília aqui na Microsoft Brasília. A palestra do Cambiucci foi muito boa, tirando essa massiva direção da Microsoft sobre as maravilhas do mais novo modelo de negocio da Microsoft (Windows Azure), o conteudo foi bem rico, destaco como um dos pontos fortes do evento, além da bela explanação sobre o azure, o link para o eBook do Cambiucci.
Ebook Arquitetura de Soluções
Site do Time de Arquitetura da Microsoft Brasil
ARQCAST DO BRASIL
Trechos do evento (fonte: celular Nokia E71)
Software e Serviços
Arquitetura MS
Assinar:
Postagens (Atom)


