Mostrando postagens com marcador Banco de dados. Mostrar todas as postagens
Mostrando postagens com marcador Banco de dados. Mostrar todas as postagens

domingo, 14 de fevereiro de 2010

Fazendo o Apache gravar os logs no MySQL.

Uma coisa bem bacana de se fazer, é colocar os logs do Apache em um banco de dados, principalmente se você quiser montar uma ferramenta para análise da maneira que precisa. Não é complicado de ser feito, como veremos no decorrer deste artigo.

Continuar lendo...

segunda-feira, 6 de abril de 2009

Pesquisando as impressões efetuadas através do seu servidor de impressão

Conforme pôde ser visto no post anterior, configuramos a auditoria no equipamento que atuará como servidor de impressão. Agora, precisamos consultar de alguma maneira as impressões realizadas.

Como as impressões são realizadas e registradas no log de eventos do Windows, agora precisamos de um script exportar o log, já que a exportação padrão do visualizador de eventos não nos fornece os dados principais da impressão (o que foi impresso, tamanho do trabalho de impressão e quantas páginas).

Continuar lendo...

quarta-feira, 19 de março de 2008

WAMP em nova versão.

Saiu do forno a nova versão do WAMP. As novidades são o Apache 2.2.8 e o MySQL 5.0.51a.

Segundo o changelog, foi adicionado também o suporte a línguas complementares e corrigido um bug no Windows Vista 64.

Maria: a evolução do MyISAM

Distribuído originalmente como uma extensão do MyISAM, o Maria é o novo engine do MySQL com suporte a recuperação após quedas (crash recovery).

Este engine, no momento em que escrevo este post, está sendo distribuído como preview.

Baseado na versão 5.1 do MySQL, ainda não há previsão de lançamento oficial e nem quando será fundido junto a distribuição do MySQL.

A documentação completa pode ser encontrada aqui e o download aqui.

Assim que eu fizer testes mais apurados, publicarei um artigo aqui.

E você: já testou este engine? Conte-nos sua experiência.

domingo, 3 de fevereiro de 2008

Otimizando o tamanho de bancos de dados PostgreSQL

Neste artigo escrito para a LinuxInsight são apresentadas as técnicas para otimizar o tamanho ocupado pelos banco de dados em PostgreSQL, bem como uma explicação de cada um dos procedimentos.

É interessante notar o quanto pode-se recuperar de espaço em disco após alguns procedimentos de DBA serem executados.

Conforme o autor demonstra, um banco de dados que ocupava quase 6 GB, após os procedimentos listados, caiu para aproximadamente 1,7 GB.

Não preciso nem falar sobre o ganho de velocidade para a aplicação que utiliza o banco.

Utilizando o MSSQL Server para autenticar usuários no Apache2

Neste artigo do HowToForge.com, Gatis Spats descreve o que deve ser feito para o Apache2 autenticar através do MS SQL Server.

Ao escrever o artigo, foi utilizado o MS SQL rodando no Windows 2003 Server. O Apache2 estava rodando no SuSe Linux Enterprise 9.

quarta-feira, 23 de janeiro de 2008

Bancos de dados livres e ferramentas comerciais.

O Fabio Telles Rodrigues do Savepoint, publicou um artigo muito bem escrito mostrando os principais motivos aos quais os produtores de softwares comerciais preferirem bancos de dados comerciais aos livres (no caso o PostgreSQL) . Leitura recomendada.

MySQL: Store procedures com recursividade.

O Uzed em seu blog postou um artigo explicando como montar store procedures com recursividade no MySQL. O artigo está de fácil compreensão, explicando passo a passo como criar recursividade em store procedures e ainda tem os links para a documentação a ser consultada.

Parabéns pelo artigo Uzed.

quinta-feira, 17 de janeiro de 2008

Restringindo seus usuários a um único login por vez.

Quantas vezes você precisou criar uma aplicação ou até mesmo um site onde o usuário só possa estar logado num único lugar por vez evitando o compartilhamento de usuário/senha?

Este tipo de situação pode ocorrer facilmente quando você está desenvolvendo uma aplicação.

Após este tipo de dificuldade ter aparecido, resolvi criar uma classe em PHP para resolver este problema.

Nesta classe, considerei as seguintes hipóteses:
  1. O usuário efetua o login e fecha o navegador sem efetuar o logout.
  2. O usuário efetua o login em uma máquina e repassa seus dados de conexão para terceiros que o utilizam no momento em que ele está logado e usando o sistema.
  3. Evitar roubo de sessão.
As respostas a cada uma dessas hipóteses, foram dadas da seguinte forma:
  • Quando o usuário efetuar um novo login, este irá desconectar todas as sessões existentes (ítens 1 e 2 acima). Afinal uma pessoa não pode estar em dois lugares ao mesmo tempo.
  • Criar um token de sessão que possa ser verificado com base em alguns dados fixos (por exemplo o id de usuário no sistema ou o seu nome), dinâmicos (id de sessão, endereço ip) e variáveis (como a senha do usuário).
  • Geração do id de sessão de tempos em tempos.
  • Duração da sessão com tempo fixo.
  • Garbage collection para as sessões.
Tendo isto tudo em mente, arquitetei a solução baseada em banco de dados para armazenar todos os dados referentes ao gerenciamento das sessões.

E, para um reaproveitamento de código e interdependência de banco de dados, utilizei o AdoDB. Assim, a mesma classe pode ser utilizada tanto com MySQL quanto PostgreSQL ou qualquer outro banco suportado pela AdoDB.

Após isto tudo, codifiquei minha classe. Em cada página instanciei-a e chamo apenas um método que faz todas as verificações. Caso uma delas não seja satisfeita, o usuário pode ser redirecionado para uma página de login, por exemplo, indicando o motivo pelo qual o login está sendo requisitado.

Em sua aplicação, como você tem feito para controlar múltiplos logins de um mesmo usuário?

Sun: mais informações sobre a compra da MySQL AB.

Dando continuidade ao post da aquisição da MySQL AB pela Sun, este post publicado pela ComputerWorld apresenta mais algumas informações sobre o que deve ocorrer no futuro, de modo a tranquiliziar os desenvolvedores que utilizam o banco de dados, incluindo comentários de Jon "Maddog" Hall.

MySQL & Store Procedures: Uma maneira de recuperar os múltiplos resultados.

Para quem não usa o ADOdb, pode utilizar este trecho de código disponibilizado pelo Peter Brawley no fórum de PHP no site do MySQL.

A recomendação é que seja utilizado o driver MySQLi ao invés do MySQL tradicional.

Da maneira tradicional, não há possibilidade de recuperarmos o resultado de parâmetros de retorno (OUT) utilizados nas store procedures, além da possibilidade de recebermos mensagens de erro como Procedure mySP can't return a result set in the given context.

Estas limitações não acontecem no driver MySQLi.

Sun adquire MySQL. E agora?

Esta notícia não é tão nova. Conforme noticiado no site da MySQL AB, a Sun adiquire a empresa fabricante de um dos bancos de dados open-source mais populares por US$ 1 Bilhão sendo destes US$800 milhões em dinheiro e o restante em ações da empresa.

Em princípio, nada deve mudar para usuários do MySQL. Só resta esperarmos o pronunciamento oficial da Sun sobre como deverá ser a política de utilização do banco daqui em diante.

Mais informações podem ser encontradas aqui e aqui.

Quem sabe, o pessoal da Sun acaba abrindo o Java? Só o tempo nos dirá.

sexta-feira, 4 de janeiro de 2008

Tutoriais sobre pl/pgsql.

O Ivo Nascimento disponibilizou em seu blog, o início de uma série de tutoriais para quem deseja aprender pl/pgsql. Sua intenção é lançar dois artigos por semana. Os artigos podem ser lidos aqui e aqui. Boa leitura a todos.

segunda-feira, 31 de dezembro de 2007

Links para quem está iniciando no desenvolvimento WEB.

Para quem já tem certa experiência com o desenvolvimento, estes links podem não fazer muita diferença, mas para quem está começando podem representar toda a diferença.

PHP.net (portugês ou inglês)
W3Schools (em inglês)
PHPBuilder (em inglês)
GotAPI (em inglês)

E você, tem algum link para sugerir? Deixe o seu link e o seu comentário.