KARAF学习笔记

合集下载

caffe学习笔记

caffe学习笔记

读书笔记1 CIFAR-10在caffe上进行训练与学习2014.7.21薛开宇本次学习笔记作用,知道如何在caffe上训练与学习,如何看结果。

1.1使用数据库:CIFAR-1060000张32X32 彩色图像10类50000张训练10000张测试1.2准备在终端运行以下指令:cd $CAFFE_ROOT/data/cifar10./get_cifar10.shcd $CAFFE_ROOT/examples/cifar10./create_cifar10.sh其中CAFFE_ROOT是caffe-master在你机子的地址运行之后,将会在examples中出现数据库文件./cifar10-leveldb和数据库图像均值二进制文件./mean.binaryproto1.3模型该CNN由卷积层,POOLing层,非线性变换层,在顶端的局部对比归一化线性分类器组成。

该模型的定义在CAFFE_ROOT/examples/cifar10 directory’s cifar10_quick_train.prototxt中,可以进行修改。

其实后缀为prototxt很多都是用来修改配置的。

1.4训练和测试训练这个模型非常简单,当我们写好参数设置的文件cifar10_quick_solver.prototxt和定义的文件cifar10_quick_train.prototxt和cifar10_quick_test.prototxt后,运行train_quick.sh或者在终端输入下面的命令:cd $CAFFE_ROOT/examples/cifar10./train_quick.sh即可,train_quick.sh是一个简单的脚本,会把执行的信息显示出来,培训的工具是train_net.bin,cifar10_quick_solver.prototxt作为参数。

然后出现类似以下的信息:I0317 21:52:48.945710 2008298256 net.cpp:74] Creating Layer conv1I0317 21:52:48.945716 2008298256 net.cpp:84] conv1 <- dataI0317 21:52:48.945725 2008298256 net.cpp:110] conv1 -> conv1I0317 21:52:49.298691 2008298256 net.cpp:125] Top shape: 100 32 32 32 (3276800)I0317 21:52:49.298719 2008298256 net.cpp:151] conv1 needs backward computation.这是搭建模型的相关信息接着:0317 21:52:49.309370 2008298256 net.cpp:166] Network initialization done.I0317 21:52:49.309376 2008298256 net.cpp:167] Memory required for Data 23790808I0317 21:52:49.309422 2008298256 solver.cpp:36] Solver scaffolding done.I0317 21:52:49.309447 2008298256 solver.cpp:47] Solving CIFAR10_quick_train之后,训练开始I0317 21:53:12.179772 2008298256 solver.cpp:208] Iteration 100, lr = 0.001I0317 21:53:12.185698 2008298256 solver.cpp:65] Iteration 100, loss = 1.73643...I0317 21:54:41.150030 2008298256 solver.cpp:87] Iteration 500, Testing netI0317 21:54:47.129461 2008298256 solver.cpp:114] Test score #0: 0.5504I0317 21:54:47.129500 2008298256 solver.cpp:114] Test score #1: 1.27805其中每100次迭代次数显示一次训练时lr(learning rate),和loss(训练损失函数),每500次测试一次,输出score 0(准确率)和score 1(测试损失函数)当5000次迭代之后,正确率约为75%,模型的参数存储在二进制protobuf格式在cifar10_quick_iter_5000然后,这个模型就可以用来运行在新数据上了。

《RubyonRails教程》学习笔记

《RubyonRails教程》学习笔记

《RubyonRails教程》学习笔记本⽂是我在阅读的时所做的摘录,以及学习时寻找的补充知识。

补充知识主要来⾃于。

Asset Pipeline在最新版 Rails 中,静态⽂件可以放在三个标准⽂件夹中,⽽且各有各的⽤途:app/assets:当前应⽤的资源⽂件;lib/assets:开发团队⾃⼰开发的代码库使⽤的资源⽂件;vendor/assets:第三⽅代码库使⽤的资源⽂件;*= require_tree .会把app/assets/stylesheets⽂件夹中的所有 CSS ⽂件(包含⼦⽂件夹中的⽂件)都引⼊应⽤的 CSS 。

*= require_self会把application.css这个⽂件中的 CSS 也加载进来。

(预处理器引擎)按照扩展名的顺序从右向左处理使⽤ Asset Pipeline,⽣产环境中应⽤所有的样式都会集中到⼀个 CSS ⽂件中(application.css),所有 JavaScript 代码都会集中到⼀个JavaScript ⽂件中(application.js),⽽且还会压缩这些⽂件,删除不必要的空格,减⼩⽂件⼤⼩。

Active Record关于回调...“回调”(callback),在 Active Record 对象⽣命周期的特定时刻调⽤。

现在,我们要使⽤的回调是before_save,在⽤户存⼊数据库之前把电⼦邮件地址转换成全⼩写字母形式。

补充其他的回调有:save、valid、before_validation、validate、after_validation、before_save、before_create、create、after_create、after_save、after_commit关于索引add_index :users, :email, unique: true上述代码调⽤了 Rails 中的add_index⽅法,为users表中的email列建⽴索引。

菲菲小姐读书笔记摘抄及感悟

菲菲小姐读书笔记摘抄及感悟

菲菲小姐读书笔记摘抄及感悟1.起初,我们总是会害怕,害怕不能得到自己渴望的物质生活,害怕遇不到那个好好爱自己的人,害怕失去青春也换不回事业上的进步,害怕自己会做下一个让自己悔恨的决定,也害怕丢失了自己内心的本质与单纯,时常会悔恨自己做过的一些事情。

可是一路上我们就这样,踩着自己的害怕和悔恨走来,渐渐地,我们在害怕中一点点学习、成长、充实,日益强大,对当初做下的决定释然,最终迎接另一种不惧怕未来的自己。

2.如果你真没有发现自己的事情,那请不要放过任何尝试的机会,你可以接受各种挑战,尝试去做各种事情,不要拿自己太当回事了,丢弃那虚妄的自尊,不要怕出丑不要怕失败,你甚至要允许自己经常失败,给你面对失败的经验,给自己不断重来的勇气,你要做的就是积极的尝试,直到找到自己内心真正的热爱,找到自己愿意为之努力的梦想。

3.有人说“只有一次的生命,需要活得真性情一点。

”真性情就是你不要压抑自己的需求,你要听从自己内心的声音,过自己想要的生活。

你的生活是需要别人对你说“好”你才觉得好吗?你的安全感是来自符合社会习俗制定的标准吗?你的幸福是建立在别人对你的生活投以羡慕妒忌的目光上吗?真正的强者是能在人生的旅途中蜕变为只对自己心声负责的达人。

4.真正的安全感不是来自外部物质的赋予,而是来自内心的平静和充盈,来自对自我的自信和对人生的笃定。

可是要获得这些都需要人生经历的慢慢累积,需要吃过生活的苦头,经历过许多事,见识过很多人,还要有自己的修养和悟性,才能做到平和冲淡,不忧不惧。

5.因为经历,所以懂得。

该做些什么,走怎样的路,应该遵循着内心的声音一步步摸索、试探。

摔倒了,爬起来;撞个头破血流,往后退;走岔了路,就退回来;走得太急,就慢一些;迷路了,停下来想想,再继续走。

你要做的就是不要给自己的人生设限,倾听内心的声音,遵从自己内心的意愿,慢慢来,一切都来得及。

6.现实中,有一部分人对自己喜欢的东西,对于自己的梦想,只是说说而已,丝毫没有行动。

韩顺平循序渐进学java从入门到精通(全知识点笔记整理)

韩顺平循序渐进学java从入门到精通(全知识点笔记整理)

韩顺平笔记第1讲内容介绍.项目演示.原理剖析1. 课程包括:面向对象编程,图形界面,数据库编程,文件流,网络编程,的多线程2. 历史:1990 启动绿色计划 1992 创建语言—>1994 参加硅谷大会演示功能震惊世界 1995 正式发布第一个版本,目前最新的是7.03. 开发工具:记事本,,,,4. 包括:(运行环境)的工具:编译器解释执行器的类库:3600多个,常用的150多个5. 第一个程序:功能:显示―‖:表示类是公共的,一个文件中只有一个类 :表示这个是一个类:类名(公共类的类名,必须和文件名一样){一个主函数,程序的入口 ( []) {执行语句("!"); } }6. 源程序(文件)——>字节码文件(文件)——>由解释执行器()将字节码文件加载到虚拟机()——>字节码文件()就会在虚拟机中执行); } }第2讲变量.数据类型1. 在里面占4个字节,占8个字节2. 基本数据类型:整数:(一个字节:-128127 四个字节:-247483647两个字节:-3276832767 八个字节:)小数(浮点):布尔:字符:(两个字节,可以存放汉字, 1 ='中';)引申到字符串(类)3.在中对进行运算的时候,直接是当做码对应的整数4.数据不能从高精度到低精度的转换<<<<<3.4;是过不去的,在中小数默认是(双精度)的应该写成是3.4f;不过可以强制转换:()1.2; ()1.95. 1 1.2; a先是往高精度转换,然后赋给b,就报错改成1 1.2; 或者 1 1.2f; 就解决了第4讲流程控制1. 语句中,条件表达式的数据类型应该和后面的类型一致2. 语句中,可用的数据类型主要是:第5讲类与对象1. 面向对象编程-类与对象类名首字母大写类里面的元素叫类的成员变量/属性2. 类的定义包名;类名父类接口名{成员变量;构造方法;成员方法;}3. 如何创建对象:先声明再创建1;1 ();一步到位 1 ();4. 引用传递类似于指针一样第8讲类变量1. 属于类的对象的而不是属于类的2. 5不能在类的外部使用,只能在类定义时候使用!3. 可以用类名直接访问静态变量第9讲类方法封装1.类变量是该类的所有对象共享的对象,一改全改了2.定义语法:访问修饰符数据类型变量名3. 9{1;{("");;}会自动执行一次,也只有一次9(){("");;}( []){9 t1 9();(9);9 t2 9();(i);}}4.类方法(静态方法、静态函数):属于所有对象实例的5中:类变量()原则上用类方法()去访问;类方法中不能访问非静态变量,就是非类变量,但是普通的成员方法可以访问静态变量(类变量)使用:类名.类方法名对象名.类方法名6.非类变量就是实例变量,属于每个对象自己的7面向对象编程的三(四)大特征:封装、继承、多态(、抽象)8.抽象:把一类事物的共有的属性和行为提取出来,形成一个物理模板,此研究问题的方法就是抽象9.封装:把抽象出来的数据和对数据的操作封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作(成员方法),才能对数据进行操作。

ACCA F7 95分,萌帅学弟教你突破极限(附亲笔高分笔记)

ACCA F7 95分,萌帅学弟教你突破极限(附亲笔高分笔记)

ACCA F7 95分,萌帅学弟教你突破极限(附亲笔高分笔记)2019年04月09日一次报考三科的他如何玩转ACCA,一箭三雕?丨文:黄智宇开始F7之前先要做的事儿当收到12月考季的成绩单时,真的蛮惊讶的,尽了全力,但从未敢想F7有95分这样的高分。

还在为考试备考而发愁?ACCA学霸经验笔记资料免费领取>>>自提,戳:ACCA资料【新手指南】+内部讲义+解析音频学好F7一定要理解记忆会计六要素的定义,这有利于理解准则,当遇到陌生的交易事项时更好地根据Framework写分录。

会计六要素资产、负债权益、收入费用、利润构成了会计六要素关于Assets的定义,其实有三个层面Control by the entity,Arising from past events,Probable future economic benefit inflow另外一个定义Liability,这两个定义的理解是最实用的,譬如说当你知道了资产的一大要求是Control的话,就能很好的理解为什么人不能作为资产,为什么金融租赁得来的资产可以在资产负债表中列示。

明白了负债的一大要求是Present Obligation的话,会很好的理解Provisions,Contingent Liability等等的概念。

关于Liability的定义,三个层面Present obligationArising from past eventsProbable future economic benefits outflow及时归纳做好归纳在ACCA的学习过程中我一直保持着做归纳的习惯。

对于F7涉及的每一个准则都会单独归纳和记忆。

普遍上会从definition,recognition,initial measurement,subsequent measurement等方面入手,发现很多共通处,方便理解。

有人说准则死记硬背很痛苦,其实根据例子理解,运用后慢慢地就深刻地印在脑海里了。

ACCA F8 AA Audit and Assurance (AA) 笔记(二)

ACCA F8 AA Audit and Assurance (AA)  笔记(二)

ACCA F8 AA Audit and Assurance (AA) 笔记(二)今天整理Threats and safeguard toindependence的题目,同样是需要分两栏,分别写出threats和safeguard这部分我们练四道题:2013 Dec Q4 (c)题目让我们找五个ethical risks 和对应的safeguards,与昨天介绍的recommendations 要对应weakness一样,safeguards 也要做到具体且有针对性。

考试时记得要分两栏写,这里为了方面大家看就用蓝色Ethical risk 黑色写 Steps to reduce the risks1. Salt & Pepper has guaranteed that their audit will not last longerthan two weeks and will minimize disruption to companies, which will bringaudits difficulties to gather sufficient andrisk类型写上)Salt & Pepper should cease thisadvertising campaign immediately as it is not in compliance with ACCA’s Code ofEthics and Conduct. The firm should inform the clients that the audit durationwill be based on the level of audit risk present2. Salt & Pepper has offered all new audit clients a free accountspreparation service for the first year of the engagement, which willincrease the risk of self-reviewSalt & Pepper must ensure that thiswork is undertaken by a team separate to the audit team.3. The firm is not updating engagement letters for existing clients, sothe engagement letters will not be reviewed to ensure that they are stillrelevant and up to date.Salt & Pepper should comply fully withISA 210 and annually review the need for revising the engagement letters.4. An existing client of Salt & Pepper has proposed an audit feebased on a percentage of the client’s final pre-tax profit. This is acontingent fee arrangement and is prohibited as it creates a self-interestthreat.Salt & Pepper should politely declinethe proposed contingent fee arrangement and inform the client that the feeswill be based on the level of work required to obtain sufficient andappropriate audit evidence.5. Salt & Pepper intends to use junior staff for the audit of their newclient as the timing of the audit is when the firm is very busy. Junior staffmay not be competent enough and the risk of giving an incorrect audit opinionis increased.Salt & Pepper should try to increasethe amount of experienced team members. If this is not possible, they shoulddiscuss with thedirectors of Cinnamon to see whether the timing of the auditcould be changed.6. Salt & Pepper has n ot contacted Cinnamon’s previous auditors. Inthis way Salt & Pepper cannot know the reasons why Cinnamon changed their auditors.They may have been acting unethically and their previous auditors thereforerefused to continue.Salt & Pepper should contact theprevious auditors to identify if there are any ethical issues which wouldprevent them from acting as auditors of Cinnamon.2014 Specimen Q1 (a)没有说明找几点的,一般是一分一点。

Grasshopper学习手册笔记(含英文注解).

一、 Prams[n.参数] 电池组(1).Geometry[美[dʒi'ɑːmətri],n.几何,几何学] 电池组这一组都是对数据的抓取,电池都有左侧输入端和右侧输出端,都有两种输入数据的方法,一种是把相应数据连接到左侧输入端,另一种是电池上点右键 Set one XXX,新设置一个XXX。

Set multipleXXX,[美['mʌltɪpl],adj,多种多样的,许多的,n.倍数,关联],即设置多个。

但是Set one curve 只能选取Rhino 中创建好的,[美['raɪnoʊ],n.犀牛]左侧输入端:任何相应属性数据。

右侧输出端:电池所包含的相应属性数据。

属性对应如下:Point:输入点数据【美[pɔɪnt],n.点】Vector:输入向量数据【美['vektər],n,向量,矢量】Circle:输入圆数据,这个电池只包含圆和椭圆相关曲线【美['sɜːrkl]】Curve:输入曲线数据【美[kɜːrv]】Plane:输入平面数据【美[pleɪn]】Circular Arc:输入圆弧数据【美['sɜːrkjələr],adj,圆形的,循环的,美[ɑːrk],n,弧,弧形物】Line:输入直线数据【美[laɪn]】Rectangle:输入网格数据【美['rektæŋɡl],n,矩形】Box:输入实体盒子数据【美[bɑːks]】Mesh:输入mesh面数据,即网格面数据【美[meʃ],n.网状物】Surface:输入曲面数据,为poly曲面,不可输入mesh曲面【美['sɜːrfɪs] n.表面,外表】Brep:输入任意实体或者曲面数据(这个很常用)【美[b'rep]n.表面表示】Mesh Face:与mesh类似,这里更多的是提取规则的mesh面Twisted Box:输入北扭曲的实体【美['twɪstɪd],adj,扭曲的】Field,输入磁场数据【美[fiːld]】Group:输入成组的数据【美[ɡruːp]】Geometry:输入几何图形数据(包含点线面任何数据)Transform输入三线性集合变换图形【美[træns'fɔːm],v,改边,转换】Geometry Pipeline从犀牛中输入集合管线到GH中【美['paɪplaɪn],n,管道,管线,渠道】Geometry Cache物体缓存,【美[kæʃ],n,隐藏所,缓存】主要作用:1、快速烘培GH汇总的物体,2、快速选择已经烘培到Rhino中的物体(2).Primitive 电池组【['prɪmətɪv] ,adj,原始的,简陋的】Boolcean:输入布尔值【['buːliən] n,布尔布尔逻辑的】Integer:输入整数【 ['ɪntɪdʒər] n. [数] 整数;整体;】Number:输入一列双精度浮点数据Text:输入任意文字Color:输入一列颜色参数的RGB值【['kʌlər]】Culture:包含了一系列文化特征【[ˈkʌltʃɚ] n.文化,修养】Domain²:输入任意二维区间数据或者UV范围【[doʊ'meɪn]N. 领地;领域;范围】Matrix:包含了一系列的数据矩阵【['meɪtrɪks] n 矩阵】Complex:代表一个复核的集合。

KARAF学习笔记

KARAF学习笔记KARAF读书笔记⽬录KARAF读书笔记 (1)⼀序 (2)1.1序篇感⾔ (2)1.2名词解释 (2)⼆KARAF简介 (3)2.1概念 (3)2.1.1KARAF简介 (3)2.1.2WRAPPER简介 (3)2.1.3守护进程 (4)2.1.4作⽤ (4)2.2环境 (4)2.2.1下载地址 (4)2.3参考资料 (4)2.3.1⽹络参考 (4)2.3.2书籍参考 (5)三服务化配置 (5)3.1WINDOWS系统服务化配置 (5) 3.1.1⼿动配置 (5)3.1.2⾃动配置 (7)3.2LINUX系统服务化配置 (10) 3.2.1⼿动配置 (10)3.2.2⾃动配置 (10)四KARAF控制台使⽤ (10)4.1介绍 (10)4.2SHELL模块 (11)4.2.1介绍 (11)4.2.2指令介绍 (11)五SSHD模块 (14)5.1介绍 (14)5.2SSH容器跳转 (15)5.2.1KARAF间跳转 (15)六LOG模块 (15)6.1介绍 (15)6.2KARAF.LOG (15)七KARAF其他功能介绍 (15)7.1⽬录结构 (15)7.2KARAF重置 (16)⼋KARAF⼦实例 (16)8.1⼦实例作⽤ (16)⼀序1.1 序篇感⾔KARAF是APACHE开源项⽬,是⼀款⾮常优季的OSGI容器,内部集成了很多优秀的功能,通过调研,该项⽬很适合⽤作⾃动化采集客户端使⽤……耘刈2015-12-231.2 名词解释名词说明备注控制台全部指在BIN⽬录下启动的karaf.bat打开的控制界⾯,下⽂中所有控制台都表⽰该界⾯。

⼆KARAF简介2.1 概念2.1.1KARAF简介Karaf是Apache旗下的⼀个开源项⽬.Karaf同时也是⼀个基于OSGi的运⾏环境,Karaf提供了⼀个轻量级的OSGi容器,可以⽤于部署各种组件,应⽤程序.Karaf提供了很多特性⽤于帮助开发者和⽤户更加灵活的部署应⽤,例如:热部署,动态配置,⼏种⽇志处理系统,本地系统集成,可编程扩展控制台,ssh远程访问,内置安装认证机制等等.同时Karaf作为⼀款成熟⽽且优秀的OSGi运⾏环境以及容器已经被诸多Apache项⽬作为基础容器,例如:Apache Geronimo, ApacheServiceMix, Fuse ESB,由此可见Karaf在性能,功能和稳定性上都是个不错的选择。

ACCAP5学习笔记第八章

ACCAP5学习笔记第八章第八章scope of strategic performance measures in the private sector (2)一 the private sector:shareholder benefits(报告格式) (2)二 survival and growth (3)三 profitability 红字是分析 (3)3.2 sales margin (4)3.3 EBITDA 宗旨是我们需要讨论operating performance,去掉financial (4)3.4 EPS (5)3.5 ROCE (5)3.6 ROI 用在比较公司不同投资中心 (5)3.7 RI 用来衡量divisional performance 投资中心 (6)3.11 NPV和IRR方法 (6)3.12 EVA 考量整个公司(2011.6也可以是部门) (7)四 gearing (8)4.2 gearing ratios(两个) (8)4.5 operational gearing (9)五 liquidity (9)5.3 liquidity ratios(三种) (9)六 short-run and long-run financial performance (10)七 profit 和 share value的关系 (10)八 comparisons of accounting figures (11)九 using benchmarks to assess financial performance (11)第八章scope of strategic performance measures in theprivate sector私营部门倾向于使用财务衡量指标分清长短期的衡量指标2011.6 2012.6现在着重于评价不同的绩效管理方法,比如先评价,在介绍其他的衡量方法评价各种衡量方法一the private sector:shareholder benefits(报告格式)要十分关注case study里面的报告格式Group strategyCapital investment –investment criteria and budgeted expenditureFunding structureKPI and benchmarking of performanceRisks and sensitivitiesTrading prospects1.1 why are shareholders important可以根据报告找出企业的目的是将股东利益最大化的提示1.2 significance of long-term owner focus因为股东拥有企业,董事有这个duty来safeguard股东需要用return来judge validity of investment projects股东评价管理质量的方式是how well the business performs financially股东是source of capital investment1.3 what are shareholders interested in现在的利润,未来的利润,股利,风险与回报1.4 对于管理者把股东的想法放进业绩管理的难度1 财务信息通常是会计信息,是历史的,但股东需要未来的2 different assessment of risk3 在业务层很难知道绩效4 管理者会追求自己的利益1.5 管理者需要知道股东是谁1.6 align goals提到share option的优缺点二survival and growth衡量企业成功clearest的方式是continued existence and expansionGrowth requires benefits and produce benefits因此无论企业要做什么,都应该要make profits and make them in perpetuity2.1 可能的conflictSurvival可能就对应了稳定战略未来predictable,stable的时候可以用,可以降低风险在有recession,所有企业都struggle的时候是一个方法但是太关注降低费用,忽略了扩张市场的机会GrowthSacrifice current security企业的risk appetite决定了会用什么策略,可以联系行业增长模型(不同策略风险不同)此外结合产品生命周期模型,在成熟期、衰退期应该有survival矛盾:用stakeholder来看Shareholder可能不喜欢增长策略带来的风险Employee喜欢增长Bank,supplier都碎liquidity有要求投资者、管理者关注的数据也不同2.2 measures of growth七个领域总结most of the time,growth is the sign of success,provided it is profitableCase study关于Facebook用户量增加,但是广告收入没有增加。

vf学习笔记

符号:> >= < <= !=
五、逻辑表达式
(运算对象是逻辑真和假)
运算符号:not and or
运算功能:取反not .t.=.f.
And:两边为真时才是真,一边为假即为假
Or :两边为假才为假,一边为真即为真。
T or f = t t or t t f or f f
B:如果步长为负,判断条件为循环变量>=终值,如果条件成立,就执行循环体,执行后循环变量按步长递减,然后再次判断条件,如果成立,再判断,直到条件为假,退出循环,到endfor后的语句。
第三节 vf数据库记录的操作
1、 表记录的基础操作
浏览当前记录或某一条记录:display
表记录定位
语法结构
Do while <条件>
循环体
End do
循环过程:首先判断条件是否成立,如果为真,就执行循环体,执行后再判断条件,如果成立再执行,直到条件为假,退出循环,到end do 语句。
2 for 循环
for 循环变量=初值 to 终值(step 步长)
循环体
Endfor
执行过程A:如果步长为正,判断条件为循环变量<=终值,如果条件成立,就执行循环体,执行后循环变量按步长递增,然后再次判断条件,如果成立,再执行,再判断,直到条件为假,退出循环,到endfor后的语句。
Where 面积>400 and 仓库.仓库号=职工.仓库号
Sele 职工号,城市 from 仓库 join 职工 on;
仓库.仓库号=职工.仓库号 where 面积>400
Sele 字段 from 表1 join 表2 on;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

KARAF读书笔记目录KARAF读书笔记 (1)一序 (2)1.1序篇感言 (2)1.2名词解释 (2)二KARAF简介 (3)2.1概念 (3)2.1.1KARAF简介 (3)2.1.2WRAPPER简介 (3)2.1.3守护进程 (4)2.1.4作用 (4)2.2环境 (4)2.2.1下载地址 (4)2.3参考资料 (4)2.3.1网络参考 (4)2.3.2书籍参考 (5)三服务化配置 (5)3.1WINDOWS系统服务化配置 (5)3.1.1手动配置 (5)3.1.2自动配置 (7)3.2LINUX系统服务化配置 (10)3.2.1手动配置 (10)3.2.2自动配置 (10)四KARAF控制台使用 (10)4.1介绍 (10)4.2SHELL模块 (11)4.2.1介绍 (11)4.2.2指令介绍 (11)五SSHD模块 (14)5.1介绍 (14)5.2SSH容器跳转 (15)5.2.1KARAF间跳转 (15)六LOG模块 (15)6.1介绍 (15)6.2KARAF.LOG (15)七KARAF其他功能介绍 (15)7.1目录结构 (15)7.2KARAF重置 (16)八KARAF子实例 (16)8.1子实例作用 (16)一序1.1 序篇感言KARAF是APACHE开源项目,是一款非常优季的OSGI容器,内部集成了很多优秀的功能,通过调研,该项目很适合用作自动化采集客户端使用……耘刈2015-12-23 1.2 名词解释名词说明备注控制台全部指在BIN目录下启动的karaf.bat打开的控制界面,下文中所有控制台都表示该界面。

二KARAF简介2.1 概念2.1.1KARAF简介Karaf是Apache旗下的一个开源项目.Karaf同时也是一个基于OSGi的运行环境,Karaf提供了一个轻量级的OSGi容器,可以用于部署各种组件,应用程序.Karaf提供了很多特性用于帮助开发者和用户更加灵活的部署应用,例如:热部署,动态配置,几种日志处理系统,本地系统集成,可编程扩展控制台,ssh远程访问,内置安装认证机制等等.同时Karaf作为一款成熟而且优秀的OSGi运行环境以及容器已经被诸多Apache项目作为基础容器,例如:Apache Geronimo, ApacheServiceMix, Fuse ESB,由此可见Karaf在性能,功能和稳定性上都是个不错的选择。

karaf是OSGI的容器实例,类似tomcat是servlet的容器实例一样。

Karaf内部还集成了很多实用功能,如:WRAPPER功能。

2.1.2WRAPPER简介JAVA SERVICE WRAPPER可以将JAVA程序包装成系统服务并以守护进程的运行方式运行服务。

简单地说就是让JAVA程序成为系统服务进程,随着系统的运行而运行。

而且WRAPPER 支持的系统非常全面,下面为它可以支持的系统:2.1.3守护进程在linux或者unix操作系统中在系统引导的时候会开启很多服务,这些服务就叫做守护进程。

为了增加灵活性,root可以选择系统开启的模式,这些模式叫做运行级别,每一种运行级别以一定的方式配置系统。

守护进程是脱离于终端并且在后台运行的进程。

守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断。

守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程。

它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。

守护进程常常在系统引导装入时启动,在系统关闭时终止。

Linux系统有很多守护进程,大多数服务都是通过守护进程实现的,同时,守护进程还能完成许多系统任务,例如,作业规划进程crond、打印进程lqd等(这里的结尾字母d就是Daemon的意思)。

由于在Linux中,每一个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端就称为这些进程的控制终端,当控制终端被关闭时,相应的进程都会自动关闭。

但是守护进程却能够突破这种限制,它从被执行开始运转,直到整个系统关闭时才退出。

如果想让某个进程不因为用户或终端或其他地变化而受到影响,那么就必须把这个进程变成一个守护进程。

2.1.4作用使用apache karaf项目做客户端容器,使用其自带的service wraper功能,把karaf包装成系统服务,并设置为守护进程,这样只要系统运行正常karaf项目就可以一直运转。

开发OSGI架构的插件项目,打成JAR包,推送到karaf项目目录下的deploy部署文件夹下,就能进行客户端采集,可以通过JAR的添加删除来达到采集端的自动化管理的目的。

2.2 环境2.2.1下载地址1:/doc/english/download.jsp2:/2.3 参考资料2.3.1网络参考1:/zcy_soft/p/3738947.html2:/article/72894043:/article/72894054:/article/72894032.3.2书籍参考1:自动化运维软件设计实战三服务化配置3.1 WINDOWS系统服务化配置3.1.1手动配置3.2.1.1 启动KARAF1、启动KARAF项目,找到KARAF下的karaf.bat文件并执行。

2、安装wrapper命令,在控制台中输入:features:install wrapper,这样就可以使用wrapper命令了。

3.2.1.2 KARAF命令介绍1、wrapper:install –-help 查看具体的帮助信息2、wrapper:install 可以把KARAF安装为服务3、wrapper:install –s AUTO_START –n KARAF –d Karaf –D ”Karaf Service” 让KARAF服务在开机时启动3.2.1.3 KARAF服务安装1、执行命令wrapper:install2、执行命令wrapper:install –s AUTO_START –n KARAF –d Karaf –D ”Karaf Service”安装KARAF SERVICE准备,执行上述命令会生成KARAF WRAPPER的配置文件,后续需对该文件进行配置,同时还给出启停以及安装和卸载KARAF服务的示例,这时APACHEKARAF的服务并没有安装,WRAPPER只是帮我们生成了用于服务安装的EXE文件。

执行结果:3、退出KARAF程序,进入控制台,执行如下语句:C:> D:\servers\itms\apache-karaf-2.3.11\bin\KARAF-service.bat install 执行服务安装命令。

出现wrapper | karaf installed表示安装成功,可以在windows服务里看到karaf服务,如下图:至此KARAF应用系统服务化已完成。

3.1.2自动配置3.2.2.1 处理方式KARAF WRAPPER安装一次后,可以直接复制到相同类型的系统上进行运行,不需要按上述步骤再次生成,但在此之前需要对前面生成的配置文件进行修改,因为时面涉及JDK、KARAF安装目录等信息,如果其JDK和KARAF_HOME目录是一样的,则无需修改配置文件。

WRAPPER.LOGFILE这个项目项,会让由WRAPPER启动的KARAF输出日志的位置和使用控制台启动的KARAF输出日志的位置不一样,可以根据需要对该参数进行配置。

到apache-karaf-2.3.11\data\log目录下,我们可以看到两个日志文件,一个是karaf.log,一个是wrapper.log这两个文件就是前面说的存放日志文件。

3.2.2.2 配置文件路径该配置文件在上述安装时产生的,其存放的路径为apache-karaf-2.3.11\etc\KARAF-wrapper.conf文件。

3.2.2.3 配置文件介绍1、WRAPPER的基础配置,主要描述JDK以及KARAF的根路径#******************************************************************** # Wrapper Properties#******************************************************************** set.default.JAVA_HOME=D:\Program Files\Java\jdk1.6.0_25set.default.KARAF_HOME=D:\servers\itms\apache-karaf-2.3.11set.default.KARAF_BASE=D:\servers\itms\apache-karaf-2.3.11set.default.KARAF_DATA=D:\servers\itms\apache-karaf-2.3.11\data2、JAVA应用#******************************************************************** # Java Application#******************************************************************** wrapper.working.dir=%KARAF_BASE%mand=%JAVA_HOME%/bin/javawrapper.java.mainclass=org.apache.karaf.shell.wrapper.Mainwrapper.java.classpath.1=%KARAF_BASE%/lib/karaf-wrapper.jarwrapper.java.classpath.2=%KARAF_HOME%/lib/karaf.jarwrapper.java.classpath.3=%KARAF_HOME%/lib/karaf-jaas-boot.jarwrapper.java.classpath.4=%KARAF_BASE%/lib/karaf-wrapper-main.jar wrapper.java.library.path.1=%KARAF_BASE%/lib/3、应用程序参数,从1开始# Application Parameters. Add parameters as needed starting from 1#wrapper.app.parameter.1=4、JVM参数,从1开始# JVM Parameters# note that n is the parameter number starting from 1.wrapper.java.additional.1=-Dkaraf.home="%KARAF_HOME%"wrapper.java.additional.2=-Dkaraf.base="%KARAF_BASE%"wrapper.java.additional.3=-Dkaraf.data="%KARAF_DATA%"wrapper.java.additional.4=-Dcom.sun.management.jmxremotewrapper.java.additional.5=-Dkaraf.startLocalConsole=falsewrapper.java.additional.6=-Dkaraf.startRemoteShell=truewrapper.java.additional.7=-Djava.endorsed.dirs="%JAVA_HOME%/jre/lib/e ndorsed;%JAVA_HOME%/lib/endorsed;%KARAF_HOME%/lib/endorsed"wrapper.java.additional.8=-Djava.ext.dirs="%JAVA_HOME%/jre/lib/ext;%J AVA_HOME%/lib/ext;%KARAF_HOME%/lib/ext"5、取消注释后启用JMX# Uncomment to enable jmx#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.port=1616#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.authenticat e=false#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.ssl=false 6、取消注释以加载自己的插件# Uncomment to enable YourKit profiling#wrapper.java.additional.n=-Xrunyjpagent7、取消注释启动远程调试# Uncomment to enable remote debugging#wrapper.java.additional.n=-Xdebug -Xnoagent piler=NONE#wrapper.java.additional.n=-Xrunjdwp:transport=dt_socket,server=y,sus pend=n,address=50058、JAVA HEAP 启动大小(MB)# Initial Java Heap Size (in MB)#wrapper.java.initmemory=39、JAVA HEAP最大值(MB)# Maximum Java Heap Size (in MB)wrapper.java.maxmemory=51210、WRAPPER的日志属性#******************************************************************** # Wrapper Logging Properties11、控制台上日志的输入格式化#******************************************************************** # Format of output for the console. (See docs for formats)wrapper.console.format=PM12、输出的日志级别# Log Level for console output. (See docs for log levels)wrapper.console.loglevel=INFO13、日志文件输出路径# Log file to use for wrapper output logging.wrapper.logfile=%KARAF_DATA%/log/wrapper.log14、日志文件输出格式# Format of output for the log file. (See docs for formats)wrapper.logfile.format=LPTM15、输出的日志文件级别# Log Level for log file output. (See docs for log levels)wrapper.logfile.loglevel=INFO16、单个日志文件最大容量# Maximum size that the log file will be allowed to grow to before# the log is rolled. Size is specified in bytes. The default value # of 0, disables log rolling. May abbreviate with the 'k' (kb) or# 'm' (mb) suffix. For example: 10m = 10 megabytes.wrapper.logfile.maxsize=10m17、日志文件最大数# Maximum number of rolled log files which will be allowed before old # files are deleted. The default value of 0 implies no limit. wrapper.logfile.maxfiles=518、是否记录日志输出时间# Log Level for sys/event log output. (See docs for log levels) wrapper.syslog.loglevel=NONE19、windows wrapper属性#******************************************************************** # Wrapper Windows Properties#******************************************************************** # Title to use when running as a consolewrapper.console.title=KARAF20、windows nt/2000/xp wrapper属性#******************************************************************** # Wrapper Windows NT/2000/XP Service Properties#******************************************************************** # WARNING - Do not modify any of these properties when an application # using this configuration file has been installed as a service.# Please uninstall the service before modifying this section. The# service can then be reinstalled.21、服务名称# Name of the service=KARAF22、服务展示名称# Display name of the servicewrapper.ntservice.displayname=Karaf23、服务描述# Description of the servicewrapper.ntservice.description=Karaf Service24、服务依赖,从1开始# Service dependencies. Add dependencies as needed starting from 1 wrapper.ntservice.dependency.1=25、服务的启动模式# Mode in which the service is installed. AUTO_START or DEMAND_START wrapper.ntservice.starttype=AUTO_START26、允许服务在桌面呈现# Allow the service to interact with the desktop.wrapper.ntservice.interactive=false3.2.2.4 服务安装3.2 LINUX系统服务化配置3.2.1手动配置3.2.2自动配置四KARAF控制台使用4.1 介绍Apache Karaf的控制台是非常有用的功能模块,具备很多实用的功能,对于JAVA采集客户端来说,其代码量比较少,而且ECLIPSE对OSGI的调试支持不是很好,不利于排错,可以在控制台里面排错,并且集成了非常有用的SHELL模块,可以用来执行KARAF内部命令、并提供了SSHD(即:SSH服务)功能。

相关文档
最新文档