自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一点码客

紧跟热点技术,死磕技术,Mark一点

  • 博客(58)
  • 收藏
  • 关注

原创 分布式一致性协议三部曲-PBFT源码分析

TenderMint PBFT协议交互流程 Tendermint是一个基于PBFT(实用拜占庭容错)的共识机制,是Cosmos跨链协议的核心模块。PBFT是一种去中心化的一致性协议,非常类似Paxos,推荐先看笔者这篇文章【深入理解分布式一致性协议】,由该文可知,PBFT和Paxos交互的对应关系如下,我们再次预习下。Paxos交互图如下PBFT是通过广播进行的,...

2020-04-25 11:13:14 1902

原创 分布式一致性协议三部曲-从paxos幽灵复现看Raft实现原理

幽灵复现Mutlti-Paxos下存在Leader切换情况,因而可能出现下面的场景 第一轮中A被选为 Leader,写下了 1-10 号日志,其中 1-5 号日志形成了多数派,并且已给客户端应答,而对于 6-10 号日志,客户端超时未能得到应答。 第二轮,A 宕机,B 被选为 Leader,由于 B 和 C 的最大的 LogID 都是 5,因此 B 不会去重确认 6 ...

2020-04-25 10:59:02 738

原创 分布式一致性协议三部曲-深入理解一致性协议Paxos

在理解分析分布式一致性协议前,我们必须先看下CAP理论CAP CAP是指在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)这三个要素最多只能同时实现两点,不可能三者兼顾。 Consistency 一致性 一致性指“all nodes see the same dat...

2020-04-25 10:48:39 3718

原创 最全动画诠释各种卷积网络及实现机制

3年前开发移动端卷积神经网络SDK,使用GPU实现卷积神经网络的各种算子,Android/iOS双端都实现了,性能非常不错,实时风格画和实时抠图接近50FPS,今天无意中翻到这些动画及笔记,这些知识点又回来了,于是把这些分享出来,也希望能对大家有所帮助。

2020-03-16 11:12:24 3558 5

原创 深入理解iOS GPU加速框架Metal及MPS

iOS的Metal框架是一个类似OpenGL的框架,通过编写shaders(类c代码)运行在GPU上,利用GPU的高并行能力执行并行操作,比如图像处理,卷积神经网络。而MPS就是一套基于Metal框架的库,用户不需要理解Metal的细节,直接调用这些库即可使用高性能处理能力。同时针对卷积神经网络,官方已经提供了MPSCnn库,开发人员可以直接使用该库组件神经网络即可以在移动端iPhone...

2020-03-15 13:20:53 4433 1

原创 Android 时间相关的坑

currentTimeMillis我们经常用这个接口来统计时间,但是如果使用不当,会出现接怪异的问题,比如定时任务不执行了等等

2019-07-27 10:47:06 598

原创 深入理解Flutter之架构篇

何为Flutter Flutter是个构建跨平台的手机App的SDK。目标是一份代码,在Android和iOS平台上都可以运行。事实上,Flutter更强大,web, 桌面版应用开发也支持 Web, Desktop目前已经ok, Embedded嵌入式平台还只没到落地的阶段。Flutter的主要目标还是移动开发,Flutter对标的是React Nat...

2019-07-22 12:11:04 4608

原创 Google内购订阅如何添加developerPayload信息

developerPayload参数会添加到我们的订阅订单里,后续通过获取订单就恢复这些参数信息,从而有利于我们更好的关联跟踪订阅订单。 我们知道,Android集成Google支付有两种方式: 另一种是使用AIDL进行应用内购买结算 即自己连接内购订阅服务并调用相应API,比价复杂,一般不采用这种方式 一种是使用Google Play结算库billingcli...

2019-07-20 20:10:57 3594 3

转载 Vscode几个有趣的插件

最近在微博分享了几个 VSCode 划水插件,让我不禁感叹这班程序员也太会玩了吧。今天我就花点时间,简单整理下这几个划水插件,让大家可以分享给朋友,一起愉快的划水摸鱼。daily-anime如果你喜欢二次元,喜欢动漫,那这个插件就是为你量身定制的。这款插件让开发者可以在 VSCode 上划水追番,第一时间知道番剧的更新。GitHub 地址:https://github.co...

2019-07-20 16:28:23 28467 2

原创 Google In-app Billing Sdk billingClient ANR问题

最近产品集成了Google In-App Billing, 但是发现线上有不少ANR。具体堆栈如下"main" prio=5 tid=1 Native | group="main" sCount=1 dsCount=0 flags=1 obj=0x73b53ac0 self=0x77558a3a00 | sysTid=17097 nice=0 cgrp=default sched=0...

2019-07-20 14:10:01 1098

原创 深入理解Android 依赖包冲突问题

首先,Android依赖包冲突其实并不是简单的不同模块依赖了相同库的不同版本,因为系统会自动选择高版本,同时给这两个模块使用。冲突只存在两种情况 引用了本地jar文件 由于引用的jar是会直接编译到项目里的,如果项目的两个module同时引入了相同的本地jar文件, 就会存在相同的类有多个实现,及duplicated defined class。这种情况比较好分析和定位,去掉其中...

2019-07-20 13:51:47 3909

原创 Flutter问题大全

下面是个人实践中遇到的一些问题,希望对大家有用,如果大家在实践中遇到什么问题,也可以在下面留言,我将尽可能解答创建项目是提示Got socket error trying to find package at http://pub.dartlang.org 这是因为网络问题,请自带梯子 Flutter如何同时生成armv7和arm64为libflutter.so 升级Flutter...

2019-07-20 13:23:22 906

原创 彻底理解Async/Await 原理分析

 一.Async, Await机制总结async/await是写异步代码的新方式,以前的方法有回调函数和Promise。 async/await是基于Promise实现的,它不能用于普通的回调函数。 async/await与Promise一样,是非阻塞的。 async/await使得异步代码看起来像同步代码,这正是它的魔力所在。 二.Async, Await机制和promise对...

2019-07-20 13:02:19 2663 1

原创 深入理解Flutter之环境搭建

Flutter是一个跨平台移动应用开发平台,和它最接近的是React Native框架,目标是一份代码,同时运行在Android, IOS设备上,其实Flutter还支持桌面端开发,也是Google的下一代操作系统Fusion的App开发框架, 可见该平台未来的发展潜力。 为了体验Flutter的跨平台开发效果,自然最好在MacOs上搭建Flutter环境,这样能同时运行And...

2019-07-20 10:11:04 416

转载 深入理解MapReduce的原理和执行过程

记得2014开始接触MapReduce时看到这篇文章,甚是清楚明了说明:本文的宗旨是给一些接触了MapReduce,但是对MapReduce原理流程还不了解的人员,也包括笔者自己,那就一起来学习吧。MapReduce的原理:MapReduce运行时,首先通过Map读取HDFS中的数据,然后经过拆分,将每个文件中的每行数据分拆成键值对,最后输出作为Reduce的输入...

2019-03-20 13:23:07 3193

转载 谷歌公布云游戏平台「Stadia」 预计2019年上线

在今天举行的 GDC 演讲上,谷歌正式公布了此前预告已久的全新云游戏平台「Stadia」。谷歌称这是一个不受硬件限制,能够将全世界所有玩家真正聚在一起的,随时随地游玩任何游戏的新服务。  「Stadia」没有实体,你可以在任何一个能够使用 Chrome 的联网设备启动,无需任何下载,只需等待数秒即可开始游戏,并且还可以在不同平台之间无缝切换。发布会上谷歌用《刺客信条 奥德赛》作为例子...

2019-03-20 13:04:35 3034

转载 一文读懂Android电源管理变动历史

针对电量优化android的改动在最近几个android版本中已存在的电量优化功能基础上,Android 9 引入了一些新功能来持续改进设备电源管理,以确保将系统资源提供给最需要它们的应用.近几个android版本中电量优化功能:Android 5.0 Lollipop: 1.新增 Job Scheduling API 可以将作业推迟(合并)到稍后或指定条件下(如设备充电...

2019-03-14 14:35:14 2417

转载 深入解读App买量行业

最近花了2周的时间在全国各地跑了一圈,分别和成都、上海、广州、深圳、厦门、北京的买量发行朋友们做了很多交流(主要是喝酒),除了跟很多买量的老司机做了深入交流以外,也接触了不少刚刚踏入买量发行大军的新团队,这篇文章我还是希望继续聊买量这个话题,内容老少皆宜,希望对老司机和新人或多或少都有一些帮助。本篇内容包括:1. 从深入分析投放渠道数据,看你是为啥买不起用户的!2. 土豪入场,年度大片...

2019-03-13 13:46:42 11173

转载 深度好文,腾讯2019互联网趋势报告

导读:2019年1月,腾讯·企鹅智库正式发布长达205页的《2019-2020中国互联网趋势报告》。这是一份聚焦于未来两年,市场和用户变迁的最新数据和研究。当经济增长面临更多的复杂性,行业红利和人口红利已经告别野蛮生长时,我们也许比中国互联网历程中的任何时刻,都更需要了解我们的用户,更需要重新认识他们。因为我们从未真正认识那个完整意义上的“他们”。以下是报告正文(205页PPT):...

2019-03-12 10:03:40 6215

原创 Mac 没法登陆,进入Safe boot模式

今天突然发现我的mac电脑没法登陆进去,我的电脑密码经常使用的,不可能有错啊,在试了10多次后,只好强制重启。但是重启后,诡异的事发生了,重启启动耗时非常久,然后进入了登陆了界面,还是右上角还提示是safe boot。这下开始担心了,不仅仅是担心笔记本出了问题,更重要的是担心我笔记本里的代码及资料。这时开始后悔没有及时做好备份了,可见任何时候都必须备份重要文件,别总觉得不会出什么事,晚点再...

2019-03-04 18:53:28 8509 1

转载 机器学习大牛贾扬清离职 Facebook,即将加盟阿里硅谷研究院

雷锋网 AI 科技评论消息,继年初张潼博士离职腾讯 AI lab,又传来重磅人事变动——贾扬清离职 Facebook。昨日,有用户在知乎爆料,贾扬清已离职 Facebook,他的下一站将是阿里硅谷研究院,职级为 VP。从各路传言看来,这已经得到诸多业内人士确认。贾扬清拥有加州大学伯克利分校计算机科学博士学位、清华大学硕士学位和学士学位,曾于新加坡国立大学、微软亚洲研究院、NEC 美国实...

2019-03-03 18:35:32 2359

转载 Rxjava常用操作符

just 订阅时依次发出三条数据,不过此方法参数可以有1-9条Observable.just("Hello", "RxJava", "Nice to meet you")from 作用同just不过是把参数封装成数组或者可迭代的集合在依次发送出来,突破了just9个参数的限制String[] strings = {"Hello", "RxJava", "Nice to meet ...

2019-01-21 13:49:29 4551

原创 Android Gradle原理及机制深入分析

Gradle构建流程 总共分为三个阶段 1)初始化阶段 读取setting.gradle, 分析出项目包含的project及其他配置 2)配置阶段 递归配置根项目和下面的子项目,主要涉及配置分析即task构建,最后生成task依赖有向图 3)执行task 具体如下:...

2019-01-21 13:20:06 6120

原创 一图理解Rxjava2底层机制

Rxjava是一种响应式编程实现,响应式编程就是定义业务逻辑关系 比如正常的编程b = a + 1;这个是一个指令。执行到这里的时候,b的值已经被计算出来了 如果b <= a + 1;这是定义b和a的关系,具体的值还没有,直到 a.onNext(1);Rxjava 订阅和事件分发机制 Rxjava其实就是一个通过Observable的subcribe向上通知...

2019-01-21 09:53:04 4349

转载 2018全年AI技术大突破大总结

2018,仍是AI领域激动人心的一年。这一年成为NLP研究的分水岭,各种突破接连不断;CV领域同样精彩纷呈,与四年前相比GAN生成的假脸逼真到让人不敢相信;新工具、新框架的出现,也让这个领域的明天特别让人期待……近日,Analytics Vidhya发布了一份2018人工智能技术总结与2019趋势预测报告,原文作者PRANAV DAR。量子位在保留这个报告架构的基础上,对内容进行了重新...

2018-12-24 08:24:55 4101

原创 微信公众平台生成带场景参数二维码

最近公司需要做一个智能试衣镜,微信导流是一个核心功能。就是用户扫描试衣镜上的二维码进入我们的公众号。为了唯一标识照片,需要动态生成二维码,该试衣镜后续的每张照片都会和一个二维码绑定。用户进入扫描二维码进入我们的公众号后,会携带二维码的参数值,我们的微信公众号后台程序就找到这些的照片,然后通过点击图片用户认证过程来实现照片和用户绑定。为了改善体验,我们还使用AI识别用户进入退出试衣镜行为,一个用户...

2017-12-07 10:38:29 39401 1

转载 以太坊的工作原理, 干货

简介不管你们知不知道以太坊(Ethereum blockchain)是什么,但是你们大概都听说过以太坊。最近在新闻里出现过很多次,包括一些专业杂志的封面,但是如果你们对以太坊到底是什么没有一个基本的了解的话,看这些文章就会感觉跟看天书一样。 所以,什么是以太坊?本质上,就是一个保存数字交易永久记录的公共数据库。重要的是,这个数据库不需要任何中央权威机构来维持和保护它。相反的它以一个“无信任”的...

2017-11-28 15:48:44 10711

转载 简单分析RLP编码原理

RLP编码是以太坊数据序列化的主要方法,本文介绍RLP编码的主要规则和原理分析,RLP编码具有较好的数据处理效率,尤其是将长度和类型统一作为前缀,实际上RLP是基于ASCII编码的一种结构化扩充,既能表示长度还能表示类型,是一种非常紧凑的结构化编码方案RLP(Recursive Length Prefix,递归长度前缀)是一种编码算法,用于编码任意的嵌套结构的二进制数据,它是以太坊中数据...

2017-10-09 16:32:40 8664

转载 redux入门(1)

一年半前,我写了《React 入门实例教程》,介绍了 React 的基本用法。React 只是 DOM 的一个抽象层,并不是 Web 应用的完整解决方案。有两个方面,它没涉及。代码结构 组件之间的通信对于大型的复杂应用来说,这两方面恰恰是最关键的。因此,只用 React 没法写大型应用。为了解决这个问题,2014年 Facebook 提出了Flux架构的概念,引发了很多的...

2017-09-20 10:14:40 1223

原创 Ubuntu React Native环境搭建

安装依赖项您将需要Node,React Native命令行界面,JDK和Android Studio。虽然您可以使用您选择的任何编辑器来开发您的应用,但您需要安装Android Studio才能设置必要的工具来构建适用于Android的React Native应用。节点按照Linux发行版的安装说明安装Node 8.3或更高版本。React Native CLINode附带...

2017-09-13 10:14:40 1658

转载 Android视频编码的坑

视频开发是一个核心方向,那Camera开发一直是Android的一个核心,笔者做过Camera HAL,也做过Camera App, 同时也开发过Camera 滤镜,这个过程中也遇到和解决过很多棘手的问题,也一直想总结一篇,看到这篇后感觉总结的得非常不错,分享出来给大家,希望对大家有用。如果后续有机会我会补充更多内容, 比如文中YUV处理通过汇编来提高性能,其实通过OpenGl性能更好 ...

2017-09-12 10:02:41 9075

转载 Ubuntu恢复被删除的文件

昨天一不小心,执行了rm xx -rf,把一个项目删除了。然后就是各种悔恨,各种自责,这个项目可是一周的工作量啊。最后肯定得解决,于是google搜索发现了恢复神器extundelete,最后顺利恢复了所有被我无意中的删除的文件。感谢上天,感谢extundelete。下面将个人的经历总结下。如何使用extundelete1) 下载工具extundelete Ubun...

2017-09-01 11:33:09 5104

转载 swift enum高级用法

本文是一篇详细且具有实战意义的教程,涵盖几乎所有枚举(Enum)知识点,为你解答Swift中枚举的应用场合以及使用方法。和switch语句类似,Swift中的枚举乍看之下更像是C语言中枚举的进阶版本,即允许你定义一种类型,用于表示普通事情中某种用例。不过深入挖掘之后,凭借Swift背后特别的设计理念,相比较C语言枚举来说其在实际场景中的应用更为广泛。特别是作为强大的工具,Swift中的枚...

2017-08-31 16:40:00 19025 1

转载 数字货币钱包基础

我在前面3篇文章讲了区块链基础知识、普通人如何购买以及如何在imtoken里参与ICO。一个核心的问题其实是没有讲到的,我们这些数字货币到底怎么保存,因为之前讲的都是在交易市场上购买比特币、以太币,这些货币被保存在交易市场,本质上并不是真正进了你的钱包。(一)、钱包概念 首先,我们来理解钱包,需要澄清的是,钱包其实并不是装钱的,而是装密钥(私钥和公钥)的工具,有了密钥就可以拥有相...

2017-08-31 11:57:51 13576 3

转载 从BAT代币抢购说说gas,gasprice

ICO(Inital Coin Offering)是初创公司为开发募集资金的一种新方式。最近越来越多的项目在以太坊网络上完成ICO募资,它们募集以太币并返还参与者一种标准化的代币。这些代币代表着代币白皮书中描述的某种标的的所有权并可以被转让。你可以了解一下BAT代币作为例子。相应的代币在以太坊上是一个智能合约。ICO作为代币第一次与价格产生链接的时间点,这可能是以最低价格获得这些代币的机会,虽然从

2017-08-31 11:28:32 4063

转载 区块链学习-智能合约与ICO

什么是“以太坊”?以太坊是由程序员Vitalik Buterin创立的,是比特币交易的替代品。比特币被严格用作加密电子货币,或被视作一种转移货币价值的手段。然而,相同的区块链技术除了支付功能之外,还能用于传输数据。以太坊得以诞生于这种传输数据功能的发现。提示:不要混淆“以太坊(Ethereum)”和“以太币(Ether/ETH)”,以太坊是指技术本身,而以太币是一种数字加密货币。

2017-08-31 10:45:54 4451

转载 区块链共识机制概要扫描

一句话概括:区块链上的共识机制有多种,没有一种共识机制是完美无缺的,同时也意味着没有一种共识机制是适合所有应用场景的。本次扫描重点针对目前行业中经典的共识机制进行概要描述,用最科普的语言说明,便于大家有个全面的了解。技术特征:PoW:Proof of Work,工作量证明依赖机器进行数学运算来获取记账权,资源消耗相比其他共识机制高、可监管性弱,同时每次达成共识需要全网共同参与...

2017-08-30 18:12:06 581

转载 IOS应用如何模糊(blur)图片

For any iOS application, interface appearance is a key driver to success. Sleek and elaborate design combined with impressive look and feel of your app, can enhance user experience and add points in...

2017-08-30 10:10:25 1559

转载 永久免费!吴恩达刚公布的深度学习课程上线网易云课堂

原来中标的是网易云课堂!6 月 23 日,吴恩达宣布离开百度三个月后的创业项目:Deeplearning.ai,8 月 8 日,吴恩达的最新课程“Deep Learning Specialization” 正式在 Coursera 上线,当时AI科技大本营已经对课程内容做过详细解读。(详情内容请点击《刚刚,我们详细对比了吴恩达和Udacity的深度学习课程,你们感受下...》)不过,这门课...

2017-08-30 09:58:10 14265 1

转载 Google正面迎战苹果,用ARCore阻击ARKit

雷锋网消息,美国时间29日,Google正式推出了ARCore预览版。顾名思义,ARCore是Android平台的ARKit,一个为开发者准备的增强现实AR平台。ARCore功能较简单,目的是想让更多人使用AR。它目前支持Google Pixel手机和Galaxy S8,系统要升级到Android 7.0 Nougat或最新的Android 8.0 Oreo。ARCore会在今年冬季正式推...

2017-08-30 09:56:17 343

空空如也

空空如也

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

TA关注的人

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