JavaScript String:
The String object lets you work with a series of characters; it wraps Javascript's string primitive data type with a number of helper methods.
As JavaScript automatically converts between string primitives and String objects, you can call any of the helper methods of the String object on a string primitive.
JavaScript Arrays:
The Array object lets you store multiple values in a single variable. It stores a fixed-size sequential collection of elements of the same type. An array is used to store a collection of data, but it is often more useful to think of an array as a collection of variables of the same type.
JavaScript String:
The String object lets you work with a series of characters; it wraps Javascript's string primitive data type with a number of helper methods.
As JavaScript automatically converts between string primitives and String objects, you can call any of the helper methods of the String object on a string primitive.
JavaScript Arrays:
The Array object lets you store multiple values in a single variable. It stores a fixed-size sequential collection of elements of the same type. An array is used to store a collection of data, but it is often more useful to think of an array as a collection of variables of the same type.
Aula 09 da disciplina de Programação Orientada a Objetos, ministrada pelo Departamento de Computação da Universidade Federal de Sergipe.
Apresenta os conceitos sobre herança.
Slides para aula de como acessar bancos de dados em Java usando JDBC.
A apresentação é curta, mas inclui as principais informações sobre a API JDBC (DataSource, Connection, Statement, PreparedStatement) e exemplos de código para explanação.
O código-fonte de exemplo está disponível no GitHub: https://github.com/utluiz/jdbc-example
Threading Made Easy! A Busy Developer’s Guide to Kotlin CoroutinesLauren Yew
Kotlin Coroutines is a powerful threading library for Kotlin, released by JetBrains in 2018. At The New York Times, we recently migrated our core libraries and parts of our News app from RxJava to Kotlin Coroutines. In this talk we’ll share lessons learned and best practices to understand, migrate to, and use Kotlin Coroutines & Flows.
In this presentation, you will learn:
What Coroutines are and how they function
How to use Kotlin Coroutines & Flows (with real world examples and demos)
Where and why you should use Coroutines & Flows in your app
How to avoid the pitfalls of Coroutines
Kotlin Coroutines vs. RxJava
Lessons learned from migrating to Kotlin Coroutines from RxJava in large legacy projects & libraries
By the end of this talk, you will be able to apply Kotlin Coroutines to your own app, run the provided sample code yourself, and convince your team to give Kotlin Coroutines a try!
JavaScript Events:
HTML events are "things" that happen to HTML elements. When JavaScript is used in HTML pages, JavaScript can "react" on these events.
What can JavaScript Do?
Event handlers can be used to handle, and verify, user input, user actions, and browser actions:
Things that should be done every time a page loads
Things that should be done when the page is closed
Action that should be performed when a user clicks a button
Content that should be verified when a user inputs data
A JavaScript function is a block of code designed to perform a particular task.
Why Functions?
You can reuse code: Define the code once, and use it many times. You can use the same code many times with different arguments, to produce different results.
Apresentação Monografia - Máquina de Comitê para previsão do preço médio diár...José Alexandre Macedo
Apresentação de monografia apresentada ao Curso de Bacharelado em Ciência da Computação da Universidade Federal de Alfenas por mim (José Alexandre Macedo) para obtenção do diploma de Bacharel.
Aula 09 da disciplina de Programação Orientada a Objetos, ministrada pelo Departamento de Computação da Universidade Federal de Sergipe.
Apresenta os conceitos sobre herança.
Slides para aula de como acessar bancos de dados em Java usando JDBC.
A apresentação é curta, mas inclui as principais informações sobre a API JDBC (DataSource, Connection, Statement, PreparedStatement) e exemplos de código para explanação.
O código-fonte de exemplo está disponível no GitHub: https://github.com/utluiz/jdbc-example
Threading Made Easy! A Busy Developer’s Guide to Kotlin CoroutinesLauren Yew
Kotlin Coroutines is a powerful threading library for Kotlin, released by JetBrains in 2018. At The New York Times, we recently migrated our core libraries and parts of our News app from RxJava to Kotlin Coroutines. In this talk we’ll share lessons learned and best practices to understand, migrate to, and use Kotlin Coroutines & Flows.
In this presentation, you will learn:
What Coroutines are and how they function
How to use Kotlin Coroutines & Flows (with real world examples and demos)
Where and why you should use Coroutines & Flows in your app
How to avoid the pitfalls of Coroutines
Kotlin Coroutines vs. RxJava
Lessons learned from migrating to Kotlin Coroutines from RxJava in large legacy projects & libraries
By the end of this talk, you will be able to apply Kotlin Coroutines to your own app, run the provided sample code yourself, and convince your team to give Kotlin Coroutines a try!
JavaScript Events:
HTML events are "things" that happen to HTML elements. When JavaScript is used in HTML pages, JavaScript can "react" on these events.
What can JavaScript Do?
Event handlers can be used to handle, and verify, user input, user actions, and browser actions:
Things that should be done every time a page loads
Things that should be done when the page is closed
Action that should be performed when a user clicks a button
Content that should be verified when a user inputs data
A JavaScript function is a block of code designed to perform a particular task.
Why Functions?
You can reuse code: Define the code once, and use it many times. You can use the same code many times with different arguments, to produce different results.
Apresentação Monografia - Máquina de Comitê para previsão do preço médio diár...José Alexandre Macedo
Apresentação de monografia apresentada ao Curso de Bacharelado em Ciência da Computação da Universidade Federal de Alfenas por mim (José Alexandre Macedo) para obtenção do diploma de Bacharel.
Apresentação (2ªparte) aos alunos da Escola Padre António Morais da Fonseca (Murtosa) - Cursos Profissionais de Multimédia, durante a semana de informática de 2011, sobre o que aí vem na web - novas tecnologias, novas opções e novas oportunidades. Incluiu breve introdução ao Jquery.
Oficina realizada em 2011. Apresenta a linguagem javascript e os frameworks jQuery e jQuery UI. Contém vários exercícios práticos e demos além de referências úteis.
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
Apresentado para o Pop-ES e NPD da Ufes. Conheça o significado de DevOps e como ele pode apoiar entregas mais rápidas de software por meio da mudança de cultura, automatização entre outras...
Perspectivas do mobile, oportunidades no desenvolvimento mobile, mundo Android (história, arquitetura, componentes básicos), desenvolvimento Android primeiros passos.
Descubra como o engajamento com software livre pode ajudar a alcançar uma carreira de sucesso. Palestra apresentada no One Day Linux da Faculdade Pitágoras Guarapari.
Minicurso apresentado na Jornada de Atualização em Computação, Elétrica e Eletrônica (JACEE) da Universidade Federal do Espírito Santo (UFES). São apresentados o mercado para Android, o histórico da plataforma, a sua arquitetura, as diferenças do processo de desenvolvimento Java e Android e os componentes básicos de aplicação. Também são descritos os passos para criação de dois aplicativos do início ao fim.
Computação Móvel: Perspectivas, Oportunidades e DesenvolvimentoJosé Alexandre Macedo
Minicurso apresentado no II Composium da Universidade Federal de Itajubá (Unifei). Conheça nessa apresentação as perspectivas, oportunidades da área de computação móvel e aprenda a desenvolver aplicativos para Android.
2. O que é jQuery?
Biblioteca JavaScript rápida e concisa que
simplifica percorrer documentos HTML,
manipular eventos, criar animações e
interações Ajax para um desenvolvimento
web rápido
O jQuery foi desenvolvido para mudar a forma
com que você escreve JavaScript!
3. Por que utilizá-lo?
• Aumento da produtividade
• 24kb (versão 1.4.2) para fazer tudo o que você
precisa
– requisições AJAX
– iteração e criação de elementos DOM
– tratamento de eventos
• Cross-browser
– Funciona no Internet Explorer 6.0+, Firefox 2.0+, Safari
2.0+ e Opera 9.0+
• Open Source
6. Manipulação de Elementos DOM
• DOM = Document Object Model
• Padrão da W3C que define um conjunto de objetos para o
HTML e forma de acessá-los e manipulá-los
– Todos os elementos HTML, assim como seus textos e atributos
podem ser acessados via DOM
– Podem ser modificados, removidos, e novos elementos podem
ser criados
• O HTML DOM é uma plataforma independente de
linguagem
– A linguagem mais usada para acessá-lo é o JavaScript (onde o
jQuery entra para facilitar as coisas)
• Window, Document, Table, IFrame, Link, Input Button,
InputRadio e Select são alguns dos objetos DOM.
7. A função $ ()
• Função para selecionar um ou mais elementos
DOM em uma página HTML e manipulá-los de
diversas formas
• É possível fazer outras chamadas subsequentes
para filtrar ou adicionar mais objetos a seleção
atual e manipulá-los
• O $ por si só é um alias para a "classe" jQuery
8. Preparando para o Hello World
• Colocar dentro da tag <head>
<script src="jquery.js" type="text/javascript"></script>
<script src="meujs.js" type="text/javascript"></script>
• Colocar dentro do <body>
<h1>Hello World com jQuery!</h1>
<a id="first" href="#">Link 0</a>
<a name="top" href="#">Link 1</a><a name="bottom" href="#">Link
2</a>
<div id="div1">
</div>
9. Hello World no jQuery!
• No arquivo meujs.js adicionar
$(document).ready(function() {
$("a").click(function() {
alert("Olá mundo!");
});
});
10. Hello World no jQuery!
• Vamos dar uma olhada no que estamos
fazendo:
– $("a") seleciona todos os elementos <a>
– A função click() é um método do objeto jQuery.
Liga o evento clique a todos os elementos
selecionados e executa a função fornecida quando
o evento ocorre
– Similar ao código:
• <a href="#" onclick="alert('Olá mundo')">Link</a>
11. Exercicio 1
• $('div').add('p.quote').html('um pequeno teste!');
• $("#rodape").css('color', 'red');
– Obtém o elemento com ID igual a rodapé e altera sua cor para
vermelho.
• $("button.classButtons").click(function() { alert('Bom Dia') });
– Obtém todos os elementos do tipo button com classe classButtons e
vincula o evento onclick (ao clicar) desse elemento à uma função que
exibe uma caixa de diálogo (alert)
• $('td').css("color","blue");
– Obtém todos os elementos td (células de tabelas) e para cada
elemento encontrado executa uma função que exibe uma caixa de
diálogo (alert) com ID do elemento
• $("tr:first").css("font-style","italic");
– Obtém apenas o primeiro elemento tr encontrado
13. Seleção Básica
• #id. Seleciona o elemento com determinado id
– Exemplo: $("#primDiv").css("background-color","black");
• elemento. Seleção pelo elemento HTML
– Exemplo: $("div").css("border","9px double red");
• .classe. Elementos de determinada classe
– Exemplo: $(".destaque").css("fontWeight","bolder");
• .classe.classe. Elementos que pertençam a ambas classes.
– Exemplo: $(".destaque. especial").css("color","red");
• *. Todos elementos
– Exemplo: $("*").css("color","black");
• Combinação dos anteriores com virgula
– Exemplo: $("div,span,p.olho").css("margin","3px 0 0 0");
14. Seleção Hierarquia
• Ascendente Descendente. Seleção de descendentes de
determinado elemento
– Exemplo: $("form label").css("color","gray");
• Pai > Filho. Seleção de elementos-filho de um determinado
elemento
– Exemplo: $("#conteudo > *") .css("border","2px solid green");
• Anterior + Seguinte. Seleção de elemento que segue-se a
um determinado elemento
– Exemplo: $("label + input").css("border","1px dotted blue");
• Anterior ~ Irmãos. Seleção de elementos-irmãos após
determinado elemento
– Exemplo: $("#inicio ~ div").css("color","aquamarine");
15. Seleção com Filtros
• :first. Primeiro elemento da seleção
– Exemplo: $("tr:first").css("font-style","italic");
• :last. Inverso de :first
• :not(seletor). Filtra elementos que não se encaixam em determinado seletor
– Exemplo: $("input:not(:checked) + span") .css("border","1px dotted darkSalmon");
• :even. Elementos com índice par, considerado que o índice inicia em zero.
– Exemplo: $("tr:even").css("background-color","lavender");
• :odd. Inverso de :even
• :eq(índice). Determinado elemento pelo seu índice
– Exemplo: $("td:eq(2)").css("background-color","MintCream");
• :gt(índice). Todos elementos com índice superior a determinado valor.
– Exemplo: $("p:gt(1)").hide();
• :lt(índice). Inverso de :gt(índice)
• :header. Todos elementos header
– Exemplo: $(":header").css("color","navy");
• :animated. Todos elementos que estão sendo animados no momento da seleção.
16. Seleção com Filtros de Conteúdo
• :contains(texto). Seleciona elementos que contenha
determinado texto
– Exemplo: $("p:contains('JQuery')").css("text-decoration","underline");
• :empty. Seleciona elementos sem filhos
– Exemplo: $("td:empty").css("background-color","MediumOrchid");
• :has(seletor). Seleciona elementos que contenham ao
menos um determinado elemento que combine com o
seletor informado
– Exemplo: $("div:has(p)").addClass("grade");
• :parent. Seleciona elementos que tenham elementos filhos
– Exemplo: $("td:parent").hide();
17. Seleção com Filtros de Visibilidade
• :hidden: Seleciona elementos ocultados
– Exemplo: $("div:hidden").show(2000);
• :visible. Inverso de :hidden
18. Seleção com Filtros de Atributos
• [atributo]. Elementos que contenham determinado atributo
– Exemplo: $("div[id]").css("color","lime");
• [atributo=valor]. Elementos com atributo que tenham determinado valor
– Exemplo: $("p[class='ocultar']").hide(3000);
• [atributo!=valor]. Elementos com atributo que não tenham determinado
valor
• [atributo^=valor]. Elementos com atributo que inicie com determinado
valor
– Exemplo: $("input[name^='req']").val("Requerido");
• [atributo$=valor]. Elementos com atributo que termine com determinado
valor
• [atributo*=valor]. Elementos com atributo que contenha determinado
valor
• Estes filtros podem ser combinados como neste exemplo:
$("input[type='text'][id]").css("color","Darkred");
19. Seleção por Elementos do formulário
• Também podem ser selecionados os elementos de formulários
como
– :input
– :text
– :password
– :radio
– :checkbox
– :submit
– :image
– :reset
– :button
– :file
• Exemplo
– $("form :checkbox").css("border","2px solid LightSlateGray");
20. Seleção por Estado dos Elementos de
Formulário
• Os elementos de formulários podem ter sua
seleção refinada pelo estado destes elementos
São exemplos
• :enabled
• :disabled
• :checked
• :selected
• Um exemplo de uso seria
– alert($("input:checked").length + " selecionados");
21. Exercicio 2 - Efeitos
• Dentro da tag <body>
<h1>Exercicio 2 com jQuery</h1>
<button id="btn1">Show div</button>
<button id="btn2">Desaparecer div</button>
<div class="texto" id="div1">
<p> Caixa de texto que aparecerá e desaparecerá
com as funções do jQuery!</p>
</div>
24. Preparando o terreno
• Criar novo projeto Php
• Adicionar biblioteca jQuery
• Importar o caminho da biblioteca no <head>
• Criar uma página que receberá o código html
<button id="btn1">Carregar Feeds por ajax</button><div
class="texto" id="feeds">Ao carregar os feedseste texto
irá sumir!</div>
25. • Com jQuery realizar requisições ajax
tornou-se uma tarefa extramente trivial
– Adicionar no arquivo meujs.js
• $("#btn1").click(function() {
$("#feeds").load("feeds.html");
});
• Realiza uma requisição GET para feeds.html e insere o
resultado no elemento com ID igual a feeds
26. • Utilizando o post para enviar dados
• Adicionar o código html
<p>Envie algum dado por ajax!</p>
<input type="text" id="myInputText"/><br/>
<button id="btn2">Enviar texto por post</button>
<div class="texto" id="feedsPost">
Ao carregar os feeds(por ajax) este texto irá sumir!
</div>
27. • Utilizando o post para enviar dados
• Adicionar no meujs.js
$("#btn2").click(function() {
$("#feedsPost").load("pagina.php", {
dado: $("#myInputText").val()
}, function(){
alert("Fim do carregamento dos dados!");
});
});
– Realiza uma requisição POST à página feeds.php passando o parâmetro
dado com o valor dadopassado
28.
29. • Complemento para jQuery
• Conjunto de componentes para construção de interfaces gráficas
• Construção de componentes com funcionalidade de arrastar e
soltar (drag and drop)
• Componentes que podem ter seus tamanhos alterados (resizable)
• Componentes tradicionais
– Barras de progresso
– Accordion
– Calendário (date picker)
– Caixas de diálogo e confirmação
– Tab panels
– Inputs com auto-complete
• Com a mesma simplicidade anteriormente apresentada!
30. Preparando para utilizar jQuery UI
• Novo Projeto PHP
• Adicionar na tag <head>
<link type="text/css" href="libs/jquery-ui/css/ui-lightness/jquery-ui-
1.8.1.custom.css" rel="stylesheet" />
<script src="libs/jquery.js" type="text/javascript"></script>
<script type="text/javascript" src="libs/jquery-ui/js/jquery-ui-
1.8.1.custom.min.js"></script>
<script src="libs/meujs.js" type="text/javascript"></script>
• Para cada exercício criar uma nova página
31. UI - Abas com conteúdo estático
<div id="abas">
No arquivo meujs.js
<ul>
<li><a href="#panel1">Panel 1</a></li>
<li><a href="#panel2">Panel 2</a></li>
<li><a href="#panel3">Panel 3</a></li> $("#abas").tabs();
</ul>
<div id="panel1">
<p>Conteudo do painel 1</p>
</div>
<div id="panel2">
<p>Conteudo do painel 2</p>
</div>
<div id="panel3">
<p>Conteudo do painel 3</p>
</div>
</div>
32. UI - Abas com conteúdo via ajax
<div id="abas"> No arquivo meujs.js
<ul>
<li><a
href="pag.php?dado=id1">Show $("#abas").tabs();
Time</a></li>
<li><a href="pag.php?dado=id2">
Show Small Numbers</a></li>
<li><a href="pag.php?dado=id3">
Show Big Numbers</a></li>
</ul>
</div>