layer

How to change the order of aesthetic layers in ggplot?

我与影子孤独终老i 提交于 2020-02-29 06:29:28
问题 How can I change the order of aestetics layers? Here's and example dat <- tibble (acc = rep(c(0,1), 200), rt = rnorm(400, 0.5, 0.1)) dat %>% ggplot(aes(x = rt, fill = factor(acc))) + geom_density(aes(y= ..count..*0.03), alpha = 0.6) This code plots this image. Here, the green (1) layer is above the red (0) layer. How can I place the red (0) layer on top of the green (1)? I have tried dat %>% ggplot(aes(x = rt, fill = factor(acc, levels = c(1,0)))) + geom_density(aes(y= ..count..*0.03), alpha

How to change the order of aesthetic layers in ggplot?

人盡茶涼 提交于 2020-02-29 06:29:18
问题 How can I change the order of aestetics layers? Here's and example dat <- tibble (acc = rep(c(0,1), 200), rt = rnorm(400, 0.5, 0.1)) dat %>% ggplot(aes(x = rt, fill = factor(acc))) + geom_density(aes(y= ..count..*0.03), alpha = 0.6) This code plots this image. Here, the green (1) layer is above the red (0) layer. How can I place the red (0) layer on top of the green (1)? I have tried dat %>% ggplot(aes(x = rt, fill = factor(acc, levels = c(1,0)))) + geom_density(aes(y= ..count..*0.03), alpha

浅谈网络协议(二) 网络分层的含义

你说的曾经没有我的故事 提交于 2020-02-29 05:39:09
做开发的朋友肯定知道,越是复杂的程序,往往越是需要分得越细。即使是刚刚入门的程序员,也知道MVC等分层结构。复杂的程序都要分层。 为什么网络要分层 因为不同的层次之间有不同的沟通方式,沟通使用的协议不同。与程序相似的,网络也是一个非常复杂的系统,如果不进行分层处理,那么不同层次之间的交流会变得非常困难和混乱。 而且分层之后也有显而易见的好处。 每层容易形成统一的标准,即使是不同的网络厂商也可以交流 每层只需要专注自己的事情,减少了这一层的复杂度 整体容易形成统一的规范,有助于计算机网络的发展 很多人听过 TCP 建立连接的三次握手协议,也会把它当知识点背诵。那你知道 TCP 在进行三次握手的时候,IP 层和 MAC 层对应都有什么操作吗? 分层之后也有一些坏处,比如分层之后,由于单层更加专注,导致一些学习者会分层的进行学习,但是经常会忘记层与层之间的关联。 学习第三层网络层的时候会提到,IP 协议里面包含目标地址和源地址。第三层里往往还会学习路由协议。路由就像中转站,我们从原始地址 A 到目标地址 D,中间经过两个中转站 A->B->C->D,是通过路由转发的。 那么问题来了。A 知道自己的下一个中转站是 B,那从 A 发出来的包,应该把 B 的 IP 地址放在哪里呢?B 知道自己的下一个中转站是 C,从 B 发出来的包,应该把 C 的 IP 地址放在哪里呢?如果放在 IP

类加载机制,双亲委派模型(2)

折月煮酒 提交于 2020-02-28 22:22:32
接着昨天的记录,今天继续开始了。 在JDK9中,由于Jigsaw项目引入了Java平台模块化系统(JPMS),Java SE的源代码被划分为一系列模块。 类加载器,类文件容器等都发生了非常大的变化,API已经被划分到具体的模块中,所以上文中,利用“——Xbootclasspath/p” 替换某个Java核心类型代码,实际上变成了对对应的模块进行的修补,可以采用下面的解决方案: 首先,确认要修改的类文件已经编译好,并按照对应模块结构存放,然后,给模块打补丁: java --patch-module java.base=your_pathch yourApp 拓展类加载器将被重命名为平台类加载器(Platform Class-Loader),而且extension机制规则被移除。也就意味着,如果我们指定Java.ext.dirs环境变量,或者lib/ext目录存在,JVM将直接返回错误!建议解决方法就是将其放入classpath里。 部分不需要AllPermission的Java基础模块,被降级到平台类加载器中,相应的权限粒度也被更精细粒度地限制起来。 rt.jar和tools.jar同样是被移除了!JDK的核心类库以及相关资源,被存储在jimage文件中,并通过新的JRT文件系统访问,二不是原有的JAR文件系统。虽然看起来很惊人,但幸好对于大部分软件的兼容性影响,其实是有限的

Inheritance and Composition (Is-a vs Has-a relationship) in Java

三世轮回 提交于 2020-02-27 23:05:18
1. Overview Inheritance and composition — along with abstraction, encapsulation, and polymorphism — are cornerstones of object-oriented programming (OOP). In this tutorial, we'll cover the basics of inheritance and composition, and we'll focus strongly on spotting the differences between the two types of relationships. 2. Inheritance's Basics Inheritance is a powerful yet overused and misused mechanism. Simply put, with inheritance, a base class (a.k.a. base type) defines the state and behavior common for a given type and lets the subclasses (a.k.a. subtypes) provide specialized versions of

电路设计软件系列教程(四),Protel DXP电路设计软件之创建PCB文件

六眼飞鱼酱① 提交于 2020-02-27 20:06:57
对于电路设计软件,小编最为熟悉Protel。因此,本文将为大家带来该电路设计软件相关教程。请注意,该电路设计软件教程为系列教程。如果你对Protel DXP电路设计软件具备兴趣,可阅读往期文章。本文内容为,基于Protel DXP电路设计软件创建新的PCB文件。 创建一个新的PCB文件 在你将设计从原理图编辑器转换到PCB编辑器之前,你需要创建一个有最基本的板子轮廓的空白PCB。在Protel DXP中创建一个新的PCB设计的最简单方法是使用PCB向导,这将让你选择工业标准板轮廓又创建了你自定义的板子尺寸。在向导的任何阶段,你都可以使用 Back 按钮来检查或修改以前页的内容。 要使用PCB向导来创建PCB,完成以下步骤: 1、在 Files 面板的底部的 New from Template 单元点击 PCB Board Wizard 创建新的PCB。如果这个选项没有显示在屏幕上,点向上的箭头图标关闭上面的一些单元。 2、 PCB Board Wizard 打开。你首先看见的是介绍页。点 Next 按钮继续。 3、设置度量单位为英制 ( Imperial ),注意:1000 mils = 1 inch 。 4 、 向导的第三页允许你选择你要使用的板轮廓。在本教程中我们使用我们自定义的板子尺寸。从板轮廓列表中选择 Custom , 点击 Next 。 5 、 在下一页

Python利用 psd-tools库 解析psd文件的图层

北城余情 提交于 2020-02-27 18:37:05
最近设计师提了一个好玩的需求,他们批量上传PSD文件,将里面的图层文件解析出来,这样不用他们一个个打开PS再进行导出。好吧,安排!!!原本想使用Java开发这个功能,但是真的太繁杂以及啰嗦了,突然想到Python,这货太强大了,简直是开发小哥的福音,为了完成这个功能,我使用了python的 psd-tools 库。 项目介绍:psd-tools——psd工具是一个Python包,用于处理Adobe Photoshop psd文件。 类库安装: pip install psd-tools 下面是一个PSD文件解析Layer的demo,仅供参考!!! 实际业务根据自己的去改动就可以实现PSD文件解析图层功能或者像我一样,写个GUI处理。 from psd_tools import PSDImage psd = PSDImage.open( 'D: \\ www \\ python \\ 1119 \\ 流行色 .psd' ) psd.compose().save( 'D: \\ www \\ python \\ 1119 \\ layer \\ 流行色 \\ 流行色 .png' ) # for layer in psd: # print(layer) for layer in reversed ( list (psd.descendants())): layer_name = str

OSI模型,TLS/SSL 及 HTTPS

霸气de小男生 提交于 2020-02-27 08:16:56
上回我们白话了密码学中的两种算法,对称加密算法和非对称加密算法,我们有了这两种算法,我们就要将他们应用到实际生活中,就像我们学会了99乘法表,就可以让我们在实际生活中快速的计算啦! 所以本节课程的先决条件就是,看并掌握我之前白话的这篇文章: 对称加密算法vs非对称加密算法 。 我们先从互联网开始说起,说到互联网我们就不得不提一下计算机,因为计算机是互联网组成的一个很重要的部分,我们要想使用互联网进行交流就必须使用计算机(注意!我这里的“计算机”是一个统称,爱钻牛角尖的童鞋,不要说,除了计算机还有手机啊,ipad啊,智能手表啊!!!!恩,好了,别闹了)。 然后问题来了,要想形成互联网,计算机和计算机之间就必须相连起来(废话!),于是我们就有了“网线”,当然这里的“网线”也是泛指,因为现在大家家里都用的是无线网!不过无论有线网还是无线网,他们都是通过“物理”途径进行传播信号的!有了这些“联系”,我们计算机和计算机之间有了传递信息的“途径”了,但是!这里仅仅是提供了一个途径,但是如果想让计算机之间彼此了解传输的信息,那么我们必须定义一系列的协议,这些协议是计算机之间都能够明白的,同时发送和接受要严格按照协议去做!就像张三是中国人和王石头是印度人,他们俩要想交流,就要先建立一个途径,无论是加qq还是发邮件,同时他们俩还得说一样的话,不能张三说中国话,王石头说印度话。 所以

新冠疫情严重,居家远程办公

送分小仙女□ 提交于 2020-02-27 00:52:12
不平凡的庚子鼠年 2020年庚子鼠年是个不平凡的新年,人说每逢庚子年都会发生一些大事,果不然这年的新年居然发生大规模的传染病毒。 这个新年过的比较惊心动魄😂,唯一点比较好的是,现在啥都变的安静了,路上车也少了,人也少了,仿佛回到了木心诗里写的那样一切变慢了。 虽然在家哪也不去的"隔离"了十几天,但是随着日子的增加,你的房贷,车贷,花呗还款这些还是会到来的,你不上班就木有收入了,公司也会陷入发展停滞。 这些都是我们不愿看到的。作为互联网公司相比传统公司的好处,我们可以不用接触人,线上远程的办公,至少可以让工作继续进行。 远程办公 我们几乎所有公司的办公系统都是在公司内网的,想要在家办公,就需要最起码连接到公司内网,或者操作你的公司电脑。这里我之前用过两个软件 teamview , 向日葵 。这两个软件可以轻松的实现在家的电脑控制公司的电脑,但是缺点还是很多,比如操作卡顿不流畅,而且会经常掉线,需要重连。 我现在使用的内网穿透工具 frp ,这个工具可以让我可以使用微软的远程桌面,公司电脑是windows的,微软的远程桌面流畅度高很多,就像在本地操作电脑一样。 今天主要介绍本地mac系统电脑通过内网穿透远程桌面到windows电脑。 frp 内网穿透工具, 项目地址 ,可以通过这里下载release的版本。它支持tcp,udp,http,https协议。 这里主要就两个东西,一个服务端

实战Arch Unit

帅比萌擦擦* 提交于 2020-02-26 16:12:59
在以前的文章中介绍了通过 [《实战PMD》]( https://zhuanlan.zhihu.com/p/105585075 )、[《实战Checkstyle》]( https://zhuanlan.zhihu.com/p/105583516 )在代码级守护我们的代码,比通过[《实战Jacoco》]( https://zhuanlan.zhihu.com/p/105581725 )来了解当前项目的测试覆盖情况。通过得到数据了解我们的项目质量,进行定向的改进。 使用这些简单方面的自动化工具比凭空猜想或者全靠人力来接发现代码上的问题,效率高多了。 这篇文章将聚焦在`Arch Unit`上,`Arch Unit`能通过为我们提供架构的守护。 1. 开发前的准备 2. 项目分层检测 3. 循环依赖检测(同一个package下,不同package下的循环依赖) 4. Package依赖检测 5. Package和Class的包含关系检测 6. 忽略某些违规行为的三种凡是 7. 如何组织Arch Unit的测试 先来看一下Arch Unit的相关功能介绍。 这些功能很好,但是要是面面俱到,那么维护、查看规则也是一件麻烦事,所以针对项目情况,有选择定制,才能更好的展现器价值。 通过自己坐在项目的情况,可以通过金字塔来罗列:哪些行为做了价值大,哪些事情做了价值小。 --- ### 1,开发前的准备