layer

蓝牙core_v5.2协议-3

非 Y 不嫁゛ 提交于 2020-09-29 08:34:36
继续上篇文章内容,我们继续VOL1中的3.5 LOGICAL LINKS AND LOGICAL TRANSPORTS小节之后的内容学习。本章节讲述了BLE传输数据时候,不同的数据流应该采用不同的协议去传输,即使用什么样的协议去传输什么样的数据。举个比较简单的例子:之前章节我们提到,ADV的广播方式是不可靠的数据传输方式,如果应用要求传输数据可靠度很高,就不可以采用ADV的方式去传播数据。 以下列举了目前BLE支持的logical transport方式:ACL(基于connect的可靠传输), ADV(基于广播的不可靠传输), ISO(流数据传输) 1. 传输使用的Logical transports介绍 LE ACL:基于连接的,用于传输LL and L2CAP control signaling and best effort asynchronous user data。此种传输使用NESN/SN和access address来保证传输的可靠性。传输的link包括LE-C,LE-U. LE advertising broadcast (ADVB):基于广播的,broadcast control and user data to all scanning devices in a given area。不可靠的数据传输方式。传输的link包括ADVB-C,ADVB-U.

Android 绘制同心圆 (2个圆叠加在一起)

强颜欢笑 提交于 2020-09-29 08:34:16
实现的效果如下图 大小根据需求修改即可 使用layer-list 具体代码如下 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="oval" android:useLevel="true"> <size android:width="100dp" android:height="100dp" /> <solid android:color="@android:color/white" /> <stroke android:width="5dp" android:color="@android:color/holo_blue_bright" /> </shape> </item> <item android:bottom="50dp" android:left="50dp" android:right="50dp" android:top="50dp"> <shape android:shape="oval" android:useLevel="true"> <size android:width="100dp" android:height="100dp"

从输入URL到页面加载的全过程

房东的猫 提交于 2020-09-27 18:03:50
前面的话   本文将详细介绍从输入URL到页面加载的全过程 概述   从输入URL到页面加载的主干流程如下:   1、浏览器构建HTTP Request请求   2、网络传输   3、服务器构建HTTP Response 响应   4、网络传输   5、浏览器渲染页面 构建请求   1、应用层进行DNS解析   通过DNS将域名解析成IP地址。在解析过程中,按照 浏览器缓存 、 系统缓存 、 路由器缓存 、 ISP(运营商)DNS缓存 、 根域名服务器 、 顶级域名服务器 、 主域名服务器 的顺序,逐步读取缓存,直到拿到IP地址   这里使用DNS预解析,可以根据浏览器定义的规则,提前解析之后可能会用到的域名,使解析结果缓存到 系统缓存 中,缩短DNS解析时间,来提高网站的访问速度   2、应用层生成HTTP请求报文   接着,应用层生成针对目标WEB服务器的HTTP请求报文,HTTP请求报文包括起始行、首部和主体部分   如果访问的google.com,则起始行可能如下 GET https: // www.google.com/ HTTP/1.1   首部包括域名host、keep-alive、User-Agent、Accept-Encoding、Accept-Language、Cookie等信息,可能如下 Host: www.google.com Connection:

FlutterDojo设计之道—状态管理之路(三)

拈花ヽ惹草 提交于 2020-09-27 13:09:24
  Dart作为一个现代化的编程语言,吸收了很多语言的特点,特别是响应式编程的风格。   通过Dart提供的Stream机制,Flutter可以很轻松的构建响应式的编程方式,同时也让跨页面、跨Widget的数据管理问题迎刃而解。   Flutter的响应式编程,具有下面几个特点。   数据的管理,围绕Stream进行,通过Stream的sink和listen,来进行数据的管理   Widget发出Stream后,无需感知外界的影响,同样的,Widget在listen Stream时,只需要根据数据的改变来构建UI   Widget之间不再耦合,通过Stream管道获取数据,互相无依赖   借助Flutter的这个特性,Google在数据管理之路上提出了BLoC模式。   BLoC模式由Paolo Soares和Cong Hui设计,并谷歌在2018的DartConf首次提出,全称Business Logic Component。      在BLoC模式下,Widget与Data彻底解耦:   App的业务逻辑处理都在BLoC中   Widget通过Sink向BLoC发送数据   BLoC通过Stream通知Widget重建UI   这其实有点类似MVP、MVC模式,BLoC模式将整个App分为三层,Data Layer、BLoC Layer、UI Layer,Data

强化学习(九)Deep Q-Learning进阶之Nature DQN

淺唱寂寞╮ 提交于 2020-09-26 17:36:57
    在 强化学习(八)价值函数的近似表示与Deep Q-Learning 中,我们讲到了Deep Q-Learning(NIPS 2013)的算法和代码,在这个算法基础上,有很多Deep Q-Learning(以下简称DQN)的改进版,今天我们来讨论DQN的第一个改进版Nature DQN(NIPS 2015)。     本章内容主要参考了ICML 2016的 deep RL tutorial 和Nature DQN的论文。 1. DQN(NIPS 2013)的问题     在上一篇我们已经讨论了DQN(NIPS 2013)的算法原理和代码实现,虽然它可以训练像CartPole这样的简单游戏,但是有很多问题。这里我们先讨论第一个问题。     注意到DQN(NIPS 2013)里面,我们使用的目标Q值的计算方式:$$y_j= \begin{cases} R_j& {is\_end_j\; is \;true}\\ R_j + \gamma\max_{a'}Q(\phi(S'_j),A'_j,w) & {is\_end_j \;is\; false} \end{cases}$$     这里目标Q值的计算使用到了当前要训练的Q网络参数来计算$Q(\phi(S'_j),A'_j,w)$,而实际上,我们又希望通过$y_j$来后续更新Q网络参数。这样两者循环依赖

Graph Convolution Neural Network

无人久伴 提交于 2020-09-26 13:37:23
文章目录 往期文章链接目录 Convolutional graph neural networks (ConvGNNs) GCN Framework GCN v.s. RecGNN What is Convolution Spatial-based ConvGNNs Message Passing Neural Network (MPNN) Introduction to MPNN Shortage of the MPNN framework GraphSAGE (SAmple and aggreGatE) Overview of GraphSAGE Aggregator Fuctions PATCHY-SAN Overview of PATCHY-SAN Two problems considered in PATCHY-SAN Steps of PATCHY-SAN 往期文章链接目录 往期文章链接目录 Convolutional graph neural networks (ConvGNNs) Convolutional graph neural networks (ConvGNNs) generalize the operation of convolution from grid data to graph data. The main idea is to

在ART-Pi H750上移植TouchGFX(一)——使用STM32CUBMX生成TouchGFX工程

ぃ、小莉子 提交于 2020-09-25 11:23:35
目录 在ART-Pi H750上移植TouchGFX(一)——使用STM32CUBMX生成TouchGFX工程 在ART-Pi H750上移植TouchGFX(二)——制作MDK的外部QSPI-FLASH烧录算法 在ART-Pi H750上移植TouchGFX(三)——移植TouchGFX到RT-Thread系统 在ART-Pi H750上移植TouchGFX(四)——使用RT-Thread Studio移植TouchGFX 在ART-Pi H750上移植TouchGFX(五)——制作ST-LINK的外部QSPI-FLASH烧录算法 实验平台: 硬件: RT-Thread官方ART-PI H750开发版,正点原子4.3寸RGBLCD屏(800*480) 软件: 最新版本的STM32CubeH7固件库,TouchGFXDesigner v4.14和 STM32CubeMX V6.0.1,开发环境MDK v5.29 联系作者: 关注公众号,免费查看,回复“加群”,加入技术交流群 从零开始创建TouchGFX UI项目 选择MCU型号(STM32H750XBH6) 选择和配置组件(系统、外设、中间件) 系统需要 RCC SYS GUI功能需要 I2C FMC 在主程序中添加SDRAM的初始化代码: # define REFRESH_COUNT 677 # define SDRAM

JAVA期末大作业 中国跳棋

落爺英雄遲暮 提交于 2020-09-25 03:26:02
  PS:这学期期末成绩差不多出完了,接下来会陆续把这学期课程中的代码陆续扔到这里来以便后人****,同时自己也留个纪念。   本学期选了java选修,期末大作业面向GitHub编程写了个中国跳棋。代码中还有写小bug,不过懒得调了...   update: github      1.游戏介绍    中国跳棋,简称跳棋,是一种可以让二至六人一起玩的棋,棋盘为六角星形状,棋子一般分为六种颜色,每种颜色有 10 或 15 枚棋子(或弹珠),每一位玩家占一个角,执一种颜色的棋子,如果玩的人数较,也能每人执两种颜色的棋子玩。 游戏规则如下: 先将一种颜色的棋子按规则全部放在一个角上,各人循顺时针或逆时针方向轮流走子,每次只能动一枚棋子,全部棋子先到达对角那一边的为赢家。棋子有两种走法: 1) 一枚棋子移动到相邻六格其中一格。 2)“ 搭桥 ”: 自己的棋子 (A) 同一条直线上还有一枚棋子 (B), 不限属于哪一方 , 大家之间没有任何棋子阻隔。如果 B 的另一方也没有棋子阻隔, A 就可以跳到 B 的相反方向,而且和两枚棋子原来的距离一样。跳跃可以一直进行下去,直到没有前进的路径为止。如果有循环情况,可在任意一处停下。 2.项目介绍      1 )本跳棋 project 支持两人、四人、六人跳棋对战     2 )具有计时功能,可显示当前时间,同时也可判断当前玩家是否超时     3

游戏音效常见的格式

折月煮酒 提交于 2020-09-24 23:56:31
无论什么类型的游戏,音效都占据不可缺少的位置,或多或少都会有音效的存在,那么到底什么格式的音效不仅体量小,并且还能在游戏中发挥最大作用呢?下面跟着小编一起来看看。 (1) WAV 格式 网络游戏的音效一般都是采用这种格式的音频文件,而声音引擎对WAV的支持也是最好的。WAV音频格式是微软公司开发的一种声音文件格式,它符合 RIFF 文件规范,用于保存 Windows 平台的音频信息资源,在Windows台得到了广泛的支持。这种格式支持MSADPCM、CCITT A LWA等多种压缩算法,支持多种音频数字采样频率和声道。 WAV 音频格式具有简单的编码、解码和无损的存储等特点。它的缺点是需要占用很大音频存储空间。常见的WAV文件使用 PCM 无压缩编码,这种WAV文件的品质很高,但体积却很大。一分钟 44KHz、16Bit 立体声的WAV文件大约占用10MB的存储空间。 WAV 格式的音频通常用三个参数来表示声音的品质,它们分别是采样精度、采样频率和声道数。 44.1KHz 16bit是Windows无压缩标准采样格式,和标准CD的品质相当,也就是说Wav 格式的16bit 44.1KHz的音频在Windows环境下是最保真的。同时WAV是Window标准格式, 可以保证最佳的兼容性,WAV格式的音效在输入到声音引擎后,音效的立体声向位由声音引擎在游戏过程中实时控制。 (2

Hacker News 简讯 2020-08-27

人走茶凉 提交于 2020-09-24 23:56:10
最后更新时间: 2020-08-27 22:00 Scrollbar Blindness - (svenkadak.com) 滚动条盲 得分:56 | 评论:11 Show HN: Olaf – Acoustic Fingerprinting on the ESP32 and in the Browser - (0110.be) 在ESP32和浏览器中显示HN:Olaf–声学指纹 得分:65 | 评论:12 Hunting the Nearly-Invisible Personal Website - (cheapskatesguide.org) 几乎看不见的个人搜索网站 得分:71 | 评论:27 We Used Blank Spots in China's Maps to Investigate Xinjiang's Camps - (buzzfeednews.com) 我们用中国地图上的空白点来调查新疆的难民营 得分:135 | 评论:62 Schrödinger’s Cat When Nobody Is Looking - (nautil.us) 当没有人注意时,薛定谔的猫 得分:14 | 评论:0 The potentially revolutionary Celera 500L aircraft - (thedrive.com) 具有潜在革命性的赛莱拉500L飞机 得分