Baixe o app para aproveitar ainda mais
Prévia do material em texto
Santander Fullstack Bootcamp Developer Módulo 1 Lógica e Lógica de programação A.1 Lógica, metacognição e abstração --> O que é lógica? · Coerência de ideias -> Sequência coerente --> Lógica de Programação · Contextualizar a lógica na programação de computadores -> Melhor sequência de ações (Algoritmo) para solucionar um problema. --> Metacognição · Pensar como você pensa --> Abstração · Divisão do todo em partes -> reduzir e descobrir um método mais fácil A.2 Algoritmo e Pseudocódigo --> Algoritmo · Sequência de passos para resolver um problema --> Pseudocódigo · Forma genérica de escrever um algoritmo utilizando uma linguagem simples e detalhada · Usa apenas para aprender A.3 Fluxograma --> Ferramenta utilizada para representar graficamente o algoritmo -> sequência lógica e coerente do fluxo de dados Início - Entrada - Processamento - Saída - Fim --> É um tipo de diagrama, pode ser entendido como uma representação esquemática de um processo · Documentação dos passos necessários para execução de um processo qualquer. Ex: Escovar os dentes Início - pegar a escova - pegar a pasta - colocar na escova - etc - fim Diagrama de blocos --> Utilizado para representar cada método ~> Não existe um padrão: --> Inicia -> variáveis (casas reais) Variáveis e Constantes --> Variáveis · Um objeto capaz de reter e representar um valor ou uma expressão · É um espaço na memória do computador destinado a um dado que é alterado durante a execução do Algoritmo · Declaração de variáveis Inicio Declara nota 1: Número Declara nota 2: Número Declara nota 3: Número Leia (nota 1) Leia (nota 2) Leia (nota 3) Média = (nota 1+2+3)/3 Imprimir = média FIM · As variáveis e as constantes podem receber 4 classificações diferentes:- Numéricas - Alfanuméricos ↳ Letras e números - Caracteres - Lógicas ↳ V/F --> Constantes · Valores imutáveis durante a vida útil do programa ⇢ Sempre o mesmo Inicio - Declara Pi = 3.14 - Declara raio(variáveis) = número -> Fim Flowgorithm (Flowgorithm) --> Variáveis ⇢ não se escreve com espaços e evita acentuações: Nota 1, nota 2, ... X nota1,nota2,... ✔ ↳ Começa sempre com letra A.4 Tomadas de decisões e expressões --> Expressões Aritméticas · Expressões que utilizam operadores aritméticos e funções aritméticas envolvendo constantes e variáveis Exibir 50 + 50 ou Exibir total + 50 --> Operadores Aritméticos: Soma + Divisão / Subtração - Potenciação ^ Multiplicação * Porcentagem % --> Expressões literais · Expressões com constantes e/ou variáveis que possuem resultados literais. · Usada na atribuição de valor para uma variável ou constante (=) Nome = “José da Silva” Nome <- “José da Silva” Media = (nota1+nota2+nota3+nota4)/4 Variáveis Comando de Atribuição/ Operação Procedimento a/b/c a=2 Armaz. Valor 2 Na variáv. a b=a+3 Soma a(2) + 3 e Armaz b(5) c=a+b Soma a(2) + B(5) E armaz. C(7) Expressões Aritméticas e literais: --> Operações relacionais · Expressões compostas por outras expressões ou variáveisnuméricas com operadores relacionais ~> retornam valores lógicos (V/F) Operadores Relacionais Símbolo Nome do Operador Símbolo Nome do Operador > Maior que == Igualdade >= Maior ou igual <= Menor ou igual < Menor que != ou <> Diferente --> Tomadas de decisão · Quando escrevemos programas geralmente ocorre a necessidade de decidir o que fazer dependendo de alguma condição encontrada durante a execução. Programa Fluxogram Principal Caracteres Cliente Lógico Cartão Caracteres Número Entrada Cliente Entrada cartão Falso Verdadeiro Alternativa Saída = “Infelizm. Entrada só pd cartão...” NúmeroFalso Fim A.5 Concatenação · Termo usado para designar a operação de unir o conteúdo de duas strings Sequência de caracteres · Agrupamento de duas ou mais células que, incluindo fórmulas, textos ou outras informações, dá origem a um único resultado. Saída: “fase” & variável Concatenação é representada, dependendo da linguagem, por: & . + Saída: “O seu nome é:” &nome& “O seu nome é:” &sobrenome PORTUGOL: escreva(“Olá, ” +nome+ “bem-vindo”) B.1 Estrutura de repetição --> Na lógica de programação é uma estrutura que permite executar mais de uma vez o mesmo comando, ou conjunto de comandos, de acordo com uma condição ou um contador Principal Inteiro, número, limite número = 0 limite = 10 Número <= limiteSaída “2x” &número “=” & 2*número Número + 1 FIM B.2 Linguagens de programação e portugol --> Linguagem de programação · Linguagem escrita e formada que especifica um conjunto de instruções e regras para gerar programas (software) Pode ser desenvolvido para rodar em um computador, dispositivo móvel ou qualquer equipamento que permite a sua execução. · A função das linguagens de programação é servir de um meio de comunicação entre computadores e humanos Tipos de linguagem · Alto nível - sintaxe se aproxima mais da nossa linguagem e mais distante da linguagem da máquina · Baixo nível - mais se aproxima da linguagem de máquina. -> precisa ter conhecimento direto da arquitetura do computador · Compiladas - o código fonte é executado diretamente pelo sistema operacional ou pelo processador, depois de traduzido pela compilação · Compilados - pega o código e o transforma em um arq. Executável .exe ~> executa sobre um S.O. O código fonte é transformado em linguagem de máquina. · Interpretadas - o código fonte é executado por um programa chamado interpretador e executador (em seguida) pelo S.O ou pelo processador. Compiladas -> C Sharp, visual, basic, delphi, c++, .... Interpretadas -> JavaScript, php, python, ... B.3 Portugol --> uma pseudolinguagem que permite desenvolver algoritmos estruturados em português de forma simples e intuitivas, independente de linguagem de programação. --> uma pseudolinguagem que permite pensar no problema e não no equipamento que irá executar o algoritmo {} início e fim. Desvios condicionais SE -> palavra reservada (usada para um determinado uso e não pode ser variável) SE é utilizada: a condição a ser testada entre parêntesis e as instruções que devem ser executados entre chaves. Se(condição {instruções} Se (media >= 7){ (“Parabéns ...”) } SENÃO - usa-se quando é falso Se (media >= 7) { escreva (“Parabéns ...”) } Senão { escreva (“Infelizmente, ...”) } CASO - similar ao SE e ao SENAO, reduz a complexidade na escolha de diversas opções ~> não é possível o uso de operadores lógicos, apenas valores definidos. inteiro valor = 0 escolha (valor) { caso 1: escreva(“...”) pare ... caso contrario: escreva(“...”) B.4 Laços de Repetição --> Estrutura que permite executar mais de uma vez o mesmo comando ou conjunto de comandos de acordo com uma condição ou um contador Matrizes e Vetores · Matriz é uma coleção de variáveis de mesmo tipo, acessíveis com um único nome e armazenados em ordem na memória · Índices mostram cada posição dos variáveis · Vetores são matrizes de uma só direção ~> linhas ou colunas Vetor: Cadeia de frutas [4] frutas[0] = “maçã” frutas[1] = “pera” frutas[2] = “uva” frutas[3] = “jaca” Escreva (frutas[2]) Cadeia cesta [ ] [ ] = {{“Maçã”,”100”},{“Pera”,”200”},{“Melão”,”300”}} Escreva(“Fruta: “ + cesta[0][0] + “quantidade”+cesta[0] [1]) Módulo 2 A.1 Introdução ao Git e ao Github GIT - Sistema de versionamento de código distribuído GITHUB - Servidor remoto para armazenamento de código GUI x CLI(Comand Line Interface) Linha de comandos + difícil. Aprende conceitos base (Grafic User Interface) Interface gráfica desenvolvida para facilitar a interação do usuário Unix (Linux e apple) CD LS MKDIR RM-RF A.2 Entendendo como o GIT funcionaWindows CD DIR MKDIR DEL/RMDIR --> SHA1 ~> Secure Hash Algorithm · Conjunto de funções hash criptográficas projetadas pela NSA ~> pegaum arquivo e criptografa ele de forma específica. · A encriptação gera um conjunto de caracteres de 40 dígitos ~> único e identificável · Forma curta de identificada ~~> openssL sha1 arquivo Objetos internos do GIT que usam sha1 · Blobs o Trees o Commits -> 3 principais objetos básicos responsáveis pelo versionamento do código · Blobs - guarda os arquivos e contém o tamanho do arquivo, o tipo e o conteúdo (contém metadados) echo -e ‘blob 9\0 conteúdo’| openssL · Trees - Contém blobs Contém o nome dos arquivos e apontam para outras trees Commit Tree Tree Blob Blob Tree ... ... Blob ... ... · Commit - leva tudo -> tree -> parente - exp. os aqr. -> autor -> timestamp - marca o tempo em que foi criado --> se mudar uma , todos os sha1 mudam --> por isso o git é confiável A.3 Iniciando o GIT Abrir o arq. com git bash git init -> inicia o git, cria uma pasta e um repositório git add -> move os arquivos e dá inicio ao versionamento git add nomeArquivo | git add* | git add. git commit -> cria um commit LS -> gera uma lista do conteúdo -a -> FLAG ~> mostra os arquivos ocultos ls -a git clone -> copia um código do github git clone url código git status -> mostra informações sobre a pasta HTML -> esqueleto de qualquer pág na web Markdown (.md) -> tipo de arquivo e uma forma mais humana de fazer um html ~> ECHO ~~> echo > nome.tipo de arq. (.md/.txt/exe/...) Tracked -> arquivos conhecidos Untracked -> arquivos que não se tem ciência --> Para mudar de um repositório local par aum repositório remoto: 1º add origem ~> git remote add + nome(origin) + link (no github 2º git push para empurrar os dados ~> git push (nome) máster Módulo 3 Conceitos e melhores práticas com bancos de dados PostgreSQL Aula 1 Introdução ao banco de dados PostgreSQL A.1 Fundamentos de bancos de dados --> O que são dados Valores brutos, fatos brutos, observações documentadas, registros soltos, que são recolhidos e armazenados sem sofrer qualquer tratamento 011984562736 6452164814 Emengarda Rogério 017895247562 6598562345 Daniel Cleonice 061985412365 Divanildo --> o que são informações Estruturação de dados, organização dar sentido aos dados TELEFONES PROPRIETÁRIOS 011984562736 6452164814 Emengarda Rogério 17895247562 6598562345 Daniel Cleonice 061985412365 Divanildo Modelos relacionais --> Modelo explica o comportamento de um Software --> Modelo de dados representativo e todos os dados são classificados em linhas e colunas TELEFONES PROPRIETÁRIOS 011984562736 ----------> Emengarda 6452164814 ------------> Rogério 017895247562 ----------> Daniel 6598562345 ------------> Cleonice 061985412365 ----------> Divanildo Ou TELEFONES PROPRIETÁRIOS 011984562736 Emengarda 6452164814 Rogério 017895247562 Daniel 6598562345 Cleonice 061985412365 Divanildo (Podem existir dados sem relação) Tabelas: --> Conjuntos de dados em colunas e linhas referentes a um objetivo comum. As colunas são consideradas como “campos da tabela”, como atributos da tabela. As linhas de uma tabela são chamadas também de tuplas, e é onde estão contidos os valores, os dados. --> Regras básicas sobre tabelas: · São coisas tangíveis --> Elementos físicos (carro, produto, animal) · Funções --> perfis de usuário, status de compra · Eventos ou ocorrências --> produtos de um pedido, histórico de dados --> Colunas importantes: · Chave primária/Primary Key/PK Conjunto de um ou mais campos nunca se repetem. Identidade da tabela. São utilizados como índice de referência na criação de relacionamentos entre tabelas · Chave estrangeira/Foreign Key/FK Valor de referência a uma PK de outra tabela ou da mesma tabela para criar um relacionamento entre as tabelas e garantir a integridade dos dados A.2 Sistemas de gerenciamento de banco de dados SGBD (ou Sistemas de gestão de base de dados) --> Conjunto de programas ou sooftrwares responsáveis pelo gerenciamento de um banco de dados. Programas que facilitam a administração de um banco de dados. -> SGDB, Oracle, PostgreSQL, MySQL, SQL Server Microsoft, mongoDB, elsticsearch, IBM DB2, ... Introdução ao PostegreSQL --> O que é o PostreSQL? > Sistema de gerenciamento de banco de dados objeto racional. > Teve início no Departamento de ciência da Computação na universidade da Califórnia em Berkeley em 1986 SGBD Opensource -> Banco de dados de código aberto e pode ser modificado e usado por qualquer pessoa Arquitetura multiprocessos: Principais características: · OpenSource · Point in time recovery -> mantém os dados por 24h e pode ser restaurado · Linguagem procedural com suporte a várias linguagens de programação (perl, python, etc) · Views, functions, procedures, triggers · Consultas complexas e Common table expressions(CTE) · Suporte a dados geográfricos (PostGIS) · Controle de concorrência multi-versão Aula 2 Conceitos e melhores práticas com banco de dados PostgreSQL A.1 Configurações: -->Arquivo postgresql.conf · Arquivo onde estão definidas e armazenadas todas as configurações do servidor PostegreSQL. · Alguns parâmetros só podem ser alterados com uma reinicialização do banco de dados. · A view pg_settings, acessada por dentro do banco de dados, guarda todas as configurações atuais. -> Localização do arquivo · Dentro do diretório PGDATA definido no momento da inicialização do cluster de banco de dados. -> Configurações de conexão · LISTEN_ADDRESSES > Endereço(s) TCP/IP das interfaces que o servidor PostgreSQL vai escutar/liberar conexões · PORT > A porta TCP que o servidor PostgreSQL vai ouvir. O padrão é 5432 · MAX_CONNECTIONS > Número máximo de conexões simultâneas no servidor PostgreSQL o SUPERUSER_RESERVED_CONNECTIONS > Número de conexões(slots) reservadas para conexões ao banco de dados de super usuários. -> Configurações de autenticação · AUTHENTICATION_TIMEOUT > Tempo máximo em segundos para o cliente conseguir uma conexão com o servidor · PASSWORD_ENCRYPTION > Algoritmo de criptografia das senhas dos novos usuários criados no banco de dados · SSL > Habilita a conexão criptografada por SSL (Somente se o PostegreSQL foi compilado com suporte SSL) -> Configurações de memória · SHARED_BUFFERS > Tamanho da memória compartilhada do servidor PostgreSQL para cache/buffer de tabelas, índices e demais relações · WORK_MEM > Tamanho da memória para operações de agrupamento e ordenação (ORDER BY, DISTINCT, MERGE JOINS). · MAINTENANCE_WORK_MEM > Tamanho da memória para operações como VACUUM, INDEX, ALTER TABLE. Comandos no cmd - terminal do Windows e no Git Bash ambos DIR/LS -> gera uma lista do conteúdo CD ~> Change Directory -> navega entre os arquivos CD .. -> retrocede o arquivo c:\users\Pc home Fev 2020\Desktop> cd .. c:\users\Pc home Fev 2020> CD + ↑ -> mostra os comandos usados anteriormente CLS/ctrl+L ~> Clear screen -> limpa o terminal MKDIR -> Cria uma pasta/repositório mkdir pasta ECHO -> coloca no terminal determinada frase/tipo de arquivo(.md/.txt/exe/...) echo > nome.tipo de arq. (.md/.txt/exe/...) DEL -> apaga todos os arquivos de uma pasta RMDIR -> Apaga a pasta/repositório ~> só apaga se estiver vazia ou se usar as flags -> /s /q rmdir pasta /s /q /S -> apaga todos os arquivos /Q -> não pede permissão TAB -> Usa como atalho para completar o nome dos arquivos Sha1 -> criptografa o arquivo openssL sha1 arq. git init -> inicia o git, cria uma pasta e um repositório git add -> move os arquivos e dá início ao versionamento git add nomeArquivo | git add* | git add. git commit -m -> cria um commit -a -> FLAG ~> mostra os arquivos ocultos ls -a git clone -> copia um código do github git clone url código git status -> mostra informações sobre a pasta
Compartilhar