Palestra feita no Mutirão PyCursos 2013, ela tem como objetivo introduzir os aspectos do non-blocking I/O aplicados ao desenvolvimento web e mostrar como o Tornado pode lhe ajudar a construir soluções mais completas.
O Tornado é um framework web non-blocking escrito para lidar com milhares de conexões simultâneas. Iremos conhecer as camadas mais baixas do framework (ioloop, iostream, stack_context, gen, timers, ...) entender como elas funcionam e como podemos utilizá-las.
Javascript não é só um linguagem de apoio a web, ela é muito mais do que isso, ela pode ser utilizada muito bem no lugar de tantas outras, desde que você saiba o verdadeiro potencial dela. Nesta apresentação eu coloco vários atributos introduzidos e possibilitados no ECMA5.
O padrão Event-based Asynchronous Pattern (EAP) corresponde a uma evolução do padrão IAsyncResult Pattern ou Asynchronous Programming Model (APM) para programação assíncrona na plataforma .NET.
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...Tchelinux
O famoso "Hello world" ou "Olá Mundo" não explica muito bem como uma linguagem funciona. O que será apresentado é uma introdução à linguagem Python, transformando o texto "Fujam para as colinas" em coisas como "Funam Para As Colijas".
Palestra de Júlio Biason, apresentada no Tchelinux Bento Gonçalves 2017.
* Link original do autor: https://presentations.juliobiason.net/fugindo-com-python-2.html
* Mais palestras do autor: https://presentations.juliobiason.net/
Júlio Biason programa em Python desde 2004 e profissionalmente desde 2007.
Javascript não é só um linguagem de apoio a web, ela é muito mais do que isso, ela pode ser utilizada muito bem no lugar de tantas outras, desde que você saiba o verdadeiro potencial dela. Nesta apresentação eu coloco vários atributos introduzidos e possibilitados no ECMA5.
O padrão Event-based Asynchronous Pattern (EAP) corresponde a uma evolução do padrão IAsyncResult Pattern ou Asynchronous Programming Model (APM) para programação assíncrona na plataforma .NET.
Fugindo para as colinas com Python - Julio Biason - Tchelinux Bento Gonçalves...Tchelinux
O famoso "Hello world" ou "Olá Mundo" não explica muito bem como uma linguagem funciona. O que será apresentado é uma introdução à linguagem Python, transformando o texto "Fujam para as colinas" em coisas como "Funam Para As Colijas".
Palestra de Júlio Biason, apresentada no Tchelinux Bento Gonçalves 2017.
* Link original do autor: https://presentations.juliobiason.net/fugindo-com-python-2.html
* Mais palestras do autor: https://presentations.juliobiason.net/
Júlio Biason programa em Python desde 2004 e profissionalmente desde 2007.
JS Experience 2017 - Performance Web além do carregamentoiMasters
Sergio Lopes, Diretor e Professor da Caelum fala sobre Performance Web além do carregamento no JS Experience'17
Saiba mais em https://eventos.imasters.com.br/jsexperience
Veja neste artigo como trabalhar com a classe StringBuilder na linguagem Java, muito utilizada na manipulação de objetos do tipo String, porém com mais flexibilidade e melhor desempenho.
Rust é uma linguagem estremamente rápida que não tem runtime, portanto pode ser integrada a qualquer outro runtime. Descubra como é fácil estender Python com Rust!
Raspador: Biblioteca em Python para extração de dados em texto semi-estruturadoFernando Macedo
Slides em HTML5: http://fgmacedo.github.io/talks/pybr9_raspador
Palestra apresentada na PythonBrasil[9], em Brasília.
Com aproximadamente 500 linhas de código (+testes), o raspador é uma mini-biblioteca para extração de dados em fontes semi-estruturadas. Está em produção utilizado como fundamento para extração de dados em Espelhos MFD de impressoras fiscais.
A definição dos extratores é feita através de classes como modelos, de forma semelhante ao ORM do Django. Cada extrator procura por um padrão especificado por expressão regular, e a conversão para tipos primitidos é feita automaticamente a partir dos grupos capturados.
O analisador é implementado como um gerador, onde cada item encontrado pode ser consumido antes do final da análise, caracterizando uma pipeline.
A análise é foward-only, o que o torna extremamente rápido, e deste modo qualquer iterador que retorne uma string pode ser analisado, incluindo streams infinitos.
Com uma base sólida e enxuta, é fácil construir seus próprios extratores.
Além da utilidade da ferramenta, o raspador é um exemplo prático e simples da utilização de conceitos e recursos como iteradores, geradores, meta-programação e property-descriptors.
http://2013.pythonbrasil.org.br/program/pb/other/raspador-uma-mini-biblioteca-tupiniquim-para-extracao-de-dados
Palestra do Community Manager da Intel, Luciano Palma, sobre Computação Paralela no SECOMP da UNIFEI (Itajubá), no dia 4/6/2013.
A palestra abordou conceitos de programação paralela e de arquitetura de microprocessadores, além de apresentar o coprocessador Intel Xeon Phi e o CILK - que permite implementar com facilidade paralelismo ao software.
Jokingly casual introduction that scales quickly to the obscure powers of bash script.
Intended to call the attention of devs and ops, and bridge the perception of the complexity on each other sides with things too familiar and yet too far out for both.
A reminder of the capacity we have in our hands if we dare to use it.
I usually don't use notes, but this presentation was so complex I had to. Hope you understand portuguese.
JS Experience 2017 - Performance Web além do carregamentoiMasters
Sergio Lopes, Diretor e Professor da Caelum fala sobre Performance Web além do carregamento no JS Experience'17
Saiba mais em https://eventos.imasters.com.br/jsexperience
Veja neste artigo como trabalhar com a classe StringBuilder na linguagem Java, muito utilizada na manipulação de objetos do tipo String, porém com mais flexibilidade e melhor desempenho.
Rust é uma linguagem estremamente rápida que não tem runtime, portanto pode ser integrada a qualquer outro runtime. Descubra como é fácil estender Python com Rust!
Raspador: Biblioteca em Python para extração de dados em texto semi-estruturadoFernando Macedo
Slides em HTML5: http://fgmacedo.github.io/talks/pybr9_raspador
Palestra apresentada na PythonBrasil[9], em Brasília.
Com aproximadamente 500 linhas de código (+testes), o raspador é uma mini-biblioteca para extração de dados em fontes semi-estruturadas. Está em produção utilizado como fundamento para extração de dados em Espelhos MFD de impressoras fiscais.
A definição dos extratores é feita através de classes como modelos, de forma semelhante ao ORM do Django. Cada extrator procura por um padrão especificado por expressão regular, e a conversão para tipos primitidos é feita automaticamente a partir dos grupos capturados.
O analisador é implementado como um gerador, onde cada item encontrado pode ser consumido antes do final da análise, caracterizando uma pipeline.
A análise é foward-only, o que o torna extremamente rápido, e deste modo qualquer iterador que retorne uma string pode ser analisado, incluindo streams infinitos.
Com uma base sólida e enxuta, é fácil construir seus próprios extratores.
Além da utilidade da ferramenta, o raspador é um exemplo prático e simples da utilização de conceitos e recursos como iteradores, geradores, meta-programação e property-descriptors.
http://2013.pythonbrasil.org.br/program/pb/other/raspador-uma-mini-biblioteca-tupiniquim-para-extracao-de-dados
Palestra do Community Manager da Intel, Luciano Palma, sobre Computação Paralela no SECOMP da UNIFEI (Itajubá), no dia 4/6/2013.
A palestra abordou conceitos de programação paralela e de arquitetura de microprocessadores, além de apresentar o coprocessador Intel Xeon Phi e o CILK - que permite implementar com facilidade paralelismo ao software.
Jokingly casual introduction that scales quickly to the obscure powers of bash script.
Intended to call the attention of devs and ops, and bridge the perception of the complexity on each other sides with things too familiar and yet too far out for both.
A reminder of the capacity we have in our hands if we dare to use it.
I usually don't use notes, but this presentation was so complex I had to. Hope you understand portuguese.
PHP na Tela Escura: Aplicações Poderosas em Linha de ComandoRafael Jaques
A linguagem PHP é conhecida por ser utilizada no desenvolvimento de aplicações web. Essa palestra visa apresentar o outro lado do desenvolvimento. Poucos sabem que é possível utilizar a linguagem para desenvolver tarefas agendadas, ferramentas multi-thread e diversas outras aplicações que rodam em terminal. Nessa palestra exploraremos o mundo do PHP-CLI.
Palestra de Rafael Jaques (@rafajaques)
Recentemente foi anunciada a versão 3.0 do Tornado, um framework web non-blocking escrito para lidar com milhares de conexões simultâneas. Umas das grandes mudanças é o suporte a "Futures", introduzida no python 3.2 para dar mais poder aos tradicionais callbacks. Iremos conhecer as principais funcionalidades do Tornado, ressaltando as novidades implementadas na última versão, e comentar sobre as novas tendências para a programação assíncrona no python.
14. callback passing style
dfsatfo:
e tr(o)
#d sufwt foadwe dn cl tenx fnto
o tf ih o n hn ow al h et ucin
sufclbc=etse,dt=o)
tf(alaknx_tp aafo;
dfnx_tpbr:
e etse(a)
#cl mr_tf t prebr
al oesuf o as a
mr_tf(alakls_tp dt=a)
oesufclbc=atse, aabr
dfls_tpbz:
e atse(a)
#sn tersos
ef h epne
sn_epnebz
edrsos(a)
#e orhnlrko w aedn
lt u ade nw e r oe
fns(
iih)
marcelnicolay.com
15. IOLoop
An I/O event loop for nonblocking sockets.
core da camada de rede do tornado
rápido e fácil de usar
uma instância por processo
crossplataforma
código aberto
client libraries & server applications
marcelnicolay.com
16. IOLoop
ipr ero
mot rn
ipr fntos
mot ucol
ipr sce
mot okt
fo traoipr ilo
rm ond mot oop
dfhnl_oncincneto,ades:
e adecneto(oncin drs)
pit"e cneto..
rn nw oncin."
dfcneto_ed(ok f,eet)
e oncinraysc, d vns:
wieTu:
hl re
ty
r:
cneto,ades=sc.cet)
oncin drs okacp(
ecp sce.ro,e
xet okterr :
i eag[]nti (rn.WUDLC,eroEGI)
f .rs0 o n eroEOLBOK rn.AAN:
rie
as
rtr
eun
cneto.ebokn()
oncinstlcig0
hnl_oncincneto,ades
adecneto(oncin drs)
sc =sce.oktsce.FIE,sce.OKSRA,0
ok oktsce(oktA_NT oktSC_TEM )
sc.escotsce.O_OKT sce.ORUEDR 1
okstokp(oktSLSCE, oktS_ESAD, )
sc.ebokn()
okstlcig0
sc.id(" 88)
okbn(", 88)
sc.itn18
oklse(2)
i_op=ilo.Oopisac(
olo oopILo.ntne)
clbc =fntosprilcneto_ed,sc)
alak ucol.ata(oncinray ok
i_opadhnlrsc.ieo) clbc,i_opRA)
olo.d_ade(okfln(, alak olo.ED
i_opsat)
olo.tr(
marcelnicolay.com
18. IOStream: a very simple HTTP client
fo traoipr ilo
rm ond mot oop
fo traoipr isra
rm ond mot otem
ipr sce
mot okt
dfsn_eus(:
e edrqet)
sra.rt(GT/HT/.Hs:finfe.o"
temwie"E TP10rnot rededcmrnrn)
sra.edutl"rnrn,o_edr)
temra_ni(" nhaes
dfo_edr(aa:
e nhaesdt)
haes={
edr }
frln i dt.pi(":
o ie n aaslt"rn)
prs=ln.pi(:)
at ieslt""
i lnprs = 2
f e(at) = :
haesprs0.ti(]=prs1.ti(
edr[at[]srp) at[]srp)
sra.edbtsithaes"otn-egh],o_oy
temra_ye(n(edr[CnetLnt") nbd)
dfo_oydt)
e nbd(aa:
pitdt
rn aa
sra.ls(
temcoe)
ilo.Oopisac(.tp)
oopILo.ntne)so(
s=sce.oktsce.FIE,sce.OKSRA,0
oktsce(oktA_NT oktSC_TEM )
sra =isra.Otems
tem otemISra()
sra.onc("rededcm,8) sn_eus)
temcnet(finfe.o" 0, edrqet
ilo.Oopisac(.tr(
oopILo.ntne)sat)
26. tornado.netutil.TCPServer
A nonblocking, singlethreaded TCP server.
fo traoipr ilo
rm ond mot oop
fo traoipr nttl
rm ond mot eui
casEhSre(eui.CSre)
ls coevrnttlTPevr:
dfhnl_temsl,sra,ades:
e adesra(ef tem drs)
sl.sra =sra
ef_tem tem
sl.ra_ie)
ef_edln(
df_edln(ef:
e ra_iesl)
sl.sra.edutl'n,sl.hnl_ed
ef_temra_ni(' ef_adera)
df_adera(ef dt_n:
e hnl_edsl, aai)
sl.sra.rt(Yusn:%'%dt_n
ef_temwie'o et s aai)
sl.ra_ie)
ef_edln(
i _nm_ = '_an_:
f _ae_ = _mi_'
sre =EhSre(
evr coevr)
sre.itn20)
evrlse(07
ilo.Oopisac(.tr()
oopILo.ntne)sat)
marcelnicolay.com