首页 文章 精选 留言 我的

精选列表

搜索[Agent 可观测服务],共10000篇文章
优秀的个人博客,低调大师

聊一聊泛型的可空性(kotlin)

什么?泛型本身也可以是nullable?上来就抛这么个问题实在是不够友好~ 首先回顾,什么是泛型?Oracle Java Tutorials Introduced in J2SE 5.0, this long-awaited enhancement to the type system allows a type or method to operate on objects of various types while providing compile-time type safety. It adds compile-time type safety to the Collections Framework and eliminates the drudgery of casting. 泛型的本质是参数化类型,也就是说操作的数据类

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

制作可独立分发的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(转载)

资源下载

更多资源
Mario

Mario

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

Spring

Spring

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

Sublime Text

Sublime Text

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

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册