Builds com Gradle: programativo e declarativo. Conheça a ferramenta de build para a JVM que está ganhando muita popularidade.

Tamanho: px
Começar a partir da página:

Download "Builds com Gradle: programativo e declarativo. Conheça a ferramenta de build para a JVM que está ganhando muita popularidade."

Transcrição

1 : : : : Cecilia Fernandes (cecilia.fernandes@caelum.com.br): desenvolvedora, instrutora e consultora pela Caelum, cursa Ciência da Computação na USP e estagiou na IBM Research em Nova York. Entusiasta de métodos ágeis, faz palestras sobre o assunto e aplica métodos ágeis ao seu dia-a-dia, desde metodologias e práticas até ferramentas para auxiliar times ágeis, como a apresentada neste artigo. Builds com Gradle: programativo e declarativo Builds Java são feitos com Ant e Maven há anos. São duas excelentes ferramentas, cada uma com suas vantagens e desvantagens. Tentando encontrar um balanço entre as duas, surgiu o Gradle, que através da linguagem Groovy fornece uma maneira simples de trabalhar tanto declarativamente quanto programaticamente, quando necessário. Conheça a ferramenta de build para a JVM que está ganhando muita popularidade. urante o desenvolvimento de software, todo desenvolvedor precisa automatizar o build de seu projeto e mais frequentemente do que deveria, esta atividade se torna uma grande dor de cabeça ao fugirmos minimamente dos padrões preestabelecidos. As abordagens mais comuns em Java para configuração do build de projetos dividem-se entre o XML programático do Ant e o uso de Maven, mas sabemos que nenhuma delas é ideal muitas vezes, apenas convivemos com essas ferramentas por falta de opção ou, melhor dizendo, falta de opção compatível com o restante do mercado. Já era hora de trocarmos a programação de XML e os inúmeros problemas de customizações, sem mencionar o tempo desperdiçado sempre que aguardamos o Maven sincronizar com o repositório, por uma nova alternativa. O Gradle é um sistema de builds cuja configuração é feita programaticamente, usando uma elegante DSL em Groovy. Isso significa que um build feito em Gradle pode ter métodos, closures e tudo o mais que a linguagem Groovy permite. Neste artigo, você verá como configurar o build de um projeto em Java usando o Gradle, inclusive customizando diversas opções. Conforme avançamos, a própria sintaxe do Groovy será explicada, para que você seja capaz de continuar explorando o Gradle, ainda que nunca tenha programado em Groovy antes. Descubra quais vantagens fizeram com que tanto o próprio Groovy quanto o Grails e até mesmo o Hibernate estejam optando por essa nova ferramenta gratuita de build, distribuida sob a licença Apache

2 Instalação A instalação do gradle é bastante simples: basta baixar o pacote de descompactá-lo e colocar o seu diretório bin dentro do seu path. Sua única dependência é um JRE 1.5+ instalado e configurado. Rodando gradle v deve listar as versões do gradle e de suas dependências. Primeiros exemplos À moda do build.xml do Ant, o arquivo que configura um build no Gradle chama-se build.gradle. Ele é um arquivo em Groovy, que contém a configuração do projeto através de objetos do tipo task, que o Gradle é capaz de executar. Iniciemos nosso contato com a ferramenta através de um clássico Hello World, para ilustrar nosso exemplo. Em um arquivo build. gradle localizado na raiz do projeto, escreva as seguintes linhas: task olamundo << { println 'Oi mundo!' Em seguida, no terminal, execute: > gradle olamundo -q Embora o parâmetro -q seja desnecessário, ele indica que preferimos a forma "quieta" de execução, que não informa o que exatamente está sendo feito. Contudo, se for interessante ver detalhadamente o que está sendo executado, basta rodar a mesma linha sem esse parâmetro. Tasks Gradle x Tasks Ant Se você já teve contato com o Ant, poderia pensar que as tasks do Gradle são equivalentes às tasks do Ant. Já vamos, então, desde o início, desfazer essa confusão. Trabalhando com o Ant, tasks são comandos simples que o Ant consegue executar, como echo e javac. Uma sequência de tasks do Ant é chamada de Target. Já no Gradle, chamamos de tasks o equivalente aos Ant targets, isto é, um conjunto de comandos para executar uma operação, algo que seja valioso em nosso build. E para trabalhar com Java? Seguindo o mote do Java de Convenção sobre Configuração, se seu projeto seguir algumas poucas convenções, basta uma única linha para montar um build inicial com o Gradle. Entre essas convenções, destaca-se a localização das classes de códigos de produção e de testes. Elas devem estar, respectivamente, em src/main/java e src/test/java. Similarmente, os resources de produção e de testes devem estar em pastas: src/main/resources e src/test/resources. Se você já usou Maven, certamente notou que a convenção é a mesma e isso é intencional tanto facilita a migração quanto adota um padrão, o que evita configuração desnecessária. Também é possível alterar esses valores através da configuração sourcesets. Para começar a usar a estrutura já preparada para Java, basta indicar que você usará esse plugin, adicionando ao build.gradle, necessariamente no início do arquivo, a linha abaixo. apply plugin: 'java' É necessário que essa linha esteja logo no início do arquivo, ou ao menos antes da primeira task que utilize a infraestrutura do plugin de Java, já que o Gradle, como qualquer código Groovy, interpreta o arquivo sequencialmente. Isso significa que, se chamarmos qualquer dependência do plugin de Java antes de declarar que utilizaremos esse plugin, o Gradle falhará, dizendo que não conhece tal dependência. A partir desse momento, algumas tasks e variáveis padrão passam a estar disponíveis e, num momento inicial, se seu projeto não depender de nenhuma biblioteca, já é possível chamar a criação de um build dele, rodando no terminal o comando: > gradle build A task build chama, internamente, diversas outras. Vejamos agora sem a opção -q, mais a fundo o que acontece quando executamos esse comando. Sua saída no terminal já nos provê bastante informação, indicando, linha a linha, quais outras tasks foram internamente chamadas: :compilejava :processresources :classes :jar :assemble :compiletestjava :processtestresources :testclasses :test :check :build BUILD SUCCESSFUL Acompanhe nessa lista o que é feito: o build começa compilando as classes e copiando os recursos para as localizações pertinentes. Em seguida, cria o JAR e monta a estrutura da pasta build, contendo todos os subprodutos dessas ações. As ações de verificação são, então, executadas, embora nesse particular momento não tenham efeito algum ainda, já que não temos classes de teste. Em seguida, a verificação é finalizada e o build completo se você não esqueceu de nada, o build será bemsucedido. Repare que agora temos o jar do nosso projeto, apenas seguindo as convenções já conhecidas pelos usuários do maven, e com o arquivo de configuração praticamente vazio. Nosso próximo passo é, então, adicionar classes de teste e, com elas, o JAR da biblioteca de testes o que nos leva ao próximo problema. 41

3 : : : : 42 Tratando dependências A partir do momento que temos testes, temos quase que necessariamente a adição da dependência de uma biblioteca de testes, comumente o Junit. E, mesmo sem eles, é quase regra que nossos projetos dependam de outros JARs. Dessa forma, o gerenciamento dessas dependências é assunto mais do que importante em uma ferramenta de build. O Gradle permite que resolvamos dependências buscando-as tanto em diretórios locais, como uma pasta "lib/" no projeto, quanto em repositórios Maven ou Ivy. Se usando gerenciadores de dependências, os repositórios padrão já vêm pressupostos. Para configurar as dependências do seu projeto, basta adicionar comandos ao bloco "dependencies". No exemplo da Listagem 1, pedimos que os JARs do JUnit e do Log4J sejam baixados do repositório do Maven e, além disso, que os jars no diretório "lib/" sejam registrados. Listagem 1. Configurando dependências. repositories { mavencentral() dependencies { compile group: junit, name: junit, version: 4.+ compile group: log4j, name: log4j, version: lib = $projectdir/lib compile files(filetree(dir: lib as File, includes: [ *.jar ])) Dessa forma, combinamos tanto o download automático de dependências quanto o uso de bibliotecas que já estejam no nosso diretório lib. É bastante comum deixar no diretório lib as bibliotecas que não estão disponíveis em repositórios maven, como é o caso do mail.jar, ou de algum JAR interno da sua empresa. Há ainda uma sintaxe mais sucinta para declarar as dependências, como: compile ( junit:junit:4.+ ). Caso sua dependência esteja em algum outro repositório, digamos, do Maven, você pode customizar os repositórios nos quais o Gradle buscará as dependências. Essa configuração é feita complementando o bloco repositories. repositories { mavencentral() mavenrepo urls: Apenas configurando as dependências, o build já saberá quais JARs usar se precisar executar os testes, por exemplo. Contudo, isso não faz com que o Classpath seja configurado, ou seja, teríamos que rodar o projeto passando, em linha de comando, os JARs da aplicação. Para configurar informações que usualmente ficariam no Manifest, temos duas formas padrão. A primeira, trivial, seria exatamente criar um MANIFEST.MF e indicá-lo no build.gradle usando a linha: manifest.from("path/to/manifest.mf") A segunda maneira seria configurar o Manifest no próprio build.gradle, centralizando ali todas as configurações do projeto. Nesse caso, podemos configurar o Manifest programaticamente e ele será gerado dinamicamente. No exemplo que estamos construindo, teríamos: manifest.mainattributes("main-class": "br.com.empresa.projeto.principal", "Class-Path": "lib/xstream-1.3.jar lib/log4j jar") Seja criando um MANIFEST.MF ou configurando suas informações diretamente no build.gradle, a partir do momento que essa configuração existe já é possível rodar o JAR chamando simplesmente "java -jar nomedojar". Nesse momento, rodemos novamente, no terminal, o comando: > gradle build Note, agora, que ao final da execução bem-sucedida, o Gradle criará, na raiz do projeto, a pasta build/, com uma estrutura de diretórios dentro dela. Dentro dessa pasta, o JAR da aplicação é colocado dentro da pasta libs/. Seu nome será, por padrão, no formato: NomeDoProjeto,jar. O nome do projeto vai ser o nome do diretório em que o build.gradle se encontra, ou você pode alterar esse nome setando a variável rootproject.name dentro de um novo arquivo settings.gradle. Se seu projeto for versionado, também é simples adicionar um número de versão a ele e, automaticamente, ao nome do JAR gerado. Para essa configuração, faça: version = '0.5' Dessa forma, o JAR gerado será automaticamente nomeado: NomeDoProjeto-0.5.jar. Criando distribuíveis O próximo passo natural do seu projeto provavelmente será disponibilizar um entregável zipado contendo tanto o JAR da sua aplicação quanto suas dependências e talvez alguns arquivos acessórios a mais. Com o Gradle é muito fácil fazer isso. Basta escrever uma task do tipo Zip e, a partir do momento que ela existir, o plugin do Java já tomará a iniciativa de rodá-la, criando um arquivo com o conteúdo especificado na implementação dessa task. No nosso exemplo, veja como fica a task de empacotamento, na Listagem 2. Listagem 2. Montando um entregável. task zip(type: Zip, dependson: jar) { from $builddir/libs into( lib ) { from configurations.runtime

4 Um pequeno detalhe sobre esse exemplo é que podemos criar uma task de nome "zip" sem o parâmetro "dependson: jar", mas isso é apenas uma gentileza que o plugin do Java nos oferece por usar o nome padrão dessa extensão. Porém, se a task tiver outro nome, é necessário especificar esse parâmetro. Caso contrário, a task poderá ser executada antes de o JAR ser montado, isto é, o Zip gerado conterá apenas as dependências, mas não o JAR da sua aplicação. Destrinchando o pequeno código da Listagem 2, estamos dizendo que é uma tarefa a ser executada e que, no diretório raiz do Zip criado, será colocado o conteúdo da pasta build/libs/, que já vimos ser o JAR da sua aplicação. Além dele, dentro de uma pasta lib/ no pacote zipado, serão colocados os JARs dos quais ela depende. Um pouco de Groovy Os métodos from e into, inerentes de tasks do tipo Zip e do tipo Copy do Gradle, têm uma forma simples, que recebe um Object indicando de ou para onde, respectivamente, vão os arquivos você pode ver essa forma sendo utilizada na primeira linha da task zip, na Listagem 2. Contudo, existe também uma sobrecarga desses métodos que recebe, além desse parâmetro, uma closure que deve conter o lado oposto dessa relação, isto é, se chamamos o from originalmente, precisamos dizer onde os arquivos devem ser colocados e, no outro caso, vice-versa. Pode-se, inclusive, adicionar mais diretórios de origem e as subpastas, usando essas closures. O Gradle cuida de montar o Zip da melhor forma possível, empacotando todos os arquivos indicados. De volta ao exemplo Adicionando a task de zip que acabamos de criar e entender ao nosso build.gradle, basta rodar o build novamente para notar a diferença: uma task zip surge entre as executadas pelo comando build. :compilejava :processresources UP-TO-DATE :classes :jar :zip :assemble :compiletestjava :processtestresources UP-TO-DATE :testclasses :test :check :build BUILD SUCCESSFUL Problemas de encoding? Configurações de encoding são pesadelos na vida de muitos programadores e, em particular, assombram os que configuram os builds de projetos. Misteriosas configurações que alteram apenas o escopo de compilação no Maven, mas não o de execução, confundem até o mais experiente programador. No Gradle, essa configuração é trivial. Basta configurar a variável encoding das opções de compilação de classes e testes e ele já assumirá que deve usar esse encoding dali em diante. Por exemplo, se o encoding adotado pela equipe é o UTF-8, adicionaremos o seguinte código ao build.gradle: Listagem 3. Mudando o encoding. options.encoding= UTF-8 compiletestjava { options.encoding= UTF-8 Ou então, abusando um pouco da sintaxe do groovy, podemos sucintamente escrever: [compilejava, compiletestjava]*.options*.encoding= UTF-8 Adicionando essas linhas, o Gradle interpretará seu código como UTF-8 na compilação das classes. Mais um pouco de Groovy Note, na Listagem 3, o código resumido para fazer o mesmo que o código com blocos acima. Essa sintaxe também causa confusão ou estranheza, comumente. O que significa, entretanto, é bastante simples. Os colchetes delimitam uma lista de dois itens, separados pela vírgula. Em seguida, vemos uma incomum construção da forma *. que significa para cada item da lista cuja instrução se aplique, faça.... Isto é, lendo a sentença como um todo temos: para cada item da lista de grupos de compilação, pegue as opções e, para cada opção que tenha a propriedade encoding atribua UTF-8 a ele. Esta é apenas uma forma com características mais funcionais de lidar com objetos. Diferenciando JARs de testes Ao fazer testes automatizados, é frequente utilizarmos JARs, como Junit e Jmock ou Mockito, que servem exclusivamente para fazer rodar esses testes, e não serão usados na distribuição ou deploy. Já que escrever testes automatizados é nada mais que obrigação de um bom programador atual, o Gradle já vem preparado para lidar com diferentes grupos de compilação. Usando esse recurso, é fácil separar os JARs necessários para o funcionamento da aplicação daqueles que são apenas usados pelos testes automatizados e que, portanto, podem ficar fora do pacote de produção. Sempre que utilizamos o plugin de Java para o gradle, já obtemos dois grupos de compilação padrão, o compile e o testcompile. Separando os JARs nesses grupos padrão, o próprio Gradle já é capaz de separar corretamente os contextos. Mudando seu código da definição de dependências para usar ambos os grupos, então, teremos o código de dependências do build. gradle alterado como mostrado na Listagem 4. 43

5 : : : : Listagem 4. Separando grupos de compilação. dependencies{ testcompile group: junit, name: junit, version: 4.+ compile group: log4j, name: log4j, version: lib = $projectdir/lib compile files(filetree(dir: lib as File, includes: [ *.jar ])) Dessa forma, quando construirmos o pacote de distribuição, apenas os JARs de produção serão empacotados, mas quando rodando os testes, o JUnit será incluído. Rodando seu projeto web Caso seu projeto seja web, basta seguir as mesmas convenções do Maven, com seus JSPs e WEB-INF dentro de src/main/webapp. O gradle por enquanto possui apenas suporte nativo ao Jetty 6, e para rodá-lo e fazer o deploy da sua aplicação web, basta fazer gradle jetty Mas suponha que precisamos rodar em outro container, como o Tomcat 7. Vejamos algo um pouco mais sofisticado no Gradle. Poderíamos adicionar as dependências para que a nossa configuração compile, mas aí, quando gerássemos nossa distribuição, o tomcat 7 viria junto! Criando seu grupo de compilação Para organizar melhor, vamos criar uma configuração à parte, chamada tomcat, para guardar essas dependências: configurations { tomcat Agora, dentro de dependencies, podemos adicionar as dependências referentes ao tomcat 7. Repare que há um erro no pom.xml do tomcat 7.0.2, e por isso contornamos esse problema excluindo a dependência que foi registrada incorretamente (veja referência): Listagem 5. Configurando web container no grupo de compilação. dependencies{ // outras dependencias... tomcat ( org.apache.tomcat:tomcat-catalina:7.0.2 ) tomcat org.apache.tomcat.embed:tomcat-embed-core:7.0.2 tomcat ( org.apache.tomcat:tomcat-jasper:7.0.2 ) { exclude group: org.eclipse.jdt, name: ecj,version: 3.6 tomcat group: org.eclipse.jdt.core.compiler, name: ecj,version: Vamos então criar uma task que execute o bootstrap do servidor. Nela, configuramos o Classpath para usar as dependências do Tomcat, além de aproveitar para configurar alguns parâmetros da JVM veja a Listagem 6. Listagem 6. Task para rodar o Tomcat 7. task runtomcat7(type: JavaExec, dependson: build) { classpath configurations.tomcat jvmargs -Xmx800M main = org.apache.catalina.startup.bootstrap Para rodar essa task, basta executar no terminal: gradle run- Tomcat7. Repare que agora não há uma integração clara entre o Tomcat e o Gradle, o que torna necessário um diretório conf/ dentro do seu projeto, junto com o server.xml e a configuração para que o Tomcat carregue o seu contexto de dentro do WAR que está em build/libs. Suporte ao Eclipse Assim como o Maven, o Gradle pode facilmente gerar os arquivos necessários para que seu projeto seja importado dentro do Eclipse. Basta avisar que usaremos o plugin do Eclipse, exatamente como fizemos com o de Java logo acima (apply plugin: 'eclipse') e, então, rodar: gradle eclipse Ao rodar tal comando, ele gera até mesmo os arquivos necessários para o WTP, possibilitando o start do seu servlet container através do Eclipse. É importante, no entanto, configurar uma variável de classpath GRADLE_CACHE dentro do seu Eclipse apontando para o diretório do seu usuário somado a /.gradle/cache. Excelente, mas... Por ser uma ferramenta consideravelmente nova, ainda há muitas mudanças na própria sintaxe do Gradle, a cada lançamento de uma nova versão e, com isso, por mais que a documentação atual esteja disponível é frequente que buscas tragam informações desatualizadas e que não mais correspondem à versão corrente do Gradle. Ainda há, também, algumas deficiências em mensagens de erros mais incomuns. Por exemplo, testando o que acontece se a internet cai enquanto o Gradle conversa com um repositório Maven2, a mensagem de erro descreve, não que o repositório não pode ser alcançado, mas que tal JAR não existe, o que pode ser confuso. Lentidão característica O Gradle é, sem dúvida, um salto em simplicidade, quando comparado ao Maven ou ao Ant, contudo ainda sofre sensivelmente com a vagarosidade do Groovy. Por ser uma trivial chamada a código Groovy, a cada instância o JIT não reaproveita as otimizações que podem ter ocorrido previamente. 44

6 Felizmente, o tempo de build de um projeto aumenta cada vez a uma taxa menor conforme a complexidade e o tamanho dele aumenta, mas ainda assim o tempo necessário para rodar é um dos pontos mais notoriamente negativos do Groovy. Para Saber Mais Na edição 42, o artigo Conhecendo as Principais Linguagens para JVM já falava de Groovy e seu uso para produzir elegantes DSLs como o Gradle. Considerações Finais Ainda que bastante recente, o Gradle é uma ferramenta promissora ao trazer grandes melhorias quando comparado aos seus predecessores, Ant e Maven. Finalmente podemos configurar builds de forma programática e declarativa, usando uma sintaxe elegante que encapsula o Ivy. O Gradle também possui plugins para compilar e trabalhar com projetos em Scala e Groovy. Outra alternativa bastante similar é o Apache Buildr ( apache.org/), que tem a mesma proposta, mas usa sintaxe Ruby como base. Essa ferramenta também vale um teste por sua rapidez, principalmente se já houver familiaridade com a linguagem. Ela é, juntamente com o Gradle, recomendada por Jez Humble e David Farley no livro Continuous Delivery. Sua ideia perde apenas para a Simple Build Tool (SBT): outra ferramenta de build, voltada para Scala, que permite interação programática através de um shell. A ideia é que o SBT roda durante todo o tempo de desenvolvimento e, com isso, tem mais chance de ter seu script otimizado Referências Por que Gradle? Grupo JBoss responde Migrando do Maven pro Gradle Erro no pom.xml do Tomcat Site do Gradle Documentação da versão citada no artigo

O nome ANT é uma sigla para another neat tool (mais uma ferramenta organizada), segundo seu autor James Duncan Davidson.

O nome ANT é uma sigla para another neat tool (mais uma ferramenta organizada), segundo seu autor James Duncan Davidson. 1- Introdução 1.1- Visão Geral O ANT é uma ferramenta destinada a construção (build) de programas JAVA. É semelhante a ferramentas como make, nmake, jam mas com o diferencial de ser multi-plataforma, pois

Leia mais

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores

Leia mais

2 echo "PHP e outros.";

2 echo PHP e outros.; PHP (Hypertext Preprocessor) Antes de qualquer coisa, precisamos entender o que é o PHP: O PHP(Hypertext Preprocessor) é uma linguagem interpretada gratuita, usada originalmente apenas para o desenvolvimento

Leia mais

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets Programação Web Professor: Diego Oliveira Conteúdo 02: JSP e Servlets JSP JSP é um template de uma página Web que usa Java para gerar HTML dinamicamente JSP é considerado server-side e roda em um objeto

Leia mais

Conceitos básicos da linguagem C

Conceitos básicos da linguagem C Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por

Leia mais

Gestão da TI. Os custos escondidos da. Conheça os custos escondidos na gestão amadora da TI e pare de perder dinheiro.

Gestão da TI. Os custos escondidos da. Conheça os custos escondidos na gestão amadora da TI e pare de perder dinheiro. da Gestão da TI Conheça os custos escondidos na gestão amadora da TI e pare de perder dinheiro. Conteúdo Introdução Os custos escondidos - parte 1 Os custos escondidos - parte 2 Os custos escondidos -

Leia mais

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br SCE-557 Técnicas de Programação para WEB Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br 1 Cronograma Fundamentos sobre servidores e clientes Linguagens Server e Client side

Leia mais

O guia completo para uma presença. online IMBATÍVEL!

O guia completo para uma presença. online IMBATÍVEL! O guia completo para uma presença online IMBATÍVEL! Sumário Introdução 3 Capítulo 1 - Produção de Conteúdo: Por que e Como produzir 5 Capítulo 2 - Distribuição e Divulgação 8 Capítulo 3 - Monitoramento

Leia mais

COMO PROGRAMAR SEU TIME

COMO PROGRAMAR SEU TIME COMO PROGRAMAR SEU TIME 1) INSTALAÇÃO: Instale o simulador da categoria SIMUROSOT da FIRA. O simulador é gratuito e está disponível para download no site da FIRA (www.fira.net) ou no site da competição

Leia mais

Exercícios Teóricos Resolvidos

Exercícios Teóricos Resolvidos Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática Exercícios Teóricos Resolvidos O propósito deste texto é tentar mostrar aos alunos várias maneiras de raciocinar

Leia mais

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva 1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade

Leia mais

BR DOT COM SISPON: MANUAL DO USUÁRIO

BR DOT COM SISPON: MANUAL DO USUÁRIO BR DOT COM SISPON: MANUAL DO USUÁRIO BAURU 2015 2 BR DOT COM SISPON: MANUAL DO USUÁRIO Manual do usuário apresentado para auxiliar no uso do sistema SisPon. BAURU 2015 3 SUMÁRIO 1 Instalação... 5 1.1 Sispon...

Leia mais

DWR DIRECTED WEB REMOTING

DWR DIRECTED WEB REMOTING DWR DIRECTED WEB REMOTING Vamos ver nesse artigo um pouco sobre o Frameworks Ajax para Java, o DWR. Vamos ver seus conceitos, utilidades, vantagens, algumas práticas e fazer o passo a passo para baixar,

Leia mais

Projeto da Disciplina Parte1: Estudo de Viabilidade. Um Estudo de Viabilidade

Projeto da Disciplina Parte1: Estudo de Viabilidade. Um Estudo de Viabilidade Projeto da Disciplina Parte1: Estudo de Viabilidade ENTREGA: 09/04/09 Professor: Carlos José Maria Olguin Um Estudo de Viabilidade Você deve fazer um estudo de viabilidade para um projeto de sistema de

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza

Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados Prof. Hugo Souza Até agora vimos como é formada a infraestrutura física e lógica das bases de dados com os principais componentes

Leia mais

Instalando e configurando o Java Development Kit (JDK)

Instalando e configurando o Java Development Kit (JDK) Tutorial elaborado pelo professor José Gonçalo dos Santos Contato: jose.goncalo.santos@gmail.com Instalando e configurando o Java Development Kit (JDK) 1.1 Obtendo o JDK + JRE Para obter o JDK e o JRE

Leia mais

Aula 4 Estatística Conceitos básicos

Aula 4 Estatística Conceitos básicos Aula 4 Estatística Conceitos básicos Plano de Aula Amostra e universo Média Variância / desvio-padrão / erro-padrão Intervalo de confiança Teste de hipótese Amostra e Universo A estatística nos ajuda a

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura

Leia mais

COMO FUNCIONA NOSSA CONSULTORIA DE MARKETING DIGITAL ESPECIALIZADA EM VENDAS ONLINE

COMO FUNCIONA NOSSA CONSULTORIA DE MARKETING DIGITAL ESPECIALIZADA EM VENDAS ONLINE www.agenciaatos.com.br COMO FUNCIONA NOSSA CONSULTORIA DE MARKETING DIGITAL ESPECIALIZADA EM VENDAS ONLINE APLICAÇÃO DA CONSULTORIA EM VENDAS ONLINE É assim que os resultados são gerados. No entanto, é

Leia mais

Rational Software White Paper TP 155

Rational Software White Paper TP 155 Håkan Dyrhage Rational Software White Paper TP 155 Índice Analítico Introdução... 1 Variantes do Sistema... 1 Partes Diferentes do Sistema... 1 Idiomas Diferentes... 1 Plataformas Múltiplas... 2 Liberação

Leia mais

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO? Índice BlueControl... 3 1 - Efetuando o logon no Windows... 4 2 - Efetuando o login no BlueControl... 5 3 - A grade de horários... 9 3.1 - Trabalhando com o calendário... 9 3.2 - Cancelando uma atividade

Leia mais

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos

Leia mais

DICAS DE BURACO ONLINE

DICAS DE BURACO ONLINE DICAS DE BURACO ONLINE Link: http://www.jogatina.com/dicas-jogar-buraco-online.html Às vezes, conhecemos todas as regras de um jogo, mas na hora de passar da teoria para a prática, as coisas não funcionam

Leia mais

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro Princípios Básicos de Arquitetura e Organização

Leia mais

SquidCacheAux para BrazilFW

SquidCacheAux para BrazilFW SquidCacheAux para BrazilFW ÍNDICE Índice Pág. 1 O que é o SquidCacheAux Pág. 2 SquidCacheAux e a inicialização do sistema Pág. 2 SquidCacheAux e a finalização do sistema Pág. 2 Tela principal do SquidCacheaux

Leia mais

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA. Manual do Moodle- Sala virtual

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA. Manual do Moodle- Sala virtual UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA Manual do Moodle- Sala virtual UNIFAP MACAPÁ-AP 2012 S U M Á R I O 1 Tela de Login...3 2 Tela Meus

Leia mais

Perguntas. Que todo usuário deveria fazer antes de comprar um software CAD de baixo custo. Por Robert Green, proprietário da Robert Green Consulting

Perguntas. Que todo usuário deveria fazer antes de comprar um software CAD de baixo custo. Por Robert Green, proprietário da Robert Green Consulting Perguntas Que todo usuário deveria fazer antes de comprar um software CAD de baixo custo Por Robert Green, proprietário da Robert Green Consulting 5 perguntas que todo usuário deveria fazer antes de comprar

Leia mais

Ambientação JAVA. Versão 0.1 MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 UNIVERSIDADE CEUMA 08/01/2014

Ambientação JAVA. Versão 0.1 MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 UNIVERSIDADE CEUMA 08/01/2014 UNIVERSIDADE CEUMA Ambientação JAVA Versão 0.1 08/01/2014 Este é um modelo de configuração para desenvolvimento no ambiente Java. MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 Sumário Sumário... 2 1

Leia mais

Auditando e criando relatório de análise de vulnerabilidades com Nessus

Auditando e criando relatório de análise de vulnerabilidades com Nessus Auditando e criando relatório de análise de vulnerabilidades com Nessus Ciência Hacker 8 de novembro de 2015 Deixe um comentário Nessus é uma das ferramentas mais recomendadas para fazer análise de vulnerabilidade,

Leia mais

O QUE É A CENTRAL DE JOGOS?

O QUE É A CENTRAL DE JOGOS? O QUE É A CENTRAL? A Central de Jogos consiste de duas partes: Um site na Internet e um programa de computador (Central) que deve ser instalado em sua máquina. No site www.centraldejogos.com.br, você pode

Leia mais

Coisas. negócio. que se você NÃO estiver fazendo na nuvem, provavelmente está perdendo. por Maurício Cascão, CEO Mandic.

Coisas. negócio. que se você NÃO estiver fazendo na nuvem, provavelmente está perdendo. por Maurício Cascão, CEO Mandic. 5 Coisas que se você NÃO estiver fazendo na nuvem, provavelmente está perdendo negócio. por Maurício Cascão, CEO Mandic. CLOUD SOLUTIONS 5 { / } Coisas { / } que se você NÃO estiver fazendo na nuvem, provavelmente

Leia mais

Conectar diferentes pesquisas na internet por um menu

Conectar diferentes pesquisas na internet por um menu Conectar diferentes pesquisas na internet por um menu Pré requisitos: Elaboração de questionário Formulário multimídia Publicação na internet Uso de senhas na Web Visualização condicionada ao perfil A

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano 2012-1

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano 2012-1 ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o que é notação em ponto flutuante Compreender a

Leia mais

Cotagem de dimensões básicas

Cotagem de dimensões básicas Cotagem de dimensões básicas Introdução Observe as vistas ortográficas a seguir. Com toda certeza, você já sabe interpretar as formas da peça representada neste desenho. E, você já deve ser capaz de imaginar

Leia mais

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores Conceitos Básicos de Rede Um manual para empresas com até 75 computadores 1 Conceitos Básicos de Rede Conceitos Básicos de Rede... 1 A Função de Uma Rede... 1 Introdução às Redes... 2 Mais Conceitos Básicos

Leia mais

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede O servidor de arquivos fornece um ponto centralizado na rede para armazenamento e compartilhamento de arquivos entre os usuários. Quando

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Unidade 5: Sistemas de Representação

Unidade 5: Sistemas de Representação Arquitetura e Organização de Computadores Atualização: 9/8/ Unidade 5: Sistemas de Representação Números de Ponto Flutuante IEEE 754/8 e Caracteres ASCII Prof. Daniel Caetano Objetivo: Compreender a representação

Leia mais

Soluções via.net para otimização de processos paramétricos com Autodesk Inventor.

Soluções via.net para otimização de processos paramétricos com Autodesk Inventor. Soluções via.net para otimização de processos paramétricos com Autodesk Inventor. Michel Brites dos Santos MAPData A parametrização quando possível já é uma forma de otimizar o processo de criação na engenharia.

Leia mais

MANUAL MOODLE - PROFESSORES

MANUAL MOODLE - PROFESSORES MANUAL MOODLE - PROFESSORES VERSÃO 2.5 Faculdades Projeção FACULDADE PROJEÇÃO Prof. Oswaldo Luiz Saenger Presidente Prof.ª Catarina Fontoura Costa Diretora Geral das Unidades Educacionais Prof. José Sérgio

Leia mais

Top Guia In.Fra: Perguntas para fazer ao seu fornecedor de CFTV

Top Guia In.Fra: Perguntas para fazer ao seu fornecedor de CFTV Top Guia In.Fra: Perguntas para fazer ao seu fornecedor de CFTV 1ª Edição (v1.4) 1 Um projeto de segurança bem feito Até pouco tempo atrás o mercado de CFTV era dividido entre fabricantes de alto custo

Leia mais

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona.

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona. Aula 14 Redes de Computadores 24/10/07 Universidade do Contestado UnC/Mafra Sistemas de Informação Prof. Carlos Guerber ROTEAMENTO EM UMA REDE DE COMPUTADORES A máscara de sub-rede é utilizada para determinar

Leia mais

Introdução ao Android

Introdução ao Android Introdução ao Android André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida Parte 1 Conhecendo o Sistema e Primeiro Programa Roteiro Pré-requisitos Conceitos Básicos Configurando o Ambiente

Leia mais

Resolução da lista de exercícios de casos de uso

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

Leia mais

MANUAL DA SECRETARIA

MANUAL DA SECRETARIA MANUAL DA SECRETARIA Conteúdo Tela de acesso... 2 Liberação de acesso ao sistema... 3 Funcionários... 3 Secretaria... 5 Tutores... 7 Autores... 8 Configuração dos cursos da Instituição de Ensino... 9 Novo

Leia mais

Lógica de Programação

Lógica de Programação Lógica de Programação Softblue Logic IDE Guia de Instalação www.softblue.com.br Sumário 1 O Ensino da Lógica de Programação... 1 2 A Ferramenta... 1 3 Funcionalidades... 2 4 Instalação... 3 4.1 Windows...

Leia mais

Usando o do-file editor Automatizando o Stata

Usando o do-file editor Automatizando o Stata Usando o do-file editor Automatizando o Stata 1 O QUE É O EDITOR DE DO-FILE O Stata vem com um editor de texto integrado, o do-file editor (editor de do-files, em português), que pode ser usado para executar

Leia mais

Implementando uma Classe e Criando Objetos a partir dela

Implementando uma Classe e Criando Objetos a partir dela Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe

Leia mais

Seja muito bem-vinda(o) ao Curso de Gestão em Projetos Sociais - PMD Pro1!

Seja muito bem-vinda(o) ao Curso de Gestão em Projetos Sociais - PMD Pro1! Olá participante, Seja muito bem-vinda(o) ao Curso de Gestão em Projetos Sociais - PMD Pro1 Este documento é longo e importante. Por isso, pedimos, por gentileza, que você leiao até o final e siga atentamente

Leia mais

COMO COMEÇAR 2016 se organizando?

COMO COMEÇAR 2016 se organizando? COMO COMEÇAR 2016 se organizando? Como começar 2016 se organizando? Conheça estratégias simples para iniciar o novo ano com o pé direito Você sabia que, de acordo com o Sebrae, os principais motivos que

Leia mais

BSI Letramento Digital Prof. André Di Thommazo. Organização pessoal

BSI Letramento Digital Prof. André Di Thommazo. Organização pessoal Organização pessoal Os cursos de graduação exigem que os alunos cursem diversas disciplinas ao mesmo tempo e em alguns semestres a carga horária é grande. Em geral o aluno de ensino a distância tem outras

Leia mais

1 de 7 11/04/2011 10:35

1 de 7 11/04/2011 10:35 1 de 7 11/04/2011 10:35 2 de 7 11/04/2011 10:35 QUARTA-FEIRA, 10 DE FEVEREIRO DE 2010 JAVA_HOME, CLASSPATH e PATH. O que são, para que servem e como configura-los Algumas vezes quando estamos iniciando

Leia mais

8 DE NOVEMBRO DE 2015

8 DE NOVEMBRO DE 2015 Auditando e criando relatório de análise de vulnerabilidades com Nessus 8 DE NOVEMBRO DE 2015 Nessus é uma das ferramentas mais recomendadas para fazer análise de vulnerabilidade, devido apresentar uma

Leia mais

Um jogo de preencher casas

Um jogo de preencher casas Um jogo de preencher casas 12 de Janeiro de 2015 Resumo Objetivos principais da aula de hoje: resolver um jogo com a ajuda de problemas de divisibilidade. Descrevemos nestas notas um jogo que estudamos

Leia mais

Manual do Instar Mail v2.0

Manual do Instar Mail v2.0 Manual do Instar Mail v2.0 Sumário Conteúdo Menu Principal... 2 Menu Cliente... 3 Pagina Categorias do Instar-Mail... 4 Importação... 4 Campanhas... 8 Cadastramento de campanhas do Instar-Mail... 9 Ações

Leia mais

Portal do Projeto Tempo de Ser

Portal do Projeto Tempo de Ser Sumário Portal do Projeto Tempo de Ser O que é um Wiki?...2 Documentos...2 Localizando documentos...3 Links...3 Criando um Documento...4 Criando um link...4 Editando um Documento...5 Sintaxe Básica...5

Leia mais

Sumário. Administração de Banco de dados Módulo 12. Ilustração Backup-Recovery. Recuperação (Recovery) - Definição

Sumário. Administração de Banco de dados Módulo 12. Ilustração Backup-Recovery. Recuperação (Recovery) - Definição Sumário Administração de Banco de dados Módulo 12 1. Administração de SGBDs - Continuação 1.1. Recuperação (Recovery) 1.1.1. Recuperação de sistema 1.1.2. Recuperação da mídia M. Sc. Luiz Alberto lasf.bel@gmail.com

Leia mais

Tutorial: Aprenda a criar seu próprio makefile. Darcamo (Forúns Ubuntu)

Tutorial: Aprenda a criar seu próprio makefile. Darcamo (Forúns Ubuntu) Tutorial: Aprenda a criar seu próprio makefile Darcamo (Forúns Ubuntu) 08 de Junho de 2007 Resumo Eu estava acostumado a sempre deixar a IDE criar o makefile pra mim e nunca liguei muito pra ele, mas recentemente

Leia mais

Guia: como instalar o Ubuntu Linux

Guia: como instalar o Ubuntu Linux Guia: como instalar o Ubuntu Linux Você cansou do Windows e quer se aventurar a usar alguma distribuição Linux, mas não sabe por onde começar? Montamos um passo a passo com todas as etapas necessárias

Leia mais

Apostila de. WordPress. Gustavo Teixeira da Cunha Coelho Henrique Gemignani Passos Lima. 13 de maio de 2013. Primeira Edição RC2

Apostila de. WordPress. Gustavo Teixeira da Cunha Coelho Henrique Gemignani Passos Lima. 13 de maio de 2013. Primeira Edição RC2 Apostila de WordPress Gustavo Teixeira da Cunha Coelho Henrique Gemignani Passos Lima 13 de maio de 2013 Primeira Edição RC2 Copyright (C) 2013 USPGameDev A edição mais recente pode ser encontrada em:

Leia mais

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1

TUTORIAL PRÁTICO SOBRE Git. Versão 1.1 TUTORIAL PRÁTICO SOBRE Git por Djalma Oliveira Versão 1.1 "Git é um sistema de controle de revisão distribuida, rápido e escalável" (tradução rápida do manual). Basicamente é

Leia mais

Ferramentas: jar e javadoc

Ferramentas: jar e javadoc Ferramentas: jar e javadoc Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/ 1 Objetivos

Leia mais

Contas. Osni Moura Ribeiro ; Contabilidade Fundamental 1, Editora Saraiva- ISBN 9788502065901

Contas. Osni Moura Ribeiro ; Contabilidade Fundamental 1, Editora Saraiva- ISBN 9788502065901 Contas 2.1. Conceito Na sua linguagem cotidiana, o que representa a palavra conta? Você poderá responder: Uma operação aritmética de soma, subtração, multiplicação ou divisão; A conta de água e esgoto,

Leia mais

Manual do Usuário CMS WordPress Versão atual: 3.0

Manual do Usuário CMS WordPress Versão atual: 3.0 Manual do Usuário CMS WordPress Versão atual: 3.0 1 - Introdução O Centro de Gestão do Conhecimento Organizacional, CGCO, criou, em março de 2008, uma equipe para atender à demanda de criação de novos

Leia mais

Permitir a troca de mensagens de texto entre os dois alunos; Permitir que um aluno enviasse para o outro uma cópia de prova;

Permitir a troca de mensagens de texto entre os dois alunos; Permitir que um aluno enviasse para o outro uma cópia de prova; Software Básico 2008.2 Trabalho Prático 1: programação de E/S, uso de sinais Prática de programação voltada a eventos Trabalho individual ou em dupla Data de entrega: 01/10/2008 1 O Objetivo Utilizando

Leia mais

5 Apresentando a linguagem C

5 Apresentando a linguagem C 5 Apresentando a linguagem C O criador da linguagem de programação C foi Dennis Ritchie que, na década de 70, programou-a por meio de um computador DEC PDP-11 rodando sistema operacional Unix. Entretanto,

Leia mais

Projeto ECA na Escola - Plataforma de Educação à Distância

Projeto ECA na Escola - Plataforma de Educação à Distância Página1 Apresentação Projeto ECA na Escola - Plataforma de Educação à Distância Olá Participante do Projeto ECA na Escola, Este tutorial pretende auxiliá-lo na navegação na Plataforma de Educação à Distância

Leia mais

Parte I. Demoiselle Mail

Parte I. Demoiselle Mail Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework

Leia mais

Equipe OC- Olimpíadas Científicas

Equipe OC- Olimpíadas Científicas Equipe OC- Olimpíadas Científicas Ivan Tadeu Ferreira Antunes Filho 1 de outubro de 2012 Resumo Bem vindo a equipe do OC! Aqui está o resumo de todas as regras que temos no site até o presente momento.

Leia mais

Gravando Dados e Cópias de CD s com o Nero 6.0 Disciplina Operação de Sistemas Aplicativos I

Gravando Dados e Cópias de CD s com o Nero 6.0 Disciplina Operação de Sistemas Aplicativos I CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA Escola Técnica Estadual de Avaré ETE-AVARÉ CURSO DE TÉCNICO EM INFORMÁTICA NÚCLEO DE APOIO Gravando Dados e Cópias de CD s com o Nero 6.0 Disciplina

Leia mais

Lazarus pelo SVN Linux/Windows

Lazarus pelo SVN Linux/Windows Lazarus pelo SVN Linux/Windows Sei que não faltam artigos sobre como obter e compilar o Lazarus e o FPC pelo SVN, mas sei também que nunca é de mais divulgar um pouco mais e talvez escrever algo diferente.

Leia mais

Problemas básicos nos. Serviços Gladius MP

Problemas básicos nos. Serviços Gladius MP Problemas básicos nos Serviços Gladius MP I. Quando um funcionário não consegue marcar ponto a) Problemas de Nível Operacional b) Um ponto de ajuda c) Identificando em que fase o problema está d) Problemas

Leia mais

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.

Leia mais

Instalação do Plugin LeJOS

Instalação do Plugin LeJOS Instalação do Plugin LeJOS http://legolab.daimi.au.dk/digitalcontrol.dir/lejos_nxj.dir/lejos_nxj_install_guide.html Guia de Instalação do lejos NXJ através do Eclipse para Windows XP Setup Básico 1. Instale

Leia mais

Visualizador de Documentos Fiscais Eletrônicos FAQ (Perguntas frequentes)

Visualizador de Documentos Fiscais Eletrônicos FAQ (Perguntas frequentes) Visualizador de Documentos Fiscais Eletrônicos FAQ (Perguntas frequentes) 1. Quais são os requisitos de software para executar o Visualizador em meu computador? Para executar o Visualizador é necessário

Leia mais

Programação em papel quadriculado

Programação em papel quadriculado 4 NOME DA AULA: Programação em papel quadriculado Tempo de aula: 45 60 minutos Tempo de preparação: 10 minutos Objetivo principal: ajudar os alunos a entender como a codificação funciona. RESUMO Ao "programar"

Leia mais

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira WEBDESIGN Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira Novo projeto com NetBeans A partir de hoje, vamos trabalhar com projetos no NetBeans

Leia mais

Manual de Utilizador. Caderno. Recursos da Unidade Curricular. Gabinete de Ensino à Distância do IPP. http://eweb.ipportalegre.pt. ged@ipportalegre.

Manual de Utilizador. Caderno. Recursos da Unidade Curricular. Gabinete de Ensino à Distância do IPP. http://eweb.ipportalegre.pt. ged@ipportalegre. Manual de Utilizador Caderno Recursos da Unidade Curricular Gabinete de Ensino à Distância do IPP http://eweb.ipportalegre.pt ged@ipportalegre.pt Índice RECURSOS... 1 ADICIONAR E CONFIGURAR RECURSOS...

Leia mais

Empreenda! 9ª Edição Roteiro de Apoio ao Plano de Negócios. Preparamos este roteiro para ajudá-lo (a) a desenvolver o seu Plano de Negócios.

Empreenda! 9ª Edição Roteiro de Apoio ao Plano de Negócios. Preparamos este roteiro para ajudá-lo (a) a desenvolver o seu Plano de Negócios. Empreenda! 9ª Edição Roteiro de Apoio ao Plano de Negócios Caro (a) aluno (a), Preparamos este roteiro para ajudá-lo (a) a desenvolver o seu Plano de Negócios. O Plano de Negócios deverá ter no máximo

Leia mais

agility made possible

agility made possible RESUMO DA SOLUÇÃO Utilitário ConfigXpress no CA IdentityMinder a minha solução de gerenciamento de identidades pode se adaptar rapidamente aos requisitos e processos de negócio em constante mudança? agility

Leia mais

Eventos independentes

Eventos independentes Eventos independentes Adaptado do artigo de Flávio Wagner Rodrigues Neste artigo são discutidos alguns aspectos ligados à noção de independência de dois eventos na Teoria das Probabilidades. Os objetivos

Leia mais

Integração de livros fiscais com o Microsoft Dynamics AX 2009

Integração de livros fiscais com o Microsoft Dynamics AX 2009 Microsoft Dynamics AX Integração de livros fiscais com o Microsoft Dynamics AX 2009 White paper Este white paper descreve como configurar e usar a integração de livros fiscais entre o Microsoft Dynamics

Leia mais

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Programação Orientada a Objetos Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Programação Orientada a Objetos Na aula passada, vimos: Encapsulamento Programação Orientada

Leia mais

Curso destinado à preparação para Concursos Públicos e Aprimoramento Profissional via INTERNET www.concursosecursos.com.br INFORMÁTICA AULA 11

Curso destinado à preparação para Concursos Públicos e Aprimoramento Profissional via INTERNET www.concursosecursos.com.br INFORMÁTICA AULA 11 INFORMÁTICA AULA 11 INTERNET (CONTINUAÇÃO) Outlook EXPRESS A janela principal do Outlook Express pode ser divida basicamente em: Área de Comando (superior) - Contém a barra de botões e a barra de menus.

Leia mais

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS PROFª. M.Sc. JULIANA H Q BENACCHIO API de Compatibilidade API de Compatibilidade ou API de Suporte permite acesso em versões mais antigas do android a recursos

Leia mais

Como usar as Instruções de Embarque avançadas em PDF

Como usar as Instruções de Embarque avançadas em PDF Como usar as Instruções de Embarque avançadas em PDF Etapa 1: Receber o PDF...2 Entre em contato com a Hapag-Lloyd para se inscrever para este serviço...2 O PDF pré-preenchido vem por e-mail...2 Abra o

Leia mais

MANUAL DE UTILIZAÇÃO. Produtos: Saúde Pró Faturamento Saúde Pró Upload. Versão: 20130408-01

MANUAL DE UTILIZAÇÃO. Produtos: Saúde Pró Faturamento Saúde Pró Upload. Versão: 20130408-01 Produtos: Saúde Pró Upload Versão: 20130408-01 Sumário 1 APRESENTAÇÃO... 3 2 LOGIN... 4 3 VALIDADOR TISS... 7 4 CONFIGURAÇÃO DO SISTEMA... 10 4.1 DADOS CADASTRAIS MATRIZ E FILIAL... 11 4.2 CADASTRO DE

Leia mais

Manual do Teclado de Satisfação Online WebOpinião

Manual do Teclado de Satisfação Online WebOpinião Manual do Teclado de Satisfação Online WebOpinião Versão 1.2.3 27 de novembro de 2015 Departamento de Engenharia de Produto (DENP) SEAT Sistemas Eletrônicos de Atendimento 1. Introdução O Teclado de Satisfação

Leia mais

Sempre vejo ou leio um usuários iniciante "como é esse Linux? posso usar em casa? no trabalho? no meu notebook? " normalmente a resposta e "vai no

Sempre vejo ou leio um usuários iniciante como é esse Linux? posso usar em casa? no trabalho? no meu notebook?  normalmente a resposta e vai no Sempre vejo ou leio um usuários iniciante "como é esse Linux? posso usar em casa? no trabalho? no meu notebook? " normalmente a resposta e "vai no site distrolinuxqualquer.com faz o download grava um cd

Leia mais

TÉCNICAS DE PROGRAMAÇÃO

TÉCNICAS DE PROGRAMAÇÃO TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente

Leia mais

O Princípio da Complementaridade e o papel do observador na Mecânica Quântica

O Princípio da Complementaridade e o papel do observador na Mecânica Quântica O Princípio da Complementaridade e o papel do observador na Mecânica Quântica A U L A 3 Metas da aula Descrever a experiência de interferência por uma fenda dupla com elétrons, na qual a trajetória destes

Leia mais

Curso Juventude Brasileira e Ensino Médio Inovador. Manual do ambiente Moodle

Curso Juventude Brasileira e Ensino Médio Inovador. Manual do ambiente Moodle Curso Juventude Brasileira e Ensino Médio Inovador Manual do ambiente Moodle CURSO DE INTRODUÇÃO AO MOODLE 1. Introdução Estamos começando nossa viagem e nossa primeira parada é na unidade denominada Curso

Leia mais

Manual de Utilização do PDV Klavix

Manual de Utilização do PDV Klavix Manual de Utilização do PDV Klavix Página 1/20 Instalando a partir do CD Se você recebeu um CD de instalação, rode o programa Instalador que se encontra no raiz do seu CD. Ele vai criar a pasta c:\loureiro

Leia mais

RELATÓRIOS GERENCIAIS

RELATÓRIOS GERENCIAIS RELATÓRIOS GERENCIAIS Neste treinamento vamos abordar o funcionamento dos seguintes relatórios gerenciais do SisMoura: Curva ABC Fluxo de Caixa Semanal Análise de Lucratividade Análise Financeira o Ponto

Leia mais