quinta-feira, março 17, 2016
O Brasil passando por uma dos momentos políticos mais críticos de sua história. Entro no Twitter e encontro a hashtag "#RenanVaiEstudar". De cara, imagino que essa hashtag está relacionada ao político Renan Calheiros. Mas para minha surpresa, ela se refere ao programa Big Brother Brasil.
Será mesmo que a culpa é só dos políticos?
sábado, janeiro 19, 2013
Dica: Bootstrap typeahead com objeto
{
"options": [
"Cliente ABC",
"Cliente XYZ",
"Cliente LTDA",
"Cliente SA",
"Cliente N"
]
}
function Option (id, value) {this.id = id;this.value = value;this.toLowerCase = function() {return value.toLowerCase();};this.replace = function(){return value.replace();};this.indexOf = function(){return value.indexOf();};this.toString = function(){return value;};this.getValue = function(){return value;};this.getId = function(){return id;};}
$('.typeahead').typeahead({ minLength: 4, items: 7, source:function (query, process) { return $.ajax({ url:'/customers.json', type:'get', data:{search_name:query}, dataType:'json', success:function (json) { var options = new Array; $.each(json, function (i, customer) { var option = new Option(customer.id, customer.name); options.push(option); }); return process(options); } }); }, updater:function (item) { return item.toString(); }, highlighter: function (item) { var regex = new RegExp( '(' + this.query + ')', 'gi' ); return item.toString().replace( regex, "$1" ); } });
sexta-feira, abril 03, 2009
redimencionar iframe html
<script type="text/javascript">
function autoIframe(frame){
try{
innerDoc = (frame.contentDocument) ? frame.contentDocument : frame.contentWindow.document;
frame.height = innerDoc.body.scrollHeight + 50;
}catch(err){
alert(err);
window.status = err.message;
}
}
</script>
<iframe name="detailFrame"
src ="foo.html"
scrolling="no"
frameborder="0"
onload="if (window.parent && window.parent.autoIframe) {window.parent.autoIframe(this);}">
terça-feira, fevereiro 03, 2009
configurar sistema de arquivos sftp no ubuntu
sudo apt-get install sshfs
- criar diretorio do sistema de arquivos
sudo mkdir /media/nome-dir
- dar permissao para o usuario
sudo chown felipe /media/nome-dir
- uncluir o usuario no grupo fuse (nao sei o que eh esse grupo)
sudo adduser felipe fuse
- montar sistema de arquivos
sshfs servidor.com:/qualquercoisa /media/nome-dir
segunda-feira, janeiro 12, 2009
Evite float e double se você quer respostas exatas!
David Pereira (david@jeebrasil.com.br)
domingo, junho 08, 2008
backup e restore do ubuntu
tar -cvpzf /media/sda5/bkp/backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=/media /
Restore
tar xvpfz backup.tgz -C /
sexta-feira, junho 06, 2008
quinta-feira, junho 05, 2008
Getting started with BlazeDS
http://www.adobe.com/devnet/livecycle/articles/blazeds_gettingstarted.html
segunda-feira, junho 02, 2008
Colegas da PUC
quinta-feira, maio 29, 2008
Programas essenciais para o Ubuntu
Editor de vídeo
download: http://www.getdeb.net/app/Avidemux
info: http://ubuntudicas.blogspot.com/2008/01/avidemux-editor-de-vdeo.html
Deluge
Torrents
donwload: http://www.getdeb.net/app/Deluge
info: http://ubuntudicas.blogspot.com/2008/01/deluge-0581-nova-verso.html
Emesene
Instant Messenger tipo MSN
info: http://ubuntudicas.blogspot.com/2007/12/emesene-clone-do-msn.html
Exaile
Player de mp3 e CD
download: via Adicionar/Remover Programas...
Frostwire
P2P
download: via Adicionar/Remover Programas...
Gmount-ISO
Leia imagens ISO
download: Via Synaptic
via terminal: sudo apt-get install gmountiso
PyTube
Baixar vídeos do YouTube
info: http://bashterritory.com/pytube/index.php
download
VLC
Player de vídeo divx ou dvd
download: Via Synaptic
info: http://ubuntudicas.blogspot.com/2007/10/vlc-no-mostra-as-legendas.html
Wifi Radar
Buscador de redes wireless
donwload: Via Synaptic
info: http://ubuntudicas.blogspot.com/2008/01/wifi-radar.html
Fonte: http://ubuntudicas.blogspot.com/2008/01/programas-essenciais.html
quarta-feira, maio 28, 2008
Sistemas Especialitas
- Sistemas de software no qual o conhecimento relativo ao dominio de problemas é armazenado como regras, separadas do modo como são processadas, em um repositório chamado Base de Conhecimento (BC).
- Sistema Especialista é um SBC construído para executar tarefas que requerem conhecimento de um especialista humano (perito).
- Sistema computacional no qual um programa interpretador (Motor de Inferencia - MI), com base nos dados correntes armazenados na Memória de Trabalho (MT), escolhe e aplica regras de inferência armazenadas em uma Base de Conhecimento (BC) para realizar tarefas do domínio.
- Sistemas Especialistas estão baseados no pressuposto que conhecimento perito pode ser representado como fatos, regras e objetos e estes elementos podem ser descobertos em um processo de aquisição de conhecimento, e tornados explícitos em uma BC.
- Regras de Produção ou Inferência definem a lógica de uma aplicação de forma separada do modo como são processadas (encademaento).
segunda-feira, maio 26, 2008
Modelo CMMI
Os 5 Níveis da Maturidade do CMMI:
- Inicial (Imprevisível, mal controlado e reativo)
- Gerenciado (Projetos, reativo)
- Definido (Organizado e pró-ativo)
- Quantitativamente Gerenciado (Processo medido e controlado)
- Otimização (Melhoria contínua do processo)
- Gerência de Requisitos
- Planejamento de Projetos
- Acompanhamento e Supervisão de Projetos
- Gerencia de fornecimento
- Medição e Análise
- Garantia da Qualidade de Software de processo e produto
- Gerência de Configuração de Software
- Desenvolvimento de requisitos
- Solução técnica
- Integração de produto
- Verificação
- Validação
- Foco no Processo da Organização (SEPG)
- Definição do Processo da Organização
- Programa de Treinamento
- Gerência de Projetos Integrada
- Gerencia de riscos
- Coordenação entre Grupos
- Gerencia integrada de fornecimento
- Análises de decisão e resolução
- Ambiente organizacional para integração
- Desempenho de processo organizacional
- Gerência Quantitativa de Projetos
- Inovação organizacional e distribuição
- Análise casual e resolução
sábado, maio 24, 2008
dica de leitura
Várias técnicas para solução de problemas de desenvolvimento na plataforma Java como interceptação dinâmica do fluxo de execução usando reflection, como usar de forma adequada técnicas de tracing, dicas para descompilar classes, dicas para proteger aplicações comerciais contra hacking, etc.
Vale a pena ler esse livro.
terça-feira, maio 13, 2008
O que é qualidade de software?
Um dos fatores que exerce influência negativa sobre a qualidade de um projeto é a complexidade que está associada ao tamanho das especificações, em razão das interações entre diversos componentes dos sistema.
As dificuldades no processo de software começam durante as etapas iniciais de um projeto: delimitar o escopo de um sistema está longe de ser uma tarefa trivial. A volatilidade dos requisitos é uma das maiores causas de insucesso de projeto de software. Muitas vezes, mesmo que a estrutura do software tenha sido toda desenhada, é muito complicado prever como será programa acabado.
A qualidade é um conceito muito subjetivo, o que para uns pode ser bom, para outros não. Por isso, estabelecer critérios (requisitos) que sirvam de base é uma forma de garantir a qualidade de um determinado produto/processo. É preciso saber como cada pessoa envolvida no projeto influi sobre os requisitos para conhecer com precisão o objetivo que se pretende alcançar.
Então é possível dizer que a qualidade de software é o conjunto de características mensuráveis que possibilitam a um produto atender as necessidades do cliente, de forma confiável, acessível, segura, no tempo certo e com o menor custo:
- Qualidade de Processo – refere-se às “atividades, métodos, práticas e transformações que profissionais de informática utilizam para desenvolver e manter software e os produtos associados” (CMMI)
- Qualidade de Projeto – refere-se ao correto emprego da metodologia definida e dos recursos disponibilizados na produção de software, objetivando: Eficiência, Eficácia, Controle de Custos, Cumprimento de Prazos, Satisfação de clientes e usuários
- Qualidade de Produto – seu controle visa garantir a conformidade com as especificações de projeto
- Requisitos de qualidade de software - orçamento para realização, usuários envolvidos, ferramentas e métodos necessários, aspéctos relacionados a segurança de funcionamento e as consequencias que as falhas podem causar.
- Detecção a não-conformidade dos requisitos - teste de software, revisões, inspeções, auditorias e ferramentas automatizadas de verificação.
- Técnicas para gerenciamento de qualidade - orientada a pessoas, como é o caso de revisões e auditorias; estáticas, que não envolvem execução do produto; dinâmicas, que são efetuadas durante a execução do software; e as técnicas analíticas, que fazem uso de métodos formais.
- Medição de qualidade - conjunto de dados obtidos por medidas é um recurso de extrema ajuda para auxiliar a tomada de decisões gerenciais.
- Facilidade de instalação
- Facilidade de utilização
- Previsibilidade de comportamento
- Padronização das interfaces e do código fonte
- Cobertura das necessidades funcionais que se pretende atender (escopo)
- Exatidão de resultados
- Tratamento apropriado de casos normais e exceções
- Facilidade de manutenção
domingo, maio 11, 2008
Modelo de um documento de iniciação da monografia
- Motivação (inclui a descrição do problema)
- Objetivos
- Resultados Esperados e Contribuições (produtos e extensões de conhecimento)
- Método de Pesquisa (atividades)
- Cronograma (atividades no tempo)
- Referências a serem consultadas
quarta-feira, maio 07, 2008
dica de leitura
Zuenir Ventura
"Fascinante reconstituição dos acontecimentos de 1968 no âmbito do país. Os heróis dessa geração que queriam virar o mundo pelo avesso, seus dramas e paixões, suas lutas e vitórias estão descritos neste relato fundamental para a compreensão do Brasil contemporâneo."
segunda-feira, abril 14, 2008
Conceitos de padrões de projeto de software
Projeto de software orientado a objetos reutilizável:
identificar objetos pertinentes
fatorar os objetos em classes
definir interfaces
definir hierarquia de herança
estabelecer as relações-chave entre objetos
A grande dificuldade é tentar desenvolver sistemas específicos que ao mesmo tempo sejam genéricos afim de que no futuro os componentes modelados possam ser reutilizado.
Boas soluções precisam ser reutilizadas repetidamente, ou seja, padrões de classes e de comunicação entre elas devem ser repassados entre diferentes projetos, dessa forma os projetos orientados a objetos tornam-se mais flexíveis.
Padrões de projetos tornam mais fácil reutilizar projetos e arquiteturas. Os padrões de projetos ajudam a escolher alternativas de projeto que tornam um sistema reutilizável.
Segundo Christopher Alexander “cada padrão descreve um problema no nosso ambiente e o cerne de sua solução, de tal forma que você possa usar essa solução mais de um milhão de vezes, sem nunca faze-lo da mesma maneira” [AIS+ 77]. Para Erich Gamma padrões de projeto “são descrições de objetos e classes comunicantes que precisam ser personalizadas para resolver um problema geral de projeto num contexto particular. Um padrão de projeto nomeia, abstrai, e identifica aspectos-chave de uma estrutura de projeto comum para torna-lo útil para a criação de um projeto orientado a objetos reutilizável” [G193].
Um padrão possui 4 elementos essenciais:
O nome do padrão: vocabulário de projeto.
O problema: descreve em que situação aplicar o padrão.
A solução: elementos que compõe o padrão de projeto (relacionamentos, responsabilidades e colaborações)
As consequências: resultados e análise das vantagens e desvantagens da aplicação do padrão. As consequências de um padrão incluem o seu impacto sobre a flexibilidade, a extensibilidade ou a portabilidade de um sistema.
sábado, janeiro 26, 2008
| SUAVE E A NOITE Autor: FITZGERALD, F. SCOTT Editora: CASA JORGE EDITORIAL Assunto: LITERATURA ESTRANGEIRA |
sexta-feira, julho 27, 2007
J2EE e Web Services
A plataforma Java 2, Enterprise Edition (J2EE) foi concebida para simplificar problemas complexos no desenvolvimento, disponibilizarão e gerenciamento de soluções multicamadas. J2EE é uma especificação padrão, e é o resultado de uma grande iniciativa liderada pela Sun Microsystems. O objetivo das especificações J2EE é oferecer aos clientes a chance de escolha de um fornecedor de produtos e ferramentas, encorajando a competição entre esses fornecedores por oferecer produtos de alta qualidade.
Já é conhecido que o J2EE foi concebido para arquitetura baseada do lado do servidor pela linguagem de programação Java. Pode ser utilizado para construção de tradicionais web sites à componentes de software. O J2EE foi estendido para suportar a construção de web services baseados em XML. Esses web services podem possuir interoperabilidade com outros web services que podem ou não ter sido escritos com o padrão J2EE.
A tecnologia J2EE através da API JAX-RPC permite a interoperabilidade com Java. JAX-PRC significa API Java para PRC baseado em XML, é uma tecnologia para construir serviços e clientes de Web Services que utilizam chamadas de procedimento remoto e XML. Freqüentemente usados em um modelo cliente-servidor distribuído, um mecanismo RPC habilita os clientes a executar procedimentos em outros sistemas.
Em JAX-RPC, uma chama de procedimento remoto é representada por um protocolo baseado em XML, como SOAP, por exemplo.
Embora as mensagens SOAP sejam complexas, a API JAX-RPC oculta esta complexidade para o desenvolvedor da aplicação. No lado do servidor, o desenvolvedor especifica os procedimentos remotos definindo método em uma interface Java. Uma ou mais classes que implementam essa interface também precisam ser codificadas. No lado cliente, a API JAX-RPC também fornece uma forma bem definida de encapsular a complexidade da execução de um Web Services.
Com JAX-RPC, clientes e Web Services têm uma grande vantagem, a independência de plataforma da linguagem de programação Java . Além disso, JAX-RPC não é restritivo, ou seja, um cliente JAX-RPC pode acessar um Web Services que não esteja rodando na plataforma Java, e vice-versa. Essa flexibilidade é possível por JAX-RPC utiliza tecnologias definidas pela World Wide Consortion (W3C) – HTTP, SOAP e WSDL.
Tipos suportado por JAX-RPC
A API JAX-RPC mapeai os tipos da linguagem de programação Java para definições XML/WSDL. Po exemplo, JAX-RPC mapeia a classe java.lang.String para o tipo de dado XML xsd:string. O desenvolvedor do aplicativo na precisa saber os detalhes destes mapeamentos, mas devem estar conscientes de nem toda classe da plataforma Java (J2SE) pode ser usada como parametro de metodo ou tipo de retorno em JAX-RPC.
Os seguintes tipos Java são suportados por JAX-RPC:
Classes
java.lang.Boolean
java.lang.Byte
java.lang.Double
java.lang.Float
java.lang.Integer
java.lang.Long
java.lang.Short
java.lang.String
java.math.BigDecimal.
java.math.BigInteger
java.net.URI
java.uitl.Calendar
java.uitl.Date
Primitivos
boolean
byte
double
float
int
long
short
Arrays
JAX-RPC também suporta arrays que possuam membros de tipos suportados por JAX-RPC. Exemplos de arrays suportados são int[] e String[]. Arrays multidimencional, tais como BigDecimal[][], também sao suportados.
Componentes JavaBeans
JAX-RPC também suporta componentes JavaBeans, que devem obedecer ao mesmo conjunto de regras, como as classes de aplicativos. Além disso, um componente JavaBean deve possuir um metodo getter e um setter para cada propriedade do bean. O tipo de propriedade do bean deve ser um tipo JAX-RPC suportado.
Tecnologias J2EE para Web Services
Graças ao fato de XML e Java trabalharem de maneira tão coesa juntas, ambas tecnologias aos poucos se tornaram um ponto central para os Web services. Em Java, já na versão J2EE 1.3, já se era encontrado todos os recursos necessários para infraestrutura de Web Services. A versão atual apresenta integração nativa com Web Services.
A disseminação no uso de web services nos últimos anos incentivou o mercado e a comunidade Java a oferecer uma grande variedade de ferramentas e aplicações para prover suporte a essa tecnologia. Atualmente, as principais plataformas para web services, Sun Microsystems, IBM, BEA, Oracle, Apache fornece uma leque diversificado aplicações para criar, manipular e executar Web services.
A IBM é um fornecedor altamente diversificado de tecnologias e ferramentas para web services e servidores de aplicação. O IBM WebSphere Software Developer Kit for Web Services (WSDK V5.0.1) é um conjunto de ferramentas para a criação, busca, invocação e testes para web services. O WSDK versão 5.0.1 encontra-se em conformidade com as últimas versões das especificações para web services incluindo WS-Security, SOAP, WSDL e UDDI. Entre as principais ferramentas de desenvolvimento, podem ser citadas o WebSphere Studio Application Developer (IDE), Web Services Gateway, Web Services Invocation Framework e o UDDI Explorer.
O Java Web Services Developer Pack (Java WSDP) é um conjunto de ferramentas integradas e gratuitas que permite desenvolvedores Java implementarem e testarem aplicações web com XML e web services. O Java WSDP engloba as APIs de Java para XML, Java Architecture for XML Binding (JAXB), JavaServer Faces, Web Services Interoperability Sample Application, Web Services Security, JavaServer Pages Standard Tag Library (JSTL) e Java WSDP Registry Server. As ferramentas Ant Build Tool e Apache Tomcat container também fazem parte deste pacote distribuído pela Sun. O servidor de aplicação da Sun é o Sun ONE™ Application Server 7.
Saindo de sistemas proprietarios e entrando em sistemas do Web Services abertos e desenvolvidos pela comunidade Java, encontramos o servidor de Web Services Apache Axis. Apache Axis é um projeto open source para um servidor e cliente SOAP. Axis é considerado basicamente um SOAP engine – um framework para a construção de processadores de mensagens SOAP. Atualmente está implementado apenas na linguagem Java, mas uma versão para cliente C++ está em andamento.

