O documento discute portlets e o framework Jetspeed. Ele fornece uma agenda, proposta, discussão sobre gerenciamento de informações e integração web-based. Também explica conceitos-chave como portlets, portais e a arquitetura e funcionalidades do Jetspeed.
O documento apresenta uma introdução ao framework CakePHP, com a agenda do curso incluindo tópicos como o que é um framework, a estrutura de diretórios do CakePHP, o fluxo de requisições, MVC e como evitar código espaguete usando o framework.
i) O documento descreve um estudo sobre as relações entre conceções de ensino-aprendizagem, abordagens de ensino preferidas e práticas de questionamento de professores universitários de biologia.
ii) Foram observadas aulas de quatro professores em dois anos letivos e contextos (licenciatura vs mestrado) para analisar possíveis mudanças nas suas abordagens de ensino e questionamento.
iii) Os resultados sugerem que as conceções dos professores se mantiveram consistentes, mas houve algumas melhorias nas suas práticas de questionamento.
O documento discute estratégias para melhorar a compreensão auditiva de alunos de inglês. Ele explica como ajudar os alunos a entender o processo de listening, trabalhar com estratégias top-down e bottom-up, e fornecer feedback pós-listening para melhorar.
Este documento descreve um projeto chamado BiblioEnglish na Biblioteca Municipal Camilo Castelo Branco que tem como objetivo promover o ensino de inglês para crianças do 1o ciclo através da leitura de histórias em inglês. O documento também mostra exemplos de como as crianças participaram e se engajaram com as atividades de leitura e discussão das histórias em inglês.
This document contains various types of content including images, text, and numbers. Sections of text are followed by numerical data. The document covers multiple topics through a mix of visual and written information presented in different formats.
This short document contains a heading but no body text or content. It includes a quote without any attributed source or context. There are multiple subheadings but no corresponding text under them. An image is included but there is no accompanying caption or explanation.
O documento resume os serviços e produtos oferecidos pelo Grupo HSBC para clientes pessoas físicas e jurídicas. O HSBC é uma corporação internacional presente em mais de 80 países e investe para estar onde seus clientes estejam. O banco oferece poupança, consórcio, seguros, previdência e gestão de patrimônio para pessoas físicas, além de soluções para fluxo de caixa e fundos de investimento para empresas.
El documento presenta un proyecto escolar realizado por un equipo de cuatro estudiantes de diferentes escuelas para crear un organizador para los útiles escolares de primer grado. El proyecto utilizó materiales como cajas de cartón y cereales, pintura, cinta adhesiva y goma eva. El objetivo era construir un sistema para guardar los materiales de los niños de manera ordenada.
O documento apresenta uma introdução ao framework CakePHP, com a agenda do curso incluindo tópicos como o que é um framework, a estrutura de diretórios do CakePHP, o fluxo de requisições, MVC e como evitar código espaguete usando o framework.
i) O documento descreve um estudo sobre as relações entre conceções de ensino-aprendizagem, abordagens de ensino preferidas e práticas de questionamento de professores universitários de biologia.
ii) Foram observadas aulas de quatro professores em dois anos letivos e contextos (licenciatura vs mestrado) para analisar possíveis mudanças nas suas abordagens de ensino e questionamento.
iii) Os resultados sugerem que as conceções dos professores se mantiveram consistentes, mas houve algumas melhorias nas suas práticas de questionamento.
O documento discute estratégias para melhorar a compreensão auditiva de alunos de inglês. Ele explica como ajudar os alunos a entender o processo de listening, trabalhar com estratégias top-down e bottom-up, e fornecer feedback pós-listening para melhorar.
Este documento descreve um projeto chamado BiblioEnglish na Biblioteca Municipal Camilo Castelo Branco que tem como objetivo promover o ensino de inglês para crianças do 1o ciclo através da leitura de histórias em inglês. O documento também mostra exemplos de como as crianças participaram e se engajaram com as atividades de leitura e discussão das histórias em inglês.
This document contains various types of content including images, text, and numbers. Sections of text are followed by numerical data. The document covers multiple topics through a mix of visual and written information presented in different formats.
This short document contains a heading but no body text or content. It includes a quote without any attributed source or context. There are multiple subheadings but no corresponding text under them. An image is included but there is no accompanying caption or explanation.
O documento resume os serviços e produtos oferecidos pelo Grupo HSBC para clientes pessoas físicas e jurídicas. O HSBC é uma corporação internacional presente em mais de 80 países e investe para estar onde seus clientes estejam. O banco oferece poupança, consórcio, seguros, previdência e gestão de patrimônio para pessoas físicas, além de soluções para fluxo de caixa e fundos de investimento para empresas.
El documento presenta un proyecto escolar realizado por un equipo de cuatro estudiantes de diferentes escuelas para crear un organizador para los útiles escolares de primer grado. El proyecto utilizó materiales como cajas de cartón y cereales, pintura, cinta adhesiva y goma eva. El objetivo era construir un sistema para guardar los materiales de los niños de manera ordenada.
Este documento descreve os serviços de uma agência de web design e marketing, incluindo desenvolvimento e gestão de sites, lojas online, conteúdo e newsletter. A agência usa estratégias como SEO, SEM e inbound marketing para melhorar o posicionamento de sites nos resultados de pesquisa e atrair públicos qualificados através de conteúdo e redes sociais. A agência busca criar uma abordagem sistemática para construir sua marca online de forma consistente.
O documento discute como o carisma é uma característica única do Brasil e seu povo. Argumenta que o carisma brasileiro é contagiante e faz com que as pessoas se sintam atraídas ao país, despertando interesse e desejo de conhecê-lo. Propõe posicionar o Brasil como "o país mais contagiante do mundo" devido ao carisma inerente de seus cidadãos.
1) O documento discute a situação da usina nuclear de Fukushima após o terremoto e tsunami no Japão, incluindo níveis alarmantes de radiação detectados e a controvérsia sobre a extensão da evacuação e da divulgação de informações.
2) Trabalhadores da usina foram hospitalizados devido à exposição excessiva à radiação ao realizar reparos, indicando os riscos à saúde na região.
3) Há questionamentos sobre a capacidade do governo japonês em lidar com a crise e divul
(1) O documento descreve o curso "Let's Talk About It", um curso de conversação em inglês e centro de networking. (2) Os participantes aprenderão habilidades de comunicação e networking enquanto praticam conversação em inglês em um ambiente amigável. (3) As reuniões ocorrem uma vez por semana e incluem apresentações individuais sobre tópicos sorteados e debates em grupo.
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
This document discusses the benefits of polyglot and poly-paradigm programming approaches for building more agile applications. It describes how using multiple languages and programming paradigms can optimize both performance and developer productivity. Specifically, it suggests that statically-typed compiled languages be used for core application components while dynamically-typed scripting languages connect and customize these components. This approach allows optimizing areas that require speed/efficiency separately from those requiring flexibility. The document also advocates aspects and functional programming to address cross-cutting concerns and concurrency challenges that arise in modern applications.
O documento descreve o EGuide, um site desenvolvido pelo Grupo Limancini para divulgar guias de turismo, agências de viagem e transfer services em todo o mundo. O EGuide permite que viajantes encontrem esses serviços em seus destinos e entrem em contato diretamente. O objetivo é facilitar a exploração dos destinos com quem realmente conhece a área.
Este capítulo apresenta a trajetória histórica, técnica e aplicações do origami no design. Discute as origens do origami japonês, kirigami e origami arquitetônico, destacando suas características e possibilidades de exploração no design de produtos contemporâneos, uma vez que o papel ainda é um importante suporte para o design, apesar do avanço das tecnologias digitais.
English is important for many reasons such as accessing knowledge, science and technology, global business, higher education, travel and tourism, and the creative arts. The document provides tips for improving English skills such as reading various materials, speaking more in English, listening to English content, and practicing writing in English. Mastering English can open many doors of opportunity.
The contents page of the Billboard magazine uses a golden ratio grid layout, with text shifted right and the number one music chart placed in the margin. It maintains a bright color scheme from the cover but uses serif fonts for subheadings. Sections include exclusives and events to attract readers by previewing content and offers. Key features are clearly listed to encourage readers to purchase the issue.
Este documento lista diferentes áreas de la ley en las que un abogado puede proporcionar servicios legales. Estas áreas incluyen derecho laboral, reclamos de seguridad social, asuntos bancarios y derecho de servidores públicos. Dentro de cada área, se enumeran algunos ejemplos de casos legales comunes que un abogado puede manejar.
No período arcaico da Grécia Antiga, houve o processo de formação das pólis a partir das comunidades gentílicas. Isso resultou em cidades-estados independentes, como Atenas e Esparta, com estruturas políticas, econômicas e sociais distintas. Atenas desenvolveu a democracia, enquanto Esparta era uma sociedade militarista e hierárquica.
Why you should be excited about ClojureScriptelliando dias
ClojureScript allows Clojure code to compile to JavaScript. Created by Rich Hickey and friends, it provides optimizations for performance while maintaining readability and abstraction. As a Lisp for JavaScript, ClojureScript controls complexity on the web and benefits from JavaScript's status as a compilation target for many languages.
Inglês para Taxistas
Com este curso pretende-se dotar os participantes de conhecimentos básicos da língua inglesa, que lhes permitam dialogar e estabelecer uma conversa.
Objetivos Específicos:
- Reconhecer e usar as estruturas base da língua inglesa;
- Desenvolver progressivamente a correção na pronúncia;
- Elaborar pequenos textos e diálogos simples.
ClojureScript allows developers to use the Clojure programming language to build applications that compile to JavaScript. This enables Clojure code to run in environments where JavaScript is supported, like web browsers and mobile apps. ClojureScript leverages the Google Closure compiler and library to provide whole program optimization of Clojure code compiling to JavaScript.
Apresentação cursos de Inglês. Saiba mais!!!London Idiomas
Este documento apresenta uma proposta de curso de inglês para negócios oferecido pela LND Treinamento em Inglês. O curso teria duração flexível e usaria materiais britânicos para desenvolver as habilidades de conversação, leitura, escrita e audição dos alunos, com foco em vocabulário e situações profissionais. O método enfatiza a abordagem comunicativa para melhorar a confiança e fluência dos alunos no idioma.
O documento discute as vantagens de aprender inglês, incluindo mais oportunidades de trabalho, negócios e viagens, e apresenta o curso English Course que oferece aulas flexíveis de inglês individualizadas ou para empresas com preços a partir de R$30,00 por hora.
O documento discute as arquiteturas de aplicações Web 2.0 em Java, definindo o conceito de Web 2.0 e princípios como informação, colaboração e conteúdo multimídia. Explora aspectos da arquitetura Web como degradação suave, composição de serviços, componentes sem estado e AJAX. Fornece exemplos de arquiteturas escaláveis usadas em sites como eBay e discussões sobre frameworks para AJAX em Java. Conclui que é necessário profissionais talentosos e atualizados para construir aplicações Web.
O documento discute o framework Java Wicket para desenvolvimento web orientado a componentes. Ele apresenta os conceitos e funcionalidades do Wicket, incluindo exemplos de como criar componentes e páginas. Demos são fornecidos para ilustrar a criação de uma aplicação simples de cadastro de telefones usando Wicket.
Este documento descreve os serviços de uma agência de web design e marketing, incluindo desenvolvimento e gestão de sites, lojas online, conteúdo e newsletter. A agência usa estratégias como SEO, SEM e inbound marketing para melhorar o posicionamento de sites nos resultados de pesquisa e atrair públicos qualificados através de conteúdo e redes sociais. A agência busca criar uma abordagem sistemática para construir sua marca online de forma consistente.
O documento discute como o carisma é uma característica única do Brasil e seu povo. Argumenta que o carisma brasileiro é contagiante e faz com que as pessoas se sintam atraídas ao país, despertando interesse e desejo de conhecê-lo. Propõe posicionar o Brasil como "o país mais contagiante do mundo" devido ao carisma inerente de seus cidadãos.
1) O documento discute a situação da usina nuclear de Fukushima após o terremoto e tsunami no Japão, incluindo níveis alarmantes de radiação detectados e a controvérsia sobre a extensão da evacuação e da divulgação de informações.
2) Trabalhadores da usina foram hospitalizados devido à exposição excessiva à radiação ao realizar reparos, indicando os riscos à saúde na região.
3) Há questionamentos sobre a capacidade do governo japonês em lidar com a crise e divul
(1) O documento descreve o curso "Let's Talk About It", um curso de conversação em inglês e centro de networking. (2) Os participantes aprenderão habilidades de comunicação e networking enquanto praticam conversação em inglês em um ambiente amigável. (3) As reuniões ocorrem uma vez por semana e incluem apresentações individuais sobre tópicos sorteados e debates em grupo.
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
This document discusses the benefits of polyglot and poly-paradigm programming approaches for building more agile applications. It describes how using multiple languages and programming paradigms can optimize both performance and developer productivity. Specifically, it suggests that statically-typed compiled languages be used for core application components while dynamically-typed scripting languages connect and customize these components. This approach allows optimizing areas that require speed/efficiency separately from those requiring flexibility. The document also advocates aspects and functional programming to address cross-cutting concerns and concurrency challenges that arise in modern applications.
O documento descreve o EGuide, um site desenvolvido pelo Grupo Limancini para divulgar guias de turismo, agências de viagem e transfer services em todo o mundo. O EGuide permite que viajantes encontrem esses serviços em seus destinos e entrem em contato diretamente. O objetivo é facilitar a exploração dos destinos com quem realmente conhece a área.
Este capítulo apresenta a trajetória histórica, técnica e aplicações do origami no design. Discute as origens do origami japonês, kirigami e origami arquitetônico, destacando suas características e possibilidades de exploração no design de produtos contemporâneos, uma vez que o papel ainda é um importante suporte para o design, apesar do avanço das tecnologias digitais.
English is important for many reasons such as accessing knowledge, science and technology, global business, higher education, travel and tourism, and the creative arts. The document provides tips for improving English skills such as reading various materials, speaking more in English, listening to English content, and practicing writing in English. Mastering English can open many doors of opportunity.
The contents page of the Billboard magazine uses a golden ratio grid layout, with text shifted right and the number one music chart placed in the margin. It maintains a bright color scheme from the cover but uses serif fonts for subheadings. Sections include exclusives and events to attract readers by previewing content and offers. Key features are clearly listed to encourage readers to purchase the issue.
Este documento lista diferentes áreas de la ley en las que un abogado puede proporcionar servicios legales. Estas áreas incluyen derecho laboral, reclamos de seguridad social, asuntos bancarios y derecho de servidores públicos. Dentro de cada área, se enumeran algunos ejemplos de casos legales comunes que un abogado puede manejar.
No período arcaico da Grécia Antiga, houve o processo de formação das pólis a partir das comunidades gentílicas. Isso resultou em cidades-estados independentes, como Atenas e Esparta, com estruturas políticas, econômicas e sociais distintas. Atenas desenvolveu a democracia, enquanto Esparta era uma sociedade militarista e hierárquica.
Why you should be excited about ClojureScriptelliando dias
ClojureScript allows Clojure code to compile to JavaScript. Created by Rich Hickey and friends, it provides optimizations for performance while maintaining readability and abstraction. As a Lisp for JavaScript, ClojureScript controls complexity on the web and benefits from JavaScript's status as a compilation target for many languages.
Inglês para Taxistas
Com este curso pretende-se dotar os participantes de conhecimentos básicos da língua inglesa, que lhes permitam dialogar e estabelecer uma conversa.
Objetivos Específicos:
- Reconhecer e usar as estruturas base da língua inglesa;
- Desenvolver progressivamente a correção na pronúncia;
- Elaborar pequenos textos e diálogos simples.
ClojureScript allows developers to use the Clojure programming language to build applications that compile to JavaScript. This enables Clojure code to run in environments where JavaScript is supported, like web browsers and mobile apps. ClojureScript leverages the Google Closure compiler and library to provide whole program optimization of Clojure code compiling to JavaScript.
Apresentação cursos de Inglês. Saiba mais!!!London Idiomas
Este documento apresenta uma proposta de curso de inglês para negócios oferecido pela LND Treinamento em Inglês. O curso teria duração flexível e usaria materiais britânicos para desenvolver as habilidades de conversação, leitura, escrita e audição dos alunos, com foco em vocabulário e situações profissionais. O método enfatiza a abordagem comunicativa para melhorar a confiança e fluência dos alunos no idioma.
O documento discute as vantagens de aprender inglês, incluindo mais oportunidades de trabalho, negócios e viagens, e apresenta o curso English Course que oferece aulas flexíveis de inglês individualizadas ou para empresas com preços a partir de R$30,00 por hora.
O documento discute as arquiteturas de aplicações Web 2.0 em Java, definindo o conceito de Web 2.0 e princípios como informação, colaboração e conteúdo multimídia. Explora aspectos da arquitetura Web como degradação suave, composição de serviços, componentes sem estado e AJAX. Fornece exemplos de arquiteturas escaláveis usadas em sites como eBay e discussões sobre frameworks para AJAX em Java. Conclui que é necessário profissionais talentosos e atualizados para construir aplicações Web.
O documento discute o framework Java Wicket para desenvolvimento web orientado a componentes. Ele apresenta os conceitos e funcionalidades do Wicket, incluindo exemplos de como criar componentes e páginas. Demos são fornecidos para ilustrar a criação de uma aplicação simples de cadastro de telefones usando Wicket.
Desenvolvimento Web Avançado usando PHPelliando dias
Este documento fornece uma introdução aos conceitos básicos de PHP, orientação a objetos em PHP, frameworks AJAX e PHP, bancos de dados MySQL, modelagem de banco de dados e padrões para desenvolvimento web.
O documento discute os principais aspectos de desenvolvimento de sites, incluindo escolha de ferramentas, linguagens de programação, bancos de dados, estrutura, padrões web, acessibilidade e testes.
Django é um framework web escrito em Python lançado em 2005 que promove princípios como DRY e separação de preocupações através do padrão MVC. Ele fornece funcionalidades como ORM, templates e administração para auxiliar no desenvolvimento rápido de aplicações web.
1) O documento discute JavaScript, incluindo sua história e como é usado na web atualmente.
2) É explicado como programadores colocam arquivos no servidor web e como JavaScript é incluído em páginas HTML através de tags <script>.
3) O modelo de objetos de documento (DOM) permite que JavaScript manipule dinamicamente páginas web após a carga inicial.
O documento fornece informações sobre o framework Spring, incluindo sua origem, filosofia, conceitos como inversão de controle e injeção de dependência, e como desenvolver aplicações web com Spring MVC.
O documento resume os principais conceitos e ferramentas do framework Ruby on Rails. Apresenta os pilares do MVC, models, views e controllers, e explica como o Rails promove princípios como DRY e convenções sobre configuração. Também discute recursos como testes, internacionalização, deploy e ferramentas de apoio como Capistrano.
Usando Software Livre Java para Desenvolvimento de Software
(Edilmar Lima Alves
/ JUGMS)
Usando Software Livre Java para Desenvolvimento de Software
Sequência de Tópicos da Apresentação:
1. Apresentação e Visão Geral da Nova Plataforma Java (opensource)
2. IDEs: Eclipse e NetBeans
3. Frameworks para Desenvolvimento Desktop e Web
4. Integração com SGBDs
5. Relatórios e Gráficos
6. Integração com Web Services
7. Outros Utilitários
8. Conclusão
Edilmar Lima Alves é mestre em Ciência da Computação pela UNICAMP/SP, Professor Universitário nas áreas de Redes de Computadores/Servidores Linux e Programação Java, Sócio/Diretor Técnico da InterSite Informática, onde desenvolve projetos de sistemas usando ferramentas livres, além de administração de servidores Internet Linux.
1. O documento apresenta uma introdução ao framework Ruby on Rails, descrevendo suas principais características e funcionalidades.
2. É apresentado um exemplo prático de desenvolvimento de um sistema de blog usando Rails, cobrindo tópicos como geração de projeto, controllers, views e models.
3. O documento fornece instruções passo-a-passo para configurar e executar a aplicação de exemplo.
Este documento fornece uma visão geral de um curso de desenvolvimento web e apresenta os principais tópicos a serem abordados, incluindo HTML, CSS, JavaScript, frameworks e conceitos como protocolo HTTP e servidores web.
O documento apresenta os conceitos fundamentais da plataforma .NET e ferramentas ASP.NET. Discutem a arquitetura do .NET, linguagens como C# e VB.NET, e ferramentas como Visual Studio e Visual Web Developer para desenvolvimento de aplicações web, windows forms e web services. Também explica brevemente linguagens do lado cliente como HTML, JavaScript, e linguagens de servidor como ASP, PHP e JSP.
O documento discute o IBM WebSphere Portal, sua posição de liderança no mercado de portais corporativos, e suas funcionalidades como integração de conteúdo, padrões abertos, desenvolvimento e administração de portais.
JavaScript é uma linguagem de programação interpretada utilizada para adicionar interatividade às páginas web. Pode ser incluída no HTML através de tags <script> e manipula o Document Object Model (DOM) para alterar dinamicamente o conteúdo e estilo das páginas.
1) JavaScript é uma linguagem de programação interpretada utilizada para adicionar interatividade às páginas web.
2) O documento explica como incluir código JavaScript nas páginas web de diferentes formas e dá exemplos básicos de JavaScript.
3) São discutidos os tipos de dados em JavaScript, incluindo números, strings e booleanos.
O documento apresenta uma introdução sobre desenvolvimento web com AJAX, abordando conceitos como HTML, CSS, JavaScript, XML e DOM. É descrita a arquitetura clássica da web em comparação com a arquitetura utilizando AJAX.
O documento apresenta um minicurso sobre Mashup, que consiste na integração de serviços na web através da combinação de conteúdos e APIs de diferentes fontes para criar novas aplicações. O minicurso discute a história da web, conceitos como XML, JSON e APIs, e realiza um exemplo prático de Mashup utilizando a API de busca do Twitter.
O documento discute o framework CakePHP para desenvolvimento web em PHP. Apresenta as principais características do framework como arquitetura MVC, validações, paginação, layouts e histórico de sua criação.
Functional Programming with Immutable Data Structureselliando dias
1. The document discusses the advantages of functional programming with immutable data structures for multi-threaded environments. It argues that shared mutable data and variables are fundamentally flawed concepts that can lead to bugs, while immutable data avoids these issues.
2. It presents Clojure as a functional programming language that uses immutable persistent data structures and software transactional memory to allow for safe, lock-free concurrency. This approach allows readers and writers to operate concurrently without blocking each other.
3. The document makes the case that Lisp parentheses in function calls uniquely define the tree structure of computations and enable powerful macro systems, homoiconicity, and structural editing of code.
O documento lista e descreve as principais partes de um contêiner de carga seco, incluindo o painel frontal, laterais, traseira, teto, piso e estrutura inferior. Muitos componentes como painéis laterais, travessas do teto e fundo são numerados de acordo com sua localização. As portas traseiras contêm quadros, painéis, dobradiças e barras de fechamento.
O documento discute a história da geometria projetiva, desde Euclides até seu uso em computação gráfica. Aborda figuras-chave como Pascal, que foi pioneiro na área, e como a perspectiva foi aplicada nas artes ao longo dos séculos.
This document discusses JavaScript libraries and frameworks. It provides an overview of some popular options like jQuery, Prototype, Dojo, MooTools, and YUI. It explains why developers use libraries, such as for faster development, cross-browser compatibility, and animation capabilities. The document also discusses how libraries resemble CSS and use selector syntax. Basic examples are provided to demonstrate common tasks like hover effects and row striping. Factors for choosing a library are outlined like maturity, documentation, community, and licensing. The document concludes by explaining how to obtain library code from project websites or Google's AJAX Libraries API.
How to Make an Eight Bit Computer and Save the World!elliando dias
This document summarizes a talk given to introduce an open source 8-bit computer project called the Humane Reader. The talk outlines the goals of providing a cheap e-book reader and computing platform using open source tools. It describes the hardware design which uses an AVR microcontroller and interfaces like video output, SD card, and USB. The talk also covers using open source tools for development and sourcing low-cost fabrication and assembly. The overall goals are to create an inexpensive device that can provide educational resources in developing areas.
Ragel is a parser generator that compiles to various host languages including Ruby. It is useful for parsing protocols and data formats and provides faster parsing than regular expressions or full LALR parsers. Several Ruby projects like Mongrel and Hpricot use Ragel for tasks like HTTP request parsing and HTML parsing. When using Ragel with Ruby, it can be compiled to Ruby code directly, which is slow, or a C extension can be written for better performance. The C extension extracts the parsed data from Ragel and makes it available to Ruby.
A Practical Guide to Connecting Hardware to the Webelliando dias
This document provides an overview of connecting hardware devices to the web using the Arduino platform. It discusses trends in electronics and computing that make this easier, describes the Arduino hardware and software, and covers various connection methods including directly to a computer, via wireless modems, Ethernet shields, and services like Pachube that allow sharing sensor data over the internet. The document aims to demonstrate how Arduinos can communicate with other devices and be used to build interactive systems.
O documento introduz o Arduino, uma plataforma de desenvolvimento open-source. Discute as características e componentes do Arduino, incluindo microcontroladores, software e exemplos de código. Também fornece instruções básicas sobre como programar o Arduino usando linguagem C.
O documento apresenta um mini-curso introdutório sobre Arduino, abordando o que é a plataforma Arduino, como é estruturado seu hardware, como programá-lo, exemplos básicos de código e aplicações possíveis como controle residencial e robótica.
The document discusses various functions for working with datasets in the Incanter library for Clojure. It describes how to create, read, save, select rows and columns from, and sort datasets. Functions are presented for building datasets from sequences, reading datasets from files and URLs, saving datasets to files and databases, selecting single or multiple columns, and filtering rows based on conditions. The document also provides an overview of the Incanter library and its various namespaces for statistics, charts, and other functionality.
Rango is a lightweight Ruby web framework built on Rack that aims to be more robust than Sinatra but smaller than Rails or Merb. It is inspired by Django and Merb, uses Ruby 1.9, and supports features like code reloading, Bundler, routing, rendering, and HTTP error handling. The documentation provides examples and details on using Rango.
Fab.in.a.box - Fab Academy: Machine Designelliando dias
This document describes the design of a multifab machine called MTM. It includes descriptions of the XY stage and Z axis drive mechanisms, as well as the tool heads and network used to control the machine. Key aspects of the design addressed include the stepper motor selection, drive electronics, motion control firmware, and use of a virtual machine environment and circular buffer to enable distributed control of the machine. Strengths of the design include low inertia enabling high acceleration, while weaknesses include low basic resolution and stiffness unsuitable for heavy milling.
The Digital Revolution: Machines that makeselliando dias
The document discusses the results of a study on the effects of a new drug on memory and cognitive function in older adults. The double-blind study involved giving either the new drug or a placebo to 100 volunteers aged 65-80 over a 6 month period. Testing showed those receiving the drug experienced statistically significant improvements in short-term memory retention and processing speed compared to the placebo group.
The document discusses using Clojure for Hadoop programming. Clojure is a dynamic functional programming language that runs on the Java Virtual Machine. The document provides an overview of Clojure and how its features like immutability and concurrency make it well-suited for Hadoop. It then shows examples of implementing Hadoop MapReduce jobs using Clojure by defining mapper and reducer functions.
This document provides an overview of Hadoop, including:
1) Hadoop solves the problems of analyzing massively large datasets by distributing data storage and analysis across multiple machines to tolerate node failure.
2) Hadoop uses HDFS for distributed data storage, which shards massive files across data nodes with replication for fault tolerance, and MapReduce for distributed data analysis by sending code to the data.
3) The document demonstrates MapReduce concepts like map, reduce, and their composition with an example job.
Hadoop and Hive Development at Facebookelliando dias
Facebook generates large amounts of user data daily from activities like status updates, photo uploads, and shared content. This data is stored in Hadoop using Hive for analytics. Some key facts:
- Facebook adds 4TB of new compressed data daily to its Hadoop cluster.
- The cluster has 4800 cores and 5.5PB of storage across 12TB nodes.
- Hive is used for over 7500 jobs daily and by around 200 engineers/analysts monthly.
- Performance improvements to Hive include lazy deserialization, map-side aggregation, and joins.
Multi-core Parallelization in Clojure - a Case Studyelliando dias
The document describes a case study on using Clojure for multi-core parallelization of the K-means clustering algorithm. It provides background on parallel programming concepts, an introduction to Clojure, and details on how the authors implemented a parallel K-means algorithm in Clojure using agents and software transactional memory. They present results showing speedups from parallelization and accuracy comparable to R's implementation on both synthetic and real-world datasets.
From Lisp to Clojure/Incanter and RAn Introductionelliando dias
This document provides a comparison between the statistical computing languages R and Clojure/Incanter. It discusses the histories and philosophies behind Lisp, Fortran, R and Clojure. Key differences noted are that Clojure runs on the Java Virtual Machine, allowing it to leverage Java libraries, while R is primarily written in C and Fortran. Incanter is presented as a Clojure-based platform for statistical computing and graphics that is more immature than R but allows easier access to Java capabilities. Basic syntax comparisons are provided.
FleetDB A Schema-Free Database in Clojureelliando dias
FleetDB is a schema-free database built in Clojure that aims to optimize for agile development. It implements databases as Clojure data structures and uses pure functions to handle reads and writes. The core library contains query planning and execution logic. FleetDB adds durability by storing databases in atoms and appending queries to a log. It also includes an embedded server that exposes a JSON client API. At around 1300 lines of code, it leverages Clojure's data structures to provide a full-featured but compact database system.
This document provides an introduction to the Clojure programming language. It discusses Clojure's four main aspects: functional programming, its basis in Lisp, running on the Java Virtual Machine, and support for concurrency. It provides examples and explanations of Clojure's functional style, homoiconic Lisp syntax, interoperability with Java, and approaches for managing concurrent state through vars, refs, atoms and agents. It also recommends tools for getting started with Clojure and links to additional learning resources.
Teoria de redes de computadores redes .docanpproferick
O documento "Teoria de redes de computadores redes" oferece uma visão abrangente dos princípios e elementos fundamentais das redes de computadores. Começando com uma introdução sobre o que constitui uma rede, seus componentes e mecanismos de comunicação, o texto explora a diversidade de redes existentes, desde as redes pessoais de curto alcance (PAN) até as extensas redes de longa distância (WAN), incluindo redes metropolitanas (MAN) e redes de armazenamento (SAN).
Além disso, o documento aprofunda a análise dos tipos de redes cliente-servidor e ponto a ponto, elucidando suas vantagens e desvantagens em diferentes cenários. A transmissão de dados é outro ponto crucial abordado no texto, que detalha os meios físicos de transmissão, como cabos de par trançado, cabos coaxiais e fibra óptica, além das tecnologias sem fio que permitem a comunicação sem a necessidade de cabos.
O documento também apresenta os principais equipamentos de rede, como repetidores, modems, hubs, switches, roteadores, bridges e gateways, detalhando suas funções e a importância de cada um para o funcionamento eficiente de uma rede. Adicionalmente, o texto introduz o conceito de comutação de pacotes, um mecanismo essencial para a transmissão de dados em redes modernas, que permite que múltiplos usuários compartilhem recursos de rede de forma eficiente.
Em resumo, o documento "Teoria de redes de computadores redes" serve como um guia completo para entender os conceitos básicos e os componentes essenciais das redes de computadores, desde os diferentes tipos de redes até os equipamentos que as compõem e os protocolos que regem a comunicação entre dispositivos.O documento "Teoria de redes de computadores redes" oferece uma visão abrangente dos princípios e elementos fundamentais das redes de computadores. Começando com uma introdução sobre o que constitui uma rede, seus componentes e mecanismos de comunicação, o texto explora a diversidade de redes existentes, desde as redes pessoais de curto alcance (PAN) até as extensas redes de longa distância (WAN), incluindo redes metropolitanas (MAN) e redes de armazenamento (SAN).
Além disso, o documento aprofunda a análise dos tipos de redes cliente-servidor e ponto a ponto, elucidando suas vantagens e desvantagens em diferentes cenários. A transmissão de dados é outro ponto crucial abordado no texto, que detalha os meios físicos de transmissão, como cabos de par trançado, cabos coaxiais e fibra óptica, além das tecnologias sem fio que permitem a comunicação sem a necessidade de cabos.
O documento também apresenta os principais equipamentos de rede, como repetidores, modems, hubs, switches, roteadores, bridges e gateways, detalhando suas funções e a importância de cada um para o funcionamento eficiente de uma rede. Adicionalmente, o texto introduz o conceito de comutação de pacotes, um mecanismo essencial para a transmissão de dados em redes modernas, que permite que múltiplos usuários compartilhem recursos de rede de forma eficiente.
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!Annelise Gripp
Você vai encontrar nessa apresentação ferramentas e técnicas que podem ser usadas em todo o processo de Engenharia de Software ponta a ponta, com seu time.
Por que escolhi o Flutter - Campus Party Piauí.pdfIan Oliveira
Exploraremos as razões pelas quais o Flutter se tornou o favorito do Google e de desenvolvedores em todo o mundo. Desde sua estrutura flexível e eficiente até sua capacidade de criar aplicativos belos e funcionais em tempo recorde, mergulhe no mundo do Flutter e saiba por que ele está mudando a maneira como pensamos sobre o desenvolvimento de aplicativos móveis. Prepare-se para ser inspirado a dar o próximo passo em direção ao futuro do desenvolvimento de aplicativos multiplataforma com Flutter!
Gestão de dados: sua importância e benefíciosRafael Santos
O gerenciamento de dados abrange todos os aspectos do gerenciamento de dados ao longo de seu ciclo de vida — desde a criação até a exclusão ou arquivamento. Isso inclui atividades como entrada de dados, transformação de dados, armazenamento de dados, gerenciamento de metadados e governança de dados.
Esses tópicos de gerenciamento de dados são extremamente importantes. Pense no gerenciamento de dados como a infraestrutura — a espinha dorsal das organizações — permitindo que você tome decisões acertadas com base em dados confiáveis.
PRATICANDO O SCRUM Scrum team, product owneranpproferick
Scrum: Uma Estrutura Ágil para Projetos Complexos
Scrum é uma estrutura ágil amplamente utilizada para gerenciar e concluir projetos complexos. Sua abordagem iterativa e incremental permite que equipes multifuncionais colaborem de forma eficaz, respondam a mudanças e entreguem produtos de alta qualidade que atendam às necessidades dos clientes.
Princípios Fundamentais do Scrum
Transparência: Todos os aspectos do projeto, incluindo metas, progresso e desafios, são visíveis para todos os membros da equipe e partes interessadas.
Inspeção: O trabalho em andamento é revisado regularmente para identificar desvios do plano e oportunidades de melhoria.
Adaptação: As mudanças necessárias são feitas com base nas informações coletadas durante a inspeção, garantindo que o projeto permaneça no caminho certo.
Papéis no Scrum
Product Owner: Responsável por definir a visão do produto, priorizar as funcionalidades e garantir que o produto entregue valor ao cliente.
Scrum Master: Facilita a implementação do Scrum, remove obstáculos e garante que a equipe siga os princípios e práticas do Scrum.
Equipe de Desenvolvimento: Um grupo multifuncional responsável por entregar um incremento de produto "Pronto" potencialmente utilizável ao final de cada Sprint.
Eventos do Scrum
Sprint: Um período de tempo fixo (normalmente de 1 a 4 semanas) durante o qual um incremento de produto utilizável é criado.
Sprint Planning: Uma reunião no início de cada Sprint para definir as metas da Sprint e planejar o trabalho a ser realizado.
Daily Scrum: Uma breve reunião diária de 15 minutos onde os membros da equipe discutem o progresso, os desafios e o plano para o dia seguinte.
Sprint Review: Uma reunião no final de cada Sprint para apresentar o incremento de produto às partes interessadas e obter feedback.
Sprint Retrospective: Uma reunião após a Sprint Review para que a equipe reflita sobre o processo e identifique oportunidades de melhoria.
Artefatos do Scrum
Product Backlog: Uma lista ordenada de tudo o que é necessário para desenvolver e entregar o produto.
Sprint Backlog: Uma lista de itens do Product Backlog selecionados para serem concluídos durante a Sprint.
Incremento de Produto: Um resultado concreto do trabalho realizado durante a Sprint, que deve ser utilizável e agregar valor ao produto.
Benefícios do Scrum
Maior adaptabilidade a mudanças: O Scrum permite que as equipes respondam rapidamente às mudanças nas necessidades do cliente ou do mercado.
Melhora na qualidade do produto: A ênfase na entrega de incrementos de produto utilizáveis em cada Sprint garante que o produto seja testado e validado regularmente.
Maior satisfação do cliente: O envolvimento do cliente em todo o processo de desenvolvimento garante que o produto final atenda às suas necessidades e expectativas.
Maior produtividade da equipe: O Scrum promove a colaboração, a comunicação e a autonomia da equipe, resultando em maior produtividade e motivação.
Redução de riscos: A abordagem iterativa e incrementa
Como fui de 0 a lead na gringa em 3 anos.pptxtnrlucas
Esse documento conta a história do autor em sua jornada na área de Desenvolvimento de Software e como ele conseguiu chegar numa vaga de liderança numa empresa internacional em um curto período de tempo.
1. Portlets: Let them make your virtual world!
Fabiano Cruz
Coordenador NEC / Java User Group – Petrópolis
Marcelo Mayworm
Coordenador NEC / Java User Group – Petrópolis
Portlets: Let them make your virtual world!
2. Agenda
• Gerenciamento de informação
• Framework Jetspeed
– Overview
– Instalação e configuração
• Porlets API
• Study Case
Portlets: Let them make your virtual world!
3. Proposta
• Pesquisa e desenvolvimento de soluções
para a integração e gerenciamento de
informação, baseada em projetos Open
Source e seguindo o conceito Web based
• Pesquisa e desenvolvimento de novas
features para o Framework Jetspeed
• Contribuições para a Apache Software
Foundation
• Publicações periódicas
Portlets: Let them make your virtual world!
4. Gestão do Conhecimento
• Durante as primeiras décadas da Informática
a ênfase foi em gerenciar dados
• Estruturas de dados, arquiteturas de dados,
bancos de dados, data warehouses, e assim
por diante
• Transformar os dados transacionais em
conhecimento e inteligência para suportar as
tomadas de decisões
• O fluxo de informações integrado aumentou
vertiginosamente, proporcionando uma
difusão de conhecimento
Portlets: Let them make your virtual world!
5. As mudanças
• Prover informações organizadas
– Visão liner versus visão holística
• Obter meios efetivos de uma empresa se
relacionar com seus fornecedores e clientes
– ERP(Enterprise Resource Planning)
– CRM(Customer Relationship Management)
– KM(Knowledge Management)
– SCM(Supply Chain Management)
• Data Mining, junto às demais
funcionalidades do ERP transforma dados
em informações relevantes
Portlets: Let them make your virtual world!
6. Integração Web based
• Tecnologias Web based para suportar as
transações desse novo ambiente
– Applications Service Provider (ASPs)
– Dificuldade de customizar(os processos se adequam
a empresa)
• Com a expansão da Internet e das intranets
corporativas, a distinção entre os sistemas de “back
office” e “front office” tem sido cada vez mais tênue
• Rede Integrada de valor
– O bem mais valioso para o sucesso é a informação
– Empresas estarão conectadas diretamente uma a
uma
• Integrando a partir de Web based
Portlets: Let them make your virtual world!
7. ### ????? ###
• Mas o que nos falta?
– Integrar sistemas tecnológicos num único
ponto de acesso
Portlets: Let them make your virtual world!
8. O que é um Portal ?
• Funções típicas:
– Registro de usuário
– Autenticação e autorização
– Componentes de gerenciamento de dados:
• Portlets
– Personalização baseada em profiles/behavior
– Customização de páginas por usuários
– Busca
– Gerenciamento de conteúdo
Portlets: Let them make your virtual world!
9. Exemplo:
Portlets: Let them make your virtual world!
10. JetSpeed | Visão Geral
• Um Framework da Apache Software
Foundation
• O principal projeto Open Source de um
Portal Server
• Usa o Portal Structure Markup Language
para definir o page layout, contents,
decorations, etc
– Jetspeed prove uma ferramenta de
customização / administração para ser
utilizada durante o carregamento da página
• Usa XML para definir serviços
Portlets: Let them make your virtual world!
12. JetSpeed | Arquitetura
• Dentro do Jetspeed, o Framework Turbine é
responsável por gerenciar a autenticação
dos usuários e as suas configuração de
layout de página.
• Portlets podem interagir com os serviços do
Turbine através do RunData object.
• Uso de templates
– JSP, Velocity etc
Portlets: Let them make your virtual world!
13. JetSpeed | Page Layout
• Pense nos portlets como componentes
ativos que mostram dados dentro de uma
página HTML. A figura ilustra os portlets
dentro da página de um
portal. São exibidos
três portlets
Portlets: Let them make your virtual world!
14. Jetspeed | Screen/Page
• Essa figura mostra a anatomia da página
contendo os portlets. Dentro dessa página, o
conteúdo do portlet é gerenciado pelo
PortletControl e PortletController.
Portlets: Let them make your virtual world!
15. Jetspeed | Screen/Page
• PortletControl
– Dentro da página do Portlet, gerencia o título
e corpo do Portlet
• PortletController
– Gerencia múltiplos portletControl (cada um
gerenciando seu portlet), provendo uma
página de entrada de informações para os
portlets
Portlets: Let them make your virtual world!
16. Jetspeed | Portlets Goals
• Possuem pequenas web applications para o
usuário
• quot;skin“: essas web applications possibilitam
ao usuário definir background color, title bar
color, icons, etc
• Gerenciamento de performace entre
múltiplos portlets através da utilização de
cache
• Facilmente customizado pelo usuário
Portlets: Let them make your virtual world!
17. Jetspeed | Portlets Goals
• Facilmente desenvolvidos e não requerem
que o desenvolvedor conheça os detalhes
da implementação da Engine JetSpeed
• Facilmente desenvolvidos, pois a
AbstractPortlet class definine a maioria das
ações ocorridas em grande parte das
situações
• Permite automaticamente a apresentação
através dos formatos HTML e WML
Portlets: Let them make your virtual world!
18. Jetspeed | Portlets Goals
• Prove métodos para o portlet determinar o
estado atual ou anterior de apresentação.
Todos os portlets devem suportar o VIEW
mode
• Clicando em um desses controles
apresentados pela figura, o usuário pode,
facilmente, alterar o modo e/ou estado de
exibição do portlet. Exemplo:
Portlets: Let them make your virtual world!
19. Jetspeed | Portlets Padrão
• Esses são os portlets padrão e mais
comumente usados:
– WebPage Portlet
– HTML Portlet
– JSP Portlet
– RSS Portlet
– XSL Portlet
Portlets: Let them make your virtual world!
20. Jetspeed | Portlets Padrão
• WebPage Portlet
– Apresenta uma página web dentro de um
Portlet
– Essa página será carregada pela Engine
Jetspeed, eximindo o portlet de qualquer
interação com o browser do usuário, como
cookies, sendo gerenciada pelo seu sub-
sistema de cache
– O WebPagePortlet irá converter, ou apagar,
algumas tags do HTML, resultando em uma
página que será apresentada em um portlet
Portlets: Let them make your virtual world!
21. Jetspeed | Portlets Padrão
• HTML Portlet
– Apresenta uma página HTML estática dentro
de um portlet
– Porque utilizar um HTML Portlet ao invés de
um WebPagePortlet?
– HTML é estático
– Não é um HTML completo, ex.: <HEAD> não existe
dentro do arquivo
– O arquivo HTML não precisa estar visível para o Web
Server
– Tarefas específicas não podem ser realizadas por um
WebPagePortlet
– Portlet que apresentam somento uma imagem, como
JPEG ou SVG
Portlets: Let them make your virtual world!
22. Jetspeed | Portlets Padrão
• HTML Portlet Example
<portlet-entry name=“OneDayquot; hidden=quot;falsequot;
type=quot;ref“ parent=quot;HTMLquot;application=quot;falsequot;>
<meta-info>
<title>One Day Java</title>
<description>HTML Example</description>
</meta-info>
<url>/OneDay.html</url>
</portlet-entry>
Portlets: Let them make your virtual world!
23. Jetspeed | Portlets Padrão
• JSP Portlet
– Apresenta o output de um JSP dentro de um
portlet
– Porque utilizar um JSP Portlet ao invés de
um WebPagePortlet?
• JSP não tem que estar visível para o Web Server
• Determinadas tarefas não podem ser atingidas
com o WebPagePortlet
• Jetspeed Tag Library
Portlets: Let them make your virtual world!
24. Jetspeed | Portlets Padrão
• JSP Portlet Example
<portlet-entry name=“OneDayJSPquot; hidden=quot;falsequot;
type=quot;refquot; parent=quot;JSPquot; application=quot;falsequot;>
<meta-info>
<title>One Day JSP Example</title>
<description>Simple JSP Portlet</description>
</meta-info>
<parameter name=quot;templatequot; value=“OneDay.jspquot;
hidden=quot;falsequot;/>
</portlet-entry>
Portlets: Let them make your virtual world!
25. Jetspeed | Portlets Padrão
• RSS Portlet
– Apresenta um RSS que prove informações
para um portlet
• Rich Site Summary (RSS) é um formato baseado
em XML, desenvolvido pela Netscape. O objetivo
do RSS é o de propogar as alterações em um site,
incluindo seu portal desenvolvido com o Jetspeed,
dinamizando o processo de publicação de
conteúdo
Portlets: Let them make your virtual world!
26. Jetspeed | Portlets Padrão
• RSS Portlet
– A formatação de RSS dentro de um portlet é
controlada pelo stylesheet
– Informações sobre o RSS:
http://my.netscape.com/publish/formats/rss-spec-0.91.html
Portlets: Let them make your virtual world!
27. Jetspeed | Portlets Padrão
• RSS Portlets Example
<portlet-entry name=“Apacheweekquot;
hidden=quot;falsequot; type=quot;refquot; parent=quot;RSSquot;
application=quot;falsequot;>
<meta-info>
<title>Apacheweek</title>
</meta-info>
<url>
http://www.apacheweek.com/issues/apacheweek-headlines.xml
</url>
</portlet-entry>
Portlets: Let them make your virtual world!
28. Jetspeed | Portlets Padrão
• XSL Portlet
– Apresenta um documento XML transformado
dentro de um portlet
Portlets: Let them make your virtual world!
29. Jetspeed | Instalação
• Para instalar o JetSpeed siga esses três passos:
– Download and install TomCat 3.2 (Binaries)
• http://jakarta.apache.org/builds/jakarta-
tomcat/release/v3.2.4/bin/
– Download JetSpeed 1.3.a2 (Binaries)
• http://jakarta.apache.org/builds/jakarta-
jetspeed/release/v1.3a2/
– Download Apache James. Configure a propriedade
mail.server no arquivo de propriedades
TurbineResources.properties, o qual se encontra em
webapps/jetspeed/WEB-INF/conf
Portlets: Let them make your virtual world!
30. Jetspeed | Configuração
• Descompactar o arquivo jetspeed-1.3a2-
release-src.zip
• Copiar o arquivo jetspeed.war (Web Archieve),
para o diretório WEBAPPS do TomCat
• Start o TomCat <TOMCAT_HOME>/bin/startup
Nota: O TOMCAT_HOME deverá estar setado
• Conectar
– http://localhost:8080/jetspeed
Portlets: Let them make your virtual world!
31. Jetspeed | Estrutura de Dir.
• Conf
– Contém todos os arquivos de
configuração do Jetspeed
• Linguagem, Poll de Conexões,
Controle de log (LOG4J), Arquivo
de Registro dos Portlets (.xreg), etc
• Lib
– Armazena todos os JARs
(Java Archieve) do Projeto
• Templates
– Velocity e JSP
– HTML e/ou WML
– Funcionalidades iniciais
• Template de cadastro, login, etc
Portlets: Let them make your virtual world!
32. Jetspeed | DataBases
• Banco default
– Hypersonic
– Configuração default no TurbineResource.properties
database.default.driver=org.hsql.jdbcDriver
database.default.url=jdbc:HypersonicSQL:${webappRoot}/WE
B-INF/db/jetspeed
database.default.
username=sa
database.default.
password=
Portlets: Let them make your virtual world!
33. Jetspeed | New DataBase
• Script de criação e preechimento das tabelas
para:
– MySQL, Postgres, Sybase, DB2 e Oracle
– Baixando o Source Code, você terá acesso a
esses arquivos
• Obter o driver JDBC do distribuidor
– Colocá-lo no diretório lib do JetSpeed
• Alterar o TurbineResource.properties
Portlets: Let them make your virtual world!
34. Jetspeed | MySQL Example
• MySQL Connector/J 2.0.14 (ZIP)
– mm.mysql-2.0.4-bin.jar
• TurbineResource.properties
database.default.driver=org.gjt.mm.mysql.Driver
database.default.url=jdbc:mysql://localhost:3306/nec_db
database.default.username=root
database.default.password=
Portlets: Let them make your virtual world!
35. Jetspeed | Study Case
• Desenvolvendo Portlets – Hello World ! ☺
1. package org.nec.portal.portlets;
2. import org.apache.jetspeed.portal.portlets.AbstractPortlet;
3. import org.apache.turbine.util.RunData;
4. import org.apache.ecs.ConcreteElement;
5. import org.apache.ecs.StringElement;
6.
7. public class HelloWorldPortlet extends
8. AbstractPortlet
9. {
• public ConcreteElement getContent
• (RunData runData)
12. {
13. return (new StringElement (quot;Hello World!quot;));
14. }
15. }
Portlets: Let them make your virtual world!
36. Jetspeed | Study Case
• A classe utilizada como base para novos
portlets é a classe AbstractPortlet. Ela está
localizada no package
org.apache.jetspeed.portal.portlets
• Extendendo a AbstractPortlet, você terá que
realizar a implementação do método
getContent( )
Portlets: Let them make your virtual world!
37. Jetspeed | Study Case
• getContent( )
– Também implementa a interface RunData do
Turbine como um parâmetro. Através dos
métodos getters e setters da RunData interface,
você tem acesso em runtime as informações
armazenadas no Turbine, incluindo cookies,
locale, e dados do usuário. A maioria dos dados
atualmente, são gerenciados pelo próprio
Jetspeed, e não precisamos nos preocupar com
eles na hora do desenvolvimento dos portlets
Portlets: Let them make your virtual world!
38. Jetspeed | Study Case
• O método getContent( ) retorna um ConcreteElement
de um ECS
• ECS (Element Construction Set)
– Para mostrar o conteúdo, portlets usam o
ECS API. Este vem com o JetSpeed, o qual
gera markup elements a partir de objetos
Java. Você pode usar servlet template ou
JSP para gerar conteúdo como saída, o
qual é capturado por uma ECS que mostra
o seu conteúdo. ECS suporta tanto WML
como HTML
Portlets: Let them make your virtual world!
39. Jetspeed | Exemplo ECS
out.println(quot;<HTML>quot;);
out.println(quot;<HEAD><TITLE>Demo<TITLE><HEAD>quot;);
out.println(quot;<BODY>quot;);
Construção Manual de HTML
out.println(quot;<H1>Demo Header<H1>quot;);
out.println(quot;<H3>Sub Header:<H3>quot;);
out.println(quot;<FONT SIZE=quot;+1quot; FACE=quot;Timesquot; COLOR=quot;#FFFFFFquot;>);
out.println(quot;The big dog & the little cat chased each other.quot;);
out.println(quot;<FONT>quot;);
out.println(quot;<BODY>quot;);
out.printL>quot;);
Html html = new Html()
.addElement(new Head()
.addElement(new Title(quot;Demoquot;)))
.addElement(new Body()
.addElement(new H1(quot;Demo Headerquot;))
.addElement(new H3(quot;Sub Header:quot;)) Construção com ECS
.addElement(new Font().setSize(quot;+1quot;)
.setColor(HtmlColor.WHITE)
.setFace(quot;Timesquot;)
.addElement(quot;The big dog & the little cat chased each other.quot;)));
out.println(html.toString());
// or write to the outputstream directly
output(out);
Portlets: Let them make your virtual world!
40. Jetspeed | Study Case
• Publicando o portlet no Jetspeed
– O arquivo .xreg
• portlet.xreg
– Arquivo de registro dos portlets default e de
configuração do Jetspeed
• local-portlets.xreg
– Para que você não tenha problemas nas atualizações
de versões do Jetspeed, se faz necessário criar o seu
próprio catálogo de portlets
Portlets: Let them make your virtual world!
41. Jetspeed | Study Case
• Desenvolvendo Portlets – Arquivo de Registro do Portlet (.xreg)
1. <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?>
2. <registry>
3. <portlet-entry name=quot;HelloWorld“
4. hidden=quot;falsequot; type=quot;instance“
5. application=quot;falsequot;>
6. <meta-info>
7. <title>HelloWorld</title>
8. <description>
9. Portlet HelloWorld – One Day Java
10. </description>
11. </meta-info>
12. <classname>
13. org.nec.portal.portlets.HelloWorldPortlet
14. </classname>
15. <media-type ref=quot;htmlquot;/>
16. </portlet-entry>
17. </registry>
Portlets: Let them make your virtual world!
42. Jetspeed | Study Case
• Catálogo de portlets
Portlets: Let them make your virtual world!
43. Jetspeed | Study Case
• Adicionando o portlet do catálogo ao portal
personalizado do usuário
Portlets: Let them make your virtual world!
44. Jetspeed | Study Case
• Página personalizada do usuário
Portlets: Let them make your virtual world!
45. Jetspeed | Study Case
• Você deverá publicar o seu novo
portlet no Jetspeed de forma manual,
utilizando um “dialeto do XML”
denominado Portal Structure Markup
Language (PSML)
• O Jetspeed utiliza o PSML para
descrever configurações internas,
disponíveis nos portlets, e
configurações do usuário
• O portlet deverá estar disponível
através de seu portlet registry (.xreg)
Portlets: Let them make your virtual world!
46. Jetspeed | Study Case
• Desenvolvendo Portlets – Arquivo de Publicação do Portlet
(.psml)
1. <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?>
2. <portlets
3. xmlns=quot;http://www.apache.org/2000/02/CVSquot;>
4. <controller name=quot;ThreeColumnsquot;/>
5. <skin name=quot;NECPortletStylesquot;/>
6. <entry parent=quot;HelloWorldquot;>
7. <layout>
8. <property name=quot;columnquot; value=quot;1quot;/>
9. <property name=quot;rowquot; value=quot;1quot;/>
10. </layout>
11. </entry>
12. </portlets>
Portlets: Let them make your virtual world!
47. Jetspeed | Study Case
• Jetspeed e Wireless
– Wap de uma forma transparente
– Utilizando o Nokia Mobile Internet Toolkit
Portlets: Let them make your virtual world!
48. Jetspeed | Study Case
Tela de Login Página Personalizada do Usuário
Portlets: Let them make your virtual world!
49. Jetspeed | Study Case
• Resources
– Para informações adicionais, recursos e
ferramentas, veja os seguintes web sites
• http://jakarta.apache.org
• http://jakarta.apache.org/jetspeed
• http://www.mysql.com
• http://www.javasoft.com
• http://www.javaworld.com
• http://www.google.com.br ☺
Portlets: Let them make your virtual world!
50. Jetspeed | Study Case
• Perguntas
– … e respostas …
Portlets: Let them make your virtual world!
51. Portlets: Let them make your virtual world!
jug-petropolis-subscribe@yahoogroups.com
Portlets: Let them make your virtual world!
52. Portlets: Let them make your virtual world!
Fabiano Cruz
fabianoc@acm.org
Marcelo Mayworm
mmayworm@acm.org
Portlets: Let them make your virtual world!