demi的博客

一文读懂区块链技术六大核心算法

近日,在加密货币经历“混乱时期”后,区块链再次火爆起来,受到了各方的极大关注与重视,成为资本市场和各领域关注的焦点,就连朋友圈中的探讨和分享也让人目不暇接。那么,区块链到底是个什么鬼?区块链的核心算法又有哪些?

区块链核心算法一:拜占庭协定

拜占庭的故事大概是这么说的:拜占庭帝国拥有巨大的财富,周围10个邻邦垂诞已久,但拜占庭高墙耸立,固若金汤,没有一个单独的邻邦能够成功入侵。任何单个邻邦入侵的都会失败,同时也有可能自身被其他9个邻邦入侵。拜占庭帝国防御能力如此之强,至少要有十个邻邦中的一半以上同时进攻,才有可能攻破。然而,如果其中的一个或者几个邻邦本身答应好一起进攻,但实际过程出现背叛,那么入侵者可能都会被歼灭。于是每一方都小心行事,不敢轻易相信邻国。这就是拜占庭将军问题。

在这个分布式网络里:每个将军都有一份实时与其他将军同步的消息账本。账本里有每个将军的签名都是可以验证身份的。如果有哪些消息不一致,可以知道消息不一致的是哪些将军。尽管有消息不一致的,只要超过半数同意进攻,少数服从多数,共识达成。

【深度学习】L1正则化和L2正则化

在机器学习中,我们非常关心模型的预测能力,即模型在新数据上的表现,而不希望过拟合现象的的发生,我们通常使用正则化(regularization)技术来防止过拟合情况。正则化是机器学习中通过显式的控制模型复杂度来避免模型过拟合、确保泛化能力的一种有效方式。如果将模型原始的假设空间比作“天空”,那么天空飞翔的“鸟”就是模型可能收敛到的一个个最优解。在施加了模型正则化后,就好比将原假设空间(“天空”)缩小到一定的空间范围(“笼子”),这样一来,可能得到的最优解能搜索的假设空间也变得相对有限。有限空间自然对应复杂度不太高的模型,也自然对应了有限的模型表达能力。这就是“正则化有效防止模型过拟合的”一种直观解析。

【深度学习】L1正则化和L2正则化

L2正则化

智能门锁行业发展迅猛 依然存在诸多隐患

近两年,智能家居产品一反以往“不瘟不火”的状态,正在呈现快速发展的态势,首先受益于互联网信息技术的发展,产品呈现更多样化,更易于操作,体验性越来越好。另外伴随着互联网的发展而成长的80后90后,已逐渐成为主流的消费人群,他们面临不同生活场景,在家居、出行、医疗等方方面面,更倾向于使用智能化产品。

同时物联网技术打破了“信息孤岛”效应,智能硬件从单品爆发向万物互联模式发展,智能家居系统逐渐完善。另外,宏观利好因素正促进中国智能家居行业的快速发展及渗透。易观对2017年中国智能家居产业进行PEST分析:

2016年,中国智能家居市场规模达到1140亿,2017年达到1404亿,同比增加23.2%,预计到2019年将突破1950亿元人民币。

智能门锁一骑绝尘

在智能家居中,尤其以智能门锁为代表的产品发展尤为迅猛。随着用户消费观念转变与传统安防产品的漏洞,用户对于智能安防产品的需求不断提升,智能安防成为用户刚需,安防产品直接影响用户的安全感。其中以电子密码锁、指纹锁的高安全性能逐渐受到用户关注,智能锁市场呈现出爆发的态势。

如何成为一名黑客(网络安全从业者)——网络攻击技术篇之扫描技术

网络攻击技术按照攻击流程可以分为3个阶段:攻击前的准备阶段、网络攻击阶段、成功入侵后的控制阶段。今天我们先介绍”攻击前的准备阶段——扫描技术“。

攻击前的准备阶段——扫描

在这个阶段,攻击者通过各种收集手段收集目标主机的信息,主要利用的是搜索引擎和扫描技术。通过外围信息收集和多种扫描技术,可以获得目标的IP地址、端 口、操作系统版本、存在的漏洞等攻击必需信息,为下一步的网络攻击做好前期的准备。具体来说,可以采用如下手段:

1、外围信息收集的方式

(1)使用Whois查询域名注册的相关信息

浅谈网络语音技术

当我们使用像Skype、QQ这样的工具和朋友流畅地进行语音视频聊天时,我们可曾想过其背后有哪些强大的技术在支撑?本文将对网络语音通话所使用到的技术做一些简单的介绍,算是管中窥豹吧。

一、概念模型

网络语音通话通常是双向的,就模型层面来说,这个双向是对称的。为了简单起见,我们讨论一个方向的通道就可以了。一方说话,另一方则听到声音。看似简单而迅捷,但是其背后的流程却是相当复杂的。我们将其经过的各个主要环节简化成下图所示的概念模型:

浅谈网络语音技术

这是一个最基础的模型,由五个重要的环节构成:采集、编码、传送、解码、播放。

1. 语音采集

语音采集指的是从麦克风采集音频数据,即声音样本转换成数字信号。其涉及到几个重要的参数:采样频率、采样位数、声道数。

Android 视频播放器 (二):使用MediaPlayer播放视频

在《Android 视频播放器 (一):使用VideoView播放视频》我们讲了一下如何使用VideoView播放视频,了解了基本的播放器的一些知识和内容。也知道VideoView内部封装的就是MediaPlayer,本文就介绍如何使用MediaPlayer播放视频。

一、简介

MediaPlayer是Android中的一个多媒体播放类,其提供的API能满足简单的大部分音视频的播放需求。

下面简单介绍一下MediaPlayer:

  •   MediaPlayer是使用Surface进行视频的展示的。
  •   MediaPlayer只支持mp4、avi、3gp格式的视频,支持格式相对单一。
  •   MediaPlayer可以播放网络视频,支持的网络视频的协议为:Http协议和RTSP协议两种。

二、MediaPlayer 使用方法

MediaPlayer 的提供的方法如下:

想开发VR游戏?你需要注意这些东西

开发VR游戏很难吗?有些人会说是,但在HTC虚拟现实新科技部门副总经理鲍永哲看来,VR游戏的门槛并不比一般的游戏高。“据我所了解,做PC游戏的团队做VR,从技术来讲,难度不高,难的是创意”,他说。

先不说是不是真的如此,VR作为一个新的平台,它有新的硬件,新的体验,对于想进入或是已经开始VR游戏开发的团队来说,有些与传统游戏开发不同的地方或许可以提前了解一下如何应对。

如何让玩家不晕?

在现实世界中,如果你突然转头,但周围的画面过了1秒钟才显示出来,这时你的大脑是不会将画面和头部运动联系起来的,如果你不停地转,很快就会晕到吐。在虚拟现实中,我们要尽量避免这种情况出现。针对这点VR开发者可以参考以下几条建议。

无论如何,尽力将帧数维持到90 FPS。

帧率对VR的体非常重要,太低容易造成眩晕。目前HTC VIVE、Oculus Rift和PSVR对游戏的建议都是90 FPS,PSVR还可达到120 FPS,而Gear VR为60 FPS。

不要设计加速

GPU屏幕渲染——离屏渲染

一、概念理解

OpenGL中,GPU屏幕渲染有以下两种方式:

  ○  On-Screen Rendering
意为当前屏幕渲染,指的是GPU的渲染操作是在当前用于显示的屏幕缓冲区中进行。

  ○  Off-Screen Rendering
意为离屏渲染,指的是GPU在当前屏幕缓冲区以外新开辟一个缓冲区进行渲染操作。

二、离屏渲染的是是非非

相比于当前屏幕渲染,离屏渲染的代价是很高的,主要体现在两个方面:

  •   创建新缓冲区

要想进行离屏渲染,首先要创建一个新的缓冲区。

  •   上下文切换

一文带你了解ADAS都有哪些系统!

ADAS(Advanced Driving Assistant System)即高级驾驶辅助系统。

ADAS 是利用安装于车上的各式各样的传感器,在第一时间收集车内外的环境数据, 进行静、动态物体的辨识、侦测与追踪等技术上的处理, 从而能够让驾驶者在最快的时间察觉可能发生的危险, 以引起注意和提高安全性的主动安全技术。

ADAS 采用的传感器主要有摄像头、雷达、激光和超声波等,可以探测光、热、压力或其它用于监测汽车状态的变量, 通常位于车辆的前后保险杠、侧视镜、驾驶杆内部或者挡风玻璃上。

早期的ADAS 技术主要以被动式报警为主,当车辆检测到潜在危险时, 会发出警报提醒驾车者注意异常的车辆或道路情况。对于最新的ADAS 技术来说,主动式干预也很常见。

关于Cocos2d-x中物理世界的物体乱跳的问题的解决

这是电脑短时间内帧率低,无法满足游戏配置的帧率引起的。

解决方法:

第一种:

1.打开AppDelegate.cpp文件

2.把director->setAnimationInterval(1.0 / 60);改为 director->setAnimationInterval(1.0 / 50);或者更低一点。

这样游戏性能会有些许的下降,就是游戏会变的卡一点,但是物体不会乱跳,在真机上运行,我相信不会出现乱跳的情况。所以等开发完后再把帧率调回来。

第二种:

把setPosition里面的参数都用变量的形式表示,不要直接用常量,用变量比较稳定,亲试可行。

用常量表示其实是非常不好的,因为如果改变屏幕分辨率,就会造成混乱,最好是用屏幕尺寸的几分之几来表示。

第三种:

用简单的精灵节点来代替节点加子节点的形式,亲试可行。