Programador iOS - curso 57.780 rublos. da GeekBrains, treinamento de 6 meses, Data: 10 de junho de 2023.
Miscelânea / / December 05, 2023
Noções básicas de programação
Noções básicas de programação
O curso é direcionado a pessoas sem experiência em programação. Para começar a aprender, basta ter conhecimentos de informática ao nível do usuário mais comum. Todo o treinamento ocorrerá no navegador e você não precisará instalar software adicional. Você aprenderá o que é um programa, como ele é executado e se familiarizará com as operações básicas de programação. Falaremos sobre tipos básicos de dados, arrays, ramificações, loops e funções em linguagem acessível. Você ganhará experiência na resolução de problemas simples, mas interessantes, o que lhe dará a base para aprender a resolver problemas muito mais sérios.
Lição 1. Programa, variáveis e tipos de dados
Após a aula você terá uma ideia do que é um programa, que consiste em instruções e dados, você aprenderá tipos de dados escalares em JS, você pode escrever um programa que multiplique dois números inseridos pelo usuário e imprima resultado.
Lição 2. Fluxogramas e ramificações
Após a aula, você terá uma ideia de como visualizar algoritmos usando fluxogramas, entender o trabalho dos operadores de comparação, entender como usar ramificação e quais problemas ela resolve
Lição 3. Ciclos
Após esta lição, você entenderá como visualizar algoritmos cíclicos usando fluxogramas, como usar loops e quais problemas eles resolvem.
Lição 4. Funções
Após a lição, você terá uma ideia de quais problemas são resolvidos colocando código em funções, e será capaz de criar funções, inclusive aquelas que aceitam argumentos.
Lição 5. Matrizes
Após a lição, você terá uma ideia de quais problemas os arrays resolvem, será capaz de criar arrays, adicionar e receber seus elementos.
Noções básicas da linguagem Swift. 1 mês.
Tecnologias modernas de programação para Apple em Swift 5.2, Xcode 11
Swift é uma nova linguagem da Apple que apareceu em meados de 2014. Apesar de sua novidade, está se desenvolvendo rapidamente e inclui todas as melhores construções de programação emprestadas de muitas linguagens modernas. Existem apenas alguns especialistas que conhecem o Swift no mercado atualmente. Este curso o ajudará a aprender os fundamentos da sintaxe do Swift e a obter uma boa experiência de programação na linguagem.
Lição 1. Introdução à Programação
Lição introdutória. Conhecendo o idioma. Tipos de dados básicos. Xcode, parque infantil. Variáveis, constantes e coleções de dados. Depurador.
Lição 2. Sintaxe Swift e operadores básicos
Estudo contínuo das estruturas sintáticas da linguagem e dos operadores básicos
Lição 3. Tipos de dados complexos
Introdução a dados complexos. Estruturas. Transferências. Propriedades e métodos. Construtor.
Lição 4. Introdução à POO - Programação Orientada a Objetos
Como descrever objetos do mundo real e criá-los de acordo com a descrição. Classes e objetos. Herança. ARC e uma introdução ao gerenciamento de memória.
Lição 5. OOP: requisitos de classe, protocolos, extensões, polimorfismo, composição
Descrevemos os requisitos para as aulas. Protocolos. Extensões. Polimorfismo. Composição.
Lição 6. POO avançado
Técnicas de verdadeiros gurus. Genéricos. Fechamentos Assinatura. Funções de ordem superior.
Lição 7. Gerenciamento de erros de aplicativos
Aprendemos a procurar erros e prever sua ocorrência. Tentar/capturar exceções. Erro.
Lição 8. Consulta com um professor
Eita. Curso básico
Noções básicas de Git
13 vídeos ensinarão o básico sobre como trabalhar com o sistema de controle de versão Git. Você aprenderá por que isso é importante no desenvolvimento moderno. Aprenda os conceitos básicos: repositório, commits, ramificações e tags. Operações de chave mestra: criação e clonagem de um repositório, fusão de ramificações, consulta de histórico de alterações e muito mais. Após o treinamento, você estará pronto para usar o Git para preparar tarefas de casa para cursos de programação em qualquer idioma. Além disso, você ficará mais próximo da entrevista, onde diversas perguntas costumam focar no controle de versão.
Lição 1. Introdução ao Git
Lição 2. Instalando e configurando o Git
Lição 3. Comandos básicos do terminal
Lição 4. Trabalhando com repositórios no Git
Lição 5. Gerenciamento de arquivos de repositório
Lição 6. Histórico de mudanças
Lição 7. Trabalhando com ramificações de repositório
Lição 8. Publicando um repositório
Lição 9. Fusões de filiais
Lição 10. Gerenciamento de versão
Lição 11. Criando uma solicitação pull
Lição 12. Operações complexas
Lição 13. Trabalhando com repositórios Fork
Noções básicas de banco de dados. 20 aulas.
Design de banco de dados e consultas SQL
Bancos de dados (BDs) são sistemas de armazenamento e processamento de dados que são acessados através da linguagem SQL (Structured Query Language). Qualquer site, jogo ou aplicativo de desktop moderno precisa de armazenamento de dados. No momento, existem muitos sistemas de gerenciamento de banco de dados (SGBD) diferentes, sendo o mais popular o MySQL. “Database Basics” são 20 videoaulas intensivas (10 minutos cada), onde passaremos por todas as etapas do design do banco de dados usando o exemplo de uma loja online usando a linguagem de consulta SQL. Após este curso, você poderá utilizar diversos bancos de dados, como MS SQL e Postgre Sql, já que a sintaxe SQL para eles é praticamente a mesma.
Lição 1. Bancos de dados relacionais
Qual é a diferença entre um banco de dados e um SGBD; quais bancos de dados são chamados de relacionais; visão geral do SGBD moderno.
Lição 2. Instalando o SGBD
Instalação do SGBD MySql e da aplicação gráfica Mysql Workbench.
Lição 3. Design de banco de dados, formulários normais
Desenho de dados em Excel; formas normais; chave primária.
Lição 4. Comando SQL CRIAR
Criação de tabelas na GUI do MySql Workbench; comando CRIAR; tipos de dados; trabalhar no console.
Lição 5. Comando SQL INSERT
Preenchimento de tabelas com dados através de interface gráfica; Comando INSERIR; INCREMENTO AUTOMÁTICO.
Lição 6. Comandos SQL SELECT e WHERE
Recebimento e filtragem de dados utilizando comandos SQL SELECT e WHERE; verificando NULL; filtragem de dados por diversas condições.
Lição 7. Comandos SQL DISTINCT, ORDER BY, LIMIT
Recebimento e filtragem de dados utilizando comandos SQL DISTINCT e LIMIT; classificação usando o comando ORDER BY.
Lição 8. Comandos SQL DELETE e UPDATE
Atualização e exclusão de dados utilizando comandos SQL DELETE e UPDATE; filtragem de dados usando WHERE IN.
Lição 9. A consistência dos dados
O conceito de consistência ou consistência de dados.
Lição 10. Chave externa
O conceito de chave estrangeira e restrições nos valores das colunas; RESTRIÇÕES-CHAVE ESTRANGEIRAS.
Lição 11. Criando tabelas com um relacionamento muitos para muitos
Adicionando um carrinho ao banco de dados da loja online.
Lição 12. Chave primária composta
Usando uma chave primária composta ao projetar uma tabela com um relacionamento muitos para muitos.
Lição 13. Mesclando dados de várias tabelas
Recuperação de dados de diversas tabelas inter-relacionadas; inconsistência da abordagem usando vários SELECTs.
Lição 14. Operador INNER JOIN
Unir dados de várias tabelas usando o operador INNER JOIN.
Lição 15. Operadores LEFT JOIN, RIGHT JOIN
Unir dados de várias tabelas usando os operadores LEFT JOIN e RIGHT JOIN.
Lição 16. Operador UNIÃO
Combinando os resultados de múltiplas consultas SQL usando o operador UNION.
Lição 17. Funções de agregação
Funções de agregação COUNT, SUM, MIN, MAX.
Lição 18. Operador GROUP BY
Agrupe um conjunto selecionado de linhas usando a cláusula GROUP BY.
Lição 19. Índices
Filtrando em GROUP BY usando HAVING; aumentando a velocidade de execução de consultas usando índices.
Lição 20. Transações
Conceito de transação; Instrução TRANSAÇÃO; Requisitos ACID para o sistema de transação.
Interface de usuário de aplicativos iOS. 1 mês.
Swift 5.2 Xcode 12
Quais são os principais recursos dos aplicativos móveis mais modernos? Interação com o serviço. Exiba e altere dados em um servidor externo! Não existem aplicativos sem interface de usuário. Essa é a cara do seu projeto. Pode ser usado para atrair e reter usuários. Ao implementar uma conexão com o serviço, você pode organizar a interação dos usuários entre si ou com o seu negócio.
Lição 1. Design de interface, parte 1. Análise dos recursos básicos da rede e sua aplicação na prática
Análise das principais capacidades da rede e sua aplicação na prática.
Lição 2. Design de interface, parte 2. Adicionando telas. Transições entre telas. UINavigationController. Segue
Adicionando telas. Transições entre telas. UNavigationController. Segue.
Lição 3. Design de interface, parte 3. Exibimos os dados na forma de uma tabela. UITableViewController, UITableViewCell, UICollectionViewController, UICollectionViewCell
Exibimos os dados na forma de uma tabela. UITableViewController, UITableViewCell, UICollectionViewController.
Lição 4. Criando componentes de UI personalizados
Desenhando com CoreGraphics. @IBDesignable e @IBInspectable. CALayer: sombras, bordas, máscara, gradiente. Transformação. Processando gestos do usuário. UIControl. Aparência da interface do usuário.
Lição 5. Consulta com o professor 1
Lição 6. Personalização de coleções
Criação de células de tabela personalizadas, visualizações de cabeçalho e rodapé. Criação de células de coleção personalizadas, visualizações complementares. Trabalhando com UICollectionViewFlowLayout. Criando um layout de visualização de coleção personalizado.
Lição 7. Animações, parte 1. Animações UIView simples. Animar transições entre UIViews. Animações de camada. Animações de primavera
Animações UIView simples. Animar transições entre UIViews. Animações de camada. Animações de primavera.
Lição 8. Animações, parte 2. Grupos de animação. Curvas de Bézier e sua animação. Animações 3D. UIViewPropertyAnimator
Animações de quadro-chave. Grupos de animação. Curvas de Bézier e sua animação. Animações 3D. UIViewPropertyAnimator.
Lição 9. Animação de transições entre telas
Animar transições entre UIViewController. Transições interativas entre controladores de visualização. Criando sua própria segue.
Lição 10. Consulta com o professor 2
Aplicativos iOS cliente-servidor. 1 mês.
Swift 5.2, Xcode 12
Você dominará técnicas para desenvolver aplicativos de alta carga. Você trabalhará com arquivos e arquivos. Aprenda a gerenciar processos em segundo plano, otimize o aplicativo para carregar grandes quantidades de dados. Você também aprenderá métodos para desenvolver aplicativos com interface universal. Obtenha experiência com o popular serviço Firebase Backend do Google. Você também participará do processo de publicação do aplicativo na AppStore.
Lição 1. Usando os padrões Observer, Singleton e Delegate
Estudamos a implementação dos padrões mais populares no iOS. Vamos nos familiarizar com o NotificationCenter.
Lição 2. Rede
Aprendendo a trabalhar com solicitações de rede. Anatomia das solicitações HTTP. Visão geral de ferramentas e bibliotecas para trabalhar com solicitações de rede. Envio de solicitações usando URLSession.
Lição 3. Mapeamento json
Vamos converter a resposta json do servidor em objetos de aplicação. Anatomia do formato JSON. JSONSerialização.
Lição 4. Armazenamento de dados
Uma visão geral de ferramentas e bibliotecas para armazenamento persistente de dados em um aplicativo. Padrões do usuário, Arquivos. Dados principais. SQLite, Reino, Chaveiro.
Lição 5. Consulta com o professor 1
Lição 6. Realm - sistema de gerenciamento de banco de dados de objetos
Revisão detalhada do Realm. Salvar, recuperar, excluir, filtrar dados
Lição 7. Notificações no reino
Monitorando mudanças no Realm. Atualização automática da IU.
Lição 8. Back-end do Firebase
Usamos um servidor externo para armazenar dados do aplicativo. Dominando o Firebase Framework. Conectamos os mecanismos de “Registro” e “Autorização do Usuário”.
Lição 9. Mecânica da App Store
Publicamos o aplicativo na App Store. Estamos explorando as possibilidades de monetizar aplicativos móveis.
Lição 10. Consulta com o professor 2
Desempenho de aplicativos iOS. 1 mês.
Swift 5.2 Xcode 12
O curso cobrirá os conceitos e tecnologias de multithreading, cache e solução de problemas relacionados ao desempenho da interface do usuário.
Lição 1. Programação paralela. Fio.
Introdução aos conceitos de código multithread e assíncrono. Gerenciamento de fluxo. Executar Loop. Fio.
Lição 2. Programação paralela. GCD
Estudamos a biblioteca Grand Central Dispatch e simplificamos o gerenciamento de fluxo.
Lição 3. Programação paralela. NSOperação
Introdução à biblioteca NSOperation para organização de código multithread e execução paralela de tarefas.
Lição 4. Consulta
Lição 5. Código assíncrono. Conceitos de Futuros e Promessas
Introdução Conceito de promessa/futuro Um pouco de teoria Prática
Lição 6. Práticas de trabalho com UITableView e UICollectionView
Procuramos problemas no funcionamento de tabelas e coleções. Abandonamos o AutoLayout em favor do layout em frames. Processamos dados em um thread paralelo e armazenamos imagens em cache.
Lição 7. Padrões de feed de notícias
Padrão de puxar para atualizar. Padrão de rolagem infinito. Calcule o tamanho da célula para futuras imagens carregadas.
Lição 8. Consulta
Algoritmos e estruturas de dados. Curso básico.. 1 mês.
Soluções eficientes para problemas de computação
O curso fundamental “aumenta” o conhecimento básico da ciência da computação. Dá uma compreensão de como funciona a linguagem de programação e os comandos e soluções usadas no código. Usando a linguagem C como exemplo, os alunos serão capazes de “sentir” os mecanismos que fundamentam os frameworks modernos. O curso fornece conhecimentos que distinguem um programador de um “usuário” que escreve código.
Lição 1. Algoritmos Simples
Introdução a C. Estruturas. Algoritmos.
Lição 2. Complexidade assintótica do algoritmo. Recursão
Complexidade assintótica do algoritmo. Pesquisa recursiva. Torre de Hanói.
Lição 3. Pesquise em uma matriz. Tipos simples
Pesquise em uma matriz unidimensional. Pesquisa de interpolação. Classificando uma matriz.
Lição 4. Programaçao dinamica. Pesquisar por retorno
Maior subsequência comum. Programaçao dinamica. Pesquisa retroativa. Problema das oito rainhas.
Lição 5. Estruturas de dados dinâmicas
Pilha, fila. Criando uma pilha usando um array. Estruturas de dados dinâmicas.
Lição 6. Árvores
Árvores de pesquisa binária. Função hash. MD5. Tabelas hash.
Lição 7. Gráficos. Algoritmos em gráficos.
Gráficos, percurso do gráfico em largura e profundidade. Algoritmo de onda. "Algoritmos gananciosos".
Lição 8. Classificações complexas
Classificação Hoare (classificação rápida). Classificação de heap e classificação de mesclagem. ContandoClassificação. Algoritmo com lista (ordenação por buraco). Classificação de bloco.
Estágio na GeekBrains. 2 meses.
Em formato de webinar
Durante o estágio, os alunos terão que trabalhar remotamente em um projeto ou startup Open Source. Os alunos serão convidados a escolher entre um conjunto de projetos disponíveis para desenvolvimento. Os alunos aprenderão a trabalhar em equipe, se comunicar com outros desenvolvedores, produtos e gerentes de projetos, designers, estudarão metodologias flexíveis, a estrutura SCRUM e dominarão os princípios trabalho remoto. O resultado do estágio é a capacidade de trabalhar em equipe, a adição de um portfólio e a oportunidade de indicar o trabalho em um projeto como principal experiência de trabalho em seu currículo. O estágio decorre em formato de trabalho remoto a tempo parcial, reuniões semanais de status com o docente em formato webinar.
Lição 1. Conhecendo-se, escolhendo um projeto
Que funções existem no desenvolvimento? Gerente de Produto, Gerente de Projetos, desenvolvedor, designer. O que é MVP. Arquitetura do serviço moderno. Como os desenvolvedores interagem entre si. API REST, soquete da Web. Backend, Frontend, aplicativos móveis. Arquitetura de microsserviços. Noções básicas de trabalho remoto. Inscreva-se em equipes.
Lição 2. Metodologias de desenvolvimento
Revisão de metodologias. Cascata (cascata), Manifesto Ágil, Kanban, Scrum. Onde e para que são usados. Metodologias mistas.
Lição 3. Metodologia SCRUM
Trabalhe usando SCRUM. Planejamento de sprints. Preparação do backlog. Objetivo de sprint. Incremento. Metodologia flexível em condições de trabalho remoto. Rastreadores de tarefas (Trello, Favro)/
Lição 4. Mapeamento de história de usuário
Tipos de tarefas. Decomposição de tarefas. Mapeando histórias de usuários. Trabalhando em histórias de usuários. Trabalhando com especificações técnicas utilizando metodologias cascata e flexíveis.
Lição 5. Responsabilidade, motivação, crescimento pessoal
O que e como se motivar. Quais são os níveis de motivação? Como não se esgotar no trabalho. E como não esquecer do trabalho.
Lição 6. Escrevendo um currículo
Como escrever um currículo para que o RH não o rejeite. Como interessar um empregador. Como demonstrar as habilidades adquiridas em seus estudos se você ainda não possui experiência profissional relevante.
Lição 7. Resumo preliminar, preparação para defesa do projeto
Análise de currículos de alunos. Resumo preliminar. Um pouco sobre startups, monetização, investidores.
Lição 8. Resumindo, demonstrando o projeto final
Demonstração de um protótipo funcional pelos alunos. Discussão dos resultados obtidos. Feedback do professor. Palavras de despedida.