Introdução às Estruturas de Dados I – Programação

Os dados existem em diferentes formas ou formatos e tamanhos, mas na maioria dos casos podem ser organizados da mesma maneira. Imaginemos uma lista de compras ou uma lista de tarefas, possuem diferentes tipos de dados mas não passam de listas. As listas são um exemplo de uma estrutura e dados, claro que há outros modos de organizar dados ou informação. Na programação informática existem vários modos de organização de estruturação de informação como por exemplo: vectores, lista ligadas, matrizes , pilhas, conjuntos, arvores, tabelas HASH, filas, grafos. Mais uma vez apresento as três razões para a sua utilização:

Eficiência – As estruturas de dados permitem organizar os dados de modo a tornar os algoritmos mais eficientes. Dados estruturas organizar os dados de maneira a tornar mais eficientes algoritmos. Por exemplo, utilizando um modo simples de organizar dados é colocar os dados num array e percorrer transversalmente até encontrarmos o elemento pretendido, claro que este modo é ineficiente, originando e muitas situações a passagem por todos os elementos do array. No entanto se utilizamos tabelas HASH ou árvores para organizar os dados, podemos encontrar o elemento pretendido rapidamente.

Abstracção – As Estruturas de dados permitem uma abordagem compreensível e ágil para analisar e pesquisar dados, permitindo uma abstracção na resolução de problemas. Por exemplo se armazenarmos dados numa pilha, concentramo-nos na operações que podemos fazer com elas que é muito semelhante a uma pilha de pratos, como colocar e retirar elementos (pratos) ou em inglês pushing e popping e não nos detalhes particulares como implementar cãs uma das operações.

Reutilização – As estruturas de dados são reutilizáveis porque tendencialmente são de livre contexto e modulares. Livres de contexto porque podem ser utilizadas para qualquer tipo de dados em muitas e diversas situações contextuais. Modulares porque cada um possui e fornece uma interface, que restringe o acesso aos dados armazenados na estrutura Isto é, temos acesso a dados utilizando apenas as operações da interface define. Na programação em Linguagem C, pode-se construir uma estrutura de dados de qualquer tipo, recorrendo à utilização de ponteiros void em vez de mantermos cópias privadas dos dados na própria estrutura.

 

Quando falamos de estruturas de dados, imaginamos um conjunto de operações que de um modo natural gostaríamos ou pretendíamos fazer, tais como inserir, remover, percorrer e contar elementos. Ao conjunto da estrutura com estas operações básicas chama-se tipo de dados abstracto e respectivas operações o seu interface publico. O interface publico define o que é permitido e possível fazer. É essencial porque permite administrar e gerir os dados de um programa de um modo mais eficaz e simple, facilitando assim alterações, manutenções futuras.

Link para a wikipedia onde se pode consultar a lista de Estruturas de Dados (Inglês): http://en.wikipedia.org/wiki/List_of_data_structures

Continua… não sei é quando!!! :) )

 

João Paulino

“Iniciativa Magalhães”

Será que este pequeno e robusto portátil como o seu nome indica “Magalhães” irá incutir o espírito de descoberta na iniciação às TI, nas crianças com idades compreendidas entre o 6 e 10 anos? Ou será mais uma “geringonça” a juntar a outras tantas que existem como leitores de MP3, PDA e telemóveis de última geração?

Sinceramente espero que de um modo concertado, acessível, fácil e seguro, permita um contacto afável e construtivo com as tecnologias de informação, permitindo ultrapassar barreiras geográficas, sócio-económicas e étnicas que se encontram tão acentuadas na nossa sociedade.

 

João Paulino

 

“Dia 29-07-2008 no Pavilhão Atlântico em Lisboa numa cerimónia presidida pelo primeiro ministro José Sócrates, o Governo e a norte-americana Intel, que conta com a presença do seu presidente Craig Barret, assinam um acordo estratégico para a criação da “Iniciativa Magalhães”, nome escolhido em homenagem ao navegador português Fernão Magalhães que comandou a primeira viagem de circum-navegação ao globo. A iniciativa tem três grandes objectivos.

O primeiro deles é a criação do computador também denominado Magalhães, desenvolvido em consórcio pela Intel, com a JP Sá Couto, uma empresa que já tem hoje uma unidade de produção de equipamentos informáticos em Matosinhos e com a Inforlândia, uma sociedade também portuguesa.

O produto, pelas suas características inovadoras e de preço permite cumprir o segundo e terceiro objectivo da “Iniciativa Magalhães”, que é disponibilizar equipamento informático e serviços de implementação, a preços acessíveis, para programas e iniciativas de carácter educacional a desenvolver noutros países, ou seja, exportar. E fornecer, já no próximo ano, portáteis para todos alunos portugueses do primeiro ciclo, adequados às suas realidades e exigências.”

Link para o vídeo da apresentação no sítio da RTP:

http://ww1.rtp.pt/noticias/index.php?headline=98&visual=25&article=356756&tema=29

 

João Paulino

 

 

Introdução aos Algoritmos I – Programação

Algoritmos são procedimentos bem definidos que têm o objectivo de resolver problemas. Em programação são essenciais para sistematizar processos. Utilizar o algoritmo correcto é como utilizar uma ferramenta certa nos nossos trabalhos de bricolage ou noutra actividade que delas necessite. Realiza o trabalho proposto com o mínimo de esforço. Se utilizarmos um algoritmo ineficiente ou mal definido é comparável a tentar-se cortar madeira com uma tesoura, podemos conseguir corta-la, mas exige muito esforço e podemo-nos aleijar. Aqui ficam três razões para utilizarmos algoritmos formais:

Eficiência – Determinados tipos de situações repetem-se em computação, investigadores, cientistas e outros interessados nos paradigmas da computação desenvolveram e continuam a desenvolver métodos eficientes de os resolver.

Abstracção – Proporciona um nível de abstracção na resolução de problemas à primeira vista complicados, permitindo a sua decomposição noutros problemas mais simples para os quais se podem aplicar algoritmos conhecidos e testados. Permitindo a anáslise do problema mais simples como uma abstracção do mais complicado.

Reutilização – É possível reutilizar o mesmo algoritmo em situações diferentes, pois a maioria dos algoritmos conhecidos e já amplamente testados resolvem problemas que não são mais nem menos do que generalizações dos problemas mais complicados, visto que estes podem ser decompostos em vários mais simples. Assim temos um método e eficiente de resolver uma situação simples que nos pode surgir imensas vezes.

 

A maioria dos algoritmos aborda o problema da mesma forma, isto dito ou melhor escrito de um modo lato. Então é conveniente e apropriado classifica-los e caracteriza-los, tendo como ponto de partida o tipo de aproximação ao problema que utilizam. É essencial proceder-mos assim para termos uma ideia da aproximação geral utilizada pelo algoritmo. Uma vantagem clara é permitir facilmente identificar vários tipos problemas que podem ser resolvidos por um determinado algoritmo. Como não há bela sem senão, existem algoritmos que são difíceis de classificar e ainda outros que estão baseados numa combinação de aproximações ou abordagens.

Link para a wikipedia onde se pode consultar a lista de algoritmos:

http://pt.wikipedia.org/wiki/Lista_de_algoritmos

(Continua… não sei é quando!!! :) )

 

João Paulino

 

Oracle Database 11g – Baixa o custo de propriedade, ajuda a cumprir os níveis de Serviço e a obedecer à regulamentação

Com mais de 400 recursos adicionais, 15 milhões de horas de testes e 36.000 pessoa/meses de desenvolvimento, o SGBDR Oracle 11g destaca-se como o software mais inovador e da mais alta qualidade já lançado pela Oracle. “SGBDR 11g oferece aos clientes a capacidade de assumir o controlo das suas informações empresariais, ter melhor visão dos negócios e adaptar-se com rapidez e confiança a um ambiente competitivo que passa por grandes mudanças”, afirmou William Hardie, vice-presidente de Marketing de Produto de base de dados da Oracle. “Trabalhamos com os nossos clientes, incorporamos novas capacidades e recursos na nova versão, a fim de ajudar a minimizar o risco das mudanças, cumprir as expectativas do nível de serviços dos utilizadores e regulamentações, além de baixar custos de TI”, completa Hardie.

Com o SGBDR Oracle 11g, as organizações e empresas poderão assumir o controlo da informação/dados empresariais, obtendo assim uma melhor visão dos negócios e adaptar-se com rapidez e agilidade a um ambiente competitivo que passa por grandes mudanças. A nova versão aumenta a capacidade de cluster de Base Dados, além de acelerar a automação do data center e a gestão da carga de trabalho.

Testes com aplicações ajudam a reduzir tempo, risco e o custo da mudança

O SGBDR Oracle 11g apresenta recursos avançados de autogestão e automação para ajudar as organizações, empresas e fornecedores de serviços a cumprir acordos de nível de serviços. Por exemplo, como as organizações precisam fazer actualizações regulares do sistema Operativo e da Base de Dados, além de alterações no hardware, SGBDR Oracle 11g conta com o Oracle Real Application Testing. Ou seja, trata-se do primeiro SGBDR capaz de ajudar os clientes a testar e gerir alterações no seu ambiente de TI rapidamente, de maneira controlada e com baixos custos.

Maior retorno do investimento em soluções de recuperação de catástrofe

No SGBDR Oracle 11g, o Oracle Data Guard permite a utilização da Base de Dados em standby para melhorar o desempenho no ambiente de produção, além de fornecer protecção contra falhas do sistema e catástrofes. O Oracle Data Guard possibilita a leitura e a recuperação simultâneas de uma única da Base de Dados standby, tornando-a disponível para relatórios, backup, testes e actualizações para Base de Dados de produção. Ao aliviar a carga de trabalho de um sistema de produção para um de standby, o Oracle Data Guard ajuda a melhorar o desempenho dos sistemas de produção e fornece uma solução de baixo custo para recuperação de catástrofe.

Melhoramento na gestão do ciclo de vida das informações e do armazenamento

O SGBDR Oracle 11g conta com novos e significativos recursos de particionamento e compactação de dados para as gestões do ciclo de vida das informações e do armazenamento com menor custo. Automatiza muitas operações de particionamento de dados e amplia o particionamento por faixas, por função matemática e por listas (em inglês, range, hash e list), incluindo as novas extensões por intervalo, referência e por coluna virtual (em inglês, interval, REF e virtual columns). Além disso, oferece um conjunto completo de opções de particionamento composto, permitindo que o gestão do armazenamento seja orientado por regras de negócios.

Em complemento aos recursos tradicionais de compactação de dados, oferece ainda compactação avançada para dados estruturados e não-estruturados (em inglês, large objects ou LOBs) geridos em ambientes transaccionais, data warehousing e de gestão de conteúdos. É possível atingir índices de compactação de 2x a 3x ou até mais para todos os dados, com os novos recursos.

Registo total de todas as alterações nos dados

A nova versão também apresenta o “Oracle Total Recall”, que possibilita a consulta de dados em tabelas designadas a partir de pontos no passado. O recurso é uma maneira fácil e prática de acrescentar uma dimensão de tempo aos dados para acompanhamento de alterações, auditoria e cumprimento de regulamentações.

Máxima disponibilidade de informações

A Oracle tem sido líder no mercado em protecção para SGBDR contra indisponibilidade planeada ou imprevista. O Oracle 11g mantém essa liderança, pois mantémas expectativas de disponibilidade de seus clientes/utilizadores. Dentre os novos recursos encontramos o Oracle Flashback Transaction, que possibilita a reversão de uma transacção efectuada com erro, bem como de qualquer transacção dependente; Parallel Backup and Restore, que ajuda a melhorar o desempenho do backup e restauro de Grandes Base de Dados (VLDB); e ‘hot patching’, que melhora a disponibilidade do sistema ao permitir que as correcções sejam aplicadas sem a necessidade de interromper dos SGBDR. Além disso, um novo recurso de recomendação – Data Recovery Advisor – ajuda os administradores a reduzir significativamente paragens para recuperação, o que permite automatizar investigação de falhas, determinar planos de recuperação e lidar com várias situações de crise.

Oracle Secure Files

Esse recurso de última geração tem a função de armazenar grandes objectos como imagens, textos ou tipos de dados avançados – incluindo XML, imagens médicas e objectos tridimensionais – na base de dados. O Oracle Secure Files possui un desempenho comparável aos sistemas de ficheiros. Ao armazenar uma variedade mais ampla de informações empresariais e estratégicas e recuperá-las com rapidez e facilidade, as empresas podem saber mais sobre seus negócios e adaptar-se com agilidade.

XML mais rápido

O SGBDR Oracle 11g inclui melhoramentos significativos de desempenho no XML DB, um recurso que permite armazenar nativamente e manipular dados em XML. Acrescentou-se o suporte para XML binário, oferecendo aos clientes várias opções de armazenamento de XML que obedecem aos seus requisitos específicos de aplicação e desempenho. O XML DB também possibilita manipulação de dados em XML tilizando interfaces padrão de mercado com suporte para XQuery, Java Specification Requests (JSR)-170 e padrões SQL/XML.

Criptografia transparente

O SGBDR Oracle 11g adiciona aos seus recursos de segurança outros ainda mais significativos. A nova versão possui melhoramentos dos recursos do Oracle Transparent Data Encryption, além da criptografia ao nível das colunas, oferece ainda criptografia de tablespaces, que pode ser utilizada para criptografar tabelas inteiras, índices e outros armazenamentos de dados.

Cubos OLAP incorporados

O SGBDR Oracle 11g também oferece inovações em data warehousing. Os cubos OLAP foram melhorados e desenvolvidos para se comportarem como vistas materializadas na base de dados. Assim os programadores podem utilizar SQL standard para realizarem consultas aos dados, além do benefício da performance proporcionada por um cubo OLAP. Os novos recursos de notificação contínua de consultas permitem que as aplicações sejam notificadas imediatamente, sempre que forem feitas alterações importantes nas informações contidas na base de dados, sem sobrecarregá-lo com pesquisas constantes.

Pool de conexões e caches de resultados das consultas/pesquisas

Os recursos de desempenho e escalabilidade do SGBDR 11g possibilitam às empresas manter uma infra-estrutura de serviços de alta qualidade e desempenho. O novo produto consolida ainda mais a posição da Oracle como líder em desempenho e escalabilidade do mercado, com novos recursos como Query Result Caches, que melhoram o desempenho e a escalabilidade com o armazenamento em cache e a reutilização dos resultados de consultas mais frequentes e as funções do SGBDR. Oferece ainda o Database Resident Connection Pooling, que melhora a escalabilidade dos sistemas baseados na web ao fornecer pools de conexões para aplicações que não são multithread, ou seja, quando diferentes partes de um código são executadas concorrentemente ou em simultâneo.

Desenvolvimento de Aplicações

O SGBDR Oracle 11g disponibiliza várias ferramentas e um processo rápido de desenvolvimento de aplicações, que aproveita a totalidade dos principais recursos dessa versão. Destaco os novos recursos como cache no cliente, XML binário para melhor desempenho das aplicações, processamento de XML e armazenamento e recuperação de ficheiros. Além disso, o Oracle 11g também inclui um novo compilador Java “just-in-time” para executar rapidamente procedimentos Java na base de dados, sem a necessidade de um compilador de outro fornecedor; integração nativa com o Visual Studio 2005 para desenvolvimento de software .NET no Oracle; ferramentas de migração de Access com Oracle Application Express; e um recurso para fácil criação de consultas do SQL Developer e rápida codificação de “statements” SQL e PL/SQL.

Melhoramentos na autogestão/autoadministração e na automação

Os recursos de administração do SGBDR Oracle 11g foram desenvolvidos para facilitar o gestão dos grids empresariais, atendendo às expectativas dos utilizadores quanto ao nível dos serviços. Possui mais recursos de autoadministração e automação, que contribuem para a redução dos custos de gestão dos sistemas e o aumento do desempenho, da escalabilidade, da disponibilidade e da segurança das aplicações. Entre os novos recursos de administração presentes no Oracle 11g, destacam-se o ajuste automático de SQL e memória; o novo Partitioning Advisor que sugere aos administradores automaticamente como particionar tabelas e índices para melhorar o desempenho; e diagnóstico do desempenho para clusters de base de dados. Além disso, inclui um novo Support Workbench que fornece uma interface fácil de utilizar, apresenta incidentes relacionados à integridade da base de dados aos administradores, em conjunto com instruções e informação para a sua resolução.

 

João Paulino

Oracle Database 10g Express Edition – Free to develop, deploy, and distribute

Oracle Database 10g Express Edition, foi desenvolvido com base no SGBDR Oracle 10g Release 2 e é compatível com toda a família de SGBDR 10G, o que permite e simplifica a actualização e migração para as versões Oracle Standard Edition One, Oracle Standard Edition e Oracle Enterprise Edition.

 

É fornecido também o Oracle Application Express, que permite um rápido desenvolvimento e implementação de aplicações baseadas em interface WEB.

Encontra-se disponível para download versões para Linux (Debian, Mandriva, Novell, Red Hat and Ubuntu) e Windows em:

http://www.oracle.com/technology/software/products/database/xe/index.html

 

Existe um fórum comunitário grátis, mas é necessário registar-se, onde se podem discutir tópicos sobre o Oracle Database 10g Express Edition.

Atenção não é possível obter Service Request do Oracle Suporte, por isso não utilize esta versão em sistemas críticos!

http://www.oracle.com/technology/products/database/xe/forum.html

 

Notas: É uma excelente ferramenta para Administradores de Base de Dados poderem treinar, para instituições de ensino e estudantes que necessitem de um SGBDR gratuito, permitindo o desenvolvimento com .NET, XML, Java, PHP, etc.

FAQ em:

http://www.oracle.com/technology/products/database/xe/pdf/dbxe_faq.pdf

 

João Paulino 

Code::Blocks – Ambiente de Desenvolvimento Integrado Livre

Blocks

Code::Blocks

Code::Blocks (ou C::B) é um “Integrated Development Environment” ou em português Ambiente de Desenvolvimento Integrado para C/C++, Livre, de código aberto e multiplataforma Desenvolvido em torno de uma framework de plugins, permitindo assim aumentar o número de funcionalidade ou até melhora-las, agilizando assim o desenvolvimento de software.Não existia uma versão estável desde 2005, e este ano em 28 Fevereiro foi lançada a versão 8.02 bastante robusta. Existem versões para as seguintes plataformas:

 

Windows 2000 / XP / Vista

Linux (Ubuntu,Debian, 32Bit/64 bit)

Mac OS X 10.4+

 

http://www.codeblocks.org/

 

João Paulino

A brincar se aprende ITIL e Boas Práticas, Apollo 13 – an ITSM case experience

 

Apollo 13 Mission
Apollo 13 Mission

 

 

 

 

 

 

55:55:20 – Swigert: “Okay, Houston, we’ve had a problem here.”  

55:55:28 – Lousma: “This is Houston. Say again please.”

55:55:35 – Lovell: “Houston, we’ve had a problem. We’ve had a main B bus undervolt.”

“Houston, we´ve had a problem”, é uma frase muito célebre pronunciada às 55 horas e 55 minutos da missão Apollo 13, tornou-se emblemática da urgência e habilidade necessárias para superar situações limítrofes num espaço de tempo exíguo. Tal qual a equipa de simulação em Houston, que reproduziu a experiência vivida pela nave em perigo, o Apollo13 – an ITSM case Experience ™² ensina conceitos como prioritização, trabalho sobre pressão e a importância da comunicação efectiva entre os diferentes grupos de trabalho. O objectivo é trazer a nave acidentada e a tripulação de volta para casa (Terra) em segurança. Assim é possível verificar e até sentir os benefícios da utilização das Boas Práticas no desempenho das TI nas Empresa: satisfação dos clientes, custo de propriedade, eficácia e resultados dos processos.

http://www.gamingworks.nl/pbs/Apollo13-ITSM.php

 João Paulino

 

Publicado em ITIL. Tags: , , . Leave a Comment »

Oracle Monitoring Specification – Topics (English)

  • General Server Metrics
       Availability
       Physical Reads
       Physical Reads per Minute
       Logical Reads
       Logical Reads per Minute
       Physical Writes
       Physical Writes per Minute
       User Calls
       User Calls per Minute
       User Commits
       User Commits per Minute
       User Rollbacks
       User Rollbacks per Minute
       Connections Cumulative
       Connections Cumulative per Minute
       Connections Current
       Bytes Sent via SQL*Net
       Bytes Sent via SQL*Net per Minute
       Bytes Received via SQL*Net
       Bytes Received via SQL*Net per Minute
       Client Roundtrips
       Client Roundtrips per Minute
       Opened Cursors Cumulative
       Opened Cursors Cumulative per Minute
       Opened Cursors Current
       CPU Time Total
       CPU Time Total per Minute
       CPU Time Recursive
       CPU Time Recursive per Minute
       CPU Time Parse
       CPU Time Parse per Minute
       Cache Hit Ratio
       Up Time
       Block Changes
       Block Changes per Minute
       Redo Size Generated
       Redo Size Generated per Minute
       Redo Log Size
       Session PGA Memory
       Session UGA Memory
       Parse Count (total)
       Parse Count (total) per Minute
       Parse Count (hard)
       Parse Count (hard) per Minute
       Sorts Disk
       Sorts Disk per Minute
       Sorts Memory
       Sorts Memory per Minute
       Sorts Rows
       Sorts Rows per Minute
       Table Scans (long)
       Table Scans (long) per Minute
       Table Scans (short)
       Table Scans (short) per Minute
       Execute Count
       Execute Count per Minute
       Instance Used Space
       Instance Free Space
  • Segment Metrics
       Availability
       Disk Space Used
       Number Of Rows
  • TNS Ping Metrics
       Availability
       TNS Response Time
  • Process Metrics Metrics
       Availability
       Process Virtual Memory Size
       Process Resident Memory Size
       Process Page Faults
       Process Page Faults per Minute
       Process CPU System Time
       Process CPU System Time per Minute
       Process CPU User Time
       Process CPU User Time per Minute
       Process CPU Total Time
       Process CPU Total Time per Minute
       Process CPU Usage
       Process Start Time
       Process Open File Descriptors
       Process Threads
  • Tablespace Metrics
       Availability
       Free Space
       Free Extents
       Disk Space Used
       Number of Data Files
       Space Used Percent
  • User Instance Metrics
       Availability
       Logons Current (active)
       Logons Current (inactive)
       Opened Cursors Current
       Used Space
  • Oracle Control Specification
  • Control Actions
  • Analyze

João Paulino

 

Governação de TI, Conceitos e Modelos – Parte I – Introdução

Governação de TI

  • Conceitos, definições e boas práticas
  • Metodologias e Frameworks (recomendações, regras e normas) ITIL
      Estrutura, conceitos e processos COBIT
      Estrutura, conceitos e processos
    CMMI, BS 7799 ISO/IEC 17799:2005/ BS 15000 ISO/IEC 20000-1:2005  e outros modelos
  • Normas e Certificação
  • Visão geral
  • Integração e aplicação dos modelos

Governação: Modelo que define direitos e responsabilidades pelas decisões, estratégias e investimentos, encorajando comportamentos desejáveis e cumprimento de recomendações, normas e regras na utilização das TI, mapeados em controlos e processos que asseguram e garantem o alinhamento entre negócios e TI.

(Continua)…

João Paulino