O documento fornece uma introdução sobre persistência de dados com a biblioteca Realm.io para Android. Explica o que é persistência, quando devemos usar uma biblioteca para isso e apresenta o Realm como uma opção. Detalha como configurar o Realm no projeto, definir modelos de dados, fazer consultas, transações e remover dados. Fornece também dicas e truques sobre integração e boas práticas.
Este documento descreve como objetos Java podem ser transformados e enviados como parâmetros para procedures no Oracle, permitindo a integração entre as linguagens Java e PL/SQL. Ele também discute como listas de objetos podem ser mapeadas para tipos tabela no Oracle e retornadas como resultados de queries.
1) OpenSSL é um framework de segurança derivado do trabalho de Eric A. Young e Tim J. Hudson em 1995
2) Aborda criptografia simétrica (como AES, 3DES) e assimétrica (como RSA, DSA), assim como funções hash (MD5, SHA1)
3) Fornece exemplos de comandos OpenSSL para gerar chaves, criptografar/descriptografar arquivos e gerar hashes
Ecmascript 6, O futuro do Javascript hoje.Henrique Limas
A nova versão do JavaScript esta por vir, esta é visão das novidades e como podemos utilizar hoje.
Das novas declarações de variáveis as declarações de função, das novas estruturas de dados as novas APIs disponíveis para nos desenvolvedores.
Resolvendo problemas de dependências com o BundlerFrevo on Rails
O documento descreve o que é o Bundler, um gerenciador e empacotador de dependências para projetos Ruby. O Bundler resolve problemas com dependências, instala e tranca as versões das gems utilizadas em um projeto, e permite criar ambientes de gems para diferentes propósitos.
O documento descreve o que é o Bundler, um gerenciador e empacotador de dependências para projetos Ruby. O Bundler resolve problemas com dependências, instala e tranca as versões das gems utilizadas em um projeto, e permite criar ambientes de gems para diferentes propósitos.
O documento discute conceitos avançados de Javascript como prototypes, herança prototípica e closures. Explica como prototypes permitem estender objetos built-in e como herança prototípica simula herança de classes. Também explica como closures permitem que funções internas acessem variáveis externas mesmo após a função externa retornar.
O documento discute frameworks e implementações para execução concorrente de tarefas em Java, incluindo Executors, ExecutorService, ThreadPoolExecutor, CompletionService e CompletableFuture. Ele explica como submeter tarefas para execução, obter resultados e controlar a finalização de threads.
Spock é um framework de testes para Java e Groovy que oferece código limpo e fácil de ler, além de ser altamente expressivo. Ele utiliza recursos da linguagem Groovy e é usado por ferramentas como Gradle e Grails. Spock permite definir dados de entrada e saída esperada para os testes, além de limpar recursos utilizados após cada execução por meio de blocos setup, given, when, then e cleanup.
Este documento descreve como objetos Java podem ser transformados e enviados como parâmetros para procedures no Oracle, permitindo a integração entre as linguagens Java e PL/SQL. Ele também discute como listas de objetos podem ser mapeadas para tipos tabela no Oracle e retornadas como resultados de queries.
1) OpenSSL é um framework de segurança derivado do trabalho de Eric A. Young e Tim J. Hudson em 1995
2) Aborda criptografia simétrica (como AES, 3DES) e assimétrica (como RSA, DSA), assim como funções hash (MD5, SHA1)
3) Fornece exemplos de comandos OpenSSL para gerar chaves, criptografar/descriptografar arquivos e gerar hashes
Ecmascript 6, O futuro do Javascript hoje.Henrique Limas
A nova versão do JavaScript esta por vir, esta é visão das novidades e como podemos utilizar hoje.
Das novas declarações de variáveis as declarações de função, das novas estruturas de dados as novas APIs disponíveis para nos desenvolvedores.
Resolvendo problemas de dependências com o BundlerFrevo on Rails
O documento descreve o que é o Bundler, um gerenciador e empacotador de dependências para projetos Ruby. O Bundler resolve problemas com dependências, instala e tranca as versões das gems utilizadas em um projeto, e permite criar ambientes de gems para diferentes propósitos.
O documento descreve o que é o Bundler, um gerenciador e empacotador de dependências para projetos Ruby. O Bundler resolve problemas com dependências, instala e tranca as versões das gems utilizadas em um projeto, e permite criar ambientes de gems para diferentes propósitos.
O documento discute conceitos avançados de Javascript como prototypes, herança prototípica e closures. Explica como prototypes permitem estender objetos built-in e como herança prototípica simula herança de classes. Também explica como closures permitem que funções internas acessem variáveis externas mesmo após a função externa retornar.
O documento discute frameworks e implementações para execução concorrente de tarefas em Java, incluindo Executors, ExecutorService, ThreadPoolExecutor, CompletionService e CompletableFuture. Ele explica como submeter tarefas para execução, obter resultados e controlar a finalização de threads.
Spock é um framework de testes para Java e Groovy que oferece código limpo e fácil de ler, além de ser altamente expressivo. Ele utiliza recursos da linguagem Groovy e é usado por ferramentas como Gradle e Grails. Spock permite definir dados de entrada e saída esperada para os testes, além de limpar recursos utilizados após cada execução por meio de blocos setup, given, when, then e cleanup.
O documento apresenta conceitos sobre desenvolvimento para iOS. Ele discute sobre a plataforma iOS, pré-requisitos, ferramentas e recursos para desenvolvedores como Xcode, Interface Builder, UIKit e Objective-C. Imagens, elementos de controle como botões, sliders e segmentos são apresentados com ênfase na interface gráfica.
O documento descreve a história do desenvolvimento do sistema operacional iOS e do iPhone, começando pela criação da empresa NeXT por Steve Jobs em 1985. Detalha os principais lançamentos de hardware e software que levaram à criação do iPhone em 2007 e do iPad em 2010.
O documento descreve conceitos básicos da linguagem de programação Ruby, incluindo:
1) Sua origem no Japão e influências de outras linguagens como Smalltalk e Perl.
2) Conceitos como orientação a objetos, dinamismo, blocos de código e falta de tipagem.
3) Ferramentas como RVM para gerenciar versões do Ruby e Rubygems para gerenciar pacotes.
Grails - Destaques (para quem já sabe Java)Douglas Mendes
O documento apresenta os principais recursos da linguagem Groovy e do framework Grails, destacando como o código fica mais conciso graças ao uso do dialeto Groovy e da convenção sobre configuração. Também descreve recursos como closures, operadores como ?. e ?:, e como a reflexão torna o acesso a propriedades e métodos mais simples.
O documento descreve as características da programação orientada a objetos em Objective-C, incluindo a definição de classes, encapsulamento, herança, ciclo de vida de objetos e a classe NSString. É explicado como definir propriedades, getters e setters e como enviar mensagens entre objetos.
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenziejonathanblacknight
The document provides an introduction to game development using Ogre 3D. It discusses the author's background and game projects, describes key features of Ogre 3D including its multiplatform support and large community, and gives an overview of initializing and using the Ogre 3D API for graphics, input, animation and more.
O documento apresenta o framework Spock para testes de software. Discute os principais recursos como blocos expect, then, where e cleanup para validar comportamentos. Também mostra como usar métodos helper para isolar validações e melhorar a legibilidade dos testes.
JavaFX e Scala - Como Leite com BolachaRafael Afonso
Apresentação do projeto ScalaFX (http://code.google.com/p/scalafx/) para o JustJava 2012 em 19/05/2012. Traduzida da apresentação de Stephen Chin e Luc Duponcheel para o Scala Days em 17/04/2012.
O documento discute conceitos importantes de classes e objetos em Java, incluindo: (1) construtores e inicialização de objetos; (2) uso de this() e super() em construtores; (3) problemas com inicialização caso métodos sejam chamados em construtores.
1. O documento discute utilitários de concorrência em Java, incluindo variáveis atômicas, unidades de tempo e coleções concorrentes.
2. Variáveis atômicas permitem operações atômicas em tipos primitivos e referências através de métodos como getAndSet e compareAndSet.
3. Updaters permitem encapsular atributos em objetos para operações atômicas como incremento e substituição de valores.
Ferramentas para desenvolvimento no blockchain EthereumOriginalMy.com
Apresentamos o desenvolvimento para blockchain Ethereum utilizando:
- Solidity Browser
- Geth
- Mist
- Trufffle
Utilizando o Mercado Pokémon como plataforma de exemplo.
Thiago Valle e Heitor Repolho - Utilizando sparta para para desenvolvimento d...INdT
O documento discute o framework Sparta para desenvolvimento de jogos 2D no Windows Phone. Ele introduz o desenvolvimento de jogos, o XNA e problemas comuns, e então descreve as vantagens do Sparta, incluindo sua arquitetura modular baseada em estados e animações de propriedade, e demonstra alguns exemplos.
O documento apresenta o perfil profissional de Wemerson Silva, que atua como desenvolvedor front-end na empresa UaiTI. Ele tem experiência anterior como desenvolvedor em outras empresas e formação acadêmica em Tecnologia da Informação e Engenharia de Software Ágil.
Palestra sobre Javascript realizada no primeiro ciclo do Plano de Geração de Conhecimento realizado em outubro de 2013, no LEMAF - Universidade Federal de Lavras.
O Plano de geração de conhecimento é um trabalho realizado para tutoria de desenvolvedores com estagiários no estudo de tecnologias, com o objetivo de disseminação de conhecimento.
Palestra ministrada por Fernando Simeone, Carlos Eduardo Chessi Melo, Eduardo Assis da Silva e José Henrique Santos Andrade .
### Atualização 20/02/2015
Palestra melhorada, com algumas correções. Reapresentada por Fernando Simeone e Carlos Eduardo Chessi Melo na SETI (Semana de Tecnologia da Informação) na Universidade Federal de Lavras.
O documento apresenta o Floggy, um framework para persistência de dados em JavaME que simplifica o uso do Record Management System (RMS). O Floggy permite que os desenvolvedores trabalhem com persistência em alto nível, poupando centenas de linhas de código habitualmente necessárias para salvar, carregar e manipular dados com RMS. O framework suporta tipos primitivos, classes da Java e arrays de forma transparente.
Neste talk você vai aprender alguns hacks de JavaScript úteis na prática. Entendendo quando e como usá-las de forma que torne suas aplicações JavaScript/Meteor/Node.js mais rápidas.
O documento discute as vantagens de usar linguagens de script como Tcl e XOTcl para desenvolvimento rápido de aplicações. Ele apresenta ferramentas como Starkits, Critcl e Bibliotheca que permitem empacotar scripts e extensões de forma portável e criar interfaces gráficas ricas. O documento também descreve como XOTcl adiciona suporte a objetos, classes, filtros e slots para Tcl, permitindo desenvolvimento orientado a objetos.
1. O documento discute tópicos sobre concorrência e paralelismo em Java, incluindo criação e controle de threads, acesso exclusivo, ciclo de vida de aplicações, variáveis atômicas e travas.
2. É introduzido o framework Fork/Join, que permite paralelizar tarefas recursivas usando a estratégia "dividir para conquistar" em CPUs multi-core.
3. São explicados conceitos como work stealing, onde threads roubam tarefas de outras filas para executar, melhorando a performance.
This document discusses Google Cloud Messaging (GCM), a service that allows sending push notifications to Android apps. It covers how to set up a GCM project, generate API keys, and send messages from a server. Example code is provided for integrating GCM into an Android app and building a simple notification server.
Este documento discute testes unitários no Android Studio. Ele explica como adicionar dependências de bibliotecas de teste, cuidar com conflitos de dependências, e usar o Robolectric ou testes de instrumentação para comportamentos esperados de classes Android. Links úteis sobre testes no Android também são fornecidos.
This short poem discusses the importance of family love as life's greatest blessing, and compares good friends to stars in that you may not always see them but know they are always there for support. It also notes that a person's smile can make life more beautiful by bringing joy and happiness to others.
O documento apresenta conceitos sobre desenvolvimento para iOS. Ele discute sobre a plataforma iOS, pré-requisitos, ferramentas e recursos para desenvolvedores como Xcode, Interface Builder, UIKit e Objective-C. Imagens, elementos de controle como botões, sliders e segmentos são apresentados com ênfase na interface gráfica.
O documento descreve a história do desenvolvimento do sistema operacional iOS e do iPhone, começando pela criação da empresa NeXT por Steve Jobs em 1985. Detalha os principais lançamentos de hardware e software que levaram à criação do iPhone em 2007 e do iPad em 2010.
O documento descreve conceitos básicos da linguagem de programação Ruby, incluindo:
1) Sua origem no Japão e influências de outras linguagens como Smalltalk e Perl.
2) Conceitos como orientação a objetos, dinamismo, blocos de código e falta de tipagem.
3) Ferramentas como RVM para gerenciar versões do Ruby e Rubygems para gerenciar pacotes.
Grails - Destaques (para quem já sabe Java)Douglas Mendes
O documento apresenta os principais recursos da linguagem Groovy e do framework Grails, destacando como o código fica mais conciso graças ao uso do dialeto Groovy e da convenção sobre configuração. Também descreve recursos como closures, operadores como ?. e ?:, e como a reflexão torna o acesso a propriedades e métodos mais simples.
O documento descreve as características da programação orientada a objetos em Objective-C, incluindo a definição de classes, encapsulamento, herança, ciclo de vida de objetos e a classe NSString. É explicado como definir propriedades, getters e setters e como enviar mensagens entre objetos.
Introdução ao desenvolvimento de jogos em OGRE 3D - Mackenziejonathanblacknight
The document provides an introduction to game development using Ogre 3D. It discusses the author's background and game projects, describes key features of Ogre 3D including its multiplatform support and large community, and gives an overview of initializing and using the Ogre 3D API for graphics, input, animation and more.
O documento apresenta o framework Spock para testes de software. Discute os principais recursos como blocos expect, then, where e cleanup para validar comportamentos. Também mostra como usar métodos helper para isolar validações e melhorar a legibilidade dos testes.
JavaFX e Scala - Como Leite com BolachaRafael Afonso
Apresentação do projeto ScalaFX (http://code.google.com/p/scalafx/) para o JustJava 2012 em 19/05/2012. Traduzida da apresentação de Stephen Chin e Luc Duponcheel para o Scala Days em 17/04/2012.
O documento discute conceitos importantes de classes e objetos em Java, incluindo: (1) construtores e inicialização de objetos; (2) uso de this() e super() em construtores; (3) problemas com inicialização caso métodos sejam chamados em construtores.
1. O documento discute utilitários de concorrência em Java, incluindo variáveis atômicas, unidades de tempo e coleções concorrentes.
2. Variáveis atômicas permitem operações atômicas em tipos primitivos e referências através de métodos como getAndSet e compareAndSet.
3. Updaters permitem encapsular atributos em objetos para operações atômicas como incremento e substituição de valores.
Ferramentas para desenvolvimento no blockchain EthereumOriginalMy.com
Apresentamos o desenvolvimento para blockchain Ethereum utilizando:
- Solidity Browser
- Geth
- Mist
- Trufffle
Utilizando o Mercado Pokémon como plataforma de exemplo.
Thiago Valle e Heitor Repolho - Utilizando sparta para para desenvolvimento d...INdT
O documento discute o framework Sparta para desenvolvimento de jogos 2D no Windows Phone. Ele introduz o desenvolvimento de jogos, o XNA e problemas comuns, e então descreve as vantagens do Sparta, incluindo sua arquitetura modular baseada em estados e animações de propriedade, e demonstra alguns exemplos.
O documento apresenta o perfil profissional de Wemerson Silva, que atua como desenvolvedor front-end na empresa UaiTI. Ele tem experiência anterior como desenvolvedor em outras empresas e formação acadêmica em Tecnologia da Informação e Engenharia de Software Ágil.
Palestra sobre Javascript realizada no primeiro ciclo do Plano de Geração de Conhecimento realizado em outubro de 2013, no LEMAF - Universidade Federal de Lavras.
O Plano de geração de conhecimento é um trabalho realizado para tutoria de desenvolvedores com estagiários no estudo de tecnologias, com o objetivo de disseminação de conhecimento.
Palestra ministrada por Fernando Simeone, Carlos Eduardo Chessi Melo, Eduardo Assis da Silva e José Henrique Santos Andrade .
### Atualização 20/02/2015
Palestra melhorada, com algumas correções. Reapresentada por Fernando Simeone e Carlos Eduardo Chessi Melo na SETI (Semana de Tecnologia da Informação) na Universidade Federal de Lavras.
O documento apresenta o Floggy, um framework para persistência de dados em JavaME que simplifica o uso do Record Management System (RMS). O Floggy permite que os desenvolvedores trabalhem com persistência em alto nível, poupando centenas de linhas de código habitualmente necessárias para salvar, carregar e manipular dados com RMS. O framework suporta tipos primitivos, classes da Java e arrays de forma transparente.
Neste talk você vai aprender alguns hacks de JavaScript úteis na prática. Entendendo quando e como usá-las de forma que torne suas aplicações JavaScript/Meteor/Node.js mais rápidas.
O documento discute as vantagens de usar linguagens de script como Tcl e XOTcl para desenvolvimento rápido de aplicações. Ele apresenta ferramentas como Starkits, Critcl e Bibliotheca que permitem empacotar scripts e extensões de forma portável e criar interfaces gráficas ricas. O documento também descreve como XOTcl adiciona suporte a objetos, classes, filtros e slots para Tcl, permitindo desenvolvimento orientado a objetos.
1. O documento discute tópicos sobre concorrência e paralelismo em Java, incluindo criação e controle de threads, acesso exclusivo, ciclo de vida de aplicações, variáveis atômicas e travas.
2. É introduzido o framework Fork/Join, que permite paralelizar tarefas recursivas usando a estratégia "dividir para conquistar" em CPUs multi-core.
3. São explicados conceitos como work stealing, onde threads roubam tarefas de outras filas para executar, melhorando a performance.
This document discusses Google Cloud Messaging (GCM), a service that allows sending push notifications to Android apps. It covers how to set up a GCM project, generate API keys, and send messages from a server. Example code is provided for integrating GCM into an Android app and building a simple notification server.
Este documento discute testes unitários no Android Studio. Ele explica como adicionar dependências de bibliotecas de teste, cuidar com conflitos de dependências, e usar o Robolectric ou testes de instrumentação para comportamentos esperados de classes Android. Links úteis sobre testes no Android também são fornecidos.
This short poem discusses the importance of family love as life's greatest blessing, and compares good friends to stars in that you may not always see them but know they are always there for support. It also notes that a person's smile can make life more beautiful by bringing joy and happiness to others.
Earlier this year, the Department of Labor released its final rule amending the Fair Labor Standards Act’s (FLSA) white collar exemption, resulting in widespread buzz in the business community about skyrocketing overtime costs and financial impact on employers.
While the changes to the regulations more than doubled the minimum salary threshold level for exempt employees (from $23,660 to $47,476), this program will help employers evaluate their options and strategies for transitioning their workforce to ensure compliance with the new rules. The program will discuss the Final Rule and what’s changed, as well as the impact on employers and steps to take to ensure compliance before December 2016.
Technologies to support self-directed learning through social interactionDragan Gasevic
This talk will describe underlying principles, design, and experience gained with ProSolo, a platform that supports personalized, competency-based learning through social interaction. Traditional educational models are primarily focused on classroom education and training typically associated with the notion of credit hours as the (only) route towards formal credentials. This limits opportunities for creating personalized learning pathways in the changing educational context. ProSolo provide users with the ability to unbundle education programs, courses, and units into discrete yet inter-related competencies, allowing learners to construct their education pathway in a manner that better reflects their interests and future career motivations and requirements. ProSolo is developed with the intention of providing learners with opportunities to customize, modify, and personalize their self-directed learning journey. ProSolo supports the development of skills for self-directed learning by allowing learners to control the planning, learning, and presentation of outcomes associated with their learning. To support learners with different levels of prior knowledge, study skills, and cultural backgrounds, ProSolo offers features for supporting self-directed learning through three types of scaffolds, including instructional, social, and technological. Learning in ProSolo occurs within a socially rich environment that aggregates learners’ information created and shared in their existing online spaces. ProSolo makes use of learning analytics to empower learners and instructors in this new model of education. ProSolo was used in the Data, Learning, and Analytics MOOC and is currently being piloted at several university sites.
Moving Sustainability to the Core of Strategic SourcingJustin Sullivan
The University of California System's Sustainability Policy says that "Environmentally Sustainable Purchasing underlies all other areas of sustainable practice..." Find out how UC's System-Wide Strategic Sourcing Organization is embedding sustainability into its business processes and helping the UC be a global leader in sustainability.
Practical Container Security by Mrunal Patel and Thomas Cameron, Red HatDocker, Inc.
You can secure your containerized microservices without slowing down development. Through a combination of Linux kernel features and open source tools, you can isolate the host from the container and the containers from each other, as well as finding vulnerabilities and securing data. Two of Red Hat's Docker contributors will discuss the state of container security today, covering Linux namespaces, SElinux, cgroups, capabilities, scan, seccomp, and other tools you can use right now.
E-Commerce User Experience & Usability. Eine Präsentation von Reto Joller-Schuler, Business Analyst & Development, Mitglied der Geschäftsleitung der INM AG, anlässlich des ONE Kongress vom 09.05.2012, Messe Zürich
RMI permite que objetos Java se comuniquem através de uma rede, permitindo que métodos sejam chamados remotamente em outros computadores. Um exemplo é um sistema bancário onde terminais podem requisitar informações de clientes de um servidor central. RMI encapsula as requisições em objetos stub e skeleton para codificar e decodificar parâmetros e retornos entre cliente e servidor.
Workshop de introdução ao rápida a linguagem JavaScript, a plataforma Node.js e o framework Socket.IO.
Nesta talk é apresentado suas principais características, de forma prática, contando um exercício sobre orientação a objetos com javascript e um exercício sobre criação de um microblog realtime usando Socket.IO.
O documento apresenta um tutorial sobre como criar um servidor HTTP simples em Node.js, desde a importação do módulo HTTP, criação do servidor e tratamento de requisições para retornar HTML, JSON e estruturar rotas.
O documento apresenta os conceitos básicos de Java e Orientação a Objetos, incluindo: 1) Java é uma linguagem de programação orientada a objetos desenvolvida pela Sun Oracle; 2) Orientação a Objetos modela o mundo real através de classes, herança, polimorfismo e encapsulamento; 3) Para ser desenvolvedor Java Júnior é necessário conhecimento de variáveis, controle de fluxo, classes, interfaces entre outros conceitos fundamentais.
O documento fornece diretrizes sobre melhores práticas para classes, métodos, exceções e uso de strings e coleções em Java. As principais diretrizes incluem: (1) dar acesso restrito às classes e variáveis, (2) preferir composição à herança, (3) validar parâmetros, documentar métodos e tratar exceções adequadamente, (4) evitar uso desnecessário de null e strings imutáveis.
O documento resume as principais características da linguagem de programação Groovy e do framework Grails. Em 3 frases ou menos:
Groovy é uma linguagem dinâmica que roda na máquina virtual Java e tem sintaxe semelhante a Java, permitindo integrar código Java e Groovy. Grails é um framework web baseado em Groovy que facilita o desenvolvimento rápido de aplicações web seguindo convenções como gerenciamento de dependências, mapeamento objeto-relacional e testes. Juntos, Groovy e Grails permitem desenvolver aplicações web ricas de
Ecosistema spring a_plataforma_enterprise_javJulio Viegas
Julio Viegas é um engenheiro de software e instrutor com 15 anos de experiência trabalhando com tecnologia. Ele fala sobre o framework Spring, ferramentas como Spring Roo, Spring Tool Suite, Grails e CloudFoundry.
TDC2016POA | Trilha Banco de Dados - Firebase e Realm, o NoSQL ganha força no...tdc-globalcode
Este documento discute duas opções para armazenamento de dados em aplicativos móveis: Realm e Firebase. Realm é um banco de dados orientado a objetos que promete ser mais rápido que o SQLite ou qualquer outro ORM. Firebase fornece uma variedade de ferramentas para desenvolvimento de aplicativos móveis, incluindo um banco de dados NoSQL hospedado na nuvem. O documento explica como configurar e usar ambas as opções para armazenar e recuperar dados em aplicativos Android.
TDC 2015 - Execução em Background e Live Tiles em Universal AppsDiego Castro
Slides usado na palestra "Execução em Background e Live Tiles em Universal Apps" na trilha "Universal Windows" do TDC 2015
http://www.thedevelopersconference.com.br/tdc/2015/saopaulo/trilha-universal-windows
O documento discute técnicas para trabalhar com JSON no Android, incluindo bibliotecas como GSON, Jackson e implementações padrão. Também aborda tópicos como cache, performance e debug de aplicativos.
Live Tiles e Background Executions - TDC SP 2015talkitbr
Palestra sobre Live Tiles e Background executions em Windows Universal Platform. Ministrada pelos evangelistas Diego Castro e João Ronaldo Cunha no The Developer Conference (TDC) São Paulo 2015 na trilhe de Universal Windows.
Aqui são apresentados conceitos básicos a plataforma Java. Simples e rápido.
/**Depois que entrei no mundo Java, começei a procurar por conteúdo na internet para estudar, então me deparei com um ótimo site, http://www.argonavis.com.br, de um grande cara chamado Helder Rocha, que disponibiliza este mesmo conteúdo em seu site também. Obrigado pela ajuda a comunidade.*/
O documento descreve os conceitos básicos de objetos remotos em Java usando RMI. Ele explica que objetos remotos permitem que métodos sejam chamados remotamente como se fossem locais, e que RMI usa proxies e stubs para abstrair a complexidade da comunicação em rede. Ele também resume os 10 passos principais para implementar objetos remotos em RMI: 1) definir a interface remota, 2) implementar o objeto remoto, 3) estabelecer um servidor, 4) compilar, 5) gerar stubs e skeletons, 6) escrever e compilar o
A explosão do Node.js: JavaScript é o novo pretoNando Vieira
O documento discute a explosão do Node.js e como JavaScript se tornou uma linguagem popular para desenvolvimento de servidores. Apresenta alguns dos principais módulos da biblioteca padrão do Node.js como timers, processamento de eventos e arquivos. Também discute alguns frameworks e bancos de dados populares usados com Node.js como Express, MongoDB e Socket.IO.
Construindo portlets para IBM WebSphere Portal – Parte 2rodrigoareis
Este documento apresenta as melhores práticas para desenvolvimento de portlets para o IBM WebSphere Portal. Apresenta as APIs disponíveis como Model SPI, REST e WebDAV e discute conceitos importantes como recursos addressability e piece-of-content (POC).
Nem tudo é Pepino: Cucumber x Robot FrameworkRodrigo Matola
- O documento apresenta o framework de automação de testes Robot Framework, descrevendo suas principais características como ser open source, ter suporte a múltiplas linguagens de programação e bibliotecas genéricas. Também compara o Robot Framework com o Cucumber, outro framework popular.
Conectando o Android a outros sistemasElias Junior
A palestra discute conectar aplicativos Android a outros sistemas, incluindo o uso de threads para não bloquear a interface do usuário, AsyncTask para executar tarefas em segundo plano, trabalhar com JSON e fazer conexões com a web, e armazenar dados em cache para melhorar o desempenho.
Seguindo o raciocínio de que "o processamento mais rápido é aquele que não é feito" faz-se conveniente uma estratégia de cacheamento de resultados de processamento. Mostrarei uma abordagem possível neste sentido, utilizando o REDIS, em uma arquitetura baseada em micro serviços.
1) O documento discute o Domain-Driven Design (DDD), uma abordagem focada no domínio e na lógica de negócios.
2) As duas principais premissas do DDD são desenvolver um modelo que reflita o domínio e usar uma linguagem ubíqua compartilhada entre os especialistas de negócios e a equipe de desenvolvimento.
3) O DDD enfatiza a separação de camadas com base no domínio, utilizando conceitos como entidades, valores, agregações, serviços, fábricas e repositó
O documento discute a persistência de dados em dispositivos móveis JavaME, introduzindo o Floggy, um framework que simplifica o processo ao permitir que objetos sejam salvos e recuperados com poucas linhas de código, ao invés de centenas como com o Record Management System (RMS) padrão.
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
10. Modelo
public class User extends RealmObject {
private String name;
private boolean boolValue;
private short number;
private int number2;
private long number3;
private float fractionNumber;
private double fractionNumber2;
private byte[] bytes;
private Date date;
private RealmObject object;
private RealmList<? extends RealmObject> list;
@PrimaryKey
private int id; // inteiros ou String
@Index
private int index; // Tipos primitivos
@Ignore
private int sessionId;
// Getters & Setters padrão
public String getName() { return name; }
public void setName(String name) { this.name = name; }
…
}
11. Tips & Tricks - Modelos
Todos os inteiros são mapeados para long, inclusive
os Wrappers.
Não é possível armazenar null para nenhum tipo
diferente de RealmObject ou RealmLists.
Os getters e setters são obrigatórios para todas as
propriedades não anotadas com @Ignore.
Getters e Setters são alterados depois pelo Realm,
então qualquer implementação diferente é descartada.
12. Tips & Tricks - Modelos
Todos os atributos devem ser privados.
Métodos e atributos estáticos são liberados.
@PrimaryKey não pode ser usada em mais de um
atributo.
@PrimaryKey já define implicitamente o @Index para
o atributo.
13. Tips & Tricks - Modelos
Nome da classe deve ter no máximo 57 caracteres.
Nome de atributo deve ter no máximo 63 caracteres
Datas são armazenadas com precisão de segundos,
no período 13/12/1900 e 19/01/2038.
Strings e byte[] devem ter no máximo 16mb.
15. Transações
Realm realm = Realm.getInstance(this);
realm.beginTransaction();
// Insere, altera ou remove objetos da base
realm.commitTransaction();
realm.cancelTransaction();
Realm realm = Realm.getInstance(this);
realm.executeTransaction((realm) -> {
// Insere, altera ou remove objetos da base
});
Realm realm = Realm.getInstance(this);
realm.executeTransaction(new Realm.Transaction() {
@Override
public void execute(Realm realm) {
// Insere, altera ou remove objetos da base
}
});
Explicitamente
Realm + Lambda
Realm
16. Tips & Tricks - Transações
São obrigatórias para qualquer alteração na base de
dados.
Dados só são persistidos no disco após o commit da
transação.
Operações de escrita no banco bloqueiam outras
transações de escrita e podem demorar.
ATENÇÃO: Não faça operações de escrita no banco
na UI Thread.
17. Tips & Tricks - Transações
Divida o processo em criar objetos e gravar no
banco.
Escritas no banco não bloqueiam a leitura do
mesmo.
Transações aninhadas (uma transação dentro de outra
transação) não são suportadas e geram exceção.
19. Criando objetos
User user = realm.createObject(User.class); // Create a new object
user.setName("John");
user.setEmail("john@corporation.com");
User user = new User("John");
user.setEmail("john@corporation.com");
User realmUser = realm.copyToRealm(user);
String json = ...;
realm.createObjectFromJson(User.class, json);
String json = ...;
realm.createOrUpdateObjectFromJson(User.class, json);
20. Tips & Tricks - Objetos
Manipulação de objetos deve sempre ocorrer dentro
de uma transação.
O objeto só pode ser usado na Thread em que ele foi
criado.
Pode-se criar um Wrapper para o objeto para poder
transitá-lo entre threads e inserir métodos nele.
Cuidado com restrições definidas por PrimaryKey ao
inserir ou atualizar objetos.
24. Consultas
// Funções de agregação
long sum = resultado.sum("idade").longValue();
long min = resultado.min("idade").longValue();
long max = resultado.max("idade").longValue();
double average = resultado.average("idade");
long matches = result.size();
// Ordenando o resultado
RealmResults<User> result = realm.where(User.class).findAll();
result.sort("idade"); // Sort ascending
result.sort(""idade", RealmResults.SORT_ORDER_DESCENDING);
// Ordenando já na consulta
RealmResults<User> result = realm.where(User.class).findAllSorted("idade");
25. Consultas
public class User extends RealmObject {
...
private RealmList<Email> emails;
...
}
public class Email extends RealmObject {
...
private boolean active;
...
}
RealmResults<Contact> contacts = realm.where(Contact.class)
.equalTo("emails.active", true)
.findAll();
public class User extends RealmObject {
...
private RealmList<Email> emails;
...
}
public class Email extends RealmObject {
...
private boolean active;
...
}
RealmResults<Contact> contacts = realm.where(Contact.class)
.equalTo("emails.active", true)
.equalTo("emails.active", false)
.findAll();
26. Tips & Tricks - Consultas
Cuidado com o nome das propriedades na hora de
filtrar para evitar erros de digitação.
Só é possível ordenar utilizando os campos que
estão no modelo de retorno.
Não é possível fazer GROUP BY como é feito no
SQL.
Todas as consultas são LAZY.
28. Remoção
// Remover o objeto de um resultado.
result.remove(0);
result.removeLast();
// Remover um objeto específico.
User usuario = result.get(5);
usuario.removeFromRealm();
// Remover todos os objetos de um resultado.
result.clear();