You are on page 1of 10

Linha de Comandos

Função Comando
Limpar linha de comandos cls
Mostrar todas as pastas da diretoria atual dir
Subir uma diretoria cd..
Mudar para diretoria específica cd <localização da diretoria>
python py
Visualização limpa prompt $g
Sair da visualização limpa prompt
Comando no ngrok ngrok <comando do ngrok>
ou ou
Informações sobre o ngrok ngrok

Node
Node is a runtime environment for executing JavaScript code without using a browser

 Used for APIs (Application Programming Interface)


o Back-end services for Web or Mobile apps
 Used for prototyping and agile development
 Used for superfast and highly scalable (example for Paypall, Uber…) because:
o Built 2x fast with fewer people
o 33% less code
o 40% less files
o 2x request/sec
o 35% faster responde time
 Cleaner and more consistent codebase
 Large lib for free

Node it is NOT a programming language.

Node Architecture
What is a runtime environment?

Every browser as a JS Engine that is basically a mechanism that translates JS code into Machine language, for
example:

 Microsoft Edge uses Chackra


 Mozzila Firefox uses SpiderMonkey
 Google Chrome used v8

JS Code JS Engine Machine Code

Because of the existing of JS Engines, a browser provides a runtime environment for JavaScript code.

Node.exe is a program that uses v8 (fastest JS Engine that exists) and embedded inside C++  this allow us to do
things and to test codes that are not possible to test inside a browser for example, it allow us to execute commands
like:
fs.readFile()
http.createServer()
How it Works
Non-blocking = Assynchronous

 Single Thread handles multiple requests at the same time

Blocking = Synchronous

 Single Thread (Error: Reference source not found) handles only one single request at a time, so it only
handles the next request when finishing to process the first one
 It is not efficient
 If we want to speed up the process, we have to put more hardware, because new clients have to wait to a
thread processes their request

Node applications are Assynchronous by default, so it works this way:

1. Request arrives
2. Single Thread goes handle the request, but if it needs to queue the database, it does not wait for the
database to return the corresponding data, instead, the Single Threads goes immediately to the next
request, while the database is executing the queue
3. When the database prepares the result, the message is putted inside an Event Queue
4. Node is always monitoring this Event Queue, so when it finds an event inside, it takes it out and processes it

For this reason Node is ideal for I/O-intensive apps, but must not be used for CPU-intensive apps (Video encoding,
image manipulation service…)

How to Install Node


1. Open Terminal
2. $Node --version  to see if it is already installed and which version
3. Go to nodejs.org
4. Install the latest version of node
5. Go back to terminal
6. $Node --version  confirm the version installed

How to Build an app


1. Go to Terminal
2. Create a folder
2.1. $mkdir first-app
3. Navigate to inside the folder previously created
3.1. $cd first-app/
4. To start coding
4.1. $code .
5. Go to Visual Studio Code and create a js script
6. Go back to terminal and run the script previously created
6.1. $node <file name.js>

Node Module System


Global Objects of JavaScript:
 console.log();  logs something in the console
 setTimeout()  call a function after a delay
 clearTimeout();  stop a function to be called
 setInterval();  repeatedly call a function after a delay
 clearInterval();  stop function to be called repeatedly

In browsers we have the following object:

 window  call a global object of javascript in windows, like:


o window.console.log

Note: global object means it can be accessed anywhere in any files

Modules
We need to module, where we define our variables or functions

2 variables with the same name do not overwrite each other if they are separated by modules

Every file in a node app is considered a module

In object-oriented apps the modules are considered private

To access a function inside a module, outside the module we need to export it and make it public

A module it is not a global object, it appears to be global but it is not


console.og(module);

How to create a module

Windows PowerShell
Função Comando
Mostrar diretoria onde se encontra o ficheiro
Get-Command <ficheiro.exe> | Select-Object -
node.exe (também pode ser usado para outros
ExpandProperty Definition
ficheiros .exe, scripts, entre outros)
Correr ficheiro com o node para verificar
node <nome do ficheiro.js>
resultados

Criar Variáveis de Ambiente


Através da Linha de Comandos
1. Abrir linha de comandos (pesquisar por cmd na barra da procura do Windows)
2. Definir variável com comando setx, de acordo com a seguinte sintaxe:
a. setx <nome da variável> <valor da variável>
3. Enter (se a variável foi criada com sucesso aparece a mensagem “SUCCESS: Specified value was saved”)

Através das definições do Windows


1. Procurar por “variáveis de ambiente” na barra da procura do Windows
2. Selecionar Opção “Editar as variáveis de ambiente do sistema”
3. Clicar em “Variáveis de Ambiente”

4. Clicar em “Novo…”
5. Definir nome e valor da variável e clicar em OK
Ambiente Virtual
O que é?
Ambiente Virtual é um local no computador que contém o python instalado e as bibliotecas que usamos do python.
Este ambiente permite utilizar versões específicas do python, sem que hajam conflitos de versões. Ou seja, podes ter
múltiplas versões no computador, do mesmo programa, sem entrarem em conflito umas com as outras, se cada uma
delas estiver “isolada” num ambiente virtual específico.

Como criar um ambiente virtual


1. Abrir linha de comandos
2. Instalar ou atualizar o pip através dos comandos:
2.1. py -m pip install  caso seja para instalar
2.2. py -m pip install --upgrade pip  caso seja para atualizar para a versão mais recente
3. Criar ambiente virtual através do comando:
3.1. py -m venv <localização com nome da diretoria que pretendemos criar>
3.1.1. Exemplo: py -m venv C:\Users\arita\Desktop\VirtualEnv_A  é criado um ambiente virtual em C:\
Users\arita\Desktop\VirtualEnv_A

Como ativar ambiente virtual


1. Na linha de comandos, navegar até à diretoria onde se encontra o ambiente virtual que criámos anteriormente e
dar o seguinte comando:
1.1. VirtualEnv_1\Scripts\activate

Nota: Enquanto tivermos dentro do ambiente virtual, aparece na linha de comandos o nome do ambiente virtual.

Como desativar
Dar o comando deactivate quando estivermos dentro do ambiente virtual na linha de comandos:

Comandos dentro do Ambiente Virtual


Função Comando
Lista todos os programas e a respetivas
versões que estão intalados dentro do pip list
ambiente virtual
Instala programas específicos dentro do pip install -r <localização do
ambiente virtual que queremos instalar>
Dar a um localhost um URL público (através do ngrok)

Configurar ngrok
1. Abrir linha de comandos
2. Configurar o ngrok com a minha conta ngrok:
2.1. cd <caminho onde se encontra o ngrok.exe>  ir para diretoria onde está o ngrok.exe
2.2. ngrok authoken <token copiado da conta ngrok>  copia ficheiro de configuração ngrok para uma pasta do
computador, que ele depois diz qual

Criar túnel
Criar um túnel entre o meu pc e o ngrok, permite que o ngrok dê à inha aplicação no localhost um URL público. Isto
pode ser feito através do seguinte comando:

1. ngrok http <número do meu localhost>


Se o computador não aceitar a criação do túnel e a bloquear, ao inserirmos o endereço http no browser, ele vai dar o
seguinte erro:

Ativar um servidor web local

O que é um Web Server


"Servidor web (web server)" pode referir ao hardware ou ao software, ou ambos trabalhando juntos.

1. Referente ao hardware, um servidor web é um computador que armazena arquivos que compõem os sites
(por exemplo, documentos HTML, imagens, folhas de estilo, e arquivos JavaScript) e os entrega para o
dispositivo do utilizador final. Está conectado à Internet e pode ser acedido através do seu nome de domínio
(DNS), como por exemplo mozilla.org.
2. Referente ao software, um servidor web inclui diversos componentes que controlam como os utilizadores
acedem os arquivos armazenados para disponibilização, no mínimo um servidor HTTP. Um servidor HTTP é
um software que compreende URLs (endereços web) e HTTP (o protocolo que seu navegador utiliza para
visualizar páginas web.

Em um nível mais básico, o navegador fará uma requisição utilizando o protocolo HTTP sempre que necessitar de um
arquivo disponibilizado num servidor web. Quando a requisição alcançar o servidor web correto (hardware), o
servidor HTTP (software) enviará o documento requerido, também via HTTP.
Como ativar um túnel para uma pasta
1. Abrir linha de comandos e navegar para a pasta que pretendemos que apareça no browser
1.1. Dar comando py -m http.server <port>

2. Abrir o Visual Studio Code


2.1. View > Command Palette
2.2. Dar o comando ngrok: start
2.3. Inserir o port que definimos no ponto 1.1.

Se correr tudo bem, aparece a seguinte mensagem:

Como ativar um túnel para uma página http


1. Abrir página web com um port específico do nosso PC no browser
2. Abrir o Visual Studio Code
2.1. View > Command Palette
2.2. Dar o comando ngrok: start
2.3. Inserir o port do ponto 1.

Se correr tudo bem, aparece a seguinte mensagem:

Como confirmar que o túnel foi bem criado


Acedemos ao endereço que nos foi dado pelo ngrok através de um browser num qualquer dispositivo (pode ser o
nosso ou não) e se conseguirmos aceder, está tudo ok

Nota: O PC onde a página ou a pasta se encontra, tem de estar ligado, caso contrário não conseguimos aceder!

Termos da Programação
Termo Descrição
1. Thread tarefa que um determinado programa realiza
2. OS Operating System
3. fs File System
4. Events Action or occurrence recognized by software
5. http Hypertext Transfer Protocol é um protocolo de comunicação, essencial para a comunicação de
dados da WWW (World Wide Web)
6.

You might also like