ARTS 打卡 第 29 周
ARTS 简介
Algorithm 是一道算法题,Review 是读一篇英文文章,Technique/Tips 是分享一个小技术,Share 是分享一个观点。
Algorithm
给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。 注意:如果 s 中存在这样的子串,我们保证它是唯一的答案。
解题思路:如果你看过算法小抄,就可以得出这是一个可以用滑动窗口解决的问题,而滑动窗口的解题思路就是用双指针,在合适的时候增大或缩小窗口空间。以下是滑动窗口的解题模板:
根据该模板,我们可以思考对于当前问题:
当 right 增加时,我们应该判断需要更新哪些数据
什么条件下我们应该缩小 left
缩小 left 之后,应该更新哪些数据
我们需要的结果是在缩小窗口时候更新,还是在扩大时更新
ps:参考资料
Review
学习-微服务架构模式系列,网站地址是:https://microservices.io 微服务架构-Pattern: Domain-specific protocol 这篇文章的主要介绍了微服务架构下的通信模式:领域专用协议 背景:使用微服务架构,服务需要处理客户端的请求,可能需要多个客户端协作才能处理。所以需要跨服务通信。
解决方法,使用领域专有协议:
电子邮件协议,如 SMTP 和 IMAP
媒体流协议,如 RTMP、HLS 和 HDS
ps:《微服务架构设计模式》
Tips
记录我对于 Linux 的学习,网络管理的命令:
ps:“~” 表示为 home 目录,“.” 则是表示目前所在的目录,“…” 则表示当前目录的上一层目录 -h 用人类可读的格式展示(G(千兆字节),M(兆字节),K(千字节)),大部分命令有这个参数
top
top 用来监控 Linux 系统状况,比如 cpu、内存的使用等 用法: top [选项] 常用选项: 选项:
-d 秒数:指定 top 命令每隔几秒更新。默认是 3 秒;
-b 使用批处理模式输出。一般和"-n"选项合用,用于把 top 命令重定向到文件中;
-n 次数:指定 top 命令执行的次数。一般和"-"选项合用;
-p 进程 PID:仅查看指定 ID 的进程;
-s 使 top 命令在安全模式中运行,避免在交互模式中出现错误;
-u 用户名:只监听某个用户的进程;
在 top 命令的显示窗口中,还可以使用如下按键,进行一下交互操作:
? 或 h:显示交互模式的帮助;
P:按照 CPU 的使用率排序,默认就是此选项;
M:按照内存的使用率排序;
N:按照 PID 排序;
T:按照 CPU 的累积运算时间排序,也就是按照 TIME+ 项排序;
k:按照 PID 给予某个进程一个信号。一般用于中止某个进程,信号 9 是强制中止的信号;
r:按照 PID 给某个进程重设优先级(Nice)值;
q:退出 top 命令;
以下时 top 命令的输出:
1~5 行显示的系统整体信息:
第一行显示内容与 uptime 一样
第二行为进程信息任务: 315 total 系统中的进程总数 1 running 正在运行的进程数 312 sleeping 睡眠的进程数 0 stopped 正在停止的进程数 2 zombie 僵尸进程数。如果不是 0,则需要手工检查僵尸进程
第三行为 CPU 信息 19.0 us, 5.6 sy, 0.0 ni, 72.8 id, 1.5 wa, 0.9 hi, 0.2 si, 0.0 st%Cpu(s): 19.0 us 用户模式占用的 CPU 百分比 5.6 sy 系统模式占用的 CPU 百分比 0.0 ni 改变过优先级的用户进程占用的 CPU 百分比 72.8 id 空闲 CPU 占用的 CPU 百分比 1.5 wa 等待输入/输出的进程占用的 CPU 百分比 0.9 hi 硬中断请求服务占用的 CPU 百分比 0.2 si 软中断请求服务占用的 CPU 百分比 0.0 st st(steal time)意为虚拟时间百分比,就是当有虚拟机时,虚拟 CPU 等待实际 CPU 的时间百分比
第四行为物理内存信息 单位 MiB48128.1 total 物理内存的总量 27592.0 free 空闲的物理内存数量 15048.8 used 已使用的物理内存数量 5487.2 buff/cache 作为缓冲的内存数量
第五行为交换分区(swap)信息 单位 MiB32768.0 total 交换分区的总大小 30745.9 free 空闲交换分区的大小 2022.1 used. 已经使用的交换分区的大小 31456.8 avail Mem 可使用的交换分区大小
从第 6 行开始,显示的是系统中进程的信息:
PID 进程的 ID。
USER 该进程所属的用户。
PR 优先级,数值越小优先级越高。
NI 优先级,数值越小、优先级越高。
VIRT 该进程使用的虚拟内存的大小,单位为 KB。
RES 该进程使用的物理内存的大小,单位为 KB。
SHR 共享内存大小,单位为 KB。
S 进程状态。
%CPU 该进程占用 CPU 的百分比。
%MEM 该进程占用内存的百分比。
TIME+ 该进程共占用的 CPU 时间。
COMMAND 进程的命令名。
这只是默认显示的信息,top 可显示的信息还有很多,可以使用快捷键切换。 还可以使用htop,可以说是 top 的增强版本。
Share
最近在极客时间报名了训练营,时间有点不充分,后期会补上的。 先把很早之前的博客文章分享一下密码技术学习
版权声明: 本文为 InfoQ 作者【引花眠】的原创文章。
原文链接:【http://xie.infoq.cn/article/9608a1f059b4dabefac320658】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论