自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (2)
  • 收藏
  • 关注

原创 流程图式编程

问题抛出:在实际编程情况下,我们经常会遇到一大串连续的操作(甚至可以理解为所有程序基本都是由一个个节点组成),类似以下这也是对于一个高档一点点的程序员,每次实际动手写程序前要做的一件事(画流程图)。这算是一个极其简单的流程图,但是,落实到实际代码里面,庞大的代码量,错综复杂的回调,最终导致的结果就是,这个程序感觉主逻辑代码很“飘”。也给后期的审查带来一定的不方便。问题解决:如果我们的主逻辑代码,就...

2018-06-11 20:19:21 11524 3

原创 8. 何为ECC

ECC

2023-06-01 20:47:11 1003

原创 数据库ID优化设计

常规的Mysql ID设计方案自增ID UUID 雪花ID优缺点:自增ID: 如果需要迁移,那就是灾难,不在过多赘述,太简单UUID: 无序,对于Mysql的B+树数据结构来说非常不友好,严重降低了插入速度,因为无序就会导致页数据重新排列雪花ID: 宏观来说是有序的,但是每台机器的时间不可能完全相同,在并发比较频繁的时候,必然会存在后面的ID比前面ID更小的情况。雪花ID先来个扫盲,雪花ID其实就是一个Uint64的整数,组成形式是40位时间戳 + 13位机器识别码 + 1

2021-07-09 21:06:14 916

原创 登录接口设计

问题引入每个系统都有自己的账户系统,有账户系统,那就必然面临登录的概念,登录就要在互联网中传输密码,在互联网中传输密码就存在被人攻击和窃取的可能,如何做到密码传输安全可靠呢?解决方案1Https就已经保证了传输安全,不需要再进行加密问题所在有些大厂,为了能监控员工的网络,防止重要数据外泄,会在你的电脑上面安装企业证书,到了企业网关时,都会被拦截下来,由于电脑上面安装了企业证书,浏览器就信任了企业的“非法”证书,那网关就可以把所有请求数据明文解析出来,如果说我们的重要账号密码(比如银行)被

2021-02-17 11:18:13 1125

原创 7. Applepay 解码实操-golang

文档参考apple 官网的文档:Applepay解密过程源码路径:Apple Pay源码路径原始数据Base64解码这里以RSA作为介绍,源码里面包含了Ecc的,文章不重复写{ "version": "RSA_v1", "data": "N6h9l7hs9bUn1DGfc9MEEhP9/COm5AVsIuzKSXMcG85P7FkR058VuQnYRCY+EiTx3Kde7EUfrCnHWeGurDEB5v5au0Omo8uLyKAMsFeEJYntgLw8Wnhf98UlrlT0

2020-11-14 17:19:02 1223

原创 6. 支付常见坑总结(持续更新中……)

我们失败了,银行成功了这是支付里面,最最最常见的一种错误,如果是没有接触过支付的人,100%会踩的一个坑。这种问题基本都出在网络交互的原理理解上面:最常规的http交易来说,如果http报了错误,大部分码农是直接认为这笔交易失败。这是非常致命的一种想法,一次Http交互,大致可以分为以下4步:建立连接 发送数据 接收数据 断开连接这里,每一步都有可能存在错误。但是并不代表每个地方出错的处理方式都是一样的。建立连接时失败了,这笔交易是失败的,这是毫无疑问 发送数据失败,我们知道h

2020-10-11 22:30:29 223

原创 5. 支付里面的常用加密

加密类型:对称加密:DES,AES 非对称加密:RSA,ECC对称加密的概念用一个加密和解密的Key是相同的。属于可逆运算非对称加密加密和解密是不同的Key,属于不可逆运算,一般叫做公钥和私钥。公钥一般用来加密,私钥用来解密。私钥用来签名,私钥用来验签。常规问题:是否可以用私钥加密,公钥解密,公钥签名,私钥验签?先告诉大家,答案是可以的。签名 = 原始数据计算Hash + 用私钥对Hash进行RSA加密所以,本质上来说,签名,其实就是用私钥加密,反过来当然也是成立的,

2020-10-11 21:12:43 1709 1

原创 4. Applepay 详解

Applepay其实,我们在上一篇文章说过,其实就是一种电子钱包+3DS组合而成,那我们分解这2个过程来剖析Applepay。谣言:我们先来扫盲一下,其实国内大部分小伙伴都很熟悉微信支付宝,交易过程大概是这样,调用微信支付宝,然后他们返回给我们成功,这笔交易就完成,类似如下时序图:其实,applepay不是这种时序图!!Applepay交易时序图Note:这种是最原始的applepay交易时序图,可能有很多第三方SDK封装了很多层,会把中间的很多流程给封装一次,让时序看起来不是这

2020-10-09 21:18:23 1318 2

原创 3. 卡安全认证

卡号直接输入 卡号,有效期进行交易。这种是风险最高最高的交易,国内一般来说不允许,海外可以(所以要保护好自己的卡号不要轻易告诉别人)。非常容易盗刷,产生ChargeBack,这种交易对商户费率来说一般也是最高的。磁条卡也就是刷磁条卡,这种交易也是风险比较高,国内已经不发行磁条卡了,磁条卡就是卡片里面有一串肉眼看不到的数据,通过刷磁条的方式读取出来,进行交易,所以,只要拿到你的卡片,分分钟可以复制出来一张一模一样的卡片。EMV卡接触式IC卡,非接触式IC卡。 这种芯片卡,包含程序代码和数据

2020-09-30 19:36:51 646

原创 2. 支付方式(Payment Methods)

支付方式国内常见的:微信支付(Wechat Pay),支付宝支付(Alipay),云闪付(Unionpay QR),银联(Unionpay) 海外常见支付:Visa,Mastercard,JCB,PayPal,JCB,American Express 电子现金:公交卡,八达通(HK)用卡方式卡存在方式:刷磁条卡,就是我们信用卡背后有一条黑色的磁条 接触式IC卡,银行卡有一小块金属,把卡片插入POS机进行读取数据 非接触式IC卡,银行卡里面有NFC线圈,就和我们刷公交卡一样,拍一下就可以

2020-09-30 19:27:18 6754

原创 1. 支付机构

机构名词:发卡行(Issuer):发行银行卡的机构,比如中国银行,农业银行,工商银行,建设银行……真正存钱的地方 卡组织(Card Brand):Visa,MasterCard,Unionpay,JCB,American Express,JCB…… 收单行(Acquirer):签约商户,直接处理交易,清算机构 商户(Merchant): 就是实际进行经营的商户 机构之间的关系图:正常来说,商户和收单行之间还会有一层自己的后台服务。如果需要做这个服务,请注意,服务器需要通过PCI D...

2020-09-30 19:02:19 536

原创 android https 双向认证--高级

https双向认证,这种一般不会在android遇到,因为这种正常是服务器和服务器之间通信采用,而且是银行金融类用的比较多。用在android端的话,不仅起不到安全作用,反而会让https不安全,因为加密对称秘钥的公私钥需要存放在客户端。具体为什么不安全,这是很基础的知识,这里不讲。正常需要用到双向认证时,会给我们2个证书:Ca证书 和 .p12结尾的证书, 这种做法比较简单,网上到...

2019-06-12 16:26:35 1274

原创 android 使用crt/cer/pem格式的公钥证书

问题:android在网络各种教程里面,都是只有BKS的格式,但是一般后端给我们的公钥证书都是crt/cer/pem格式的,这种时候,常用的做法就是用keytools转换成bks格式。 个人感觉,这种做法很low,一眼就能让别人感觉你完全不懂证书其实我们常用的证书就2大种:16进制的 16进制进行base64编码后(这种尤其常用),添加 ----BEGIN CERTIFICATE...

2019-06-12 16:12:32 7070 1

原创 TFlow排队顺序处理循环事件

同样,抛出问题:我们会遇到会有一大串数据,需要重复去操作。比如,把整个文件夹下面的所有文件,上传到我们的服务端。这个LoopAction,我们可以分成几个部分:生成Bean模块,循环参数控制(每次循环获取的输入参数) 消费Bean模块(执行上送操作) 每次执行消费模块的结果返回 全部循环结束后,对整个循环过程结果进行外报TFlow解决方案:// <List...

2019-04-20 17:40:06 838

原创 TFlow的超时检测,delay操作

1. 同样,先抛出问题:我们常常会有担心一个功能比较复杂的SDK会出现bug,导致程序一直卡在这个点,影响程序继续进行,我们通常需要在这种操作单独添加一个定时器,当定时器超时时,认为这个Action已经异常,需要执行异常处理。TFlow如何解决这种问题:在添加Action时,可以设置一个action超时参数:RunParameters setTimeout(long timeou...

2019-04-20 17:10:58 282

原创 Lifecycle获取Activity和Fragment生命周期

抛出问题:           经常,我们会用到单例模式,也就是静态类,并且静态类会传入一些回调(Listener)。但是,这个回调(Listener)会被单例模式所持有,此时问题来了,activity就会无法回收。导致内存泄漏。解决方法:1.  单例模式开放一个释放资源的接口(listener = null 的方法),activity在onDestory时,主动去调用一下,用来释放,这种方法可以...

2018-07-11 21:03:01 5159

原创 流程图式编程2(流程打断)

在实际开发情况下,我们会经常遇到这么一个问题:流程1-&gt;流程2-&gt;流程3-&gt;流程4……这些流程都是自动执行的,并且耗时的,如果,在流程执行过程中,用户需要终止流程。通常按照我们的做法,就是设置一个标志位,每个流程启动前,都判断一下标志位,是否停止,再考虑是否继续往下执行。这种操作,对于我个人观点来说,简直就是狗屎吧。。正好TFlow框架正好可以提供一个很好的解决这种问题的方法,因...

2018-06-21 13:58:27 919

原创 解耦合

广大程序猿同胞,经常会看到“解耦合”,也有很多人,会用这个词来装X,但是,实际真正能理解的人,并不多。接下来,带大家深入浅出的走一遍,如何解耦合。首先,我们要知道,为什么要解耦合:通常,我们做一个项目,会用到很多基础功能块,比如xxx通信协议,xxxView等等,我们会把这种功能块封装成一个库,如果这个库,只能在这个指定的项目运行,这就叫高耦合,这就导致了,如果下次再次遇到一个类似的项目,需要用到...

2018-04-05 15:43:24 17356 1

原创 android 跑马灯效果

项目地址:https://github.com/superTruth/AutoScrollLayout&lt;cn.supertruth.autoscrolllayout.AutoScrollLayout android:layout_width="match_parent" android:layout_height="wrap_content"&gt; ...

2018-04-05 14:25:34 204

原创 简化使用android ble使用(TBBLE)

项目地址:https://github.com/superTruth/TBBLE-android项目简介本项目用于简化android BLE的使用,解决了:1.android手机适配2.发送数据自动拆包,无需关注拆包问题3.解决android BLE假连接问题4.数据发送扁平化(把所有数据串行发送,避免资源竞争)使用方法1. 创建/获取蓝牙管理对象    TBBLEManager tbbleMan...

2018-04-05 11:24:41 405

原创 IOS BLE从入门到精通

**系统要求:IOS7.0开始支持BLE,但是这里使用swift语言,swift是需要IOS8.0以上,所以,这里系统都是IOS8.0以上 硬件要求:iphone 4s以上(包含4s),才有BLE硬件。** 1.先获取到一个蓝牙的manager:// BLE需要蓝牙库支持,所以,需要导入蓝牙框架import CoreBluetoothmanager = CBCentralManager(de

2016-07-29 20:09:15 3993

原创 微信硬件平台从入门到精通(服务器端) 2

(网页方式)接下来,进行服务器(PHP,thinkphp框架)的代码编写: 1.获取令牌token,并且保存成公用的数据,因为token每天申请的次数是有限制的,所以,不能每次请求都去申请token,这样次数很快就用完了。namespace Home\Controller;use Think\Controller;class CommonController extends Controlle

2016-06-02 20:24:11 3040

原创 微信硬件平台从入门到精通(服务器端)

现在国内外各大厂家都在推自己的一套物联网方案,都想把智能家居协议推广到千家万户,所以,有了格力家电需要格力的app,美的需要美的的app,……最终,买好家电,自己手机就装了一大包app,谁也不爽。目前个人还是比较看好微信物联。毕竟微信有大量的活跃用户,这个推广起来会相对现实点。废话不多说,下面我们开始进入正题: 1.首先我们得需要一个公众号,公众号就相当于微信app的一个入口。 2.申请一个测试

2016-05-30 21:10:11 10122 1

原创 中兴部分手机BLE不能带参数扫描

今天刚刚发现一个问题:中兴手机android5.0以下手机,不能使用带参数的的BLE扫描。mBluetoothAdapter.startLeScan(serviceUuids, lescancallback);这种方式在中兴android5.0以下手机,会出现没有回调结果的现象。其他手机暂时没发现。所以,只能通过不带参数的扫描方式,自己分析广播数据,进行过滤

2016-05-30 19:42:08 751

原创 android 进程防止被杀死

每个公司都想把自己的app时时刻刻运行在用户的手机上面,就算当用户点击清理应用时,也能够不被杀死。这种app有几个典型的,就是微信,QQ,支付宝这类的。 网络上面,很多人提出各种方法: 1.提升应用等级 2.重启应用 3.守护进程 …… 实测,没有卵用,守护进程,会在杀死时,同时被杀死。微信,QQ,这类是怎么实现的,为什么只有这几个特别有名的app才能够实现不被杀死的呢?如果是说是什么特

2016-05-27 17:13:28 4198 1

原创 android BLE从入门到精通开发2

这次说一下BLE的广播数据格式,也就是android扫描回调里面byte[] scanRecord这个参数: 先假设这次扫描到的结果是: 上面的全部广播数据,就是byte[] scanRecord的所有数据,没有进过任何处理的。 下面的分析广播数据就是进过分析后的:有设备名,等等数据每条广播数据格式是这样的: 长度(1byte) key值(1byte)数据(长度-1 byte) 也就

2016-05-26 20:31:35 2854 1

原创 android BLE从入门到精通开发

目前智能家居都被看成是下一个科技爆发点,而智能家居里面使用的技术,响应最高的就算是BLE了,下面,我们说一下android怎么开发BLE,和要注意的一些问题:1.首先,得知道,android是从android4.3版本才开始支持BLE的,所以,开发的前提就是要知道系统的支持:if (android.os.Build.VERSION.SDK_INT < 18) { // 说明sdk不够高版本

2016-05-25 19:41:20 15481 9

原创 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-05-25 19:37:08 385

汇编指令集.doc

有了汇编指令集,就可以自由查找汇编的复杂而繁多的指令功能,提供方便。

2011-09-21

模电第四版答案(华成英)

本资源用来帮助各位的模电学习之用。这里这个压缩包的内容比较多,是我们老师给我们的。

2011-03-15

空空如也

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

TA关注的人

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