a abom minha palestra vai ser sobre ele que ser antes de mais nada quantos aqui pelo menos já ouviram falar sobre ele que se já ouviram falar o quanto já programam elixer alguns perfeito então a idéia da palestra é muito simples eu vou tentar demonstrar na prática o que o renato acabou de falar sobre toda a teoria de programa funcional vamos tentar entender qual o valor de tudo isso agora vai começar meu nome é fábio aqui eu vou rapidamente as introduções mais conhecido como aqui tem um raios organiza rubyconf brasil em são paulo inclusive com
a acabou de confirmar a nona rubyconf brasil o câmbio que vem dias 23 e 24 de setembro então ano que vem já está garantido o evento a gente esse ano mudou bastante o foco dele pra falar não só de ruby mas de todas as outras linguagens em ascensão hoje em dia ele x em uma delas a eu também sou co fundador da empresa marcou de maneira a coisa mais trabalha principalmente com o projeto ganhou o brasil e exterior a gente tem mais de 50 funcionários em seus escritórios trabalhando com o projeto o brasil e exterior
então a idéia nossa é trabalhar projetos ruby on rails principalmente não só reyes mas também todas as tecnologias front-end pessoas hoje em dia desde back bone o ehec e assim por diante e focando agora em novas tecnologias também tem uma galera interessado em go tem uma galera interessado ele chega agradeço muito ao renan por ter feito essa palestra antes a minha porque quer dizer que eu posso correr com a introdução sem ter que me perder muito tempo e eu vou poder resumir uns quatro slides uma vez só e chegar à seguinte conclusão que nem ele
falou no começo da palestra dele até o final dos anos 90 como o século 21 é de uma forma de programa faça o software ano que vem vai funcionar mais rápida troca cpu já era depois de 2000 2001 a gente acabou com esse quadro com essa mamata porque a última vez que teve um grande salto de gigante foi com um giga hertz em 2001 depois disso a gente deveria já está no 10 giga hertz gente não tá entendendo 10 giga hertz como três no máximo que aconteceu em jirau multicor agora para resolver multi-core a maioria
deve ter ouvido falar de programação contradiz multi threaded e multi threaded foi de novo renan explicou posso passar toda a explicação de travis a sensacional mas eu vou dizer uma coisa não usa entregues à best practice de trades é não use trad ninguém sabe os atraentes todo mundo faz porcaria quando usa dread ninguém sabe programar mult3 ninguém sabe o que é um lock ninguém sabe o que é um o tex ninguém sabe como sincronizar a e muita muita habilidade de dados ninguém sabe os melhores programadores do mundo não sabem eles falam não use então não
use aí você fala beleza porque esse negócio de ted também é coisa de janeiro pessoal de dot net porque a gente sabe qual é a solução de todos os problemas eventos site codex assim que quando aqui programme node alguns a maioria deve ter no mínimo falar javascript node koubek assim que a gente descobre também que não é essas maravilhas todas programar com koubek se programar com o evento é uma péssima idéia também funciona como tradings mas é uma péssima idéia e essa idéia além de tudo não é nova por que essa solução começou a aparecer
em 99 é coisa velha é o problema do citen key a a partir dali se criou a infraestrutura dos sistemas operacionais e pouco a aeroportos e assim por diante que permite coisas como nude ou tornado em python antes dele outro estudo de impacto antes dele ou n aí ou do java e assim por diante isso dito vamos direto ao assunto node isso aqui e resolvi colocar um pequeno teste para mostrar que todo mundo está acostumado a ouvir hoje em dia vou subir aqui um express primeiro o hello world do 'expresso' donald é só uma página
sendo renderizada por noite na outra na outra o nosso terminal tem o sítio para fazer a teste de carga vou subir oito conexões concorrentes com 215 sessões cada então voltar ali babá tendo nesse meu note 1.600 hits que acontece beleza é o que eu espero que ela tem uns errinhos ali terminou de rodar quase dez segundos ainda deu uns erros então vou dar de novo só para garantir aqui o node ele o javascript e mono trade e ele é bom no processo eu tenho oito cordas e macbook pro rodando está consumindo uma cpu só está
rodando até que bem e 60 edições rodando ali em 9 e 10 segundos bom pra caramba sites fossem entregues aqui e me lembro qual como é que funciona no mundo do elixir então ele xira essa nova linguagem que ela começou a surgir mais recentemente está em desenvolvimento desde 2011 mais ou menos maioria que ouviu falar de elixir pelo menos ouviu falar que ele é construir em cima de uma outra linguagem antiga chamada erlang que é o renan mencionou agora e em cima do elixir este ano saiu tanto elixir 1.0 quanto um framework chamado finnix fênix
que é wilson ai que ele parece rios inclusive são desenvolvedores que são ex rangers um dos grandes problemas do mundo de cone de raios e alegria faz no conjunto rio sem nunca ter usado um raio em torno do filme que é bem feito com finnix que acontece fazer o mesmo teste é o mesmo é o mesmo mesmo tipo de aplicação subindo único template zinho com um título de um parágrafo dentro dele o filme faz um pouco mais com express faz um molde que acontece eu vou rodar e ver o que acontece vai rodar vai rodar
notem algumas algumas coisas interessantes aqui no blog do fênix ele rodou em 8 segundos por um pouco mais rápido que o molde é tão grande coisa assim grande bosta posso ficar no load a uma das que se pode notar rodando se pela segunda vez aqui a gente calcula o tempo de resposta do fênix aqui parece grande a 168 no amni segundo está é não segundos é um milionésimo de milho segundo então a gente começa calculou senão fica muito feio 10.001 certo quem aparece aqui na 0.001 e ele roda mesmo mil e 600 civis nesse caso
nenhum erro foi tinha o consumiu meus oito cpus então só por devia ter sido oito vezes mais rápido mas ok agora qual é o grande problema do mundo de event lupi exige actors vou fazer uma com massa canoagem aqui vão abrir ali aquele meu express vou colocar o sleep no meio do do meu request considera no gol no lugar do sleep se eu tivesse fazendo um processamento que demora algum tempo que acontece se eu vou rodar esse cara agora mesmo teste só coloquei esses lippi antes de renderizar páginas vamos rodar agora só com uma conexão
com 10 requisições vai acontecer isso vai rodar o primeiro vai rodar o segundo vai rodar o terceiro em seqüência porque isso é mono trade porque isso é um evento de lupi porque isso é um hitler que hector é a forma mais rudimentar de você fazer multiprocessamento multi concorrência aonde você só pode suportar uma única tragédia esse é o jeito mais rudimentar tem jeito melhor de fazer como é que o fênix se suporta se eu fizer a mesma coisa que colocar um sleep de um segundo no mesmo lugar rodando o mesmo teste para uma conexão com
dez aquisições de dois segundos já voltou esses lippi não bloqueia ele não é um director ele tem assim que dentro de nós é bom brincar um pouco mais colocar 100 cem também deu dois segundos sem estar muito fácil vamos colocar então colocar vai doar duas simultâneos com 200 vai demorar um pouquinho mais quatro segundos não dez não é uma sequência de dez edições de um segundo atrás do outro dando 10 é o tempo de contar todos em paralelo levando um segundo em 2 kors e aqui eu nem eu nem fiz o e lang sair uma
uma gota de suor wirlande da forma que foi construído e foi construído para uma coisa e não é multi concorrência baixa latência e essa é a maior a maior conquista do orlândia vou dizer seria conseguir criar um sistema de software que permite baixa latência existem várias formas de você fazer isso fred é pesado de fazê-lo em todo o esquema de contax uit onde o cpu tem que começar a executar uma tragédia para usar tragedy salvar esse estado pegar uma outra tragédia continuar parar de novo voltar e fazer isso em vez de fazer isso no nível
do sistema operacional eu posso fazer isso no nível de um processo em uberlândia e pegar um processo sozinho dentro do sistema e consegui ter a habilidade de suspender e continuar esse processamento possa dar uma função aquele um sleep para usar aqueles livre porque eu vejo que está gastando tempo demais e dá tempo para outro fazer e balancear entre os escândalos que eu tenho até onde eu consigo chegar com isso um teste recente feito no dia 1º de novembro se não me engano começo de novembro o criciúma cord que é o criador do fênix começou a
tentar testar até onde vai o fênix o filme que suporta websockets também é deixou o dele aí ele colocou numa máquina de 40 kors 128 gigas um único processo e aqui eu não estou subindo múltis múltiplos processos para tentar maximizar a máquina ele subiu os todo um único processo dentro dele dentro de si um único processo orlando ele detecta quando a cpu você tem ele sobe 1 esquerdo léo com uma tragédia para cada cpu então são 40 trades só rodando com 128 bexigas de ram e ele só foi parado pelo limite do sistema operacional que
esse é o limite isso são dois milhões de clientes web soft em dourados no único processo agora está começando a brincar a nesse mês é eu passei um tempo estudando um pouco mais a fundo e lichia e isso resultou em 11 blog post em 28 dias foi bastante coisa que eu tive que fazer pretende entender de fato eu quero passar em 30 minutos o que é o principal dentro desse principal entender quais são alguns dos cases que a gente tem ele chega novo não tem tantos grandes cases a cimpor porém o erlang em si é
velho o elenco tem 30 anos que não fala 86 bastante tempo então o principal case dele e no mundo de telecoms telekom sé onde nasceu é para isso que ele foi feito eu não posso ter leg em ligação telefônica não posso tem um stop the world do gapa de colector tentando parar a outro uma pausa do garbage colega peraí que depois eu conecto à ligação que bosta não posso fazer isso o sistema da british telecom que o maior case em inglaterra há o que dá onde surgiu a disponibilidade mito holy grail da disponibilidade que são
os ponto 999 99 79 e depois do ponto de disponibilidade uma falha em uma única vez em multiplano da forma como ele foi feito eu posso manter de pé da hot swap de código novo em execução sem tornar o sistema corrupto e eu não preciso ficar desligando e religando ele por causa desse tipo de característica possa desenvolver outros sistemas que têm as funcionalidades distribuídas comunicação de mensagens e e mas muitos milhões de clientes conectados um dos grandes exemplos open source é o já verde que o diamond jaber provocou xmpp então se você hoje em dia
do iptu é muito mais o bico oito em dez anos atrás não era então você tem hoje em dia o whatsapp você tem facebook messenger todo mundo alguma forma de xis mp por trás e normalmente isso começam a fazer usando já verde league of legends por exemplo quem joga lo o chat deles 70 milhões de usuários rodem cima de um sistema cuja verde o facebook messenger começou um hackathon em 2007 se não me engano e eles começaram e já perdi hoje em dia deve ter o próprio deles whatsapp também começou como já perdi a utao
porque tem o case pessoal fala de what zap hoje em dia que foi comprado por 19 bilhões de repente todo mundo sabe que lang whatsapp ele consegue manter uma estrutura super enxuta porque utiliza esse tipo de sistema que leva até o limite da máquina a onde eu posso ir pra quem usa whatsapp sabe que isso funciona outros grandes exemplos você tem um riac que é um banco de dados no sql foi feito para ser altamente distribuído vale a pena dar uma olhada e o rabbit e níquel que é um dos melhores sistemas de fibra que
você vai ter também feito usando as funcionalidades de alta distribuição e alta concorrência e múltiplos outros cases que você vai encontrar normalmente que envolvem sistemas de teleconferência os sistemas financeiros sistemas de mensagens qualquer lugar que você precisa de altíssima concorrência e tolerância a falhas e onde você vai encontrar o elani com 30 anos de lang e todas as características acabei de falar você deveria estar surpreso porque eu nunca ouvi falar dessa bosta chamada ninguém fala isso pra mim por causa disso aí você olha pra ver lang aí começa a notar beleza e tentação aqui aí
tem ponto de vir tem vírgulas em vigor no final doente tem uns pontos tem aqui uma interrogação fazer não sei o que tem um monte de chave que não sei pra que serve fui eu não consigo entender essa merda é o cão chupando manga não tem outro jeito de descrever essa desgraça apesar disso o e lang criou a sua credibilidade em cima de sistemas tolerantes a falha feio pra caramba mas aonde realmente precisa eu vou fazer o sacrifício de entender essa desgraça porque realmente precisa ah ele é tão bom que gerou um paper ficou muito
conhecido de joel armstrong é o criador lang onde ele descreve essa idéia de software com erro a gente sempre parte do princípio que se você programar direito vai funcionar legal se você não colocar o sleep no meio do seu node não vai bloquear o rapper se você programar direito então o haiti de parte da premissa que todo mundo segue boas práticas todo mundo é muito educado entende a situação vai fazer as convenções corretas não vai 99% dos programadores vai fazer merda então vão partido não do princípio de que vou fazer um sistema onde se o
cara fizer boas práticas vai sair um sistema onde eu sei que ele vai fazer merda e dando merda o que eu faço para destruir o sistema então isso é tolerância falha então eu parte de outra premissa e bom começar um básico só para esquentar e mostrar do que esse tal de gerland e elixir é capaz para começar o básico dois terminais o primeiro terminal eu vou subir um console de elixir é que nem um rap ou qualquer derrube pai tem assim por diante com o nome ali em cima eu coloquei fábio aqui em baixo o
que aqui tem um cookie e depois eu explico aí eu tenho um molde implementar do jeito certo com a lista que está vazia dos dois lados e aqui no nome de cima e rodar um ping para o endereço de baixo o akita roupa macbook pro que apareceu aqui de um ping devolver um bombista muito simples que eu tenho na lista agora ambos sabem a presença um do outro cabo é essa conexão isso é richey que acabou de conectar a 2.42 noites que eu posso fazer primeiro vou fazer um modo isso é assim a gente faz
modo ele encher death modo toda a função tem além do modo de enxergar então eu queria um modo chamado grite uma função zinha chamada cei que recebe uma mensagem ou pintar um stream e assim faz concatenação de stream e até aqui parece hub simples pra caramba da onde ele veio dizer veio de mim mesmo ponto self esse monte de número representação binária desse modo e aqui embaixo eu vou fazer um remote procedure call rpc porque isso não é novo isso é velho e 86 vou chamar aquele server de cima o novíssima que é o fábio
que esse cara aqui pedindo o módulo grite a função c e o argumento o word acabou acabei de fazer chamada remota só com esse é o aquecimento fazendo isso eu já criei aqui localmente dois nós que falam na mesma rede e se eu quiser fazer na internet eu troco de s nem me coloca a roupa um ip ou qualquer fury qualifier de name e eu posso colocar um domínio ou qualquer coisa do tipo aqui embaixo coloca o mesmo ip também troca de cinema e colocam arroba a se tivessem duas máquinas separadas em uma rede separada
eu poderia fazer dessa forma subiu vou dar o mesmo king de baixo pra cima dando esse ping ambos agora sabem que o outro existe e envolve um bong não tivesse acessível devolver um pang só essa diferença ea partir daí tá conectados dos dois nomes é por isso que já perdi usa é só dessa porcaria por escreve emitiu essa porcaria por isso que eu ia que usa e é isso que ele vai fazer lá atrás no de ponto connect conectar o cabo não posso fazer mais nada é só isso é o começo e o web whting
picchu píer networking eu não tenho single ponte o filho eu posso fazer um ringue de novo disse eu posso ver todos e se coordenarem entre si sem muita dificuldade isso dito vamos começar então um base cozinho só pra que só pra mostrar um pouco da sintáxi vamos subir de novo fazer uma variável uma variável estavam imutável e tudo mais eu tenho ali variável igual a 20 fazer um modo só para ver se realmente funciona da forma como esperaria qualquer linguagens ana deveria fazer então eu coloco ali dentro da função há igual a 40 vou imprimir
o a continuar sendo 20 aqui em cima se eu chamar essa função o teste ponto teste as parentes é opcional por que deveria ser a volta 40 mas oa de fora continua sendo 20 de fora eu posso mudar a variável isso chamou binding eu posso fazer um bom mundial variável eu posso fazer um mexe e se igual não é só a sign mente ele é uma expressão de verdade onde esquerda e direita tem que ser igual para a esquerda é igual à direita b tem que ser igual a 1 c tem que ser igual a
3 é isso que ele está fazendo aqui o efeito prático é isso isso se torna uma decomposição e eu posso criar um padrão por exemplo um átomo ok recebendo uma mensagem e igualando com esse outro lado para isso ser verdade essa mensagem tem que ser igual o word por isso que fique igual e aí eu faço uma decomposição eu posso fazer uma estrutura maior colocar aquilo que o word list coloca uma variável que eu não tenho ainda eu posso colocar aqui dentro uma segunda expressão que tem que ser igual para ser verdade mestre tem que
ser igual ao world isso é patterned em bater net é o marco das coisas está no coração das linguagens funcionais principalmente com humor lang como cloud e assim por diante a pensa regular express shows só que o express uma expressão regular com uma string aqui é mais é um patrão e com uma estrutura eu posso fazer para internet e de estrutura e de compor uma estrutura complexa pensa que isso é extremamente útil na hora que você pegar um desvio enorme de compor por exemplo é trivial de fazer isso é patterned em que mais eu posso
fazer com patterned é só uma brincadeira de fazer estrutura não vamos dar uma olhada o exemplo mais prático do que eu posso fazer um limpa que esse console e vamos ver o que mais que eu posso fazer vou definir um novo modo de novo o tal do rio tinto todo o teste revelou ontem ter um rating aa eu faço um método chamado revelou que tem um paternidade como argumento que recebe uma que o word list que tem um átomo chamado name e vai ser uma variável de intimado name e vou simplesmente concatena ali dentro essa
estranha ou fazer um segundo método igual com a mesma agilidade que a quantidade de argumentos com um outro patamar de estrutura um recebe nem outras e last name inclusive esse jeito de escrever e se escreveu mesmo são dois de diferença é a mesma coisa e aqui em baixo uma mensagem diferente caso venha um ato chamado last name aí eu vou pegar o fnm concatenado extingue beleza feito isso já posso chamar o método então um módulo ponto metro e seu formato ponho ali o meu a minha estrutura que nem me fala e faz o primeiro eu
fiz e last name colocar aqui aqui ele vai bater no segundo eu posso fazer múltiplos métodos isso não é óbvio loading de métodos porque overload seria contivesse múltiplos argumentos diferentes quantidades diferentes por exemplo o tipos diferentes aqui é o mesmo método com a mesma idade mesma função na verdade isso a gente chama de kobe pattern já está acostumado a fazer roubar e método já está acostumado a ter uma tabela de métodos e buscar uma taxa no índice de metros com o metro vou chamar a que eu chamo por padrão em vez de fazer um único
grande método que recebe um argumento genérico e dentro dele eu faço um monte de fiel se fiel se fiel faz alguma coisa eu posso decompor em múltiplas funções fica mais fácil de entender o que cada um faz a além disso agora vem a parte principal isso foi só pra aquecer agora é a parte mais importante dentro do elevador lang do hellish eu tenho uma segunda forma de rodar as coisas primeiro vou me identificar quem é o self não é um objeto é um representação de um pid é um processo saeed e eu posso mandar mensagens
para o processo aí de então eu posso mandar uma mensagem para mim mesmo eu do flash flash tiro que tem no meu em box todo o processo em box um meio boxx e eu posso te mandando mensagens e eu posso book até receber uma mensagem identificar que mensagem veio e baseado no que veio fazer alguma ação então eu tenho aqui uma construção muito simples onde eu tenho processos meio boxes e envio e recebimento de mensagens então vamos ver agora um método de novo não sei que o bloqueio quando eu chamo quando chama acesa na boca
que aqui vai ficar esperando uma mensagem que vai estar nesse patamar vou esperar um pato ele como esse vou pegar decomposição que esse mestre de fazer com que a internação de novo muito simples e vou dar uma recursão nele mesmo não existe wiley lupi desse tipo em orlândia mexer a luta por recursos são feito isso eu tenho um modo chamado método direto e vai bloquear tudo agora eu posso chamar esse método dentro de um segundo processo para achar um segundo processo do espólio do espólio uma função anônima que vai executar a função sei aí ele
me devolve um pid eu posso checar que espedita vivo porque ele está esperando uma mensagem e eu posso mandar uma mensagem para aquele pedido dentro daquele pattern que eu tinha mandado ele me devolve uma resposta da um loop nele mesmo recurso são bloqueia e fica esperando uma segunda mensagem que recebeu 30 bloqueio porque ele chama ela mesma de novo dentro daquele segundo o processo então a partir daqui fui mandando mensagem ele é um serviço é uma função que está recordando que cursam nela mesma num processo separado espera uma mensagem dentro do meio boxx que a
gente chama de rank uma fila de execução essa hum que o recebe a mensagem da um trigger naquele processo naquele bloco de recife recebe checa se o padrão é aquele executa uma ação e recurso faz uma recursão nela mesmo em lang esse esponja e gera uma coisa chamada processo uma outra linguagem disso ele gera uma grua entregue então eu tenho uma estrutura linha dentro do único processo dentro de uma única tragedy um processo de execução interna chamada green trad não é uma tragédia real é uma tragédia que fica dentro de si um processo e tem
um esquiador separado para isso eu tenho esquerdo do sistema operacional onde ele faz multitarefa preemptiva no sistema operacional eu tenho um segundo sequer dois land que ele controla esses processos cada um daqueles processos ele tem todas as características de uma rotina uma coisa uma especialização de colatina que você talvez conheçam como foo fighters hoje em dia existe fiber javascript fiber sem ruby onde eu posso a dentro da função da iurd para fora ele pausa execução e alguém pode dar um resumo de volta é assim que eu faço de eleitores em python assim por diante a
com processos que mais consigo fazer vamos ver que infraestrutura eu tenho à minha disposição dentro do elenco então eu posso ter um modo chamado próximos com uma série de metas eu posso listar os processos do sistema tem aqui 57 processo não me engano 41 43 processos eu posso dar um calmante numa lista esse é um modo chamado num do elixir agora vou criar de novo modo sempre criando um modo fácil porque agora um contador ou que como é que eu mantenha um estado dentro de um processo se eu não tenho nada mutável eu posso receber
um argumento vou bloquear esperando uma mensagem com um grid vou devolver pra esse pedir o fim álcool no argumento n e vou dar uma recursão em mim mesmo com ele mais um é só um computadorzinho besta que vai ficar fazendo ele mais um e chamando ele mesmo vou dar um espólio outra vez mais gerar um segundo processo começando com 10 agora após mandar uma mensagem nesse formato que é uma dupla com rede e o meu pedido desse console que é o self ele vai devolver quem é a contagem atual cd forte é o 10 se
eu de novo vai devolver agora 11 se eu de novo essa mensagem e devolveu 1 12 e eu estou mantendo dentro daquele processo estado via recursos são simples é um conceito muito simples agora eu posso pegar fazer um mapeamento no range de 1 até 100 mil só prever até onde eu posso ir tem gente que nem tem um hub a número só tem eu posso ir para um milionésimo quando online e dentro dessa lista eu vou e terá por essa lista de 1 a 100 mil pegando um item de cada vez um dois três quatro
e vou dar um exponencial naquele com naquela função de contador que vai ficar bloqueado nela cem mil vezes tenta criar 100 mil três vezes sua máquina aguenta sem cair no joelho a criei 100 mil 3 vamos ver se tem 100 mil teds aqui vão dar um calmante no próximo exercício o próprio lixo sem 1.044 tem aquele pedir que eu criamos mais 43 que tinha antes vamos checar se esses pires estão vivos são processos que estão vivo faz um mep de novo nessa lista de pedis receba um pedido de cada vez devolve troco todos eles estão
vivos aguardando mensagens agora eu posso além de tudo posso matar esse processo eu posso forçar ele a morrer eu posso mandar uma mensagem que é que o é como daqui - nove no processo processo de discussão ps no linux e aquilo que o menos 9 agora é só checar todo mundo vivo tá todo mundo morto seu cheka quantos processos existem o sistema agora volta os 44 com aquele primeiro pedir ainda existentes eu possa checar o primeiro disponível deitá-la ainda truta vivo recebendo mensagem eu consigo criar processos e matar processos dentro do mais um processo só
de heroína de um processo são chamadas lang dentro dele o porquê de vários processos ouro entregues cada um desses processos ele fica fazendo o trabalho dele totalmente isolado um do outro um não tem efeito colateral sobre o outro porque eles não compartilham nenhum tipo de estado e o que tem dentro dele é estado e mutável e não prende um só que para fora ele não prende nenhum ponteiro pra outra estrutura de tal maneira que se eu matar um processo eu não torna o sistema corrompido que é o que acontece em qualquer outro sistema onde você
dá um erro e eu tenho que tratar o erro esse conceito de poder agora mano inclusive mandar um kilt chama-se asynchronous ex at once isso é crucial guarda só isso você quiser porque nenhum outro sistema capaz de fazer isso é simplesmente impossível porque é impossível porque todos os outros têm estado mutável toda vez tem estado mutável eu tenho uma árvore de independência não só daquele pela função rodando mas de toda estrutura atrelada a todos os valores estão lá dentro eu peguei em gol por exemplo gol aceita ponteiro para dentro eu não consigo matar um processo
uma rotina rodando é impossível fazer isso ele é o único que consegue fazer há cinco anos ex action a idéia de fazer que o -9 um processo extremamente importante fazer que o menos nove num processo por que então agora a gente vai chegar na parte principal de tolerância a falhas vamos fazer o mesmo exemplo igualzinho que é um modo de rodolfo com o contador lá dentro igualzinho que vai bloquear de novo esperando uma mensagem naquele formato ride de um pid onde eu vou devolver pra esse pedir qual que é o número atual e vou dar
uma recursão nele mesmo e mais 1 cozinha só que agora vou fazer uma segunda pátria que eu espero um bar qualquer que vai dar um raise no ex action um erro de programador como você faria hoje em dia de um erro que acontece então se eu der agora subir esse contador mesma coisa do ano expõe no processo checcucci está vivo a vivo bonitão esperando uma mensagem posso mandar a mesma mensagem pra pegar qual o contador atual rede para self devolve no meio boxx do flash tem três talabani tinho funcionando como antes só que ele espera
uma segunda mensagem que eu posso fazer aqui esperando sua segunda mensagem vamos encarar o console que é um processo com aquele pedir primeiro existe esse conceito de linkar monitorar um processo processo pode encarar outro com a vantagem agora vou dar uma mensagem de que o -9 o tal e dão existe naquele pittman na mensagem que o senhor dessa mensagem e se essa coisa agora o console e china vai morrer mas eu posso dar um flash eu posso acertar o console esse processo para capturar o trepa capital e se existe ea hora que eu mandar a
mensagem blá que emula um erro de programação que vai acontecer aquele processo vai morrer o processo morre o processo morre e o processo que está linkado recebe no meio boxx dele uma estrutura dizendo onde morreu como morreu morreu se eu tentar mandar se olhar para algo que o meu cel fixou eu mesmo ele continua o mesmo pedir nada aconteceu com esse processo eu li eu consigo linkar processos e eu consigo saber o que acontece com o processo que eu criei eu tenho esse controle e eu consigo via paterna e mete em extrair tudo que aconteceu
pra onde mais eu posso ir vamos agora entender mais abertamente o que é o herzog é um sistema operacional completo e se observe vem por de fogo é built in ireland versão 18 ele reconhece meus oito cpus ele tem happy time porque não foi feito com a cair ele tem esse máximo de processos que eu posso subir ele pode até 16 bilhões é o limite sua máquina aguentar tem um ranking que o que aquele meio boxx geral eu tenho a lista de processos o ps lá rodando todo o processo do sistema eu tenho aqui cpu
memória eu tenho um esquerdo é pra que é uma tragédia em cada cor do meu sistema foi o que eu falei 8 costa 83 18 esquetes fazendo nada tão aí dou se esperando alguma coisa acontecer agora vou fazer aquela mesma coisa e vou fazer de novo geral sem o processo gerou 100 mil processos cop peixe com uma rápida de um spike em alguns esquiadores foram balançando entre eles para criar os 100.000 criou 100 mil aí agora tenho 100 mil processos mas os iniciais criei a mesma coisa posso matar os processos e eu tenho esse controle
visual só em o único sistema que já havia algo parecido com isso e instrumentação seria no java o java tem um bom sistema de instrumentação para ver o que acontece então eu consigo checar caiu 100 mil volts 5971 spy que aqui ele matou todo o processo e mais rápida processo tem o seu próprio barba de colector não é um gargalo de colector global é por processo ele não tem stop the world cada vez que ele pára e minúsculo porque é um processo só agora fazer um modo até agora todos mostram um estupro foram mais estúpido
ainda fazer um modo bem estúpido que a língua que ele faz é receber um argumento com a mensagem ele vai dormir por um certo tempo pinho 500 milissegundos e imprimir uma mensagem de um loop nele mesmo ficar repetindo a mesma mensagem de 500 em 500 milissegundos e meio chegou a ficar repetindo o método besta só pra fazer um repeti eu vou criar dois processos dois esportes com a função anônima seguinte faz função anônima chamando aquele método com uma mensagem que vai dar recurso nela mesmo e um segundo processo vai fazer a mesma coisa com outra
mensagem só estirpe de repeti pronto vai começar agora vou chamar o estúdio bongô e pitty vai dar respondi nos dois processos que vai executar esse método recursivo que de 500 milissegundos fica ali imprimindo coisa no console uma coisa besta isso é só para mostrar o que acontece no dentro do observer 2 esquerdo é começar a mexer no final ficou um esquiador só fazendo o processo it entre cada um deles não está usando porque não está usando um processo em cada tragédia porque ele sabe que não precisa ridículo isso é bem estúpido ele não tenta usar
trajes a mais que não precisa porque processadores modernos conseguem desligar kors causas não estejam sendo usados portanto se estivesse usando aleatoriamente todos eles já está fritando cpu ator eu posso me desligar as outras 73 estão sendo usados é uma cpu faz sozinho o young respeito é isso aí subiu memória de seu memória começo da spaic como eu tenho eu tenho um olhar em todo o sistema tudo isso que eu falei até agora um processo eo green prede que tem um meio boxx que se comunica recebendo mensagens e enviando mensagens é o que mais ou menos
todo mundo chama hoje em dia de atores então alguma vez alguém no ford atores se alguém aqui é de escala eu falar de a caac uma cópia do e lang por isso chama atores também a esses atores é só isso a toda essa infraestrutura de controle de processo mas a maioria para na parte que recebe mensagem que recebeu mensagens e cuba que o recebeu um patrão de mensagem chama outro manual mensal enquanto processo esse é um ator isso sozinho não é útil ele só é útil se eu posso agora criar trade link ali a criar
processos linkar processos mônica orar processos checar os erros desse processo e matar processo você não puder matar um processo não tem um sistema robusto qual é o principal no erlang não tem traquete tem mas não usa eu consigo dar graziano em alguma coisa não precisa eu não não precisa eu não devo usar trickett em erlang e/ou em elixir trickett é a pior construção que você pode usar ele é feito para os sistemas rudimentares que não tem outra forma de tolerância falha então quando eu tenho um sistema de tolerância falha como funciona dá um erro no
processo morre deixa morrer por mas aí morreu que eu faço se morrer na hora vou responder a essa pergunta e aí vem a todo o corte do que é o erlanger vou criar um modo agora presto atenção a algumas coisas meio novas eu vou criar um modo chamado pilha pilha todo mundo sabe a coisa mais idiota do mundo tem uma lista onde eu posso da push no item eu posso dar pop de um item subiu primeiro que entrou é o último a sair acabou isso é um stec vou criar o stec para criar esse stec
mesma coisa cria um módulo hellish eu tenho de rever sehac vai importar um guerreiro chamado deeming server pensa miguézim derrube incorporar funções e vou querer koubek vou implementar codex quando esse jeans server recebe a mensagem chamada pop ele vai chamar-se renda ou com mandando o pedido de quem chamou e vai ver eu tô decompondo o argumento que ele mandou que o estado decidir server é assim que compõem uma lista eu tiro a cabeça da lista e esse é o resto devolva à cabeça da lista e incorpora o resto como estado desse novo de encerrar ver
se não rendam cast após uma mensagem qualquer 50 homens a enquete que assim krona mandando entrar um novo item eu vou colocar esse item no topo da lista tem duas formas física e está mostrando agora de fazer a concatenação já reitor acrescentando item na cabeça da lista devolvendo para esse serve agora eu posso pegar fazer um parto onde vou receber um ok e upyd quando a dar um start link mundim server que está neste módulo e dando início com este estado inicial esse é o revelou devolver um vídeo a partir daqui eu posso dar um
call pra esse pedido manda mensagem pop kylie sendo com tira a cabeça da lista devolve eo nova a nova lista vazia fica lá dentro eu posso quero mandar um cast pra esse mesmo pedir mandando a mensagem push com o novo item e agora ele vai pegar o estado atual e acrescentar dentro da lista simples uma pilha uma coisa mais besta do mundo só que uma pilha meio feia né eu posso ficar fora do grupo xl dentro mandando mensagem assim que o mandam mensagens para um processo é que nem eu tivesse fazendo tudo que eu fiz
aqui esse start link é como se fosse aqueles pole e esse qual é como aqueles and só que em vez de o fazer toda vez na mão eu tenho em infraestrutura por cima chamada de ensaiar ver que faz um monte de coisas por mim mas inicialmente pensei que aquele mesmo hispânico aquele incêndio isso dito vamos melhorar um pouco e sistec como é o melhor ou e sistec mesma coisa votar cop peixe agora igualzinho ao que lhe rendeu ocorrem no casting agora tenho 22 a paz pública 2 duas funções que recebe de novo um pid e
vai fazer aquele mesmo de encerrar ver costa vai ficar mais bonitinho agora como é que isso funciona vou pegar um patrono de novo pegar pra pegar o pedido start link vai subir a que ele está aqui com valor inicial aqui uma rede on devolveu pedir posso agora chamar stec ponto push não mais de server pontocom só que passando pedir de novo vou mandando mensagem pede um pouquinho mais bonito como é ap atual rodando puxando poppy sally dentro mesma coisa mesmo stec como é que eu posso ainda um pouquinho allen tudo igual aqui em baixo os
mesmos renda ocorre no cast aquela piadinha pública mesmo de em cerva só que agora eu tenho um cargo do start link ele eu fiz agora ele consegue estar tá ele mesmo e atrela o pid ao nome do módulo stec então agora eu posso fazer em vez de em serve estar time foi direto stack start link com um valor inicial e eu posso estar que ponto push do item só esquece o pid internamente ele mapeou pid é o nome do modo e agora funcionam esté com o tal número modo sob um de cada vez e tem
um estepe rodando o sistema e assim subia um server tem um processo rodando esse é um serviço funcionando e essa pq eu uso e é assim que funciona todos os dias servers dentro do elysée posso checar agora os processos aqui está no final aquele penúltimo pedir que lhe gerou conhecido em cerva agora quero extrair esse pedido dessa lista é uma forma de extrair e levando um pattern para distrair a cabeça da lista só que se eu pegar isso aqui vai pegar esse primeiro cara eu não quero ver o carro que era o último então vou
reverter a lista de processo isso aqui é só um simpático e chuva aonde esse cara é o primeiro parâmetro de reverse agora eu pego esse primeiro cara e eu vou matar esse cara porque é ilegal matar processo porque a gente foi isso que foi feito com morrer processo e amg foi feito para morrer eu posso matar matei agora é só de um stack ponto pop vai dar erro vai dar erro que aconteceu pedir morreu não tem para onde mandar mensagem da bosta que eu faço com isso agora então esse é o caso que acontece fez
um erro aliás o stec rodou matou o processo seu serviço caiu é você receber uma ligação meia noite pode dar subir essa desgraça mas tem um jeito melhor em vez de você ter que ir lá e subir de novo dá um novo start link nesse está aqui agora vem a parte importante que essa parte importante mesmo com a segunda coisa é um super wax na mesma coisa mais é um stack super vai só um boiler plate é tudo igual sempre tem umas coisinhas mais ah eu dar um start no super mais um eu declaro uma
lista de filhos que são o works no caso daquele modo destaque com o valor inicial eu vou dizer que estou supervisionando esta lista como estratégia de restart one formou-se um supervisor agora o estatuto o supervisor está super vai ver depois que eu subi o supervisor e tem essa lista está que eu posso dar mais destaque o supervisor sob o está aqui pra mim e está aqui está funcionando continuou funcionando o que eu posso fazer agora você acha que vou pegar de novo pide o último pide que provavelmente o jeans server que subiu todo mundo já
sabe como fazer pegando esse pedido certo só tem um motivo pra pegar um pid hoje em dia já que os pides do sistema para chamar mensagem já estão incorporados audiência serve pelo não o modo pego a lista pego aquele rede vamos mandar um quilo - 9 naquele processo porque é legal mandaqui - nome no processo quando a prótese tite manda um quil devolve throw matei o processo 118 posso checar se está vivo está aquele processo morreu mas eu posso voltar a chamar o stack deveria daquele erro continua chamando está funcionando porque está funcionando porque eu
tenho um supervisor que está com o processo linkado aquele tio dri detectou que ele caiu ele tem uma estratégia de um fã caiu por um tio dele sobe de novo se de um erro no meio do caminho reis ex action eu não dou traz qat eu deixo reis estourar ele vai matar o processo o supervisor é notificado e ele toma uma ação que é por exemplo regista se fosse uma lista de urls e eu estava fazendo por exemplo scrap tô lá fazendo o meu dia é sério e tem a item da lista um deles deu
erro 500 eu não tratei o 500 história o processo o supervisor sob eu posso manter o estado no segundo serviço e eu volto a partir do próximo cara e continuam senhores traquete eu mato o processo e volto é assim que funciona o sistema de tolerância a falhas e isso gera um modelo chamado árvore de supervisão aonde eu tenho esse papel de supervisor e supervisionado o work então continua sendo tudo um processo só que é um processo que usam behavioristas chamado supervisor em outro processo que chama um zumbi rave o chamado de ensaiar ver aonde no
be hey verde superbaixo eu declaro quem é os quem são os filhos e no dia e serve é um serviço fica funcionando ele caiu supervisor é quem tem que subir isso tudo de novo esse é o corpo ocordo que a gente chama você já deve ter ouvido falar de o ttp ou o pinté com plataforma quem fala de erlang normalmente fala erland já incorporando o atpu erland barra ao tpi e lang não existissem atp o tpi não existissem erlang não é opcional isso aqui não é um npm instou que você faz ele vem você não
tem escolha você usa essa desgraça qualquer vantagem de estar dentro da linguagem que você não tem escolha ela está lá você deve usar você espera que todo mundo vai usar na o que você espera que alguém tem que adotar ainda a e otp é um péssimo nome isso aqui é testamento de com programador é um péssimo animal para criar nome porque não é mais o pen telecom plataforma isso aqui foi feito numa época para como é que eu faço uma infraestrutura de telecom que funciona tolerante a falha o tp agora nós não serve só para
telecom observa qualquer coisa que têm intolerância falha a tolerância falha vem porque cada coisa que eu desenvolvo roda num processo e os processos morre morre deixa morrer o supervisor tal o supervisor é um pedaço de código minúsculo quase que você não mexe nele porque a única função da vida dele é subir processo derrubar o processo onde ele consegue supervisiona árvores de workshops onde um work pode inclusive ser dependente do outro então muda estratégia de ser um formando manda o start ou caso morre um bosque após a moto matar todo mundo sabe todo mundo de novo
nunca fica estado inconsistente nesse negócio mais do que só esse sistema de super bairros works e promoveu uma série de serviços que já vêm embutidos por exemplo tem um troço a do ets é um long terme server ou system não lembro pensa em que já prendeu útil dentro do sistema e se de um processo e precisa manter um estado para quando ele morrer e subir e voltar àquele estado tem um serviço separado eu vou gravando nesse outro processo quando esse cara subi eu peço pra esse processo estado e chama ets ects alguém que ache engenhão
que velo pensa um hash zinho que ficou na memória agora eu preciso fazer xixi e zezinho e para discutir o 10 da nota e pp também se eu precisar de um banco de dados com esquema e distribuído tolerante a falhas de 77 para suportar tudo tem um banco chamado mija que é feito em cima de cts é parte do atp tudo isso já vem pré instalado já vem pré embutido isso sobe dentro daquele ambiente ele quiser o erlang eu já tenho acesso a todos os serviços a não tem que instalar nada nada isso aqui não
é um sistema que tem 1 gb de tamanho é um processo que sobe com 20 mega e já tem tudo lento só agora depois que eu fiz tudo isso vamos observar uma aplicação finnix o objetivo da palestra foi definida eu vou ter um passo atrás vamos ver o que é o fênix por subir uma aplicação os crimes aquela besta que eu fiz que é só o escafóide da observer de novo observer start processo ele se ele chegou sozinho sob com os 20 mega com o filme sob construída não porque o fixo custa 10 não é
porque eu tenho uma lista de application caubói que é um servidor web é como se fosse o puma o unicórnio tenho uma infraestrutura de xerém um supervisor ah eu tenho o alex também um serviço pra embutido que é o equivalente ruby gêmeos ou nem vem eu tenho e x que é o próprio console com acabei de subir com super vários grupos que ele consegue reciclar ele mesmo e se ocorre o orland básico quando ele sobe é só essa application canon logger pra mim é um aplicativo também então eu tenho um órgão separado que tem um
supervisor eu tenho dentro de si de sistema de aplicação o mix que é como se fosse um rei que congregou um grande eu tenho a infraestrutura do filme que tem um supervisor eu tenho um sistema de blogs que é o supervisor eu tenho post greeks também de um supervisor você vai começar a descobrir que todo mundo dentro de uma aplicação e lang tem árvores de supervisão ea própria aplicação finalmente essa aplicação começa com o supervisor ele supervisiona dois outros super vai ontem em depoimento o dono aplicações em hindi point e um repositório que é que
tu esse repositório tem um pouco e supervisiona esse monte de corpo de conexões por exemplo um processo por conexão por exemplo aí no endpoint eu vou ter também o endpoint pobres amb praticam o heb socket lá em cima vou ter todo um pool de conexões de http que eu posso receber e já está aqui preparado todo o processo para receber conexão agora que quando o que mais eu posso fazer posso matar o processo daqui do observer isso aqui não é só pra só para inspecionar eu posso instrumentar eu posso matar um processo ou mandar mensagens
do observer o do console de onde eu quiser esses processos estão à minha disposição para fazer o que eu quiser tem o processo pode ficar matando o processo que o sistema continua funcionando ele sob o novo pide subir um novo número de pedidos subiu logo vou matar outra que matar esse cara vai subir depois de 817 subiu 848 subir outro o supervisor viu que caiu ele queria mais um criou mais um cabo é assim que funciona dão paulo de conexão aqui vai matar ou morrer esse processo não vai morrer o sistema se você parar pra
pensar o que é uma aplicação finnix web ele é um conjunto de serviços assim como é qualquer aplicação que eu faço hoje em dia uma aplicação rails por exemplo e tem aplicação rails ele vai ter um puma que é um outro servidor é um outro processo ele vai ter um sistema de mim cash que vai ter separado também eu vou ter um site de quique para rodar aplicações em background são múltiplos processos talvez em múltiplas máquinas aqui eu tenho um processo fundo multi aplications são serviços uma pra outra então finnix consome o serviço de logan
logo não sabe que existe fixo recebe mensagem de blog após mandá lo em qualquer lugar o post greeks pode mandar um blog para esse logan não tenho nenhum problema com isso são serviços ali não há biblioteca compartilhada com o ponteiro uma referência é um serviço recebendo esperando uma mensagem ele é altamente desacoplado e isolado um do outro a gente está no mundo de micro serviços seu chão o que é o quê se eu pego quem chamou de micro numa micro chama de gigantes múltiplos multi grande serviço que posso ficar controlando que acontece o micro serviço
cai que acontece seu restar tu o sistema volta ao normal não volta eu não tenho ninguém supervisionando aqui dentro tem um multi application o chamado the oc tom sério porque ok tá lá em baixo depois do micro é basicamente isso que eu tenho então uma aplicação erland hellish é um conjunto de óbitos services vamos dizer assim se eu pegar então o finnix ele é um conjunto de aplicações que subiu todo supervisionado se eu pegar só o console do elixir o console do elixir ele também tem aplicações rodando o próprio console dele mesmo o logan e
os já sobre o time do hellish e se eu pegar sol e land sol hamdiya al qaeda de comando e rl que é o comando orland subir ele sobe também só quer não que é ele mesmo é um conjunto de aplicações com o que acabei de mostrar agora essa parte mais importante essa parte e lang da coisa nem parei para mostrar muito a parte deles tira parte elixir vai ter uma sede bibliotecas padrões bem feitas que vão lidar com coisas como maps tem strokes tem recordes têm compreensão a eu nem mencionei que o código que
eu faço eu posso criar documentação testável eu faço uma documentação ao ele coloca o exemplo daquele método eo roda o teste ele vai rodar o comentário e executar o comentário da documentação é executável dentro do juiz é padrão dentro do hellish a eu tenho types pec exibe reivers eu posso criar comportamentos encapsuladas errei usá-los tem protocolos também que nem coloquei na lista a eu tenho toda essa infraestrutura de jeans servers e supervisores que não é lixeira eles estão ainda mais comprimidos dentro de um pequeno pátria intimado e jeans e teske eu posso subir um dia
e serve uma única linha para rodar uma única tarefa uma lista de tarefas e um único agente que recebe estado dentro de um processo existe não só de mim serve este gene events emgfa sm que foi na state uma chance para fazer a máquina do estado finito eu tenho de mim serve pra isso a linguagem elixir suporta sítios ele tem macros e higiênicas eu possa incorporar pedaços de código abstract sintax tri dele ou seja posso pegar pedaços de código embutidos em vantagem e rodar um time são macros que isso com essas marcas por criar dsl
e como falei no atp a gente tem ainda o ets odete sumi jo e uma série de outras tecnologias de infraestrutura que vem de graça no atp e deveria usar se eu pegar agora por exemplo um breve e emitiu da vida ou um e já verde eles usam meninge por baixo eles usam todo aquele sistema de noutros por vários o processo você olhar o código-fonte você vai encontrar supervisors também com tradings servers encontrar essa mesma infraestrutura que permite isso ele funcionar isso dito e quanto às novas linguagens java script não saiba fazer isso não tem
como fazer isso é tudo global é todo mundo tava tudo compartilhava é o pior design que você pode querer máximo que vai conseguir fazer é uma coisa muito rudimentar como eu falei antes madrid hector só é o máximo que se consegue fazer o teste acabou de sair ainda está em desenvolvimento suporte assíncrono dele ainda está em desenvolvimento há eu nem sei se ele tem com rotinas eu não sei se deu por a idéia de você poder suspender uma um processo em execução a maioria não tem esse suporte portanto uma única função que você faz pode
bloquear o que você está rodando o gol tem esse mesmo problema o gol ele tem estado mutável compartilhado não tem como a uma rotina ele não tem sequer um pid eu não consigo controlar uma rotina eu tenho 20 anos eu não posso controlar a o gol ele tem um futuro que uma biblioteca a parte que é um atp cone ele quase funciona como um atp se você seguir algumas convenções então de novo vamos assumir que você leu as convenções não vai cometer o erro o scala é a mesma coisa o a quem trouxe a idéia
toda directors a voga ele é um atp clone o ideal dele seria ser lang mas ele também tem o mesmo problema tj vem por trás tem estado mutável mas ainda eu tenho uma linguagem estática eu tenho assinaturas estáticas de cada método função eu tenho que ter porque é estático só que eu não posso agora então mudar uma classe subir só classe nova tem que mudar toda a árvore que depende dela é impossível subir só aquela uma função se eu mudar a assinatura dela isso só funciona em linguagem dinâmica o couro é o mais próximo que
eu vou te dizer lang se eu usar o pulsar e o coisa que são quase uns atp também ainda tem as limitações do jvm não vai funcionar igual a jvm e toda a vantagem de ter suas bibliotecas java de antigos vai ter toda uma década java e tem todos os problemas estado compartilhado mutável e assim por diante nenhuma delas consegue suportar cinco anos ex edson não tenho como fazer isso por razões que vão fazer tudo que o herói no que faz todos eles estão no quase tão tentando com a quase lá quase mas o quase
não vai acontecer já aconteceu em uma linguagem chamada erlang faz 30 anos porque ninguém usa elaine eu inclusive porque é feio que nem o cão é o cão chupando manga tudo bem a gente está acostumado com linguagens que são o cão chupando manga a gente consegue trabalhar com isso a gente sabe mas não é legal porque eu vou fazer esse trabalho todo para isso existe uma linguagem chamada elixir o hellish ele pega orlandini não modificou land e coloca uma camada por cima que tira aquela linguagem velha que é derivada de prologue então em 86 o
tio emerson pegou prologue e colocou toda essa idéia de processos atores no prologue e isso virou lang depois eles se inscreveram isso em c e assim por diante e aí virou erland moderno mas não tem raízes em prolongue o elixir por outro lado tem raízes em linguagens dinâmicas grube python assim por diante parece muito o clube sem todas as partes mutáveis que eu tenho no clube como aprendi elixir site oficial a documentação muito boa vale a pena ler com a ser muito tempo nessa documentação qualquer projeto que você fizer usando mix que é hoje era
o gerenciador de tarefas do elixir já a documentação dessa forma de documentar seus métodos o fênix também documentado também framework web pronto para funcionar agora livros vários programas e xetá pronto programa enfim está em beta 1 que vale muito a pena ler é unir o eclipse e otp guy the book porque ele explica um pouquinho mais detalhado com acabei de mostrar a palestra toda a infraestrutura de otps como que o controlo um milhão de pequenos processos mantendo todos em ordem tem o único exercício que é um canal diz que em cast então toda semana saiu
sequer de cinco minutos tem links e status que é um aglomerado de de blog post da comunidade elixir na europa tem lhe dizer confio nos estados unidos têm de dizer koff já foi a segunda em cada um dos 22 países e mais que isso exige toda a comunidade erlang por trás e lang solutions é uma delas que ainda dá suporte a toda a infraestrutura que a gente precisa usar aquela aplicação finnix que eu mostrei por exemplo o caubói erlang que eu observe o rent erlan quem é que é a faz parte do filme eu uso
tudo que é erlang dentro para fazer pude code pude processos e meio subiu 1 milhão de processos que estava a fazer dez processos onde eu vou usando um processo à medida que ele vai liberando isso é um puto tem uma chamada por boy que é feito em orlando e também uma vez entendendo assim táxi elixir entendendo o conceito de atp existe muita documentação e erland que ensina todos os internos do iraque então o lane o summer land explica bem de forma bem fácil fácil de digerir usando códigos lang mais uma vez que você entender esse
conceito com acabei de falar agora nou diz processos processos list próximo existissem disponi quem serve supervisors é o vocabulário que você precisa para começar a entender tudo isso daqui isso já está estável isso não tem que ficar estável ainda isso já está maduro não tem que ficar maduro ainda isso já existe só que antes estava bloqueado porque é chato de programa nele agora que acabou de abrir desbloquear o welington landim agora está acessível em uma linguagem que eu vou dizer que até mais fácil de aprender do que um lobby então não há outra desculpa para
não se usa a irlanda não ser preguiça espero que vocês tenham gostado da introdução e motivado a um pouquinho mais gerland e mexer agradeço a todos por terem vindo obrigado dá tempo à pergunta acho que não né voltar aqui atrás qualquer coisa uma pergunta tem outros por mais atrás dele é um super vilão entre óbvio dá pra matar o orland com certeza dá eu consigo matar o irlandês chegar lá e dá um quil no último processo ou estourar a quantidade de processos da máquina para fazer isso também sobe 16 milhões de processos que acontece em
formas após atirar em formas de matar só que você tem que se esforçar para matar não é fácil de matar ele é mais fácil matar os pequenos processos beleza galera continua estudando com vocês nesta hipótese