HTML Css Js
HTML Css Js
HTML Css Js
O L V IM
S E N V
D E
W E B L
IC IA
IN
Developer by:
RAFAEL ANGRIZANI
01
02
06
14
21
61
91
114
131
PRIMEIROS PASSOS 03
02
Trabalha com a criação de
aplicativos para
celular, desenvolve trabalhos
de montagem, depuração e
testes de programas,
executando serviços de
manutenção nos programas já
desenvolvidos.
03
Trabalha com instruções
lógicas para jogos, pode
trabalhar com
desenvolvimento de jogos
para computador, smartphone,
ou jogos que rodam em
websites.
04
FRONT-END
Trabalha com o
desenvolvimento de sites,
portais, fóruns e aplicações
voltadas ao ambiente da
internet. Normalmente estes
serviços podem ser acessados
através de um navegador e
ficam hospedados em um
servidor web.O programador
BACK-END
pode ser Front-end(HTML, CSS e
JS) ou Back-end(JS, PHP,
PYTHON, JAVA, etc)
05
06
1 - PASSO
Cliente Tal
07
2 - PASSO
09
4 - PASSO
10
5 -PASSO
11
6 - PASSO
FIM 12
EN T O
O L V IM
S E N V
D E
W E B L
IC IA
IN
Developer by:
RAFAEL ANGRIZANI
14
FERRAMENTAS DESKTOP NAVEGADORES
Firefox
Visual Studio Code
Google
Atom
Safari
Intellij
netbeans Edge
Brackets Brave
15
EDITOR DE TEXTO
E EXTENSÕES
https://code.visualstudio.com/
16
BROWSERS
https://www.mozilla.org/pt-BR/firefox/new/
https://www.google.com/intl/pt-BR/chrome/
17
LOCAL / MÁQUINA
https://babeljs.io/ https://git-scm.com/
https://www.npmjs.com/
https://nodejs.org/en/
https://github.com/
18
FONTE
https://www.w3schools.com/html/default.asp BIBLIOGRAFICA
https://developer.mozilla.org/pt-BR/docs/Web/HTML
19
Estudo Básico
ORGANIZAÇÃO DOS
ARQUIVOS curso index.html
style.css
public index.html
ccs
app.js style.css
img.jpg JS
app.js
img img.jpg
Os arquivos html devem ser Os arquivos css devem ser Os arquivos javascript
salvos com a extensão .html salvos com a extensão .css e devem ser salvos com a
e seu arquivo principal seu arquivo principal extensão .js e seu
recebe o nome de geralmente recebe o nome de arquivo principal
index.html style.css geralmente recebe o
nome de app.js
20
21
COMPOSIÇÃO BÁSICA DE
UMA PÁGINA WEB
Linguagem de Marcação
Descreve a estrutura de uma
página web, os seus dados e
informações
https://www.plataformadev.com.br
Linguagem de Estilo
Personalização da forma como os
dados são apresentados ao
cliente
Linguagem de Programação
de Scripts, gera para a página
web mais dinamisno e interação
com o cliente
22
Tim Berners-Lee
1989
23
TAG SEM CORPO
Nome da Tag
Menor que Maior que
24
TAGS COM CORPO
TAG de Abertura
Nome da Tag
Nome da Tag
TAG de Fechamento
25
Abertura da TAG
26
Abertura da TAG
Conteúdo
Conteúdo
Conteúdo a ser mostrado
Conteúdo Podendo ser imagens, vídeo, texto, etc
Conteúdo
Conteúdo
Fechamento da TAG
27
FECHAMENTO DAS TAGS
28
ELEMENTO HTML
Um elemento refere-se a um par de tags e seu conteúdo, ou a uma tag
"vazia", que não requer tag de fechamento ou conteúdo, basado na idéiade
aninhamentos, alguns elementos podem ter ainda outros elementos
Elemento
..texto..
29
ATRIBUTOS
Atributos são informações adicionais sobre o elemento, e devem ser
colocados sempre na tag de abertura
Valor do Atributo
Atributo da TAG
texto
Nome da TAG
30
ATRIBUTOS
IDENTIFICADORES
Valor do Atributo ,
Nome definido pelo usuário,
pode repetir
Atributo da TAG
Que identifica um grupo
de elementos
texto
Nome da TAG
31
Valor do Atributo ,
Nome definido pelo usuário,
Não deve repetir, deve
manter-se único
Atributo da TAG,
Identificador ÚNICO
Do elemento
texto
Nome da TAG
32
ESTRUTURA BÁSICA HTML
33
ALGUMAS DAS TAGS MAIS USADAS
38
BANCO DE IMAGENS GRÁTIS
https://www.freepik.es/
https://pt.freeimages.com https://pixabay.com/pt/
https://www.flickr.com/ https://pixabay.com/pt/
39
É usado para separar o conteúdo, ou definir uma alteração no fluxo
do mesmo
Texto em negrito
Icones
40
Texto em negrito com significado especial
Texto marcado
Texto pequeno
Texto excluído
41
Texto subscrito
Texto sobrescrito
Texto enfatizado
42
Define uma seção de texto que é citada de outra fonte, os navegadores
aplicam um recuo ao texto
43
Define uma tabela no documento
44
Agrupa o conteúdo do rodapé, geralmente usado com <tbody> e <tfoot>, e
depois do <caption>
45
<table>
<thead>
<tr>
<th> Header 1 </th>
<th> Header 2 </th>
</tr>
</thead>
<tfoot>
<tr>
<td> Footer 1 </td>
<td> Footer 2 </td>
</tr>
</tfoot>
<tbody>
<tr> OBS: Por padrão o navegador não caregará os
elementos com esta cores, precisamos do CSS
<td> Body 1 </td>
<td> Body 2 </td>
</tr>
</tbody>
</table>
46
Define uma lista desordenada
47
48
Uma Seção de um documento que permite ao usuário através de
controles interativos e campos enviar informações à um servidor
Nome do método HTTP que será usado para envio do formulário, pode ser
GET (via URL), ou POST(incorporado no corpo do formulário)
49
Agrupa elementos dentro de um
formulário
50
Representa uma legenda par um determinado tipo de entrada
para dado em um formulário
Enviar
Elemento de Bloco 02
- Elementos Inline, ocupam
apenas o espaço do conteúdo Inline 01 Inline 02 Inline 03
correspondente
Elemento de Bloco 03
Inline 04 display:block
53
HTML SEMÂNTICO
54
<HEADER>
Representa o cabeçalho de um documento pode conter mais
de 01 por documento, não pode ser filho da Tag Footer
<article>
<header>
<h1> Mais importante Título aqui </h1>
<h3> Menos importante titulo aqui </h3>
<p> Alguma informação adicional aqui </p>
</header>
<p> Informações pertinentes aqui </p>
</article>
55
<NAV>
Representa o agrupamento Principal de links de
navegação
<nav>
<ul>
<li><a href=”#”> pagina 1 </a></li>
<li><a href=”#”> pagina 2 </a></li>
<li><a href=”#”> pagina 3 </a></li>
<li><a href=”#”> pagina 4 </a></li>
</ul>
</nav>
56
<SECTION>
Representa uma seção de conteúdos em comum dentro do documento, como
capítulos, cabeçalhos, rodapés e geralmente possui título entre h1 até h6
</section>
57
<ARTICLE>
Declara um conteúdo que não precisa de outro para fazer sentido, pois especifica um
conteúdo independente, deve fazer sentido por si só
<article>
<h1> Mais importante Título aqui </h1>
<p> Alguma informação adicional aqui </p>
</article>
<article>
<h1> Mais importante Título aqui </h1>
<p> Alguma informação adicional aqui </p>
</article>
<article>
<h1> Mais importante Título aqui </h1>
<p> Alguma informação adicional aqui </p>
</article>
58
<ASIDE>
Representa um conteúdo de apoio, ao conteúdo ao principal, pode ser colocado como
uma barra lateral em um artigo, geralmente coloca-se links para outros conteúdos
complementares
<aside>
<ul>
<li><a href=”#”> link 1 </a></li>
<li><a href=”#”> link 2 </a></li>
<li><a href=”#”> link 3 </a></li>
<li><a href=”#”> link 4 </a></li>
</ul>
</aside>
<aside>
<h1> Título sobre a informação aqui </h1>
<p> Alguma descrição sobre a informação aqui </p>
</aside>
59
<FOOTER>
Representa o rodapé de um documento ou seção, nele pode conter elementos
referentes ao desenvolvedor, mapa do site, formulários de contato, etc. ou
informações sobre sua seção contida.
<footer>
<h1> Mapa do Site </h1>
<ul>
<li><a href=”#”> pagina 1 </a></li>
<li><a href=”#”> pagina 2 </a></li>
<li><a href=”#”> pagina 3 </a></li>
<li><a href=”#”> pagina 4 </a></li>
</ul>
</footer>
60
INTRODUÇÃO ao
61
Håkon Wium Lie
1996
Classes
Id’s
Tags
62
Código CSS sendo chamado de arquivo externo
LOCALIZAÇÃO HTML
h1{
color: blue;
}
</style>
63
SELETOR DE TAG
tag HTML
conteúdo
seletor CSS
resultado
Valor da Propriedade
conteúdo
Propriedade
64
SELETOR DE ID
tag HTML
conteúdo
conteúdo
Valor da Propriedade
Propriedade
65
SELETOR DE ATRIBUTO EXATO
tag HTML
conteúdo
Valor da Propriedade
Propriedade
66
SELETOR HIERÁRQUICO
tag HTML
resultado
seletor CSS
Valor da Propriedade
Propriedade
67
ESTUDO DAS CORES
Ao se trabalhar com cores no CSS, temos algumas alternativas de declaração, podemos usar
a notação:
HEXADECIMAL - usa-se no formato # rr gg bb (red, green, blue) são valores
hexadecimais entre 00 e ff (igual decimal 0 até 255)
RGB - (red, green, blue), cada parâmetro define a intensidade da cor entre 0 e 255,
pode usar o valor de alfa também com RGBA(red, green, blue, alfa) o alfa vai de
0,0(totalmente transparente) até 1,0(nenhum pojco transparente)
HSL - (matiz, saturação e luminosidade) matiz é um grau na roda de cores que vai
de 0 (vermelho) até 360(azul), a saturação é um valor percentual entre 0%(cinza) até
100%(preto cor mais pura), e a luminosidade é uma porcentagem entre 0%(preto) e
100%(branco), pode usar o valor de alfa também com HSLA (matiz, saturação, luminosidade
e alfa) o alfa vai de 0,0(totalmente transparente) até 1,0(nenhum pojco transparente)
NAME - Você pode simplesmente escrever o nome da cor que deseja em linguagem
inglesa
68
<h1> Meu Titulo </h1> html
h1 {
color: red;
ou
color: #ff0000; css
ou
color: rgb(255,0,0);
ou
color: hsl(0, 100%, 50%);
69
70
UNIDADES DE MEDIDA
ABSOLUTA - São medidas fixas, ou seja, mesmo que o tamanho da tela varia a
medida será a mesma. Ex: cm (centímetros), mm (milímetros), in (polegadas 1in =
96px = 2.54cm), px (pixel 1px = 1/96th of 1in), e pt (pontos 1pt = 1/72 of 1in)
71
REFERÊNCIA RELATIVA DA PÁGINA
Viewport
Área da tela, que
está visível para o
cliente,
independente de width
se ter uma tela
enorme em altura, height Elemento
esta medida
refere-se ao que o
cliente está vendo
no momento
72
MARGIN / PADDING / BORDER
UNIDADES DE MEDIDA
USADAS PARA
ADICIONAR VALOR
REM EX
Elemento
VW VH
elemento
VMAX VMIN
CH PX
73
MARGIN
Define o espaço externo do elemento, neste exemplo: espaço entre o
topo da página e o Elemento
10px
Elemento
Elemento {
margin-top: 10px;
}
74
Neste exemplo:
Espaço entre o 1º elemento e o 2º Elemento
Elemento
10px
Elemento2 {
margin-top: 10px;
}
Elemento 2
75
DECLARAÇÕES
10px 10px
10px 10px
elemento{ elemento{
propriedade: 10px; propriedade: 10px 20px;
} }
76
10px 10px
30px 30px
elemento{ elemento{
propriedade: 10px 20px 30px; propriedade: 10px 20px 30px 40px;
} }
77
Element {
BOX-SIZING width: 100px;
margin: 5px;
padding: 5px;
border: 5px;
Box-Sizing: Content-Box
box-sizing: ??? ;
}
Box-Sizing: Border-Box
78
ESTADOS DO LINK
Os estados em links são personalizados através de declarações de regras de estilo
para as pseudo-classes do elemento <a> do HTML, veja a sintaxe seguinte.
Sendo que as classes em CSS podem também ser usadas com pseudo- classes.
seletor.class:pseudo-class {propriedade: valor}
Possíveis estados:
a:link........define o estilo do link no estado inicial;
a:visited...define o estilo do link visitado;
a:hover.....define o estilo do link quando passa-se o mouse sobre ele;
a:active....define o estilo do link ativo (o que foi "clicado").
79
FLEXBOX
A propriedade flexbox deve ser adicionada à um elemento pai (container), desta manera podemos
manipular seus elementos filhos, tanto no eixo principal(main axis ) quanto no eixo transversal
(cross axis), para conseguirmos usá-lo basta que defina no elemento que será o container, a
propriedade display: flex;
CONTAINER ITEM
FLEX-DIRECTION : row | row-reverse | column | column- ALIGN-SELF : stretch | flex-start | flex-end | center |
reverse baseline
ALIGN-ITEMS : stretch | flex-start | flex-end | center | baseline FLEX-SHRINK : 1 | número FLEX : 0 1 auto
80
AXIS
Tanto o eixo principal(MAIN AXIS), quanto o eixo transversal(CROSS AXIS) dependem do
valor aplicado à propriedade flex-direction, caso o flex-direction seja ROW, o Main Axis é na
horizontal como a imagem abaixo, e caso seja o flex-direction seja COLUMN, o Main Axis é
na Vertical, ou seja, os eixos se invertem.
main-start main-end
main-size
cross-start
main axis
cross size
cross axis
81
FLEX-DIRECTION
row row-reverse
1 2 3 3 2 1
column column-reverse
1 3
2 2 main axis
cross axis
container
3 1
item
82
JUSTIFY-CONTENT
flex-start space-between
1 2 3 1 2 3
flex-end space-around
1 2 3 1 2 3
center space-evenly
1 2 3 1 2 3
83
ALIGN-ITEMS
flex-start flex-end center
1 2 3
1 2 3
1 2 3
stretch baseline
84
ALIGN-CONTENT
flex-start flex-end center
1 2 3 4 5
6 7 1 2 3 4 5
6 7
1 2 3 4 5
6 7
1 2 3 4 5 1 2 3 4 5
1 2 3 4 5
6 7 6 7
6 7
85
FLEX-GROW & WRAP
A,B { flex-grow: 1 }
C {flex-grow: 6 } A,B,C{ flex-grow:1 }
A B C 1 2 3
nowrap wrap
1 2 3 4 5 6 7 1 2 3 4 5
6 7
86
Exemplo:
Abaixo temos um exemplo simples que pode ser usado para o
alinhamento de um menu, ou de cards, com links, etc.
HTML CSS
Resultado
1 2 3 4 5
87
@media
88
SINTAXE
@media not|only mediatype and (mediafeature and|or|not mediafeature) {
CSS-Code;
}
not: a palavra-chave not reverte o significado de uma consulta de mídia inteira.
only: a única palavra-chave impede que navegadores mais antigos que não
suportam consultas de mídia com recursos de mídia apliquem os estilos
especificados. Não tem efeito nos navegadores modernos.
and: A palavra-chave e combina um recurso de mídia com um tipo de mídia ou
outros recursos de mídia.
89
HTML VISUALIZANDO NO DESKTOP
Example
CSS
VISUALIZANDO NO MOBILE
Example
90
INTRODUÇÃO ao
91
JAVASCRIPT
É uma linguagem de programação
interpretada, multiplataforma e de alto nível,
desenvolvida na Netscape por Brendan Eich na
década de 90.
Em meados de 96/97, a Netscape enviou o
JavaScript à ECMA International para
padronização, isso resultou em um novo padrão
de linguagem, conhecido como ECMAScript.
ECMAScript = padrão
Javascript = Implementação deste padrão
ES* = Significa EcmaScript e sua versão
92
Código JS sendo chamado em um documento externo
LOCALIZAÇÃO HTML
<script src=”app.js”></script>
CÓDIGO JS JS
alert( 'código js' )
<script>
</script>
93
VARIÁVEIS
As Variáveis em JavaScript reservam um espaço na memória do computador (como se
fosse uma caixa), onde podemos guardar temporariamente determinado tipo de dado,
elas podem ser declaradas usando uma das palavras reservadas Var , Let ou Const.
94
P String let nome = 'Fulano'
R
I
Number let idade = 34
M
I
Boolean let casado = true
let nome
T Null let varNula = null
I
V Undefined let indefinida
E
Symbol let sym = Symbol("foo")
nome = 'Fulano'
-- As variáveis não podem iniciar com números, apenas com letras ou ' _ '
-- Não pode ser utilizado caracter especial como ' ç ', ' ^ ', ' ~ '
-- Não podem ser iguais as palavras reservadas da linguagem
-- Por convenção quando usar nomes compostos, usamos camelcase
-- Dê preferência por nomes em inglês às variáveis, pensando em globalidade
Ex: novaVariavel, firstName, etc...
95
Dados em formato de texto, valores Dados em formato de números, Dados do tipo True ou False, em Dados nulos, sem valor algum,
declarados dentro de áspas, valores positivos, negativos, com comparações booleanas usando apenas reserva um local na memória
independente de serem simples ou ponto flutuante números, o único valor que retorna mas não aloca qualquer tipo de valor
duplas falso é 0
var nome = “Fulano” var idade = 33 var casado = true var nulo = null
Dados em formato de par, chave : A Symbol() função retorna um valor São variáveis apenas declaradas mas Dados como se fosse uma lista, e
valor, podendo ter quantos itens do tipo símbolo, com atributos e sem qualquer tipo de valor atribuído à cada item da lista possui um índice,
forem necessários, igual um Array métodos estáticos, todo valor elas, nem espaços na memória são por default, o índice inicia sempre em
retornado é exclusivo zero (0)
alocados
var pessoa={ let sym = Symbol("foo") var indefinida var frutas = ['uva','pera']
nome: “Fulano”,
idade: 33
}
um conjunto de instruções que Cria uma instância de Date que É o conteúdo que será ignorado pelo
BigInt é um objeto interno que executa uma tarefa ou calcula um representa um único momento no tempo, interpretador javascript
fornece uma maneira de valor, pode ou não retornar algo, pode é baseado no valor de tempo que é o
representar números inteiros ou não possuir parâmetros número de milisegundos desde 1º de
/*
maiores que 253 - 1 Janeiro de 1970 (UTC). mutiplas
const bigNum = BigInt(9850958) linhas
var soma=function(num){ var now = new Date() */
return num + num
} // uma linha 96
EXEMPLO PRÁTICO
99
IF ELSE
if( 5 > 3 ){
console.log('true')
} else {
console.log('false')
}
// 'true'
if( 1 > 3 ){
console.log('true')
} else {
console.log('false')
}
// 'false'
100
LAÇO FOR
01- incializa
02-condição 04-incremento
contador
03 - comandos
// 0 1 2
101
SWITCH CASE
01-Declarar
variável
Switch ( 02-teste )
{ let fruta = 'uva'
Case 1:
//comandos a serem executados switch( fruta ){
case 'pera':
Break; console.log( 'peras custam R$2,00' )
break;
Case 2:
case 'maçã':
//comandos a serem executados console.log( 'maçã custam R$3,00' )
Break; break;
Break; default:
default
console.log( 'desculpe não temos' )
}
//comandos a serem executados
} // uvas custam R$5,00'
102
LAÇO WHILE
01- incializa
contador
02-condição
let i = 0
while( i < 3 ){
03 - comandos console.log( i )
i++
}
04-incremento
// 0 1 2
103
MÉTODOS PARA
STRINGS
varString.indexOf('r') // 5
varString.replace('vra','word') // palaword
varString.toUpperCase('v') // PALAVRA
listFruit.indexOf('pera') // 0
listFruit.reverse() // ['maçã', 'uva', 'pera']
107
DOM
<!DOCTYPE html>
<html lang="pt-br"> Window
<head>
<meta charset="utf-8">
<title> Título da página </title>
</head> document
<body>
<p>
Texto de <i> parágrafo </i>
</p> head body
</body>
</html>
meta title h1 p
109
MÉTODOS DE ACESSO AO DOM
Editor de Texto / IDE
getElementById('titulo')
<!DOCTYPE html> - Retorna o elemento selecionado através do ID,
<html lang="pt-br">
<head>
todo ID se converte em um elemento no window
<meta charset="utf-8">
<title> Título da página </title> getElementsByClassName('sub')
</head>
<body> - Retorna todos os elemento selecionados
através da Class
<h1 id=”titulo”> Titulo </h1>
110
EVENTOS
Os eventos são basicamente um conjunto de ações que são realizadas em um
determinado elemento da página web, seja ele um texto, uma imagem, ou uma div, etc.
Os eventos podem ser aplicados de forma inline, diretamete na tag do elememto, ou em
arquivo separado, selecionando o elemento no DOM e adicionando um escutador de
evento (addEventListener).
111
alvo.addEventListener('tipoEvento' function(evento){
112
EN T O
O L V IM
S E N V
D E
W E B L
IC IA
IN
Developer by:
RAFAEL ANGRIZANI
114
Linus Torvlads
115
GitHub é uma plataforma de hospedagem de
código-fonte, com controle de versão que usa o Git.
Ele permite que programadores, contribuam em
projetos privados e/ou Open Source de qualquer
lugar do mundo.
O GitHub foi desenvolvido por Chris Wanstrath,
J. Hyett, Tom Preston-Werner e Scott Chacon usando
Ruby on Rails, em fevereiro de 2008, em 2018 a
Microsoft se tornou a proprietária do Github.
116
1 - Passo
CONFIGURAÇÃO Instalar o git na sua máquina de acordo com o seu sistema
operacional, para podermos usar o Git Bash, terminal do Git,
INICIAL DO GIT para isto basta seguir a documentação disposta no site do Git.
Linux / Mac: https://git-scm.com/
Windows: https://gitforwindows.org/
2 - Passo
Após feita a instalação corretamente, você pode checar a versão instalada usando o
comando git --version. Após a instalação, precisaremos realizar algumas configurações
iniciais em nosso Git, e para isto usamos os seguintes comandos:
117
CONFIGURAÇÃO
INICIAL DO GITHUB
118
CHAVE SSH
O SSH é um protocolo que serve para autenticar um usuário remoto à um servidor, através dele geramos
duas chaves SSH, uma pública e uma privada, a chave pública será enviada ao Github, e a chave privada
ficará contida em nosso computador, desta forma conseguiremos abrir a chave pública enviada ao github
(nosso repositório remoto). É também, através destas chaves, que o github consegue identificar quem está
subindo os arquivos. As chaves estão localizadas em: ~(home) na pasta /.ssh, para termos acesso usamos:
cd ~/.ssh
Este comando fará você navegar até o local . Entretanto caso apareça a mensagem que, não é possível
acessar, ou que não exista, ou o diretório não foi encontrado, isto significará que nunca foram geradas chaves,
neste ambiente local. Então o próximo passo será gerá-las. Se as tiver pule alguns dos passos seguintes.
id_rsa = arquivo com chave privada, id_rsa.pub = arquivo com chave pública 119
O primeiro passo agora que temos as chaves criadas, será acessr a pasta com os nossos arquivos com as
chaves, ~(home) pasta /.ssh, então: cd ~/.ssh , assim que acessarmos, usamos o comando ls, para
listarmos seu conteúdo, desta forma temos: id_rsa sendo nossa chave privada e id_rsa.pub como
sendo nossa chave pública.
Para isto usamos o comando cat <nome do arquivo>, este comando mostrará o conteúdo do arquivo
escolhido (cat id_rsa.pub), neste caso mostrá a nossa chave, que mais parece um aglomerado de
números e letras, então copiamos todo o seu conteúdo. Você pode também abrir este arquivo usando o seu
editor de texto preferido, o que importa é copiar o conteúdo da chave, para levá-la até o Github.
Acessando o site do Github, e estando logado em sua conta, vá até Settings (configurações), e no
menu lateral clique em SSH and GPG Keys, lhe será mostrado as chaves que podem ser adicionadas,
clique no botão New SSH Key, clicando no botão aparecerão 02 campos, Title (para nomear / identificar
a chave), e Key (que é o local onde você deve por o conteúdo copiado da chave). Em seguida clique no
botão Add SSH Key para que a chave seja adicionada.
Após adicionarmos a chave, no terminal usamos o comando: ssh -T [email protected], lhe será
mostrado a mensagem de que a autenticidade não foi estabelecida, e se queremos continuar com a
conexão, confirmamos (yes), ele nos avisa que vai adicionar permanentemente à lista de host
conhecidos, e que para isto precisamos digitar a nossa senha da chave privada, caso tenha criado
uma, clicamos em desbloquear, e será adicionado, em seguida nos avisa que nosso usuário
está autenticado corretamente, mas não podemos acessar por um terminal SSH. Pronto!
120
WORKING DIRECTORY (1)
São os arquivos e diretórios que você está usando atualmente como repositório em seu ambiente
local
STAGING AREA (2)
É um espaço temporário onde você determina quais mudanças serão adicionadas. Basicamente,
você adiciona os arquivos para o staging, e quando estiver satisfeito com as alterações efetua
um commit a fim de enviar os arquivos ao Datastore
DATASTORE (3)
“Banco de dados” (Localrepo) onde o controle de versão decide a forma de empacotamento e
guarda as suas alterações
UNTRACKED (1)
Não Marcado, ou seja, o arquivo foi adicionado ao repositório, mas não foi visto pelo Git, não foi alterado
MODIFIED (2)
Significa “modificado”, ou seja o Git visualizou que você alterou o arquivo, mas ainda não o gravou
(committed), o arquivo encontra-se no Working Directory, ele deve ser enviado ao Staging area
STAGED (3)
Significa que um arquivo foi modificado e suas modificações foram adicionadas à uma área
temporária (staging area)
COMMITTED (4)
Significa “gravado”, ou seja o dado foi armazenado com segurança, deve ser feito a cada alteração
significativa (commit), o arquivo foi é enviado para o Datastore 121
Local Remote
Untracked
122
COMANDOS BÁSICOS git init
Inicializará o repositório git na pasta a ser monitorada, este comando irá criar uma pasta oculta
chamada .git, que irá monitorar e salvar as informações de versão do projeto que você realizar neste
diretório, como é uma pasta oculta, para enxergá-la através do terminal use o comando ls -a
rm -rf .git
Apaga um repositório git que tenha sido inicializado, apagará a pasta oculta .gif, desde que você o
execute no diretório que está sendo usado como repositótio, e que você deseja apagar
git status
Checa o estado atual do repositório, ele avisa se existe ou não modificações para serem gravadas,
caso haja alterações nos arquivos monitorados, ele solicitará que os envie ào Staging, usando git add
git diff
Este comando mostra um log com todas as mudanças feitas no aruivo, a fim de conferência antes de você
commitá-lo. Você pode usar o comando git diff --name-only e mostrará apenas o nome dos arquivos alterados
125
FRASES use "git add <file>" to update what will be committed
DEFAULT use "git add <file>" para atualizar o que será confirmado
-- Ele está solicitando que você use o comando git add para enviar o arquivo
modificado até a staging area para depois ser comitado
on branch master
no mestre da filial ou
no ramo master local atual do Head do Git
head is now at ...
cabeça está agora em ...
-- Significa em qual versão do arquivo você está trabalhando 126
Snapshot é um termo usado, para referenciar todos os estados dos
SNAP commits realizados, ou seja, quando você realiza um commit é
como se ele tirasse uma foto do estado atual do arquivo, lembrando que,
SHOT para você poder ter acesso aos commits e seus detalhes, como a hash,
autor, data, etc, basta usar o comando git log.
Este comando é usado para acessar determinada versão usando o Hash (identificador
único do commit) caso deseje, pode-se usar apenas os 10 primeiros números
A mensagem a seguir mostrará em qual arquivo você se encontra, pois o HEAD aponta
para a Branch(ramificação) atual em que você está
GITHUB
C) Importar os códigos de outro repositório para ele.
2 - Passo
O próprio Github fornecerá os comandos a serem usados para o envio, por ex:
git remote add origin <url do repos. github criado com extensao .git>
Este comando basicamente diz: “git adicione pra mim, um local remoto (repos. github
criado por nós), e chame este local de origin”, agora o Git já conhece o local que vai
subir o nosso projeto, caso não tenha .git no final coloque. OBS: Caso não saiba qual é
o arquivo remoto basta usar o comando git remote -v e lhe será mostrado.
3 - Passo
O próximo passo será enviarmos nosso projeto para o repositório Github. para isso usamos:
git push -u origin master
Este comando basicamente diz: “git empurre (push) pra mim, através do usuário local (-u
desde que o usuário do git seja o mesmo do github, caso contrário, não use esta flag), para a
origin (nome/endereço do repos. github que criamos), o master (foi editado por último, o
branch que você está), em seguida será solicitado usuário e senha do Github, caso não tenha
usado -u. Pronto ! OBS: Caso efetue mais alterações, execute este comando novamente sem
o -u, para enviar as novas alterações. 128
Esta opção, realiza uma cópia de um projeto que não é seu, para a sua máquina, e depois das
alterações efetuadas você pode subir e efetuar um Pull Request no repositório, este se diferencia
do git clone, com a diferença de que no clone o repositório é seu, logo será possível atualizar o
repositório, e no Fork, necessita executar o pull request, para que o proprietário do repositório
avalie, e se assim desejar implemente ao projeto suas modificações.
Branch (ramo) é simplesmente um leve ponteiro móvel para um dos commits. O nome do
branch padrão é Master. Como você inicialmente fez commits, você tem uma branch principal
( Master Branch ) que aponta para o último commit que foi realizado, este commit é identificado
através da hash gerada ao commitar, e pra cada hash ele tira uma foto(SNAPSHOT) de tudo que
está naquele estado. Cada vez que se realiza um commit ele avança automaticamente.
1º BRANCH 3º BRANCH
MASTER MASTER
C C
O 9fdh5gd8 O 9fdh5gd8 5ffn501 2bdh5la7
M M
M M
I SNAPSHOT A I SNAPSHOT A SNAPSHOT B SNAPSHOT C
T T
*MASTER *MASTER
Head
Head
129
Head
*SEGUNDA
Podemos criar novas branchs para trabalharmos
em paralelo, deixando a nossa branch Master
inalterada, para criar uma nova branch: SNAPSHOT A
BRANCH
Automaticamente o HEAD, será movido para esta SEGUNDA
nova branch.
BRANCH
MASTER
2bdh5la7
SNAPSHOT C
CAMEL CASE é a prática de escrever palavras compostas ou frases de modo que cada palavra
ou abreviatura no meio da frase comece com uma letra maiúscula.
Camel Case: “iPhone” , “sobreNome”
PASCAL CASE é a prática de escrever palavras compostas ou frases de modo que cada palavra
ou abreviatura comece com uma letra maiúscula.
Pascal Case: “FedEx” , “HarperCollins”
CAPITALIZE é a prática de escrever a primeira letra de uma palavra com a letra maiúscula.
Capitalize: “Carro” , “Rafael”
SNAK ECASE é prática de escrever todas as palavras ou frases separadas por underscore.
SnakeCase: “jogo_de_sofa” , “USER_LOGIN_COUNT”
132
https://medium.com/@ramonrune/arquitetando-
API uma-api-restful-8ffcf892586a
Uma API é criada, quando uma empresa tem a intenção de que outros criadores de
software desenvolvam produtos associados ao seu serviço. Existem vários deles que
disponibilizam seus códigos e instruções para serem usados em outros sites. O Google Maps é
um exemplo na área de APIs. Por meio de seu código original, muitos outros sites e
aplicações utilizam os dados do Google Maps adaptando-o da melhor forma a fim de utilizar
esse serviço, como por exemplo usá-lo no site para mostrar onde se localizam, o
desenvolvedor apenas utiliza a API do Google, sem que precise criar o código fonte.
133
FRAMEWORK / BIBLIOTECA
A principal diferença entre uma Biblioteca e um Framework é "Inversão de
controle". Quando você chama um método de uma biblioteca, você está no controle. Mas
com um framework, o controle é invertido: a estrutura chama você.
Uma biblioteca é apenas uma coleção de definições de classe, a razão por trás
é simplesmente a reutilização de código. Por exemplo, existem algumas bibliotecas de
matemática que podem permitir que o desenvolvedor chame a função sem refazer a
implementação de como um algoritmo funciona.
Em um Framework, todo o fluxo de controle já existe e há vários espaços em
branco predefinidos que você deve preencher com seu código, ele define um esqueleto
em que o aplicativo define seus próprios recursos para preencher o esqueleto.
Pode-se dizer que um Framework é um conjunto de bibliotecas.
Framework Library
Chama
Chama
<CODE>
134
FRAMEWORK CSS FRAMEWORK JS LIBRARY JS
135
SPA
SPA ou Single Page Application (Aplicação de Página única), todo o código necessário
HTML , JavaScript e CSS, é recuperado com um único carregamento de página, qualquer
interação que aconteça na página, serão carregadas dinamicamente, e adicionadas. A
página não é recarregada em nenhum momento do processo, nem controla a transferência
para outra página, a interação, geralmente envolve comunicação dinâmica com o servidor da
web nos bastidores.
Em resumo possuímos apenas uma página index.html, e todo o resto da aplicação é
gerada a partir do javascript, e o acesso ao BD é dinâmico e quase instantâneo
source: https://dotcms.com/blog/post/what-is-a-single-page-application-and-should-you-use-one-
136
UML
Unified Modeling Language(Linguagem de Modelagem Unficada), basicamente é
uma linguagem de notação (um jeito de escrever, ilustrar, comunicar) para uso em projetos
de sistemas, como o nosso sistema será desenvolvido e todas suas funções.
Porque usar?
- Solução de Problemas, reduz os custos dos produtos nas emprsas e aumenta a qualidade
- Melhorar a produtividade, ao usá-lo todos na equipe estão na mesma página.
- Fácil de entender, oferece uma apresentação clara e expressiva, dos requisitos, processo
e funções do sistema.
Principais Usos
- Rascunho do sistema,o diagrama é usado pela equipe para estruturar o sistema geral
- Visualizar linguagem de programação, alguns tipos de diagramas podem ser traduzidos
diretamente em código para economizar tempo no desenvolvimento do software
Tipos de Diagramas
As duas principais categorias são de Estrutura e de Comportamento, sendo que estas
possuem mais 13 subtipos.
- Estrutura: Diagrama de Classe, Diagrama de Estrutura Composta, Diagrama de Objeto,
Diagrma de Componente, Diagrama de Implementação, Diagrama do Pacote,
- Comportamento: Diagrma de Máquina de Estado, Diagrama de Atividades, Diagrmas de
Casos de Uso, Diagrama de Sequência, Diagrama de Comunicação, Diagrama de tempo,
Diagrama de Visão Geral da Interação.
137
PARADIGMAS DE LINGUAGEM
Dividido em Blocos
ESTRUTURADO
Sequência, Seleção e Iteração
P IMPERATIVO
Abstração de Dados
A
R Encapsulamento, Comportamento
ORIENTADO A OBJETOS
A de dados e objetos
138
NODE.Js
Node Js é uma plataforma em tempo de execução, que usa javascript no servidor. Foi
introduzida pela primeira vez em 2009, por Ryan Dahl.
Quanto as vantagens do Node:
-- O profissoinal mantem-se em apenas em uma stack, pois utiliza javascript tanto no
backend quanto no frontend
-- Compartilhamento e reutllização de código
-- Velocidade e desempenho
-- Entrada e Saída sem bloqueio e a manipulação de solicitações assíncronas
-- Tecnologia escalável para o uso de microserviços
-- Desenvolvimento de aplicações em tempo real, melhor desempenho para jogos online.
Quanto as desvantagens:
-- Não é recomendado para computação pesada, por incapacitação de tarefas ligadas à
CPU
-- Por ser assíncrono, depende muito de retorno de chamadas (callbacks), podendo
resultar em uma Callback Hell, se o programador não se atentar a este ponto
-- Valor elevado para seu uso em servidores
139
DESIGN PATTERN &
ARCHITETURAL PATTERN
Architetural Pattern é semelhante ao Design Pattern, mas eles possuem uma diferença
de escopo, o Design Pattern afeta uma seção específica da base de código, pois é uma solução
de projeto que se aplica à um problema comum, que se repete em um projeto de software, o
Architetural Pattern é uma estratégia de alto nível que diz respeito a componentes de larga
escala, às propriedades e mecanismos globais de um sistema, é um padrão de organização
estrutural, a arquitetura usada no desenvolvimento, podendo a aplicação possuir mais de uma.
DESIGN PATTERN
Categorias:
Criacionais: Singleton, Builder, Prototype, etc
Estruturais: Composite, Facade, Proxy, etc
Comportamentais: Mediator, Observer, Strategy, etc
ARCHITETURAL PATTERN
Layered, Event-Driven, Microservices, MVC, etc
140
MVC
MVC (Model View Controller), é um Architecture pattern, que nos permite ter uma
organização adequada do nosso código, separando as responsabilidades.
04
Result data
VIEW
DB Representa as views da
aplicação (telas com os
03
Result data dados passadosl)
CONTROLLER
Representa as regras de
negócio da aplicação
MODEL
02
Request
Representa a
Parameters
manipulação dos dados
da aplicação
01 HTTP 05 HTTP
Request Response
USER
141
STYLE GUIDE
Um Guia de Estilos, facilita o trabalho dos desenvolvedores, geralmente eles
são definidos por web designers, no entanto caso não tenha contratado um, recebe
esta responsabilidade, o desenvolvedor Front-End, que será quem irá desenvolver o
View da aplicação.
Dentro de um guia de estilo determinamos:
Cores - primárias, secundárias, cores de fundo, cores dos botões, etc.
Tipografia - Tamanho do texto do corpo, tamanho dos títulos, espaçamentos entre
textos e títulos, cores de fundo onde o texto pode aparecer
Grid - Determinar espaçamento entre os elementos
Gráficos - Ícones que representarão e o conteúdo principal
Outros - Determinar variações de cores, imagens, área depoimentos, etc
Lembrando que a escolha destes itens, possuem relação direta com a empresa
a qual estamos desenvlvendo o aplicação, usando logo, cores, dentre outros itens da
empresa como referência.
Fonte: https://uxdesign.cc/all-you-need-to-know-about-style-guide-9513ebf50b46
142
REQUISIÇÕES
response
server
requisição
HTTP via
GET
https://www.plataformadev.com.br
142