ARTS 打卡 第 10 周
ARTS简介
Algorithm 是一道算法题,Review 是读一篇英文文章,Technique/Tips 是分享一个小技术,Share 是分享一个观点。
Algorithm
给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。
解题思路:
首先可以找到第一个左括号,因为如果是左边开始都是右括号,肯定不能匹配。可匹配的括号的特点,一定是左括号的数量大于右括号的数量,如果右括号大于左括号则可以跳过继续寻找,当左右括号数量相等的时候,就是此次匹配有效括号的数量。
1中的逻辑可以解决右括号比左括号多,但是不能处理左括号比右括号多(比如”()((())”)为了处理这种情况,我们还需要从右边寻找可匹配的括号数量,条件与1正好相反。
Review
学习-微服务架构模式系列,网站地址是:https://microservices.io
微服务架构-Pattern: API Composition
这篇文章的主要介绍了微服务架构下如何进行查询:API 聚合模式
问题:如何在微服务架构中实现查询
强制要求:
使用微服务
使用一个服务一个数据库模式
需要聚合多服务数据
解决方法,API 聚合模式:
使用聚合API调用多个服务然后在内存中将数据结合
好处: 比较简单
缺点: 有些查询效率低,数据大磁盘相关命令
Tips
记录我对于Linux的学习,文件相关的命令:
ps:”~” 表示为 home 目录,”.” 则是表示目前所在的目录,”..” 则表示当前目录的上一层目录
-h 用人类可读的格式展示(G(千兆字节),M(兆字节),K(千字节)),大部分命令有这个参数
修改文件属性等命令
touch 于修改文件或者目录的时间属性。比如访问时间、修改时间。
格式:touch [选项]... 文件列表...
-a 仅更改文件访问时间
-c,--no-create 假如目的档案不存在,不会建立新的档案
-d, --date=字符串 使用指定字符串所表示的时间而非当前时间
-f (被忽略的选项)
-h, --no-dereference 影响所有符号链接而非被引用的文件(仅在能够更改符号链接的时间戳的系统上有用)
-m 改变档案的修改时间记录。
r--reference=文件 使用指定文件的时间记录
-t STAMP 使用 [[CC]YY]MMDDhhmm[.ss] 代替当前时间
--time=关键字 改变文件的指定时间:若关键字是 access,atime 或 use,则等同于 -a;若关键字是modify 或 mtime,则等同于 -m
chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。
ps:这个命令只有root才能执行。
格式:chown [选项]... [所有者][:[组]] 文件...
chown [选项]... --reference=参考文件 文件...
-c, --changes 显示更改的部分的信息
-f, --silent, --quiet 忽略错误信息
--dereference 影响每个符号链接的原始引用文件(这是默认行为),而非符号链接本身
-h, --no-dereference 只影响符号链接,而非被引用的任何文件(仅当系统支持更改符号链接的所有者时,该选项才有用)
--from=当前所有者:当前所属组 只当每个文件的所有者和组符合选项所指定时才更改所有者和组。其中一个可以省略,这时已省略的属性就不需要符合原有的属性
--reference=参考文件 使用指定参考文件的所有者和所属组信息,而非手工指定 所有者:组 的值
-R : 处理指定目录以及其子目录下的所有文件
1. -H 如果命令行参数是一个指向目录的符号链接,则对其进行遍历
2. -L 遍历每一个遇到的指向目录的符号链接
3. -P 不遍历任何符号链接(默认)
ps:如果没有指定所有者,则不会更改所有者信息。若所属组若没有指定也不会对其更改,但当加上':' 时 GROUP 会更改为指定所有者的主要组。所有者和所属组可以是数字或名称。
chgrp 与chown命令类似,不过只用于变更文件或目录的所属群组。
格式: chgrp [选项列表]... 组 文件...
chgrp [选项列表]... --reference=参考文件 文件...
-c, --changes 显示更改的部分的信息
-f, --silent, --quiet 忽略错误信息
--dereference 影响每个符号链接的原始引用文件(这是默认行为),而非符号链接本身
-h, --no-dereference 只影响符号链接,而非被引用的任何文件(仅当系统支持更改符号链接的所有者时,该选项才有用)
--from=当前所有者:当前所属组 只当每个文件的所有者和组符合选项所指定时才更改所有者和组。其中一个可以省略,这时已省略的属性就不需要符合原有的属性
--reference=参考文件 使用指定参考文件的所有者和所属组信息,而非手工指定 所有者:组 的值
-R : 处理指定目录以及其子目录下的所有文件
1. -H 如果命令行参数是一个指向目录的符号链接,则对其进行遍历
2. -L 遍历每一个遇到的指向目录的符号链接
3. -P 不遍历任何符号链接(默认)
chmod
格式:chmod [选项]... 模式[,模式]... 文件列表...
chmod [选项]... 八进制模式字符串 文件列表...
chmod [选项]... --reference=参考文件 文件列表...
-c, --changes 显示更改的部分的信息
-f, --silent, --quiet 忽略错误信息
--dereference 影响每个符号链接的原始引用文件(这是默认行为),而非符号链接本身
-h, --no-dereference 只影响符号链接,而非被引用的任何文件(仅当系统支持更改符号链接的所有者时,该选项才有用)
--from=当前所有者:当前所属组 只当每个文件的所有者和组符合选项所指定时才更改所有者和组。其中一个可以省略,这时已省略的属性就不需要符合原有的属性
--reference=参考文件 使用指定参考文件的所有者和所属组信息,而非手工指定 所有者:组 的值
-R : 处理指定目录以及其子目录下的所有文件
其中模式(mode)的格式如下:
`[ugoa]*(-+=)+|[-+=][0-7]+`
其中:
u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
数字也可以表示权限,r=4,w=2,x=1。所以可读可写是rw=4+2=6
ps: chown、chgrp与chmod都是由同样的程序员编写的,所以它们的参数与使用方式都很类似
Share
分享最近对计算机基础的复习,这次分享的是程序的机器级表示 - 算术与逻辑运算,可能会有不足之处,之后会根据理解继续修改。
版权声明: 本文为 InfoQ 作者【引花眠】的原创文章。
原文链接:【http://xie.infoq.cn/article/379defa81f8f8086ff586cfd5】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论