首页 文章 精选 留言 我的

精选列表

搜索[水平可扩展],共10000篇文章
优秀的个人博客,低调大师

制作可独立分发的Android模拟器

如果我们编写了一个Android应用程序,想在一台没有Android SDK或者BUILD环境的机器显示给别人看,应该怎么办呢?通常,我们开发Android应用程序的时候,都是使用模拟器来运行程序,要么是SDK环境下,要么是在源代码BUILD环境下使用。在SDK环境下,结合Eclipse和ADT,使用模拟器很方便,而BUILD环境下,也是很简单地使用emulator命令就可以了,具体可以参考在Ubuntu上下载、编译和安装Android最新源代码一文。这篇文章介绍另外一种方法在Windows下环境下使用Android模拟器,它不依赖于SDK或者BUILD环境,可以独立分发和使用。 要运行Android模拟器emulator,只要具备4个系统镜像就可以了,分别是system.img、userdata.img、ramdisk.img和kernel-qemu,这4个文件均可以在从SDK环境中得到,此外,最好还要添加模拟器皮肤和adb工具,这样功能才算完整。以下介绍具体制方法。 一. 下载Android SDK。官方下载http://dl.google.com/android/android-sdk_rXX-windows.zip,XX是指你要下载的版本号,例如我下载的是08。此链接可能已经被和谐,,可以在网上搜索一下,用其它办法下载。下载好之后,运行SDK Manager工具,下载完整的SDK。假设SDK放在D:\android-sdk-windows目录下。 二. 新建一个目录,例如,在D盘下新建目录D:\AndroidEmulator。进入到D:\android-sdk-windows\tools目录下,将emulator.exe拷拷贝到D:\AndroidEmulator中,同时进入到D:\android-sdk-windows\platform-tools目录下,拷贝adb.exe和AdbWinApi.dll两个文件到D:\AndroidEmulator中。注意,有的SDK把adb.exe和AdbWinApi.dll放在D:\android-sdk-windows\tools目录下。 三. 在D:\AndroidEmulator新建目录images,用来存放上面提到的4个系统镜像。例如要制作Android2.1模拟器,则到D:\android-sdk-windows\platforms\android-7\images目录下,把里面的文件全部拷贝到D:\AndroidEmulator\images目录下,D:\android-sdk-windows\platforms\android-7\images目录包含了system.img、userdata.img、ramdisk.img和kernel-qemu这4个文件。 四.在D:\AndroidEmulator新建目录skins,用来存放模拟器皮肤文件。继续以制作Android2.1模拟器为例,到D:\android-sdk-windows\platforms\android-7\skins目录下,把里面所有的文件夹拷贝到D:\AndroidEmulator\skins目录下,D:\android-sdk-windows\platforms\android-7\skins目录包含了模拟器皮肤文件。 五. 启动命令行窗口,进入到D:\AndroidEmulator目录,执行以下命令: D:\AndroidEmulator>start /b emulator.exe -sysdir d:\AndroidEmulator -system images\system.img -data images\userdata.img -ramdisk images\ramdisk.img -kernel images\kernel-qemu -skindir d:\AndroidEmulator\skins -skin HVGA start /b表示在后台运行emulator,其它emulator命令选项请执行emulator -help查看。这样,模拟器就运起来了。 六. 如果要在模拟器上安装APK程序,则执行adb install XXX.apk命令,运行adb install命令时,如果遇到下面输出: D:\AndroidEmulator>adb install Renju.apk * daemon not running. starting it now on port 5037 * * daemon started successfully * error: device offline 不用理会,重新运行,直到提示成功为止。 这样,如果我们编写了一个Android应用程序,想拿到一台没有Android SDK和Android Build环境的机器上显示给别人看,就可以打包D:\AndroidEmulator这个文件夹,再带上你的Android应用程序,就可以显示了,是不是很方便呢。 附我自己制作的一个Android2.1模拟器,可以下载使用: 程序员联合开发网:http://www.pudn.com/downloads367/sourcecode/comm/android/detail1590288.html 新浪爱问:Part-1:http://ishare.iask.sina.com.cn/f/16902616.html Part-2:http://ishare.iask.sina.com.cn/f/16902614.html 本文转自 Luoshengyang 51CTO博客,原文链接:http://blog.51cto.com/shyluo/964510,如需转载请自行联系原作者

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

隐马尔可夫模型的Viterbi解码算法

前言 前面在做自然语言处理时涉及到一些词性标注的工作,一般会使用隐马尔科夫模型(HMM)来实现词性标注,而HMM模型的解码实现算法一般就会使用Viterbi算法。 关于穷举法 HMM模型有多种应用,这里说的是其中一个常见应用,即根据观察序列找到最可能的隐含状态序列。最朴素的想法就是直接穷举所有可能的隐含状态序列,并计算出每个组合成的状态序列的概率,概率最大的那个组合序列即是最可能的隐含状态序列。举个水藻和天气的例子,穷举出所有可能的隐含状态序列的概率,如下, P(dry,damp,soggy | sunny,sunny,sunny), P(dry,damp,soggy | sunny,sunny,cloudy), P(dry,damp,soggy | sunny,sunny,rainy), … . P(dry,damp,soggy | rainy,rainy,rainy),最大值对应的序列即为最可能的隐含状态序列。穷举的路径一共有3t条,可以看到随着序列还有状态数的增加,计算量是非常大的。 Viterbi算法 上面的穷举法需要的计算量很大,为减少复杂度引入Viterbi算法,Viterbi算法要解决的解码问题就是多步且每步多重选择的最优选择的问题。根据下图就能很清晰看到Viterbi的核心思想,随着时刻增加,每个节点都保存了前一时刻所有节点到该节点的最优值的子路径,如图中红色箭头,当前时刻的某一节点可能的路径为上一时刻所有节点到该节点的路径,但我们只保留其中一条最优路径。依次计算完所有步后,最后通过回溯的方法得到整个过程的最优路径。 下面用一个例子说明整个过程,假设有3中状态,序列为t个时刻,p(a1)表示a1节点的值,p(b1)表示b1节点的值,同理其他的节点也一样。对于不同时刻,状态之间的转换概率是不变的,所以p(aa)表示从a状态转移到a状态的概率,不管是从1时刻到2时刻,还是从2时刻到3时刻,都是相同的。同理还有p(ab)、p(ac)、p(ba)…。 t+1时刻节点值的计算公式为pt+1(y)=pt(x)p(xy)其中x,y都属于a,b,c一种状态。 我们计算t=2时刻的p(a)的值,它可能从a1到a2、b1到a2或c1到a2,假如a1到a2这条路径计算出来的p(a)最大,那么就保留该路径。同理分别计算p(b)和p(c)的最大值,保留b1到b2的路径,b1到c2的路径。接着计算t=3时刻的p(a)、p(b)和p(c),最后到达t时刻,计算该时刻最大的p(a)、p(b)和p(c),选择出它们最大的值的节点,再根据保留的上一时刻的路径依次往前回溯,就得到最优的序列。比如ct是最大的节点,那就是ct>ct−1>...>b3>c2>b1即最可能的序列为bcb…cc。 ========广告时间======== 鄙人的新书《Tomcat内核设计剖析》已经在京东销售了,有需要的朋友可以到 https://item.jd.com/12185360.html 进行预定。感谢各位朋友。 为什么写《Tomcat内核设计剖析》 ========================= 欢迎关注:

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

AI与物联网结合可引发科技巨变

编者按:本文作者Koshin Mariano在物联网行业有丰富的从业经验。 上周,微软和 Facebook发布了聊天机器人;Google 推出分布式深度学习系统 TensorFlow;Slack 慢慢变成了企业聊天机器人的场所。很多科技媒体网站上大部分都是关于 bot 的文章。大家对物联网(IoT)的宣传频率不断下降,取而代之的是人工智能。Product Hunt 上科技类别中很多热门的新产品都是 bot。 我之前就意识到 AI 与物联网的结合可以引起科技行业的巨变,会从根本上改变社会。公司可以创建 “智能自动化代理”(我个人命名的),AI 可以对现实世界作出反应,并对现实世界中的事情产生影响。 物联网是迈向普适计算的重要一步 目前,关于物联网的大量话题主要围绕可以和互联网连接的产品。烤面包机、牙刷、无人机、传感器和树莓π等。之前,我在一家物联网平台上班,我意识到产品并不是最重要的,而将两个不应该相互作用的产品实现交互,并能自动控制两件产品交互的网络效应是最重要的。 物联网让我们朝普适计算的方向更近了一步。普适计算强调和环境融为一体的计算,而计算机本身则从人们的视线里消失。在普适计算的模式下,人们能够在任何时间、任何地点、以任何方式进行信息的获取与处理。 举个例子:自动驾驶汽车可以利用 Waze 之类的应用程序,获取交通流量信息,然后自动实时规划路线,将你送到目的地。汽车可以观察其他车辆、交通事故、接收新闻和交通状况。 核电站会根据需求监测并调整它所输出的能量,然后进行数据分析,定期维护,这样就不会出现核事故。 自我诊断软件系统可以检查出现错误的应用程序日志,然后在没有人参与的情况下自动修复。 让我们以前面提到的核电站场景为例,除了智能检测、控制所需要的输出量之外,我们也可以增添一种新的功能,如果系统出现了错误,可以作出反应。在这个案例中,我们想让它在过热的时候自动关闭。下面的图片是一个简单的流程图。 安装和工作流 将热传感器和反应器和物联网平台相连。 设定自动化操作,每隔一定时间手机反应器的温度数据(例如每秒、每分、每小时。等) 步骤 2 中设定的自动化操会作将数据发送到我们选择的数据存储区(如 Splunk、ElasticSearch、Hadoop 之类的关系数据库或大数据存储区)。 AI 运行机器学习算法,培训自己对反应器正常操作温度的认知。 设置危急时刻反应器关闭自动化操作,在危急时刻,AI 可以触发关闭反应器。 AI 会不断地将目前在数据存储区读取的传感器数据传递给用于系统故障检测机器学习算法,检测温度是否过高。 一旦检测到异常,立刻自动触发反应器,并将通知发送到操作人员、监察人员和工程师团队。 我们可以在不同的领域和行业使用 AI 和物联网。我们可以监测金融行业的欺诈行为,远程监督患者,等等。不管我们是否做好了准备,AI 都将改变我们的未来。 本文转自d1net(转载)

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

MySQL推出Applier,可实时复制数据到Hadoop

http://labs.mysql.com MySQL复制操作可以将数据从一个MySQL服务器(主)复制到其他的一个或多个MySQL服务器(从)。试想一下,如果从服务器不再局限为一个MySQL服务器,而是其他任何数据库服务器或平台,并且复制事件要求实时进行,是否可以实现呢? MySQL团队最新推出的 MySQL Applier for Hadoop (以下简称Hadoop Applier)旨在解决这一问题。 用途 例如,复制事件中的从服务器可能是一个数据仓库系统,如 Apache Hive ,它使用Hadoop分布式文件系统( HDFS )作为数据存储区。如果你有一个与HDFS相关的Hive元存储,Hadoop Applier就可以实时填充Hive数据表。数据是从MySQL中以文本文件形式导出到HDFS,然后再填充到Hive。 操作很简单,只需在Hive运行HiveQL语句'CREATE TABLE',定义表的结构与MySQL相似,然后运行Hadoop Applier即可开始实时复制数据。 优势 在Hadoop Applier之前,还没有任何工具可以执行实时传输。之前的解决方案是通过Apache Sqoop导出数据到HDFS,尽管可以批量传输,但是需要经常将结果重复导入以保持数据更新。在进行大量数据传输时,其他查询会变得很慢。且在数据库较大的情况下,如果只进行了一点更改,Sqoop可能也需要较长时间来加载。 而 Hadoop Applier则会读取二进制日志,只应用MySQL服务器上发生的事件,并插入数据,不需要批量传输,操作更快 ,因此并不影响其他查询的执行速度。 实现 Applier使用一个由libhdfs(用于操作HDFS中文件的C库)提供的API。实时导入的过程如下图所示: 数据库被映射作为一个单独的目录,它们的表被映射作为子目录和一个Hive数据仓库目录。插入到每个表中的数据被写入文本文件(命名如datafile1.txt),数据以逗号或其他符号分割(可通过命令行进行配置)。 详细信息: MySQL Applier for Hadoop 下载地址: mysql-hadoop-applier-0.1.0-alpha.tar.gz (alpha版本,不可用于生产环境)

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

AI画画到什么水平了?1行代码生成素描画,又一批人要失业啦!

大家好,这里是程序员晚枫,GitHub🏠点我直达 今天,给大家介绍python-office近期更新的功能之一:1行代码,画出美女的素描。 真的很实用! 1. 安装python-office 安装很简单,在有python环境的电脑上,只需要执行下面这一行命令。 如果你之前使用过python-office这个库,也需要执行一下,可以下载到最新版本. 安装 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python-office -U 如果你的电脑里还没有安装python环境,可以看一下下面这个6分钟的傻瓜式安装教程,有电脑就能操作:https://www.bilibili.com/video/BV18g411h7jJ?p=3 2. PDF合并 直接上代码! 代码 # 导入这个库:python-office,简写为office import office office.image.pencil4img(input_img=r'D:\workplace\code\test\down4img\girl.jpg') #参数作用: # input_img = 原图片的名字 3.开源项目 1行代码,解决办公问题的第三方库是:python-office ⭐GitHub:https://github.com/CoderWanFeng/python-office

资源下载

更多资源
Mario

Mario

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

腾讯云软件源

腾讯云软件源

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

Rocky Linux

Rocky Linux

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

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册