SlideShare a Scribd company logo
支撐英雄聯盟戰績網的那條巨蟒
   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)

More Related Content

What's hot

Py conkr 20150829_docker-python
Py conkr 20150829_docker-pythonPy conkr 20150829_docker-python
Py conkr 20150829_docker-python
Eric 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 CoffeeScript
royaldark
 
Why Node.js
Why Node.jsWhy Node.js
Why Node.jsguileen
 
JWT: jku x5u
JWT: jku x5uJWT: jku x5u
JWT: jku x5u
snyff
 
Atlassian Groovy Plugins
Atlassian Groovy PluginsAtlassian Groovy Plugins
Atlassian Groovy Plugins
Paul King
 
Elastic stack
Elastic stackElastic stack
Elastic stack
Minsoo Jun
 
Tornado web
Tornado webTornado web
Tornado web
kurtiss
 
Node.js in production
Node.js in productionNode.js in production
Node.js in production
Felix Geisendörfer
 
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
Yoshifumi Kawai
 
Muduo network library
Muduo network libraryMuduo network library
Muduo network library
Shuo 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 Processing
Rodrigo 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/s
moret1979
 
연구자 및 교육자를 위한 계산 및 분석 플랫폼 설계 - PyCon KR 2015
연구자 및 교육자를 위한 계산 및 분석 플랫폼 설계 - PyCon KR 2015연구자 및 교육자를 위한 계산 및 분석 플랫폼 설계 - PyCon KR 2015
연구자 및 교육자를 위한 계산 및 분석 플랫폼 설계 - PyCon KR 2015
Jeongkyu 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 Vronskiy
Fwdays
 
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
Soroush Dalili
 

What's hot (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 to 支撐英雄聯盟戰績網的那條巨蟒

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
Joe 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 HTTP
Mykhailo 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 center
Cisco Canada
 
Power of linked list
Power of linked listPower of linked list
Power of linked list
Peter 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 time
Rohit 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 2011
Vlad Savitsky
 
JWTs and JOSE in a flash
JWTs and JOSE in a flashJWTs and JOSE in a flash
JWTs and JOSE in a flash
Evan J Johnson (Not a CISSP)
 
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
David Padbury
 
web2py:Web development like a boss
web2py:Web development like a bossweb2py:Web development like a boss
web2py:Web development like a boss
Francisco Ribeiro
 
SynapseIndia dotnet framework library
SynapseIndia  dotnet framework librarySynapseIndia  dotnet framework library
SynapseIndia dotnet framework library
Synapseindiappsdevelopment
 
MTaulty_DevWeek_Parallel
MTaulty_DevWeek_ParallelMTaulty_DevWeek_Parallel
MTaulty_DevWeek_Parallel
ukdpe
 
NodeJS for Beginner
NodeJS for BeginnerNodeJS for Beginner
NodeJS for Beginner
Apaichon Punopas
 
Intro To Spring Python
Intro To Spring PythonIntro To Spring Python
Intro To Spring Python
gturnquist
 
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
Amazon 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 2018
Codemotion
 
解密解密
解密解密解密解密
解密解密
Tom Chen
 
Big datadc skyfall_preso_v2
Big datadc skyfall_preso_v2Big datadc skyfall_preso_v2
Big datadc skyfall_preso_v2
abramsm
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
Shubhra Kar
 
Parallel Extentions to the .NET Framework
Parallel Extentions to the .NET FrameworkParallel Extentions to the .NET Framework
Parallel Extentions to the .NET Framework
ukdpe
 
Automated infrastructure is on the menu
Automated infrastructure is on the menuAutomated infrastructure is on the menu
Automated infrastructure is on the menu
jtimberman
 

Similar to 支撐英雄聯盟戰績網的那條巨蟒 (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
 

Recently uploaded

PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 

Recently uploaded (20)

PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 

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