Reta Final BB Java e Mobile Ios
Reta Final BB Java e Mobile Ios
@canetas.pretas
@canetaspretas
@lacerdaphjobs
DICAS E AGENDA!
https://www.instagram.com/p/B74PyOzj5V3/
https://www.estrategiaconcursos.com.br/blog/prazer-um-eterno-estudante/
11630837636 - LUCIANA LEANDRO DA SILVA
#JAVA
Jshell
módulo - JIGSAW
- JPMS (plataform module)
private methods interfaces
Reactive Streams
HTTP Client
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
Java 10
https://www.techworld.com/developers/java-10-features-whats-new-in
-java-10-3680317/
}
var - http://openjdk.java.net/jeps/286
Docker -
https://medium.com/@jnsrikanth/docker-support-in-java-10-fbff28a31
827
LTS
javac is dead
Strings
strip x trim
repeat
https://www.oracle.com/java/techno
logies/java-se-support-roadmap.ht
ml
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
AULA JAVAEE / JAKARTAEE
JavaEE / JakartaEE
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
Entendo a especificação
JavaEE / JakartaEE
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
Implementações
JavaEE / JakartaEE
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
Servlet Containers
JavaEE / JakartaEE
https://www.eclipse.org/jetty/documentation/current/introduction.html#what-is-jetty
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
JavaEE x JavaSE
JavaEE / JakartaEE
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
JavaSE != JavaEE
JavaEE / JakartaEE
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
JavaSE != JavaEE
JavaEE / JakartaEE
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
@estrategiaconcursosti
SERVLET
Servlet
Servlet with annotation | servlet 3 - javatpoint
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
Resumo Servlet
● Extensão da classe HttpServlet: Para criar uma servlet, você precisa criar uma classe Java que estenda a classe
HttpServlet. Essa classe fornece métodos que permitem que você processe solicitações HTTP e envie respostas de
volta ao cliente.
● Método doGet() e doPost(): Esses são dois dos principais métodos fornecidos pela classe HttpServlet. O método
doGet() é usado para processar solicitações HTTP GET, enquanto o método doPost() é usado para processar
solicitações HTTP POST.
● Ciclo de vida da servlet: Uma servlet tem um ciclo de vida que inclui a inicialização, processamento de solicitações
e destruição. Durante a inicialização, a servlet pode ser configurada para lidar com solicitações específicas.
Durante o processamento de solicitações, a servlet recebe uma solicitação HTTP e envia uma resposta HTTP.
Durante a destruição, a servlet é liberada da memória.
● Objeto HttpServletRequest: Esse objeto fornece informações sobre a solicitação HTTP, como o método HTTP
usado, os parâmetros da solicitação e o cabeçalho da solicitação.
● Objeto HttpServletResponse: Esse objeto é usado para enviar a resposta HTTP de volta ao cliente. Ele fornece
métodos para definir o código de status da resposta, os cabeçalhos da resposta e o conteúdo da resposta.
● Mapeamento de URL: Uma servlet é mapeada para uma URL específica. Quando o servidor web recebe uma
solicitação para essa URL, ele direciona a solicitação para a servlet correspondente.
JSP
JSP
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
JSP “transformer”
JSP
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
Resumo JSP
O JavaServer Pages (JSP) é uma tecnologia da plataforma Java que permite criar páginas web dinâmicas e interativas. Os principais pontos
do JSP são:
● Linguagem de marcação: O JSP é baseado em HTML, que é a linguagem padrão para a criação de páginas web. O JSP também usa
a linguagem de marcação do XML para definir os elementos dinâmicos.
● Inserção de código Java: O JSP permite a inserção de código Java nas páginas web para torná-las dinâmicas. O código Java é
inserido entre tags especiais <% e %>.
● JSTL: O JSP usa a Biblioteca de Tags JSTL (JavaServer Pages Standard Tag Library) para adicionar recursos adicionais de tags.
● MVC: O JSP é usado em conjunto com o modelo MVC (Model-View-Controller) para separar a lógica de negócios da apresentação
dos dados. A Servlet age como o controlador, enquanto o JSP age como a visualização.
● Acesso a banco de dados: O JSP permite o acesso a bancos de dados através do JDBC (Java Database Connectivity).
● Acesso a objetos: O JSP permite o acesso a objetos através do JNDI (Java Naming and Directory Interface).
● Compatibilidade com Servlets: O JSP é uma extensão da tecnologia Servlet, e pode ser usado com outras tecnologias Servlet, como
o Struts e o Spring.
● Suporte a internacionalização: O JSP suporta internacionalização de páginas web através da Biblioteca de Tags JSTL.
● Desempenho: O JSP tem um bom desempenho porque usa a técnica de pré-compilação para converter as páginas JSP em Servlets.
● Facilidade de uso: O JSP é fácil de usar e aprender porque usa a sintaxe HTML familiar e pode ser usado com outras tecnologias
Java.
JSP
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
@estrategiaconcursosti
JPA
ORM/JPA/Hibernate
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
Criteria Ok
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Country> q = cb.createQuery(Country.class);
Root<Country> c = q.from(Country.class);
q.select(c);
ORM/JPA/Hibernate
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
Criteria Hell
CriteriaBuilder builder = em.getCriteriaBuilder();
CriteriaQuery<Double> criteria = builder.createQuery(Double.class);
Root<Venda> root = criteria.from(Venda.class);
Path<Double> valor = root.get("valor");
Expression<Double> soma = builder.sum(valor);
criteria.select(soma);
TypedQuery<Double> query = em.createQuery(criteria);
Double total = query.getSingleResult();
ORM/JPA/Hibernate
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
Easy Criteria (fora do JPA)
List<Employee> employees = query.select(employee)
.where(employee.fullName.like("John%"))
.orderBy(employee.age.asc())
.limit(20, 10)
.getResultList();
https://github.com/sveryovka/easy-criteria
ORM/JPA/Hibernate
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
QueryDSL (fora do JPA)
List<Person> persons = queryFactory.selectFrom(person)
.where(
person.firstName.eq("John"),
person.lastName.eq("Doe"))
.fetch();
http://querydsl.com/
ORM/JPA/Hibernate
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
QUESTÕES
Alternativas
D public interface S { public static int x=10; public static int y=20; ● Interface attributes are by
default public, static and
public static void op1() { x++; y++; System.out.println(x+y); } }
final
E public abstract interface T { static int x=20; public int y=20;
{ sb*=2; a+=1; }
static { sb+=8; }
public class Main { public static void main(String[] args) { new Va(1).print(); }}
Entretanto, a maioria das linguagens de programação orientadas a objetos disponibilizam um mecanismo para que o encapsulamento possa
ser atenuado sob certas condições. Por exemplo, as variáveis de instância de uma classe podem ser livremente acessadas pelos métodos de
instância de todas as suas subclasses.
A protegidas
B estáticas
C globais
D automáticas
E virtuais
EJB
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
Cesgranrio/PETRO/2010
EJB
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
Cesgranrio/PETRO/2010
O código acima apresenta um(a)
A EJB padrão 2.1 com informação de estado.
B bean de entidade para a tabela Produto.
C classe POJO que segue o padrão JavaBean.
D classe que utiliza JMS.
E classe que implementa o padrão FrontController
EJB
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
Cesgranrio/Petro/2012
Em aplicações Java Enterprise Edition 6, é comum o uso da API JPA. Nessa API,
há o conceito de classe de entidade (entity class).
Por definição, uma classe de entidade deve, obrigatoriamente, cumprir os
seguintes requisitos, EXCETO
A estar anotada com a anotação Entity ou representada em um descritor XML.
B não ser qualificada com final.
C ter as variáveis de instância persistentes qualificadas com private, protected, ou
package-private.
D ter ao menos um construtor, este sem argumentos (no-arg constructor).
E ter o mesmo nome da tabela correspondente do banco de dados
JSP - questões
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
Cesgranrio/Petro/2011
I - EJB fornece ao programador Java EE os seguintes tipos fundamentais: Entity
Beans, Session Beans e Message Driven Beans.
II - JPA é parte integrante da especificação EJB e serve para definir as interfaces
de acesso local e/ou remoto de um componente EJB.
III - Um servidor de aplicações Java EE oferece vários recursos ao desenvolvedor
como pool de conexão, controle de transação, segurança e gerenciamento de
recursos.
IV - Uma diferença entre as tecnologias Servlets e JSP é que, ao contrário da
segunda, a primeira permite o armazenamento do estado da aplicação em
variáveis de sessão
JSP - questões
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
Cesgranrio/PETRO/2006
assinale a afirmativa INCORRETA.
A A arquitetura J2EE Connector define um conjunto de contratos no
nível de sistema entre um servidor de aplicação e o EIS (Enterprise
Information System), entre os quais, o Connection Management, que
permite que um pool de servidores de aplicação se conecte a um EIS
subjacente e que componentes da aplicação se conectem a um EIS.
B Uma prática que pode melhorar o desempenho de EJBs consiste em
empacotar beans de entidade em um bean de sessão para transformar
chamadas EJB remotas em uma chamada de bean de sessão remota e
várias locais (pattern conhecido como fachada de sessão).
EJB
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
Cesgranrio/PETRO/2006
C Um descritor de instalação, localizado dentro de um arquivo Java Archive (JAR), permite que
as propriedades de um EJB sejam mantidas fora do código Java e que o desenvolvedor do
bean torne as informações sobre o bean disponíveis para o montador da aplicação e para o
instalador do bean.
D Para se garantir a entrega de uma mensagem para um único destinatário, o modelo de troca
de mensagens publish/subscribe do JMS com o modo de entrega persistente e um assinante
durável é mais indicado, enquanto que se a mensagem for para vários destinatários, pode-se
utilizar o modelo ponto a ponto do JMS com um modo de entrega persistente.
EJB
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
11630837636 - LUCIANA LEANDRO DA SILVA
CESGRANRIO/Caixa/2021
As classes Java a seguir pertencem ao pacote default e foram incluídas no
arquivo Main.java.
O que será exibido no console quando o método main for executado?
A3
B4
C 19
D 27
E 31
return “abcdefghijklmnop“; }
Online Java Compiler - Online Java Editor -
public String ini(String s, int cpr) { Java Code Online (jdoodle.com)
}
A Single Java Program Can Contain How
public String fin(String s, int cpr) { many Classes? - Scaler Topics
}
Can We Override Static Method in Java -
Javatpoint
return “0123456789ABCDEF“; }
System.out.println(o.fin(o.getStr(), 5));
{ this.codigo = codigo;
this.nome = nome; }
https://techcrunch.com/2017/05/17/google-makes-kotlin-a-first-class-language-for-writing-a
Prof. Raphael Lacerda
ndroid-apps
11630837636 - LUCIANA LEANDRO DA SILVA
must
loved
language
A exaustão
B integração
C modificação
D mutantes
E regressão
Que fragmento de código, em Java, contendo uma estrutura de repetição, é adequado para substituí-la?
A public static int alternativaA(int a) { int s = 0; for (int i=a;i>2;i--) { s++; } return s; }
B public static int alternativaB(int a) { int s = 0; for (int i=a;i<2 && i>0;i--) { s++; } return s; }
C public static int alternativaC(int a) { int s = 0; while (a>=2) { a-=2; s++; } return
s; }
D public static int alternativaD(int a) { int s = 0; do { a-=2; s++; } while (a>0 && a<=2);
return s; }
E public static int alternativaE(int a) { int s = 0; do { a-=2; s++; } while (a>0 && a<2);
return s; }
Por meio desse conceito, é possível escrever métodos, em uma mesma classe, os quais
A definem apenas a existência do método que deve ser implementado em uma classe mais
especializada.
A1
B2
C3
D4
E5
A System.out.println(a);
B System.out.println(Classe.a);
C System.out.println(Integer.parseInt(a));
D System.out.println(super.a);
E System.out.println(this.a);
JSP
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
Cesgranrio/BB/2018
JSP
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
CESGRANRIO/UNIRIO/2019
As classes e interfaces Java a seguir ocupam arquivos distintos, situados no pacote default
void a_m01();
void a_m02();
void b_m01();
Que fragmento de código Python 3 deve ser usado para selecionar, apenas, essas quatro colunas do
dataframe dp?
Para construir um arquivo YAML, que informe os passos que o Ansible realizará
automaticamente na conexão com os servidores que fazem parte do Cluster, além de exe-
cutar um conjunto de tarefas solicitadas, o administrador desse servidor deve seguir o padrão
(A) Apache-Start
(B) Nodel
(C) Playbook
(D) Taskbook
(E) Tower
Devops https://stackshare.io/stackups/ansible-vs-terraform
Prof. Raphael Lacerda
https://logz.io/blog/terraform-vs-ansible-vs-puppet/
11630837636 - LUCIANA LEANDRO DA SILVA
https://medium.com/edureka/ansible-cheat-sheet-guide-5fe615ad65c0
Devops
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
code na infra
Devops
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
code na infra
Devops
Prof. Raphael Lacerda
11630837636 - LUCIANA LEANDRO DA SILVA
Palpites
https://www.digitalocean.com/com
munity/cheatsheets/how-to-use-ans
ible-cheat-sheet-guide
Exemplo:
Considere que, na função a ser escrita, duas aspas simples seguidas (‘‘) representam uma string vazia, e duas aspas
simples com um espaço entre elas (‘ ‘) representam um caracter de espaço em branco.
Esse ataque bem-sucedido demonstra que a aplicação Web do banco está vulnerável ao ataque de
A SQL Injection
B XPATH Injection
C Buffer Overflow
D CSRF
E XSS
// definir x
Que fragmento de código apresenta uma versão compilável e executável da definição de x que poderia
aparecer no lugar do comentário “// definir x” ?
(A) const x = 1;
A o append em jQuery não pode ser utilizado para containers vazios; deveria ter sido substituído por html.
B o objeto identificado por idLugar ainda não existe quando o script é executado.
E os métodos getHours e getMinutes estão escritos no plural, quando deveriam ser, respectivamente, getHour e getMinute.
var studentGrade;
var sum = 0;
sum+=number;
Após análise do trecho, verifica-se que será armazenado na variável sum a soma de todos os números.
A pares entre 2 e 98
C ímpares entre 2 e 98
E entre 2 e 100
xmlhttp=new XMLHttpRequest() ;
Que fragmento de código corresponde aos dois passos necessários para enviar uma requisição a um servidor?
A xmlhttp.connect("ajax_info.txt",true); xmlhttp.get( );
B xmlhttp.connect("GET","ajax_info.txt",true); xmlhttp.send( );
C xmlhttp.initialize("GET","ajax_info.txt",true); xmlhttp.send( );
D xmlhttp.open("ajax_info.txt",true); xmlhttp.get( );
E xmlhttp.open("GET","ajax_info.txt",true); xmlhttp.send( );
Fundamentos de aplicativos |
Android Components with Examples - DEV
Desenvolvedores Android | Android
Community
Developers
11630837636 - LUCIANA LEANDRO DA SILVA
UFRPE/2022
O framework Bootstrap possui uma abordagem conhecida como mobile first, a qual é uma
estratégia que otimiza o código para dispositivos móveis inicialmente. Dentro do contexto de
interfaces gráficas de um website, assinale a alternativa que contém a tag responsável por
garantir uma renderização adequada do site, nos mais variados tamanhos de dispositivos
eletrônicos.
I. O método onPreExecute() da classe AsyncTask deve ser executado manualmente para dar
início ao Thread.
IV. A classe AsyncTask contém métodos para atualizar o andamento (progresso) de uma tarefa,
por exemplo, o progresso de um download.
I. Nas versões mais atuais do Android, se o código fizer uma operação de I/O na thread principal, o
sistema vai lançar a exceção NetWorkOnMainThreadException.
II. No Android, cada aplicação é executada em um único processo e cada processo, por sua vez, tem uma
Thread dedicada, a qual é responsável por desenhar e tratar todos os eventos da interface gráfica e é
conhecida como Main Thread ou UI Thread.
III. A classe Handler é utilizada para enviar uma mensagem para ser processada pela UI Thread que,
geralmente, é um código que vai atualizar a view.
IV. A Main Thread é utilizada para gerenciar todos os eventos e funções da aplicação e a UI Thread é
responsável apenas pela interface da aplicação.
I. Fragment é utilizado para dividir uma Activity em várias partes, porém o fragment não tem controle
sobre os eventos e não consegue gerenciar seu próprio conteúdo.
II. O Ciclo de vida de um fragment conta com o método onAttach(activity) e é chamado logo depois de
um fragment ser associado com a activity, o que acontece assim que a activity infla o layout do fragment
pela tag ou o fragment é adicionado dinamicamente via FragmentTransaction.
III. O método onDetach() é chamado para indicar que o fragment não está mais sendo utilizado e será
destruído.
IV. A API do Fragments possui a classe android.app.FragmentTransaction, que é utilizada para adicionar,
remover ou substituir os fragments dinamicamente no layout.
I. Fragment é utilizado para dividir uma Activity em várias partes, porém o fragment não tem controle
sobre os eventos e não consegue gerenciar seu próprio conteúdo.
II. O Ciclo de vida de um fragment conta com o método onAttach(activity) e é chamado logo depois de
um fragment ser associado com a activity, o que acontece assim que a activity infla o layout do fragment
pela tag ou o fragment é adicionado dinamicamente via FragmentTransaction.
III. O método onDetach() é chamado para indicar que o fragment não está mais sendo utilizado e será
destruído.
IV. A API do Fragments possui a classe android.app.FragmentTransaction, que é utilizada para adicionar,
remover ou substituir os fragments dinamicamente no layout.
Fragment lifecycle | Android Developers
A onStart() é chamado quando a activity está ficando visível ao usuário e já tem uma view.
B onResume() é chamado quando uma activity foi parada temporariamente e está sendo
iniciada outra vez.
C onStop() é chamado sempre que a tela da activity fechar. Isso acontece quando o usuário
pressiona o botão Home ou botão voltar para sair da aplicação ou, ainda, quando recebe uma
ligação no telefone. Ele é chamado para salvar o estado da aplicação.
D onClose() literalmente encerra a execução de uma activity. Ele pode ser chamado
automaticamente pelo sistema operacional para liberar recursos ou pode ser chamado pela
aplicação pelo método finish() da classe activity.
II. a classe Activity deve sobrescrever o método onCreate(bundle). Esse método é obrigatório e
responsável por realizar a inicialização necessária para executar a aplicação.
I. Android SDK é o software utilizado para desenvolver aplicações no Android, que tem um emulador para
simular o dispositivo, ferramentas utilitárias e uma API completa para a linguagem Java, com todas as
classes necessárias para desenvolver aplicações.
II. Como existem muitas versões do sistema operacional Android, existe um identificador de cada uma
dessas plataformas que se chama API Level.
IV. O Android Studio conta com um utilitário chamado SDK Manager onde é possível baixar todas as
plataformas do Android e suas documentações, drive USB do Google para conectar um dispositivo na
USB, bibliotecas de compatibilidade, bibliotecas do Google Play Services etc.
CONCEITOS
BÁSICOS
OBJECTIVE C
VS
SWIFT
SINTAXE
STRINGS
● funções básicas
○ == , < , >
○ uppercased() | Apple Developer Documentation
○ substring - How does String substring work in Swift - Stack Overflow - Why cannot subscript String with an Int in
Swift | by Banghua Zhao | Medium
CONDICIONAIS
}
Control Flow | Documentation (swift.org)
11630837636 - LUCIANA LEANDRO DA SILVA
Default obrigatório?
● Swift only truly verifies that a switch block is exhaustive when
working with enum types
○ ou seja, não é mas é!
● switch must be exhaustive, consider adding a default clause - Evolution / Discussion - Swift Forums
ios - Exhaustive condition of switch case in This default case is indicated by the
Swift - Stack Overflow default keyword, and must always
appear last.
LOOPS
DATA STRUCTURES
FUNCTIONS
CLOSURES
STRUCTURES
APROVAÇÃO
@
oscanetaspretas