Subscribe to My Feed

Google

Tuesday, February 23, 2010

[ video ] Gato Ninja

Gato Ninja

Gato Ninja Paródia

Posted via email from espig-video's posterous

[ video ] Mico da Lele

[ pic ] Cantada Infalível

[ video ] O roubolation

Sunday, February 21, 2010

[ poesia ] Ser finito amante

Ser finito amante 

Serei amante 
Galante de sonhos mil 
Serei atento 
Sempre que ausente 
E presente a todo instante 

Serei maior 
Menor que grão 
Parecente ao ar 
Que respiras onde vais 
Serei fonte de ti 

Serei nada 
Pois sou seu 
Sou eu prestante a ti 
Onde andas? 
Tão presente em mim 

Serei fiel 
Amante ardoroso 
Serei finito 
Mas amar-te-ei 
No infinito de meu ser. 

Bruno Eifert 

Posted via email from espig's posterous

[ amor ] Fernando Pessoa

"Amo como ama o amor.
Não conheço nenhuma outra razão para amar senão amar.
Que queres que te diga, além de que te amo, se o que quero dizer-te é que te amo?"

(Fernando Pessoa)

Posted via email from espig's posterous

Saturday, February 20, 2010

[ pic ] Happy Birthday

[ curso ] Curso de Português Instrumental

[ pic ] Mafalda...

Friday, February 19, 2010

[ arte ] Who's the artist?

Wednesday, February 17, 2010

[ video ] A vida é uma lição...

Thursday, February 11, 2010

[ referência ] Modelagem de Dados - Alguns Conceitos

Entidade = conjunto de objetos da realidade modelada sobre os quais deseja-se manter informações no banco de dados. Representa qualquer "coisa" (concreta ou abstrata) sobre o qual se deseja manter informações. Representada graficamente por um retângulo. Pode ser interpretada como uma tabela de dados, onde cada linha representa uma instância.


Banco de Dados = conjunto de dados integrados que tem por objetivo atender a uma comunidade de usuários.

Sistema de Gerência de Banco de Dados (SGBD) = software que incorpora as funções de definição, recuperação e alteração de dados em um banco de dados.

Modelo de Dados = descrição formal da estrutura de um banco de dados.

Modelo Conceitual = modelo de dados abstrato, que descreve a estrutura de um banco de dados de forma independente de um SGBD particular.

Modelo Lógico = modelo de dados que representa a estrutura de dados de um banco de dados conforme vista pelo usuário do SGBD.

Relacionamento = conjunto de associações entre entidades. Fato ou acontecimento que liga dois objetos existentes no mundo real. São relações ou associações existentes entre entidades.

Grau ou Cardinalidade (mínima, máxima) de entidade em relacionamento = número (mínimo, máximo) de ocorrências de entidade associadas a uma ocorrência da entidade em questão através do relacionamento. Caracterizam o número mínimo e máximo de instâncias de cada entidade que podem estar associadas através do relacionamento.

Atributos = dados que são associados a cada ocorrência de uma entidade ou de um relacionamento. São características, valores descritos, propriedades ou dados associados a uma entidade ou relacionamento. Para cada atributo há um conjunto de valores permissíveis (domínio).

Identificador de Entidade = conjunto de atributos e relacionamentos cujos valores distinguem uma ocorrência da entidade das demais.

Entidade Associativa = redefinição de um relacionamento para ser tratado como se fosse, também, uma entidade. É a entidade que não se identifica por si mesma e sua existência depende da existência de duas ou mais outras entidades. Compõem seu identificador, os identificadores das entidades que se associaram para lhe dar origem.

Entidade Dependente/Fraca = é uma entidade cuja existência depende de outra entidade e que herda a totalidade ou parte da sua chave primária. No Diagrama E-R representa-se uma entidade fraca através de um retângulo com linha dupla.

Posted via email from espig's posterous

[ referência ] Modelagem de Dados - Tipos

Modelo Físico

=> partirá do lógico e descreverá as estruturas físicas de armazenamento de dados (tamanho de campos, índices, métodos de acesso do SGBD, etc).

=> linguagens e notações dependem do SGBD. Pode ser necessário o conhecimento do modo físico de implementação das estruturas de dados.

Modelo Lógico

=> os objetos, suas características e relacionamentos têm uma representação de acordo com as regras de implementação e limitações impostas por algum tipo de tecnologia (Relacional, Orientada a Objetos, Objeto-Relacional).

=> resulta da aplicação de regras de derivação sobre um modelo conceitual.

=> nível mais restrito aos desenvolvedores.

=> descreve as estruturas que estarão contidas no banco de dados, de acordo com as possibilidades permitidas pela abordagem, sem considerar as características de armazenamento do SGBD.

=> dependente do TIPO/MODELO de dados particular do SGBD que será usado (ex.: Tabela/Relação -> Modelo Relacional).

Modelo Conceitual

=> modelo abstrato que descreve a estrutura de um BD de forma independente de um SGBD particular (restrições impostas por tecnologias, técnicas de implementação ou dispositivos físicos).

=> primeira etapa do projeto de um sistema de aplicação em banco de dados.

=> utilizado para entendimento, transmissão, validação de conceitos, mapeamento do ambiente, diálogo entre usuários e desenvolvedores.

Posted via email from espig's posterous

[ referência ] Modelagem de Dados

Generalização 
= resultado da união de dois ou mais conjuntos de entidades de nível mais baixo produzindo um conjunto de entidades de nível mais alto.

Especialização = resultado da separação de um subconjunto de entidades de nível mais alto, produzindo um conjunto de entidades de nível mais baixo.

Total (t) = para cada instância da entidade genérica, existe sempre uma instância em uma das entidades especializadas. (ex.: todo cliente deve ser pessoa física ou jurídica)

Parcial (p) = nem toda ocorrência da entidade genérica possui correspondente em entidade especializada. (ex.: pode existir funcionário que não seja motorista nem secretária)

=> os objetivos dos modelos são:

- comunicação com clientes: pode-se mostrar ao cliente, através de um produto de demonstração, parte ou todo o comportamento externo de um sistema.

- visualização: permite visualizar idéias antes de torná-las concretas.

- redução da complexidade: os modelos reduzem a complexidade dividindo-a em um pequeno número de coisas importantes a serem tratadas de cada vez.

Posted via email from espig's posterous

[ referência ] Dados, Informação e Conhecimento (continuação)

Dados InformaçãoConhecimento
simples observações sobre o estado do mundo dados dotados de relevância e propósitoinformação valiosa
da mente humana
(reflexão, síntese, contexto)

Fácil estruturação

Fácil captura em máquinas

Freqüentemente quantificado

Fácil transferência


Requer unidade de análise

Exige consenso em relação ao significado

Exige necessariamente a mediação humana


Difícil estruturação

Difícil captura em máquinas

Freqüentemente tácito

Difícil transferência

FONTE: Davenport, Prusak - 1998 - p.18

Posted via email from espig's posterous

[ referência ] Dados, Informação e Conhecimento

Dados = conjunto de registros qualitativos ou quantitativos conhecido que organizado, agrupado, categorizado e padronizado adequadamente transforma-se em informação. Associado à sintática (estruturar para processamento posterior). São quantificáveis. Únicos passíveis de uma real definição. São os que menos dependem de interpretação, ou interação humana para gerar seu valor.

Informação = aquilo que leva à compreensão, o que constitui informação para uma pessoa pode não passar de dados para outra. Associado à semântica (significado, interpretação, processamento). São dados organizados de modo significativo, sendo subsídio útil à tomada de decisão. Conexão entre os dados brutos e o conhecimento que se pode eventualmente obter.

seguintes atributos:
- considerada como um quase sinônimo do termo fato
- um reforço do que já se conhece
- liberdade de escolha ao selecionar uma mensagem
- a matéria-prima da qual se extrai o conhecimento
- aquilo que é permutado com o mundo exterior e não apenas recebido passivamente
- definida em termos de seus efeitos no receptor
- algo que reduz a incerteza em determinada situação

Conhecimento = Associado à interpretação.
conhecimento codificável: a transformação da informação pode ser reproduzida, estocada, transferida, adquirida, comercializada, etc.

conhecimento tácito: a transformação da informação em sinais ou códigos é extremamente difícil já que sua natureza está associada a processos de aprendizado, totalmente dependentes de contextos e formas de interação sociais específicas (acúmulo de saber prático sobre um determinado assunto, que agrega convicções, crenças, sentimentos, emoções e outros fatores ligados à experiência e à personalidade de quem o detém).

conhecimento explícito: conjunto de informações já elicitadas em algum suporte (livros, documento etc.) e que caracteriza o saber disponível sobre tema específico.

conhecimento estratégico: combinação de conhecimento explícito e tácito formado a partir das informações de acompanhamento, agregando-se o conhecimento de especialistas.

"…dados são puramente sintáticos enquanto informação contém, necessariamente, semântica. Conhecimento é uma abstração interior (…) relacionada a alguma coisa existente no mundo real e do qual temos uma experiência direta."

Dados > Informação > Conhecimento
- escala rumo a uma maior abstração, o que pode-se entender como um aumento da interação humana, estágio após estágio.
- Informação e Conhecimento dependem, em proporções diferenciadas, do agente interpretante para se constituírem.

Posted via email from espig's posterous

[ referência ] Gerenciamento de Riscos

Gerenciar riscos significa tomar uma atitude pró-ativa para garantir melhores resultados em nossos projetos e ações do dia-a-dia.


* Riscos podem ser POSITIVOS e desta forma, se forem bem gerenciados podem se transformar em grandes oportunidades.
* Riscos podem ser NEGATIVOS e então temos a necessidade de reduzir seu impacto ou mesmo eliminá-lo.

O Project Management Institute é uma associação internacional de Gerentes de Projetos que promove o uso das melhores práticas em projetos. Uma das áreas-chave do gerenciamento de projetos é o gerenciamento de riscos.

* Amplie as oportunidades através da maximização de riscos positivos;
* Reduza os problemas através da redução de riscos negativos;
* Transforme problemas em oportunidades!

Project Management Institute (PMI), é o responsável pela elaboração de um Guia de Conhecimentos em Gerenciamento de Projetos (PMBOK) que se tornou padrão mundial na área de projetos.

Segundo o PMBOK, um risco é
"um evento ou condição incerta que, se ocorrer,
provocará um efeito positivo ou negativo nos
objetivos do projeto"
(glossário, pg.376).

Os processos que descrevem o conjunto de atividades necessárias para o gerenciamento de riscos no PMBOK são:

* 11.1 - Planejamento do gerenciamento de riscos
* 11.2 - Identificação de riscos
* 11.3 - Análise qualitativa de riscos
* 11.4 - Análise quantitativa de riscos
* 11.5 - Planejamento de respostas a riscos
* 11.6 - Monitoramento e controle de riscos

* O Gerenciamento de Riscos corresponde ao capítulo 11 do PMBOK e deste número se originam os códigos acima.

Posted via email from espig's posterous

[ referência ] What's JAVA ?

A high-level programming language developed by Sun Microsystems. Java was originally called OAK, and was designed for handheld devices and set-top boxes. Oak was unsuccessful so in 1995 Sun changed the name to Java and modified the language to take advantage of the burgeoning World Wide Web. 


Java is an object-oriented language similar to C++, but simplified to eliminate language features that cause common programming errors. Java source code files (files with a .java extension) are compiled into a format called bytecode (files with a .class extension), which can then be executed by a Java interpreter. Compiled Java code can run on most computers because Java interpreters and runtime environments, known as Java Virtual Machines (VMs), exist for most operating systems, including UNIX, the Macintosh OS, and Windows. Bytecode can also be converted directly into machine language instructions by a just-in-time compiler (JIT). 

Java is a general purpose programming language with a number of features that make the language well suited for use on the World Wide Web. Small Java applications are called Java applets and can be downloaded from a Web server and run on your computer by a Java-compatible Web browser, such as Netscape Navigator or Microsoft Internet Explorer.

Posted via email from espig's posterous

[ referência ] What's API ?

Abbreviation of Application Program Interface, a set of routines, protocols, and tools for building software applications. A good API makes it easier to develop a program by providing all the building blocks. A programmer then puts the blocks together. 


Most operating environments, such as MS-Windows, provide an API so that programmers can write applications consistent with the operating environment. Although APIs are designed for programmers, they are ultimately good for users because they guarantee that all programs using a common API will have similar interfaces. This makes it easier for users to learn new programs.

Posted via email from espig's posterous

[ referência ] Java DataBase Connectivity (JDBC)

Java DataBase Connectivity (JDBC) 

- Java DataBase Connectivity (JDBC) is an API for the Java programming language that defines how a client may access a database. It provides methods for querying and updating data in a database. JDBC is oriented towards relational databases. 

- (pronounced as separate letters) Short for Java Database Connectivity, a Java API that enables Java programs to execute SQL statements. This allows Java programs to interact with any SQL-compliant database. Since nearly all relational database management systems (DBMSs) support SQL, and because Java itself runs on most platforms, JDBC makes it possible to write a single database application that can run on different platforms and interact with different DBMSs. JDBC is similar to ODBC, but is designed specifically for Java programs, whereas ODBC is language-independent. JDBC was developed by JavaSoft, a subsidiary of Sun Microsystems. 

- Java Database Connectivity or in short JDBC is a technology that enables the java program to manipulate data stored into the database. Here is the complete tutorial on JDBC technology. 

# What is JDBC? - JDBC is Java application programming interface that allows the Java programmers to access database management system from Java code. It was developed by JavaSoft, a subsidiary of Sun Microsystems. 

# Product Components of JDBC - JDBC is consists of four Components: The JDBC API, JDBC Driver Manager, The JDBC Test Suite and JDBC-ODBC Bridge. 

# Understanding JDBC Architecture - JDBC is an API specification developed by Sun Microsystems that defines a uniform interface for accessing various relational databases. JDBC is a core part of the Java platform and is included in the standard JDK distribution. 

# JDBC Driver and Its Types - The JDBC DriverManager class defines objects which can connect Java applications to a JDBC driver. DriverManager has traditionally been the backbone of the JDBC architecture. It is quite small and simple.

Posted via email from espig's posterous

[ referência ] ODBC (Acrônimo para Open Data Base Connectivity)

ODBC (acrônimo para Open Data Base Connectivity) é um padrão para acesso a sistemas gerenciadores de bancos de dados. Este padrão define um conjunto de interfaces que permitem o uso de linguagens de programação como Visual Basic, Delphi, Visual C++, entre outras capazes de utilizar estas interfaces, para ter acesso a uma vasta gama de bases de dados distintas sem a necessidade de codificar métodos de acesso especializados. 

Usando o ODBC, através da sua (a do ODBC) implementação específica da linguagem SQL, a aplicação pode comunicar-se com a base de dados de forma transparente, permitindo, por exemplo, que um mesmo programa possa utilizar simultaneamente o MySQL, o Access e o SQL Server sem a necessidade de mudanças na sua camada de dados. Obviamente, o uso destas interfaces está condicionado à existência de drivers ODBC específicos para as bases de dados que se deseja acessar. 

Com o surgimento e ascensão dos bancos de dados relacionais, cada empresa passou a adotar seu próprio padrão de banco de dados. Neste contexto, um programa desenvolvido para acessar uma base de dados X precisaria ter sua camada de dados parcialmente ou totalmente reescrita para para poder acessar uma base de dados diferente. 

Em meados da década de 90, o SQL Access Group criou um padrão denominado Open Data Base Connectivity (ODBC), com o objetivo definir um método de acesso universal que pudesse ser usado por qualquer software com qualquer base de dados, através de uma API padronizada, que poderia ser implementada pelos respectivos fabricantes. 

Baseado no ODBC, focado especificamente na plataforma Windows, surgiu o Java Database Connectivity, ou simplesmente JDBC, que funciona como uma ponte de ligação entre o Java e o ODBC.

Posted via email from espig's posterous

Wednesday, February 10, 2010

[ quote ] Henry Ford

Se eu perguntasse às pessoas o que elas queriam, teriam me dito: "um cavalo mais rápido".

Posted via email from espig's posterous

Tuesday, February 9, 2010

[ video ] Folgado

Wednesday, February 3, 2010

[ ref ] Normalizing a Data Model in SQL Server

[ foto ] Extra Large by Nick Brandt

Tuesday, February 2, 2010

[ link ] RSpec e TDD

[ artigo ] Test Driven Development (TDD)

O que é TDD?

Test Driven Development (TDD) ou em português Desenvolvimento dirigido por testes é uma técnica de desenvolvimento de software que basea em um ciclo curto de repetições: Primeiramente o desenvolvedor escreve um caso de teste automatizado que define uma melhoria desejada ou uma nova funcionalidade. Então, é produzido código que possa ser validado pelo teste para posteriormente o código ser refatorado para um código sob padrões aceitáveis. Kenk Beck, considerado o criador ou o ‘descobridor’ da técnica, estatificou em 2003 que TDD encouraja designs de código simples e inspira confiança. Desenvolvimetnto dirigido por testes é relacionado a conceitos de programação de Extreme Programming, iniciado em 1999, mas recentemente tem-se criado maior interesse pela mesma em função de seus próprios ideais. Através de TDD, programadores podem aplicar o conceito de melhorar e depurar código legado desenvolvido apartir de técnicas antigas

Posted via email from espig's posterous