自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

灵犀物润

物联网技术与机器人应用

  • 博客(46)
  • 资源 (5)
  • 收藏
  • 关注

原创 汉明码(Richard Hanming)

在计算机运行过程中,由于种种原因致使数据在存储过程中可能出现差错。为了能及时发现错误并及时纠正错误,通常可将原数据配成汉明编码。 汉明码的组成 汉明码是由Richard Hanming于1950年提出的,它具有一位纠错能力。由编码纠错理论得知,任何一种编码是否具有检测能力和纠错能力,都与编码的最小距离有关。所谓编码最小距离,是指在一种编码系统中,任意两组合法代码之间的最少二进制位数的差异。根据纠错理论得.L-l=D+C且D≥C即编码最小距离L越大,则其检测错误的位数D越...

2021-10-24 17:54:29 2814

转载 Google Dapper,大规模分布式系统的跟踪系统

概述当代的互联网的服务,通常都是用复杂的、大规模分布式集群来实现的。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心。因此,就需要一些可以帮助理解系统行为、用于分析性能问题的工具。Dapper--Google生产环境下的分布式跟踪系统,应运而生。那么我们就来介绍一个大规模集群的跟踪系统,它是如何满足一个低损耗、应用透明的、大范围部署这三个需求的。当然Dapper设计之初,参考了一些其他分布式系统

2021-05-24 11:51:16 1104

原创 谈智能家居,当我们谈起它的时候我们到底在谈论什么?

谈智能家居,当我们谈起它的时候我们到底在谈论什么?归根到底,它就是一个消费类电子产品,这也是为什么许多公司决定去参加国际消费电子展的原因。智能家居是一个比较笼统的词语,它不是指的是某个具体的产品,了解的它的人一般都将其理解为一个系统,一个以人的家庭生活为中心的多设备参与的系统,通常这个系统会有一个指挥中心,也可以理解为智慧中心。

2021-04-17 21:34:04 295 1

原创 让我们通过写作去思考

写作的过程也是一个再次强化输入的过程,使得你对以往通过阅读得到的知识有了更深入的吸收,西方有句话:“我们吃下什么,我们就会长成什么样子”,我们吸收的东西,会反过来影响我们的世界观,价值观,人生观,写作和阅读这两个相辅相成的过程决定了我们的内心世界的新陈代谢,只有通过良好的输出,我们才能将这些吃进去的变成我们自身的一部分,才能去吃下去更多的东西。

2021-04-14 20:07:25 175

原创 需求获取技巧

软件项目中的需求获取技巧不计其数。事实上,项目团队不可能只采用一种需求获取技巧。现实生活中总是有很多类型的信息等待我们去发现,但不同的项目干系人表述信息的方式却不尽相同。可能某个用户能够清晰地表述其使用系统的方式,但如果你想以同样的程度理解另一个用户如何完成她的工作,也许得靠你仔细观察了。获取技巧包括引导活动(期间与干系人互动以获取需求)和独立活动(期间独立工作以发现信息)。引导活动主要聚焦与发现业务和用户需求。由于用户需求包含用户要用系统完成的任务,因此很有必要与用户直接合作。而为了获取业务需求,你要

2020-08-30 17:14:38 666

转载 APP的多语言设计我们可以做点什么?

最近app上线的时候遇到很多多语言的问题,因为我们的app有七八种语言,而设计的时候是用英语设计的,所以遇到很多的问题,在网上找到下面这篇文章,里面有些内容可以参考。前言:因为工作关系,我目前做的APP一般会适配两种(中英)或更多的语言。就以最常见的中英文切换来说,如果用中文作为设计稿语言,那么通常会遇到页面翻译成英文后,原来很短的一个中文词汇会变成长长的英文词组的情况,一定程度上影响视觉设计上的平衡和布局,我常常头疼要怎么修改设计排版。一年多的工作下来,积累了一些对于多语言设计的心得和体会。.

2020-08-19 14:14:51 1311

原创 InfluxDB和MySQL对比测试

现在物联网开始兴起,随着设备的增多,以及传感器类设备不断的产生事件,传统数据库开始显得捉襟见肘了,在实际环境中我也有切身的感受,当mysql数据量达到几百万条的的时候读取速度就开始出现问题,如果进行大时间跨度的数据分析性能也会有问题,所以开始寻找解决方案,我用我的使用场景去百度,果然,有前辈已经给出了成熟的解决方案。看到网友的数据对比分析,更是增强了我将部分数据迁移到InfluxDB的信心。InfluxDB和MySQL整体磁盘占用情况对比:InfluxDB和MySQL最终磁盘占用情况对比:

2020-07-08 15:41:34 2826

原创 curl用法简记

前段时间写了一个监控服务器程序运行状态的脚本,里面有一段是使用curl获取服务的状态,其中的一个细节是超时时间的设置,如果没有正确的设置超时时间,也许监控脚本不能达到预期的效果。先简单介绍一下curl的常用参数,以作备忘之需。-A:随意指定自己这次访问所宣称的自己的浏览器信息-b/–cookie <name=string/file> cookie字符串或文件读取位置,使用option来把上次的cookie信息追加到http request里面去。-c/–cookie-jar 操作

2020-07-08 11:35:23 339

原创 基本的分析技巧

一个人如果没有足够的培训、指导和丰富的经验,不要指望他能够为一名合格的分析师。他们无法胜任这个工作,并且很快他们就会沮丧万分。这份工作包含很多“软技能”,偏重于人儿非技术。分析师需要熟知各类需求获取技巧,提交信息的方式要多种多样,不止局限于自然语言文本形式。高效率的业务分析师是多面手,不仅具备超强的沟通、引导和人际交流技能,还需要具备这个工作所要求的渊博的技术和业务领域知识,得有人格魅力。耐心并且真诚地希望与他人合作是成功的关键要素。1、倾听技巧要想成为双向沟通专家,就要学会如何有效倾听。主动倾听要

2020-06-17 19:28:09 307

原创 业务分析师的职责

分析师必须首先理解项目的业务目标,然后定义出用户、功能和质量需求,让团队进行估算和计划项目,最后设计、开发和验证产品。业务分析师同时还是领导者和沟通者,负责将模糊的客户理念转换为清晰的规范说明,指导软件开发团队的工作。作为业务分析师,可能要执行下面描述的典型活动。...

2020-06-15 20:28:01 2033

原创 优秀实践之项目管理

软件项目管理方法与项目需求流程紧密相关。项目经理应当根据需要实现的需求,规划项目时间表、资源以及做出承诺。另一种策略是将开发周期纳入“时间盒”,即团队估算出他们在固定迭代时间内能够完成的工作范围。敏捷开发项目采用的就是这种方式。范围可以在计划时间范围内协商。这样一来,范围蔓延就成了“范围选择”,产品负责人可以按其意愿提出要求,但是必须为这些要求排定优先级,当团队开发时间耗尽时则停止开发。然后团队再为余下的需求制定下一个发布计划。1、选择一个合适的软件开发生命周期组织应当根据不同的项目类型以及需求的不

2020-06-10 21:08:45 331

原创 优秀实践之需求管理

一旦手上有最初始的需求,就必须做好准备应对变更,因为在整个开发阶段,客户、管理层、市场、开发团队或者其他人都会不可避免地提出这方面的要求。有效的变更管理包括提出变更、评估潜在成本及其对项目影响以及确保恰当的干系人可以判断要采纳哪些变更,并做出明智的业务决策。拥有良好的配置管理实践是进行有效需求管理的一个前提条件。可以使用代码版本管理工具来管理需求文件。最好将需求放在需求管理工具中,里面提供的很多功能可以帮助你完成这些实践。1、建立一个需求变更控制流程与其抑制所有变更或者奢望变更不会出现,不如接受

2020-06-09 20:00:25 316

原创 优秀实践之需求验证

验证能够保证需求的正确性、展示期望的质量特性并满足用户需要。有些需求读起来似乎没有什么问题,但当开发人员着手工作时又会遇到模棱两可或遗漏的地方。要想使需求成为设计、最终的系统测试以及用户验收测试的可靠基础,就必须修正这些问题。1、需求评审需求的同行审查,特别是称为“审查”的严格评审,是一种高回报的质量保证实践。组织一个小的评审团,让他们从不同的视角(分析师、客户、开发人员、测试人员)仔细审查需求文档、分析模型以及相关的缺陷信息。需求开发初期的非正式评审也很有价值。训练团队成员高效地评审需求并在组织中

2020-06-08 20:03:27 511

原创 优秀实践之需求规范说明

需求规范说明的精髓就在于用一致的、可存取、可评审的方式记录不同类型的需求,且目标读者都理解这些规则。可以在一个愿景和范围文档中记录业务需求。用户需求通常表现为用例或用户故事的形式。详细的软件功能和非功能需求都被记录在软件需求规范说明书或者其他替代品中,例如需求管理工具中。1、使用需求文档模板在组织中使用标准模板来记录需求,模板所提供的标准结构可以用来记录与需求相关的各类信息。及时不用传统的文档形式存储需求,模板也能提醒你还有各类的需求信息有待发掘和记录。2、明确需求来源为了让所有干系人了解每

2020-06-07 16:34:09 399

原创 优秀实践之需求分析

1、为应用环境建模系统环境关系图是一种简单的分析模型,展示的是新系统如何适应其环境。它定义了开发中的系统与外部实体(例如用户、硬件设置或其他系统)之间的界限以及接口。生态环境图展示了解决方案中的各个系统如何相互作用及其相互关系的本质。2、创建用户界面以及技术原型当开发人员或用户对需求不太确定时,需要创建一个原型,一个部分的、可能的或者初步实现的模型,目的是使概念及各种可能性更真实一些。原型可以让开发人员以及用户对所解决的问题达成共识并有助于验证需求。3、分析需求的可行性业务分析师应当与开

2020-06-07 10:32:29 338

原创 优秀实践之需求获取活动

1、定义产品愿景和项目范围愿景和范围文档包含产品的业务需求。愿景描述可以是所有干系人对产品的产出有一致的理解。范围界定了发布或者迭代中哪些功能应该或不应该出现。愿景与范围提供了一种参考,方便对大家所提议的需求进行评估。愿景在整个项目过程中时相对稳定的,每个计划的发布或迭代都有自己的范围。2、识别用户类型及其特征为了避免遗漏任何用户团体的需求,我们要为产品识别出不同的用户组。在使用频率、所用特性、权限级别以及经验方面,这些组别可能不同。记下他们的工作任务、态度、位置或个性,这些都可能影响产品设计。

2020-06-06 18:46:02 542

原创 CentOS 7.2 下载地址

先甩地址http://vault.centos.org/7.2.1511/isos/x86_64/现在官网最新的CentOS是8版本了,官网把8版本以下的都隐藏了,所有与官网同步的镜像也都无法获得7以下的版本了。因为服务器上的一些环境依赖7.2,又不想去折腾把正式服务器更新环境到8版本,在配置一个新的与正式环境一样的测试环境的时候发现旧版操作系统都不见了,所以上网搜刮一番找到了旧版本下...

2020-04-07 17:47:36 9586 1

原创 记录一次APNS被坑的画面

昨天星期天,聚精会神的在撸C3P0,没想到恶魔正在我不注意的角落里捣乱,今天一早来到公司,看到有人反映Alexa的推送通知有问题,经过测试巡查发现不是Alexa有问题,是安卓能收到推送,苹果APP收不到推送,赶紧去看推送服务器的日志,发现返回推送证书过期了,所以就让iOS开发人员给我新的推送证书,如果不出意外问题到这里就解决了,可能前后不会超过半个小时。戏剧性的一幕出现了,他给我了开发证书和生...

2020-03-23 18:56:39 357

原创 MySQL优化相关

1、慢查询分析相关的优化通过命令查看慢查询最长时间,一般默认10s,对于现代高实时系统来讲,一个查询要10秒钟是不可接受的,所以我们对慢查询先进行监控,然后才能进行优化;show variables like 'long_query_time';通常我们会把这个时间设置在3秒以内;set global long_query_time=2;查看慢查询日志记录是否开启,以及慢查...

2020-03-21 18:41:34 237 1

原创 Linux下的top命令PR,NI,VIRT,RES,SHR,S的解释

今天在观察服务器运行情况的时候用top命令看我的程序是否在运行,一般只关心内存,CPU这些参数,但是它还有很多的参数,我们一起来看看其他的参数都是什么意思。VIRT:Virtual memory usage 虚拟内存1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量RES:Re...

2020-03-20 22:27:38 7879

原创 欧司朗决定未来停止智能家居业务,又一个大佬倒下了。

今天收到了欧司朗的智能家居云服务关闭的邮件。The LIGHTIFY Cloud-Server will be switched off on August 31st2021OSRAM stellt den Cloud-Serverbetrieb von LIGHTIFY zum 31. August 2021 ein-----Für Deutsch bitte nach un...

2020-03-17 11:52:29 509

原创 Centos7下安装Mysql8

1、Mysql8的优点一些关键的增强包括:SQL窗口函数,公用表表达式,NOWAIT和SKIP LOCKED,降序索引,分组,正则表达式,字符集,成本模型和直方图。JSON扩展语法,新功能,改进排序和部分更新。使用JSON表函数,您可以使用JSON数据的SQL机制。GIS地理支持。空间参考系统(SRS),以及SRS感知空间数据类型,空间索引和空间功能。可靠性 DDL语句已变得原...

2020-03-02 16:49:04 234

原创 更换电脑后Lombok无法使用的解决办法

Lombok是一个Java库,能自动插入编辑器并构建工具,简化Java开发。通过添加注解的方式,不需要为类编写getter或eques方法,同时可以自动化日志变量。1、检查项目中的依赖项是否正常<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok&l...

2020-03-01 15:14:07 447

原创 配置SSL证书到服务器

Tips:如果你是新配置的服务器则需走完整的配置流程;如果你之前使用过SSL服务,只是证书到期了,则只需更新服务器上的证书即可。一、生成Keystore 和 CSRa、输入下列命令生成Keystore文件keytool -keysize 2048 -genkey -alias 你的别名 -keyalg RSA -keystore 你的证书名字.keystoreb、接下来输...

2020-02-16 15:10:53 919

原创 记录一次SQL慢查询的排除过程

首先,我们先自己定义一下花多少时间算慢查询,我们使用show variables like "%long%";去查看mysql数据里的long_query_time参数,系统默认是10秒,这是不可接受的慢,不过每个系统不一样,就我的系统内部而言,超过0.5秒就可以当做慢查询了。 今天做系统巡查的时候发现一条查询时间达到2.6秒的SQL,这是系统不能接受的,语句如下...

2019-11-21 17:17:31 350

原创 RGB颜色值转换为XY值(ZigBee协议下常用的颜色表示方式)

最近在做Google Home Local 功能的适配,需要用到RGB转XY的颜色转换功能,之前在服务器端软件开发过程中也有遇到RGB转XY的需求,但是那个时候在网上找到了飞利浦的SDK,直接使用,就完成了项目也就没有去研究深层次的代码。但是这次是需要自己写Typescript的代码放到Google Home里面去,没有SDK可以直接使用,所以必须要自己写代码了。直接先上代码,自己写的一个工具...

2019-10-18 23:16:43 5042

原创 增大/dev/random的熵池

由于服务器默认的配置是无法满足生产的需要,所以,在手动配置生产服务器的时候,我们需要调整熵池的大小。如果不调整那么可能遇到在频繁调用生成随机数的时候无法生成的Bug。在Linux内核中,熵池是环境噪声数据流的集合,被作为种子用于生成随机数,由于服务器的环境噪声远远小于桌面计算机,我们可以通过一个第三方软件去生成。下面进入正题:我们开始通过cat /proc/sys/kernel/rand...

2019-06-13 16:33:24 3283

原创 JVisualVM的使用和远程连接AWS

1、下载VisualVM,然后找到bin目录,直接运行 sudo ./visualvm,这时候我们可以看到本地的数据。现在我们来看看怎么去连接服务器上的JMX。2、配置远程服务器的JMX,进入服务器tomcat下的bin目录,在setenv.sh下加入以下的代码:JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Djava.rm...

2019-06-01 17:33:40 370

原创 #1093 - You can't specify target table 'tablename' for update in FROM clause 解决办法

#1093 - You can't specify target table 'tablename' for update in FROM clause 因为在MYSQL里,不能先select一个表的记录,在按此条件进行更新和删除同一个表的记录,解决办法是,将select得到的结果,再通过中间表select一遍。 原来想执行的语句为:...

2019-04-12 14:49:37 2309 1

原创 JDK11安装之后发现没有jre如何处理

由于测试需要在本地搭建服务器环境,安装完jdk发现没有jre目录,生成步骤如下:1、进入JDK所在目录的bin目录下使用命令whereis java得到一个软连接/usr/bin/java,然后通过ls -l去查看软连接的对应的JDK真实路径2、运行下列的命令来生成jresudo ./jlink --module-path jmods --add-modules java.de...

2019-04-03 11:36:26 10008 6

原创 物联网网关接入Google Home项目时Implement Report State的详细步骤

最近google为了优化google home的用户体验,做了一件对开发者体验不要的事情,那就是新增了report state的API,而且这个API是必须要去调用的,如果不调用那么在审核的时候就会被拒绝,这个功能的作用是让终端设备在状态变化之后主动上报给谷歌服务器,这样能够让用户能够及时的了解设备的状态,比如说当手动调节恒温器的温度之后,自动将设定值同步到Google Home。1、第一步通...

2018-12-24 10:05:05 2191 1

转载 Java内存模型

1. 概述  多任务和高并发是衡量一台计算机处理器的能力重要指标之一。一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(Transactions Per Second,TPS)这个指标比较能说明问题,它代表着一秒内服务器平均能响应的请求数,而TPS值与程序的并发能力有着非常密切的关系。在讨论Java内存模型和线程之前,先简单介绍一下硬件的效率与一致性。2.硬件的效率与一致性  由于...

2018-12-13 23:29:24 150

原创 备份本地Gitlab并且将备份文件存储到远程服务器

1、首先尝试手动备份Gitlab,只需要一条简单的命令就可以完成:gitlab-rake gitlab:backup:create如果是小型团队的Git服务器这一步将很快完成,我们一个紧凑型的物联网研发团队一年的代码备份下来才5Gb。使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1543973379_2018_12_05_gitlab_backup...

2018-12-05 15:48:07 1362

原创 Google Android应用内支付订单服务端验证

       最近公司的APP新增了收费版本,针对一些高级功能需要用户付费才能使用,付费的方式是用户通过应用内支付去订阅一个月或一年的账户高级权限,相当于QQ里面的VIP功能。       大概的流程是用户下载APP后注册之后默认为普通用户,用户通过应用内支付去订阅高级账户权限包之后,客户端应用把订单的收据数据提交到服务器,服务器保存用户的支付订单收据数据,并且去验证收据的合法性,确保不是伪造...

2018-10-15 13:20:53 10355 1

转载 运行sh脚本异常:/bin/sh^M:bad interpreter: No such file or directory的问题

sh脚本异常:/bin/sh^M:bad interpreter: No such file or directory的问题    在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory    分析:这是不同系统编码格式引起的,在windows系统中编辑的.sh文件可能有不可见字符,所以在Linu

2016-12-14 10:49:43 1021

转载 【转】 Ubuntu 查看磁盘空间大小命令

转载自 爱哭的老汉最终编辑 Tlexanderdf   -hDf命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式:df -hl显示格式为: 文件系统              容量 已用 可用 已用% 挂载点 Filesystem            Size Used Avail Use% Moun

2015-12-09 16:36:23 932

转载 [转]给心爱的Mac一个ssh-copy-id

默认情况下,Mac本本是没有ssh-copy-id命令的,这另我们这些运维狗无所适从啊,    尼玛老子不想敲好长的命令啊,尼玛老子不想一台台的去改文件名啊救星来了,Mac下的brew工具解决了这个坑爹的问题啊.....,我谢谢你啊....完成了,好开森....当然前提是你的Mac本本安装了brew工具

2015-11-16 14:57:51 611

原创 提交app报错you are not authorized to use this service的解决办法

1、这几天上传程序到app store一直报以下的错误。2、尝试解决,在电信100m宽带下出现问题,切换到家里联通6m宽带下也是这个问题,一直尝试很多次都不行。3、今天上午突然想到4g网络的速度比较快,于是用手机打开热点,然后开始上传,刚开始也是失败,重新尝试后1分钟内上传完毕,4g网络速度还是非常不错的。

2015-11-04 09:24:15 7536

转载 MQTT学习笔记-让Mosquitto支持Websocket

新的Mosquitto版本1.4.2已经支持WebSocket,这就为我们HTML5客户端使用MQTT提供了方法,但是MQTT连接默认不支持WebSocket连接,所以我们要首先设置让Mosquitto支持WebSocket:(如果遇见有的步骤不能执行或者除错,请使用管理员权限sudo执行)废话不讲,开始:第一步:安装前准备用到的依赖包:$ sudo apt-get update

2015-10-27 16:16:42 13444 3

原创 MQTT学习笔记-Mosquitto的安装与启动

Mosquitto是一个实现了MQTT3.1协议的代理服务器,由MQTT协议创始人之一的Andy Stanford-Clark开发,它为我们提供了非常棒的轻量级数据交换的解决方案。在ubuntu下的安装方法:sudo apt-get install mosquitto启动的方法:mosquitto -c /etc/mosquitto/mosquitto.conf

2015-10-27 16:11:17 4922

c语言链表的项目(用链表实现的字典)

用C语言做的字典程序,中使用链表和结构体,涉及的知识点有结构体,指针,链表的添加,遍历,删除,释放,文件的打开,读取,关闭等。使用Xcode写的代码,可以在Xcode4.2中直接运行,但是需要更改字典数据文件的路径,也可以在终端下编译运行,也可以直接把main.C拷贝到vc下去运行

2013-04-18

android音乐播放器

android开发的音乐播放器,用到了activity、intent、service、handler、lisiview、button、更换背景 等知识点、还是用到了内部类。

2012-08-31

使用MVC做的招聘网站

使用MVC做的招聘网站,是模仿51job和333job的界面,使用的是jsp+javabean+sqlserver2000开发的

2008-05-27

SQL Server万年历

通过sql生成的万年历,看看sql的妙用

2008-03-07

javascript手册

详细介绍javascript

2007-12-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除