quinta-feira, novembro 23, 2006

Problemas comuns na validação do HTML

Eu bato a cabeça direto com isso... esqueço isso aqui, aí copio e colo, e vou fazendo... quando valido a página vem uma porrada de erros e avisos. Quando ocorre algum mais comum, o próprio validador coloca um link para você para http://www.htmlhelp.com/tools/validator/problems.html.
Muito bom para quem erra as mesmas coisas sempre como eu! ;P

sexta-feira, novembro 17, 2006

Invasão das formigas

No meu apartamento novo tem uma porrada de formiga.... horrível... enche o saco.....!
Aí procurei algumas dicas na internet e achei essa, que é mais específica para invasão em aparelhos eletrônicos, mas serve para todo o resto:
http://www.boadica.com.br/layoutdica.asp?codigo=78

As formigas estão invadindo seu equipamento?

Esta com certeza é uma BoaDica. Você pode estar passando por um problema sem saber.

Algumas formigas (às vezes cupins e aranhas) acham o ambiente interno de um micro um bom lugar para construir uma colônia. Há quem diga que seja pelo calor que o micro proporciona e outros pelo material empregado na confecção das placas. A verdade é que elas entram no micro, no vídeo cassete, na televisão e sabe Deus mais aonde. A aparência supostamente inofensiva desta invasão pode ter um custo bem alto para quem hospeda estes pequenos visitantes, pois uma pane generalizada pode ser o resultado.

Bem, os motivos e as causas não importam e sim a solução!

Vá para a sua cozinha, pegue um pouco de cravo e coloque dentro do seu micro e se quiser aproveitar o embalo espalhe pelos lugares onde elas passam ou estão. O cravo, além de servir para dor de dente (mais uma dica), serve para despejar os indesejáveis visitantes que, por experiência própria deste que vos escreve, não gostam de cravo.

Tome cuidado para não travar os ventiladores da máquina com os pedaços de cravo, certo?

Outro dia estivemos discutindo sobre este assunto aqui no Fórum do BoaDica, e algumas experiências no assunto foram trocadas! Na realidade, o principal fator que afugenta as formigas é o odor forte, que pode ser conseguido de diversas maneiras. Podemos utilizar:

  • Pedaços de Cravo - espalhados pelo gabinete

  • Pastilhas de Cânfora - coladas com um pedaço de fita dupla-face. Coloque a pastilha de cânfora em alguns locais estratégicos, como na parte da entrada de ar frontal do gabinete, perto da traseira do gabinete, no local onde são colocadas as placas, perto da fonte, ou outro lugar de sua preferência. Além de afastar os insetos ainda deixa um odor agradável no ambiente. Você consegue encontrar essas pastilhas de cânfora em lojas esotéricas, tipo Mundo Verde, aqui no Rio. O pacotinho com 8 pastilhas custa uns R$ 6,00

  • Sachê de ingredientes odoríficos. Como fazer: Arrume um pedaço de tecido ou uma folha de feltro fino, coloque alguns cravos ou outros ingredientes de odor forte, mais ou menos a quantidade de um sachê, daqueles comprados em supermercado. Costure o feltro ou o tecido formando um "travesseiro" ou uma pequena bolsa e coloque dentro do gabinete. Elas vão desaparecer do PC.

Produtos:
  • Colosso Gel
  • KOTRINE
  • Formibel
Não experimentei ainda, mas a dica está dada!!!

sexta-feira, novembro 10, 2006

Natural/ADABAS - Dicas 1

O Natural é uma linguagem simples, parecida com o Cobol (mas nem tanto poderosa) . Se você conhece o Cobolzão, sabe que tem as redefinições de variável para pegar uma parte em específico e utilizá-la de maneiras variadas. Por rodar embaixo do ADABAS, o Natural tem uma conversa direta com o banco... mas é aquele jeitão de ler os files (tabelas) - READ... FIND.
Bom, se você está lendo isso aqui, provavelmente você trabalha com ele, porque ninguém em sã consciência leria essa postagem de bobeira ;P
Vamos lá!

Alfa para numérico:
Para definir as variáveis usamos DEFINE DATA. Depois dele e antes do END-DEFINE, você põe todas as variáveis que você vai usar, além de LOCALS e GLOBALS com as definições de variáveis dentro delas.
No Natural você tem que dizer o tamanho das variáveis e se elas são alfa-numéricas (A) ou numéricas (N). existem outros tipos, mas vamos ficar por aqui.
Veja um exemplo bobo:
DEFINE DATA
LOCAL
01 #NOME (A30)
01 #TELEFONE (N10)
01 REDEFINE #TELEFONE
02 #DDD-TELEFONE (N02)
02 #NUM-TELEFONE (N08)
01 #TELEFONE-ALFA (A10)
END-DEFINE

De alguma maneira recebemos do usuário pela variável telefone-alfa e o usuário não digita os 10 caracteres pedidos (A10). Fica:
O valor de #TELEFONE-ALFA é '99123456__', com 2 espaços no final.
Nós, humanos, entendemos que o DDD é 99 e o telefone é 123456. Beleza. Mas ao passar o conteúdo para a variável numérica #TELEFONE ficaria com 0099123456. Um conteúdo alfa-numérico é alinhado por padrão para a esquerda preenchendo com espaços, e o numérico para a direita preenchendo com zeros.
Agora imagina a situação de você guardar isso no file e depois quiser pegar só o DDD desse número... vai vir 00; e se pegar o número, vai vir 99123456.
Por isso tome cuidado com a passagem entre variáveis, critique com máscara, valide o conteúdo (o programa pode "abendar" - ABNORMAL END - se passar uma letra para uma variável numérica), cuidado com variáveis em branco que são convertidas para 0 etc.

COMPRESS:
Quando trabalhamos com arquivos de leiaute predefinido, não podemos deslocar nada.. temos que ter o nome com 30 caracteres e pronto... o que sobrar fica lá em branco.
Esse cara junta textos e variáveis em uma variável para o conteúdo final. O comando básico é:
COMPRESS 'TEXTO' #VARIAVEL1 #VARIAVEL2 INTO #VARIAVEL3

ou seja, ele junta 'texto', o conteúdo da variável 1 e da variável 2 e joga na variável 3. Maravilha!
Mas se eu tiver uma variável alfa de tamanho 30 e tiver usado somente 12, os 18 espaços vão ser perdidos pelo COMPRESS. Para juntar com os espaços também, use:
COMPRESS FULL #VAR1 #VAR2 INTO #VAR3

Mesmo assim ocorre outro problema. Ele deixa um espaço entre as variáveis... para isso use:
COMPRESS FULL #VARABACATE #VARMAMAO INTO #VARPERA LEAVING NO SPACE

Ufa! Você pode fazer isso ou criar uma variável de retorno redefinida e jogar os conteúdos nessas redefinições. já apanhei por causa disso...

FIND errado:
O programa com essa find estava consumindo muita CPU:
FIND (1) MINHA-VIEW WITH
SUPER-S3 GE #CHAVE-INICIAL AND
SUPER-S3 LE #CHAVE-FINAL

O programa fazia duas verificações, gerando como se fosse duas listas. O find seguinte resolveu o problema, que passou a utilizar metade dos recursos utilizados pelo primeiro:
FIND (1) MINHA-VIEW WITH
SUPER-S3 EQ #CHAVE-INICIAL THRU #CHAVE-FINAL

Coisinha boba, mas causa um problema quando o programa é bem requisitado....

terça-feira, novembro 07, 2006

Biografias Online

Essa postagem não tem nada de informática. Recebi uma vez e achei interessante, principalmente para a galera que ainda estuda, pois tem a biografia de muita gente. No site http://biografias.netsaber.com.br/ você encontra bastante coisa legal. É uma dica... a internet não é só lugar de besteiras!!!

terça-feira, outubro 17, 2006

Requisitos - Aula 2

Olá! Agora estou postando a segunda aula de requisitos da série de apresentações que fizemos. Claro que boa parte do material foi apresentado oralmente frente a uma apresentação... o que segue é um resumo da seunda aula, mas que pode ajudar bastante. Na empresa temos um processo baseado no RUP, ou seja, uma customização, por isso pode have algo diferente do que você vê por aí em termos de artefatos, mas os conceitos são os mesmos! Abraço!


Resumo Requisitos – Aula 2


Artefato

Artefato é tudo aquilo que é gerado a partir de nosso trabalho a fim de documentação; é o produto gerado durante o desenvolvimento de software. Podemos citar como exemplo de artefatos o documento de visão, plano de projeto, relatórios de acompanhamento, diagramas de caso de uso, entre outros. Esses artefatos podem ser tanto consumidos quanto produzidos, resultantes da execução de uma atividade, estando presente em todo o ciclo de vida do desenvolvimento. Devemos evitar a negligência da documentação, fato que ocorre por diversos motivos e fazem com que os desenvolvedores deixem-na em segundo plano.

Glossário

Mesmo sendo produto da atividade de “Elicitar Requisitos”, pode ser atualizado a qualquer momento do projeto. Por alguns termos do projeto serem de difícil interpretação, o glossário surge para facilitar a comunicação e capturar um vocabulário comum para que qualquer pessoa possa ler e entender a documentação, evitando desentendimentos. Os termos do glossário podem estar agrupados e organizados de diversas formas, normalmente por ordem alfabética ou por assunto. Ex:
Acordo de Barreiras Técnicas (TBT)
Acordo multilateral que visa eliminar as barreiras técnicas, que dificultam o comércio internacional. Foi instituído na Rodada Uruguai e é gerenciado pela OMC.

Documento de Visão

Pertencente à atividade “Elicitar Requisitos”, o documento de visão tem o propósito de expor as necessidades e seus motivos, e as funcionalidades gerais (soluções para as necessidades), objetivos e restrições da aplicação. Há dois tipos de documento de visão: o de projeto, que documenta as necessidades e funcionalidades alteradas ou afetadas no projeto, ou de sistema, de detém todas as necessidades e funcionalidades do sistema e deve ser alterado/atualizado a cada projeto.
A diferença física entre os dois tipos de projeto, é que o documento de visão de projeto possui:
  • Posicionamento
  • Partes interessadas
  • Restrições
  • Expectativa de entrega
Partes do Documento de Visão

Na composição de um documento de visão observamos:
  • O cenário, que nada mais é que a situação atual com que se encontra o cliente e o motivo pela construção do sistema.
  • A oportunidade de negócio oferece uma visão do que o projeto proporcionará, em virtude do cenário atual.
  • As partes interessadas (stakeholders) são todos aqueles envolvidos ou beneficiados pelo projeto e pelo sistema, influenciando em seu desenvolvimento (cliente, desenvolvedores)
  • Os atores são todos os que utilizam diretamente o sistema que está sendo especificado, podendo ser tanto uma pessoa quanto uma máquina ou um outro sistema (usuário [sistema específico], usuário Polícia Federal, impressora, [sistema de autenticação central])
  • As necessidades e funcionalidades que, como já abordado, oferecem, respectivamente, uma visão dos problemas ou motivos que o cliente possui e as soluções para isto.

Modelo de Diagrama

Descreve os diagramas da UML (Unified Modeling Language) que o sistema irá possuir. Mantém a conexão entre os casos de uso com os diagramas de classe e de interação, oferecendo rastreabilidade entre eles. Os diagramas são elaborados utilizando a ferramenta Rational Rose.

Os casos de uso especificam o comportamento do sistema a ser desenvolvido, as funções da aplicação que caracterizam as funcionalidades do sistema, mas não a maneira com que será implementado. O diagrama de caso de uso é descrito como na UML, ou seja, tem a finalidade de facilitar o entendimento do grupo de desenvolvimento fazendo com que sua interpretação seja correta e sem ambigüidade dos modelos gerados por outros analistas.

A interação entre o caso de uso e um ator ou outro caso de uso é feita por uma linha ou seta (que simboliza quem inicia).

No caso de uso temos os relacionamentos de:
  • Inclusão, que sugere uma ação obrigatória do caso de uso chamado no caso de uso base. Este tipo de relacionamento, que evita escrever o mesmo comportamento várias vezes, é simbolizado por uma seta tracejada partindo do caso de uso base para o caso de uso chamado; opcionalmente, mas por padrão, utiliza-se o estereótipo <> ao lado da seta.
  • Extensão, que sugere uma ação opcional/condicional do caso de uso estendido durante as ações do caso de uso base. Este tipo de relacionamento é também representado por uma seta tracejada, porém, parte do caso de uso estendido para o caso de uso base; também utiliza-se o estereótipo <>.
  • Generalização, indica que um caso de uso ou um ator possui características comuns a outros, e assim estes, chamados de “pai” (generalizado), são referenciados por uma seta vazia (triângulo) vindas dos casos de uso ou atores “filhos” (especializados) que possuem características ou comportamentos próprios, mas que herdam outras do elemento geral.

Relação de Casos de Uso

Apesar de não ser obrigatório, é um documento que possui a representação gráfica de todos os casos de uso que compõem o sistema, além do nome e a descrição sucinta de cada caso de uso presente no diagrama.
As informações nele presentes podem ser encontradas nos artefatos Modelo de Diagrama e Matriz de Atributos (Casos de Uso).

As informações contidas neste artefato podem ser obtidas automaticamente pelas ferramentas Rose (Diagrama de Interação) e RequisitePro – Matriz de Atributos (Casos de Uso). Desta forma, para que não haja o risco de inconsistência devido à cópia de informações, será opcional para os que estiverem utilizando as ferramentas acima citadas. Pode também ser inserido um link para o diagrama no Rose.

Esse documento será utilizado para relação de todos os casos de uso. Os casos de usos já especificados em ECU não estarão marcados como requisitos de [Ferramenta para Gestão de Requisitos]. Marcaremos apenas os requisitos do legado, para a composição de rastreabilidade mínima.

segunda-feira, outubro 09, 2006

Acidente com avião da Gol

Estão passando um e-mail com uma reportagem com link para as fotos do vôo e lista de passageiros. Todos os links estão relacionados a arquivos .bat, que vão executar alguma coisa no seu micro (eu não sei o que porque eu não cliquei). Se você usa iExplorer ou Firefox, vai ver na barra de status a URL, que algo assim "http://www.69mb.net/users/xvideo/[arquivo].bat". O assunto do e-mail da reportagem tem o mesmo título dessa postagem. Segue ela em texto puro sem formatação:

IML identifica cinco mortos em acidente com avião da Gol
da Folha Online
da Folha de S.Paulo

O IML (Instituto Médico Legal) de Brasília informou nesta quinta-feira ter identificado cinco corpos de vítimas do acidente com o Boeing da Gol, ocorrido no último dia 29, em Mato Grosso. Os 154 ocupantes do avião morreram na queda, e, desde a última quarta (3), 18 corpos já chegaram ao instituto.

Foram identificados os corpos de Atila Rezende, Elcio Anchieta, Francisco Chagas Loiola, José Trindade e Luiz Albano Custódio. Impressões digitais e informações fornecidas pelos parentes auxiliam os trabalhos.A lista dos passageiros já está sendo divuldada.

O IML de Brasília ainda aguarda que São Paulo, Rio de Janeiro e Amazonas disponibilizem os prontuários datiloscópicos completos das vítimas. A diretora de Comunicação da Polícia Civil de Brasília, Valéria Martirena, afirma que os dados poderão ser usados para identificar os corpos que estiverem em melhores condições.
Veja as fotos exclusivas
Militares resgatam corpos em área onde caiu o Boeing da Gol, em MT, e preparam traslado
Militares resgatam corpos em área onde caiu o Boeing da Gol.


Segundo ela, para esse tipo de identificação são necessárias as dez impressões digitais, e não apenas uma. Em 30 formulários da documentação que o IML recebeu só consta a impressão digital de polegares.

Vitimas

Na terça-feira, o IML recebeu os primeiros corpos --que haviam sido resgatados no domingo (1º). Os legistas confrontaram as digitais das vítimas --um homem e uma mulher-- com os 75 conjuntos de digitais que estão à disposição da Polícia Civil do Distrito Federal, mas o resultado foi negativo.

Outros 16 restos mortais recolhidos pelos militares da FAB (Força Aérea Brasileira) na mata ao longo dos últimos dias chegaram na noite de ontem ao IML e deverão ser periciados a partir de hoje.

Os dois corpos analisados estavam com vários ossos quebrados e sem condições de reconhecimento pessoal. Ao analisar os traumas internos nos corpos, os peritos tentarão estabelecer em que momento do acidente ocorreram as mortes.

Identificação

No estacionamento do IML de Brasília foi montada uma operação de emergência para receber os corpos das vítimas e fazer os exames de identificação e de necropsia. Três barracas das Forças Armadas usadas em situações de guerra serão utilizadas para a realização de até sete necropsias simultâneas.

Para saber quem são as vítimas, caso elas não sejam identificadas pelos confrontos de impressões digitais, será realizada uma análise antropológica de cada uma delas. Esse confronto será feito com base em informações biométricas e físicas passadas pelos parentes dos 154 mortos.Veja aqui a lista dos passageiros.
A última opção na tentativa de identificar as pessoas será fazer exame de DNA que, em média, demora até cinco dias.

Acidente

O Boeing 737/800 da Gol realizava o vôo 1907, entre Manaus e o Rio, com escala em Brasília. A aeronave caiu depois de ser atingida por um Legacy, de fabricação da Embraer, que ia de São José dos Campos (91 km a nordeste de São Paulo) para os Estados Unidos com escala em Manaus.

As 155 pessoas --149 passageiros e seis tripulantes-- que estavam no Boeing morreram. O Legacy era ocupado pelo piloto e co-piloto --americanos--, dois funcionários da empresa que havia comprado o avião e um repórter do "NY Times", além de dois funcionários da Embraer. Todos sobreviveram sem ferimentos.

A Aeronáutica informou na quarta-feira (4) que 20 militares do Centro de Instrução de Guerra na Selva, do Exército, serão enviados para auxiliar os trabalhos de resgate dos corpos. A presença dos militares do Exército havia sido reivindicada pela Comissão de Familiares dos Passageiros do Vôo 1907 à FAB, que coordena a operação.

A PF (Polícia Federal) abriu um inquérito para investigar as responsabilidades no acidente que envolveu o Legacy e o Boeing da Gol. Por meio de sua assessoria de imprensa, a PF informou que já recebeu os documentos recolhidos em investigação iniciada pela Polícia Civil. Eles serão analisados pelo delegado Renato Sayão e, de acordo com a Polícia Federal, as responsabilidades pelo acidente deverão ser apontadas apenas depois do resultado das caixas pretas.

Com Agência Brasil


Não cliquem.. muito menos executem...

quinta-feira, setembro 21, 2006

O desemprego e as vagas para TI

Estava lendo uma coisa que é verdade. Sempre há desemprego, mas no nosso setor, TI, não podemos reclamar, tem vaga de sobra...
Leiam a reportagem em http://www.terra.com.br/istoedinheiro/470/ecommerce/aqui_estao_vagas.htm

Abraço!

quarta-feira, agosto 09, 2006

Teclas de Atalho

Vasculhando meus e-mails antigos, encontrei essa lista de teclas de atalhos para seu PC (Windows). Pode ser muito útil em casos de mouse indisponível ou algo de extrema necessidade:

ÁREA DE TRABALHO

CTRL + A: Selecionar tudo
CTRL + ESC: Exibir o menu Iniciar
CTRL ao arrastar um item: Copiar um item selecionado
CTRL + SHIFT ao arrastar um item: Criar um atalho para um item selecionado
CTRL + ALT + F1: Ver informações do sistema
ALT + ENTER: Exibir as propriedades do item selecionado
ALT + F4: Fechar o item ativo ou sair do programa ativo
ALT + TAB: Alternar entre janelas abertas
ALT + ESC: Percorrer itens na ordem em que foram abertos
F2: Renomear um item selecionado
F3: Procurar um arquivo ou uma pasta
F4: Abrir lista da barra de endereços ¿ pasta aberta
F5: Atualizar a janela ativa
SHIFT + F10: Equivale ao botão direito do mouse
SHIFT ao inserir um CD: Evitar que o CD seja executado automaticamente
SHIFT + DEL: Excluir sem colocar na Lixeira
Print Screen: Captura tela, para colar em programas como o Paint
Alt + Print Screen: Captura somente janela ativa
Janela Voadora (JV) [Janela Voadora = botão iniciar]: Exibir ou ocultar o menu Iniciar
(JV) + BREAK: Exibir a caixa de diálogo Propriedades do sistema
(JV) + D: Mostrar a área de trabalho
(JV) + M: Minimizar todas as janelas
(JV) + Shift + M: Restaurar as janelas minimizadas
(JV) + E: Abrir Meu computador
(JV) + F: Procurar um arquivo ou uma pasta
CTRL+ (JV) + F: Procurar computadores
(JV) + F1: Exibir a Ajuda do Windows
(JV) + R: Abrir a caixa de diálogo Executar
Botão Editar: Equivale ao botão direito do mouse
(JV) + U: Abrir o Gerenciador de utilitários

ATALHOS DE TECLADO PARA ACESSIBILIDADE

SHIFT direita por oito segundos: Ativar e desativar as teclas de filtragem
ALT esq. + SHIFT esq. + PRINT SCREEN: Ativar e desativar o Alto contraste
ALT esq. + SHIFT esq. + NUM LOCK: Ativar e desativar as teclas para mouse
SHIFT cinco vezes: Ativar e desativar as teclas de aderência
NUM LOCK por cinco segundos: Ativar e desativar as teclas de alternância
Janela Voadora + U: Abrir o Gerenciador de utilitários

INTERNET EXPLORER

Alt + (seta pra cima) ou (seta pra baixo) na janela de organizar favoritos: Move item para cima ou para baixo
Alt + (seta pra direita): avança para página seguinte
Alt + (seta pra esquerda): Volta para página anterior
Alt + Home: Abre página inicial do Internet Explorer
Ctrl + B: Abre janela para organizar Favoritos
Ctrl + D: Adiciona página à pasta Favoritos
Ctrl + F: Localiza palavra na página
Ctrl + H: Ativa barra com histórico na lateral da janela
Ctrl + I: Ativa barra com sites favoritos na lateral da janela
Ctrl + N: Abre nova janela do navegador
Ctrl + O ou L: Abre campo para digitar e ir a nova página da rede ou abrir arquivo
Ctrl + Enter : Adiciona (http://www. - antes) - (adiciona .com - depois) de palavra digitada na barra de endereços. Ou seja, ela preenche automaticamente, na barra de endereços do "Internet Explorer", o endereço de uma palavra digitada. Se você digita yahoo e pressiona Ctrl + Enter, o navegador procura o endereço: http://www.yahoo.com
Esc: Interrompe a transmissão de uma página quando está sendo carregada ou a música de fundo quando existe e a página já está carregada.
F4: Exibe histórico da barra de endereços
F5: Atualiza página recarregando-a
F6: Alterna entre frames de uma página e barra de endereços
F11: Alterna entre visualização normal e tela cheia

OUTLOOK EXPRESS

Ctrl + D: Apaga mensagem
Ctrl + E: Localiza pessoa no catálogo de endereços
Ctrl + F: Encaminha mensagem
Ctrl + J: Vai à próxima pasta com mensagens não lidas
Ctrl + M: Enviar e receber mensagens
Ctrl + N: Nova mensagem
Ctrl + Q: Marca mensagem como lida
Ctrl + R: Responde ao autor
Ctrl + S: Salva mensagem
Ctrl + Enter: Quando conectado e com destinatário definido, envia mensagem
Ctrl + F3: Exibe código-fonte da mensagem
Ctrl + Shift + A: Marca todas mensagens de uma pasta como lidas
Ctrl + Shift + B: Abre catálogo de endereços
Ctrl + Shift + E: Abre janela para criar nova pasta
Ctrl + Shift + F: Localiza mensagem
Ctrl + Shift + N: Cria nova entrada no catálogo de endereços
Ctrl + Shift + O: Abre opções do Outlook Express
Ctrl + Shift + R: Responder a todos
Esc: Fecha mensagem

TECLAS DE TEXTO

Menu Arquivo

CTRL + O: Novo
CTRL + A: Abrir
CTRL + B: Salvar
CTRL + P: Imprimir

Menu Editar

CTRL + Z: Desfazer
CTRL + R: Repetir
CTRL + X: Recortar
CTRL + C: Copiar
CTRL + V: Colar
CTRL + T: Selecionar todo o texto
CTRL + L: Localizar
CTRL + U: Substituir
CTRL + Y: Ir para

Outros

CTRL + (seta pra direita): Mover o cursor para o início da próxima palavra
CTRL + (seta pra esquerda): Mover o cursor para o início da palavra anterior
CTRL + (seta pra baixo): Mover o cursor para o início do próximo parágrafo
CTRL + (seta pra cima): Mover o cursor para o início do parágrafo anterior
CTRL + F4: Fechar documento ativo/janela de programa

TECLAS PARA FORMATAR CARACTERES E PARÁGRAFO

CTRL + SHIFT + >: Aumenta o tamanho da letra
CTRL + SHIFT + <: Dminui o tamanho da letra
CTRL + SHIFT + A: Maiúsculas
CTRL + SHIFT + W: Sublinhado mas só em palavras
CTRL + SHIFT + D: Duplo sublinhado
CTRL + SHIFT + K: Maiúsculas pequenas
CTRL + SHIFT + *: Visualiza caracteres não imprimíveis
CTRL + SHIFT + C: Copia formatos
CTRL + SHIFT + V: Cola formatos
CTRL + ]: Aumenta o tamanho da letra um ponto
CTRL + [: Diminui o tamanho da letra um ponto
CTRL + D: Formatação de fontes
CTRL + N: Negrito
CTRL + S: Sublinhado
CTRL + I: Itálico
CTRL + BARRA ESPAÇO: Remove formatação manual
CTRL + Q: Parágrafo simples abaixo
CTRL + 1: Define espaçamento simples entre linhas
CTRL + 2: Define espaçamento duplo entre linhas
CTRL + 5: Define espaçamento entre linhas de 1,5
CTRL + zero: Remove um espaço entre linhas que antecede um parágrafo
CTRL + J: Justifica um parágrafo
CTRL + E: Centraliza Parágrafo
CTRL + G: Parágrafo à direita
CTRL + M: Avança um parágrafo a partir da esquerda
CTRL + SHIFT + M: Remove um avanço de parágrafo à esquerda
CTRL + SHIFT + J: Cria um avanço pendente
CTRL + SHIFT + T: Reduz um avanço pendente
CTRL + SHIFT + S: Aplica sublinhado
CTRL + SHIFT + N: Aplica um estilo normal
CTRL + SHIFT + L: Aplica o estilo "Lista"
ALT + CTRL + K: Inicia formatação automática
ALT + CTRL + 1: Aplica o estilo "Título 1"
ALT + CTRL + 2: Aplica o estilo "Título 2"
ALT + CTRL + 3: Aplica o estilo "Titulo 3"
Alt + Ctrl + F: Insere nota de rodapé
Alt + Ctrl + I, O, P ou N: Muda estilo de visualização da página
Alt + Ctrl + Y: Vai para início da página seguinte
Alt + Ctrl + M: Insere comentário
Ctrl + =: Aplica subscrito
Ctrl + Shift + (+): Aplica sobrescrito
Ctrl + End: Vai para fim do documento
Ctrl + Del: Apaga palavra seguinte
SHIFT + F1: Remove formatação de texto
Shift + F3: Aplica letras maiúsculas em todo o texto selecionado

TECLAS DE FUNÇÕES

F1: Ajuda; Ajuda "On line"; Assistente do Office
F4: Repetir a última ação
F5: Comando "ir para" (menu Editar)
F7: Ortografia e gramática (menu Ferramentas)
F12: Salvar como
SHIFT + F1: Ativa interrogação da ajuda
SHIFT + F3: Altera as letras maiúsculas minúsculas
SHIFT + F4: Repete uma ação de localizar e/ou "ir para"
SHIFT + F5: Desloca-se para uma revisão anterior
SHIFT + F7: Dicionário de sinônimos (menu Ferramentas)
SHIFT + F10: Visualiza o menu de atalhos/botão direito do mouse
CTRL + F2: Vai para a tela visualização
CTRL + F9: Insere um campo vazio para digitação
CTRL + F10: Minimiza a janela do documento
CTRL + F12: Abrir (menu arquivo)
ALT + F5: Restaura o tamanho da janela do programa
ALT + F7: Localiza o erro ortográfico seguinte
ALT + F10: Maximiza a janela do programa

sexta-feira, agosto 04, 2006

Usando o Simple PHP Blog

Primeiramente, faça o download no site oficial, claro. Esse blog não usa banco de dados, o que lhe dá maior independência para aplicações pequenas. você precisa ter um servidor (Apache) e o PHP 4 ou posterior.

Instalando

  1. Ele cria os diretorios: 'config', 'content', e 'images'
  2. Ele verifica quais tecnologias de segurança o servidor aceita;
    O meu no trabalho (rs) foi assim:
    Standard DES Encryption: enabled
    Extended DES Encryption: disabled
    MD5 Encryption: enabled
    Blowfish Encryption: disabled
    Então ele usou o MD5 para as senhas
  3. Ele cria o código do arquivo password.php para você criá-lo e salvalo na pasta config.
  4. Agora ele recomenda você apagar os arquivos de instalação (installxx.php) e você pode configurar o seu blog.

Configurando

Agora é só alegria! É como se fosse um site de blog da internet:
Idioma, informações gerais do blog, entradas, barra lateral, trackbacks, comentários e opção de compressão.
Depois você pode configurar o tema, as cores, a exibição de data, etc.

Muito bom e fácil de configurar!

quinta-feira, agosto 03, 2006

modpython no Apache 2

Faz tempo que não posto nada, eu sei... mas voltei após uma quase frustrada tentativa de instalar o modpython no Apache... suei... para alguns pode ter sido fácil, mas para mim não foi tão fácil não. E o pior é que eu tinha feito certo de primeira e não sabia, e fiquei alterando as linhas de bobeira por muito tempo até descobrir que estava certo... A documentação de configuração não é muito boa e é em inglês. Bem... vamos lá?

Instalando

É a coisa mais fácil. Tendo o Python 2.4 e o Apache 2.0, baixe o arquivo de instalação a partir do site oficial. A única pergunta que ele faz é onde está o Apache (C:\Arquivos de programas\Apache Group\Apache2\ por padrão). Pronto.
Aí que vem a parte mais chatinha...

Configurando

Coloque essa linha no arquivo de configuração do Apache (conf/httpd.conf):

LoadModule python_module modules/mod_python.so

em que "modules" é a o diretório em que o modpython e os outros módulos do Apache estão a partir do local de instalação do Apache; no Linux pode ser outro diretório :)
Agora ponha essas para os arquivo de script python:

AddHandler mod_python .pyc
AddHandler mod_python .pyo
AddHandler mod_python .py
AddHandler mod_python .psp

Aí, coloque essas linhas:

<Directory htdocs/python/>
AllowOverride All
SetHandler mod_python
PythonHandler mod_python.publisher
PythonDebug On
</Directory>

A primeira linha é a raiz dos meus script python; tem que ser AllowOverride All senão não funciona direito.
De final, coloque esse bloco:

<Location mpinfo>
SetHandler mod_python
PythonHandler mod_python.testhandler
</Location>


Aí, funcionou... em partes. A partir deste diretório, eu criei outros com um arquivo ".htaccess" cada um, contendo:

SetHandler mod_python
PythonHandler mod_python.publisher
PythonDebug On


Bem... se você quiser experimentar, fique à vontade... eu me satisfiz assim e nem estou mais querendo saber o por que de os script .py do diretório htdocs/python não rodarem direito, mas os de seus diretórios filhos sim.
Se você souber, escreva aqui!

quinta-feira, junho 01, 2006

Camanha AntiSpam

E aí, beleza?

Eu postei em maio um link de como agir caso receba um spam. Pois é, estava vasculhando algumas coisas e gostaria que você visitasse o cert.br e a sessão de spam, muito interessante com bastante dica, maneiras de se defender e denunciar. No canal de antispam do nic.br existe uma campanha para previnir a galera e incentivar as denúncias.
Esses são dois dos banners que eles pedem para quem quiser participar da campanha:

antispam.br


antispam.br

Tem de diversos tamanhos e duas variações de cores. Ajude a combater essas pragas!

Abraço!

quarta-feira, maio 31, 2006

Seu e-mail foi premiado!

Olha que cara de pau! Esse foi o e-mai lque recebi. Vamos brincar de jogo dos 7 (ou mais) erros:

PROMOÇÃO , 2 EM 1 !!!
VOCE GANHA UMA CAIXA POSTAL VIRTUAL GRATIS E AINDA CONCORRE A 1 DVD POR SEMANA.

VOCE LIGA PARA 21-7818-7859 , TECLE A OPÇÃO 4 ,SERVIÇOS DE ENCONTROS
CASO VOCE NÃO TENHA UMA CAIXA POSTAL VIRTUAL NOSSA , DEVERÁ SE CADASTRAR ,
É GRATIS , APÓS ISSO MANDE O NUMERO DE SUA CAIXA POSTAL PARA
O E-MAIL hcralmeida52@terra.com.br, E COMCORRA A UM DVD POR SEMANA, LIGUE JÁ !!!

FONE- 21-7818-7859 E TECLE 4 E BOA SORTE !!!
vÁLIDO PARA TODO BRASIL

  • Não coloquei aqui, mas o e-mail (From) é do Hotmail.
  • Premiado por quem?
  • Caixa Postal Virtual?
  • Ligar para um celular do Rio de Janeiro.
  • Se não tiver caixa postal com eles, devo me cadastrar (grátis) e mandar o número para um e-mail nada com nada do Terra.
  • Falta concordância e na última linha o "v" está em minúsculo.
  • Sem formatação, caixa alta o e-mail inteiro (dificulta a leitura), ...
Bom... será que alguém telefona? Acho que sim.... Estou pensando em ligar só para ver qual é... Não, é melhor não... hoje em dia não se sabe nada, né?
Não caia nessas, ok?

Abraço!

segunda-feira, maio 29, 2006

Requisitos - Aula 1

Galera,

Eu entrei no grupo de requisitos do meu setor e, por causa da certificação, temos que bolar aulas e resumos para o resto do pessoal, assim como os membros dos grupos de projeto, qualidade, condiguração e etc. Segue abaixo o resumo da aula 1 de requisitos. Espero que aproveitem, pois está bem compacto, com exemplos e não cansa a leitura.
O resumo dessa aula foi feito pelo meu colega e xará Daniel, baseando-se em apresentações usadas nos mini-treinamentos.


Resumo Requisitos – Aula 1


Norma

A norma estabelece a base, define as regras do que deve ser feito para realizar ou avaliar as atividades.
Ela está relacionada com o compromisso assumido pela organização para se atingir as metas para a certificação envolvendo o estabelecimento de políticas e patrocínio da alta gerência.
A norma diz o que deve ser feito e não como ser feito, sendo assim a Norma não é um processo.
Existe uma norma para cada área chave de processo e, no geral, está dividida em finalidade, âmbito de aplicação, conceituação e determinação. A norma pode ser encontrada no site do XXX (processo) (item Normas e Padrões) ou no sistema de normas.

XXX (processo)

O XXX é o processo de desenvolvimento que possui a seqüência de ações (atividades e subatividades) que devemos realizar. O XXX segue o que foi determinado na Norma, dando ação às suas determinações.

Requisitos

Os requisitos expressão as características e restrições do produto de software do ponto de vista da satisfação do usuário. Geralmente independe da tecnologia aplicada na implementação da solução.
Um conjunto de requisitos pode ser definido como uma condição ou capacidade necessárias que o software deve possuir para que o usuário possa resolver um problema, atingir um objetivo, atender as necessidades, restrições da organização ou dos outros componentes do sistema.

Classificação dos Requisitos

Os requisitos são classificados como requisitos funcionais e não funcionais.

Os requisitos funcionais descrevem a funcionalidade que se espera que o sistema realize, como ele se comportará com as entradas particulares e em situações especificas.

Ex: Para um sistema de biblioteca
  • Permitir a consulta na base por parte do usuário;
  • Realizar a reserva de uma obra emprestada;
  • Efetuar o empréstimo de obras para clientes cadastrados;
  • Efetuar cadastro de novos usuários;

Os requisitos não funcionais são as qualidades gerais do sistema ou parte dele, não descrevendo uma funcionalidade do sistema, mas é de grande importância, pois possui informações de como o sistema foi feito, como será o seu funcionamento, etc.
São requisitos não funcionais: requisito de desempenho, requisito de espaço, requisito de confiabilidade, requisito de portabilidade, requisitos de padrões utilizados no desenvolvimento, entre outros.
Ex: Para o sistema de biblioteca
  • O sistema deverá responder uma solicitação em até 20 segundos;
  • A base de dados deverá ser protegida de acessos não autorizados;
  • O sistema deverá rodar sobre o sistema operacional Windows;
  • O processo de desenvolvimento adotado será o XXX (processo);
  • O sistema estará disponível de segunda a sábado, das 08:00 às 22:00 horas;
  • O backup da base será feito diariamente às 02:00 horas;

Engenharia de Requisitos

Elicitar

A elicitação é a fase da descoberta dos requisitos para um sistema através da conversa com o cliente, usuários finais e demais partes interessadas do sistema.
Pode-se elicitar os requisitos utilizando-se questionários, entrevistas, documentações, brainstorming, prototipação, além de outras técnicas para descobrir os requisitos.
Por exemplo: Em conversa com o cliente, utilizando as leis vigentes e/ou outros métodos coleta as informações importantes do que o sistema deverá fazer, o que o usuário do sistema espera encontrar quando for usar o sistema.
Para ficar mais prático, o nosso cliente quer bloquear um usuário que infligiu as regras da biblioteca, o usuário espera encontrar no sistema a possibilidade de digitar o motivo do bloqueio e para ter certeza de que seja a pessoa certa, o sistema deverá trazer informações relevantes como nome, CPF, endereço.
Em uma conversa com o cliente essas informações são levantadas e anotadas informalmente para posterior análise.

Analisar

A análise têm como objetivo identificar possíveis problemas na declaração informal. Utiliza-se a lista de verificação para realizar a análise. Esse é o primeiro momento de se verificar se o que foi elecitado está consistente, foi entendido, podendo assim continuar o ciclo.
Utilizando o exemplo da elicitação, o analista de requisitos revê as anotações informais feitas na elicitação e utilizando-se da sua experiência ou com auxilio de outras pessoas experientes busca por falhas no encadeamento das idéias levantados, oportunidades de melhoria, buscando o entendimento mais claro possível do que o cliente quer.
Quando há imperfeições volta-se para a fase de elicitação para buscar novas informações corrigindo assim ambigüidades ou falhas ou adicionando informações importantes ao entendimento do problema/solução.
Depois disso feito chega-se a hora de documentar todo o levantamento feito de maneira formal.

Documentar

Depois da análise dos requisitos, deve ser feita a documentação que têm como objetivo registrar de forma entendivel por todos os envolvidos, uma vez que servirá de contrato entre usuários e desenvolvedores e as informações nele contidas serão utilizadas nas demais fases do projeto.
No exemplo, o analista de requisitos com as informações analisadas em mãos documenta essas informações escrevendo os passos necessários para a resolução, as regras que o sistema deverá comprir para atender, as informações de desempenho, de horário que o sistema deverá atender, casos para teste, entre outras informações.

Negociação e Priorização

É realizada a negociação com os usuários a fim de priorizar os requisitos e estimular marcos de entregas.
Para a priorização é importante que os riscos e complexidades sejam vistos a fim de não haver problemas com as previsões.
Utilizando o exemplo, o cliente quer um módulo para consultar e o outro de bloquear. Nesse momento pode-se negociar com o cliente para a fim de montar o que entregar primeiro, o que é mais emergêncial, a fim de priorizar os esforços de criação.

Revisar

A revisão é de suma importância para avaliarmos se o que está sendo elaborado está consistente com as necessidades do usuário.
A revisão é feita com a equipe e com o GQS, depois disso, os requisitos são mandados ao cliente que faz a verificação que fica registrada no termo de aceite.
Estando os requisitos revisados e aprovados pelo cliente, o processo de desenvolvimento pode continuar.
No exemplo, tudo está documentado, mas é necessário ter certeza de que o que está escrito é o que realmente o cliente deseja que o sistema faça. Para se ter mais certeza, os documentos são revisados pela equipe e também pelo cliente que dessa forma pode ver se o que está descrito é o que ele necessita. Dessa forma diminui-se as chances de criação de um sistema que não atenda ao que o cliente pediu.
Mesmo com o cliente aceitando não é garantido que os requisitos ficarão da forma que foram aprovados, eles podem mudar a qualquer momento e sendo assim, é necessária uma gestão nos requisitos.

Gestão de Requisitos

A gestão de requisitos deve ocorrer em todo o ciclo de requisitos e enquanto o projeto estiver ativo, pois os requisitos podem mudar durante o desenvolvimento o que vai necessitar análises de impacto para visualizar o que a alteração muda no que foi especificado.
Além disso, a gestão também é feita para o acompanhamento da situação do projeto, através da analise dos requisitos pode-se avaliar como está o projeto (quanto já foi realizado, por exemplo).

Necessidade e Funcionalidade

A necessidade é o que o usuário quer que o sistema faça, são os problemas que o usuário têm e que o sistema irá ajudar a resolver.
A funcionalidade é o como que isso será feito, é a solução, características do sistema que farão com que a necessidade seja satisfeita.
Ex: Para o sistema de biblioteca
  • Necessidade:
    • Reservar um livro para um aluno.
  • - Funcionalidade:
    • Pesquisar existência de obra no acervo;
    • Realizar a reserva de obra;
    • Informar conclusão da reserva;

Ator

O ator é algo externo ao sistema podendo ser uma pessoa, um sistema e até mesmo um equipamento (impressora, por exemplo) que interage com o sistema fornecendo entradas ou recebendo saídas dele.

Caso de Uso

É um documento narrativo que descreve a seqüência de eventos de um ator que usa um sistema para complementar um processo (por Ivan Jacobson). Ou seja, é a descrição da seqüência de ações que devem ocorrer para que o ator tenha a sua necessidade satisfeita.
Por exemplo: Para um caso de uso Realizar Saque, teríamos a descrição da seqüência de ações para realizar essa atividade: colocar cartão; digitar senha; validar senha; informar valor desejado; verificar existência de saldo na conta; verificar existência de valor no caixa; subtrair valor da conta; liberar valor para o cliente.

Inclusão

A inclusão é um caso de uso que é sempre chamado por outro caso de uso. Ele não depende de uma condição para essa chamada.
A inclusão é muito utilizada quando temos uma ação que é comum a muitas partes do sistema.
Por exemplo o Login que é utilizado por muitas partes do sistema da mesma forma, além disso, é uma chamada incondicional, pois o login é necessário para que as operações sejam executadas.

Extensão

A extensão, diferentemente da inclusão, depende de uma condição para chamar um outro caso de uso, com isso o caso de uso nem sempre é chamado.
Por exemplo uma parte de um sistema responsável em informar um fornecedor que o estoque está baixo. Vamos nomear esse caso de uso como sendo INFORMAR FORNECEDOR e imaginar que o estoque mínimo é de 10 unidades.
Quando uma compra ocorrer e a quantidade em estoque for de 9 produtos, o caso de uso INFORMAR FORNECEDOR é chamado.

Generalização

A generalização ocorre quando temos um caso de uso que faz uma parte comum e é complementado por outros casos de uso. O caso de uso base possui diferentes especializações que são tratadas por outros casos de uso.
Por exemplo um caso de uso responsável por pagar uma fatura, podemos pagar a fatura usando o cartão de crédito, dinheiro ou cheque.
Vamos nomear esses casos de uso como: PAGAR FATURA, PAGAR COM CARTÃO, PAGAR COM DINHEIRO e PAGAR COM CHEQUE.
O PAGAR FATURA é genérico e é complementado pelo PAGAR COM CARTÃO, PAGAR COM DINHEIRO e PAGAR COM CHEQUE.
Além de generalização de caso de uso também podemos ter generalização de atores. Vamos considerar dois atores o GERENTE e o FUNCIONÁRIO.
O GERENTE também é um funcionário, mas ele possui permissões diferentes de acesso ao sistema, sendo assim ele complementa as operações do FUNCIONÁRIO.

A generalização de caso de uso é o tipo mais complicado de se usar e se explicar. Eu particularmente, nunca utilizei nem vi um uso prático para isso, que em situações parecidas utilizei inclusão. Digo isso porque acho que todo mundo fica confuso ao tentar mentalizar um cenário com este tipo de CDU. A generalização, ou especialização, é mais comum com atores.

quinta-feira, maio 18, 2006

Denúncia de Spam

Galera,

Achei uma matéria classe A em português sobre denúncia de Spam. O site é da consultoria G2CTech e explica direitinho como reportar um spam.

Alguns links para serviços que o artigo se refere:

Abraço!

sexta-feira, maio 05, 2006

Presente de aniversário

É galera... hoje é meu aniversário... faço 22 anos.... tô ficando velho... e logo de cara abro o e-mail e vejo um daqueles spams: Não cliquem no link, caso vocês recebam. É bonitinho, com logo e fotos da Petrobrás, no cabeçalho diz que vem de contato@petrobras.gov.br, mas é um blefe... o link para o edital vai para um executável que provavelmente vai zoar sua máquina... que presentão... pelo menos hoje poderia não receber essas coisas.... Segue o texto:
A Petrobrás, maior empresa estatal do país, está com
inscrições abertas para o concurso que visa ao
preenchimento de 1.178 vagas para os níveis médio,
médio técnico e superior.
Os interessados em participar podem fazer as inscrições
até o dia 25/05. A taxa é de R$28,00 para cargos de
níveis médio/técnico e de R$42,00 para os cargos de
nível superior.
Os salários iniciais chegam a R$3.605, de acordo com
o cargo pretendido.
Aproveite! Boa remuneração, benefícios e a estabilidade profissional que você precisa para planejar seu futuro.
Clique aqui para maiores informações e retire o Edital (lnk para um executável em um domínio esquisito... em espanhol)
Só estou postando isso para que caso alguém que não está acostumado com essas coisas, ou não é familiarizado com os problemas do mundo da informática fique esperto... Muitos e-mails de cartões, Serasa, banco, e concurso também podem ser estas pragas... que instalam outras pragas na sua máquina.

Abraço. E obrigado pela tentativa do presente!

segunda-feira, abril 24, 2006

Anatel dá mais minutos grátis

Eu sei que a notícia é um pouco velha, mas (acho que) ainda é válida.

Quinta-feira, 24 de novembro de 2005 - 15h48

SÃO PAULO - A Anatel (Agência Nacional de Telecomunicações) anunciou que em 2006 os usuários de telefones fixos residenciais terão direito a 200 minutos grátis nos dias de semana.

A novidade faz parte das novas regras de tarifação para a telefonia fixa anunciadas nesta quinta (24). Ela está associada à mudança na forma de cobrança, abandonando o atual esquema de pulsos e passando a cobrar por minutos. Pelo modelo atual, o assinante tem direito a uma franquia de 100 pulsos, equivalente a 170 minutos grátis.

A mudança vale apenas para os telefones residenciais. Para os comerciais, a conversão dos pulsos fica em 150 minutos.

Outra novidade que será incluída em janeiro é o detalhamento de todas as chamadas, semelhante ao que existe nos serviços de telefones celulares.

As empresas têm até 31 de julho de 2006 para concluir a conversão de pulsos para minutos e para apresentar as contas detalhadas. As companhias que não cumprirem as determinações a partir de agosto serão multadas.

A Anatel também divulgou como será o sistema de atualização do IST (Índice de Serviços de Telecomunicações), que passará a servir de base para a correção das tarifas de telefonia fixa, substituindo o IGP-DI. Ele será formado pela média ponderada de vários índices já existentes, que refletem os diversos custos das empresas. A cada dois anos, a agência vai rever a composição do índice.

Paulo Silvestre, do Plantão INFO

(Obtido em: http://info.abril.com.br/aberto/infonews/112005/24112005-2.shl )

quinta-feira, abril 20, 2006

Salários de TI

Você acha que ganha bem? Ganha mal? Não tem idéia?
O site da Info possui uma tabela sempre atualizada com as faixas salariais para cada cargo de TI. Muito legal, porque dá para você ter uma referência e, quem sabe, negociar o dindin... o leitinho das crianças...

http://info.abril.com.br/carreira/salarios.shl

Tem também o site www.meusalario.org.br, mas não é muito completo... ainda.

Abraço

quinta-feira, abril 13, 2006

Nanocarro motorizado - Notícia do Estadão

Eu sei que não tem diretamente foco em desenvolvomento, mas é tecnologia. Olha que show de bola! Acho que vou querer comprar um para eu dirigir!

Ciência e Meio Ambiente

12 de abril de 2006 - 20:07
Cientistas produzem nanocarro motorizado
Modelo motorizado, que funciona com a luz, mede apenas entre 3 e 4 nanometros

HOUSTON, EUA - Depois da invenção do primeiro carro feito de uma única molécula no ano passado, os químicos na Universidade Rice produziram a primeira versão motorizada de seu minúsculo nanocarro. A pesquisa será publicada na edição desta quinta-feira da revista Organic Letters.
"Nós queremos construir coisas desde o início, uma molécula de cada vez, mais ou menos da mesma forma que as células biológicas usam enzimas para montar proteínas e outras supermoléculas", disse o pesquisador James M. Tour. "Tudo que é produzido pela biologia - da mais alta árvore a maior baleia - é construído por uma molécula de cada vez. Os nanocarros e outros transportadores sintéticos podem ser alternativas adequadas para sistemas criados da base para o topo, em que os métodos biológicos não são práticos".

O modelo motorizado do nanocarro funciona com a luz. Seu motor rotativo, um dispositivo molecular que foi desenvolvido por Ben L. Feringana, Universidade de Groningen, na Holanda, foi modificado pela equipe de Tour e, assim, poderia se unir ao chassi do nanocarro. Quando a luz atinge o motor, ele roda em uma direção, empurrando o carro, como uma roda de pás.

O nanocarro consiste em um chassi rígido e quatro rodas de acetileno que giram livremente e independentemente uma da outra. As quatro rodas de fulereno que foram usadas na versão original do nanocarro roubavam energia do motor, e foram substituídas por moléculas esféricas de carbono, hidrogênio e boro.

Testes iniciais conduzidos em uma banheira de solvente de tolueno constataram que o motor gira como projetado quando é atingido pela luz. Mais testes estão em andamento para determinar se o carro motorizado pode ser dirigido em uma superfície lisa.

Os nanocarros, que medem apenas entre 3 e 4 nanômetros (bilionésimos de metro), têm mais ou menos a mesma largura de cordão de DNA, mas altura muito menor. Cerca de 20 mil desses nanocarros poderiam ser estacionados, lado a lado, no diâmetro de um fio de cabelo humano.

Eles são os primeiros veículos em nanoescala com um motor interno.

Copyright © 2006 Grupo Estado. Todos os direitos reservados
http://www.estadao.com.br

quinta-feira, abril 06, 2006

Internet Explorer & Edições (Interpretações) do CSS

Este texto é uma tradução com interpretações minhas, Daniel, de
http://www.codeproject.com/useritems/css-internet-explorer.asp
(fevereiro de 2006)
Também está no site do autor:
http://www.webcredible.co.uk/user-friendly-resources/
css/internet-explorer.shtml

(abril de 2006)

Tentar obter sites baseados em CSS para se ver em diversos navegadores pode ser difícil. Muitos dos problemas vêm da implementação diferente dos comandos CSS pelo Internet Explorer e os outros, mais padronizados. Nem tudo está perdido, mas como muitas diferenças que você vê entre os navegadores são causadas pela mesma edição do CC do iE...

1. Elementos da página são mais estreitos no Internet Explorer

Talvez o mais famoso problema do CSS e iE é a interpretação "corretíssima" do Internet Explorer com relação ao modelo de caixa do CSS, que torna elementos da página mais estreitos. Todo elementos HTML ou XHTML é essencialmente uma caixinha; a largura é o total da margem, borda, espaçamento interno e conteúdo. Imagine a seguinte regra CSS:

div {
margin: 5em;
padding: 4em;
border: 1em solid green;
width: 30em
}

Isto significa que cada DIV tem 50em de largura, sendo 30em a área do conteúdo, 4em o espaçamento interno (distância da borda), 1em de borda e 5em de margin (distância invisível entre a borda e outro elemento), em todas as direções (5em + 1em + 4em + 30em + 4em + 1em + 5em).

No bendito do iE, entretanto, a borda e o espaçamento interno são interpretados com parte da largura declarada, como parte da área do conteúdo, e não são adicionados. Então, o espaço do conteúdo é reduzido a 20em (30em - 4em+1em=5em[esquerda] - 4em+1em=5em[direita]), e o total da DIV é de 40em.

Este problema de modelo de caixa do CSS ocorre no iE5.x, e pode ocorrer no iE6, dependendo da sua declaração do valor ISO no código (X)HTML.

  • [?xml version="1.0" encoding="iso-8859-1"]

  • [meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /]

O primeiro comando é colocado na primeira linha do documento HTML e o segundo em qualquer lugar dentro da tag HEAD. Como a validação do XHTML depende da declaração de umas das duas linhas, não há muitos problemas (atualmente), mas a W3C recomenda o uso da primeira porque a segunda está se despedindo(!) - será retirada no futuro.

Por usar o primeiro comando, o Internet Explorer 6 vai exibir de forma errada o modelo de caixa CSS, como na versão 5 do navegador. Para arrumar esse problema, você precisa inserir um "corte" CSS para ter um valor diferente quando lido dependendo do navegador. O "corte"

CSS que você usa depende de qual valor da ISO declarada, e que versão do iE exibe o modelo incorretamente.

Para arrumar esse problema no somente no iE5.x, use o seguinte comando CSS:

div {
margin: 5em;
padding: 4em;
border: 1em solid green;
width/**/:/**/ 40em;
width: 30em
}

Para arrumar em todas as versões do iE, use o seguinte:

div {
margin: 5em;
padding: 4em;
border: 1em solid green;
width: 40em
}
html>body div {
width: 30em
}

(O autor original deste artigo recomenda ler um outro, "CSS hacks & browser detection" para mais "cortes" desses tipos.)

2. O texto sai do seu contâiner/espaço determinado em navegadores não-iE

O Internet Explorer, diferentemente de outros navegadores, vai expandir a borda e a cor de fundo para que o texto não saia do contâiner.
Digamos que uma DIV seja de classe "box" (class="box") e tenha o seguinte comando CSS:

.box {
width: 40px;
}

Navegadores não-iE vão se fixar cegamente na largura de 40px e não vão expandir para acomodar qualqer texto maior que isso. Entretanto, o iE interpreta o "width" como "min-width" (largura mínima), então se o texto for maior, a largura acompanha seu tamanho (o mesmo ocorre com "height" e "min-height").
Para ficar certo de que o texto não vai transbordar em nenhum navegador, você precisa usar a seguinte regrinha CSS, além daquela primeira:

html>body .box
{
width: auto;
min-width: 40px
}

Como o comando CSS tem html>body na frente, o iE vai ignorar estas regras (o autor deste artigo recomenda novamente a leitura daquele outro artigo indicado anteriormente). sendo assim, este comando CSS serve para navegadores não-iE. A primeira regra "width: auto" cancela a regra original de largura fixa. O segundo comando "min-width: 40px" determina uma largura mínima, permitindo que o conatâiner/caixa se expanda conforme o texto.

3. Sumindo com a imagem de fundo

O iE tem um probleminha muito esquisito para fazer imagens (e de vez em quando textos - particularmente se há elementos flutuando [float] em torno dele) de fundo desaparecerem. Iss o normalmente acontece quando você rola a página para cima e para baixo, e você pode fazer reaparecer o fundo atualizando a mesma (F5).

Claro que você não quer que o usuário do seu site tenha que ficar atualizando a página para ver a imagem de fundo por completo! Uma solução maluca para um problema maluco é inserir o comando "position: relative" na regra CSS no contâiner que contém a imagem de fundo:

.foo {
background: url(filename.jpg);
position: relative
}


Ocasionalmente isto não funciona, assim outra solução é atribuir largura e altura ao elemento com a imagem de fundo. Você pode não querer fazer isso, então pode atribuir uma altura de 1% apra o iE, porque ele interpreta "height" como "min-height" (veja o número 2), o que não vai alterar na aparência:

.foo {
background: url(filename.jpg);
height: 1%
}
html>body .foo {
height: auto
}

A altura de 1% é cancelada pela regra "height: auto", que é ignorada pelo iE que não entende "html>body"

4. Larguras que só funcionam no iE

Todo elemento HTML ou é de bloco ou de linha. Exemplos de elementos de bloco incluem include [div], [p], [h1], [form] e [li]. Exemplos de elementos de linha [font], [a], [label], [strong] e [em]. Uma das características dos elementos de linha é que você não pode mudar a largura deles. Teoricamente a seguinte regra CSS não deveria funcionar:

span {
width: 100px
}

Esta regra CSS não trabalha, com exceção do nosso amigo Internet Explorer em que cada "span" terá uma largura de 100px. Em todos os outros navegadores, a largura do "span" vai simplesmente ser a largura do númer de caracteres existentes nele. A solução? Faça do "span" um elemento do nível de bloco:

span {
width: 100px;
display: block
}

(Tornando o "span" em um elemento de bloco, vai fazer com que a largura do comando funcione em todos os navgadores, mas fará também o "span" começar numa nova linha. Para comabater isso você pode atribuir"flot: left" ao "span".)

5. Versão da página sem estilo aparecendo no iE

Quando seu website é carregado no iE, uma versão sem o estilo especificado aparece por um ou dois segundos, antes do estilo ser entrar em ação? Se sim, seu site pode estar sofrendo de uma coisa conhecida por "Flash Of Unstyled Content - FOUC" (flash de conteúdo sem estilo).

Se você estiver usando a diretiva "@import" (ex: [style type="text/css"]@import "styles.css";[/style]) para chamar seu arquivo CSS, isso pode acontecer com seu website no iE. É estranho, não há explicação lógica para isso, só a certeza de que deve ser reparado.

Uma solução simples para esse problema ilógico é igualmente ilógico - insira um elemento "link" ou "script" no cabeçalho:

  • [script type="text/javascript" src="scripts.js"][/script]

  • [link rel="stylesheet" href="styles.css" type="text/css" media="print"]

Não faz diferença qual você usa (pode até usar os dois). Se você fornecer uma folha de estilo para impressão, usando o elemento "link" para referenciá-lo (como indicado no exemplo acima), então você não verá o fenômeno FOUC.

6. Página com largura fixa não fica no centro da janela

Fez um site com largura fixa e não consegue centralizá-lo no Internet Explorer? Ou você consegue centralizá-lo no iE, mas não nos "outros" navegadores? Relaxa, não é culpa sua! Infelizmente o jeito certo para alinhar um conteúdo a ocentro através do CSS não funciona corretamente no iE:

#container {
width: 770px;
margin: 0 auto
}

O segundo comando, "margin: 0 auto", basicamente dá a nosso conteúdo uma margem automática na esquerda e direita, desse modo posicionando o elemento no centro da janela.
O iE, entretanto, vai precisar de comandos um pouquinho diferentes para fazer isso:

body {
text-align: center
}
#container {
width: 770px;
margin: 0 auto;
text-align: left
}

Isso certamente vai centralizar o conteúdo no iE também. Para previnir o texto de alinharjuntamente ao centro, inserimos "ext-align: left" na DIV "container".



Este artigo foi retirado do site www.codeproject.com, como mencionado no início, e é de autoria de Trenton Moss, dito como um maluco por usabilidade e acessibilidade.

quarta-feira, março 29, 2006

Diferenças entre o CMM e CMMI

Não sou nenum expert... para falar a verdade sou só um funcionário que segue o processo para atender as premissas do CMM/CMMI. Minha empresa adota um processo baseado no RUP. Não sou especialista, mas sei da necessidade e entendo a padronização e as metas. Bem... estava na apresentação da a migração do processo para atender as mudanças para o CMMI e descobri: não mudou quase nada. "Como não!" você pode estar se perguntando... não mudou, apenas reorganizaram. O CMM possuia uma espécie de divisão, um CMM para cada foco, redundante em muitas partes, mas atendiam as disciplinas de System Engineering, Software Engineering, IPPD e Supplier Sourcing (se não me engano é isso). em minha empresa utilizava-se o segundo, para software, que era idêntico ao primeiro, com 22 áreas chave de processo, que aliás agora é só área de processo, com diferenças mínimas.
Nível de Maturidade (organização como um todo) e Capacidade (cada processo)... A representação contínua é mais flexível, pois permite a evolução de processos separadamente. Já a representação por estágios define as dependências das áreas do processo, permitindo uma evolução mais segura e comparação entre organizações (níveis de maturidade). As AP (áreas do processo) possuem metas genéricas e específicas com suas práticas e artefatos. Os nomes nos níveis mudaram um pouco.
[imagem do site da Borland]
Mas qual a grande mudança? No CMMI as disciplinas foram unidas numa só e possuem 25 PAs ou APs e foram divididas/explodidas e jogadas em outros grupos para facilitar a gestão buscando atender melhor o conjunto de práticas genéricas de determinado nível. Na prática, para uma organização com um processo definido e seguindo as premissas o impacto será quase 0. Pelo menos foi o que foi colocado no treinamento.
Tem alguma besteira que escrevi ou quer complementar? Comente!

Abraço!

segunda-feira, fevereiro 13, 2006

Acessibilidade - Brilho e Contraste das Cores

Quando criamos uma página, damos a ela uma cor de fundo e a cor do texto. Muitos utilizam as cores padrão, fundo branco e texto preto, que aliás é a melhor combinação para leitura, mas não quer dizer que você não possa utilizar outras combinações ou que as seus experiêntos não serão acessíveis ou bonitos. O problema é que às vezes você quer forçar um estilo que não é legal, por mais que você consiga ler. apesar de ainda aberto para alterações, a W3C possui dois algorítimos em seu site para analizar se essa combinação oferece uma boa visibilidade: um para o brilho e outro para o contraste das cores.
Para cada cor devem ser aplicadas essas fórmulas:

Brilho =
[(vermelho x 299) + (verde x 587) + (azul x 114)] / 1000
Esse algotítimo usa a fórmula de conversão de RGB para YIQ que diz o brilho percebido para uma cor. Uma diferença maior que 125 é considerada ideal.

Contraste =
[máximo(vermelho 1 e vermelho 2) - mínimo(vermelho 1 e vermelho 2)] +
[máximo(verde 1 e verde 2) - mínimo(verde 1 e verde 2)] +
[máximo(azul 1 e azul 2) - mínimo(azul 1 e azul 2)]
No caso do contraste, a diferença ideal é de 500.

Assim, pelo menos, você sabe que o conteúdo é visível tornando sua página bem acessível. Utilize sempre que pintar uma dúvida, ou se preferir, sempre que criar ou modificar algum elemento com atributo de cor (body, table, td, th, hr).

Abraço!

segunda-feira, fevereiro 06, 2006

Requisitos

Requisitos é um monte de coisa indispensável que o sistema deve fazer. Eles podem ser:
Funcionais - funções e ações do sistema (gerar relatório, permitir manutenção dos cadastros)
Não Funcionais - restrições, padrões e frescuras (tempo de saída automática do sistema [logoff], usabilidade, posicionamento do logo da empresa [isso afeta o visual...])
Essa coisas são definidas pelo usuário e especificadas pelo analista, no caso você, que deve documentar tudo para não ter problemas depois. É na fase de elicitação de requisitos que se conhece os atores (quem age), as necessidades (o que ele quer que o sistema satisfaça) e suas funcionalidades (o que deve fazer para atender as necessidades), tira a medida do projeto (tamanho, custo e esforço, principalmente), cria os casos de uso ligados às funcionalidades (uma historinha passo-a-passo da interação entre os atores e as atividades/ações), regras de negócio a serem seguidas na aplicação, faz o glossário para o cliente e você, e quem ler a documentação, entender tudo que se passa.
É complicado, mas normalmente o cliente muda alguma coisa no decorrer do projeto, inventa uma necessidade ou diz que algo não é mais necessário ou quer diferente, por isso, se esforce para sugar e questionar ao máximo os requisitos que você pegou e, assim, depois se estressar menos com as mudanças. Lembre-se de analisar o impacto dessas mudanças, hein! Cliente é fogo!

segunda-feira, janeiro 16, 2006

Testes de TI

Não sei quem faz aquelas provas malucas de conhecimento em TI. Não somente as específicas, mas as mais simples como os de concurso ou vestibular em que se pede conhecimento mínimo em informática. Para inserir uma imagem no Microsoft Office XP Standard Home Small Edition for Students... Sinceramemte? Eu quero que essa versão do Office vá para a... Microsoft que lhe concebeu! Isso lá é pergunta para testar conhecimento? Isso só serve para que para passar aqueles psicopatas que decoram como se faz e se perdem na hora do "vamos ver". Cada versão do programa tem o menu de um jeito, vou me lembrar qonde fica naquela tal versão. O que importa é que eu sei fazer um texto com imagens, formatar e sei lá o que, e isso é difícil de se pedir em testes no papel por que cai nessa questão de decoreba inútil. Tem programa que eu fiz que não lembro a seqüência do menu e ações sem ajuda do manual. E outra, e se eu usar OpenOffice. Posso muito bem saber utilizar o da MS, mas não tenho de cór a seqüência. Essa mania de fazer perguntas para ferrar [para não dizer outra coisa] os candidatos, também se aplica a certificações. Ao invés de fazer perguntas conceituais, casos ou algo que faça a pessoa mostrar seu potencial, seu conhecimento válido, vem aquelas perguntas do tipo complete ou algo assim feitas, só pode ser, por pessoas formadas em biologia ou história antiga, porque se a pessoa conhecece do assunto aplicado, não faria questões tão imbecis. O candidato tem que decorar 500 páginas de um manual, apostila e textos para fazer uma prova. Sorte que normalmente essas provas não são o total da nota, porque há outras decentes que salvam a instituição. Quando é que algum responsável vai cair na real e perceber que perguntas assim não testam nada? O pior é quando o material oficial é em inglês e surge um ser designado a formular as benditas e faz um tradução mal feita ou ao pé da letra de uma expressão usada em TI. Aí a casa cai pra todo mundo... Imagine eu criando perguntas específicas para um vestibular sobre a geologia d onorte do Japão. Provavelmente eu seria processado! Ainda bem que tem gente que recorre e consegue a anulação da(s) questão(ões). Até quando vamos viver com essas... essas... esses inomináveis acontecimentos? Quer aplicar testes, aplique, mas faça coerentemente, por favor!

quarta-feira, janeiro 11, 2006

Página bonita e pesada vale a pena?

Fóruns, sites de documentação, guias e referências precisam de imagens gigantescas, coloridas com a foto de alguém na praia tomando umas? Acho que não, né? Mas e se você
estiver falando de um site de uma empresa de marketing, publicidade, cerveja ou até mesmo de uma montadora de carros? Você tem que aparecer! Antes de tudo ser autêntico e único... original, e existe algo melhor do que as mídias para isso. Vídeos, músicas, animações e imagens alucinantes ou finíssimas para representar sua entidade, empresa, pessoa - porque o site é um espelho seu. As pessoas querem lhe conhecer, e para isso, meu amigo(a), vale tudo... mas com muita cautela. Não se esqueça que o site lhe representa, por isso não faça caquinha (vão pensar que você também é uma).
Como exemplo, deixe eu pegar o site da... Volks: me passa a impressão de uma empresa séria com espírito de aventura... uma foto de um carro dela no Rally Dakar. Apesar os scripts dos menus apresentarem um probleminha com o "onomuseover" no meu Firefox (a não ser que tenham feito de propósito a aba não baixar de vez em quando), é bem interessante. Esses sites têm que passar a qualidade de seus produtos e fotos servem para isso. A pessoa deve se sentir realizando um sonho, então põem umas fotos de alguém feliz para você se projetar nessa pessoa.
Acho que todos os sites de montadora têm um "configurador/monte o seu/ou sei lá o que" para você escolher as cores e acessórios pela internet. Tudo feito em Flash. Claro que o alvo deles não é um usuário do Linx. Até as buscas são feitas em Flash, algo que é simples de se fazer (entre em Renault, busque um carro com certas configurações), mas o que importa nestes casos é o visual. A empresa tem que ser imponente.
Agora entre no site da AmBev. Tem suas animações legais, mas repare no menu: Responsabilidade Corporativa, Imprensa, Investidores, Apoios e Patrocínio... Agora entre em Skol - do grupo AmBev - e comece pelo título "<skol> oooooooooooo...", aviso que o site usa Flash 6.0 e se você tem menos de 18 anos é redirecionado para o site da AmBev. Se você for maior de idade vai cair num site em Flash. Pra que essa diferença? Porque o foco é outro. Skol desce redondo, numa praia, é festa, é farra, com responsabilidade (!), eventos... Quem entra nesse site quer isso e por se sentir bem nessa onda ele compra.
Quando você for planejar um site, deve levar vários fatores em consideração. Como você já deve saber, o público alvo é essencial para se avaliar a funcionalidade atrativa de uma imagem, animação, apresentação (eu não gosto), cores e a disposição dos elementos na tela, ou seja a banda a ser consumida e o leiaute. A necessidade do uso de cada recurso que as páginas permitem é você quem vai avaliar, ou seu cliente chato que sempre quer aquele iconezinho ali ou a fachada ridícula da empresa no meio do site como apresentação (já falei que não gosto de sites com apresentação?). Procure dominar esses recursos para compensar peso, principalmente, sem perder qualidade.
Talvez você tenha lido uma postagem anterior sobre imagens e achado que sou aqueles psicóticos que não gostam de imagens, mas não é isso. É que às vezes existem excessos... e, outras vezes, falta.

segunda-feira, janeiro 09, 2006

AJAX - definição de cada nome da sigla

Sei que já existe uma postagem sobre AJAX explicando o que é e como funciona. Porém achei que falta um pouco de definição para quem não conhece direito essas palavras e expressões da web. Resumindo, esse AJAX, que não é time da Holanda e nem nenhum produto de limpeza (toda vez que falo em AJAX para minha namorada, ela vem com papo de desinfetante e coisas assim), é um conjunto de tecnologias que já existiam, mas que juntas deixam sua aplicação mais dinâmica sem precisar carregar as páginas várias vezes. AJAX, como já dito na outra postagem, significa Asynchronous JavaScript And XML. No site http://www.yourhtmlsource.com/javascript/ajax.html você vai encontrar esta definição em inglês, além de muito mais sobre AJAX (muito bom site). Essas definições foram tiradas de lá, traduzidas e adaptadas.

Assíncrono: Significa que quando você faz uma requisição e espera o retorno, mas está livre para fazer outras coisas enquanto isso. A resposta provavelmente chega quase que imediatamente, então você faz uma função que espera o envio do servidor e faz alguma coisa quando ela chegar.
Ou seja, assíncrono quer dizer "pede pro servidor, você faz o que tiver que fazer e quando ficar pronta, ele te manda a resposta".
Javascript: É uma linguagem para criar scripts e deixar suas páginas mais dinâmica. Neste caso, do AJAX, usado para requisitar ao servidor. Uma vez que a resposta é retornada do servidor, você normalmente vai usar alguma(s) função(ões) Javascript para mudar algo na página atual para mostrar que a ação foi realizada com sucesso.
XML: É uma linguagem de marcação que armazena somente dados. Os dados que você recebe do servidor são empacotados como XML, sendo facilmente processado pelo Javascript. Este dado pode qualquer coisa de qualquer tamanho.

Espero ter ajudado alguém que tenha dificuldade de entender isso... se tiver dúvidas, comente!