terça-feira, 25 de outubro de 2011

TECNOLOGIA EM SERVIÇOS DE INTERNET

Olá amigos,

Segue link (www.atenaps.com) do meu novo site pessoal de Tecnologia em Serviços de Internet. Aproveitem para opinar sobre e ficarem por dentro dos meus serviços oferecidos.


Acreditamos que a Internet é a solução ideal para a conquista do sucesso e surgimento de uma grande marca. Por este motivo atuamos de forma dinâmica e criativa, desenvolvendo soluções para projetos que exijam um design inteligente e inovador. 

Site Atenaps.com

domingo, 16 de outubro de 2011

5 DICAS DE SEO PARA SITES

1. ENDEREÇO DO SITE (URL)

O seu endereço web, mais conhecido como URL, deverá ser o mais simples possível. O endereço deve ser relacionado com o conteúdo das páginas do seu site. Evite o uso de números e caracteres estranhos como, por exemplo, www.website.com.br/?id=5190. Caso você esteja utilizando um CMS, poderá utilizar o recurso de URL's amigáveis. Exemplo: http://webmasterpauloricardo.blogspot.com/2011/10/5-dicas-de-seo-para-sites.html. Alguns truques que poderá utilizar, passam por utilizar hífens ( – ) ao invés de underscores ( _ ), segundo consta os motores de busca preferem os hífens ( – ).

2. ROBOTS.TXT

O arquivo robots.txt informa aos motores de busca quais páginas do seu site que você quer indexar e as quais não quer. Esse arquivo deverá estar na pasta raiz do site denominado root.
Aprenda a configurar esse arquivo com um artigo da Escola WordPress: Melhores regras para os Robots.txt do WordPress.

3. SITEMAP HTML

Um sitemap HTML, é um mapa visual do site, exibindo tanto aos motores de busca como para os visitantes do site a forma de organização e acesso as páginas do site.
Aprenda a implementar um Sitemap HTML com o artigo da Escola WordPress: Sitemap HTML para WordPress.

4. NAVEGAÇÃO E ORGANIZAÇÃO DE CONTEÚDO ADEQUADA

A navegação e os conteúdos do seu site devem ser bem planejados. Na hora do planejamento, você deverá levar em consideração alguns pontos chave.
  1. Experiência do usuário final (visitante do site);
  2. Fácil indexação dos motores de busca;
  3. Carregamento rápido do site;
  4. Design limpo e navegação fácil;
  5. Não utilizar imagens e flash em menus, pois dificulta o rankeamento dos motores de busca;
  6. Utilizar textos e recursos jQuery para menus, pois facilita a indexação dos motores de busca;
  7. Trabalhar nas páginas com imagens leves de preferência nos formatos: .jpeg, .png ou .gif;
  8. Evitar de carregar vídeo do seu servidor, preferindo desta forma fazer um link de um vídeo armazenado no YouTube;
  9. Evitar criar páginas muito longas, onde o visitante precisa rolar a página do site por muito tempo.
5. SITEMAP XML
O sitemap XML, é um mapa do site direcionado aos motores de busca. Neste arquivo, deverá conter todas as páginas desejadas para a indexação. Um sitemap XML irá melhorar muito o SEO do seu website por ser um meio fácil e rápido de visualizar as páginas do site.

sábado, 8 de outubro de 2011

DICAS DE SEGURANÇA: ROUBO DE SENHAS

Neste artigo, vamos analisar uma das formas mais usadas na internet para roubar senhas e outras informações de nossos computadores. As figuras abaixo exibem como os crackers usam desse artifício para afetar e roubar informações através dos correios eletrônicos que usamos todos os dias.

Figura 01 - E-mail desconhecido
Figura 02 - Vírus no e-mail








Figura 03 - Página desconhecida
Figura 04 - Arquivos com vírus



terça-feira, 20 de setembro de 2011

ROTINA DE BACKUP E RESTORE NO POSTGRESQL

Neste artigo, vamos criar uma rotina de backup e outra de restauração de uma base de dados do PostGreSQL.

1º - Abra o bloco de notas e digite o script de backup abaixo. Note que usamos o serviço pg_dump nativo do PostGreSQL para criar um backup.

/*define o usuário e a senha*/
set PGUSER=nome do usuário
set PGPASSWORD=senha

/*captura a data do sistema*/
for /f "tokens=1,2,3,4 delims=/ " %%a in ('DATE /T') do set Date=%%b-%%c-%%d 

/*passa em sequência: o serviço pg_dump, o servidor onde está o banco de dados, a porta, o nome do usuario, o caminho onde será armazenado o backup concatenado com a data*/   
C:\Arquiv~1\Postgr~1\8.4\bin\pg_dump.exe -i -h localhost -p 5432 -U nome_usuario -F c -b -o -v -f "C:\caminho\backup\bancoBackup%Date%.backup" nome_banco

2º - Ao final salve o arquivo com a extensão .bat (arquivo executável).

3º - Abra novamente o bloco de notas e digite o script de restore abaixo. Neste momento, usamos o serviço pg_restore nativo do PostGreSQL para criar uma restauração da base de dados.

/*define o usuário e a senha*/
set PGUSER=nome do usuário
set PGPASSWORD=senha

/*captura a data do sistema*/
for /f "tokens=1,2,3,4 delims=/ " %%a in ('DATE /T') do set Date=%%b-%%c-%%d 

/*passa em sequência: o serviço pg_restore, o servidor onde está o banco de dados, a porta, o nome do usuário, o nome do banco de dados, o caminho onde será capturado o backup feito*/       
C:\Arquiv~1\Postgr~1\8.4\bin\pg_restore.exe -i -h localhost -p 5432 -U nome_usuario -d nome_banco -v "C:\Sistema-siscae\backup\bancoBackup%Date%.backup"

4º - Salve o arquivo com a extensão .bat (arquivo executável).

5º - Neste momento, é só executar o arquivo.


quarta-feira, 14 de setembro de 2011

DICAS DE USABILIDADE EM FORMULÁRIOS

Na internet encontramos os mais variados tipos de formulários para comunicação com o usuário. Os principais tipos de formulários que encontramos são:
  • Formulário de contato;
  • Formulário de orçamento;
  • Formulário de newsletter;
  • Formulário de cadastro no site;
  • Formulário de pesquisa e eventos.
Mais o que um formulário realmente precisa para ter sucesso na web? Seguem algumas boas maneiras de criação de formulários.
  • Antes de criar um formulário, seja para qual for a finalidade, faça perguntas a sí mesmo ou com a equipe a respeito do objetivo deste pequeno projeto. Em outras palavras, qual o objetivo do formulário em solicitar tais informações ao internauta;
  • É uma informação que você geralmente precisa para o projeto? Se sim, então coloque-a, caso contrário, não solicite;
  • Se preocupe com os detalhes do layout;
  • Evite muitos bloqueios de digitação e formatação;
  • Se preocupe com o desempenho do formulário. Se possível, coloque efeitos em Ajax demonstração que o site está em processo de carregamento;
  • Em todo formulário criado, se preocupe em dar um feedback para o usuário, seja no próprio site ou por e-mail;
  • Se o formulário for muito longo, dê a opção de salvar em processos e permitir continuar posteriormente;
  • Outra preocupação é a respeito da padronização dos formulários de um mesmo site. Ou seja, se no site você possui mais de um formulário, padronize o layout, as validações, as mensagens etc.
Até o próximo post.

quinta-feira, 1 de setembro de 2011

CALENDÁRIO COM JQUERY

Rápido post ensinando como implementar o efeito de calendário automático usando a tecnologia jQuery.


1. Fazer download do jQuery no site: http://jqueryui.com/
2. Fazer referências para os arquivos javascript e css.

<link type="text/css" href="css/ui-lightness/jquery-ui-1.8.15.custom.css" rel="stylesheet" />
<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.15.custom.min.js"></script>

3. Colocar na página do formulário o seguinte javascript passando o nome do campo:

<script type="text/javascript">
          $(function() { /* função para calendário para data de nascimento */
          $( "#clit_dtnascimento" ).datepicker(); /*Nome do campo*/ });
</script>

sábado, 27 de agosto de 2011

ARQUITETURA DE DESENVOLVIMENTO (MVC)

Model-view-controller
O Model-view-controller (MVC) é um padrão de arquitetura no desenvolvimento de softwares que tem como objetivo separar a lógica de negócio da lógica de apresentação, permitindo o desenvolvimento, teste e manutenção isolado de ambos. Em outras palavras, esse padrão permite dividir um sistema em 3 (três) camadas:



Camada de Modelo (model): Representa os dados, as classes e os domínios da aplicação.  É o coração da aplicação.
  • Modela os dados e o comportamento por atrás do processo de negócios.
  • É um encapsulamento de dados e de comportamento independente da apresentação.
Camada de Visão (view): Apresenta as telas (layouts) da aplicação. Não esta preocupada em como a informação foi obtida ou onde ela foi obtida apenas exibe a informação.
  • Inclui os elementos de exibição no cliente : HTML, XML, ASP, Applets, PHP, Java.
  • É a camada de interface com o usuário.
  • É usada para receber a entrada de dados e apresentar o resultado.
Camada de Controle (controller): Trabalha na camada de entrada de dados, ele também é responsável por validar, filtrar e gravar esses dados no banco de dados. Determina o fluxo da apresentação servindo como uma camada intermediária entre a camada de modelo e a de visão.
  • Controla e mapeia as ações.

Vantagens do modelo MVC :

  1. Como o modelo MVC gerencia múltiplos visualizadores usando o mesmo modelo é fácil manter, testar e atualizar sistemas múltiplos.
  2. É muito simples incluir novos clientes apenas incluindo seus visualizadores e controles.
  3. Torna a aplicação escalável.
  4. É possível ter desenvolvimento em paralelo para o modelo, visualizador e controle, pois são independentes. 
Desvantagens do modelo MVC:
  1. Requer uma quantidade maior de tempo para analisar e modelar o sistema.
  2. Requer pessoal especializado.
  3. Não é aconselhável para pequenas aplicações.
Principais Plataformas/Linguagens de Desenvolvimento:
  • .NET;
  • ASP;
  • ASP.NET;
  • Java;
  • Perl;
  • PHP;
  • Python;
  • Ruby.

 Dividir para conquistar. (Anatolii Karatsuba)

Até o próximo post.

domingo, 21 de agosto de 2011

Introdução ao BPM

BPM (Business Process Management)
A partir de 2003 o BPM começou a ser utilizado em grande escala por organizações interessadas em novas soluções de controle de suas estratégias empresariais. O BPM (Business Process Management) conhecida como Gestão da Performance Corporativa ou Gestão do Desempenho Empresarial é uma categoria de sistemas focada em acompanhamento de perfomance dos negócios de uma organização.

O BPM surgiu com a implementação dos sistemas integrados de gestão (ERPs) nas grandes empresas. Os sistemas ERPs contêm uma infinidade de regras e tomada de decisões de longo prazo. Com o uso do BPM é possível administrar essas regras e possibilitar aos analistas de processos a fazerem alterações na regra de negócio sem alterar a programação.

O objetivo do BPM é acompanhar sistematicamente como os recursos (físicos, financeiros, humanos, tecnológicos etc) de uma organização são alocados e convertidos em ações operacionais na busca das metas organizacionais, a partir da definição de prioridades.

O BPM permite a análise, definição, execução, monitoramento e administração de processos, incluindo o suporte para a interação entre pessoas e aplicações informatizadas.

Como consequência de uma plataforma de BPM totalmente consolidada com o ERP, é possível tomar decisões de longo prazo baseadas em simulações de cenários, aplicação de premissas e identificação das variáveis do negócio. Sobre essas variáveis é possível aplicar variações a fim de se entender a reação do negócio e as instabilidades no contexto sócio-econômico, objetivando garantir a eficácia da estratégia.

As soluções de BPM visam padronizar os processos corporativos com o propósito de medir, analisar e otimizar a gestão do negócio e os processos de análise financeira da empresa.

QUEM VENCE A DISPUTA ENTRE BANCO DE DADOS? (PARTE 2)

Continuando o artigo sobre "Quem vence a disputa entre banco de dados?", veremos comparações entre os sistemas gerenciadores de banco de dados nos seguintes aspectos:
  • Capacidades;
  • Tipos de Dados;
  • Objetos;
  • Particionamento;
  • Controle de Acesso.

Capacidades de Banco de Dados

Informações sobre capacidades do banco de dados







Os Tipos de Dados
Informações os tipos de dados e suporte
Objetos

Informações sobre objetos

Nota: Ambos function e procedure referem-se a rotinas internas escritas em SQL.
 Particionando

Informações sobre particionamento

Controle de Acesso

Informações sobre controle de acesso


Observação: Como o mercado de banco de dados está em alta, as mantenedoras dos sistemas gerenciadores de banco de dados lançam vários pacotes de atualização dos seus produtos, desta forma, fique atento quanto as características e novas funcionalidades criadas.

Veja: QUEM VENCE A DISPUTA ENTRE BANCO DE DADOS 

Finalizamos essa matéria sobre as características e comparações entre sistemas gerenciadores de banco de dados. Até o próximo post. 

sábado, 13 de agosto de 2011

Doze Erros em SEO

Neste artigo vamos listar os doze principais erros em SEO*.

Otimização de Motores de Busca
*SEO (Search Engine Optimization) é o conjunto de técnicas e métodos com o objetivo de potencializar e melhorar o posicionamento de um site nas páginas de resultados orgânicos nos sites de busca.

1- Site pesado, geralmente com animações pesadas em flash. 
2- Título do site muito grande.
3- URLs infinitas com vários caracteres diferentes.
4- Manipulação de palavras-chaves, ou seja, colocação de palavras-chaves que não represente fielmente o seu site.
5 - Má divulgação de seu site em outros sites da internet.
6- Layout feito em frame e/ou tabelas.
7- Propaganda excessiva nas páginas do site.
8- Abrir uma infinidade de janelas pop-ups, com anúncios de tudo o que quiser.
9- Imagens muito carregadas. 
10- Não padronização de linguagens e programação.
11- Não enviar o sitemap do seu site com todos os links atualizados para o Google e outros buscadores.
12- Não revisar os links quebrados do seu site.

 No próximo post de SEO, vou dar algumas dicas para melhorar os resultados nos buscadores.

quarta-feira, 10 de agosto de 2011

Procedure de Backup e Restore no SQL Server

Backup e restauração de bases de dados é um procedimento muito repetitivo e importante em administração de banco de dados, pois utilizamos esse processo para replicar base de dados para testes de sistemas e entre outras finalidades.
Para agilizar esse processo, podemos criar uma Stored Procedure para realizar o backup de uma base de origem e efetuar a restauração para a base de destino. 

Nota: Stored Procedure é uma coleção de instruções implementadas com linguagem T-SQL, que, uma vez armazenada, ficam dentro do servidor de forma pré-compilada, aguardando uma requisição de um usuário do banco de dados. A utilização de Stored Procedures é uma técnica eficiente de executarmos operações repetitivas. Ao invés de digitar os comandos cada vez que determinada operação necessite ser executada, criamos um Stored Procedure e o chamamos.


 

1º Passo - Abrir uma conexão com o SQL Server.

2º Passo - Clicar em New Query para executar o comando.

3º Passo - Escolher a base de dados para salvar a Stored Procedure.

4º Passo - Digitar a procedure de alteração conforme abaixo.

ALTER PROCEDURE [dbo].[REPLICACAO]
    @DBORIGEM VARCHAR(500), /*Banco de dados de Origem*/
    @DBDESTINO VARCHAR(500) /*Banco de dados de destino*/
AS
BEGIN

DECLARE @DEVICE VARCHAR(500) /*RECEBE O NOME DO BACKUP*/
DECLARE @PATH VARCHAR(500) /*RECEBE O CAMINHO ONDE SERÁ SALVO O BACKUP*/

/*CONCATENA NOME DO BANCO DESTINO + DATA + EXTENSÃO DE BACKUP .BAK */
SET @DEVICE =    @DBDESTINO + '_' + CAST(DATEPART (mi,GETDATE())AS CHAR(2)) +
                CAST(DATEPART (ss,GETDATE())AS CHAR(2)) +
                '.bak'

SET @PATH = 'C:\Arquivos de programas\Microsoft SQL Server\MSSQL\BACKUP\' + @DEVICE

/*ADICIONA UM DISPOSITIVO DE BACKUP*/
EXEC sp_addumpdevice 'disk', @DEVICE ,@PATH

/*CRIA BACKUP*/
BACKUP DATABASE @DBORIGEM TO DISK = @PATH

DECLARE @BASE VARCHAR(500) /*RECEBE CAMINHO DO BACKUP DE DADOS*/
DECLARE @LOG VARCHAR(500) /*RECEBE CAMINHO DO BACKUP DE LOG*/
DECLARE @DBORIGEMDATA VARCHAR(500) /*RETORNA BANCO DE ORIGEM + BACKUP DE DADOS*/
DECLARE @DBORIGEMLOG VARCHAR(500) /*RETORNA BANCO DE ORIGEM + BACKUP DE LOG*/

SET @BASE = 'C:\Arquivos de programas\Microsoft SQL Server\MSSQL\data\' + @DBDESTINO + '.MDF'
SET @LOG = 'C:\Arquivos de programas\Microsoft SQL Server\MSSQL\data\' + @DBDESTINO + '_Log.LDF'

SET @DBORIGEMDATA = @DBORIGEM + '_Data'
SET @DBORIGEMLOG = @DBORIGEM + '_Log'

/*REALIZA A RESTAURAÇÃO DA BASE DE DADOS COM OS ARQUIVOS .BAK, .MDF E .LDF*/
RESTORE DATABASE @DBDESTINO
    FROM DISK = @PATH
    WITH
    MOVE @DBORIGEMDATA TO @BASE,
    MOVE @DBORIGEMLOG TO @LOG,
    NOUNLOAD, STATS = 10, REPLACE

/*PROCEDIMENTO PARA DELETAR BACKUP APÓS A RESTAURAÇÃO*/
EXEC SP_DROPDEVICE @DEVICE,'DELFILE'

BACKUP LOG @DBDESTINO WITH TRUNCATE_ONLY

DBCC SHRINKDATABASE (@DBDESTINO,0,TRUNCATEONLY) /*ZERA O ÍNDICE*/

END

5º Passo - Após a digitação dos comandos, clicar no botão Execute ou pressionar a tecla F5.

6º Passo - Chamar a Stored Procedure através do comando:

EXEC REPLICACAO 'DBORIGEM', 'DBDESTINO'

Até o próximo post.

domingo, 7 de agosto de 2011

QUEM VENCE A DISPUTA ENTRE BANCO DE DADOS?

Dados FGV-EAESP
Atualmente os SGBDs (sistemas gerenciadores de banco de dados) competem entre si para ver quem ganha a disputa no mercado corporativo. Hoje, o banco de dados Oracle possui 36% do mercado nacional seguido pelo SQL Server com 34%, segundo pesquisa da FGV-EAESP realizada em janeiro de 2011.

Neste artigo, vamos detalhar o uso dos principais sistemas gerenciadores de banco de dados nos seguintes cenários: informações gerais, suporte ao sistema operacional, características, limites, tabelas e exibições, índices.




Informações Gerais

Informações Gerais

Suporte a Sistema Operacional

Suporte pelos Sistemas Operacionais



Características

Características
* atomicidade, consistência, isolamento, durabilidade.
* Codificação de caracteres.
* Interface gráfica de usuário.

Limites

*dados aproximados.

Tabelas e Exibições


Índices


No próximo post sobre banco de dados, vamos ver capacidades, tipo de dados, objetos, particionamento e controle de acesso.


sexta-feira, 5 de agosto de 2011

Desenvolvimento ágil de software

O desenvolvimento ágil é um conjunto de metodologias de desenvolvimento de software. Cada método tenta minimizar o risco de desenvolvimento de software em curto período. Esse processo chamamos de Iteração.
Cada iteração é um mini-projeto do seu todo com as etapas de: planejamento, análise de requisitos, projeto, codificação, teste e documentação.

Métodos ágeis enfatizam comunicações em tempo real, com todas as pessoas necessárias para terminar o software, tais como: os programadores, seus clientes (clientes são as pessoas que definem o produto, eles podem ser os gerentes, analistas de negócio, ou realmente os clientes) e testadores.


Objetivos do desenvolvimento ágil:
  • Garantir a satisfação do consumidor entregando rapidamente e continuamente softwares funcionais;
  • Softwares funcionais são entregues frequentemente (semanas, ao invés de meses);
  • Softwares funcionais são a principal medida de progresso do projeto;
  • Até mesmo mudanças tardias de escopo no projecto são bem-vindas;
  • Cooperação constante entre pessoas que entendem do negócio e desenvolvedores;
  • Projetos surgem através de indivíduos motivados, entre os quais existe relação de confiança;
  • Design do software deve prezar pela excelência técnica;
  • Simplicidade;
  • Rápida adaptação às mudanças;
  • Indivíduos e interações mais do que processos e ferramentas;
  • Software funcional mais do que documentação extensa;
  • Colaboração com clientes mais do que negociação de contratos;
  • Responder a mudanças mais do que seguir um plano.
Principais metodologias de desenvolvimento:

  • XP Programação extrema;
  • Scrum;
  • Feature Driven Development;
  • DSDM;
  • Test Driven Development.
Benefícios do desenvolvimento ágil:
  • Código bem estruturado e limpo;
  • Desenvolvimento rápido;
  • Evita reprocesso (programação);
  • Evita planejamento excessivo e custo muito alto;
  • Dá mais resultados.
 Obs.: Nos próximos posts estudaremos cada um dos modelos agéis acima.

quarta-feira, 27 de julho de 2011

Exibindo Tweets via PHP


E aí pessoal. Vamos aprender como exibir os tweets de qualquer perfil no Twitter em uma página em PHP.

Vamos ver como é facil obter e exibir os Tweets!

Iremos obter os valores via Feed XML. A função do Feed é retornar todas as postagens (tweets) do perfil do Twitter.

1. Abra seu editor (blocos de notas, notepad++, dreamweaver, etc).

2. Digite o código a seguir:


 Clique na imagem para ampliar


3. Salve o arquivo com a extensão .php.

O resultado final será semelhante a imagem abaixo.

 Clique na imagem para ampliar 

Espero que tenham gostado! Agora é com vocês, personalizem o código e deixem com a cara do seu site ou blog. Até a próxima.

Twitter Delicious Facebook Digg Stumbleupon Favorites More