Cassio Greco. Fundador da Conta Simples
|
|
|
- Sebastião Gentil Conceição
- 7 Há anos
- Visualizações:
Transcrição
1 Cassio Greco Fundador da Conta Simples
2 Porquê usar Go em serviços financeiros
3 Agenda 1. Uma básica introdução sobre Go 2. Porquê e como usamos Go na Conta Simples 3. Resolvendo problemas complexos em Go 4. Conclusão
4 O básico sobre Go
5 O básico sobre Go Procedural, assim como C Possui estruturas normalmente encontradas em OO, i.e. "polimorfismo" (interfaces) Possui ponteiros Fortemente e estaticamente tipado Utiliza garbage collection para livrar memória Compila diretamente em código de máquina compatível com vários SOs. Não precisa de VM Compilação muito rápida Criado para a nova web Opinionated, há uma única maneira de se fazer as coisas Não há exceptions. Erros são retornados pelas funções
6 Porque e como usamos Go na Conta Simples
7 Motivação Estamos criando um banco do zero. Queremos criar um sistema que possa escalar daqui alguns anos Queremos uma linguagem que nasceu pra nova web e que possa se manter moderna nos próximos anos Queremos poder contratar desenvolvedores prontos para trabalharem ou que possam aprender e se adaptar rapidamente Queremos criar um sistema que seja performante Queremos escolher uma linguagem que nos permita ser produtivo Queremos uma linguagem que nos permita aproveitar as melhores tecnologias disponíveis hoje para facilitar a nossa vida
8 Motivação Precisamos de uma linguagem que nos permite atender a todos os pontos mencionados Java 8 vs Go
9 Porque escolhemos Go? Go é uma linguagem altamente opinionated. Mais fácil escrever código em Go Mais fácil trabalhar com concurrency em Go Go é mais rígido com tipos (valores nulos, ponteiros, referência, slices, etc.) Go é mais explícito, o que leva a menos bugs A compilação do código é muito rápida, especialmente comparada com Java Requer menos dependências para se criar um micro serviço e testá-lo Não precisa de uma máquina virtual, compila para quase código de máquina É muito fácil criar um micro serviço em Go. Ótimo para sistemas distribuídos
10 Criando um sistema distribuído em Go
11 Client REST API Gateway grpc Client Microservice grpc REST Microservice Client REST grpc grpc...
12 Criando um sistema distribuído em Go Criado para a nova web => facílimo a criação de servidores REST ou de RPC, precisando de poucas linhas e utilizando somente a standard library de Go Biblioteca de networking extensa dentro da biblioteca padrão de Go Criação de endpoints e chamadas de APIs não necessitam de bibliotecas de terceiros
13 Sistemas distribuídos em Go Mas também há suporte para os mais diversos frameworks e bibliotecas para o desenvolvimento web em Go, como grpc, Protocol Buffers, JWT, etc.
14 Sistemas distribuídos em Go Suporte para os mais diversos bancos de dados, queues, etc. Nos permite escolher a melhor ferramenta para a tarefa Microservice Microservice Put SQS Read
15 Sistemas distribuídos em Go O código é compilado para código de máquina compatível com os principais SOs: Linux, Windows e MacOS Não precisa necessariamente de containers, apenas jogue o executável no servidor e rode Não precisa de VM
16 Concorrência
17 Concorrência Altamente performante e concorrente Compilado em código de máquina => nos permite economizar no número de servidores que usamos Concorrência em Go é feita através de Goroutines Use a palavra chave go para executar código de maneira concorrente, e criar uma nova goroutine
18 Concorrência Comunicação entre goroutines através de channels Permite compartilhar dados sem utilizar locks É blocking. A execução do programa irá esperar o envio de uma mensagem antes de continuar
19 Concorrência Altamente performante e concorrente Microservice Enviar notificação Processar pagamento... Atualizar limite
20 Concorrência Altamente performante e concorrente Microservice Enviar relatórios Gerar relatórios Batch
21 Produtividade em Go
22 Produtividade com Go Não precisa de um framework. Talvez alguma biblioteca de terceiro como grpc ou Gorilla (para criação de endpoints). Mas são uma camada fina. Mensagens de erro são facilmente entendidas, apesar de não serem tão claras quanto em Elixir Go é altamente opinionated Há uma forma de se fazer as coisas. Um for loop, um if Testes são extremamente fáceis de escrever e rápidos de rodar Muito fácil de achar e instalar dependências: github.com/repositorio/biblioteca Inclusive dependências em repositórios privados Compilação do código muito rápida
23 Produtividade com Go Bugs são menos comuns e mais facilmente resolvidos Código altamente explícito Mais boilerplate, menos erros
24 Produtividade com Go Go é extremamente produtivo Possível criar um micro serviço de geração de relatórios ou de notificações totalmente testado, com um único desenvolvedor, em 1 semana Extremamente fácil de aprender Comunidade enorme. Fácil de achar a resposta de suas dúvidas no StackOverflow ou em blogs
25 A comunidade e integrações com Go Go Go foi criado para a nova geração da web Possui suporte para os mais diversos frameworks e bibliotecas para o desenvolvimento web i.e. grpc, JWT, SDKs para o AWS e GCE, Drivers para todos os bancos de dados, etc. Comunidade gigante e ativa no nível mundial Ainda não muito grande no Brasil, mas crescente Algumas das principais ferramentas e banco de dados modernos são escritos em Go Node Python Rust Laravel Ruby
26
27 Alguns projetos em Go
28 Resolvendo problemas complexos em Go
29 Quando usar Go? Go é ideal para: Sistemas web em geral Sistemas distribuídos Sistemas que requerem alta performance e/ou uso intenso de CPU Há uma implementação do TensorFlow para Go O serviço com maior QPS, e de maior uso intensivo de CPU no Uber é escrito em Go Background services Sistemas que requerem alta escalabilidade Sistemas financeiros Sistemas que requerem alta concorrência CLIs
30 Quando não usar Go? Protótipos e aplicações bootstrapped Go pode ser usado para micro serviços, mas é overkill para protótipos e scripts básicos Sistemas simples que não requerem muita performance ou garantias de tipos de dado Sistemas que requerem controle maior sobre a memória do sistema, como com Rust ou C Sistemas de telecomunicações. Use Erlang ou Elixir Se precisar de tipos genéricos
31 Quem está usando Go?
32 Go em Serviços Financeiros
33 Características de Serviços Financeiros Serviços financeiros hoje estão marcados por grandes bancos e instituições financeiras que usam tecnologias ultrapassadas Um setor que, até recentemente, não inovava há muito tempo Altamente regulamentado Sistemas que não deveriam cair nunca. É a sua conexão com o mundo Sistemas que atendem a milhões de pessoas e empresas Base de sustentação da economia Não pode falhar. Um zero a mais ou a menos pode causar muitos problemas
34 Go em Serviços Financeiros Go nos permite desafiar o status quo, criando um sistema moderno, altamente performante, seguro e escalável e que ao mesmo tempo nos permite inovar de forma constante. Nos dá acesso às mais novas tecnologias Nos permite criar um sistema que possa ser usado por milhões de pessoas ao mesmo tempo Concorrência em Go é muito simples e segura Temos segurança aritmética e de tipos de dados (i.e. ints de 64 bits) Determinante. Compila para código de máquina e para vários SOs. Nos dá a segurança que o código que roda em nossas máquinas, rodará igual no servidor Nos permite testar nosso código de forma constante e de maneira muito rápida Nos permite ser altamente produtivos, conseguindo trazer a inovação de forma mais rápida para nossos clientes
35 Fintechs
36 Conclusão
37 Conclusão Use Go
38 Conclusão Go é uma ótima linguagem para criar serviços web modernos, seguros e performantes Go permite a utilização do seu sistema com as mais diversas ferramentas Go foi criada para a nova web e é ideal para sistemas distribuídos Go também é uma ótima escolha para serviços financeiros pela segurança de tipos de dados, aritmética, velocidade e determinismo Go é uma linguagem muito produtiva de se trabalhar e fácil de aprender Consegue-se trabalhar com concorrência de uma maneira extremamente fácil com Go: use apenas a palavra-chave go e channels A comunidade e a adoção de Go por parte das empresas já está muito alta, incluindo Fintechs Go não é a linguagem ideal para algumas circunstâncias, como para a criação de protótipos
39 Obrigado
40 Cassio Greco
Desconstruindo Monolitos. Como construir micro serviços Delphi com agilidade e qualidade
Desconstruindo Monolitos Como construir micro serviços Delphi com agilidade e qualidade Hello World!! Felipe Caputo May Fernandes Desenvolvedor sênior e líder técnico na Softplan, atualmente sou responsável
Linguagens de Domínio Específico
Linguagens de Domínio Específico Fabio Mascarenhas 2017.1 http://www.dcc.ufrj.br/~fabiom/dsl Por que DSLs? Melhorar a produtividade dos programadores input =~ /\d{3}-\d{3}-\d{4}/ Facilitar a escrita e
Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli
Técnico em Informática Web JavaScript Profª Ana Paula Mandelli [email protected] Para o JavaScript - NetBeans O NetBeans é um ambiente de desenvolvimento integrado (IDE) Java desenvolvido pela
Conceitos de Linguagens de Programação - Características. Paavo Soeiro
Conceitos de Linguagens de Programação - Características Paavo Soeiro Motivação Para que possa escolher uma linguagem apropriada ao problema. Melhorar o entendimento da linguagem utilizada. Facilitar o
AULA 1 INTRODUÇÃO AO JAVA
AULA 1 INTRODUÇÃO AO JAVA Ao término dessa aula você terá aprendido: História e características do Java Ambientes e plataformas Java O Java é a base para praticamente todos os tipos de aplicações em rede
Aula 1: Apresentação, Computação Corporativa
Aula 1: Apresentação, Computação Corporativa Diego Passos Universidade Federal Fluminense Técnicas de Projeto e Implementação de Sistemas II Diego Passos (UFF) Apresentação, Computação Corporativa TEPIS
Estrutura do Sistema Operacional
Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 04 Estrutura do Sistema Operacional 2 1 Estrutura do Sistema Operacional
Desenvolvimento Web II
Desenvolvimento Web II Web Service PHP Rest Frameworks: Slim e Laravel (get/ post / put / delete) Gil Eduardo de Andrade Web Service Introdução: Um web service pode ser definido como uma tecnologia que
Sistemas Distribuídos Aula 3
Sistemas Distribuídos Aula 3 Aula passada Processos IPC Características Ex. sinais, pipes, sockets Aula de hoje Threads Kernel level User level Escalonamento Motivação: Servidor Web Considere Servidor
O que é um sistema distribuído?
Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores
Introdução. PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa
Introdução PCO / PPO Departamento de Informática Faculdade de Ciências da Universidade de Lisboa Resumo Funcionamento da cadeira Intuição sobre programação orientada-a-objectos A linguagem Java: história
Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais
Sistemas Operacionais e Introdução à Programação Módulo 1 Sistemas Operacionais 1 Competências: SOP 1. Compreender as abstrações de um sistema operacional e operar um sistema operacional Unix/Linux como
Curso online de Fundamentos em Android. Plano de Estudo
Curso online de Fundamentos em Android Plano de Estudo Descrição do programa A Certificação Android ensina como usar as ferramentas necessárias para projetar e implantar aplicativos Android para dispositivos
MC-102 Aula 01. Instituto de Computação Unicamp
MC-102 Aula 01 Introdução à Programação de Computadores Instituto de Computação Unicamp 2016 Roteiro 1 Por que aprender a programar? 2 Hardware e Software 3 Organização de um ambiente computacional 4 Algoritmos
Estrutura dos Sistemas Operacionais. Adão de Melo Neto
Estrutura dos Sistemas Operacionais Adão de Melo Neto 1 Sistema Operacional -São partes do SO -São ferramentas de apoio ao usuário -São formas de acessar as rotinas do kernel O Sistema Operacional é formado
Processos ca 3 pítulo
Processos capítulo 3 Introdução: Threads Para executar um programa, o sistema operacional cria um determinado números de processos virtuais. O sistema operacional mantém uma tabela de processos que contém
Gerando um programa executável a partir de um módulo Python
Gerando um programa executável a partir de um módulo Python Wendel Melo (Departamento de Ciência da Computação UFRJ), Notas de aula de Computação II 15/03/2012 A linguagem de programação Python segue o
Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend
Concorrência Nos sistemas Monoprogramáveis somente um programa pode estar em execução por vez, permanecendo o processador dedicado a esta única tarefa. Os recursos como memória, processador e dispositivos
Desenvolvimento de Software I
Desenvolvimento de Software I Prof. Arnaldo Martins Hidalgo Junior [email protected] http://aulashidalgo.wordpress.com 5 h/a (2 aulas semanais) http://aulashidalgo.wordpress.com 1 Competências Avaliar
Redes de Computadores
Redes de Computadores Camada de Transporte Antonio Alfredo Ferreira Loureiro [email protected] Departamento de Ciência da Computação Universidade Federal de Minas Gerais UFMG/DCC Redes de Computadores
Sistemas Distribuídos Aula 10
Sistemas Distribuídos Aula 10 Aula passada Arquitetura P2P Bittorrent Distributed Hash Table (DHT) Aula de hoje Modelo computação distribuída RPC Marshalling e stubs Semântica operacional RMI Computação
Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan
Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada
Conceitos de Linguagem de Programação - 2
Conceitos de Linguagem de Programação - 2 Arthur Jovita Guerra Thalles Santos Silva Universidade Estadual de Santa Cruz - Ilhéus, BA 1 de novembro de 2011 1 Revisão Natureza das linguagens de Programação
Linguagens de Programação. Introdução. Carlos Bazilio
Linguagens de Programação Introdução Carlos Bazilio [email protected] http://www.ic.uff.br/~bazilio/cursos/lp ??? Pascal aux := 0 for i:=1 to 10 do aux := aux + i 10: i = 1 20: if i > 10 goto 60
Go Lang A linguagem do Google
Go Lang A linguagem do Google Suelen Goularte Carvalho Instituto de Matemática e Estatística Universidade de São Paulo Junho/2015 Contents 1 Introdução 3 1.1 Por que uma nova linguagem?....................................
[versão para impressão] Link original: comp=24763 Conhecendo o PL/SQL
www.devmedia.com.br [versão para impressão] Link original: http://www.devmedia.com.br/articles/viewcomp.asp? comp=24763 Conhecendo o PL/SQL Veja neste artigo o que é PL/SQL, quando utilizá-la e uma breve
Python para web com Flask. #PythonAmazonas
Python para web com Flask #PythonAmazonas @marcosptf Be Free. KDE About me @marcosptf pytero -> Grupy-SP phpzero -> PHPSP javero -> NetCat 2/48 Be Free. KDE Flask? O que é Flask? Flask é um microframework
Soluções IoT Inovadoras Plataforma Link IoT
Soluções IoT Inovadoras Plataforma Link IoT Tecnologia Beacon Como Funciona A Taggen está desenvolvendo produtos inovadores para auxiliar na criação de soluções voltadas à Internet das Coisas A Internet
Implementação de uma biblioteca gráfica multiplataforma utilizando OpenGL e GLFW.
Universidade Federal de Uberlândia - UFU Faculdade de Computação Bacharelado em Sistemas de Informação Implementação de uma biblioteca gráfica multiplataforma utilizando OpenGL e GLFW. William Johnson
Instalação do Oracle VM Virtual Box
1 de 14 09/08/2012 12:56 Instalação do Oracle VM Virtual Box Após fazer download do Oracle VM VirtualBox o próximo passo é a instalação. Seguindo este tutorial passo-a-passo não haverá qualquer dificuldade
Estrutura dos Sistemas Operacionais. Adão de Melo Neto
Estrutura dos Sistemas Operacionais Adão de Melo Neto 1 Sistema Operacional - Formas de acessar o KERNEL do SISTEMA OPERACIONAL (SO) - A linguagem de comandos faz parte do SO O Sistema Operacional é formado
Sistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: [email protected] 1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com
AULA 03: FUNCIONAMENTO DE UM COMPUTADOR
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 03: FUNCIONAMENTO DE UM COMPUTADOR Prof. Max Santana Rolemberg Farias [email protected] Colegiado de Engenharia de Computação O QUE É UM COMPUTADOR?
Fundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 6: Monitores, Troca de Mensagens e Deadlock Diego Passos Última Aulas Mecanismos de Exclusão Mútua Operações atômicas. Protocolos de controle de acesso. Spin-locks.
Brilliant Solutions for a Safe World
Componente Biométrico - Íris Componentes do lado do servidor (multi-plataforma): Licenças do Matching Server Licenças do MegaMatcher Accelerator Extended (mecanismo de íris) Licenças do MegaMatcher Accelerator
Noções de sistemas de computação
Noções de sistemas de computação Software Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons
Projeto GoHome. Tutorial de Instalação Android Studio e SDK
Projeto GoHome Tutorial de Instalação Android Studio e SDK Antonio Fabricio Almeida e Silva Novembro 2016 Teresina-PI Sumário 1. Descrição da Ferramenta... 3 2. Requisitos de Sistema... 4 3. Download...
Introdução à plataforma Java
Introdução à plataforma Java Apresentação: Professor: Galvez Gonçalves [email protected] O que estudaremos 1. Os conceitos de programação orientada a objetos através de uma linguagem de programação que
Grupo: Diogo Furtado Phellipe Perin Stephan Hebeda
Grupo: Diogo Furtado Phellipe Perin Stephan Hebeda INTRODUÇÃO Scala é uma linguagem de programação de propósito geral projetado para expressar padrões de programação comuns de uma forma concisa. Foi desenvolvido
Sumário. 1 Introdução 1. Parte um: A linguagem Objective-C 2 Programação com Objective-C 7. 3 Classes, objetos e métodos 27
Sumário 1 Introdução 1 O que você vai aprender neste livro 2 Como o livro está organizado 3 Suporte 5 Agradecimentos 5 Prefácio da quarta edição 6 Parte um: A linguagem Objective-C 2 Programação com Objective-C
Sistemas Distribuídos
Caracterização de Faculdades SENAC Análise e Desenvolvimento de Sistemas 24 de fevereiro de 2010 Caracterização de Histórico Anos 50 - Sistemas Operacionais tipo Lote Aumentar a capacidade de processamento
Elaine Chen, Gerente de Produto. Como usar o R e o Tableau
Elaine Chen, Gerente de Produto Como usar o R e o Tableau 2 Conteúdo O que é o R?...3 Quais são os benefícios do uso do R?...3 Como é a integração do Tableau com o R?...4 A quem se destina esse recurso?...5
Métodos de implementação de linguagens. Kellen Pinagé
Métodos de implementação de linguagens Kellen Pinagé Sumário Métodos de implementação de linguagens Compilação Interpretação pura Híbrido Métodos de implementação de linguagens Principais componentes de
Ruby e JRuby em... Paralelos e Distribuídos. Felipe Barden Lucas Fialho Zawacki
Ruby e JRuby em... Paralelos e Distribuídos Felipe Barden 151343 Lucas Fialho Zawacki 172072 Sobre o que vamos falar? A linguagem Ruby e suas aplicações em programação paralela e distribuída. A implementação
Introdução ao Desenvolvimento de
Introdução ao Desenvolvimento de Aplicações Web com JSF e PrimeFaces Marcelo Vinícius Cysneiros Aragão ICC Inatel Competence Center [email protected] Santa Rita do Sapucaí, 15 de março de 2016 Conteúdo
Plataforma de desenvolvimento JAVA para terminal POS
Plataforma de desenvolvimento JAVA para terminal POS Avenida Viena, 360 Bairro São Geraldo CEP 90240020 Porto Alegre RS Fone 51 3325 2728 Fax 51 3343 9847 [email protected] Apresentação A plataforma
Programação Concorrente
INE 5410 Programação Concorrente Professor: Lau Cheuk Lung (turma A) INE UFSC [email protected] Conteúdo Programático 1. 2. Programação Concorrente 3. Sincronização 1. Condição de corrida, região critica
Introdução ao Python. Programa Computacional
Programa Computacional É um algoritmo escrito em uma linguagem computacional (C, Fortran, Pascal, MATLAB, Python, etc.). É a tradução do algoritmo para uma linguagem que será interpretada pelo computador.
Componente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída
11 1 Introdução Recentes avanços em redes de computadores impulsionaram a busca e o desenvolvimento de meios para facilitar e acelerar o desenvolvimento de aplicações em sistemas distribuídos, tornando
Programação em Sistemas Computacionais
Programação em Sistemas Computacionais Linguagem C Introdução, tipos Centro de Cálculo Instituto Superior de Engenharia de Lisboa Jorge Martins ([email protected]) baseado no slides de Pedro Pereira Enquadramento
Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca
Sistemas Operacionais Processos Carlos Ferraz ([email protected]) Jorge Cavalcanti Fonsêca ([email protected]) Copyright Carlos Ferraz Processo Conceito: Um programa em execução 1. Ao digitar hello, os caracteres
Linguagens de Programação Classificação
Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda
Programação Paralela e Distribuída
INE 5645 Programação Paralela e Distribuída Professor: Lau Cheuk Lung (turma A) INE UFSC [email protected] Conteúdo Programático 1. Introdução 2. Programação Paralela 3. Controle de Concorrência 4.
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012 Ementa do Curso Conceitos básicos de programação Orientação a objetos Linguagem Python Simulação com o NS-3 Programação
APRESENTAÇÃO. Página: 1
APRESENTAÇÃO Página: 1 Sumário Apresentação... 3 Principais característica:... 3 Estrutura Way-Z... 4 Vantagens da Plataforma... 6 Atualizações remotas.... 7 Carga da Plataforma e da Aplicação... 8 Obtendo
Desenvolvimento Web III. Prof. Felippe Scheidt
Desenvolvimento Web III Prof. Felippe Scheidt Apresentação da disciplina Compreender os princípios do desenvolvimento de sistemas web e da construção de páginas dinâmicas utilizando padrões de projetos,
Linguagens de Programação 10 Avaliação de Linguagens
Linguagens de Programação 10 Avaliação de Linguagens Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal
PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 11 - Threads e Concorrência
Aula 11 - Threads e Concorrência Conteúdo Programático desta aula Apresentar os Conceitos de Threads, Concorrência e Sincronização. Verificar a aplicabilidade destes conceitos no mercado, bem como sua
Aula 6: Comunicação entre processos. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela
Aula 6: Comunicação entre processos Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela (-- motivação --) Processos em execução no sistema operacional podem ser: Independentes:
Objetivos. Responder o que é Java; Mostrar as vantagens e desvantagens do Java; Compilar e executar um programa simples.
O que é Java Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/ 1 Objetivos Responder o
Como criar sua aplicação em React em poucos minutos. um ebook produzido por: CodePrestige
Como criar sua aplicação em React em poucos minutos um ebook produzido por: CodePrestige Agradecimentos Seja muito bem-vindo! Você está prestes a criar a sua primeira aplicação em React! Está animado?
Estruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais Sistemas Operacionais - Tópicos Componentes do Sistema Serviços de Sistemas Operacionais Chamadas ao Sistema Estrutura do Sistema Máquinas Virtuais Chamadas ao Sistema
Tutorial Proteus 02. Como simular o Arduino no Proteus ISIS utilizando a biblioteca "Emulater" por João Vitor
Tutorial Proteus 02 Como simular o Arduino no Proteus ISIS utilizando a biblioteca "Emulater" por João Vitor http://arduinolegal.blogspot.com 1 Bom pessoal, como já foi visto em outro tutorial (Acesse
Técnicas Avançadas de Programação
Sumário Técnicas Avançadas de Programação Prof. João Marcos M. da Silva Departamento de Engenharia de Telecomunicações Escola de Engenharia Universidade Federal Fluminense Agosto de 2011 Prof. João Marcos
LINGUAGEM C: ARQUIVOS
LINGUAGEM C: ARQUIVOS Prof. André Backes Arquivos 2 Por que usar arquivos? Permitem armazenar grande quantidade de informação; Persistência dos dados (disco); Acesso aos dados poder ser não seqüencial;
O Common Language Runtime (CLR) é uma plataforma criada com o objetivo de facilitar a interoperabilidade entre diferentes linguagens de programação,
1 Introdução O Common Language Runtime (CLR) é uma plataforma criada com o objetivo de facilitar a interoperabilidade entre diferentes linguagens de programação, através de uma linguagem intermediária
3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Linguagem de programação C 3.1. Conceitos
Figura 01 Programa e Processo
02 PROCESSOS 2.1 Introdução Para poder controlar a execução dos diversos programas e o uso concorrente do processador e dos demais recursos um programa deve sempre estar sempre associado a um processo.
PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 12 - Threads e Concorrência em Java
Aula 12 - Threads e Concorrência em Java Conteúdo Programático desta aula Aplicar os conceitos e threads, processos concorrentes e sincronização em pequenos programas. Aplicar e verificar os conceitos
LabSO Gerência de Processos. Processos. Porque eu preciso entender este assunto?
LabSO Gerência de AULA 3 Flávia Maristela ([email protected]) Romildo Martins ([email protected]) Porque eu preciso entender este assunto? Para entender como um computador consegue executar
