SlideShare a Scribd company logo
1 of 97
Download to read offline
系統程式導論寒訓
2013.2.7
xatier @NCTU CS
About me
About me
●
一中電研 TCFSH CIRC 27th
● 交大資工系計中 NCTU CS Computer Center
● Perl, C, Python, Lua, bash ..
● Arch Linux
● xatierlike@gmail.com
課程目標
● 有機會動手體會系統的運作方式
– 操作、了解系統
– 觀察並分析
● 往後選科系時能夠多想一點
● 資訊系統其實和你我周遭生活相關
● twoproblems.com
大綱
● Debugger
● Memory layout
● Process, thread, Scheduling
● UI & Callback
● Network
● Lab: hacking iOS games
Tools
● iOS 設備
– store.apple.com/tw
● Xcode IDE
– developer.apple.com/xcode
● LLVM / LLDB
– llvm.org
● Wireshark
– www.wireshark.org
iOS
iOS
● 現代化的開發工具
– Xcode IDE, iOS library/SDK
● 完整市場生態
– App store
● 商業公司支持
– Apple Inc.
● 人手一隻 Smart phone 的年代
– iPhone or Android?
● 潮
Layer
● Core OS layer
● Core Services layer
● Media layer
● Cocoa Touch layer
App Store
App Store
The Xcode IDE
The Xcode IDE
● Apple 公司為開發者提供的開發工具
● 可從 Mac App Store 上面免費取得
● 支援多種語言
– C, C++, Objective-C, Python, Ruby...
● 完整的 toolchains 整合
● 自帶 Simulator ( 模擬器 )
Other compilers can tell you what is wrong –
Apple LLVM can make it right.
Cocoa framework
● iOS / OS X 上面的高階函式庫
● 整合應用程式所需的常見行為
– animation, networking, native platform appearance
and behavior …
● Obj-C
API
● Application Programming Interface
● 僅定義操作介面,不管實作的細節
●
程式設計師和系統溝通的橋樑
Programmer <=> API <=> target system
●
讓複雜的底層工作抽象化,提供簡便的介面控制系統
Objective-C
● 基於 ansi C ,試圖加入物件導向特性
● Smalltalk message passing style
● NeXT => apple
● Cocoa API
● http://en.wikipedia.org/wiki/Objective-C
● http://pydoing.blogspot.tw/2012/07/objc-guide.html
● http://www.otierney.net/objective-c.html.zh-tw.big5
正片開始
Debugger
debugger
● 寫程式的必備工具
● 查看 / 修改變數內容
● 監控 / 改變執行流程
● 對你的程式隨心所欲的控制!
debugger
● 寫程式的必備工具
● 查看 / 修改變數內容
● 監控 / 改變執行流程
● 對你的程式隨心所欲的控制!
● 我是新世界的神
lldb
● 基於 LLVM project
● 大多數指令與 『 gdb 』相容
● http://lldb.llvm.org/index.html
● 武功秘笈!
– http://lldb.llvm.org/lldb-gdb.html
常見指令
● r (run)
● b (break)
● c (continue)
● n (next)
● s (step)
● bt (backtrace)
● fr (frame)
● expr (expression)
● p (print)
● up / down
Memory
memory
● Address
● Page
● Loader
● Virtual memory
● MMU (memory management unit)
● cache
地址概念
● 物理地址
● 邏輯地址
● 線性結構
● 32bit => 4G
● Base + offset
Kernel space
User space
Stack
.
.
.
Heap
--------
BSS
--------
DATA
--------
TEXT
Process 1 Process n
space
● Kernel space
– 保留給 Kernel 使用
– 所有的 Kernel process 共享同一塊空間
● User space
– 應用程式使用
– 擁有獨立的空間,互不干擾
User / Kernel
Segmentation ( 段 )
● Text
– 存放可執行的 obj code
– 可共享
– Read only
● Data
– 已初始化的變數 (static)
– String literal
● BSS
– Block Started by Symbol
– 未初始化的變數
– 填零
Stack / Heap 棧 / 堆
● Stack
– 自動分配空間 ( 由作業系統直接提供、效率較好 )
– Local 變數、 function 參數、 return value
– Call stack
– Stack frame
– 遞迴!
– SP (stack pointer)
● Heap
– 手動記憶體管理(透過一連串的 C API 、效率較差)
– malloc / free
– Memory leak & 記憶體碎片
Page
● 為了有效管理記憶體,將其切塊
● 透過 MMU 作 Memory mapping
● Lock
● Dirty
● Cache
– Cache miss
Loader
● 將程式 『載入』到記憶體中
● 靜態連結
● 動態連結
● takes one or more object files generated by a
compiler and combines them into a single
executable program.
● pmap `pidof xxx`
Virtual memory
● Mapping
● 讓應用程式看起來有連續
的記憶體空間
● MMU 負責維護 page table
● 善用 cache
– Cache miss 時會大量
減低效率
Take a break
Process & Thread
Process & thread
● 批次執行 (Batch)
– Sequential jobs
● 分時多工系統 (time sharing system)
● 時間切片 (time slicing)
● 排程 (scheduling)
– Fair?
● 程式?進程?
分時多工
● 對於單一個 CPU 的系統來說,不可能真正的同時
運行多工
● 實際上在某一個時刻只能有一個工作 (task) 正在
執行,工作與工作之間根據排程算法不停地切換狀
態。
● 多工 = 工作輪流交替進行
●
狀態
– running, waiting, ready, zombie, terminated ..
– interruptible?
Process states
時間切片
排程策略
● interactive process
– text editor
● batch process
– compiler
● real-time process
– video player
排程目標
● Efficiency
– 盡可能在限定時間內完成最多任務
– 減少 Context switch 的開銷
● Interactivity
– 即使系統 loading 很高,還是必須保持響應
● Fairness (starvation avoidance)
– 避免不合理的佔有過多的時間片
– 飢餓:分到過少的資源
Nice value
● 好人卡!
● Range: -20~ +19
● 排程優先權的依據
● renice
● 你爸是好人,你也是好人
程式?進程?
● 程式 (program)
– Object code 和 data 在儲存設備上的集合
– Load => execute
● 進程 (process)
– 活過來的程式,在記憶體中的運行實體
– 資源
● CPU 使用時間、記憶體、檔案、 I/O 、 signals...
Program V.S. Process
● 程式是靜態的、進程是動態的
● 一個程式可以擁有多個進程,一個進程只能對
應一個程式
example
#include <stdio.h>
#include <unistd.h>
int main (void) {
int i; // is it the 'same' i?
if (fork() == 0)
for (i = 0; i < 10000000; i++)
printf("child: %dn", i);
else
for (i = 0; i < 10000000; i++)
printf("parent: %dn", i);
}
Thread
● 執行緒 / 線程
● Light weight process
● 共享資源但是獨立進行
– 共享 Virtual space, file handle …
– 獨立的 call stack, register context
– 資源保護:上鎖
– mutex (mutually exclusive) 互斥鎖
Deadlock
UI & callback
● Event driven programming
● 觸發事件 => 做某件事 (callback function)
● Event loop
● Event queue
● Asynchronous ( 非同步化 )
MVC model
Network
network
● History
● TCP/IP
● ARP
● Client / Server
● HTTP
History
● ARPANET
● 國防部
TCP/IP
● Transmission Control Protocol / Internet Protocol
● The gap between applications and Network
● 4 layers
● 抽象
● 上層不需要管底層
● Reliable / Performance
4 Layers architecture
● Application Layer
– Beyond your imagination
● Transport Layer (Port)
– Data flow
● Network Layer (IP)
– 封包傳遞 (src, dst)
● Link Layer (data-link)
– 負責硬體實現細節 (Ethernet, Wifi ...)
Encapsulation ( 封裝 )
層層相對
Wifi driver
IP
TCP
FTP client
(your NB)
Ethernet driver
IP
TCP
FTP server
FTP protocol
TCP protocol
IP protocol
Network
User
User
kernel
各種協定
ARP
● Address Resolution Protocol
● 問 IP 要 MAC address
● 介於 network layer 和 link layer 之間
● ARP spoofing ( 欺騙 )
● rARP
Client / Server 架構
● Request / Response
● Protocol
● Server
– 被動
– 等待 client 丟 request 過來
– 回傳處理後的結果 (response)
● Client
– 主動向 server 提出 request
– 等待 server response
– 向使用者展現結果 ( 如把網頁渲染在 browser 上 )
HTTP protocol
● Hyper-Text Transfer Protocol
● TCP-based
● client 和 web server 之間的溝通方法
● 所有瀏覽器和 server 應當遵循這份協定
● 原本被設計用來傳送 HTML ( 文本 ) 頁面
● 現在用以傳送各式各樣的檔案 (MIME type)
– Text, picture, sound, animation, video, …
● HTTPS – secured version
Take a break
Iphone game Hacks!
Cute a plut
● 類似 angry bird 的開源版本
熟悉環境
程式碼編輯區
檔案樹
Simulator
lldb
中斷點
變數觀察
Stack frame
Show assembly
Show assembly
Dump Memory
frame info
(lldb) fr info
frame #0: 0x000e7358 cute-a-pult`-[HelloWorldLayer tick:](self=0x08081220,
_cmd=0x000f1a90,
dt=0.017039) + 40 at HelloWorldLayer.mm:521
(lldb) fr v
(HelloWorldLayer *) self = 0x08081220
breakpoint
(lldb) bt
(lldb) c
(lldb) s
(lldb) br l
觀察變數
(lldb) p self->bullets
(NSMutableArray *) $7 = 0x0fcb06e0 @"4 objects"
(lldb) po self->bullets
$8 = 0x0fcb06e0 <__NSArrayM 0xfcb06e0>(
<c0a70d09>,
<60a80d09>,
<00a90d09>,
<a0a90d09>
)
Watch point
Watch point
(lldb) wa s v self->currentBullet
Watchpoint created: Watchpoint 1: addr = 0x08a4a9f4 size = 4 state = enabled
type = w
declare @ '/Users/xatier/work/tcfsh/cute-a-pult/cute-a-
pult/HelloWorldLayer.mm:512'
watchpoint spec = 'self->currentBullet'
new value: 0
(lldb) c
Process 11495 resuming
Watchpoint 1 hit:
old value: 0
new value: 0
(lldb)
改變變數
(lldb) expr foo = 123
Hack #0 無重力狀態
Hack #0 無重力狀態
(lldb) expr self->world->m_gravity.y = 10
Q: 該在哪裡設定中斷點 ?
Hack #1 無限子彈
● 觀察遊戲進行中,哪個變數會影響可用的子彈
數?
● Hint: 提示就在剛剛的上課內容中 ^.<
Hack #2 說好的過關畫面
Hack #2 說好的過關畫面
SSSSSSSSSssssss
Hack #2 說好的過關畫面
0xe5856: cmpl $0, %eax
0xe585b: jne 0xe59e4 ; -[HelloWorldLayer resetBullet] + 612 at HelloWorldLayer.mm:325
0xe5861: movl -36(%ebp), %eax
0xe5864: movl $0, 370855(%eax)
0xe586e: movl -36(%ebp), %eax
0xe5871: cmpl $1, 370855(%eax)
0xe587b: jge 0xe5897 ; -[HelloWorldLayer resetBullet] + 279 at HelloWorldLayer.mm:317
0xe5881: movl -36(%ebp), %eax
0xe5884: leal 368091(%eax), %ecx
0xe588a: movl %ecx, (%esp)
0xe588d: calll 0xec000 ; symbol stub for: NSLog
0xe5892: jmp 0xe586e ; -[HelloWorldLayer resetBullet] + 238 at HelloWorldLayer.mm:315
0xe5897: movl -36(%ebp), %eax
Hack #2 說好的過關畫面
程式流程應該要直接跳到 0xe5897 繼續
but HOW? o_O
Hack #2 說好的過關畫面
eip: instruction pointer
(lldb) register write eip 0xe5897
Hack #3 分數!分數!
Hack #3 分數!分數!
@_@a
Hack #3 分數!分數!
● Hack #1, kerker
● Hint: can you find me?
Hack #3.5 分數!分數! II
Hack #4 通通給我消失!
如果敵人的數量是 0 的話,就達成過關條件
Hack #4 通通給我消失!
如果敵人的數量是 0 的話,就達成過關條件
(lldb) p self->enemies.count
(unsigned int) $4 = 3
(lldb) expr self->enemies = 0x0
(NSMutableSet *) $5 = 0x00000000
(lldb) p self->enemies.count
(unsigned int) $6 = 0
(lldb)
Hack #5 HTTP header?

More Related Content

What's hot

Jni攻略之八――操作对象的构造方法
Jni攻略之八――操作对象的构造方法Jni攻略之八――操作对象的构造方法
Jni攻略之八――操作对象的构造方法yiditushe
 
給 GLib 使用者的 libev 簡介
給 GLib 使用者的 libev 簡介給 GLib 使用者的 libev 簡介
給 GLib 使用者的 libev 簡介crabtw
 
JAVA内存泄漏及诊断
JAVA内存泄漏及诊断JAVA内存泄漏及诊断
JAVA内存泄漏及诊断ivannotes
 
为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)Kris Mok
 
Mybatis学习培训
Mybatis学习培训Mybatis学习培训
Mybatis学习培训flynofry
 
Android 源码分析 -- (一) Android启动过程
Android 源码分析 -- (一) Android启动过程Android 源码分析 -- (一) Android启动过程
Android 源码分析 -- (一) Android启动过程manateew
 
Device Driver - Chapter 3字元驅動程式
Device Driver - Chapter 3字元驅動程式Device Driver - Chapter 3字元驅動程式
Device Driver - Chapter 3字元驅動程式ZongYing Lyu
 
從技術面簡介線上遊戲外掛
從技術面簡介線上遊戲外掛從技術面簡介線上遊戲外掛
從技術面簡介線上遊戲外掛John L Chen
 
Aisanux安装光盘分析
Aisanux安装光盘分析Aisanux安装光盘分析
Aisanux安装光盘分析Guangyao Cheng
 
页游开发中的 Python 组件与模式
页游开发中的 Python 组件与模式页游开发中的 Python 组件与模式
页游开发中的 Python 组件与模式勇浩 赖
 
论 Python 与设计模式。
论 Python 与设计模式。论 Python 与设计模式。
论 Python 与设计模式。勇浩 赖
 
Java Crash分析(2012-05-10)
Java Crash分析(2012-05-10)Java Crash分析(2012-05-10)
Java Crash分析(2012-05-10)Kris Mok
 
Ceph中国社区9.19 Ceph IO 路径 和性能分析-王豪迈05
Ceph中国社区9.19 Ceph IO 路径 和性能分析-王豪迈05Ceph中国社区9.19 Ceph IO 路径 和性能分析-王豪迈05
Ceph中国社区9.19 Ceph IO 路径 和性能分析-王豪迈05Hang Geng
 
從 Singleton 談 constructor
從 Singleton 談 constructor從 Singleton 談 constructor
從 Singleton 談 constructorLuba Tang
 
180518 ntut js and node
180518 ntut js and node180518 ntut js and node
180518 ntut js and nodePeter Yi
 
Ch1 系统启动
Ch1 系统启动Ch1 系统启动
Ch1 系统启动guest4d1b8c
 
Python 于 webgame 的应用
Python 于 webgame 的应用Python 于 webgame 的应用
Python 于 webgame 的应用勇浩 赖
 
Arduino L2
Arduino L2Arduino L2
Arduino L2mmiwwcom
 
JS单元测试之路
JS单元测试之路JS单元测试之路
JS单元测试之路Jeaf Wang
 

What's hot (20)

Jni攻略之八――操作对象的构造方法
Jni攻略之八――操作对象的构造方法Jni攻略之八――操作对象的构造方法
Jni攻略之八――操作对象的构造方法
 
給 GLib 使用者的 libev 簡介
給 GLib 使用者的 libev 簡介給 GLib 使用者的 libev 簡介
給 GLib 使用者的 libev 簡介
 
JAVA内存泄漏及诊断
JAVA内存泄漏及诊断JAVA内存泄漏及诊断
JAVA内存泄漏及诊断
 
为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)
 
Mybatis学习培训
Mybatis学习培训Mybatis学习培训
Mybatis学习培训
 
Android 源码分析 -- (一) Android启动过程
Android 源码分析 -- (一) Android启动过程Android 源码分析 -- (一) Android启动过程
Android 源码分析 -- (一) Android启动过程
 
Device Driver - Chapter 3字元驅動程式
Device Driver - Chapter 3字元驅動程式Device Driver - Chapter 3字元驅動程式
Device Driver - Chapter 3字元驅動程式
 
從技術面簡介線上遊戲外掛
從技術面簡介線上遊戲外掛從技術面簡介線上遊戲外掛
從技術面簡介線上遊戲外掛
 
Aisanux安装光盘分析
Aisanux安装光盘分析Aisanux安装光盘分析
Aisanux安装光盘分析
 
页游开发中的 Python 组件与模式
页游开发中的 Python 组件与模式页游开发中的 Python 组件与模式
页游开发中的 Python 组件与模式
 
论 Python 与设计模式。
论 Python 与设计模式。论 Python 与设计模式。
论 Python 与设计模式。
 
Node way
Node wayNode way
Node way
 
Java Crash分析(2012-05-10)
Java Crash分析(2012-05-10)Java Crash分析(2012-05-10)
Java Crash分析(2012-05-10)
 
Ceph中国社区9.19 Ceph IO 路径 和性能分析-王豪迈05
Ceph中国社区9.19 Ceph IO 路径 和性能分析-王豪迈05Ceph中国社区9.19 Ceph IO 路径 和性能分析-王豪迈05
Ceph中国社区9.19 Ceph IO 路径 和性能分析-王豪迈05
 
從 Singleton 談 constructor
從 Singleton 談 constructor從 Singleton 談 constructor
從 Singleton 談 constructor
 
180518 ntut js and node
180518 ntut js and node180518 ntut js and node
180518 ntut js and node
 
Ch1 系统启动
Ch1 系统启动Ch1 系统启动
Ch1 系统启动
 
Python 于 webgame 的应用
Python 于 webgame 的应用Python 于 webgame 的应用
Python 于 webgame 的应用
 
Arduino L2
Arduino L2Arduino L2
Arduino L2
 
JS单元测试之路
JS单元测试之路JS单元测试之路
JS单元测试之路
 

Similar to Tcfsh bootcamp day2

LinkIt Smart 7688程式開發
LinkIt Smart 7688程式開發LinkIt Smart 7688程式開發
LinkIt Smart 7688程式開發Wei-Tsung Su
 
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUGYingSiang Geng
 
D2_node在淘宝的应用实践_pdf版
D2_node在淘宝的应用实践_pdf版D2_node在淘宝的应用实践_pdf版
D2_node在淘宝的应用实践_pdf版Jackson Tian
 
Erlang游戏开发
Erlang游戏开发Erlang游戏开发
Erlang游戏开发litaocheng
 
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践Node.js在淘宝的应用实践
Node.js在淘宝的应用实践taobao.com
 
服务器基准测试-叶金荣@CYOU-20121130
服务器基准测试-叶金荣@CYOU-20121130服务器基准测试-叶金荣@CYOU-20121130
服务器基准测试-叶金荣@CYOU-20121130Jinrong Ye
 
构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接 构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接 Renaun Erickson
 
Hadoop+spark實作
Hadoop+spark實作Hadoop+spark實作
Hadoop+spark實作FEG
 
2011 06-12-lamp-mysql-顾春江
2011 06-12-lamp-mysql-顾春江2011 06-12-lamp-mysql-顾春江
2011 06-12-lamp-mysql-顾春江thinkinlamp
 
2011 06-12-lamp-mysql
2011 06-12-lamp-mysql2011 06-12-lamp-mysql
2011 06-12-lamp-mysqlpwesh
 
Sun jdk 1.6内存管理 -使用篇
Sun jdk 1.6内存管理 -使用篇Sun jdk 1.6内存管理 -使用篇
Sun jdk 1.6内存管理 -使用篇bluedavy lin
 
Baidu LSP and DISQL for Log Analysis
Baidu LSP and DISQL for Log AnalysisBaidu LSP and DISQL for Log Analysis
Baidu LSP and DISQL for Log AnalysisXiaoming Chen
 
MySQL新技术探索与实践
MySQL新技术探索与实践MySQL新技术探索与实践
MySQL新技术探索与实践Lixun Peng
 
Deep learning hardware architecture and software deploy with docker
Deep learning hardware architecture and software deploy with dockerDeep learning hardware architecture and software deploy with docker
Deep learning hardware architecture and software deploy with dockerYa-Lun Li
 
Microsoft CNTK, Cognitive Toolkit 微軟深度學習工具
Microsoft CNTK, Cognitive Toolkit 微軟深度學習工具Microsoft CNTK, Cognitive Toolkit 微軟深度學習工具
Microsoft CNTK, Cognitive Toolkit 微軟深度學習工具HO-HSUN LIN
 
Osc scott linux下的数据库优化for_postgresql
Osc scott linux下的数据库优化for_postgresqlOsc scott linux下的数据库优化for_postgresql
Osc scott linux下的数据库优化for_postgresqlOpenSourceCamp
 
COSCUP2016 - LLVM框架、由淺入淺
COSCUP2016 - LLVM框架、由淺入淺COSCUP2016 - LLVM框架、由淺入淺
COSCUP2016 - LLVM框架、由淺入淺hydai
 
COSCUP 2016 - LLVM 由淺入淺
COSCUP 2016 - LLVM 由淺入淺COSCUP 2016 - LLVM 由淺入淺
COSCUP 2016 - LLVM 由淺入淺宗凡 楊
 

Similar to Tcfsh bootcamp day2 (20)

LinkIt Smart 7688程式開發
LinkIt Smart 7688程式開發LinkIt Smart 7688程式開發
LinkIt Smart 7688程式開發
 
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
探索 ISTIO 新型 DATA PLANE 架構 AMBIENT MESH - GOLANG TAIWAN GATHERING #77 X CNTUG
 
D2_node在淘宝的应用实践_pdf版
D2_node在淘宝的应用实践_pdf版D2_node在淘宝的应用实践_pdf版
D2_node在淘宝的应用实践_pdf版
 
Erlang游戏开发
Erlang游戏开发Erlang游戏开发
Erlang游戏开发
 
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
 
Glider
GliderGlider
Glider
 
服务器基准测试-叶金荣@CYOU-20121130
服务器基准测试-叶金荣@CYOU-20121130服务器基准测试-叶金荣@CYOU-20121130
服务器基准测试-叶金荣@CYOU-20121130
 
构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接 构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接
 
Hadoop+spark實作
Hadoop+spark實作Hadoop+spark實作
Hadoop+spark實作
 
2011 06-12-lamp-mysql-顾春江
2011 06-12-lamp-mysql-顾春江2011 06-12-lamp-mysql-顾春江
2011 06-12-lamp-mysql-顾春江
 
2011 06-12-lamp-mysql
2011 06-12-lamp-mysql2011 06-12-lamp-mysql
2011 06-12-lamp-mysql
 
Sun jdk 1.6内存管理 -使用篇
Sun jdk 1.6内存管理 -使用篇Sun jdk 1.6内存管理 -使用篇
Sun jdk 1.6内存管理 -使用篇
 
Baidu LSP and DISQL for Log Analysis
Baidu LSP and DISQL for Log AnalysisBaidu LSP and DISQL for Log Analysis
Baidu LSP and DISQL for Log Analysis
 
LabView with Lego NXT
LabView  with Lego NXTLabView  with Lego NXT
LabView with Lego NXT
 
MySQL新技术探索与实践
MySQL新技术探索与实践MySQL新技术探索与实践
MySQL新技术探索与实践
 
Deep learning hardware architecture and software deploy with docker
Deep learning hardware architecture and software deploy with dockerDeep learning hardware architecture and software deploy with docker
Deep learning hardware architecture and software deploy with docker
 
Microsoft CNTK, Cognitive Toolkit 微軟深度學習工具
Microsoft CNTK, Cognitive Toolkit 微軟深度學習工具Microsoft CNTK, Cognitive Toolkit 微軟深度學習工具
Microsoft CNTK, Cognitive Toolkit 微軟深度學習工具
 
Osc scott linux下的数据库优化for_postgresql
Osc scott linux下的数据库优化for_postgresqlOsc scott linux下的数据库优化for_postgresql
Osc scott linux下的数据库优化for_postgresql
 
COSCUP2016 - LLVM框架、由淺入淺
COSCUP2016 - LLVM框架、由淺入淺COSCUP2016 - LLVM框架、由淺入淺
COSCUP2016 - LLVM框架、由淺入淺
 
COSCUP 2016 - LLVM 由淺入淺
COSCUP 2016 - LLVM 由淺入淺COSCUP 2016 - LLVM 由淺入淺
COSCUP 2016 - LLVM 由淺入淺
 

More from Xatierlike Lee

Topic 02 a - [misc 2] how to solve problems (xatier)
Topic 02 a  -  [misc 2] how to solve problems (xatier)Topic 02 a  -  [misc 2] how to solve problems (xatier)
Topic 02 a - [misc 2] how to solve problems (xatier)Xatierlike Lee
 
2013 社團迎新課程長簡報
2013 社團迎新課程長簡報2013 社團迎新課程長簡報
2013 社團迎新課程長簡報Xatierlike Lee
 
[NCTU] [CCCA] vim rocks
[NCTU] [CCCA] vim rocks[NCTU] [CCCA] vim rocks
[NCTU] [CCCA] vim rocksXatierlike Lee
 
[NCTU] [CCCA] Network Security II
[NCTU] [CCCA] Network Security II[NCTU] [CCCA] Network Security II
[NCTU] [CCCA] Network Security IIXatierlike Lee
 
[NCTU] [CCCA] Network Security I
[NCTU] [CCCA] Network Security I[NCTU] [CCCA] Network Security I
[NCTU] [CCCA] Network Security IXatierlike Lee
 
Brainfuck interpreter 分析新竹碼農0307
Brainfuck interpreter 分析新竹碼農0307Brainfuck interpreter 分析新竹碼農0307
Brainfuck interpreter 分析新竹碼農0307Xatierlike Lee
 

More from Xatierlike Lee (8)

Topic 02 a - [misc 2] how to solve problems (xatier)
Topic 02 a  -  [misc 2] how to solve problems (xatier)Topic 02 a  -  [misc 2] how to solve problems (xatier)
Topic 02 a - [misc 2] how to solve problems (xatier)
 
2013 社團迎新課程長簡報
2013 社團迎新課程長簡報2013 社團迎新課程長簡報
2013 社團迎新課程長簡報
 
[NCTU] [CCCA] vim rocks
[NCTU] [CCCA] vim rocks[NCTU] [CCCA] vim rocks
[NCTU] [CCCA] vim rocks
 
[NCTU] [CCCA] Network Security II
[NCTU] [CCCA] Network Security II[NCTU] [CCCA] Network Security II
[NCTU] [CCCA] Network Security II
 
[NCTU] [CCCA] Network Security I
[NCTU] [CCCA] Network Security I[NCTU] [CCCA] Network Security I
[NCTU] [CCCA] Network Security I
 
Violent python
Violent pythonViolent python
Violent python
 
Kick my mouse away
Kick my mouse awayKick my mouse away
Kick my mouse away
 
Brainfuck interpreter 分析新竹碼農0307
Brainfuck interpreter 分析新竹碼農0307Brainfuck interpreter 分析新竹碼農0307
Brainfuck interpreter 分析新竹碼農0307
 

Tcfsh bootcamp day2