Home

《大型网络架构》摘要

大型网站面对的问题 1.高并发 2.高可用 3.海量数据 4.用户分布广泛,设备情况复杂 5.安全环境恶劣 6.需求快速变更 7.渐进式发展 演化历程 1.最简单的是,应用程序、数据库、静态文件都在一台服务器上。 2.三者分离,分别在一台服务器上。应用程序服务器要求更好的计算能力,数据库服务器要求快速检索能力,文件服务器要求大容量储存。 3.大量访问数据库造成延迟,使用缓存解决:在应用程序服务器增加本地缓存,容量有限;增加分布式缓存服务器,作为远程缓存。 4.大量访问应用程序造成延迟,使用集群解决:增加负载均衡调度服务器;应用程序服务器集群中任一机器都提供相同的完整功能,可以不断增加服务器数量来改善性能,实现可伸缩性。 5.使用缓存后数据库仍然有压力,使用读写分离解决:写数据时访问主...

Read more

《萍踪六记》下载

游戏介绍 《萍踪六记》是一款Android端悬疑武侠单机RPG,目前完成了第一案《长风镖局杀人事件》。 常见的游戏机制我就不介绍了。只说一下2个特色玩法: 随机卡牌式战斗 战斗分为【进攻回合】与【防守回合】。 在进攻回合,玩家会自动抽取6张卡牌。每张卡牌由3个随机因子决定: 1.招式:从玩家已学会的招式中随机一个,招式分为3种,拳掌、内劲、兵器,三者循环相克 2.威力:右上角的数字,从1~5随机,决定了此次出招的威力 3.消耗AP:左下脚的数字,计算方法为招式的基础AP消耗+从1~3随机 玩家选择1张卡牌后,点击敌人,开始攻击。 敌人会随机使用【御拳】【御剑】【御劲】3种防御方式。克制关系会极大影响玩家的伤害效果。 玩家结束攻击后,有一定概率触发队友援助攻击(前提是玩家有会武功...

Read more

RxJava概述

解决什么问题 解决回调地狱问题。 回调地狱往往出现在观察者模式和异步编程中,所以RxJava给出在这两种场景中,以链式编程代替多重回调嵌套的解决方案。 架构 基于四个基础接口:Publisher、Subscriber、Subscription、Processor Observable ( 被观察者 ) / Observer ( 观察者 ) 不支持背压 Flowable (被观察者)/ Subscriber (观察者)支持背压 ObservableEmmiter,发射器,重写subscribe()定义发送的事件以及发送事件前执行的任务 观察者模式 分三步: 1、创建事件发送者Publisher,定义发送的事件以及发送事件前执行的任务; 2、创建观察者Subscriber,定义接到事件...

Read more

Https概述

特点 1、内容加密:采用混合加密技术,中间者无法直接查看明文内容 2、验证身份:通过证书认证客户端访问的是自己的服务器 3、保护数据完整性:防止传输的内容被中间人冒充或者篡改 混合加密:结合非对称加密和对称加密技术。客户端使用对称加密生成密钥对传输数据进行加密,然后使用非对称加密的公钥再对秘钥进行加密,所以网络上传输的数据是被秘钥加密的密文和用公钥加密后的秘密秘钥,因此即使被黑客截取,由于没有私钥,无法获取到加密明文的秘钥,便无法获取到明文数据。 数字摘要:通过单向hash函数对原文进行哈希,将需加密的明文“摘要”成一串固定长度(如128bit)的密文,不同的明文摘要成的密文其结果总是不相同,同样的明文其摘要必定一致,并且即使知道了摘要也不能反推出明文。 数字签名技术:数字签名建...

Read more

WebView开发

WebView 加载URL //方式1. 加载一个网页: webView.loadUrl("http://www.google.com/"); //方式2:加载apk包中的html页面 webView.loadUrl("file:///android_asset/test.html"); //方式3:加载手机本地的html页面 webView.loadUrl("content://com.android.htmlfileprovider/sdcard/test.html"); // 方式4: 加载 HTML 字符串 WebView.loadData(String data, String mimeType, String encoding) 生命周期 //激活WebView为...

Read more

AndroidNFC

NFC应用架构 当开启NFC功能,监测到附近有标签时,标签调度系统会执行: 1、解析NFC标签并搞清楚标签中标识数据负载的MIME类型或URI; 2、把MIME类型或URI以及数据负载封装到一个Intent中。 3、基于Intent来启动Activity。 开发人员需要指定自己开发的Activity所匹配的MIME类型或URI,这样标签调度系统就会调起这个Activity,并调用onNewIntent(),把数据封装为Intent传过来。 声明权限 <uses-feature android:name="android.hardware.nfc" android:required="true" /> <uses-permission a...

Read more

AndroidNFC

NFC应用架构 当开启NFC功能,监测到附近有标签时,标签调度系统会执行: 1、解析NFC标签并搞清楚标签中标识数据负载的MIME类型或URI; 2、把MIME类型或URI以及数据负载封装到一个Intent中。 3、基于Intent来启动Activity。 开发人员需要指定自己开发的Activity所匹配的MIME类型或URI,这样标签调度系统就会调起这个Activity,并调用onNewIntent(),把Intent传过来。 声明权限 <uses-feature android:name="android.hardware.nfc" android:required="true" /> <uses-permission androi...

Read more