首页 文章 精选 留言 我的

精选列表

搜索[测试框架],共10000篇文章
优秀的个人博客,低调大师

这里有一个AI做的测试

尽管人工智能和机器学习的技术已经存在了几十年,但直到过去几年,它才开始获得主流的认可。例如,iPhone自2011年起内置了智能助理Siri,用于理解语音。Android设备有Google Assistant 和一个名为“语音输入”的语音转文本工具,可以与谷歌文档一起使用。 Trint公司提供基于AI的软件,用于转录录制的音频,能够在几分钟内以低成本返回转录文本,正确率达到98%。 但是,转录一个政治家的言论是另外一回事。 “Trint不是一个听写软件,而是一种利用大量训练数据工作的语音转文本技术,”Trint公司CEO兼创始人Jeff Kofman说。人类是这个等式的一部分。他补充说:“Trint是一个人机混合模型:我们突破了AI技术的界限,让人类在需要的时候做最后一步工作。” 最近,Trint设立了一个挑战,目的是看看哪些著名的政治家

优秀的个人博客,低调大师

在Ubuntu上为Android系统内置Java应用程序测试Application Frameworks层的硬件服务

我们在Android系统增加硬件服务的目的是为了让应用层的APP能够通过Java接口来访问硬件服务。那么, APP如何通过Java接口来访问Application Frameworks层提供的硬件服务呢?在这一篇文章中,我们将在Android系统的应用层增加一个内置的应用程序,这个内置的应用程序通过ServiceManager接口获取指定的服务,然后通过这个服务来获得硬件服务。 一. 参照在Ubuntu上为Android系统的Application Frameworks层增加硬件访问服务一文,在Application Frameworks层定义好自己的硬件服务HelloService,并提供IHelloService接口提供访问服务。 二.为了方便开发,我们可以在IDE环境下使用Android SDK来开发Android应用程序。开发完成后,再把程序源代码移植到Android源代码工程目录中。使用Eclipse的Android插件ADT创建Android工程很方便,这里不述,可以参考网上其它资料。工程名称为Hello,下面主例出主要文件: 主程序是src/shy/luo/hello/Hello.java: packageshy.luo.hello; importshy.luo.hello.R; importandroid.app.Activity; importandroid.os.ServiceManager; importandroid.os.Bundle; importandroid.os.IHelloService; importandroid.os.RemoteException; importandroid.util.Log; importandroid.view.View; importandroid.view.View.OnClickListener; importandroid.widget.Button; importandroid.widget.EditText; publicclassHelloextendsActivityimplementsOnClickListener{ privatefinalstaticStringLOG_TAG="shy.luo.renju.Hello"; privateIHelloServicehelloService=null; privateEditTextvalueText=null; privateButtonreadButton=null; privateButtonwriteButton=null; privateButtonclearButton=null; /**Calledwhentheactivityisfirstcreated.*/ @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); helloService=IHelloService.Stub.asInterface( ServiceManager.getService("hello")); valueText=(EditText)findViewById(R.id.edit_value); readButton=(Button)findViewById(R.id.button_read); writeButton=(Button)findViewById(R.id.button_write); clearButton=(Button)findViewById(R.id.button_clear); readButton.setOnClickListener(this); writeButton.setOnClickListener(this); clearButton.setOnClickListener(this); Log.i(LOG_TAG,"HelloActivityCreated"); } @Override publicvoidonClick(Viewv){ if(v.equals(readButton)){ try{ intval=helloService.getVal(); Stringtext=String.valueOf(val); valueText.setText(text); }catch(RemoteExceptione){ Log.e(LOG_TAG,"RemoteExceptionwhilereadingvaluefromdevice."); } } elseif(v.equals(writeButton)){ try{ Stringtext=valueText.getText().toString(); intval=Integer.parseInt(text); helloService.setVal(val); }catch(RemoteExceptione){ Log.e(LOG_TAG,"RemoteExceptionwhilewritingvaluetodevice."); } } elseif(v.equals(clearButton)){ Stringtext=""; valueText.setText(text); } } } 程序通过ServiceManager.getService("hello")来获得HelloService,接着通过IHelloService.Stub.asInterface函数转换为IHelloService接口。其中,服务名字“hello”是系统启动时加载HelloService时指定的,而IHelloService接口定义在android.os.IHelloService中,具体可以参考在Ubuntu上为Android系统的Application Frameworks层增加硬件访问服务一文。这个程序提供了简单的读定自定义硬件有寄存器val的值的功能,通过IHelloService.getVal和IHelloService.setVal两个接口实现。 界面布局文件res/layout/main.xml: <?xmlversion="1.0"encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/value"> </TextView> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/edit_value" android:hint="@string/hint"> </EditText> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:gravity="center"> <Button android:id="@+id/button_read" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/read"> </Button> <Button android:id="@+id/button_write" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/write"> </Button> <Button android:id="@+id/button_clear" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/clear"> </Button> </LinearLayout> </LinearLayout> 字符串文件res/values/strings.xml: <?xmlversion="1.0"encoding="utf-8"?> <resources> <stringname="app_name">Hello</string> <stringname="value">Value</string> <stringname="hint">Pleaseinputavalue...</string> <stringname="read">Read</string> <stringname="write">Write</string> <stringname="clear">Clear</string> </resources> 程序描述文件AndroidManifest.xml: <?xmlversion="1.0"encoding="utf-8"?> <manifestxmlns:android="http://schemas.android.com/apk/res/android" package="shy.luo.hello" android:versionCode="1" android:versionName="1.0"> <applicationandroid:icon="@drawable/icon"android:label="@string/app_name"> <activityandroid:name=".Hello" android:label="@string/app_name"> <intent-filter> <actionandroid:name="android.intent.action.MAIN"/> <categoryandroid:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> </manifest> 三. 将Hello目录拷贝至packages/experimental目录,新增Android.mk文件: USER-NAME@MACHINE-NAME:~/Android/packages/experimental$ vi Android.mkAndroid.mk的文件内容如下: LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-subdir-java-files) LOCAL_PACKAGE_NAME := Hello include $(BUILD_PACKAGE) 四. 编译: USER-NAME@MACHINE-NAME:~/Android$ mmm packages/experimental/Hello 编译成功后,便可以在out/target/product/generic/system/app目录下看到Hello.apk文件了。 五. 重新打包系统镜像文件system.img: USER-NAME@MACHINE-NAME:~/Android$ make snod 重新打包后的system.img文件就内置了Hello.apk文件了。 六. 运行Android模拟器: USER-NAME@MACHINE-NAME:~/Android$ emulator -kernel kernel/common/arch/arm/boot/zImage & 在Home Screen中可以看到Hello应用程序: 打开Hello应用程序: 点击Read按钮,可以从HelloService中读取硬件寄存器val的值;点击Clear按钮,可以清空文本框的值;在文本框中输入一个数值,再点击Write按钮,便可以将这个值写入到硬件寄存器val中去,可以再次点击Read按钮来验证是否正确写入了值。 至此,我们就完整地学习了在Android的Linux内核空间添加硬件驱动程序、在Android的硬件抽象层添加硬件接口、在Android的Application Frameworks层提供硬件服务以及在Android的应用层调用硬件服务的整个过程了,希望能为读者进入Android系统提供入门帮助。重新学习整个过程,请参考 Android硬件抽象层(HAL)概要介绍和学习计划。 本文转自 Luoshengyang 51CTO博客,原文链接:http://blog.51cto.com/shyluo/964507,如需转载请自行联系原作者

优秀的个人博客,低调大师

2007年1月4日测试在额外域控制器上夺取FSMO笔记

1.环境说明: 公司Test.com(虚拟)有一台主域控制器imss.test.com(系统为windows2003 server),还有一台额外域控制器server.test.com(系统为windows 2000 server)。现主域控制器(imss.test.com)由于硬件故障突然损坏,事先又没有imss.test.com的系统状态备份,没办法通过备份修复主域控制器(imss.test.com),我们怎么让额外域控制器(server.test.com)替代主域控制器,使Acitvie Directory继续正常运行. 2.从AD中清除主域控制器imss.test.com对象,操作如下: Microsoft Windows 2000 [Version 5.00.2195] (C) 版权所有 1985-2000 Microsoft Corp. C:\Documents and Settings\Administrator.TEST>cd \ C:\>cd c:\program files\support tools C:\Program Files\Support Tools>ntdsutil ntdsutil: ntdsutil: meta cle metadata cleanup: metadata cleanup: sel op ta select operation target: select operation target: con server connections: server connections: con to dom test.com 绑定到\\server.test.com... 用本登录的用户的凭证连接\\server.test.comserver connections: server connections: quit select operation target: select operation target: list sites 找到 1 站点 0 - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=com select operation target: sel sit 0 站点 - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=com 没有当前域 没有当前服务器 当前的命名上下文 select operation target: list dom in sit 找到 1 域 0 - DC=test,DC=com select operation target: sel dom 0 站点 - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=com 域 - DC=test,DC=com 没有当前服务器 当前的命名上下文 select operation target: list ser in site 找到 2 服务器 0 - CN=IMSS,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=t est,DC=com 1 - CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC =test,DC=com select operation target: sel ser 0 站点 - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=com 域 - DC=test,DC=com 服务器 - CN=IMSS,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration ,DC=test,DC=com DSA 对象 - CN=NTDS Settings,CN=IMSS,CN=Servers,CN=Default-First-Site-Nam e,CN=Sites,CN=Configuration,DC=test,DC=com DNS 主机名称 - IMSS.test.com 计算机对象 - CN=IMSS,OU=Domain Controllers,DC=test,DC=com 当前的命名上下文 select operation target: select operation target: quit metadata cleanup: metadata cleanup: rem sel ser “CN=IMSS,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=tes t,DC=com”删除了,从服务器“\\server.test.com” metadata cleanup: metadata cleanup: quit ntdsutil: ? ntdsutil: quit 从\\server.test.com断开... C:\Program Files\Support Tools> 删除之前的信息后,下面我们来进行夺取五个FSMO,方面如下: Microsoft Windows 2000 [Version 5.00.2195] (C) 版权所有 1985-2000 Microsoft Corp. C:\Documents and Settings\Administrator.TEST>cd \ C:\>cd c:\program files\support tools C:\Program Files\Support Tools>ntdsutil ntdsutil: ntdsutil: roles fsmo maintenance: ? ? - 打印这个帮助信息 Connections - 连接到一个特定域控制器 Help - 打印这个帮助信息 Quit - 返回到上一个菜单 Seize domain naming master - 在已连接的服务器上改写域角色 Seize infrastructure master - 在已连接的服务器上改写结构角色 Seize PDC - 在已连接的服务器上改写 PDC 角色 Seize RID master - 在已连接的服务器上改写 RID 角色 Seize schema master - 在已连接的服务器上改写架构角色 Select operation target - 选择的站点,服务器,域,角色和命名上下文 Transfer domain naming master - 将已连接的服务器定为域命名主机 Transfer infrastructure master - 将已连接的服务器定为结构主机 Transfer PDC - 将已连接的服务器定为 PDC Transfer RID master - 将已连接的服务器定为 RID 主机 Transfer schema master - 将已连接的服务器定为架构主机 fsmo maintenance: con server connections: server connections: connect to domain test.com 绑定到\\server.test.com... 用本登录的用户的凭证连接\\server.test.comserver connections: server connections: quit fsmo maintenance: fsmo maintenance: seize domain naming master 在索取之前尝试安全传送 domain naming FSMO。 ldap_modify_sW 错误 0x34(52 (没有). Ldap 扩展的错误消息为 000020AF: SvcErr: DSID-03210211, problem 5002 (UNAVAILABL ), data 8 返回的 Win32 错误为 0x20af(请求的 FSMO 操作失败。不能连接当前的 FSMO 盒。) ) 根据错误编码这可能表示连接 ldap, 或角色传送错误。 domain naming FSMO 的传送失败,用索取继续 ... 服务器 "\\server.test.com" 知道有关 5 作用 架构 - CN="NTDS Settings DEL:3bd2f630-e9c1-4fa2-8c10-5f87f5ebcf25",CN=IMSS,CN=Servers,CN=Default-First-S te-Name,CN=Sites,CN=Configuration,DC=test,DC=com 域 - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites, N=Configuration,DC=test,DC=com PDC - CN="NTDS Settings DEL:3bd2f630-e9c1-4fa2-8c10-5f87f5ebcf25",CN=IMSS,CN=Servers,CN=Default-First-S te-Name,CN=Sites,CN=Configuration,DC=test,DC=com RID - CN="NTDS Settings DEL:3bd2f630-e9c1-4fa2-8c10-5f87f5ebcf25",CN=IMSS,CN=Servers,CN=Default-First-S te-Name,CN=Sites,CN=Configuration,DC=test,DC=com 结构 - CN="NTDS Settings DEL:3bd2f630-e9c1-4fa2-8c10-5f87f5ebcf25",CN=IMSS,CN=Servers,CN=Default-First-S te-Name,CN=Sites,CN=Configuration,DC=test,DC=com fsmo maintenance: seize domain naming master 在索取之前尝试安全传送 domain naming FSMO。 FSMO 传送成功 - 不需要索取。 服务器 "\\server.test.com" 知道有关 5 作用 架构 - CN="NTDS Settings DEL:3bd2f630-e9c1-4fa2-8c10-5f87f5ebcf25",CN=IMSS,CN=Servers,CN=Default-First-S te-Name,CN=Sites,CN=Configuration,DC=test,DC=com 域 - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites, N=Configuration,DC=test,DC=com PDC - CN="NTDS Settings DEL:3bd2f630-e9c1-4fa2-8c10-5f87f5ebcf25",CN=IMSS,CN=Servers,CN=Default-First-S te-Name,CN=Sites,CN=Configuration,DC=test,DC=com RID - CN="NTDS Settings DEL:3bd2f630-e9c1-4fa2-8c10-5f87f5ebcf25",CN=IMSS,CN=Servers,CN=Default-First-S te-Name,CN=Sites,CN=Configuration,DC=test,DC=com 结构 - CN="NTDS Settings DEL:3bd2f630-e9c1-4fa2-8c10-5f87f5ebcf25",CN=IMSS,CN=Servers,CN=Default-First-S te-Name,CN=Sites,CN=Configuration,DC=test,DC=com fsmo maintenance: fsmo maintenance: seize infrastructure master 在索取之前尝试安全传送 infrastructure FSMO。 ldap_modify_sW 错误 0x34(52 (没有). Ldap 扩展的错误消息为 000020AF: SvcErr: DSID-03210211, problem 5002 (UNAVAILAB ), data 8 返回的 Win32 错误为 0x20af(请求的 FSMO 操作失败。不能连接当前的 FSMO 盒。) ) 根据错误编码这可能表示连接 ldap, 或角色传送错误。 infrastructure FSMO 的传送失败,用索取继续 ... 服务器 "\\server.test.com" 知道有关 5 作用 架构 - CN="NTDS Settings DEL:3bd2f630-e9c1-4fa2-8c10-5f87f5ebcf25",CN=IMSS,CN=Servers,CN=Default-First-S te-Name,CN=Sites,CN=Configuration,DC=test,DC=com 域 - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites, N=Configuration,DC=test,DC=com PDC - CN="NTDS Settings DEL:3bd2f630-e9c1-4fa2-8c10-5f87f5ebcf25",CN=IMSS,CN=Servers,CN=Default-First-S te-Name,CN=Sites,CN=Configuration,DC=test,DC=com RID - CN="NTDS Settings DEL:3bd2f630-e9c1-4fa2-8c10-5f87f5ebcf25",CN=IMSS,CN=Servers,CN=Default-First-S te-Name,CN=Sites,CN=Configuration,DC=test,DC=com 结构 - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Site ,CN=Configuration,DC=test,DC=com fsmo maintenance: seize infrastructure master 在索取之前尝试安全传送 infrastructure FSMO。 FSMO 传送成功 - 不需要索取。 服务器 "\\server.test.com" 知道有关 5 作用 架构 - CN="NTDS Settings DEL:3bd2f630-e9c1-4fa2-8c10-5f87f5ebcf25",CN=IMSS,CN=Servers,CN=Default-First-S te-Name,CN=Sites,CN=Configuration,DC=test,DC=com 域 - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites, N=Configuration,DC=test,DC=com PDC - CN="NTDS Settings DEL:3bd2f630-e9c1-4fa2-8c10-5f87f5ebcf25",CN=IMSS,CN=Servers,CN=Default-First-S te-Name,CN=Sites,CN=Configuration,DC=test,DC=com RID - CN="NTDS Settings DEL:3bd2f630-e9c1-4fa2-8c10-5f87f5ebcf25",CN=IMSS,CN=Servers,CN=Default-First-S te-Name,CN=Sites,CN=Configuration,DC=test,DC=com 结构 - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Site ,CN=Configuration,DC=test,DC=com fsmo maintenance: fsmo maintenance: seize pdc 删除操作 fsmo maintenance: seize pdc 在索取之前尝试安全传送 PDC FSMO。 ldap_modify_sW 错误 0x34(52 (没有). Ldap 扩展的错误消息为 000020AF: SvcErr: DSID-032103C0, problem 5002 (UNAVAILABL ), data 8 返回的 Win32 错误为 0x20af(请求的 FSMO 操作失败。不能连接当前的 FSMO 盒。) ) 根据错误编码这可能表示连接 ldap, 或角色传送错误。 PDC FSMO 的传送失败,用索取继续 ... 服务器 "\\server.test.com" 知道有关 5 作用 架构 - CN="NTDS Settings DEL:3bd2f630-e9c1-4fa2-8c10-5f87f5ebcf25",CN=IMSS,CN=Servers,CN=Default-First-S te-Name,CN=Sites,CN=Configuration,DC=test,DC=com 域 - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites, N=Configuration,DC=test,DC=com PDC - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites CN=Configuration,DC=test,DC=com RID - CN="NTDS Settings DEL:3bd2f630-e9c1-4fa2-8c10-5f87f5ebcf25",CN=IMSS,CN=Servers,CN=Default-First-S te-Name,CN=Sites,CN=Configuration,DC=test,DC=com 结构 - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Site ,CN=Configuration,DC=test,DC=com fsmo maintenance: seize pdc 在索取之前尝试安全传送 PDC FSMO。 FSMO 传送成功 - 不需要索取。 服务器 "\\server.test.com" 知道有关 5 作用 架构 - CN="NTDS Settings DEL:3bd2f630-e9c1-4fa2-8c10-5f87f5ebcf25",CN=IMSS,CN=Servers,CN=Default-First-S te-Name,CN=Sites,CN=Configuration,DC=test,DC=com 域 - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites, N=Configuration,DC=test,DC=com PDC - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites CN=Configuration,DC=test,DC=com RID - CN="NTDS Settings DEL:3bd2f630-e9c1-4fa2-8c10-5f87f5ebcf25",CN=IMSS,CN=Servers,CN=Default-First-S te-Name,CN=Sites,CN=Configuration,DC=test,DC=com 结构 - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Site ,CN=Configuration,DC=test,DC=com fsmo maintenance: fsmo maintenance: seize rid master 在索取之前尝试安全传送 RID FSMO。 ldap_modify_sW 错误 0x34(52 (没有). Ldap 扩展的错误消息为 000020AF: SvcErr: DSID-0321066E, problem 5002 (UNAVAILABL ), data 8 返回的 Win32 错误为 0x20af(请求的 FSMO 操作失败。不能连接当前的 FSMO 盒。) ) 根据错误编码这可能表示连接 ldap, 或角色传送错误。 RID FSMO 的传送失败,用索取继续 ... ldap_search 属性 objectGuid 失败,错误为 0x20(32 (无此对象). Ldap 扩展的错误消息为 0000208D: NameErr: DSID-031001BD, problem 2001 (NO_OBJECT , data 0, best match of: 'CN=NTDS Settings\ DEL:3bd2f630-e9c1-4fa2-8c10-5f87f5ebcf25,CN=IMSS,CN=Servers,CN=Default-First-Si e-Name,CN=Sites,CN=Configuration,DC=test,DC=com' 返回的 Win32 错误为 0x208d(没有找到目录对象。) 无法读取上一个 RID 管理器的 GUID 将服务器\\server.test.com与其邻居同步 这个操作要花几分钟 ....失败。 服务器 "\\server.test.com" 知道有关 5 作用 架构 - CN="NTDS Settings DEL:3bd2f630-e9c1-4fa2-8c10-5f87f5ebcf25",CN=IMSS,CN=Servers,CN=Default-First-S te-Name,CN=Sites,CN=Configuration,DC=test,DC=com 域 - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites, N=Configuration,DC=test,DC=com PDC - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites CN=Configuration,DC=test,DC=com RID - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites CN=Configuration,DC=test,DC=com 结构 - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Site ,CN=Configuration,DC=test,DC=com fsmo maintenance: fsmo maintenance: seize schema master 在索取之前尝试安全传送 schema FSMO。 ldap_modify_sW 错误 0x34(52 (没有). Ldap 扩展的错误消息为 000020AF: SvcErr: DSID-03210211, problem 5002 (UNAVAILABL ), data 8 返回的 Win32 错误为 0x20af(请求的 FSMO 操作失败。不能连接当前的 FSMO 盒。) ) 根据错误编码这可能表示连接 ldap, 或角色传送错误。 schema FSMO 的传送失败,用索取继续 ... 服务器 "\\server.test.com" 知道有关 5 作用 架构 - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Site ,CN=Configuration,DC=test,DC=com 域 - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites, N=Configuration,DC=test,DC=com PDC - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites CN=Configuration,DC=test,DC=com RID - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites CN=Configuration,DC=test,DC=com 结构 - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Site ,CN=Configuration,DC=test,DC=com fsmo maintenance: seize schema master 在索取之前尝试安全传送 schema FSMO。 FSMO 传送成功 - 不需要索取。 服务器 "\\server.test.com" 知道有关 5 作用 架构 - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Site ,CN=Configuration,DC=test,DC=com 域 - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites, N=Configuration,DC=test,DC=com PDC - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites CN=Configuration,DC=test,DC=com RID - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Sites CN=Configuration,DC=test,DC=com 结构 - CN=NTDS Settings,CN=SERVER,CN=Servers,CN=Default-First-Site-Name,CN=Site ,CN=Configuration,DC=test,DC=com fsmo maintenance: quit ntdsutil: quit 从\\server.test.com断开... C:\Program Files\Support Tools> 在做以上操作时,会出现提示对话框,都点击是即可!使用netdom query fsmo可以看到迁移的结果:如下: 设置额外控制(server.test.com)为GC(全局编录) 打开Administrative Tools中的Active Directory Sites and Services,展开Sites,展开Default- First-Site-Name,展开Servers,展开DC-02.test.com(额外控制器),右击NTDS Settings选择 Properties,然后在"Global Catalog"前面打勾,单击"确定"按钮,然后重新启动服务器 Microsoft Windows 2000 [Version 5.00.2195] (C) 版权所有 1985-2000 Microsoft Corp. C:\Documents and Settings\Administrator.TEST>cd \ C:\>cd c:\program files C:\Program Files>cd support tools C:\Program Files\Support Tools>netdom query fsmo Schema owner server.test.com Domain role owner server.test.com PDC role server.test.com RID pool manager server.test.com Infrastructure owner server.test.com The command completed successfully. C:\Program Files\Support Tools> 然后使用ADSI EDIT工具进行清除相关信息,参考如下:(在support tools包里面) 使用ADSI EDIT工具删除Active Directory users and computers中的Domain controllers中IMSS服务器对象,打开ADSI EDIT工具,展开Domain NC[server.test.com],展开OU=Domain controllers,右击CN=imss,然后选择Delete,把imss服务器对象删除;(见下图) 在Active Directory Sites and Service中删除imss服务器对象打开Administrative tools中的Active Directory Sites and Service,展开Sites,展开Default-First-Site-Name,展开Servers,右imss,选择Delete,单击Yes按钮(见下图) 注:但是有一点不明白,为什么我在夺取角色时,第一次都是不成功,再执行一次就成功了。如果各位网 上朋友们,有知道的,请回复,小弟godoha不胜感激!先谢过! 本文转自godoha51CTO博客,原文链接:http://blog.51cto.com/godoha/21213,如需转载请自行联系原作者

优秀的个人博客,低调大师

在Ubuntu上为Android系统内置C可执行程序测试Linux内核驱动程序

在前一篇文章中,我们介绍了如何在Ubuntu上为Android系统编写Linux内核驱动程序。在这个名为hello的Linux内核驱动程序中,创建三个不同的文件节点来供用户空间访问,分别是传统的设备文件/dev/hello、proc系统文件/proc/hello和devfs系统属性文件/sys/class/hello/hello/val。进一步,还通过cat命令来直接访问/proc/hello和/sys/class/hello/hello/val文件来,以验证驱动程序的正确性。在这一篇文章里,我们将通过自己编写的C可执行程序来访问设备文件/dev/hello。可能读者会觉得奇怪,怎么能在Android系统中用C语言来编写应用程序呢?Android系统上的应用程序不都是Java应用程序吗?其实是可以的,读者不妨用adb shell命令连上Android模拟器,在/system/bin目录下可以看到很多C可执行程序,如cat命令。今天,我们就来学习一下怎么在Android系统中添加用C语言编写的可执行程序吧。 一. 参照在Ubuntu上为Android系统编写Linux内核驱动程序一文,准备好Linux驱动程序。使用Android模拟器加载包含这个Linux驱动程序的内核文件,并且使用adb shell命令连接上模拟,验证在/dev目录中存在设备文件hello。 二. 进入到Android源代码工程的external目录,创建hello目录: USER-NAME@MACHINE-NAME:~/Android$ cd external USER-NAME@MACHINE-NAME:~/Android/external$ mkdir hello 三.在hello目录中新建hello.c文件: #include<stdio.h> #include<stdlib.h> #include<fcntl.h> #defineDEVICE_NAME"/dev/hello" intmain(intargc,char**argv) { intfd=-1; intval=0; fd=open(DEVICE_NAME,O_RDWR); if(fd==-1){ printf("Failedtoopendevice%s.\n",DEVICE_NAME); return-1; } printf("Readoriginalvalue:\n"); read(fd,&val,sizeof(val)); printf("%d.\n\n",val); val=5; printf("Writevalue%dto%s.\n\n",val,DEVICE_NAME); write(fd,&val,sizeof(val)); printf("Readthevalueagain:\n"); read(fd,&val,sizeof(val)); printf("%d.\n\n",val); close(fd); return0; } 这个程序的作用中,打开/dev/hello文件,然后先读出/dev/hello文件中的值,接着写入值5到/dev/hello中去,最后再次读出/dev/hello文件中的值,看看是否是我们刚才写入的值5。从/dev/hello文件读写的值实际上就是我们虚拟的硬件的寄存器val的值。 四. 在hello目录中新建Android.mk文件: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_MODULE := hello LOCAL_SRC_FILES := $(call all-subdir-c-files) include $(BUILD_EXECUTABLE) 注意,BUILD_EXECUTABLE表示我们要编译的是可执行程序。 五. 参照如何单独编译Android源代码中的模块一文,使用mmm命令进行编译: USER-NAME@MACHINE-NAME:~/Android$ mmm ./external/hello 编译成功后,就可以在out/target/product/gerneric/system/bin目录下,看到可执行文件hello了。 六. 重新打包Android系统文件system.img: USER-NAME@MACHINE-NAME:~/Android$ make snod 这样,重新打包后的system.img文件就包含刚才编译好的hello可执行文件了。 七. 运行模拟器,使用/system/bin/hello可执行程序来访问Linux内核驱动程序: USER-NAME@MACHINE-NAME:~/Android$ emulator -kernel ./kernel/common/arch/arm/boot/zImage & USER-NAME@MACHINE-NAME:~/Android$ adb shell root@android:/ # cd system/bin root@android:/system/bin # ./hello Read the original value: 0. Write value 5 to /dev/hello. Read the value again: 5. 看到这个结果,就说我们编写的C可执行程序可以访问我们编写的Linux内核驱动程序了。 介绍完了如何使用C语言编写的可执行程序来访问我们的Linux内核驱动程序,读者可能会问,能不能在Android的Application Frameworks提供Java接口来访问Linux内核驱动程序呢?可以的,接下来的几篇文章中,我们将介绍如何在Android的Application Frameworks中,增加Java接口来访问Linux内核驱动程序,敬请期待。 本文转自 Luoshengyang 51CTO博客,原文链接:http://blog.51cto.com/shyluo/964500,如需转载请自行联系原作者

优秀的个人博客,低调大师

一脸懵逼学习Hadoop-HA机制(以及HA机制的配置文件,测试)

1:能否让两个NameNode都正常影响客户端请求? 应该让两个NameNode节点在某个时间只能有一个节点正常影响客户端请求,相应请求的必须为Active状态的那一台。 2:standBy状态的节点必须能够快速无缝的切换为active状态: 意味着两个NameNode必须时刻保持元数据的一致; 3:HA机制,元数据共享存储,数据同步的问题: 分布式应用:管理edits(同步数据) qjoural:依赖zookeeper实现 4:如何避免状态切换时候发生brain split现象: fencing:一是ssh发送kill指令,二是执行自定义shell脚本 5:hadoop分布式集群HA模式部署,三台机器跑集群: 第一台机器:Zookeeper1 NameNode1 zkfc1 journalnode1 第二台机器:Zookeeper2 NameNode2 zkfc2 journalnode2 第三台机器:Zookeeper3 journalnode3 dataNode16:hadoop分布式集群HA模式部署,七台机器跑集群: 第一台机器:namenode zkfc 第二台机器:namenode zkfc 第三台机器:resourcemanager 第四台机器:resourcemanager 第五台机器:zookeeper journalnode dataNode nodemanager 第六台机器:zookeeper journalnode dataNode nodemanager 第七台机器:zookeeper journalnode dataNode nodemanager

优秀的个人博客,低调大师

iOS: 删除真机测试的Provisioning Profile后,在Code Singing中出现entitlements.plist文件...

问题主题:method to The entitlements specified in your application’s Code Signing Entitlements file do not mat 问题描述:Error:The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile. (0xE8008016) 解决办法: method 1:delete value of Code Signing Entitlements in Build Settings 方法一:删除项目中Build Settings下的Code Signing里面的值method 2:in Capaticities, turn on App Groups 方法二:在项目中的Capaticities中,打开App Groups 程序猿神奇的手,每时每刻,这双手都在改变着世界的交互方式! 本文转自当天真遇到现实博客园博客,原文链接:http://www.cnblogs.com/XYQ-208910/p/5592155.html ,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册