1.单下划线变量前的单下划线表示表面上私有 ,但是其实这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当你看到这样的变量时,意思就是,“虽然我可以被访问,但是,请把我视为私有变量,不要随意访问...2.双下划线变量前的双下划线表示真正的私有,实际上的私有,只有内部可以访问,外部不能访问。...3.其他(如:init):名称前后的双下划线是一种惯例,对Python系统来说,这将确保不会与用户自定义的名称冲突。通常,你将会覆写这些方法,并在里面实现你所需要的功能,以便Python调用它们。...例如,当定义一个类时,你经常会覆写“init”方法总结:前面单下划线_var变量所在模块/类以外的地方也能访问该变量,但最好不要前面双下划线__privateVar变量所在模块/类以外的地方不能访问该变量...,这是私有变量前后双下划线如__name__和__init__Python内置特殊变量,哪儿都可以访问示例:class MyName: _name = "WinerChan111" # 伪私有变量
最近看到这个github仓库flash-linux0.11-talk,觉得还算是蛮有意思的,加上网络编程的课程又有抄写一段tcp协议实现代码或者交一篇linux内核源码阅读的笔记,还是比较讨厌这种低效率的抄写的所以就想写篇文章记录一下粗浅阅读源码后的大概了解...进入linux内核前的准备 开机 如果问电脑是如何一步一步开始运行操作系统的,那么第一件事情当然是按下开机键啦。...那么对于linux0.11来看,这个512Byte大小的启动程序就是/boot目录下的bootsect.s这个文件。按下开机键后,它会被编译成二进制文件,并且被存放在硬盘中的0盘0道1扇区。...前面的mov语句表示,页目录表的前4个页目录项,分别指向4个页表。...现在只有四个页目录项,也就是将前 16M 的线性地址空间,与 16M 的物理地址空间一一对应起来了。
Linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PI|sort -rn -k +3|head Linux下获取占用内存资源最多的...10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head 命令组合解析(针对CPU的,MEN也同样道理): 拍摄aux
为了解决性能问题,你登入了一台 Linux 服务器,在最开始的一分钟内需要查看什么? 在 Netflix 我们有一个庞大的 EC2 Linux 集群,还有非常多的性能分析工具来监控和调查它的性能。...其中包括用于云监控的Atlas,用于实例按需分析的 Vector。即使这些工具帮助我们解决了大多数问题,我们有时还是得登入 Linux 实例,运行一些标准的 Linux 性能工具来解决问题。...在 Linux 上,这些数值既包括正在或准备运行在 CPU 上的进程,也包括阻塞在不可中断 I/O(通常是磁盘 I/O)上的进程。...,几十年前就已经包括在 BSD 套件之中,一直以来都是居家常备的工具。...(在我们当前使用的)vmstat 输出的第一行数据是从启动到现在的平均数据,而不是前一秒的数据。所以我们可以跳过第一行,看看后面几行的情况。 检查下面各列: r:等待 CPU 的进程数。
驼峰命名法,正如它的名称所表示的那样,指的是混合使用大小写字母来构成标识符的名字。其中第一个单词首字母小写,余下的单词首字母大写。...例如: printEmployeePaychecks(); 函数名中每一个逻辑断点都有一个大写字母来标记。 帕斯卡(Pascal)命名法:与驼峰命名法类似。...下划线命名法: 下划线法是随着C语言的出现流行起来的,在UNIX/LIUNX这样的环境,以及GNU代码中使用非常普遍。 ---- RTOS命名规则 变量名 u :代表unsigned。...常看到ux开头的函数,就是unsigned且用户自定义的类型。需要注意的是size_t变量前缀也是ux。 e :枚举变量 p :指针变量 类似(uint16_t *)变量前缀为pus。...prv :static函数 v: void函数 函数名 函数名包含了函数返回值的类型、函数所在的文件名和函数的功能,如果是私有的函 数则会加一个 prv(private)的前缀。
近期在业务中,给定的磁盘只有22T容量,为了避免爆盘,业务需要定时清除数据,根据网上的资料总结了一下设置方法:可以使用find命令 find 路径 -mtime +天数 -type f -name "...文件名" -exec rm -rf {} ; find /tmp -mtime +30 -type f -name "*" -exec rm -rf {} \; /tmp --设置查找的目录; -mtime...+30 --设置修改时间为30天前; -type f --设置查找的类型为文件;其中f为文件,d则为文件夹 -name "*" --设置文件名称,可以使用通配符; -exec rm -rf --查找完毕后执行删除操作...分钟 取值范围:0-59 第二个*号表示时间中的 小时 取值范围:0-23 第三个*号表示一个月中的第几天,取值范围:1-31 第四个*号表示一年中的第几个月,取值范围:1-12 第五个*号表示一个星期中的第几天...,以星期天开始依次的取值为0~7,0、7都表示星期天
前言 服务器上传文件失败了,才开始没考虑到磁盘原因还以为是自己的scrt的问题,还好df -h看了下,最后发现磁盘满了,真是.......查找 find / -type f -print0 | xargs -0 du -h | sort -rh | head -n 10 详解 find //在目录结构中搜索文件的命令 / //在整个系统(...从根目录开始)中查找 -type //指定文件类型 f //普通文件 -print0 //在标准输出显示完整的文件名,其后跟一个空字符(null) | //控制操作符,将一条命令的输出传递给下一个命令以供进一步处理...xargs //将标准输入转换成命令行参数的命令 -0 //以空字符(null)而不是空白字符(LCTT 译者注:即空格、制表符和换行)来分割记录 du -h //以可读格式计算磁盘空间使用情况的命令...sort //对文本文件进行排序的命令 -r //反转结果 -h //用可读格式打印输出 head //输出文件开头部分的命令 n -10 //打印前 10 个文件
近期在业务中,给定的磁盘只有22T容量,为了避免爆盘,业务需要定时清除数据,根据网上的资料总结了一下设置方法:可以使用find命令 find 路径 -mtime +天数 -type f -name “...文件名” -exec rm -rf {} ; find /tmp -mtime +30 -type f -name "*" -exec rm -rf {} \; /tmp --设置查找的目录; -mtime...+30 --设置修改时间为30天前; -type f --设置查找的类型为文件;其中f为文件,d则为文件夹 -name "*" --设置文件名称,可以使用通配符; -exec rm -rf --查找完毕后执行删除操作...; {} \; --固定写法 另外的方法大同小异: [hadoop@oyhadoop021 nokia_temp]$#find /tmp -mtime +30 -type f | xargs rm -...分钟 取值范围:0-59 第二个*号表示时间中的 小时 取值范围:0-23 第三个*号表示一个月中的第几天,取值范围:1-31 第四个*号表示一年中的第几个月,取值范围:1-12 第五个*号表示一个星期中的第几天
Linux Shell/terminal 命令非常强大,即使一个简单的命令就可能导致文件夹、文件或者路径文件夹等被删除。...还有一些事情需要注意:一些命令只在 Ubuntu 中有 sudo 前缀时是有危害的。其他发行版本的 Linux,则是在作为根目录命令时会有危害。 ? 1....Linux Fork Bomb Command : (){ :: & };: 以 Fork Bomb 闻名,是一个拒绝服务攻击的 Linux 系统。...Mkfs Command 如果你不知 mkfs 的作用,那么它也是一个危险的命令,mkfs 之后写的任何命令都将会被一个空白的 linux 文件系统格式化、替代。...当收到 tar 文件,定期创建一个新的保护目录,然后在解压前将接受的 tar 文件放到这个目录中,你可以避免成为 tar bomb 的受害者。 6.
image container SPL 启动 board_init_r ATF 启动 jump_to_image_no_args 启动 log 上电后,片上的 BootROM code 会将启动的 bin...所以将 uboot 中放到 ocram 中运行是不现实的。...故 SPL 应运而生,SPL(Secondary Program Loader) 是一个非常小的 bin 文件,足以加载到 ocram 中运行。...SPL 在 ocram 运行起来以后会将 uboot 加载到外部 DDR 中运行,uboot 运行在 DDR 中,则不受空间大小限制,可以进行复杂的操作。...其中主要的工作是从存储设备中读取 kernel,解析后跳转到 kernel 执行。
♩ 背景 随着网站体量的不断增大,很多缓存日志造成资源你的浪费,为此,想着写一个计划任务,定期删除没必要的缓存数据 ♪ 操作指导 ①....name *.* -exec rm -rf {} \; find /tmp -type f -mmin 120 -name *.log -exec rm -rf {} \; 解析: find 后面紧跟的是要查找的目录...分钟(两小时)以前的老文件 -exec rm -rf {} ; :执行删除命令,这句注意,后面有个 {} ; 是必须的 ③....保存代码后 ,再执行下面的命令,以保证计划任务的生效 # /etc/rc.d/init.d/crond restart ? ♫ 附录 ①....参考文章: 【计划任务定时删除文件(共7篇)】 【Linux 删除指定时间前的文件】 【Linux crontab 定时任务整理笔记】
Linux shell/terminal 命令非常强大,即使一个简单的命令就可能导致文件夹、文件或者路径文件夹等被删除。...还有一些事情需要注意:一些命令只在 Ubuntu 中有 sudo 前缀时是有危害的。其他发行版本的 Linux,则是在作为根目录命令时会有危害。 1....Linux Fork Bomb Command :(){ :: & };: 以 Fork 炸弹 闻名,是一个拒绝服务攻击的 Linux 系统。:(){ :: & };: 是一个 bash 函数。...Mkfs Command 如果你不知 mkfs 的作用,那么它也是一个危险的命令,mkfs 之后写的任何命令都将会被一个空白的 linux 文件系统格式化、替代。...当收到 tar 文件,定期创建一个新的保护目录,然后在解压前将接受的 tar 文件放到这个目录中,你可以避免成为 tar bomb 的受害者。 6.
名字修饰约定: 1、修饰名(Decoration name):"C"或者"C++"函数在内部(编译和链接)通过修饰名识别 2、C编译时函数名修饰约定规则: __stdcall调用约定在输出函数名前加上一个下划线前缀...,后面加上一个"@"符号和其参数的字节数,格式为_functionname@number,例如:function(int a, int b),其修饰名为:_function@8 __cdecl调用约定仅在输出函数名前加上一个下划线前缀...C编译器的函数名修饰规则 对于__stdcall调用约定,编译器和链接器会在输出函数名前加上一个下划线前缀,函数名后面加上一个“@”符号和其参数的字节数,例如 _functionname@...__cdecl调用约定仅在输出函数名前加上一个下划线前缀,例如_functionname。...+ 12处保存了b mov esp,ebp // 恢复esp pop ebp ret // 注意,这里没有修改堆栈 MSDN中说,该修饰自动在函数名前加前导的下划线
C文件中的变量和函数名 name, 对应于 汇编语言中的 _name,即在变量或者函数名前加一个"_". 由于C++ 支持重载,即可以定义函数名相同,但参数类型不同的函数。...其在编译时,由编译器 根据函数的参数类型确定一个实际的函数名(或者汇编语言中的函数名),这个命名规则叫比较复杂了,不像C,仅仅是在变量名 和 函数名前加下划线。...如果在cpp文件中引用c文件中的全局变量或者函数,必须使用在函数声明前加“ extern "C" ", extern "C" 保证了其真实的名称(从汇编语言视角)等于c/Cpp 文件中的 变量/函数名...如果要在c文件中使用汇编语言中的变量,则在汇编语言中定义变量是必须以 下划线 开头,在c文件声明中则需要不含这个下划线。 2....如果要在cpp 文件中使用汇编语言中的变量,则在汇编语言中定义变量是也必须以下划线 开头,在cpp文件,声明时中则必须包含extern C" 关键字,并且变量名必须不带下划线。
最后一次文件内容修改发生在 n天 之内-mtime n: 最后一次文件内容修改发生在 n天 至 (n+1)天-mtime +n: 最后一次文件内容修改发生在 (n+1)天 之外2、使用 find 命令 先找到n天之外的文件...(这里假设找到 3天前的文件)在/www/wwwroot/shengsi-zhejiang/public/uploads/spot/Array/face 目录下查找3天以前的所有类型的文件find /www.../wwwroot/shengsi-zhejiang/public/uploads/spot/Array/face -name "*" -mtime +33、将查找到的这些文件执行删除利用 -exec参数...如果查找有返回 可在exec参数后 加上需要操作的命令 查找结果用{}来代替find /www/wwwroot/shengsi-zhejiang/public/uploads/spot/Array/face...:希望查找的文件类型"*.jpg":表示查找扩展名为jpg的文件"*":表示查找所有类型的文件
前向声明 编程定律 先强调一点:在一切可能的场景,尽可能地使用前向声明(Forward Declaration)。这符合信息隐蔽的原则。 一个例子 regmap 那么前向声明究竟是个什么鬼?...在内核写代码和看代码的童鞋,经常发现Linux内核里面充斥着这样的代码,比如 include/vim linux/regulator/driver.h 文件中: ?...我们以regmap这个结构体为例,这个地方就是一个前向声明,告诉后面的代码regmap是个结构体,至于这个结构体里面有什么鬼,不知道! Linux可以说满世界都在使用这个结构体。...为什么,它涉及到具体的寄存器是如何读写的callback以及具体的寄存器pattern,这肯定是一个API基本的东西,本身就应该是跨模块的东西,所以它的长相出现在了include/linux/regmap.h...永远用高内聚和低耦合的思想设计代码。Linux内核2000万行的代码,不这么设计肯定要崩盘。写代码不是得过且过。
这篇主要是介绍“怎样用Vim更换Linux系统的颜色和样式”的内容了,下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且实用性强,希望这篇文章能帮助大家解决怎样用Vim更换Linux系统的颜色和样式的问题...例如对函数名的设置: highlight Function cterm=bold,underline ctermbg=red ctermfg=green 这条命令可使函数名的字体改为粗体/有下划线/绿色...效果如下: 左边那一列就是可针对其进行设置的关键词,中间是样式的效果,右边是设置的具体参数。其中gui/guibg等是对gvim的设置,如果不用gvim可忽略。 3....举例:我的两处设置 (1) 对tab标签样式的设置 每种主题都会有美中不足,比如我一直喜欢用的torte,它的默认样式下tab标签是黑底白字有下划线,选中状态为无下划线,看起来非常费眼睛。...highlight Pmenu ctermbg=darkred highlight PmenuSel ctermbg=red ctermfg=yellow 效果: 到此这篇关于“怎样用Vim更换Linux
在 交互式解释器会话 中 在这种情况下,“_”代表交互式解释器会话中上一条执行的语句的结果。...in xrange(2): print _, __, ___ 打印结果: 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 在 函数名...or 变量名 前后 名称前的单下划线 私有,private,仅供内部使用。...名称后的单下划线 用于和 Python 关键词区分开来。 如 list_ 。 名称前的双下划线 用于避免与子类定义的名称冲突。 名称两侧的双下划线 表示非用户自定义的名称。可以被直接引用。...---- ---- Ref: 详解Python中的下划线 【python】下划线 ---- ----
craete_and_start(): """创建并启动对局室""" pass if __name__ == '__main__': # 开启游戏服务 start() Linux...Windows 平台上,编码格式声明必须位于 python 文件的第一行。Linux 平台上,编码格式声明通常位于 python 文件的第二行,第一行是 python 解释器的路径声明。 #!...函数的参数列表中,默认值等号两边不要添加空格 左括号之后,右括号之前不要加添加空格 参数列表, 索引或切片的左括号前不应加空格 文档字符串 文档字符串是包、模块、类或函数里的第一个语句。...,首字母保持小写,尽量不要用下划线 类名使用驼峰(CamelCase)命名风格,首字母大写,私有类可用一个下划线开头 函数名一律小写,如有多个单词,用下划线隔开 私有函数可用一个下划线开头 变量名尽量小写..., 如有多个单词,用下划线隔开 常量采用全大写,如有多个单词,使用下划线隔开 推荐阅读: 【重磅分享】从零到一搭建推荐系统指南白皮书.pdf(附48页下载链接) 【重磅】千万级智能推荐系统的架构演进 小红书架构负责人
现在可以在函数名前使用 auto 关键字, 在参数列表之后后置返回类型. 例如: auto foo(int x) -> int; 后置返回类型为函数作用域....结论 在大部分情况下, 应当继续使用以往的函数声明写法, 即将返回类型置于函数名前....尽管这条规则具有争议,Linux源码的风格也是遵照这一规则,因此一致性更重要。 优点 提倡该原则的人认为强迫他们调整编辑器窗口大小是很野蛮的行为....只有在参数未被使用或者其用途非常明显时, 才能省略参数名. 如果返回类型和函数名在一行放不下, 分行. 如果返回类型与函数声明或定义分行了, 不要缩进. 左圆括号总是和函数名在同一行....尽管很多风格选择switch使用{}用来表明case之间不是连在一起的,但是这里采用linux内核风格,不推荐case使用{}包含分支,且case位置要与switch对齐。
领取专属 10元无门槛券
手把手带您无忧上云