SlideShare una empresa de Scribd logo
1 de 67
Descargar para leer sin conexión
支撐英雄聯盟戰績網的那條巨蟒
   Python behind loltw.net
           by toki
關於我
Something about me
寫過AlienBBS (OSX, Cocoa)
 
 
 
 
 
 
 
                Author of AlienBBS
寫過抓漫畫的軟體 (C#)
 
 
 
 
 
 
 
        Author of TPhotoRipper
寫過抓漫畫的Chrome Ext (JS)
 
 
 
 
 
 
 
 Author of 8comic link generator Chrome ext
台達電子 - 雲端技術中心
 
 
 
 
 
 
 
        Delta Electronic, CTBU
只有壹年Python經驗
 
 
 
 
 
 
 
      1 year Python experience only
什麼是英雄聯盟?
 
 
 
 
 
 
 
      What is League of Legends?
Game
    Editor


                       魔獸三國
DotA Allstars   中文變種
    鬥塔

                       魔獸信長
     Riot
    Game
5 players VS 5 players
 
 
 
 
 
 
目標是克服萬難打爆對面的基地!!!
什麼是英雄聯盟戰績網?
 
 
 
 
 
 
 
       What can loltw.net do?
不開遊戲也可查詢玩家的資料
 
 
 
 
 
 
 
    Query player info even not in game
顯示遊戲裡查不到的資料
 
 
 
 
 
 
 
    Reveal what server hides from you.
顯示官方網站沒有的排名
 
 
 
 
 
 
 
  Reveal ranks not shown on official site
查詢頂尖玩家的遊戲配置
 
 
 
 
 
 
 
    Show top players' game settings
以及我最愛的 - 統計 :-P
 
 
 
 
 
 
 
         & my favorite - statistics
這樣子的網站會有人用嗎?
 
 
 
 
 
 
 
      How many people use it?
玩家們用戰績網做什麼?
 
 
 
 
 
 
 
      How people use loltw.net?
查詢隊友有多坑 :-P
 
        YOU ARE HERE

 
 
 
 
 
 
    Querying how troll teammates are :-P
為了解你的隊友並且配合他們
為了學習高手的遊戲配置
 
 
 
 
 
 
 
             For better team play
     For learning from top players
戰績網怎麼拿到玩家資料的?
 
 
 
 
 
 
 
    How loltw.net get players' info?
戰績網V1 - 使用者上傳
 
 
 
 
 
 
 
       loltw.net V1 - user upload
戰績網V2 - 偽裝成遊戲程式
 
 
 
 
 
 
 
     loltw.net V2 - fake game client
構成戰績網的OSS
 
 
 
 
 
 
 
    List of OSS help building loltw.net
中秋節太無聊怎麼辦?
 
 
 
 
 
 
 
       bored in vacation?
來看看遊戲的log檔裡有什麼
 
 
 
 
 
 
 
     find something in game log
有log parser了,再來呢?
 
 
 
 
 
 
 
        Ok, we got a log parser, then?
django? 那是啥?
 
 
 
 
 
 
 
               What's django?
快速的MVC的網站開發環境
 
 
 
 
 
 
 
      A fast MVC web framework
Model                 Model
how to define data    資料如何定義
                       
Controller            Controller
how to fetch/modify   資料如何取出/修改
data                   
                       
View                  View
how to present data   資料如何呈現
 
 
使用資料庫就像使用一般物件
class Author(models.Model):
  name = models.CharField(max_length=60)
class Article(models.Model):
  title = models.CharField(max_length=60)
   body = models.TextField()
  created = models.DateTimeField(auto_now_add=True)
   author = models.ForeignKey('Author')
 
  = Article(title='測試文章'
author = Author.objects.create(name='toki')
article
            body='測試文章內容....',
            author = author)
 
article .save()

                   ORM - Object Relation Mapping
快速而方便的URL dispatcher
 
 ^blog/$                => /blog/
 ^blog/(?P<id>d+)/$    => /blog/1/
                        => /blog/2/

 ^blog/(?P<author>w+)/$ =>/blog/author/
                        =>/blog/teeeeeemo/
 
 
           Fast & convenience URL dispatcher
簡易好用的樣板系統
 <html>
 <body>
 {% for a in articles %}
 <h1>{{a.title}}</h1>
 {{a.body}}
 <div>

 <div style="text-align: right;">
 </div>

 </div>
 Author: {{a.author}}

 </body>
 {% endfor %}

 </html>

                 easy and good template system
擴充你的樣板系統
 SERVER_LOOKUP = {
  'TW': '台灣',
 }   'NA': '北美',

 @register.filter
 @stringfilter
 def server_region(o):
     return SERVER_LOOKUP.get(o)
  
 ------
 <div>{{'TW'|server_region}}</div> => <div>台灣</div>
 
           With extensible template filters / tags
內建多語系處理,講英文嘛A通
 
 
 
 
 
 
 
     built-in multi language support
內建cache機制
 from django.views.decorators.cache
 import cache_page
 @cache_page(60*60*24)
 def blah blah blah ...
     some_view_func(rq):

 
 
 
 
                             built-in cache processor
內建登入以及session處理
 
 
 
 
 
 
 
     built-in login & session processor
安裝簡單,架構清晰
文件齊全,學習容易
 
 
 
 
 
    easy to install, clear architecture
     well documented, easy to learn
log一直改版怎麼辦?
 
 
 
 
 
 
 
      log format changes so often!
來吃點mongo吧
 
 
 
 
 
 
 
            Try mongoDB
mongo有什麼好吃的?
  Schema free
  No join
  JSON compatible
  Python friendly
 
  Horizontal scalability with replica
  Fast (& eat all your memory :-P)

 
                                 Why mongoDB?
用JSON來記錄Blog文章
 
  {
  "title": "這是blog title",
  "body": "blog文章,很長很長...",
    "create": "2012-6-10T10:00:00.000",
  "author": "toki"
 }
 
 
        How to describe a blog article in JSON?
用Python dict來記錄Blog文章
 
  {
  "title": "這是blog title",
  "body": "blog文章,很長很長...",
    "create": "2012-6-10T10:00:00.000",
  "author": "toki"
 }
 
 
      How to describe it in Python dictionary?
如何存進mongodb (in python)
 
  from pymongo import Connection
 a = {
  "title": "這是blog title",
     "article": "blog文章,很長很長...",
  "body": "2012-6-10T10:00:00.000",
  "author": "toki"
  }
 Connection('localhost')['blog']['article'].save(a)
                  connection   database   collection

 
          How to save into mongodb via python?
如何搜尋blog文章
  from pymongo import Connection
  all_article = Connection('localhost')['blog']['article'].
  find()
   
  all_article_title = Connection('localhost')['blog']
  ['article'].find(
    {}, {title: 1})
  article =
  Connection('localhost')['blog']['article'].find_one(
  {'author': 'toki'})
 
                                            How to search?
如果你突然想幫blog加上tag
 
  from pymongo import Connection
  
  Connection('localhost')['blog']['article'].update(
  {
       {'author': 'toki'},
       {'$set': {'tags': ['a', 'b', 'c']}},
  }
 )
 
              Wanna add tags fields to blog data?
難道mongoDB沒有缺點嗎?
 Schema free
  Everyone needs to know how schema looks like
  每個人都得知道資料長什麼樣子
 No join
  Waste of space
  浪費空間
 Fragment
  Scheduled defragment maintenance required
   需要定時重整資料庫
  
 
                                 Cons of mongoDB?
還有該死的BFGL!!!
         Write will lock DB globally
         寫入動作會鎖住整個資料庫
 
         Solution
         解法

         Add more RAM
         加RAM
         Multi DB instance
         開多個資料庫
         Wait newer version(2.2)
         等新版(2.2以後)
 
   And DXXN BFGL(Big Fxxking Global Lock)!!!
RIOT 我的log呢? QQ
 
 
 
 
 
 
 
            RIOT, where is my log?
是時候來點扭曲的蟒蛇了
 
 
 
 
 
 
 
     Time for something TWISTED
LoL的通訊協定是....?
 
 ● Built by Flash (Adobe AIR)
 ● RTMPS ( Real Time Message Protocol)
 ● RTMPS = RTMP + SSL Encryption
 ● Wrote by Actionscript = Event Driven
 
 
     What's the protocol of League of Legends?
Twisted 是什麼?
 
Officially:
 
Twisted is an event-driven networking engine
written in Python
 
 
 
官方說法:
Twisted 是一個事件驅動的網路引擎
 
 
 
 
 
                             What is Twisted?
Twisted寫echo server要多久
from twisted.internet import protocol, reactor
 
 
class Echo(protocol.Protocol):
  def dataReceived(self, data):
       self.transport.write(data)
 
 
class EchoFactory(protocol.Factory):
  def buildProtocol(self, addr):
       return Echo()
 
 
reactor.listenTCP(1234, EchoFactory())
 
reactor.run()
 
How long takes writing echo server in Twisted?
要改成SSL加密版本又要多久?
from twisted.internet import protocol, reactor, ssl
 
 
class Echo(protocol.Protocol):
  def dataReceived(self, data):
       self.transport.write(data)
  EchoFactory(protocol.Factory):
class
   def buildProtocol(self, addr):
  return Echo()
 
 
reactor.listenSSL(1234, EchoFactory(),
   ssl.DefaultOpenSSLContextFactory('key', 'crt'))
 
reactor.run()
 
    How long takes to rewrite it to SSL version?
Protocol提供了哪些事件?
 
       ● connectionMade
         連上時要做什麼
 
       ● connectionLost
         失去連線時要做什麼

       ● dataReceived
         收到資料時要做什麼

 
   What events does Protocol class provide?
其它寫bot會用到的函數
  ● reactor.callLater()
    讓你等下再call某個function
 
  ● reactor.callInThread()
  讓你在另一個thread call某個function
  ● task.LoopingCall class
  讓你每隔一定時間就去call某個function
   
 
 
         Other functions for writing a lol bot
一段簡單的client程式
from twisted.internet import protocol, reactor, task
  
class SimpleClient(protocol.Protocol):
   def dataReceived(self, data):
       print data
   def connectionMade(self):
       self.callLater(3.0, self.send_hello)
   def send_nop(self):
       self.transport.write('nop')
   def send_hello(self):
       self.transport.write('hello')
   l = task.LoopingCall(self.send_nop)
       l.start(1.0)
  
                                    Simple client code
一段簡單的client程式(續)
class SimpleClientFactory(protocol.ClientFactory):
  def buildProtocol(self, addr):
       return SimpleClient()
 
 
reactor.connectTCP('localhost', 7777,
 
SimpleClientFactory())
 
 
# for SSL support, call below line instead
# reactor.connectSSL('localhost', 7777,
 
SimpleClientFactory(), ssl.ClientContextFactory())
 
 
reactor.run()
 
                     Simple client code (continued)
其它各種幫助戰績網的資源
 
 
 
 
 
 
 
  Other resources help building loltw.net
懶得寫網站的最新消息頁面?
 
 
 
 
 
 
 
     Too lazy for site news pages?
使用者懶的上傳該怎麼辦
 
 
 
 
 
 
 
 How to help lazy users upload their logs?
使用者亂傳假的log該怎麼辦
 
 
 
 
 
 
 
       How to deal with fake log?
做一個漂亮的HTML按鈕要多久
 
          =?
 
  With

 
  <a href="" class="btn btn-primary">
  Primary action</a>
 
     How long takes for a pretty html button?
來談談我們的VPS
  19.95 美金 (600 台幣) 你會得到
  512MB 記憶體
     20GB 硬碟空間
  200GB 對外流量 (傳到server免錢!!)
 某HxCloud光100GB流量就要1350台幣(45美金)!!
     6 個不同地理位置(美歐日)的資料中心可以選擇
     超級快的線上咨詢
  19.95 USD (600 NTD) you get
HxCloud charges 1350NTD(45USD) for ONLY 100GB bandwidth !!!!


  512MBHDD
     20GB
            RAM

  200GB outgoing bandwidth (incoming is freeeee!)
     6 geolocations(JP/US/EU) data centers to choice
  ultra fast online support
                                    Let's talk about our VPS
感謝各位 :-)
 
 
  問與答時間&工商服務
 
  Q&A & Hiring Info
 
 
 
           Thx for your listening :-)
台達電子雲端研發中心徵人中
 熱愛寫程式             Love coding
 
 熱愛OSS             Love OSS
                  Familiar with U*ix system is a plus
 加分項目
  熟U*ix系統         Familiar
                  Familiar
                             with
                             with
                                    Python is a plus
                                    C/C++ is a plus
                  Familiar   with   Virtualization is a plus
  熟Python         Familiar   with   Web Application is a plus
   熟C/C++
  熟Virtualization
  熟Web Application
  
 請寄履歷至: YVONNE.WJ.CHEN@delta.com.tw
   We're hiring (Delta Electronic CTBU)

Más contenido relacionado

La actualidad más candente

Py conkr 20150829_docker-python
Py conkr 20150829_docker-pythonPy conkr 20150829_docker-python
Py conkr 20150829_docker-pythonEric Ahn
 
Jersey framework
Jersey frameworkJersey framework
Jersey frameworkknight1128
 
Building Fast, Modern Web Applications with Node.js and CoffeeScript
Building Fast, Modern Web Applications with Node.js and CoffeeScriptBuilding Fast, Modern Web Applications with Node.js and CoffeeScript
Building Fast, Modern Web Applications with Node.js and CoffeeScriptroyaldark
 
Why Node.js
Why Node.jsWhy Node.js
Why Node.jsguileen
 
JWT: jku x5u
JWT: jku x5uJWT: jku x5u
JWT: jku x5usnyff
 
Atlassian Groovy Plugins
Atlassian Groovy PluginsAtlassian Groovy Plugins
Atlassian Groovy PluginsPaul King
 
Tornado web
Tornado webTornado web
Tornado webkurtiss
 
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
A Brief History of UniRx/UniTask, IUniTaskSource in DepthA Brief History of UniRx/UniTask, IUniTaskSource in Depth
A Brief History of UniRx/UniTask, IUniTaskSource in DepthYoshifumi Kawai
 
Muduo network library
Muduo network libraryMuduo network library
Muduo network libraryShuo Chen
 
pa-pe-pi-po-pure Python Text Processing
pa-pe-pi-po-pure Python Text Processingpa-pe-pi-po-pure Python Text Processing
pa-pe-pi-po-pure Python Text ProcessingRodrigo Senra
 
C#을 이용한 task 병렬화와 비동기 패턴
C#을 이용한 task 병렬화와 비동기 패턴C#을 이용한 task 병렬화와 비동기 패턴
C#을 이용한 task 병렬화와 비동기 패턴명신 김
 
Nginx + Tornado = 17k req/s
Nginx + Tornado = 17k req/sNginx + Tornado = 17k req/s
Nginx + Tornado = 17k req/smoret1979
 
연구자 및 교육자를 위한 계산 및 분석 플랫폼 설계 - PyCon KR 2015
연구자 및 교육자를 위한 계산 및 분석 플랫폼 설계 - PyCon KR 2015연구자 및 교육자를 위한 계산 및 분석 플랫폼 설계 - PyCon KR 2015
연구자 및 교육자를 위한 계산 및 분석 플랫폼 설계 - PyCon KR 2015Jeongkyu Shin
 
Tornado Web Server Internals
Tornado Web Server InternalsTornado Web Server Internals
Tornado Web Server InternalsPraveen Gollakota
 
Jwt == insecurity?
Jwt == insecurity?Jwt == insecurity?
Jwt == insecurity?snyff
 
"Swoole: double troubles in c", Alexandr Vronskiy
"Swoole: double troubles in c", Alexandr Vronskiy"Swoole: double troubles in c", Alexandr Vronskiy
"Swoole: double troubles in c", Alexandr VronskiyFwdays
 
WAF Bypass Techniques - Using HTTP Standard and Web Servers’ Behaviour
WAF Bypass Techniques - Using HTTP Standard and Web Servers’ BehaviourWAF Bypass Techniques - Using HTTP Standard and Web Servers’ Behaviour
WAF Bypass Techniques - Using HTTP Standard and Web Servers’ BehaviourSoroush Dalili
 

La actualidad más candente (20)

Py conkr 20150829_docker-python
Py conkr 20150829_docker-pythonPy conkr 20150829_docker-python
Py conkr 20150829_docker-python
 
Jersey framework
Jersey frameworkJersey framework
Jersey framework
 
Building Fast, Modern Web Applications with Node.js and CoffeeScript
Building Fast, Modern Web Applications with Node.js and CoffeeScriptBuilding Fast, Modern Web Applications with Node.js and CoffeeScript
Building Fast, Modern Web Applications with Node.js and CoffeeScript
 
Why Node.js
Why Node.jsWhy Node.js
Why Node.js
 
JWT: jku x5u
JWT: jku x5uJWT: jku x5u
JWT: jku x5u
 
Atlassian Groovy Plugins
Atlassian Groovy PluginsAtlassian Groovy Plugins
Atlassian Groovy Plugins
 
Elastic stack
Elastic stackElastic stack
Elastic stack
 
Tornado web
Tornado webTornado web
Tornado web
 
Node.js in production
Node.js in productionNode.js in production
Node.js in production
 
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
A Brief History of UniRx/UniTask, IUniTaskSource in DepthA Brief History of UniRx/UniTask, IUniTaskSource in Depth
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
 
Muduo network library
Muduo network libraryMuduo network library
Muduo network library
 
pa-pe-pi-po-pure Python Text Processing
pa-pe-pi-po-pure Python Text Processingpa-pe-pi-po-pure Python Text Processing
pa-pe-pi-po-pure Python Text Processing
 
C#을 이용한 task 병렬화와 비동기 패턴
C#을 이용한 task 병렬화와 비동기 패턴C#을 이용한 task 병렬화와 비동기 패턴
C#을 이용한 task 병렬화와 비동기 패턴
 
Nginx + Tornado = 17k req/s
Nginx + Tornado = 17k req/sNginx + Tornado = 17k req/s
Nginx + Tornado = 17k req/s
 
연구자 및 교육자를 위한 계산 및 분석 플랫폼 설계 - PyCon KR 2015
연구자 및 교육자를 위한 계산 및 분석 플랫폼 설계 - PyCon KR 2015연구자 및 교육자를 위한 계산 및 분석 플랫폼 설계 - PyCon KR 2015
연구자 및 교육자를 위한 계산 및 분석 플랫폼 설계 - PyCon KR 2015
 
Tornado Web Server Internals
Tornado Web Server InternalsTornado Web Server Internals
Tornado Web Server Internals
 
Jwt == insecurity?
Jwt == insecurity?Jwt == insecurity?
Jwt == insecurity?
 
"Swoole: double troubles in c", Alexandr Vronskiy
"Swoole: double troubles in c", Alexandr Vronskiy"Swoole: double troubles in c", Alexandr Vronskiy
"Swoole: double troubles in c", Alexandr Vronskiy
 
Passwords presentation
Passwords presentationPasswords presentation
Passwords presentation
 
WAF Bypass Techniques - Using HTTP Standard and Web Servers’ Behaviour
WAF Bypass Techniques - Using HTTP Standard and Web Servers’ BehaviourWAF Bypass Techniques - Using HTTP Standard and Web Servers’ Behaviour
WAF Bypass Techniques - Using HTTP Standard and Web Servers’ Behaviour
 

Similar a 支撐英雄聯盟戰績網的那條巨蟒

Swift Install Workshop - OpenStack Conference Spring 2012
Swift Install Workshop - OpenStack Conference Spring 2012Swift Install Workshop - OpenStack Conference Spring 2012
Swift Install Workshop - OpenStack Conference Spring 2012Joe Arnold
 
Python tools for testing web services over HTTP
Python tools for testing web services over HTTPPython tools for testing web services over HTTP
Python tools for testing web services over HTTPMykhailo Kolesnyk
 
Expanding your impact with programmability in the data center
Expanding your impact with programmability in the data centerExpanding your impact with programmability in the data center
Expanding your impact with programmability in the data centerCisco Canada
 
Power of linked list
Power of linked listPower of linked list
Power of linked listPeter Hlavaty
 
Search and analyze data in real time
Search and analyze data in real timeSearch and analyze data in real time
Search and analyze data in real timeRohit Kalsarpe
 
Oleg Natalushko. Drupal server anatomy. DrupalCamp Kyiv 2011
Oleg Natalushko. Drupal server anatomy. DrupalCamp Kyiv 2011Oleg Natalushko. Drupal server anatomy. DrupalCamp Kyiv 2011
Oleg Natalushko. Drupal server anatomy. DrupalCamp Kyiv 2011Vlad Savitsky
 
node.js: Javascript's in your backend
node.js: Javascript's in your backendnode.js: Javascript's in your backend
node.js: Javascript's in your backendDavid Padbury
 
web2py:Web development like a boss
web2py:Web development like a bossweb2py:Web development like a boss
web2py:Web development like a bossFrancisco Ribeiro
 
MTaulty_DevWeek_Parallel
MTaulty_DevWeek_ParallelMTaulty_DevWeek_Parallel
MTaulty_DevWeek_Parallelukdpe
 
Intro To Spring Python
Intro To Spring PythonIntro To Spring Python
Intro To Spring Pythongturnquist
 
Best Practices of IoT in the Cloud
Best Practices of IoT in the CloudBest Practices of IoT in the Cloud
Best Practices of IoT in the CloudAmazon Web Services
 
Tomas Della Vedova - Building a future proof framework - Codemotion Milan 2018
Tomas Della Vedova - Building a future proof framework - Codemotion Milan 2018Tomas Della Vedova - Building a future proof framework - Codemotion Milan 2018
Tomas Della Vedova - Building a future proof framework - Codemotion Milan 2018Codemotion
 
解密解密
解密解密解密解密
解密解密Tom Chen
 
Big datadc skyfall_preso_v2
Big datadc skyfall_preso_v2Big datadc skyfall_preso_v2
Big datadc skyfall_preso_v2abramsm
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop OverviewShubhra Kar
 
Parallel Extentions to the .NET Framework
Parallel Extentions to the .NET FrameworkParallel Extentions to the .NET Framework
Parallel Extentions to the .NET Frameworkukdpe
 
Automated infrastructure is on the menu
Automated infrastructure is on the menuAutomated infrastructure is on the menu
Automated infrastructure is on the menujtimberman
 

Similar a 支撐英雄聯盟戰績網的那條巨蟒 (20)

Swift Install Workshop - OpenStack Conference Spring 2012
Swift Install Workshop - OpenStack Conference Spring 2012Swift Install Workshop - OpenStack Conference Spring 2012
Swift Install Workshop - OpenStack Conference Spring 2012
 
Python tools for testing web services over HTTP
Python tools for testing web services over HTTPPython tools for testing web services over HTTP
Python tools for testing web services over HTTP
 
Expanding your impact with programmability in the data center
Expanding your impact with programmability in the data centerExpanding your impact with programmability in the data center
Expanding your impact with programmability in the data center
 
Power of linked list
Power of linked listPower of linked list
Power of linked list
 
Search and analyze data in real time
Search and analyze data in real timeSearch and analyze data in real time
Search and analyze data in real time
 
Oleg Natalushko. Drupal server anatomy. DrupalCamp Kyiv 2011
Oleg Natalushko. Drupal server anatomy. DrupalCamp Kyiv 2011Oleg Natalushko. Drupal server anatomy. DrupalCamp Kyiv 2011
Oleg Natalushko. Drupal server anatomy. DrupalCamp Kyiv 2011
 
JWTs and JOSE in a flash
JWTs and JOSE in a flashJWTs and JOSE in a flash
JWTs and JOSE in a flash
 
node.js: Javascript's in your backend
node.js: Javascript's in your backendnode.js: Javascript's in your backend
node.js: Javascript's in your backend
 
web2py:Web development like a boss
web2py:Web development like a bossweb2py:Web development like a boss
web2py:Web development like a boss
 
SynapseIndia dotnet framework library
SynapseIndia  dotnet framework librarySynapseIndia  dotnet framework library
SynapseIndia dotnet framework library
 
MTaulty_DevWeek_Parallel
MTaulty_DevWeek_ParallelMTaulty_DevWeek_Parallel
MTaulty_DevWeek_Parallel
 
NodeJS for Beginner
NodeJS for BeginnerNodeJS for Beginner
NodeJS for Beginner
 
Intro To Spring Python
Intro To Spring PythonIntro To Spring Python
Intro To Spring Python
 
Best Practices of IoT in the Cloud
Best Practices of IoT in the CloudBest Practices of IoT in the Cloud
Best Practices of IoT in the Cloud
 
Tomas Della Vedova - Building a future proof framework - Codemotion Milan 2018
Tomas Della Vedova - Building a future proof framework - Codemotion Milan 2018Tomas Della Vedova - Building a future proof framework - Codemotion Milan 2018
Tomas Della Vedova - Building a future proof framework - Codemotion Milan 2018
 
解密解密
解密解密解密解密
解密解密
 
Big datadc skyfall_preso_v2
Big datadc skyfall_preso_v2Big datadc skyfall_preso_v2
Big datadc skyfall_preso_v2
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 
Parallel Extentions to the .NET Framework
Parallel Extentions to the .NET FrameworkParallel Extentions to the .NET Framework
Parallel Extentions to the .NET Framework
 
Automated infrastructure is on the menu
Automated infrastructure is on the menuAutomated infrastructure is on the menu
Automated infrastructure is on the menu
 

Último

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Último (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

支撐英雄聯盟戰績網的那條巨蟒