Readable

按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别

只愿长相守 提交于 2020-04-19 11:40:31
一.按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。 Debian是三大发行版中唯一以社区形式运作,不以商业公司形式运作。是一个致力于创建自由操作系统的合作组织。而且debian开发者所创建的操作系统中绝大部分基础工具来自于GNU工程。 Fedore是一款基于linux的操作系统,也是一组维持计算机正常运行的软件集合。由红帽公司赞助。 suse是基于Slackware二次开发的一款Linux,主要用于商业桌面、服务器。 不同发行版之间的联系: 所有发行版都是使用Linux内核;都需要遵循GNU的GPL(General Public License)协定 不同发行版之间的区别: 发行版的本质区别,在于继承不同版本的内核,库、程序的组成。不同发行版几乎采用了不同包管理器(SLES、Fedora、openSUSE、centos、RHEL使用rmp包管理系统,包文件以RPM为扩展名;Ubuntu系列,Debian系列使用基于DPKG包管理系统,包文件以deb为扩展名。) 二. 安装Centos7.6操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图。 三.配置环境变量,实现执行history的时候可以看到执行命令的时间。 1.在~/.bash_profile文件中新增一行,写入:HISTTIMEFORMAT="”%F %T ",保存退出。 [root

Linux常用命令简述--ls

吃可爱长大的小学妹 提交于 2020-04-15 13:13:18
【推荐阅读】微服务还能火多久?>>> 一、ls介绍 ls命令是list的简写,用来显示指定目录里的文件及文件夹清单;ls 命令不仅可以查看linux文件夹包含的文件,还可以查看文件权限,目录信息等等 二、常用选项介绍 1、命令格式 ls [选项]... [文件|目录].. 2、常用选项 -a, --all 不隐藏任何以. 开始的项目 -A, --almost-all 列出除. 及.. 以外的任何项目 --author 与-l 同时使用时列出每个文件的作者 -c 配合-lt:根据ctime 排序并显示ctime(文件 状态最后更改的时间) 配合-l:显示ctime 但根据名称排序其他情况:按ctime 排序 -C 每栏由上至下列出项目 --color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是 "never"(默认)、"always"或"auto"其中之一 -d, --directory 当遇到目录时列出目录本身而非目录内的文件 -f 不进行排序,-aU 选项生效,-lst 选项失效 -g 类似-l,但不列出所有者 --group-directories-first 在文件前分组目录。此选项可与--sort 一起使用, 但是一旦使用--sort=none (-U)将禁用分组 -G, --no-group 以一个长列表的形式,不输出组名 -h, --human

TeaDSL:支持任意 OpenAPI 网关的多语言 SDK 方案

主宰稳场 提交于 2020-04-14 17:42:32
【推荐阅读】微服务还能火多久?>>> 导读 在以云计算为主角的开发者视界中,OpenAPI 是绝对的主角。要发短信,用 OpenAPI;要管理资源,用 OpenAPI;要管理权限,用 OpenAPI。如果一个 OpenAPI 解决不了你的问题,那就再来一个。在今天,开放平台及 OpenAPI 随处可见,它是系统与系统之间集成的重要桥梁。但 OpenAPI 用起来是否真的舒服,这要打一个大大的问号。本文将介绍 OpenAPI 领域下的难题和一些解决方案。 背景 阿里云有位工程师叫朴灵,热爱开源,是活跃在 Github 上的国内技术大牛之一。在阿里工作 6 年之际,朴灵产生了离职的想法,打算去一家创业公司再战高峰。走之前,朴灵做了一些研究工作,他发现阿里云在功能和产品上可以说是一流的云计算厂商,是创业公司的首选,但由于过去的业务中写过大量的 Node.js SDK,对开发者体验有着自己的体感,他觉得在开发者体验关怀上,阿里云做得还不够好。来自一个热血工程师最朴素的想法,自己何不先留下来,去把这件事情做好,于是,朴灵加入了阿里云开放平台负责 SDK 业务,期间,他和团队研发了专利 TeaDSL,下面朴灵将分享 TeaDSL 如何解决多语言 SDK 的问题。 使用 OpenAPI 的痛苦 在过去,我们经常说的 OpenAPI,通常的做法是,开发好服务端的接口,然后在文档里简单写几个参数描述

Google 官方 Channel 盖戳:谷歌面试官眼中的优秀简历长什么样?

限于喜欢 提交于 2020-03-24 00:05:36
3 月,跳不动了?>>> Google的招聘官对想要申请Google岗位的同学提供了一些具体的提示和建议,帮助大家撰写和准备简历从人群中脱颖而出,其中包括业务,工程和技术职位的示例。主要从Resume Basics,Education,Experience,Optional section等几方面展开讲解,同时详细说明了如何用搞笑有说服力的方式来描述你曾经做过的Project。 Format • Use simple and consistent design, font, sizing and spacing • Use black or dark, readable ink • Format as PDF Content • Include your contact information and email at the top • Don’t have to include objective statements • Don’t need to include references Length • Keep to one page for business and internship roles, and no longer than two pages for engineering and technical roles • Include what’s

Google 官方 Channel 盖戳:谷歌面试官眼中的优秀简历长什么样?

回眸只為那壹抹淺笑 提交于 2020-03-21 01:43:14
3 月,跳不动了?>>> Google的招聘官对想要申请Google岗位的同学提供了一些具体的提示和建议,帮助大家撰写和准备简历从人群中脱颖而出,其中包括业务,工程和技术职位的示例。主要从Resume Basics,Education,Experience,Optional section等几方面展开讲解,同时详细说明了如何用搞笑有说服力的方式来描述你曾经做过的Project。 Format • Use simple and consistent design, font, sizing and spacing • Use black or dark, readable ink • Format as PDF Content • Include your contact information and email at the top • Don’t have to include objective statements • Don’t need to include references Length • Keep to one page for business and internship roles, and no longer than two pages for engineering and technical roles • Include what’s

Java运行状态分析3: 线程堆栈信息分析

有些话、适合烂在心里 提交于 2020-03-12 15:27:36
背景 当CPU飙升的时候,我们需要知道CPU此时在干嘛,具体什么进程、什么线程让CPU飙升 线程是操作系统能够进行运算调度的最小单位,跟踪占用CPU高的线程 可以了解线程的运行情况,定位可能或者问题代码 堆栈结构 Thread Summary The first line of each thread represents the thread summary, which contains the following items: SECTION EXAMPLE DESCRIPTION Name "Reference Handler" Human-readable name of the thread. This name can be set by calling the setName method on a Thread object and be obtained by calling getName on the object. ID #2 A unique ID associated with each Thread object. This number is generated, starting at 1 , for all threads in the system. Each time a Thread object is created, the

汉吉斯特Hanjst+更新升级:error reporting, innerLoop和loadingLayer

好久不见. 提交于 2020-03-12 01:53:37
过去的几个月里,汉吉斯特Hanjst进行了一些升级,有功能增强,也有性能优化,为Hanjst的生产环境部署增砖添瓦、保驾护航。为便于后续维护和持续更新改进,兹备忘于下。 * 12:48 Saturday, April 27, 2019, + readable error reporting for template erros * 19:19 Sunday, May 19, 2019, + renderTemplateRecurse for deep-in include files. * 18:44 Friday, May 31, 2019, + allow limited support for variables in xxxelse scope, bugfix for includeScript. * 07:58 6/2/2019, + imprvs with _appendScript to appendScript for async call. * 16:31 Wednesday, June 5, 2019, + imprvs with parentNode=BODY * 19:18 Monday, June 10, 2019, + bugfix for asyncScripts. * 22:29 Thursday, June 13, 2019, +

为什么 Redis 的吞吐量能这么高

孤者浪人 提交于 2020-03-09 17:19:34
性能测试报告 查看了下阿里云 Redis 的性能测试报告如下,能够达到数十万、百万级别的 QPS(暂时忽略阿里对 Redis 所做的优化),我们从 Redis 的设计和实现来分析一下 Redis 是怎么做的 Redis 的设计与实现 其实 Redis 主要是通过三个方面来满足这样高效吞吐量的性能需求 高效的数据结构 多路复用 IO 模型 事件机制 高效的数据结构 Redis 支持的几种高效的数据结构 string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集 合) 以上几种对外暴露的数据结构它们的底层编码方式都是做了不同的优化的,不细说了,不是本文重点 多路复用 IO 模型 假设某一时刻与 Redis 服务器建立了 1 万个长连接,对于阻塞式 IO 的做法就是,对每一条连接都建立一个线程来处理,那么就需要 1万个线程,同时根据我们的经验对于 IO 密集型的操作我们一般设置,线程数 = 2 * CPU 数量 + 1,对于 CPU 密集型的操作一般设置线程 = CPU 数量 + 1,当然各种书籍或者网上也有一个详细的计算公式可以算出更加合适准确的线程数量,但是得到的结果往往是一个比较小的值,像阻塞式 IO 这也动则创建成千上万的线程,系统是无法承载这样的负荷的更加弹不上高效的吞吐量和服务了。 而多路复用 IO 模型的做法是

Nodejs Readable streams, parsing binary data, preserving order

好久不见. 提交于 2019-12-13 05:11:14
问题 Using latest nodejs... Got a binary coming from mongodb (field within a document). Means I will be processing multiple binary payloads concurrently. Data is a media file (h264) made up of slices (nal units). Each slice is delimited. Using a readable stream from fs if I act on "data" events is the order of the data chunks preserved? Can I be guaranteed to process the "data" in order? (See the origin in the path part of the "this" scope in each call) 回答1: The order that data is written to a

Reading file from SFTP server using Node.js and SSH2

一笑奈何 提交于 2019-12-12 08:30:04
问题 I have a pretty strange problem working with read streams in Node.js. I'm using SSH2 to create a sftp connection between me and a sftp server. I then try to create a read stream from the sftp stream. From the read stream's emitted 'data' event I append the data to an array. When the read stream's 'close' event occurs I make a call to Buffer.concat to create concat all the chunks of data I have retrieved into one buffer. This is the same technique described in other questions asked here at