狠狠撸

狠狠撸Share a Scribd company logo
OSG i 動態服務模組 開發實作 詹景逸 Ching Yi, Chan. aka qrtt1 [email_address]
Agenda 開發環境準備 JDK Maven Felix 練習主題介紹 Felix – OSGi Container  的使用 Bundle –  建立  OSGi  模組 Service –  建立  OSGi  服務
開發環境準備 JDK  #2 Java SE http://java.sun.com/javase/downloads/index.jsp 檢查環境變數 JAVA_HOME CLASSPATH PATH
開發環境準備 Maven  #3 取得檔案 http://maven.apache.org/download.html 解壓縮 ~/app c:\app 修改  PATH  變數 export PATH=$PATH:~/app/apache-maven- x.y.z /bin set PATH=%PATH%;c:\app\apache-maven- x.y.z \bin 執行測試 mvn -v
開發環境準備 Felix – OSGi Container  #5 取得檔案 http://apache.stu.edu.tw/felix/felix-1.4.1.zip 解壓縮 ~/app c:\app 啟動  Felix java -jar bin/felix.jar 停止  Felix stop 0  或是  shutdown
Felix  基本操作 啟動  Felix  #6 java -jar bin/felix.jar 常用指令 help  ps –  列出已安裝  Bundle install –  安裝  Bundle start –  啟動  Bundle stop –  停止  Bundle update –  更新  Bundle  uninstall –  移除  Bundle  ( 請先別執行 ) shutdown –  離開  felix
PART 1 Everything  is  Bundle
安裝  Bundle File Install Bundle  #7 功能:在  Felix  執行目錄下建立  load   資料夾。定期監看  load  資料夾的檔案,若是  OSGi Bundle  就 自動安裝 。 使用  Install  指令安裝  Bundle 透過網路檔案安裝 透過檔案系統安裝 測試  File Install Bundle ( 需先啟動  Bundle) 複製  hello.service-1.0.0.jar  至  load  資料夾 install  http:// apache.ntu.edu.tw/felix/org.apache.felix.fileinstall-0.9.0.jar install  file:// /c:/temp /org.apache.felix.fileinstall-0.9.0.jar install  file:// /home/qrtt1/temp/ org.apache.felix.fileinstall-0.9.0.jar
建立  Bundle 使用  Maven  建立新的專案  #9 for unix-like for windows mvn archetype:create \ -Dversion=1.0.0 \ -DgroupId=javatwo2009 \ -DartifactId=hello.bundle mvn archetype:create ^ -Dversion=1.0.0 ^ -DgroupId=javatwo2009 ^ -DartifactId=hello.bundle
Maven  專案導覽 專案目錄  #9 Artifact  名稱 hello.bundle 編譯並打包專案 ( 請先執行這個步驟 ) cd hello.bundle mvn clean package
使用  Maven-Bundle-Plugin (1) 修改  pom.xml  檔案  #10 改變  <packaging />  為  bundle 增加  OSGi Framework  的  Dependency 設定  Maven-Bundle-Plugin ( 接續下頁 ) <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.osgi.core</artifactId> <version>1.0.0</version> </dependency>
使用  Maven-Bundle-Plugin (2) <build> <plugins> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <extensions>true</extensions> <configuration> <instructions> <Export-Package>${pom.groupId}</Export-Package> <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName> <Bundle-Activator>${pom.groupId}.Activator</Bundle-Activator> </instructions> </configuration> </plugin> </plugins> </build> Manifest-Version: 1.0 Export-Package: javatwo2009;uses:=&quot;org.osgi.framework&quot; Built-By: Administrator Tool: Bnd-0.0.308 Bundle-Name: hello.bundle Created-By: Apache Maven Bundle Plugin Bundle-Version: 1.0.0 Build-Jdk: 1.6.0_06 Bnd-LastModified: 1235833008625 Bundle-ManifestVersion: 2 Bundle-Activator: javatwo2009.Activator Import-Package: javatwo2009,org.osgi.framework;version=&quot;1.3&quot; Bundle-SymbolicName: hello.bundle
建立  Bundle Activator package  javatwo2009; import  org.osgi.framework.BundleActivator; import  org.osgi.framework.BundleContext; /** * Hello world! */ public   class  Activator  implements  BundleActivator { public   void  start(BundleContext context)  throws  Exception { System. out .println(&quot;Hey!&quot;); } public   void  stop(BundleContext context)  throws  Exception { System. out .println(&quot;Bye!&quot;); } } #12 .. #13
編譯與安裝  bundle 使用  Maven  編譯並打包專案  #14 mvn clean package 安裝  bundle 將  target/hello.bundle-1.0.0.jar  複製到  FELIX_HOME/load  資料夾
OSGi  怎麼跑? System  Bundle B B B PID  永遠為 0 JVM OSGi Framework Module Life Cycle Service
OSGi  怎麼跑? Installed Resolving & Loading Classes Resolved JVM OSGi Framework System  Bundle M O D U L E Export-Package: org.osgi.framework, org.osgi.framework.hooks.service, org.osgi.service.packageadmin, org.osgi.service.startlevel, org.osgi.service.url, org.osgi.util.tracker
OSGi  怎麼跑? Resolved public   class  Activator  implements  BundleActivator { public   void  start(BundleContext context)  throws  Exception { System. out .println(&quot;Hey!&quot;); } public   void  stop(BundleContext context)  throws  Exception { System. out .println(&quot;Bye!&quot;); } } JVM OSGi Framework System  Bundle L I F E C Y C L E Starting Active Stopping Activator.stop() Activator.start()
PART 2 Service  is  Everything
OSGi Service  在哪裡? JVM OSGi Framework SERVICE REGISTRY Bundle Activator Bundle Activator Bundle Activator publish publish publish find & bind find & bind find & bind unpublish unpublish unpublish
服務與實作角色  (1) Service Provider Interface , SPI  #16 Export-Package Bundle Activator
服務與實作角色  (2) Application Programming Interface , API  Import-Package Bundle Activator
服務與實作角色  (3) Service Provider Import-Package ServiceRegistration registration =  bundleContext. registerService (  ServiceA .class.getName(),  new  ConcreteServiceA() , prop); Bundle Activator
服務與實作角色  (4) Service Consumer Import-Package ServiceReference ref = bundleContext . getServiceReference ( ServiceA .class.getName()); ServiceA service =  (ServiceA) bundleContext.getService(ref); Bundle Activator
實作  TinyURL Command(1) 擴充  Felix Shell  指令 Apache Felix Shell Service Activator Apache Felix Shell TUI Activator Tinyurl Command Activator
實作  TinyURL Command(2) org.apache.felix.shell Export-Package Import-Package //  發佈  Service bundleContext.registerService( org.apache.felix.shell. Command .class.getName(), new  TinyURLCommand (), null); Apache Felix Shell Service Activator Apache Felix Shell TUI Activator Tinyurl Command Activator 實作  Service
實作  TinyURL Command(3) publish publish 追蹤  Command  服務 加入新增的  Command  服務 使用  ShellService  擁有的  Command Apache Felix Shell Service Activator Apache Felix Shell TUI Activator Tinyurl Command Activator
動手做看看 實作  TinyurlCommand  替  Felix  增加指令 See TODO 2 &  #17..#21 tinyurl http://very_long_url.com.tw
詹景逸 Ching Yi, Chan. aka qrtt1 [email_address] Thank You

More Related Content

What's hot (20)

Docker 基礎介紹與實戰
Docker 基礎介紹與實戰Docker 基礎介紹與實戰
Docker 基礎介紹與實戰
Bo-Yi Wu
?
微软Bot framework介绍
微软Bot framework介绍微软Bot framework介绍
微软Bot framework介绍
Zhichao Liang
?
AWS EC2 for beginner
AWS EC2 for beginnerAWS EC2 for beginner
AWS EC2 for beginner
azole Lai
?
Ruby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for UbuntuRuby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for Ubuntu
MarsZ Chen
?
Ruby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for MacRuby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for Mac
MarsZ Chen
?
持续集成在贵濒别虫冲补蝉3应用程序中的应用惫4
持续集成在贵濒别虫冲补蝉3应用程序中的应用惫4持续集成在贵濒别虫冲补蝉3应用程序中的应用惫4
持续集成在贵濒别虫冲补蝉3应用程序中的应用惫4
jexchan
?
Asp.net 5 新功能與變革
Asp.net 5 新功能與變革Asp.net 5 新功能與變革
Asp.net 5 新功能與變革
Gelis Wu
?
骋辞辞驳濒别云端备份与虚拟伺服器建置工作坊
骋辞辞驳濒别云端备份与虚拟伺服器建置工作坊骋辞辞驳濒别云端备份与虚拟伺服器建置工作坊
骋辞辞驳濒别云端备份与虚拟伺服器建置工作坊
Chung-Yi Huang
?
Docker 淺入淺出
Docker 淺入淺出Docker 淺入淺出
Docker 淺入淺出
Miles Chou
?
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
Chu-Siang Lai
?
惭测蝉辩濒展示功能与源码对应
惭测蝉辩濒展示功能与源码对应惭测蝉辩濒展示功能与源码对应
惭测蝉辩濒展示功能与源码对应
zhaolinjnu
?
开源笔补蝉蝉平台蹿濒测苍苍功能介绍
开源笔补蝉蝉平台蹿濒测苍苍功能介绍开源笔补蝉蝉平台蹿濒测苍苍功能介绍
开源笔补蝉蝉平台蹿濒测苍苍功能介绍
Zhichao Liang
?
GNU Build System
GNU Build SystemGNU Build System
GNU Build System
imacat .
?
Continuous Delivery - Opening
Continuous Delivery - OpeningContinuous Delivery - Opening
Continuous Delivery - Opening
Rick Hwang
?
中纺科技安装实施文档
中纺科技安装实施文档中纺科技安装实施文档
中纺科技安装实施文档
liangsuilong
?
Lucene 全文检索实践
Lucene 全文检索实践Lucene 全文检索实践
Lucene 全文检索实践
yiditushe
?
高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践
高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践
高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践
Frank Cai
?
高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践
高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践
高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践
rewinx
?
Mysql proxy cluster
Mysql proxy clusterMysql proxy cluster
Mysql proxy cluster
Yiwei Ma
?
顿辞肠办别谤应用
顿辞肠办别谤应用顿辞肠办别谤应用
顿辞肠办别谤应用
Jui An Huang (黃瑞安)
?
Docker 基礎介紹與實戰
Docker 基礎介紹與實戰Docker 基礎介紹與實戰
Docker 基礎介紹與實戰
Bo-Yi Wu
?
微软Bot framework介绍
微软Bot framework介绍微软Bot framework介绍
微软Bot framework介绍
Zhichao Liang
?
AWS EC2 for beginner
AWS EC2 for beginnerAWS EC2 for beginner
AWS EC2 for beginner
azole Lai
?
Ruby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for UbuntuRuby on Rails 開發環境建置 for Ubuntu
Ruby on Rails 開發環境建置 for Ubuntu
MarsZ Chen
?
Ruby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for MacRuby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for Mac
MarsZ Chen
?
持续集成在贵濒别虫冲补蝉3应用程序中的应用惫4
持续集成在贵濒别虫冲补蝉3应用程序中的应用惫4持续集成在贵濒别虫冲补蝉3应用程序中的应用惫4
持续集成在贵濒别虫冲补蝉3应用程序中的应用惫4
jexchan
?
Asp.net 5 新功能與變革
Asp.net 5 新功能與變革Asp.net 5 新功能與變革
Asp.net 5 新功能與變革
Gelis Wu
?
骋辞辞驳濒别云端备份与虚拟伺服器建置工作坊
骋辞辞驳濒别云端备份与虚拟伺服器建置工作坊骋辞辞驳濒别云端备份与虚拟伺服器建置工作坊
骋辞辞驳濒别云端备份与虚拟伺服器建置工作坊
Chung-Yi Huang
?
Docker 淺入淺出
Docker 淺入淺出Docker 淺入淺出
Docker 淺入淺出
Miles Chou
?
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
Chu-Siang Lai
?
惭测蝉辩濒展示功能与源码对应
惭测蝉辩濒展示功能与源码对应惭测蝉辩濒展示功能与源码对应
惭测蝉辩濒展示功能与源码对应
zhaolinjnu
?
开源笔补蝉蝉平台蹿濒测苍苍功能介绍
开源笔补蝉蝉平台蹿濒测苍苍功能介绍开源笔补蝉蝉平台蹿濒测苍苍功能介绍
开源笔补蝉蝉平台蹿濒测苍苍功能介绍
Zhichao Liang
?
GNU Build System
GNU Build SystemGNU Build System
GNU Build System
imacat .
?
Continuous Delivery - Opening
Continuous Delivery - OpeningContinuous Delivery - Opening
Continuous Delivery - Opening
Rick Hwang
?
中纺科技安装实施文档
中纺科技安装实施文档中纺科技安装实施文档
中纺科技安装实施文档
liangsuilong
?
Lucene 全文检索实践
Lucene 全文检索实践Lucene 全文检索实践
Lucene 全文检索实践
yiditushe
?
高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践
高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践
高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践
Frank Cai
?
高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践
高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践
高性能奥别产服务器狈驳颈苍虫及相关新技术的应用实践
rewinx
?
Mysql proxy cluster
Mysql proxy clusterMysql proxy cluster
Mysql proxy cluster
Yiwei Ma
?

Viewers also liked (12)

Java Build Tool course in 2011
Java Build Tool course in 2011Java Build Tool course in 2011
Java Build Tool course in 2011
Ching Yi Chan
?
using Queue Server for batch processing
using Queue Server for batch processingusing Queue Server for batch processing
using Queue Server for batch processing
Ching Yi Chan
?
Linking error
Linking errorLinking error
Linking error
Ching Yi Chan
?
Talk about fabric
Talk about fabricTalk about fabric
Talk about fabric
Ching Yi Chan
?
JCConf2015: groovy to gradle
 JCConf2015: groovy to gradle JCConf2015: groovy to gradle
JCConf2015: groovy to gradle
Ching Yi Chan
?
Unit Testing
Unit TestingUnit Testing
Unit Testing
Ching Yi Chan
?
Android NDK (JUG@TW 2011, Oct.)
Android NDK (JUG@TW 2011, Oct.)Android NDK (JUG@TW 2011, Oct.)
Android NDK (JUG@TW 2011, Oct.)
Ching Yi Chan
?
idea: talk about the Active Cache
idea: talk about the Active Cacheidea: talk about the Active Cache
idea: talk about the Active Cache
Ching Yi Chan
?
Java web programming
Java web programmingJava web programming
Java web programming
Ching Yi Chan
?
JCConf2016 Jenkins Pipeline
JCConf2016 Jenkins PipelineJCConf2016 Jenkins Pipeline
JCConf2016 Jenkins Pipeline
Ching Yi Chan
?
老旧飞别产上云端
老旧飞别产上云端老旧飞别产上云端
老旧飞别产上云端
Ching Yi Chan
?
The journey of Moving from AWS ELK to GCP Data Pipeline
The journey of Moving from AWS ELK to GCP Data PipelineThe journey of Moving from AWS ELK to GCP Data Pipeline
The journey of Moving from AWS ELK to GCP Data Pipeline
Randy Huang
?
Java Build Tool course in 2011
Java Build Tool course in 2011Java Build Tool course in 2011
Java Build Tool course in 2011
Ching Yi Chan
?
using Queue Server for batch processing
using Queue Server for batch processingusing Queue Server for batch processing
using Queue Server for batch processing
Ching Yi Chan
?
JCConf2015: groovy to gradle
 JCConf2015: groovy to gradle JCConf2015: groovy to gradle
JCConf2015: groovy to gradle
Ching Yi Chan
?
Android NDK (JUG@TW 2011, Oct.)
Android NDK (JUG@TW 2011, Oct.)Android NDK (JUG@TW 2011, Oct.)
Android NDK (JUG@TW 2011, Oct.)
Ching Yi Chan
?
idea: talk about the Active Cache
idea: talk about the Active Cacheidea: talk about the Active Cache
idea: talk about the Active Cache
Ching Yi Chan
?
JCConf2016 Jenkins Pipeline
JCConf2016 Jenkins PipelineJCConf2016 Jenkins Pipeline
JCConf2016 Jenkins Pipeline
Ching Yi Chan
?
老旧飞别产上云端
老旧飞别产上云端老旧飞别产上云端
老旧飞别产上云端
Ching Yi Chan
?
The journey of Moving from AWS ELK to GCP Data Pipeline
The journey of Moving from AWS ELK to GCP Data PipelineThe journey of Moving from AWS ELK to GCP Data Pipeline
The journey of Moving from AWS ELK to GCP Data Pipeline
Randy Huang
?

Similar to OSGi Small Lab (20)

基于Ivy ant的java构建初探
基于Ivy ant的java构建初探基于Ivy ant的java构建初探
基于Ivy ant的java构建初探
Anson Yang
?
Spring4.x + hibernate4.x_配置详解
Spring4.x + hibernate4.x_配置详解Spring4.x + hibernate4.x_配置详解
Spring4.x + hibernate4.x_配置详解
zany_hui
?
惭补惫别苍私服安装,惭补惫别苍使用教程
惭补惫别苍私服安装,惭补惫别苍使用教程惭补惫别苍私服安装,惭补惫别苍使用教程
惭补惫别苍私服安装,惭补惫别苍使用教程
kangzj
?
笔测迟丑辞苍包管理工具介绍
笔测迟丑辞苍包管理工具介绍笔测迟丑辞苍包管理工具介绍
笔测迟丑辞苍包管理工具介绍
Young King
?
使用搁辫尘&补尘辫;测耻尘进行基础软件管理
使用搁辫尘&补尘辫;测耻尘进行基础软件管理使用搁辫尘&补尘辫;测耻尘进行基础软件管理
使用搁辫尘&补尘辫;测耻尘进行基础软件管理
Jason Zheng
?
使用搁辫尘&补尘辫;测耻尘进行基础软件管理
使用搁辫尘&补尘辫;测耻尘进行基础软件管理使用搁辫尘&补尘辫;测耻尘进行基础软件管理
使用搁辫尘&补尘辫;测耻尘进行基础软件管理
haiyuan ning
?
六步教你学会简单搁尘颈
六步教你学会简单搁尘颈六步教你学会简单搁尘颈
六步教你学会简单搁尘颈
yiditushe
?
Centos下安装apache + subversion
Centos下安装apache + subversionCentos下安装apache + subversion
Centos下安装apache + subversion
Yiwei Ma
?
自由软体铸造场冲20111023冲厂耻产惫别谤蝉颈辞苍版本控制系统之操作冲曾义峰(补苍迟)
自由软体铸造场冲20111023冲厂耻产惫别谤蝉颈辞苍版本控制系统之操作冲曾义峰(补苍迟)自由软体铸造场冲20111023冲厂耻产惫别谤蝉颈辞苍版本控制系统之操作冲曾义峰(补苍迟)
自由软体铸造场冲20111023冲厂耻产惫别谤蝉颈辞苍版本控制系统之操作冲曾义峰(补苍迟)
OpenFoundry
?
Honey's Data Dinner#7 webpack 包達人(入門)
Honey's Data Dinner#7 webpack 包達人(入門)Honey's Data Dinner#7 webpack 包達人(入門)
Honey's Data Dinner#7 webpack 包達人(入門)
beehivedata
?
惭补惫别苍初级培训
惭补惫别苍初级培训惭补惫别苍初级培训
惭补惫别苍初级培训
Cody Zhang
?
项目自动化实施
项目自动化实施项目自动化实施
项目自动化实施
dhlzj
?
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定啟動 Laravel 與環境設定
啟動 Laravel 與環境設定
Shengyou Fan
?
笔耻辫辫别迟安装总结
笔耻辫辫别迟安装总结笔耻辫辫别迟安装总结
笔耻辫辫别迟安装总结
Yiwei Ma
?
Docker
DockerDocker
Docker
旭 張
?
在云端上啜饮爪哇
在云端上啜饮爪哇在云端上啜饮爪哇
在云端上啜饮爪哇
建興 王
?
Javascript autoload
Javascript autoloadJavascript autoload
Javascript autoload
jay li
?
使用狈驳颈苍虫轻松实现开源负载均衡
使用狈驳颈苍虫轻松实现开源负载均衡使用狈驳颈苍虫轻松实现开源负载均衡
使用狈驳颈苍虫轻松实现开源负载均衡
cachowu
?
贬补诲辞辞辫平台搭建
贬补诲辞辞辫平台搭建贬补诲辞辞辫平台搭建
贬补诲辞辞辫平台搭建
Liyang Tang
?
基于Ivy ant的java构建初探
基于Ivy ant的java构建初探基于Ivy ant的java构建初探
基于Ivy ant的java构建初探
Anson Yang
?
Spring4.x + hibernate4.x_配置详解
Spring4.x + hibernate4.x_配置详解Spring4.x + hibernate4.x_配置详解
Spring4.x + hibernate4.x_配置详解
zany_hui
?
惭补惫别苍私服安装,惭补惫别苍使用教程
惭补惫别苍私服安装,惭补惫别苍使用教程惭补惫别苍私服安装,惭补惫别苍使用教程
惭补惫别苍私服安装,惭补惫别苍使用教程
kangzj
?
笔测迟丑辞苍包管理工具介绍
笔测迟丑辞苍包管理工具介绍笔测迟丑辞苍包管理工具介绍
笔测迟丑辞苍包管理工具介绍
Young King
?
使用搁辫尘&补尘辫;测耻尘进行基础软件管理
使用搁辫尘&补尘辫;测耻尘进行基础软件管理使用搁辫尘&补尘辫;测耻尘进行基础软件管理
使用搁辫尘&补尘辫;测耻尘进行基础软件管理
Jason Zheng
?
使用搁辫尘&补尘辫;测耻尘进行基础软件管理
使用搁辫尘&补尘辫;测耻尘进行基础软件管理使用搁辫尘&补尘辫;测耻尘进行基础软件管理
使用搁辫尘&补尘辫;测耻尘进行基础软件管理
haiyuan ning
?
六步教你学会简单搁尘颈
六步教你学会简单搁尘颈六步教你学会简单搁尘颈
六步教你学会简单搁尘颈
yiditushe
?
Centos下安装apache + subversion
Centos下安装apache + subversionCentos下安装apache + subversion
Centos下安装apache + subversion
Yiwei Ma
?
自由软体铸造场冲20111023冲厂耻产惫别谤蝉颈辞苍版本控制系统之操作冲曾义峰(补苍迟)
自由软体铸造场冲20111023冲厂耻产惫别谤蝉颈辞苍版本控制系统之操作冲曾义峰(补苍迟)自由软体铸造场冲20111023冲厂耻产惫别谤蝉颈辞苍版本控制系统之操作冲曾义峰(补苍迟)
自由软体铸造场冲20111023冲厂耻产惫别谤蝉颈辞苍版本控制系统之操作冲曾义峰(补苍迟)
OpenFoundry
?
Honey's Data Dinner#7 webpack 包達人(入門)
Honey's Data Dinner#7 webpack 包達人(入門)Honey's Data Dinner#7 webpack 包達人(入門)
Honey's Data Dinner#7 webpack 包達人(入門)
beehivedata
?
惭补惫别苍初级培训
惭补惫别苍初级培训惭补惫别苍初级培训
惭补惫别苍初级培训
Cody Zhang
?
项目自动化实施
项目自动化实施项目自动化实施
项目自动化实施
dhlzj
?
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定啟動 Laravel 與環境設定
啟動 Laravel 與環境設定
Shengyou Fan
?
笔耻辫辫别迟安装总结
笔耻辫辫别迟安装总结笔耻辫辫别迟安装总结
笔耻辫辫别迟安装总结
Yiwei Ma
?
在云端上啜饮爪哇
在云端上啜饮爪哇在云端上啜饮爪哇
在云端上啜饮爪哇
建興 王
?
Javascript autoload
Javascript autoloadJavascript autoload
Javascript autoload
jay li
?
使用狈驳颈苍虫轻松实现开源负载均衡
使用狈驳颈苍虫轻松实现开源负载均衡使用狈驳颈苍虫轻松实现开源负载均衡
使用狈驳颈苍虫轻松实现开源负载均衡
cachowu
?
贬补诲辞辞辫平台搭建
贬补诲辞辞辫平台搭建贬补诲辞辞辫平台搭建
贬补诲辞辞辫平台搭建
Liyang Tang
?

Recently uploaded (18)

黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...
黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...
黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
2 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 1
2 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 12 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 1
2 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 1
g62042289
?
国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证
国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证
国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
bb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptx
bb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptxbb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptx
bb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptx
ronalyncaju
?
顿顿辞厂攻击服务,网站瘫痪服务,恶意软件定制【微信贬补肠办谤404】开发病毒服务,勒索软件开发,黑客入侵大学网站修改成绩,黑客删除论坛文章
顿顿辞厂攻击服务,网站瘫痪服务,恶意软件定制【微信贬补肠办谤404】开发病毒服务,勒索软件开发,黑客入侵大学网站修改成绩,黑客删除论坛文章顿顿辞厂攻击服务,网站瘫痪服务,恶意软件定制【微信贬补肠办谤404】开发病毒服务,勒索软件开发,黑客入侵大学网站修改成绩,黑客删除论坛文章
顿顿辞厂攻击服务,网站瘫痪服务,恶意软件定制【微信贬补肠办谤404】开发病毒服务,勒索软件开发,黑客入侵大学网站修改成绩,黑客删除论坛文章
【微信VQiChen】澳洲改成绩,澳洲改分,澳大利亚改成绩黑客如何入侵大学网站改成绩的?成绩修改 韩国中学成绩修改 日本中学成绩修改 泰国中学成绩修改美国大学挂科改成绩 英国大学挂科改成绩
?
黑客改成绩:如何通过DNS劫持绕过安全防护? 【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术
黑客改成绩:如何通过DNS劫持绕过安全防护?   【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术黑客改成绩:如何通过DNS劫持绕过安全防护?   【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术
黑客改成绩:如何通过DNS劫持绕过安全防护? 【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...
黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...
黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...
尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...
尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
佐治亚理工学院代考服务详解【微信贬补肠办谤404】佛罗里达州立大学代考,乔治亚大学替考,田纳西州立大学代考,肯塔基州立大学保分替考,阿拉巴马州立大学代考,...
佐治亚理工学院代考服务详解【微信贬补肠办谤404】佛罗里达州立大学代考,乔治亚大学替考,田纳西州立大学代考,肯塔基州立大学保分替考,阿拉巴马州立大学代考,...佐治亚理工学院代考服务详解【微信贬补肠办谤404】佛罗里达州立大学代考,乔治亚大学替考,田纳西州立大学代考,肯塔基州立大学保分替考,阿拉巴马州立大学代考,...
佐治亚理工学院代考服务详解【微信贬补肠办谤404】佛罗里达州立大学代考,乔治亚大学替考,田纳西州立大学代考,肯塔基州立大学保分替考,阿拉巴马州立大学代考,...
【微信VQiChen】澳洲改成绩,澳洲改分,澳大利亚改成绩黑客如何入侵大学网站改成绩的?成绩修改 韩国中学成绩修改 日本中学成绩修改 泰国中学成绩修改美国大学挂科改成绩 英国大学挂科改成绩
?
O-level Mathematics代考,【微信VQiChen】GCSE Mathematics替考,UCAT Quantitative Reasoni...
O-level Mathematics代考,【微信VQiChen】GCSE Mathematics替考,UCAT Quantitative Reasoni...O-level Mathematics代考,【微信VQiChen】GCSE Mathematics替考,UCAT Quantitative Reasoni...
O-level Mathematics代考,【微信VQiChen】GCSE Mathematics替考,UCAT Quantitative Reasoni...
【微信VQiChen】澳洲改成绩,澳洲改分,澳大利亚改成绩黑客如何入侵大学网站改成绩的?成绩修改 韩国中学成绩修改 日本中学成绩修改 泰国中学成绩修改美国大学挂科改成绩 英国大学挂科改成绩
?
础颁罢考试代考,础笔考试替考,滨叠考试代考【微信贬补肠办谤404】,础-濒别惫别濒考试替考,翱-濒别惫别濒考试代考,滨骋颁厂贰考试代考,鲍颁础罢考试替考,...
础颁罢考试代考,础笔考试替考,滨叠考试代考【微信贬补肠办谤404】,础-濒别惫别濒考试替考,翱-濒别惫别濒考试代考,滨骋颁厂贰考试代考,鲍颁础罢考试替考,...础颁罢考试代考,础笔考试替考,滨叠考试代考【微信贬补肠办谤404】,础-濒别惫别濒考试替考,翱-濒别惫别濒考试代考,滨骋颁厂贰考试代考,鲍颁础罢考试替考,...
础颁罢考试代考,础笔考试替考,滨叠考试代考【微信贬补肠办谤404】,础-濒别惫别濒考试替考,翱-濒别惫别濒考试代考,滨骋颁厂贰考试代考,鲍颁础罢考试替考,...
【微信VQiChen】澳洲改成绩,澳洲改分,澳大利亚改成绩黑客如何入侵大学网站改成绩的?成绩修改 韩国中学成绩修改 日本中学成绩修改 泰国中学成绩修改美国大学挂科改成绩 英国大学挂科改成绩
?
黑客改成绩:入侵技术与痕迹清理的深度解析【微贬补肠办谤404信】漏洞利用,权限提升,数据库修改,痕迹清理,隐匿技术
黑客改成绩:入侵技术与痕迹清理的深度解析【微贬补肠办谤404信】漏洞利用,权限提升,数据库修改,痕迹清理,隐匿技术黑客改成绩:入侵技术与痕迹清理的深度解析【微贬补肠办谤404信】漏洞利用,权限提升,数据库修改,痕迹清理,隐匿技术
黑客改成绩:入侵技术与痕迹清理的深度解析【微贬补肠办谤404信】漏洞利用,权限提升,数据库修改,痕迹清理,隐匿技术
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...
黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...
黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源
滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源
滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
职场霸凌与公司责任:打造健康友善的工作环境-动物医事助理训练教材-詹翔霖副教授教材图档.诲辞肠虫
职场霸凌与公司责任:打造健康友善的工作环境-动物医事助理训练教材-詹翔霖副教授教材图档.诲辞肠虫职场霸凌与公司责任:打造健康友善的工作环境-动物医事助理训练教材-詹翔霖副教授教材图档.诲辞肠虫
职场霸凌与公司责任:打造健康友善的工作环境-动物医事助理训练教材-詹翔霖副教授教材图档.诲辞肠虫
https://mypaper.pchome.com.tw/chanrs/post/1381109792
?
黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩 - 找黑客改成绩 - 黑客改分 - 找黑客修改成绩 - 黑客改成绩...
黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩   - 找黑客改成绩   - 黑客改分   - 找黑客修改成绩   - 黑客改成绩...黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩   - 找黑客改成绩   - 黑客改分   - 找黑客修改成绩   - 黑客改成绩...
黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩 - 找黑客改成绩 - 黑客改分 - 找黑客修改成绩 - 黑客改成绩...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫
职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫
职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫
https://mypaper.pchome.com.tw/chanrs/post/1381109792
?
成绩篡改、SQL注入、日志清理、数据库安全、日志监控 【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护
成绩篡改、SQL注入、日志清理、数据库安全、日志监控  【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护成绩篡改、SQL注入、日志清理、数据库安全、日志监控  【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护
成绩篡改、SQL注入、日志清理、数据库安全、日志监控 【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...
黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...
黑客技术修改内华达大学成绩,【微贬补肠办谤404信】黑客改成绩服务,黑客快速修改亚利桑那大学成绩,黑客技术修改新墨西哥州立大学成绩,黑客改成绩团队,黑客快...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
2 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 1
2 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 12 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 1
2 风中的树苗 :理解与深究(加入第1至第4题)semakan kssr Bahasa cina tahun 1
g62042289
?
国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证
国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证
国外学历代办,教育部学历认证,留学认证服务【微贬补肠办谤404信】办理英国学历,美国学历,法国学历,德国学历认证
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
bb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptx
bb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptxbb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptx
bb8c5c4e-d1de-496f-ab1a-49e8f9c64a1a.pptx
ronalyncaju
?
黑客改成绩:如何通过DNS劫持绕过安全防护? 【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术
黑客改成绩:如何通过DNS劫持绕过安全防护?   【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术黑客改成绩:如何通过DNS劫持绕过安全防护?   【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术
黑客改成绩:如何通过DNS劫持绕过安全防护? 【微Hackr404信】 从域名解析到流量重定向,揭秘黑客的DNS劫持技术
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...
黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...
黑客改成绩方法,【微贬补肠办谤404信】黑客快速修改爱达荷大学成绩,黑客技术修改北达科他大学成绩,黑客改成绩流程,黑客快速修改南达科他大学成绩,黑客技术修...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...
尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...
尝厂础罢考试代考方案,础笔考试替考攻略【微贬补肠办谤404信】,滨叠考试代考教程,罢翱贰滨颁考试保分替考案例,笔罢贰考试代考经验,雅思考试代考技巧,托福考...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客改成绩:入侵技术与痕迹清理的深度解析【微贬补肠办谤404信】漏洞利用,权限提升,数据库修改,痕迹清理,隐匿技术
黑客改成绩:入侵技术与痕迹清理的深度解析【微贬补肠办谤404信】漏洞利用,权限提升,数据库修改,痕迹清理,隐匿技术黑客改成绩:入侵技术与痕迹清理的深度解析【微贬补肠办谤404信】漏洞利用,权限提升,数据库修改,痕迹清理,隐匿技术
黑客改成绩:入侵技术与痕迹清理的深度解析【微贬补肠办谤404信】漏洞利用,权限提升,数据库修改,痕迹清理,隐匿技术
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...
黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...
黑客改成绩服务,黑客快速修改麻省理工成绩【微贬补肠办谤404信】黑客技术修改牛津大学成绩,黑客改成绩团队,黑客快速修改剑桥大学成绩,黑客技术修改加州理工成...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源
滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源
滨黑客改成绩的背后:技术炫耀还是经济利益驱动?【微贬补肠办谤404信】教育系统网络安全漏洞:黑客改成绩事件频发的根源
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
职场霸凌与公司责任:打造健康友善的工作环境-动物医事助理训练教材-詹翔霖副教授教材图档.诲辞肠虫
职场霸凌与公司责任:打造健康友善的工作环境-动物医事助理训练教材-詹翔霖副教授教材图档.诲辞肠虫职场霸凌与公司责任:打造健康友善的工作环境-动物医事助理训练教材-詹翔霖副教授教材图档.诲辞肠虫
职场霸凌与公司责任:打造健康友善的工作环境-动物医事助理训练教材-詹翔霖副教授教材图档.诲辞肠虫
https://mypaper.pchome.com.tw/chanrs/post/1381109792
?
黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩 - 找黑客改成绩 - 黑客改分 - 找黑客修改成绩 - 黑客改成绩...
黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩   - 找黑客改成绩   - 黑客改分   - 找黑客修改成绩   - 黑客改成绩...黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩   - 找黑客改成绩   - 黑客改分   - 找黑客修改成绩   - 黑客改成绩...
黑客改成绩快速安全?!【微Hackr404信】黑客入侵教务系统修改成绩 - 找黑客改成绩 - 黑客改分 - 找黑客修改成绩 - 黑客改成绩...
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?
职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫
职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫
职场霸凌防治及处理案例-动物医院训练教材-詹翔霖副教授「「云云」凶杀命案」.诲辞肠虫
https://mypaper.pchome.com.tw/chanrs/post/1381109792
?
成绩篡改、SQL注入、日志清理、数据库安全、日志监控 【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护
成绩篡改、SQL注入、日志清理、数据库安全、日志监控  【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护成绩篡改、SQL注入、日志清理、数据库安全、日志监控  【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护
成绩篡改、SQL注入、日志清理、数据库安全、日志监控 【微Hackr404信】黑客入侵、修改成绩、漏洞扫描、社会工程学、网络安全防护
【微痴辩颈颁丑别苍信】诲补颈办补辞8.肠辞尘
?

OSGi Small Lab

  • 1. OSG i 動態服務模組 開發實作 詹景逸 Ching Yi, Chan. aka qrtt1 [email_address]
  • 2. Agenda 開發環境準備 JDK Maven Felix 練習主題介紹 Felix – OSGi Container 的使用 Bundle – 建立 OSGi 模組 Service – 建立 OSGi 服務
  • 3. 開發環境準備 JDK #2 Java SE http://java.sun.com/javase/downloads/index.jsp 檢查環境變數 JAVA_HOME CLASSPATH PATH
  • 4. 開發環境準備 Maven #3 取得檔案 http://maven.apache.org/download.html 解壓縮 ~/app c:\app 修改 PATH 變數 export PATH=$PATH:~/app/apache-maven- x.y.z /bin set PATH=%PATH%;c:\app\apache-maven- x.y.z \bin 執行測試 mvn -v
  • 5. 開發環境準備 Felix – OSGi Container #5 取得檔案 http://apache.stu.edu.tw/felix/felix-1.4.1.zip 解壓縮 ~/app c:\app 啟動 Felix java -jar bin/felix.jar 停止 Felix stop 0 或是 shutdown
  • 6. Felix 基本操作 啟動 Felix #6 java -jar bin/felix.jar 常用指令 help ps – 列出已安裝 Bundle install – 安裝 Bundle start – 啟動 Bundle stop – 停止 Bundle update – 更新 Bundle uninstall – 移除 Bundle ( 請先別執行 ) shutdown – 離開 felix
  • 7. PART 1 Everything is Bundle
  • 8. 安裝 Bundle File Install Bundle #7 功能:在 Felix 執行目錄下建立 load 資料夾。定期監看 load 資料夾的檔案,若是 OSGi Bundle 就 自動安裝 。 使用 Install 指令安裝 Bundle 透過網路檔案安裝 透過檔案系統安裝 測試 File Install Bundle ( 需先啟動 Bundle) 複製 hello.service-1.0.0.jar 至 load 資料夾 install http:// apache.ntu.edu.tw/felix/org.apache.felix.fileinstall-0.9.0.jar install file:// /c:/temp /org.apache.felix.fileinstall-0.9.0.jar install file:// /home/qrtt1/temp/ org.apache.felix.fileinstall-0.9.0.jar
  • 9. 建立 Bundle 使用 Maven 建立新的專案 #9 for unix-like for windows mvn archetype:create \ -Dversion=1.0.0 \ -DgroupId=javatwo2009 \ -DartifactId=hello.bundle mvn archetype:create ^ -Dversion=1.0.0 ^ -DgroupId=javatwo2009 ^ -DartifactId=hello.bundle
  • 10. Maven 專案導覽 專案目錄 #9 Artifact 名稱 hello.bundle 編譯並打包專案 ( 請先執行這個步驟 ) cd hello.bundle mvn clean package
  • 11. 使用 Maven-Bundle-Plugin (1) 修改 pom.xml 檔案 #10 改變 <packaging /> 為 bundle 增加 OSGi Framework 的 Dependency 設定 Maven-Bundle-Plugin ( 接續下頁 ) <dependency> <groupId>org.apache.felix</groupId> <artifactId>org.osgi.core</artifactId> <version>1.0.0</version> </dependency>
  • 12. 使用 Maven-Bundle-Plugin (2) <build> <plugins> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <extensions>true</extensions> <configuration> <instructions> <Export-Package>${pom.groupId}</Export-Package> <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName> <Bundle-Activator>${pom.groupId}.Activator</Bundle-Activator> </instructions> </configuration> </plugin> </plugins> </build> Manifest-Version: 1.0 Export-Package: javatwo2009;uses:=&quot;org.osgi.framework&quot; Built-By: Administrator Tool: Bnd-0.0.308 Bundle-Name: hello.bundle Created-By: Apache Maven Bundle Plugin Bundle-Version: 1.0.0 Build-Jdk: 1.6.0_06 Bnd-LastModified: 1235833008625 Bundle-ManifestVersion: 2 Bundle-Activator: javatwo2009.Activator Import-Package: javatwo2009,org.osgi.framework;version=&quot;1.3&quot; Bundle-SymbolicName: hello.bundle
  • 13. 建立 Bundle Activator package javatwo2009; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; /** * Hello world! */ public class Activator implements BundleActivator { public void start(BundleContext context) throws Exception { System. out .println(&quot;Hey!&quot;); } public void stop(BundleContext context) throws Exception { System. out .println(&quot;Bye!&quot;); } } #12 .. #13
  • 14. 編譯與安裝 bundle 使用 Maven 編譯並打包專案 #14 mvn clean package 安裝 bundle 將 target/hello.bundle-1.0.0.jar 複製到 FELIX_HOME/load 資料夾
  • 15. OSGi 怎麼跑? System Bundle B B B PID 永遠為 0 JVM OSGi Framework Module Life Cycle Service
  • 16. OSGi 怎麼跑? Installed Resolving & Loading Classes Resolved JVM OSGi Framework System Bundle M O D U L E Export-Package: org.osgi.framework, org.osgi.framework.hooks.service, org.osgi.service.packageadmin, org.osgi.service.startlevel, org.osgi.service.url, org.osgi.util.tracker
  • 17. OSGi 怎麼跑? Resolved public class Activator implements BundleActivator { public void start(BundleContext context) throws Exception { System. out .println(&quot;Hey!&quot;); } public void stop(BundleContext context) throws Exception { System. out .println(&quot;Bye!&quot;); } } JVM OSGi Framework System Bundle L I F E C Y C L E Starting Active Stopping Activator.stop() Activator.start()
  • 18. PART 2 Service is Everything
  • 19. OSGi Service 在哪裡? JVM OSGi Framework SERVICE REGISTRY Bundle Activator Bundle Activator Bundle Activator publish publish publish find & bind find & bind find & bind unpublish unpublish unpublish
  • 20. 服務與實作角色 (1) Service Provider Interface , SPI #16 Export-Package Bundle Activator
  • 21. 服務與實作角色 (2) Application Programming Interface , API Import-Package Bundle Activator
  • 22. 服務與實作角色 (3) Service Provider Import-Package ServiceRegistration registration = bundleContext. registerService ( ServiceA .class.getName(), new ConcreteServiceA() , prop); Bundle Activator
  • 23. 服務與實作角色 (4) Service Consumer Import-Package ServiceReference ref = bundleContext . getServiceReference ( ServiceA .class.getName()); ServiceA service = (ServiceA) bundleContext.getService(ref); Bundle Activator
  • 24. 實作 TinyURL Command(1) 擴充 Felix Shell 指令 Apache Felix Shell Service Activator Apache Felix Shell TUI Activator Tinyurl Command Activator
  • 25. 實作 TinyURL Command(2) org.apache.felix.shell Export-Package Import-Package // 發佈 Service bundleContext.registerService( org.apache.felix.shell. Command .class.getName(), new TinyURLCommand (), null); Apache Felix Shell Service Activator Apache Felix Shell TUI Activator Tinyurl Command Activator 實作 Service
  • 26. 實作 TinyURL Command(3) publish publish 追蹤 Command 服務 加入新增的 Command 服務 使用 ShellService 擁有的 Command Apache Felix Shell Service Activator Apache Felix Shell TUI Activator Tinyurl Command Activator
  • 27. 動手做看看 實作 TinyurlCommand 替 Felix 增加指令 See TODO 2 & #17..#21 tinyurl http://very_long_url.com.tw
  • 28. 詹景逸 Ching Yi, Chan. aka qrtt1 [email_address] Thank You