gravity

纽约时报阅读笔记

回眸只為那壹抹淺笑 提交于 2020-10-23 04:46:38
文章目录 1.国际 # 1全球经济重心早已向亚洲转移 1.国际 # 1全球经济重心早已向亚洲转移 短语词汇 gravity of the global economy 全球经济重心 languish 衰弱的 glimpse 介绍 reverse the trends of 逆转…趋势 baffle 使困惑 get into bed with 和…牵扯到一起 veto 反对 liberal left 左派的自由主义 capitalism 资本主义 inflammatory 煽动性的 brexiter 脱欧派 downside 缺点、不利方面 wobbly polity 摇摆不定的政体 fortress mentality 堡垒心态,保护意识 来源: oschina 链接: https://my.oschina.net/u/4322619/blog/4333510

自己动手写游戏:Flappy Bird

为君一笑 提交于 2020-10-23 02:27:36
   START: 最近闲来无事,看了看一下《C#开发Flappy Bird游戏》的教程,自己也试着做了一下,实现了一个超级简单版(十分简陋)的Flappy Bird,使用的语言是C#,技术采用了快速简单的WindowsForm,图像上主要是采用了GDI+,游戏对象的创建控制上使用了单例模式,现在我就来简单地总结一下。 一、关于Flappy Bird   《 Flappy Bird 》是由来自越南的独立游戏开发者Dong Nguyen所开发的作品,游戏中玩家必须控制一只小鸟,跨越由各种不同长度水管所组成的障碍,而这只鸟其实是根本不会飞的……所以玩家每点击一下小鸟就会飞高一点,不点击就会下降,玩家必须控制节奏,拿捏点击屏幕的时间点,让小鸟能在落下的瞬间跳起来,恰好能够通过狭窄的水管缝隙,只要稍一分神,马上就会失败阵亡。简单但不粗糙的8比特像素画面、超级马里奥游戏中的水管、眼神有点呆滞的小鸟和几朵白云,白天夜晚两种模式便构成了游戏的一切。玩家需要不断控制点击屏幕的频率来调节小鸟的飞行高度和降落速度,让小鸟顺利通过画面右方的管道缝隙。如果小鸟不小心擦碰到了管子的话,游戏便宣告结束。 二、游戏设计 2.1 总结游戏印象   玩过的Flappy Bird的童鞋们应该都对这款游戏有印象,现在我们来看看这款游戏的特点:   (1)这款游戏的画面很简单:一张背景图,始终就没有变过;   (2

ML-Agents(六)Tennis

吃可爱长大的小学妹 提交于 2020-10-13 10:00:09
目录 ML-Agents(六)Tennis 一、Tennis介绍 二、环境与训练参数 三、场景基本结构 四、代码分析 环境初始化脚本 Agent脚本 Agent初始化与重置 矢量观测空间 Agent动作反馈 Agent手动操控 五、训练 普通训练(不带可变参数) 可变参数设置 一个可变参数训练 两个可变参数训练 总结 ML-Agents(六)Tennis 喜欢的童靴希望大家多多点赞收藏哦~ 这次Tennis示例研究费了我不少劲,倒不是因为示例的难度有多大,而重点是这个示例的训练过程中遇到了许多问题值得记录下来,其次这个训练是一个 对抗训练 ,也是比较有意思的示例。 一、Tennis介绍 首先来看看效果~ OK,可以看到画面中有18个网球场,然后蓝色的球拍和紫色的球拍互相对打。这里注意一下,场景虽然都是3D的,但实际上球拍和球只在球场的中轴线上上下左右移动,也就是说其实换个相机位置的话,这里其实是个二维打球模拟。 当然了,这样算是简化了训练的过程,这个示例大部分所用到的内容和3D Ball差不多,主要有一个可以深化学习的就是 对抗训练 。下面我们来先看一下官方对该示例的参数。 二、环境与训练参数 老规矩,先来看一下官方文档参数: 设定:两个agents控制球拍进行双人游戏,来回击打球过球网 目标:一方agent必须打击球,以使对手无法击回球 Agent:在这个环境中

TCP 传输链接的释放

会有一股神秘感。 提交于 2020-10-10 01:59:02
摘自:《深入理解计算机网络》 王达著 机械工业出版社 相关知识链接 1. IPV4数据报头部格式 2. IPv6数据报头部格式 3. IPv4数据报的封装与解封装 4. IPv4数据报的分段与重组 5. ARP协议报文格式及ARP表 6. ARP地址解析原理 7. ICMP协议及报文格式 8. IPv6协议族的其它协议 9. TCP的主要特性 10. TCP的套接字 11. TCP端口 12. TCP连接状态转移 13. TCP传输的建立 TCP 传输链接的释放 当 TCP 连接建立以后,就可以在两个方向传送数据流。当 TCP 的网络应用进程再没有数据需要发送的时候,就可以发出关闭连接命令,释放连接。TCP 是通过发送 FIN 字段置1的数据段来作为关闭传输连接的命令,从而关闭本端数据流的,但是本端仍还可以继续接收来自对端的数据,直到对端也使用了同样的方法关闭那个方向的数据流为止,,这时整个双方传输连接就彻底关闭了。 单方面主动关闭的 TCP 连接释放过程 相对 TCP 传输连接建立的三次握手过程来说,TCP 传输连接的释放过程要稍微复杂一些,需要经过四次握手过程。这是由 TCP 的半关闭(half-closed)特性造成的,因为这一个 TCP 连接是全双工(即数据在两个方向上能同时传递),每个方向必须单独进行关闭。TCP 传输连接关闭原则如下

Android 开发学习进程0.14

北城以北 提交于 2020-10-04 00:45:12
BindView ButterKnife 优势 绑定组件方便,使用简单 处理点击事件方便,如adapter中的viewholder 同时父组件绑定后子组件无需绑定 注意 在setcontentview之后使用,且子空间不可再使用static final属性 在不改变按钮图片大小的情况,扩大点击事件, 在较低Android版本此方法可能有问题,即src和setbackground的区别,同样可以设置背景图片,但src仅将图片资源加载,不做其他处理,而setbackground会使图片自适应与按钮大小,但也有具体属性设置,imagebutton相比常规button对图片设置更加详细,但对字处理较弱。 recyclerview设置滚动条自动将点击项滚动到中间方法## 重写linerlayout类,如下代码: public CenterLayoutManager(Context context) { super(context); } public CenterLayoutManager(Context context, int orientation, boolean reverseLayout) { super(context, orientation, reverseLayout); } public CenterLayoutManager(Context context,

Android Studio安卓学习笔记(三)Android用户界面的设计布局与组件(一)用户界面布局设计(1)

不问归期 提交于 2020-08-17 10:21:04
当我们创建了一个安卓项目后,我们会发现真正建立一个完善的安卓项目并不是想象的那么容易。其实和设计GUI可视化界面一样,开发安卓也需要考虑很多方面,主要考虑的还是界面布局和需要的组件。 一:Android用户界面布局管理 Android系统按照MVC(模型(model)-视图(view)-控制器(controller))设计模式将应用程序的界面设计与功能控制设计分离,类似于前后端分离,可以单独哦修改用户界面和后面的控制代码,而在AS中,前端的界面布局文件是在生成的应用程序框架项目的res资源目录的layout子目录中,文件名为activity_main.xml(创建新项目时可以改名字),可以用界面化的和XML文件共同管理。如果要调用资源文件,就使用R.java的R类,把res目录中的资源与id编号进行映射,用id号进行资源管理。 1.布局文件的规范 (1)布局文件作为项目的资源存放在res\layout目录下,是一个xml文件,默认文件名为activity_main.xml。 (2)布局文件的根节点通常是一个布局方式,在根节点内可以添加组件作为结点。 (3)布局文件的根节点必须包含一个命名空间,为了与其他项目进行分离。 如下: xmlns:android="http://schemas.android.com/apk/res/android" (4

Android 布局控件——滚动条视图,日期,时间

最后都变了- 提交于 2020-08-15 21:42:31
今天学长讲了一些控件,比较强的那种控件。   刚开始讲了图片,但是图片我前面写过了就跳过。 滚动条牛牛们应该很熟悉,也常用哈。    这是垂直的滚动条视图哈 一起来用吧! <ScrollView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/scrollView" android:fillViewport="true"> <TextView android:id="@+id/text" android:layout_width="70dp" android:layout_height="wrap_content" android:background="@color/colorPrimary" android:gravity="top" android:layout_marginBottom="100dp" android:text="text"> </TextView> </ScrollView> 主活动: final TextView t=findViewById(R.id.text); for (int i = 0; i <30; i++) { t.append("\n分"+i); } 效果: 注意右边的那个灰色的,就是滚动条啦! 注意:

Java问题定位之Java线程堆栈分析

纵然是瞬间 提交于 2020-08-15 03:42:25
采用Java开发的大型应用系统越来越大,越来越复杂,很多系统集成在一起,整个系统看起来像个黑盒子。系统运行遭遇问题(系统停止响应,运行越来越慢,或者性能低下,甚至系统宕掉),如何速度命中问题的根本原因是我们接下来讲的目的。本系列文章将Java问题定位的方法体系化,提供一种以黑盒子方式进行问题定位的思路:如何使用线程堆栈进行性能瓶颈分析?如何分析内存泄漏?如何分析系统挂死? 目录 总述 如何输出线程堆栈? 如何解读线程堆栈? 线程的解读 锁的解读 线程状态的解读 总述 什么是线程堆栈?线程堆栈也称线程调用堆栈,是虚拟机中线程(包括锁)状态的一个瞬间快照,即系统在某一个时刻所有线程的运行状态,包括每一个线程的调用堆栈,锁的持有情况。虽然不同的虚拟机打印出来的格式有些不同,但是线程堆栈的信息都包含: 1、线程名字,id,线程的数量等。 2、线程的运行状态,锁的状态(锁被哪个线程持有,哪个线程在等待锁等) 3、调用堆栈(即函数的调用层次关系)调用堆栈包含完整的类名,所执行的方法,源代码的行数。 借助堆栈信息可以帮助分析很多问题,如线程死锁,锁争用,死循环,识别耗时操作等等。在多线程场合下的稳定性问题分析和性能问题分析,线程堆栈分析湿最有效的方法,在多数情况下,无需对系统了解就可以进行相应的分析。 由于线程堆栈是系统某个时刻的线程运行状况(即瞬间快照),对于历史痕迹无法追踪。只能结合日志分析