Dicas do Bazílio

June 5, 2010

Connection pool

Uma pergunta recorrente no desenvolvimento de sistemas que acessam bancos de dados é como gerenciar as conexões a estes bancos.

Bem, a resposta é ….. depende! :-) Primeiramente, devemos nos recordar que uma conexão pode ser comparada a abertura de um arquivo. Ou seja, abrir 1, 2 arquivos, é simples. Entretanto, abrir 500, 1000, ou mais arquivos, certamente vai comprometer o desempenho do sistema.
Se você estiver criando uma aplicação desktop, monousuário, a gerência de conexões fica muito simplificada e recai na primeira situação. Entretanto, para aplicações web muito acessadas, provavelmente recairemos na 2a situação.

A solução que muitos frameworks para desevolvimento web adotam é a implementação de um pool de conexões (http://en.wikipedia.org/wiki/Connection_pool), cujo tamanho é controlado em tempo-real de acordo com a demanda do sistema. No uso geral, cada necessidade de acesso ao BD não representará, necessariamente, a criação de uma nova conexão. Neste caso, aplicação poderá, por exemplo, reaproveitar uma conexão que acabou de ser criada.

Abraços e boa programação!

May 26, 2010

Programas Exemplo

Prezados alunos de LP,

Atualizei o site com exemplos vistos em sala: o navegador web feito com Swing (Java) e um programa de desenhos geométricos para se fazer o trabalho do Tetris.

Abraços e boa programação!

Linguagens de Programação

May 25, 2010

Java development 2.0: NoSQL

Antes de falar sobre o título do post, gostaria de fazer propaganda sobre um site de artigos técnicos que leio com frequência: DeveloperWorks, da IBM. Nele encontramos assuntos diversos, sejam relacionados diretamente à IBM (Rational, WebSphere, etc), ou não (Java, Linux, XML, Desenvolvimento Web, etc). Tem muito artigo bom!

Para exemplificar, temos abaixo um artigo sobre a tendência de bases de dados de alguns sistemas atuais de abandonar o paradigma relacional. Como exemplo, Google Apps e o Twitter. Assunto para as próximas aulas! emoticon

Abraços e boa leitura!

Java development 2.0: NoSQL

May 20, 2010

OpenSwing Framework

Para quem anda a procura de alguma IDE para desenvolvimento de interfaces em Java, esta pode ser uma opção. É um framework baseado no Swing. Mas confesso, estou imitando o Silvio Santos (hahai, hihi), pois nunca o utilizei. Entretanto, pelas características descritas no site, parece bem interessante.

Abraços e boa programação! emoticon

OpenSwing Framework

May 17, 2010

Google Suggest

Alguns alunos têm me perguntado como funciona o Google Suggest (aquele recurso do buscador deles que, para cada caracter ou termo digitado, várias sugestões são automaticamente exibidas). Bem, a palavra chave para isso é AJAX. Existe muita referência na web. Entretanto, achei um post de um blog, um tanto antigo (2004), que fala especificamente do Google Suggest. Leiam e se esclareçam (ou tenham mais dúvidas!) emoticon

Abraços e boa leitura!

Chris Justus - Server Side Guy: Google Suggest Dissected… ,

May 11, 2010

Meus Favoritos

Não sei se pelo hábito da profissão, estimulado por práticas de reuso adquiridas ao longo da graduação, ou se é por pura preguiça, mas sempre detestei fazer qualquer coisa de forma repetitiva. Por exemplo, utilizei agenda de papel por alguns anos, mas toda virada de ano era um suplício, pois tinha que copiar os contatos de uma agenda para outra. Não bastou e troquei esta tarefa metódica e repetitiva por um clássico e confiável palm (agenda eletrônica).

A mesma sensação ocorria com meus favoritos (bookmarks) ao trocar de máquina. Até cheguei a implantar alguns métodos alternativos para copiar estes favoritos, mas nada se comparava a um gerenciador de favoritos virtual como o Delicious. Combinado com plugins do Firefox que me desobrigam de entrar no site do gerenciador, é imbatível! Não consigo viver sem, e não sei como o pessoal da área de Computação consegue.

Resolvi escrever a respeito pois um aluno de LP (Vinicius) me pediu referências sobre Python. Não sei se são os melhores, mas estes são os meus: http://delicious.com/carlosbazilio/python. Ahh, mas você se interessa por Java !?!? http://delicious.com/carlosbazilio/java. Bem, ele permite a criação de tags, as quais podem ser adicionadas à url principal do usuário para tornar intuitiva a busca pelos favoritos.

Abraços e boa navegação! emoticon

carlosbazilio’s Bookmarks on Delicious

May 10, 2010

Material sobre OO

Prezados,

Recentemente eu dei um treinamento para uma empresa, o que resultou num material interessante para o aprendizado de OO. Na verdade, vai bem além disso, já que a proposta do treinamento era Programação Web usando Java. Este material também é fruto da disciplina que ministro no CEDERJ.

Treinamento na Sirius Sistemas

May 6, 2010

Um pouco sobre Business Intelligence

Prezados,

Parei, por alguma razão, neste blog da equipe de tecnologia do Globo. Parece que postam de tudo. Este post (abaixo), em especial, chamou-me a atenção por conter vários termos muito comuns em concursos como o da Petrobrás. É um resumão, apenas para se ter uma idéia. Mas isto aí é quase tudo que não conseguimos falar na nossa disciplina! emoticon

Um pouco sobre Business Intelligence (BI) - Beta: O Globo

May 5, 2010

P1 - 2010.1

E aí, como foram na prova de hoje?

Bem, vamos aos comentários sobre cada questão:

1) Simples, não !? O assunto era escopo dinâmico. Bastava ter um pouco de atenção às variáveis locais das funções e à ordem de chamada das funções.

2) Para esta, tínhamos que lembrar o conceito de corotina. A simulação em C poderia ser feita definindo variáveis locais como estáticas (static), por exemplo. Uma destas, deveria ser utilizada para guardar a última posição executada do código, a qual poderia ser utilizada como um critério de desvio no início da função.

3) Esta, para mim, foi a mais "bonita" das questões! emoticon O assunto era programação genérica, que em C conseguimos manipulando o tipo (void *). Era importante observar que, na inserção de elementos na lista genérica, além de inserir o valor a ser armazenado nós indicávamos uma função que soubesse imprimir aquele valor. Com isso, para trabalhar com tipo pontos 3D (item (c)), tínhamos que criar uma estrutura e uma função que imprimisse os valores de uma estrutura como essa. Para item (d), tínhamos que criar funções de comparação para cada tipo existente, além de adicionar um campo no nó lista para registrar esta função, assim como na função de impressao. E era só isso!

4) Para esta questão, precisávamos lembrar o que é recursão em cauda. Neste caso, como não há computação a ser feita no retorno das chamadas recursivas, a função realiza recursão em cauda. Para a versão iterativa, bastava criar um while e combinar algumas variáveis locais. Para calcular o tamanho da pilha, precisávamos lembrar dos registros de ativações, os quais armazenam os parâmetros, variáveis locais e valor retorno, todos inteiros neste caso. Além disso, também é armazenado o endereço de retorno da função.

Abraços e espero que tenham ido bem !! emoticon

May 4, 2010

Hooks para o Malloc

Andei atualizando o site do curso de LP com outros códigos exemplo que demonstram alguns conceitos na linguagem C. Acabei esbarrando num recurso que ainda não havia visto neste contexto: um hook para interceptar chamadas à funções de alocação dinâmica. Ainda não consegui testar no MacOS pois, na distribuição que tenho, parece que não tem a biblioteca "malloc.h" que disponibiliza as funções. Mais informações em:

Hooks for Malloc - The GNU C Library

Abraços e bons estudos!

April 24, 2010

Retomada

Prezados,
Após um longo inverno sem postar nada, cá estou eu novamente. Entretanto, o objetivo é o mesmo de sempre: facilitar a interação com meus alunos.
Agora leciono no Pólo Universitário de Rio das Ostras e, neste semestre (2010-1), leciono as disciplinas de Projeto de Banco de Dados e Linguagens de Programação.
Para os alunos atuais, acabei de atualizar estes links!
Bem, por ora é isso.
Bazilio

September 11, 2007

Definido os horários para atendimento

Prezados,
Definí os seguintes horários para atendimento:

- Terça-feira, das 17-18h
- Quarta-feira, das 11-12h

Estes horários valem para alunos de todas as disciplinas que leciono.

Abraços e bom estudo!

September 6, 2007

Horário para atendimento

Prezados,

Preciso que me digam, o quanto antes, o horário que vocês acham adequado para que eu dê atendimento das disciplinas. Favor informar este horário (se possível, comentando este post) para que eu envie para a chefia de departamento.

Abraços.

August 16, 2007

Post Inaugural 2007/2

Categorias: Avisos

Caros,

Este é o blog que pretendo utilizar ao longo deste período para as disciplinas que eu estiver ministrando no PURO/UFF. Para cada disciplina eu criei uma categoria, o que vai simplificar a busca de informações para uma disciplina específica.

Como reutilizei um blog que utilizava num curso de Estruturas de Dados, na época em que dava aula na PUC-Rio, alguns leitores antigos podem voltar a fazer solicitações, as quais também serão prontamente respondidas!

Abraços e façam um bom proveito deste espaço. Vai ser útil para vocês e para os futuros alunos destas disciplinas.

Bazílio

September 12, 2006

Exercícios para a prova

Caros,

Resolvam as 3 primeiras questões desta prova como exercício para a P1.

Irei adicionando outros aqui até a quinta-feira. Exercitem-se para não perder o pique na hora da prova! ;-)

Abraços






















Get free blog up and running in minutes with Blogsome | Theme designs available here