Livro 2: Faça um site em JavaScript

Semana 1 (06/11/2020)

O livro começa por dar uma definição do que é o JavaScript e o que podemos fazer com JavaScript. JavaScript é uma linguagem de programação que permite implementar itens complexos em páginas web uma página da web faz mais do que simplesmente mostrar informação estática — mostrando conteúdo que se atualiza num intervalo de tempo, mapas interativos ou gráficos 2D/3D animados, etc.

O autor faz também referencia que JavaScript não é igual a java. A primeira dúvida a surgir é quanto às semelhanças entre as duas, primeiro: Java não é Javascript. Apesar da semelhança nos nomes às duas linguagens trabalham de forma distintas. Enquanto uma  trabalha com interface WEB, a outra faz praticamente tudo o que você imaginar. Em primeiro lugar, o Javascript não é uma linguagem de programação propriamente dita. Ou seja, ela não é compilada e nem executada posteriormente. No mundo dos desenvolvedores ela recebe o nome de linguagem de scripting, pois ela é executada pelo navegador e depende do mesmo para funcionar.

Semana 2 (12/11/2020)

Variável é um dos conceitos mais importantes no estudo de programação, independente da plataforma ou linguagem utilizada. Uma variável referencia a um espaço na memória do computador utilizado para guardar informações que serão usadas em seus programas. Para criar uma variável utiliza-se var (opcional) e, para determinar o seu valor, o operador de atribuição (=). Para facilitar a compreensão do código, deve-se sempre escolher um nome que identifique o tipo de dado a ser armazenado.

Exemplo:
var nome = “Gabriel Mendonça”;
var idade = 25;

Alguns nomes não podem ser utilizados para criação de variáveis pois estão reservados de alguma forma à linguagem. São eles: abstract, Boolean, break, byte, case, catch, char, class, const, continue, default, do, double, else, extends, false, final, finally, float, for, function, go to, if, implements, import, in, instanceof, int, interface, long, native, new, null, package, private, protected, public, return, short, static, super, switch, synchronized, this, throw, throws, transient, true, try, var, void, while, with.

Adiciona um a variável. Se utilizado antes(++x) adiciona um e retorna o valor, caso o operador seja utilizado depois da variável(x++) retorna o valor e adiciona um.
var x = 1;
++x //2
x++ //2

Semana 3 (17/11/2020)

Operadores:

Os operadores permitem fazer operações matemáticas, de comparação e lógicas.

Aritméticos
Para as operações matemáticas básicas são utilizados os seguintes, adição (+), subtração (-), multiplicação (*) e divisão (/).

Adição
2+2 //4
1.5+1.5 //3

 Subtração
2-2 //0

Multiplicação
2*3 //6

Divisão
1/2 //0.5

Além dos desses operadores básicos temos outros operadores que podem ser muito uteis:

Resto (%)
Retorna o resto inteiro da divisão.
5%4 //1

Incremento (++)
Adiciona um a variável. Se utilizado antes(++x) adiciona um e retorna o valor, caso o operador seja utilizado depois da variável(x++) retorna o valor e adiciona um.
var x = 1;
++x //2
x++ //2

Decremento (–)
O comportamento desse operador é parecido com o de incremento.  Subtrai um da variável. Se utilizado antes (–x) subtrai um e retorna o valor, caso o operador seja utilizado depois da variável(x–) retorna o valor e subtrai um.
var x = 2;
–x //
x– //1

Maior que (>)
Compara se o operador da esquerda é maior que o da direita. Caso seja retorna verdadeiro.
1>2 //false
5>3 //true
4>’1′ //true

Maior ou igual que (>=)
Compara se o operador da esquerda é maior ou igual ao da direita. Caso seja retorna verdadeiro.
1>=2 //false
5>=3 //true
4>=’1′ //true
2>=2 // true

Menor que (<)
Compara se o operador da esquerda é menor que o da direita. Caso seja retorna verdadeiro.
1<2 //true
5<3 //false

Compara se o operador da esquerda é menor ou igual ao da direita. Caso seja retorna verdadeiro

Menor ou igual que (<=)
1<=2 //true
5<=3 //false

Semana 4 (27/11/2020)

Para criar uma variável utiliza-se var (opcional) e, para determinar o seu valor, o operador de atribuição (=). Para facilitar a compreensão do código, deve-se sempre escolher um nome que identifique o tipo de dado a ser armazenado.

Exemplo:
<script type=”text/javascript”>
var nome = “Gabriel Mendonça”;
var idade = 25;
</script>

É importante que no final de cada linha foi utilizado o ponto-e-vírgula (;), responsável por delimitar expressões, statements e construtores. Embora não seja obrigatório, faz com que o seu código seja mais preciso e claro.

Uma variável é case-sensitive. Isto significa que nomes com letras maiúsculas são diferentes de nomes com letras minúsculas: para um programa em JavaScript, Nome é diferente de nome.
Caracteres válidos Palavras: embora a maioria dos navegadores já reconheça uma variedade de caracteres UTF-8 (como palavras com acentos e “ಠ_ಠ”, por exemplo), o recomendado é o uso apenas letras de MAIÚSCULAS e minúsculas, sem acentos e espaços.

Semana 5 (02/12/2020)

Condições são estruturas de código que permitem, em função do valor lógico (verdadeiro/falso) de uma expressão, executar código de entre várias alterantivas. Uma forma comum de uma condiçães é a instrução if …. elese.  (se … senão). Por exemplo:

var gelado = 'chocolate';
if (gelado === 'chocolate') {
  alert('Viva, adoro gelado de chocolate!');    
} else {
  alert('Ohhhh, mas o meu favorito é chocolate');    
}

A expressão dentro de parênteses em if é a condição — utiliza o operador de igualdade (como foi descrito em cima) para comparar a variável gelado com a string 'chocolate' e assim verificar se são iguais. Caso esta comparação devolva true, é executado o primeiro bloco de código. Se não for verdadeira, não é executado o primeiro mas sim o segundo bloco de código, depois da instrução else.

Semana 6 (11/12/2020)

Um ciclo for é repetido até que a condição especificada seja falsa. O ciclo for no JavaScript é similar ao Java e C. Uma declaração for é feita da seguinte maneira:

for ([expressa Inicial]; [condição]; [incremento])

  declaração

Quando um for é executado, ocorre o seguinte:
A expressão, expressão Inicial é inicializada e, caso possível, é executada. Normalmente essa expressão inicializa um ou mais contadores, mas a sintaxe permite expressões de qualquer grau de complexidade. Podendo conter também declaração de variáveis.
A expressão condição é avaliada. caso o resultado de condição seja verdadeiro, o laço é executado. Se o valor de condição é falso, então o laço terminará. Se a expressão condição é omitida, a condição é assumida como verdadeira. A instrução é executada. Para executar múltiplas declarações, use uma declaração em bloco ({… }) para agrupá-las.

Semana 7 (18/12/2020)

JavaScript Date

JavaScript permite trabalhar com data/hora nativamente através do objeto Date.

Como funciona o objeto Date

Date armazena a quantidade de milissegundos desde o início do Unix Epoch (1 de janeiro de 1970 00:00:00 UTC). Por essa razão é possível criar e apresentar data/hora em formato numérico em JavaScript usando um inteiro longo para representá-las. As diversas formas possíveis de se escrever uma data/hora são normatizadas pela RFC 2822 e ISO 8601.

Parâmetro
ano é um valor inteiro que representa um ano. Note que 0 corresponde a 1900 e 99 a 1999.
mês é um valor inteiro que representa o mês. 0 corresponde a janeiro e 11 a dezembro.
(opcional) dia é um valor inteiro que representa um dia. O valor padrão é 1.
(opcional) hora é um valor inteiro que representa uma hora do dia. O valor padrão é 0 (meia noite).
(opcional) minutos é um valor inteiro que representa o minuto. O valor padrão é 0.
(opcional) segundos é um valor inteiro que representa um segundo. O valor padrão é 0.
(opcional) milissegundos é um valor inteiro que representa um milissegundo. O valor padrão é 0.
new Date(ano, mês [, dia [, hora [, minuto [, segundos [, milissegundos]]]]]);

const data = new Date();
data.getDate();
10
data.getFullYear();
> 2019
data.getDay();
> 4

Semana 8 (07/01/2021)

Como implementar botões em Javascript e a respetiva css

<button class=”btn successo”>Successo</button>
<button class=”btn info”>Informação</button>
<button class=”btn warning”>Erro</button>
<button class=”btn danger”>Perigo</button>

.btn {
  border: none;  Remove as borders
  color: white;  Adiciona cor ao texto
  padding: 14px 28px;  Adiciona o padding
}

.successo {background-color: #4CAF50;} Cor: Verde
.successo:hover {background-color: #46a049;}

.info {background-color: #2196F3;} Cor: Azul
.info:hover {background: #0b7dda;}

.erro {background-color: #ff9800;} Cor: laranja
.erro:hover {background: #e68a00;}

.perigo {background-color: #f44336;} Cor: vermelho
.perigo:hover {background: #da190b;}


Semana 9 (15/01/2021)

Introduzir imagens com JavaScript

Podemos usar os atributos width e height, para especificar a largura e altura da imagem. Podemos encontrar a largura e a altura da imagem de várias maneiras.

<img src="images/dinosaur.jpg"
     alt="A cabeça e o tronco de um esqueleto de dinossauro;
          tem uma cabeça grande com dentes longos e afiados"
     width="400"
     height="341">

Como nos links, podemos também adicionar o atributo title nas imagens, para fornecer mais informações de suporte, se necessário. Por exemplo:

<img src="images/dinosaur.jpg"
     alt="A cabeça e o tronco de um esqueleto de dinossauro;
          tem uma cabeça grande com dentes longos e afiados"
     width="400"
     height="341"
     title="Um T-Rex em exibição no Museu da Universidade de Manchester">

Semana 10 (22/01/2021)

A linguagem JavaScript também permite trabalhar com eventos dos elementos HTML como botões e caixas de texto. Eventos são disparados quando alguma ação é executada, como o clique e num botão ou a digitação de valores em um input.

No código JavaScript pode-se atribuir valores aos eventos como se fossem propriedades, desde que o valor atribuído seja um código a ser executado. Por exemplo, mostra o código de uma página com um botão que, ao ser clicado, exibe uma mensagem (alert).

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8"/>
  </head>
  <body>
<button onclick="alert('Você clicou no botão');">clique aqui</button>
  </body>
</html>

Vale notar que nesse caso as tags <script> não foram necessárias, pois o código encontra-se dentro do próprio button. Outro ponto a ser observado é que foram usadas aspas duplas para definir o código e aspas simples no interior do mesmo, quando precisamos escrever um texto dentro de um evento.

Caso o código a ser executado no evento seja muito extenso, é possível criar uma função para isso e associá-la ao evento em questão. Basta informar, no lugar do código, o nome da função (com parâmetros, caso existam). Na Listagem 19 temos um exemplo desse tipo.

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8"/>
    <script type="text/javascript">
      function clique_botao()
      {
        alert("Você clicou no botão");
      }
    </script>
  </head>
  <body>
    <button onclick="clique_botao();">clique aqui</button>
  </body></html>

Livro 1 – Elon Musk

O fundador da Paypal, da Tesla e da SpaceX. O Génio que está a invetar o nosso futuro.

Semana 1 ( 29/10/2020)

Elon Reeve Musk é um sul-africano que nasceu em Pretória, no dia 28 de junho de 1971. Elon tem dois irmãos mais novos, Kimbal e Tosca. O pai, Errol Musk, era um empreendedor e engenheiro. A mãe, Maye, era modelo e nutricionista. Kimbal conta que desde muito novo Elon devorava livros, além de possuir uma memória fotogênica. Dois motivos que fizeram com que ele se tornasse muito bom aluno. Os pais de Musk divorciaram-se quando ele era um jovem de 17 anos. Naquele momento Elon decidiu deixar a África do Sul e ir para o Canadá, visto que a sua mãe era canadense e por este motivo ele conseguiria um passaporte.

Elon estudou administração de empresas durante 2 anos e, quando estava a começar a destacar-se no meio acadêmico, pediu transferência para a Universidade da Pensilvânia, nos Estados Unidos, com uma bolsa de estudos. Ele foi estudar economia na Wharton School. Quando estudava na Universidade da Pensilvânia, Elon Musk escreveu 3 trabalhos

Semana 2 (12/11/2020)

Ao sair de Stanford, 2 anos depois Musk convenceu Kimbal, o seu irmão, a mudar-se para o Sillicon Valley. Foi nesse momento que os irmãos decidiram lançar o primeiro o seu primeiro negócio, a Global Link Information Network, que posteriormente se transformou na Zip2. O objetivo da empresa era ser um classificador online, uma espécie de páginas amarelas virtuais, que listava os serviços de vários tipos de negócios em um diretório ligado a uma base dados.

O começo da empresa não foi fácil, os irmãos alugaram um pequeno escritório em Palo Alto e começaram a contratar funcionários. Naquela época, enquanto Kimbal vendia o produto de porta em porta, Elon era responsável pela programação do site. Errol Musk, o pais dos jovens empreendedores, deu 28 mil dolares para financiar a empresa, mas o capital era não era suficiente que Elon e Kimbal chegaram a dormir no próprio escritório durante 3 meses.

Semana 3 (19/11/2020)

Em março de 1999 nasceu a X.com e em novembro do mesmo ano a segunda empresa de Musk conseguiu a licença para iniciar funções na área da banca. Nos primeiros 2 meses de operação a X.com conseguiu 200.000 clientes.
Em função do sucesso da empresa alguns meses depois surgiu um concorrente, uma empresa chamada Confinity. A Confinity foi criada para que os donos da Palm Pilot, um dispositivo de computador da época, que pudesse enviar dinheiro através da tecnologia infravermelho dos aparelhos. Só que ao perceber que o mercado era pequeno, a Confinity focou suas forças em criar um serviço de pagamentos por e-mail. Nascia ali o PayPal.
Em março do ano 2000 a Confinity e a X.com realizaram uma fusão e mantiveram o nome X.com. A empresa possuía mais de um milhão de clientes e em algumas semanas conseguiu U$100 milhões em investimentos provenientes do Deutsche Bank e do Goldman Sachs. Em junho de 2001 a X.com, que gerava U$240 milhões por ano em receita, mudou de nome para PayPal. Em julho de 2002 o eBay fez uma oferta de U$1.5 bilião pelo PayPal. A empresa foi vendida e Musk arrecadou U$250 milhões com a venda da segunda empresa.

Semana 4 (26/11/2020)

Naquela época Elon Musk decidiu mudar-se para Los Angeles e começou a envolver-se com projetos espaciais. Musk decidiu que usaria seu dinheiro para iniciar uma empresa que construiria foguetes espaciais. Elon descobriu que um foguete de tamanho médio poderia ser utilizado para lançar pequenos satélites e cargas de pesquisa a um preço muito mais barato do que o padrão da indústria aeroespacial. Enquanto empresas da área costumavam cobrar cerca de U$30 milhões para lançar ao espaço uma carga de 250 quilos, Musk prometia que a sua empresa levaria ao espaço uma carga de 650 quilos por U$6.9 milhões. Investindo U$100 milhões do seu próprio bolso  Elon Musk criou a sua terceira empresa, a SpaceX, no dia 6 de maio de 2002, uma empresa que começou a trabalhar na construção de foguetes comerciais. Elon recrutou engenheiros motivados para trabalhar numa empresa de foguetão, assim como trainees diretamente das melhores universidades. Nada foi fácil para a SpaceX. No início os motores funcionavam por 2 ou 3 segundos e explodiam. Depois de meses errando bastante a SpaceX finalmente conseguiu construir motores fiáveis. O primeiro lançamento oficial da empresa de Musk foi em março de 2006. O foguetão, com nome de Falcon 1, explodiu 20 segundos após a descolagem. Um ano mais tarde mais um foguetão foi lançado mas explodiu  5 minutos depois de descolar.

Semana 5 (02/11/2020)

A SpaceX anunciou em 2011 que estava a começar um programa de desenvolvimento de tecnologia de lançamento de foguetões reutilizáveis com fundos privados.
No final de ano de 2012, a SpaceX tinha mais de 40 lançamentos contratados, o que representava cerca de 4 biliões de dólares em receita. Os contratos incluíam clientes comerciais e governamentais (NASA). Em 2013, a SpaceX tinha um total de 50 lançamentos futuros sob contrato, dois terços deles eram para clientes comerciais. Em dezembro de 2015, a primeira tentativa de um foguetão da empresa aterrou à volta de uma plataforma perto do local de lançamento, onde realizou com sucesso uma aterragem vertical. Esta foi a primeira vez que um foguetão realizou algo do tipo após um voo orbital.

Semana 6 (11/12/2020)

Em 2003, J.B. Straubel encontrou-se com Elon Musk na SpaceX e tentou convencê-lo a investir na construção de um avião elétrico. Musk não investiu no projeto, mas ficou interessado quando Straubel falou sobre uma parte que serviria para construir um carro elétrico utilizando baterias de lítio. Musk investiu U$10.000 naquele projeto. Passado um tempo, os fundadores de uma empresa chamada Tesla Motors abordaram Musk. Eles precisavam de U$7 milhões em investimentos para criar e vender um carro desportivo feito com um motor elétrico. Musk investiu U$6.5 milhões e tornou-se o maior acionista e presidente da Tesla

Semana 7 (18/12/2020)

Nascia então em Palo Alto, na Califórnia, a Tesla Motors. O nome é uma homenagem ao cientista Nikola Tesla, revolucionário em conceitos envolvendo corrente elétrica e fornecimento de energia, mas que não recebeu o devido reconhecimento na época. Usar eletricidade ainda não uma era certeza. O objetivo principal era ter uma energia alternativa, desde o gás natural até hidrogênio. Decidida a fonte, o segundo passo era definir bem o público-alvo. Elon Musk não queria só lançar carros que eram ecologicamente sustentáveis, mas não tinham um visual apelativo e bom desempenho. Elon dizia se era para entrar neste ramo era para ser o melhor.

A Tesla começa cheia de problemas e o primeiro problema é a situação dos carros elétricos. No começo dos anos 2000, a indústria tinha destruído vários projetos parecidos ao de veículos elétricos, como o General Motors EV1. As causas iam desde o desinteresse do público a dificuldade na produção de baterias de longa duração até a pressão do resto do mercado, totalmente focado nos combustíveis fósseis.

Semana 8 (31/12/2020)

Depois do quarto lançamento, que foi bem-sucedido, a SpaceX recebeu uma grande notícia. A NASA anunciou que investia U$1.2 bilhão para a SpaceX mas em troca de serviços de transporte por 12 voos para a Estação Espacial da NASA.
Na mesma época Musk utilizou U$40 milhões da SpaceX como empréstimo e injetou na Tesla para evitar que a empresa não declarasse falência.
Após quase entrar em falência a Tesla começou a vender o Roadster no começo de 2009. De 2008 a 2012 a Tesla vendeu aproximadamente 2.500 veículos.
Quando a General Motors e a Toyota anunciaram em 2009 que fechariam a fábrica em Freemont, na Califórnia, Musk comprou a fábrica por U$42 milhões. Na ocasião, a Toyota anunciou que iria investir U$50 milhões em troca de 2.5% da empresa.

Semana 9 (07/01/2021)

Em 2009 a Tesla anunciou que começaria a produzir um novo carro, o Model S, e prometeu começar a entregar os carros em 2010, o que não aconteceu. O modelo começou a ser produzido em 2012, além disso Musk afirmou que a Tesla começou a construir uma rede de carregamento, que se espalhariam por todo os Estados Unidos. Os donos dos carros da Tesla poderiam carregar as suas baterias gratuitamente.

Mas o que aconteceu foi o seguinte: muitas pessoas reservavam o Model S por U$5 mil e poucas de facto compravam o veículo, o que deixou novamente a empresa numa posição financeira desfavorável. Naquele momento Musk disse aos funcionários da Tesla para ligar às pessoas que estavam na lista de espera para vender os carros, além de negociar com Larry Page para que a Google comprasse a Tesla por U$1 bilhão.

Semana 10 (15/01/2021)

A SpaceX e a Tesla não são os únicos negócios de Elon Musk. Em 2006 os primos de Musk criaram uma empresa chamada SolarCity, que instalava painéis solares. Elon tornou-se o maior acionista e diretor da SolarCity. Em 2012 a empresa tornou-se a maior instaladora de painéis solares nos EUA, no mesmo ano em que a empresa realizou o seu IPO. Em 2014 o negócio era avaliado em U$7 bilhões.

Logo de seguida a empresa anunciou que ia começar a vender sistemas de armazenagem de energia, em parceria com a Tesla. A Tesla também anunciou que iria construir a sua própria fábrica para fabricar baterias de lítio para os seus carros. A Gigafactory, como é chamada, é a maior fábrica de produção de baterias de lítio de todo o mundo.

Semana 11 (22/01/2021)

Chegou a chamar-se Tesla Model E, porém depois de uma disputa com a Ford pelo nome acabou por se chamar Tesla Model 3. O Model 3 foi revelado no dia 31 de março de 2016, num evento organizado pela Tesla em HawthorneCalifórnia. A sua produção estava prevista para o fim de 2017, e só em 2020 estaria disponível para aquisição. Entretanto, no primeiro trimestre de 2017 a empresa conseguiu dobrar a sua receita devido ao êxito de vendas dos modelos X e S. Sendo assim, a companhia reiterou o lançamento de seu novo Model 3 para o final desse ano. O Model 3 é um sedan de cinco lugares, fabricado pela Tesla. A apresentação mundial foi feita em 31 de março de 2016 e as primeiras 30 entregas datam de 28 de julho de 2017.

Em 2012, a fim de permitir aos condutores carregar rapidamente seus carros para viagens mais longas, a Tesla começou a construir uma rede de carregamento rápido com 480 volts. A partir de 17 de abril de 2016, havia 616 estações que operam globalmente, com 3 644 carregadores individuais. O Supercharger fornece até 120 kW de potência em corrente contínua (DC), permitindo carregar o Model S 90 kWh totalmente em 75 minutos.