PANDA

Linux 中用户和组的工作机制

ぃ、小莉子 提交于 2019-12-07 00:34:58
我认为它们的关系是这样的: 每个进程都属于一个用户(比如用户 julia) 当这个进程试图读取一个被某个组所拥有的文件时, Linux 会 a. 先检查用户julia 是否有权限访问文件。(LCTT 译注:此处应该是指检查文件的所有者是否就是 julia) b. 检查 julia 属于哪些组,并进一步检查在这些组里是否有某个组拥有这个文件或者有权限访问这个文件。 如果上述 a、b 任一为真(或者“其它”位设为有权限访问),那么这个进程就有权限访问这个文件。 比如说,如果一个进程被用户 julia 拥有并且 julia 在awesome 组,那么这个进程就能访问下面这个文件。 r--r--r-- 1 root awesome 6872 Sep 24 11:09 file.txt 然而上述的机制我并没有考虑得非常清楚,如果你硬要我阐述清楚,我会说进程可能会在运行时去检查 /etc/group 文件里是否有某些组拥有当前的用户。 然而这并不是 Linux 里“组”的工作机制 我在上个星期的工作中发现了一件有趣的事,事实证明我前面的理解错了,我对组的工作机制的描述并不准确。特别是 Linux 并不会在进程每次试图访问一个文件时就去检查这个进程的用户属于哪些组。 我在读了《linux 编程接口》这本书的第九章(“进程资格”)后才恍然大悟(这本书真是太棒了),这才是组真正的工作方式

【AI实战】手把手教你训练自己的目标检测模型(SSD篇)

谁说胖子不能爱 提交于 2019-11-29 14:54:27
目标检测是AI的一项重要应用,通过目标检测模型能在图像中把人、动物、汽车、飞机等目标物体检测出来,甚至还能将物体的轮廓描绘出来,就像下面这张图,是不是很酷炫呢,嘿嘿 在动手训练自己的目标检测模型之前,建议先了解一下目标检测模型的原理(见文章: 大话目标检测经典模型RCNN、Fast RCNN、Faster RCNN , 以及Mark R-CNN ),这样才会更加清楚模型的训练过程。 本文将在我们前面搭建好的AI实战基础环境上(见文章: AI基础环境搭建 ),基于SSD算法,介绍如何使用自己的数据训练目标检测模型。 SSD,全称Single Shot MultiBox Detector(单镜头多盒检测器) ,是Wei Liu在ECCV 2016上提出的一种目标检测算法,是目前流行的主要检测框架之一。 本案例要做的识别便是在图像中识别出熊猫,可爱吧,呵呵 下面按照以下过程介绍如何使用自己的数据训练目标检测模型: 1、安装标注工具 要使用自己的数据来训练模型,首先得先作数据标注,也就是先要告诉机器图像里面有什么物体、物体在位置在哪里,有了这些信息后才能来训练模型。 (1)标注数据文件 目前流行的数据标注文件格式主要有VOC_2007、VOC_2012,该文本格式来源于Pascal VOC标准数据集,这是衡量图像分类识别能力的重要基准之一。本文采用VOC_2007数据格式文件

Java提高班(六)反射和动态代理(JDK Proxy和Cglib)

删除回忆录丶 提交于 2019-11-29 12:45:39
反射和动态代理放有一定的相关性,但单纯的说动态代理是由反射机制实现的,其实是不够全面不准确的,动态代理是一种功能行为,而它的实现方法有很多。要怎么理解以上这句话,请看下文。 一、反射 反射机制是 Java 语言提供的一种基础功能,赋予程序在运行时<strong>自省</strong>(introspect,官方用语)的能力。通过反射我们可以直接操作类或者对象,比如获取某个对象的类定义,获取类声明的属性和方法,调用方法或者构造对象,甚至可以运行时修改类定义。 1、获取类(Class)对象 获取类对象有三种方法: 通过forName() -> 示例:Class.forName("PeopleImpl") 通过getClass() -> 示例:new PeopleImpl().getClass() 直接获取.class -> 示例:PeopleImpl.class 2、类的常用方法 getName():获取类完整方法; getSuperclass():获取类的父类; newInstance():创建实例对象; getFields():获取当前类和父类的public修饰的所有属性; getDeclaredFields():获取当前类(不包含父类)的声明的所有属性; getMethod():获取当前类和父类的public修饰的所有方法; getDeclaredMethods():获取当前类

margin和padding的区别和用法

99封情书 提交于 2019-11-29 00:09:29
本文转载于: 猿2048 网站 margin和padding的区别和用法 margin和padding的区别和用法 什么是margin、padding?   marigin:就是外边距。padding:就是内边距。怎么就容易记住两者呢?   马蓉大家都知道吧,给王宝强带帽子的那位,假如你认识了马蓉是不是想离他远点呢?而马蓉的拼音是marong,是不是和margin特别像呢?那么你看着maring是不是就知道了margin是外边距呢?   那么padding就更容易记住了,panda是熊猫大家都是知道吧,熊猫是我们中国的国宝而且都很可爱,所以看见padding就知道了是内边距是吧。 margin和padding的用法 margin-top 设置元素的上外边距 padding-top 设置元素的上内边距 margin-left 设置元素的左外边距 padding-top 设置元素的左内边距 margin-right 设置元素的右外边距 padding-right 设置元素的右内边距 margin-bottom 设置元素的下外边距 padding-bottom 设置元素的下内边距 除了这几种方法外还有其他的方法吗?   当然是有的,margin和padding都是简写属性他们可以直接在里面设置他们的属性。即:margin/padding:值