sexta-feira, 30 de dezembro de 2011

Cinco softwares livres que todo mundo deveria usar

 

Por gabiifonseca |

Por que pagar por programas (ou usar métodos ilícitos!) se existem alternativas gratuitas em que podemos trabalhar tão bem quanto?

Quando formato uma máquina para amigos ou parentes sempre instalo alguns programas que uso e recomendo para todos. Esses programas certamente serão usados pelos usuário e basicamente se enquandram em duas categorias: A primeira é a dos softwares baseados em um outro famoso no mercado. Contudo, prefiro os que serão citados pela sua facilidade de uso ou ferramentas extras (além do fato de serem gratuitos, é claro!). A segunda categoria enquadra programas com recursos claramente inferiores às versões comerciais, mas que são mais do que adequadas para o uso diário de quem não é um profissional da área, ou seja, quando não é necessário realmente investir em algo profissional, uma ferramenta para “quebrar um galho”.

Os cinco programas que recomendo são:

1. VLC Media Player

No topo da minha lista coloco o VLC media player. Esse player toca praticamente todos os formatos de vídeos e audio. Se o VLC não roda um vídeo, então nenhum outro programa vai rodar! Esse software é uma resposta para todos aqueles erros do Media Player sobre codecs não encontrados e outros erros. E o melhor: o VLC não só toca todos os formatos, como faz isso bem! É um dos programas mais bacanas que você instalará na sua máquina, seja ela um Windows, Linux ou Mac. Vale a pena!

2. Irfanview

O próximo da lista é um visualizador de imagens e pequeno editor, o Irfanview. Definitivamente o melhor visualizador atual! Mas certifique-se de baixar os plugins. Você poderá ler tudo, desde arquivos .TXT, arquivos antigos da Kodak de formato .kdc e formatos da Adobe. Ele poderá até tocar uma grande quantidade de formatos de vídeos e músicas. Contudo, é melhor instala-lo antes do VLC, para que os arquivos de vídeo e áudio sejam abertos primeiro pelo VLC que é próprio para isso. Esse programa também lhe permite fazer pequenas alterações em fotos.

3. ImgBurn

Para aqueles que gostam de trabalhar com imagens ISO e precisam criar essas imagens de um jeito fácil e simples, o ImgBurn é o utilitário que você precisa. Esse é um tipo de programa que você não sabe que precisa até que comece a barixar ou upar aquivos ISO. Esse programa lhe permite trabalhar de maneira simples e faz a maioria das configurações automaticamente, sem com qe você precise se preocupar.

4. OpenOffice

Se você não pode pagar por uma versão do Microsoft Office, o Open Office lhe servirá bem. Esse pacote sofreu uma série de melhorias e atualmente uso-o para me ajudar na escrita de vários de meus artigos. Realmente fiquei impressionado com a série de recursos e funcionalidades que foram adicionados e tenho certeza que a maioria dos que estão aqui lendo essa coluna também ficariam. O seu processador de textos é tão bom quanto o da Microsoft e eu só adicionaria uma observação para o trabalho com planilhas, que não são assim tão boas para se trabalhar com quantidades abusivas de dados – mas como poucos utilizam tantos dados em seus computadores pessoais, isso não é um grande problema.

5. Audacity

Finalmente, o último, mas não menos importante, software a ser recomendado, é o Audacity, um editor de sons. Seja você um amador ou profissional e já precisou de trabalhar um som – para corta-lo ou fazer outro tipo de alteração simples, que não necessite um programa profissional, utilize esse programa! Ele é simples e fácil de usar e leva apenas alguns minutos para realizar alterações. Funciona em todas as plataformas e é pequeno, podendo ser baixado em situações de emergência.

E você, usa algum programa dessa lista? Adicionaria algum? Comente!

Texto traduzido com adaptações de PCMAG

quarta-feira, 28 de dezembro de 2011

Qual a diferença entre UX (experiência do usuário) e usabilidade?

 

Por Gabriel Oliveira | 

As pessoas de vez em quando perguntam: “qual a diferença entre experiência do usuário (UX) e usabilidade?”. Tentarei explicar emprestando a hierarquia de necessidades de Maslow.

Vamos assumir que o usuário de qualquer software tenha 3 tipos hierárquicos de necessidades:

1. O software precisa funcionar – deve ser funcional. Essa é a necessidade mais básica do usuário.

Certificar-se que o software funciona é um pré-requisito para uma boa usabilidade e uma boa experiência do usuário.

2. O software deve ser fácil de usar. Ao longo da última década, websites tem se tornado “user-friendly” graças a conceitos de usabilidade (veja Jakob Neilsen), competitividade e outros pontos fundamentais.

Quando um software atua como ferramenta e não possui nenhum competidor, então os usuários irão tolerar baixa usabilidade, desde que seja funcional. Porém, quando existem outras escolhas no mercado, usuários passarão a usar a que for mais fácil usar. A usabilidade se preocupa com o quão intuitivo e fácil um software ou website é para o usuário.

3. O software precisa ser prazeroso. Num último quesito para escolher entre softwares ou websites, aquele que oferecer uma interação alegre e agradável ganha.

Steve Jobs reconheceu isso. Donald Norman, pioneiro na usabilidade reconheceu isso também em seu livro Emotional Design. Norman argumenta que softwares se apresentaram mais efetivos quando se mostram esteticamente mais apelativos, ou quando estabelecem uma conexão emocional com o software ou website. Como ele mesmo diz: “coisas atrativas funcionam melhor”.

UX se preocupa com o design, com a usabilidade e por fim com o engajamento emocional dos usuários.

user journeys.com

sexta-feira, 23 de dezembro de 2011

“Caçadores de Mitos” sobre SI (Sistemas de Informação)

 

Por Altamir Gomes |

Este artigo tem por objetivo desfazer alguns dos mal-entendidos correntes entre os entusiastas de informática e esclarecer questões para quem enseja cursar SI mas ainda está mergulhado na dúvida. As afirmações sobre SI mais comuns as quais tive notícia serão abordadas abaixo.

Afirmação: O diploma de Ciência(s) da Computação é mais respeitado do que o de SI.
Resposta: Depende. Vejamos o caso dos EUA. Lá, até bem pouco tempo atrás, SI era visto como algo “light” e de teor menos acadêmico se comparado a CC. Entretanto, SI atualmente é considerada área científica de ponta e o diploma mais flexível e amplo para empregabilidade na indústria de TI norte-americana.

A: (O curso de) Ciência(s) da Computação forma melhores programadores do que o de SI.
R: Pelo menos no Brasil, as grades curriculares de SI vem “ganhando peso” com disciplinas extras de engenharia de software, estrutura de dados e matemática num nível bastante próximo ao de CC e acima das recomendações da SBC (Sociedade Brasileira de Computação) para os cursos de SI. Bons cursos de SI formam egressos bastante competitivos com o pessoal de CC na área de programação.

A: (O curso de) SI requer menos rigor de raciocínio lógico do que EnC (Engenharia de Computação) ou CC.
R: Isso não é verdade. Os fatores de decisão e gerência que cabem ao egresso de SI são pesados. O teste para pós-graduação em Administração (o ANPAD) é um bom exemplo de rigor exigido, visto que um estudante de SI desfruta de pouco tempo para apreender as exaustivas matérias da Administração básica.

A: SI não dá a base requerida para o desenvolvimento de equipamentos eletrônicos, computadores…
R: SI utiliza a computação como atividade-meio e não como um fim em si mesma. Para tal fim, seria melhor optar por um curso de EnC ou CC. Mesmo assim, é possível arrumar trabalho específico na área como desenvolvedor de sistemas embarcados ou então desenvolvedor de métricas (benchmarking) para sistemas computadorizados.

A: Há cursos de SI com perfis completamente diferentes entre si… isso é muito confuso.
R: Esta é a parte onde se faz necessário tomar um pouco de cautela. Cursos de SI mais orientados à Administração ou Ciência da Informação remetem ao perfil MIS (Sistemas de Informação Gerenciais ou Ciência da Informação para Gestão), enquanto que cursos de SI orientados à Computação refletem o perfil CIS (Sistemas de Informação Computadorizados).

A: SI tem todo jeito para estar limitado aos cursos tecnólogos. Para que afinal existe o bacharelado?
R: SI é resultado da fusão entre as Ciências da Computação e as da Informação e da Administração. A realidade é que se torna muito difícil para as faculdades formar agentes profundamente teóricos em ambos aspectos. A solução para elas, obviamente, foi tornar o curso de bacharelado em SI um pouco mais prático do que o usual. SI, todavia, encobre um área muito extensa, capaz de envolver sociedade, gestão de recursos, tecnologia, biomedicina, etc. nos seus aspectos mais teóricos e acadêmicos. A Escola de Artes, Ciências e Humanidades da Universidade de São Paulo (EACH-USP) oferece um programa de Mestrado Acadêmico em SI (http://www.each.usp.br/ppgsi/).

A: Profissionais formados em SI não obtém os salários de topo nas suas respectivas áreas de atuação.
R: A diferença destes para os dos egressos dos demais cursos de Computação é, em média, pequena, e aparentemente o nível salarial melhora um pouco mais rapidamente com o tempo se comparado aos demais, conforme o profissional ou acadêmico formado em SI especializa-se e obtém certificações e prestígio. Cabe ressaltar que os profissionais atuantes em TI estão servidos das melhores oportunidades de salário dentro da indústria, ultrapassando as Engenharias em média e só perdendo para os profissionais liberais como advogados e médicos.

Se você tem mais informações a agregar ou discorda de algo, deixe seu comentário!

Visite o site da Sociedade Brasileira de Computação: http://www.sbc.org.br

quinta-feira, 22 de dezembro de 2011

livros IBM Redbooks

Recentemente a Redbooks IBM está publicando cada vez mais livros e guias em formato pdf e disponíveis para download.

DataStage InfoSphere paralela padrão Framework Práticas

  • Capítulo 1. Integração de dados com informações do servidor e DataStage
  • Capítulo 2.Visão geral da integração de dados
  • Capítulo 3. Padrões
  • Capítulo 4. Job parâmetro de gestão e variável de ambiente
  • Capítulo 5. diretrizes de desenvolvimento
  • Capítulo 6. Separação e Coleta
  • Capítulo 7. Seleção
  • Capítulo 8. Ligações Estágio
  • Capítulo 9. linguagens de transformação
  • Capítulo 10. Combinando os dados
  • Capítulo 11. Reestruturação de dados
  • Capítulo 12. Emprego Desempenho projetos tuning
  • Capítulo 13. orientações Estágio Banco de Dados
  • Capítulo 14. orientações Connector Estágio
  • Capítulo 15. Lote de design de fluxo de dados
  • Capítulo 16. Design de fluxo de dados em tempo real
  • Apêndice A. Topologias Runtime para trabalhos transação distribuída
  • Apêndice B. Standard resumo práticas
  • Apêndice C.DataStage nomenclatura de referência
  • Apêndice D. Exemplo do modelo de trabalho
  • Apêndice E. Entendendo a pontuação trabalho paralelo
  • Apêndice F. Estimando o tamanho de um conjunto de dados em paralelo
  • Anexo G. Ambiente de referência variável
SPSS Predictive Analytics: Decisões Otimização no Ponto de Impacto
  • Resumo Executivo
  • A Necessidade de uma nova abordagem
  • Desafio de negócios atual
  • exemplos Indústria
  • Componentes de uma solução
  • suite IBM Software SPSS
IBM Cognos Manual de Business Intelligence V10.1
  • Parte 1. IBM Business Analytics
    • Capítulo 1.Introdução ao IBM Cognos Business Intelligence
    • Capítulo 2. Visão geral da arquitetura do IBM Cognos BusinessIntelligence
    • Capítulo 3. Cenário empresarial e as pessoas usadas neste livro
  • Parte 2. IBM Cognos modelagem de metadados
    • Capítulo 4. Criar relatórios pacotes com o IBM Cognos Framework Manager
  • Parte 3. A inteligência empresarial simplificada
    • Capítulo 5. Simplificado de inteligência de negócios: Uma visão geral
    • Capítulo 6. Experiência do usuário individual e colaborativa
    • Capítulo 7. interface de auto-serviço para usuários de negócios
    • Capítulo 8. analytics de recurso em todos os lugares
  • Parte 4. Enterprise plataforma pronta
    • Capítulo 9. Enterprise pronta desempenho e escalabilidade
    • Capítulo 10.IBM Cognos sistema de administração
  • Parte 5. IBM completa solução de Business Analytics
    • Capítulo 11. Integração com o IBM Cognos BI IBM Cognos soluções de Business Analytics
  • Parte 6. Apêndices

Espero que eles sejam úteis!

terça-feira, 20 de dezembro de 2011

Um pouco sobre Banco de Dados Hierárquico

 

Por Felipe Giovanangelo |

Um Banco de dados hierárquico consiste em uma coleção de registros que são conectados uns aos outros por meio de ligações. Um registro é uma coleção de campos, cada qual contendo apenas um valor de dados. Uma ligação é uma associação entre exatamente dois registros. O modelo hierárquico é, portanto similar ao modelo de rede, no sentido de que dados e relacionamentos entre dados são também representados por registros e ligações, respectivamente. O modelo hierárquico difere do modelo de rede na organização de registros como coleção de árvores em vez de como grafos arbitrários.

Um diagrama com estrutura de árvore é um esquema para um banco de dados hierárquico. Tal diagrama consiste em dois componentes básicos: retângulos, que correspondem a tipos de registro, e linhas, que correspondem a ligações. O diagrama com estrutura de árvore serve para os mesmos propósitos que um diagrama entidade-relacionamento; a saber, ele especifica a estrutura lógica geral do banco de dados. Um diagrama com estrutura de árvore é similar ao diagrama de estrutura de dados no modelo de rede. A principal diferença é que, no primeiro, tipos de registro são organizados na forma de uma árvore enraizada. Para todo diagrama entidade-relacionamento, existe um diagrama com estrutura de árvore correspondente.

O esquema de banco de dados é, portanto representado como uma coleção de diagramas com estrutura de árvore. Para cada diagrama, existe uma única instância de uma arvore do banco de dados. A raiz dessa árvore é um nó auxiliar. Os filhos desse nó são instâncias de fato do tipo de registro apropriado. Cada instância pode, por sua vez ter diversas instâncias de vários tipos de registro, como especificadas no diagrama com estrutura de árvore correspondente.

A linguagem de manipulação de dados consiste em uma série de comandos que são embutidos em uma linguagem hospedeira. Esses comandos fazem o acesso e manipulam itens do banco de dados assim como variáveis declaradas localmente. Para cada programa de aplicação o sistema mantém uma área de trabalho de programa que contém gabaritos de registro, ponteiros correntes e indicadores de estado.

Os itens de dados são buscados através do comando get, que localiza um registro o banco de dados e posiciona o ponteiro corrente para apontar para ele, e então copia aquele registro do banco de dados para o gabarito de área de trabalho do programa apropriado. Existe uma série de diferentes formas do comando get. A principal distinção entre elas é se um registro deve ser localizado dentro de toda a árvore de um banco de dados ou dentro de uma subárvore.

Vários mecanismos estão disponíveis para atualizar informações no banco de dados. Eles incluem a criação e a remoção de registros (via operações insert e delete) e a modificação (via operação replace) do conteúdo dos registros existentes.

No caso de relacionamentos muitos-para-muitos, a duplicação de registros é necessária para preservar a estrutura de árvore do banco de dados. A duplicação de registros tem dois inconvenientes principais: atalizações podem levar a inconsistência de dados e o desperdício de espaço é inevitável. A solução é o registro virtual, tal registro não contém valores de dado, ele contém um ponteiro lógico para um registro físico partícula. Quando um registro é duplicado em diversas árvores de banco de dados, uma única cópia daquele registro é mantida em uma das árvores e todas as outras ocorrências do mesmo são substituídas por um registro virtual contendo um ponteiro para aquele registro físico. A linguagem de manipulação de dados para essa nova configuração leva ao mesmo caso em que a duplicação de registro é permitida. Assim, um usuário não precisa preocupar-se com essas mudanças.

A implementação de banco de dados hierárquicos não usa ponteiros pai-filho, uma vez que eles requerem o uso de registros de tamanho variável. Em vez disso, são usadas cadeias em pré-ordem. Essa técnica permite que cada registro contenha exatamente dois ponteiros. Opcionalmente, um terceiro ponteiro filho – para – pai pode ser adicionado.

Bibliografia
KORTH, Henry F., SILBERSCHATZ, Abraham. Sistema de Banco de Dados. 2ª ed. rev. – São Paulo: Makron Books, 1995.

segunda-feira, 19 de dezembro de 2011

Tarefas de um DBA – O que faz um DBA?

Por Fábio Prado |

Pessoal,

No artigo de hoje irei escrever sobre as tarefas de um DBA: o que ele faz em seu trabalho e quais são as suas responsabilidades.

Este assunto, para quem já é um DBA, é fácil de entender, mas para quem é iniciante ou pretende ingressar nessa carreira, não é tão fácil assim! Para quem não trabalha com TI, pior ainda, essas pessoas não tem a mínima idéia do que é ou do que faz um DBA, por isso quando me perguntam qual a minha profissão, para facilitar a conversa, eu prefiro responder: - sou Analista de Sistemas. A música Hoje eu sou um DBA do The Sprinters explica bem esta situação.

TAREFAS DO DBA

Resumidamente, um DBA deve gerenciar os bancos de dados de um ou mais sistemas (geralmente muitos sistemas). Em detalhes, as tarefas que ele deve realizar são:

1- Avaliar o hardware do Servidor de Banco de Dados:
Avaliar e definir o hardware necessário para instalar o BD e comportar os seus dados e acessos.

2- Instalar o Software do Banco de Dados:
Instalar o Software do BD, instalar atualizações e correções de bugs e tudo o que for necessário para manter a estrutura física e lógica do BD.

3- Planejar e Implementar o Banco de Dados:
Definir e criar tabelas, indices e outros objetos de BD.

4- Criar e abrir o BD:
Criar o BD e garantir que ele esteja disponível para os usuários.

5- Fazer backup do BD:
Efetuar backups dos BD’s e garantir que eles sejam recuperáveis.

6- Gerenciar usuários de BD:
Criar usuários de BD e dar a eles privilégios de acesso aos dados, priorizando sempre a segurança dos dados, ou seja, os usuários devem ter o menor privilégio possível de acesso aos dados para evitar riscos desnecessários e proteger o BD como um todo.

7- Recuperar o BD em caso de falhas:
Definir e implementar estratégias e planos para recuperar o BD em caso de falhas.

8- Monitorar e ajustar a performance do BD:
Monitorar constantemente a performance do BD para identificar gargalos de desempenho e definir/implementar soluções para otimizar o seu desempenho.
Manter o tempo de resposta de acesso aos dados de acordo com as expectativas do usuários é o objetivo principal desta tarefa. Esta é a tarefa que eu mais gosto!

—————————————————————–

Em uma aula que eu dei para uma turma de Oracle Database 10G, gerei uma discussão com os alunos para definirmos (de acordo com os nossos conhecimentos e experiência) quais eram os 3 principais requisitos que o mercado de trabalho exigia para contratar um DBA. Chegamos nessa aula à seguinte conclusão:

O DBA tem que no mínimo saber:

  1. Instalar e gerenciar o Banco de Dados e seus usuários, com segurança;
  2. Efetuar e recuperar backups (qdo o BD for Oracle, tem que saber usar o RMAN);
  3. Monitorar e ajustar a performance do BD.
COMENTÁRIOS:

Já ouvi muitos Desenvolvedores/Analistas de Sistemas afirmarem que uma ou outra tecnologia ou que um ou outro sistema não exige o trabalho de um DBA. Já ouvi eles falarem: - Para quê um DBA? A gente otimizou tudo, não precisamos disso! ou - Para quê um DBA, o Hybernate é otimizado e cria todos os objetos no BD. Este sistema não precisa de um DBA. O meu comentário é que estes profissionais estão muito enganados. Sistemas que possuem muitos usuários, em organizações que possuem BD’s corporativos, que armazenam dados de múltiplas aplicações, precisam de um DBA.

Desenvolvedores ou Analistas de Sistemas geralmente não são especialistas em gerenciar Bancos de Dados, alguns até fazem isso, mas normalmente não fazem da melhor forma possível, pois eles não tem tempo para estudar a fundo os SGBD´s. Esta não é a atividade principal deles, eles tem é que especificar e desenvolver os sistemas. No quesito Banco de Dados, eles precisam apenas modelar os dados (ainda assim de preferência com o suporte de um DBA).

Também não acredito que uma ferramenta ou tecnologia de persistência de dados (já utilizei algumas) seja tão poderosa a ponto de fazer um trabalho de tunning para acesso a dados melhor que um bom DBA.

Já trabalhei em várias empresas como Analista/Desenvolvedor de Sistemas, com sistemas de pequeno à grande porte, por isso, de acordo com a experiência que eu tive, posso afirmar que, sempre que for necessário armazenar dados de muitos sistemas, com segurança e com a melhor performance possível,o trabalho de um DBA é necessário.

No Submarino (http://www.submarino.com.br/), uma das empresas em que trabalhei, se não existisse o trabalho de um DBA, além dos dados não terem a segurança necessária, acredito que o desempenho do site em datas próximas à datas comemorativas (Ex.: Natal) seria tão ruim que os clientes iriam desistir de efetuar compras, por causa da lentidão que o site iria apresentar para, por exemplo, carregar uma página de visualização de produtos de uma categoria específica.

Bom pessoal, por hoje é só!

[]s

Enviado por Fábio Prado