Archive for September, 2006

Ajax… Uma solução no fim do túnel!

Saturday, September 30th, 2006

Bom pessoal, na minha postagem anterio, descrevi meu problema sobre requisições simultâneas com AJAX, onde eram perdidas informações após chamar ao mesmo tempo, ou quase ao mesmo tempo o metodo XMLHttpRequest, e de fato, comprovei que não é possível realizar tais requisições. Mas tinha uma luz no fim do túnel, no fim do túnel tinha uma luz…

THREADS, muito conhecida no JAVA:

threads são processos/comandos executados simultaneamente, é claro que não seria possível implementar tal solução com javascript, mas a idéia da para aproveitar e desenvolver algo semelhante que ajude a resolver esse PESADELO.

SOLUÇÃO:

A solução é criar um gerenciador de processos que armazene em um vetor todos os processos, ou seja, requisições solicitadas pelo usuário que está acessando o site, dessa forma, logo que acaba uma requisição não é mais perdida.

Bom não vou escrever muito sobre isso pois encontrei esse artigo que fala muito sobre como resolver esse problema. Estou desenvolvendo uma classe em JS para resolver tal problema, mas enquanto isso, acessem:
http://www.tableless.com.br/artigos/ajaxdemo2/?i=3

Bom, se viu essa matéria/post, agora comente e de sua opinião!

Ajax… Fica Louco!

Tuesday, September 26th, 2006

Ajax a tecnologia da interatividade, requer muitos detalhes na hora do desenvolvimento. Após várias aplicações com AJAX, chegamos a uma definição na empresa onde trabalho, o Ajax se perde quando há várias requisições ao mesmo tempo.

Exemplo:

Requisição 1
Requisição 2

Resposta 2� do Servidor� para a requisição número 1
Resposta 1 do Servidor para a requisição número 2

Ou seja, se for realizadas duas requisições seguidas com intervalo de tempo de menos de um segundo, e digamos que a primeira requisição demore mais para executar no servidor, e a segunda seja rápida, a resposta da segunda requisição será recebida pela primeira que está aguardando uma resposta do servidor.

Obs.: Estou buscando maneiras de mudar esse processo, acredito que há, mas como não uso um framework, faço o Ajax na mão� para ter uma melhor� mobilidade no desenvolvimento, tenho que ir em busca do tesouro!� Bom se alguém souber como, ou tiver uma idéia do que fazer para sanar essa LOUCURA do Ajax!

Reggae Music - Manifesting the Message

Sunday, September 24th, 2006

Pessoal, nem tudo na vida é Software! :D

Ziggy MarleyZiggy Marley

http://www.youtube.com/watch?v=wKKo39M73eE

Ziggy Marley, dia 8 de outubro no Rancho - Campo Largo/Curitiba - PR - Brasil

Notação húngara

Friday, September 15th, 2006

Pessoal, para quem está começando agora a desenvolver ou já desenvolve � algum tempo, ai vai uma dica de como escrever suas variáveis, objetos, metodos.

Faz algum tempo que estou utlizando essa padrão, e recomendo totalmente o uso!

A Notação húngara, criada por Charles Simonyi, visa a facilitar o reconhecimento do tipo de variável em um programa. O nome foi dado a partir de uma brincadeira comum entre aqueles primeiros a conhecer a notação e a achavam estranha, fazendo o seguinte comentário: “É tão estranho que até parece húngaro”.

Quando se confronta com a necessidade de dar um novo nome a uma variável em um programa, o programador deve tomar alguns cuidados no tomar esta decisão:

  • Nome mnemônico - é aquele que facilita a lembrança do significado pelo programador;
  • Nome sugestivo - é aquele em que outros podem ler o código;
  • Formato - é sempre visto como uma idéia estética, tendo sempre uma informação eficiente do programa teste;
  • Velocidade de decisão - não se pode perder muito tempo para ponderar um simples nome, pois não haverá tempo para editar e digitar nomes de variáveis longos.

A adoção deste critério de nomeação é bastante prática e intuitiva, sendo a idéia básica nomear todos os tipos de quantidades, visando-se a simplificar o entendimento do programa. Algumas vantagens deste método:

  • Os nomes em mnemônicos são utilizados num senso muito específico. Se alguém se lembrar da quantidade ou como os nomes foram contruídos através de outros tipos, o nome poderá ser lido facilmente.
  • Os nomes sugestivos são muito bons. É capaz de se mapear qualquer nome dentro do seu tipo, tendo as informações necessárias para construir sua interface e utilizar de maneira correta sua quantidade.
  • Os nomes devem ser consistentes, porque eles são construídos pelas mesmas regras.
  • A decisão por um nome deve ser mecânica e rápida.
  • As expressões nos programas devem ser sugestivas, facilitando a leitura e acompanhamento do programa.

Com o objetivo de fazer listas intuitivas de se ler, os programas baseados na plataforma Windows utilizam a Notação húngara para gerar estas listas.

As regras para se utilizar a Notação húngara são:

  • Os tipos definidos e/ou criados devem aparecer em letras maiúsculas;
  • Constantes e “Macros” que vêm definidas em arquivos inclusos aparecem também em letras maiúsculas;
  • Funções e nomes estruturados começam com letras maiúsculas. Nenhuma marca abaixo são utilizadas para nomes, exceto para os casos que se encontrem nas duas regras anteriores;
  • Nomes de objetos começam com uma ou mais letras maiúsculas, indicando o tipo do objeto.

Fonte: http://pt.wikipedia.org/wiki/Nota%C3%A7%C3%A3o_h%C3%BAngara

Sistema Seguro!

Friday, September 15th, 2006

Pessoal, já acompanhei vários trabalhos de desenvolvedores web que não dão muita atenção para essa questão de segurança e todos sabemos que é umas das partes vitais dos sistemas principalmente WEB.

Alguns vilões que possibilitam a invasão:

  • Sql Injection
  • Variáveis globais

Bom é claro que esse problema se dá pela má formação ou conhecimento dos desenvolvedores para casos desse tipo.

Mas o que seria um Sistema Seguro?

  • Sistema que pede para o usuário digitar o texto que está dentro de uma imagem gerada pelo sistema, pois isso impede que programas FORÇA BRUTA detonem sua validação de senha.
  • Limite de tentativas para entrar no sistema, se errar mais que 10 vezes, bloqueia a conta.
  • Validação de permissões para acesso a determinada sessão no sistema.
  • Link de acesso ao sistema deve ser dificultado, como por exemplo: sistemaFulandoAdminitracao e não somente admin, ou administrador como é de costume de muitos, pois quanto mais dificultar melhor.
  • Colocar arquivo que impede a indexação do Google para a página em questão.

E não pense que saber programar bem é o suficiente, é indispensável que obtenha conhecimentos para análise e gerenciamento de software, pois uma base desse conhecimento, pode ajudar e muito até mesmo a questão de segurança.

Bom, vamos ter mais comprometimento com nossos softwares, pois eles são a nossa CARA!

Tunelamento - Proxy

Tuesday, September 12th, 2006

Pessoal, para quem quer fazer um tunelamento para desviar o proxy, acesse:

http://www.your-freedom.net/

Faça o cadastro e baixe o arquivo na área de downloads e clique no primeiro item para download da terceira linha da tabela com as opções para baixar.

Qualquer dúvida em como configurar, manda um recado ai no site!

Obs.: Usem o bom censo para essa ferramenta!

Como mostrar totais sem contar os registros duplicados.

Friday, September 1st, 2006

Bom hoje estava com uma dúvida, na hora de montar uma paginação,
precisava saber o total que um sql poderia ter e mostrar as paginas com
os registros e os totais encontrados.

Problema: Tive que fazer um relacionamento com outra tabela que
retornava mais de uma vez o mesmo registro, então seria fácil, bastava
colocar um GROUP BY pelo código auto incrementável que estaria
resolvido e retornaria somente 1 registro. Mas o buraco era mais
embaixo, pois se colocar um GROUP BY quando se tem um COUNT o resultado
é o total de registros encontrados por usuário, no caso 2 para um
usuário, 3 para outro, enfim, o que estava precisando é tanto na
contagem total quanto no retorno da busca com os registros removessem
os duplicados:

SELECT count(distinct(codigo))
FROM usuarios
GROUP BY codigo

SELECT codigo, nome
FROM usuarios
GROUP BY codigo

Para esse problema pude contar com o Gerente de Projetos da Empresa Decisão Informática - Daniel Henrique Bonioli.

Garanto que já teve gente que precisou disso e não soube como resolver, agora fica aqui registrado para futuras pesquisas!

:D


This is a free Wordpress template provided by Mathew Browne | Web Design | SEO