12 2020 档案
摘要:look命令 look命令用于查询单词,仅需指定欲查询的字首字符串,它会显示所有开头字符串符合该条件的单词。 语法 look [-bdf] [-t char] string [file ...] 参数 -a, --alternative: 使用备用字典文件。 -d, --alphanum: 使用普通
阅读全文
摘要:最后一块石头的重量 有一堆石头,每块石头的重量都是正整数。 每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎。假设石头的重量分别为x和y,且x <= y。那么粉碎的可能结果如下: 如果x == y,那么两块石头都会被完全粉碎。 如果x != y,那么重量为x的石头将会完全粉碎,而重量为y的石
阅读全文
摘要:实现加载提示组件 在开发时经常需要用到加载提示,例如发起一个XHR请求时就需要给予用户一个交互的反馈,实现一个加载提示组件,重要的部分已经做出注释。 实例 <!DOCTYPE html> <html> <head> <title>loading</title> <style type="text/c
阅读全文
摘要:等待者模式 等待者模式是通过对多个异步任务进行监听,当异步任务完成后触发未来发生的动作,在没有Promise这个模型的时候,其实就已经出现这样类似的技术方案,不同的只是没有定制为一个技术规范,等待者模式不属于一般定义的23种设计模式的范畴,而通常将其看作广义上的技巧型设计模式。 描述 等待者模式就是
阅读全文
摘要:Nginx常用配置 Nginx (Engine X)是一个轻量级的高性能的HTTP和反向代理web服务器,同时也提供了电子邮件IMAP/POP3/SMTP服务,在BSD-like协议下发行,其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。 常用命令 -c <
阅读全文
摘要:React组件的state和props React的数据是自顶向下单向流动的,即从父组件到子组件中,组件的数据存储在props和state中。实际上在任何应用中,数据都是必不可少的,我们需要直接的改变页面上一块的区域来使得视图的刷新,或者间接地改变其他地方的数据,在React中就使用props和st
阅读全文
摘要:join命令 join命令用于将两个文件中,指定栏位内容相同的行连接起来。其首先找出两个文件中指定栏位内容相同的行,并加以合并,再输出到标准输出设备。 语法 join [OPTION]... FILE1 FILE2 参数 -a FILENUM: 从FILENUM打印不成对的行,其中FILENUM是1
阅读全文
摘要:参与者模式 JavaScript中的参与者模式,就是在特定的作用域中执行给定的函数,并将参数原封不动的传递,参与者模式不属于一般定义的23种设计模式的范畴,而通常将其看作广义上的技巧型设计模式。 描述 参与者模式实现的在特定的作用域中执行给定的函数,并将参数原封不动的传递,实质上包括函数绑定和函数柯
阅读全文
摘要:字符串中的第一个唯一字符 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回-1。 示例 s = "leetcode" 返回 0 s = "loveleetcode" 返回 2 题解 /** * @param {string} s * @return {number} *
阅读全文
摘要:Git与SVN对比 Git与SVN都是版本控制系统,版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一,最主要的功能就是追踪文件的变更。 描述 SVN是集中式管理的版本控制器,而Git是分布式管理的版本控制器,这是两者之间最核心的区别。 SVN
阅读全文
摘要:惰性模式 惰性模式就是在某种外界环境一定的情况下,减少代码的对环境的重复分支判断,以此提升代码执行性能。惰性模式模式不属于一般定义的23种设计模式的范畴,而通常将其看作广义上的技巧型设计模式。 描述 惰性模式就是通过对对象重新定义来屏蔽原对象中的分支判断,而我们的实现思路也非常简单,既然某种外界环境
阅读全文
摘要:SSRF服务器端请求伪造 SSRF服务端请求伪造漏洞,也称为XSPA跨站端口攻击,是一种由攻击者构造一定的利用代码导致服务端发起漏洞利用请求的安全漏洞,一般情况下SSRF攻击的应用是无法通过外网访问的,所以需要借助目标服务端进行发起,目标服务器可以链接内网和外网,攻击者便可以通过目标主机攻击内网应用
阅读全文
摘要:React中JSX的理解 JSX是快速生成react元素的一种语法,实际是React.createElement(component, props, ...children)的语法糖,同时JSX也是Js的语法扩展,包含所有Js功能。 描述 JSX发展过程 在之前,Facebook是PHP大户,所以R
阅读全文
摘要:aspell命令 aspell命令是一个交互式拼写检查器,其会扫描指定的文件或任何标准输入的文件,检查拼写错误,并允许交互式地纠正单词。 语法 aspell [options] command 参数 usage, -?: 显示常用拼写检查命令和选项的简短摘要。 help: 输出帮助信息。 versi
阅读全文
摘要:买卖股票的最佳时机含手续费 给定一个整数数组prices,其中第i个元素代表了第i天的股票价格;非负整数fee代表了交易股票的手续费用。 你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。 返回获得利润的最大值。 注意:这里的一笔交
阅读全文
摘要:grep命令 grep命令用于查找文件里符合条件的字符串,如果发现某文件的内容符合所指定的模式,grep命令会把含有模式的那一行显示出来。若不指定任何文件名称,或是所给予的文件名为-,则grep指令会从标准输入设备读取数据。 语法 grep [OPTION]... PATTERN [FILE]...
阅读全文
摘要:单调递增的数字 给定一个非负整数N,找出小于或等于N的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。当且仅当每个相邻位数上的数字x和y满足x <= y时,我们称这个整数是单调递增的。 示例 输入: N = 10 输出: 9 输入: N = 1234 输出: 1234 输入: N =
阅读全文
摘要:简单模板模式 简单模板模式是通过格式化字符串拼接出视图避免创建视图时大量的节点操作,简单模板模式不属于一般定义的23种设计模式的范畴,而通常将其看作广义上的技巧型设计模式。 描述 对比于模板方法模式,其定义了如何执行某些算法的框架,通过父类公开的接口或方法子类去实现或者是调用,而简单模板模式是用来解
阅读全文
摘要:React虚拟DOM的理解 Virtual DOM是一棵以JavaScript对象作为基础的树,每一个节点可以将其称为VNode,用对象属性来描述节点,实际上它是一层对真实DOM的抽象,最终可以通过渲染操作使这棵树映射到真实环境上,简单来说Virtual DOM就是一个Js对象,是更加轻量级的对DO
阅读全文
摘要:fold命令 fold命令用于限制文件列宽,其会从指定的文件里读取内容,将超过限定列宽的列加入增列字符后,输出到标准输出设备。若不指定任何文件名称,或是所给予的文件名为-,则fold命令会从标准输入设备读取数据。 语法 fold [OPTION]... [FILE]... 参数 -b, --byte
阅读全文
摘要:Dota2参议院 Dota2的世界里有两个阵营:Radiant天辉和Dire夜魇 Dota2参议院由来自两派的参议员组成。现在参议院希望对一个Dota2游戏里的改变作出决定。他们以一个基于轮转过程的投票进行。在每一轮中,每一位参议员都可以行使两项权利中的一项: 禁止一名参议员的权利:参议员可以让另一
阅读全文
摘要:fmt命令 fmt命令用于编排文本文件,其会从指定的文件里读取内容,将其依照指定格式重新编排后,输出到标准输出设备,若指定的文件名为-,则fmt指令会从标准输入设备读取数据。 语法 fmt [-WIDTH] [OPTION]... [FILE]... 参数 -c, --crown-margin: 保
阅读全文
摘要:不同路径 一个机器人位于一个m x n网格的左上角(起始点在下图中标记为Start )。 机器人每次只能向下或者向右移动一步,机器人试图达到网格的右下角(在下图中标记为Finish)。 Start Finish 例如,上图是一个7 x 3的网格。有多少可能的路径? 示例 输入: m = 3, n =
阅读全文
摘要:Js将字符串转数字的方式 Js字符串转换数字方方式主要有三类:转换函数、强制类型转换、弱类型隐式类型转换,利用这三类转换的方式可以有5种转换的方法。 parseInt() parseInt()和Number.parseInt()是最常用的转换字符串为整数数值的方法,其中Number.parseInt
阅读全文
摘要:防抖节流模式 防抖debounce与节流throttle都是控制事件处理函数执行频率的方法,当函数会进行DOM操作或者具有请求服务器等行为并且作为高频事件例如onscroll触发的事件处理函数时,就需要进行事件处理函数执行频率的控制,否则会造成大量的资源浪费致使性能下降,当然无论是防抖与节流实质上并
阅读全文
摘要:Location对象 Location对象表示其链接到的对象的位置URL,所做的修改反映在与之相关的对象上。Document和Window对象都有这样一个链接到Location,分别通过document.location和window.location访问。 属性 location.href: 包含
阅读全文
摘要:React生命周期 React的生命周期从广义上分为挂载、渲染、卸载三个阶段,在React的整个生命周期中提供很多钩子函数在生命周期的不同时刻调用。 描述 此处描述的是使用class类组件提供的生命周期函数,每个组件都包含自己的生命周期方法,通过重写这些方法,可以在运行过程中特定的阶段执行这些方法,
阅读全文
摘要:fgrep命令 当需要搜索包含很多正则表达式元字符的字符串时,例如$、^等,fgrep很有用,其通过指定搜索字符串包含固定字符,从而无需对每个字符进行转义用反斜杠,如果搜索的字符串包含换行符,则每行将被视为要在搜索中匹配的单个固定字符字符串。也就是说fgrep是用来搜索固定字符的,固定字符表示字符串
阅读全文
摘要:数据访问对象模式 数据访问对象模式Data Access Object Pattern即DAO模式,用于把低级的数据访问API或操作从高级的业务服务中分离出来,数据访问对象模式不属于一般定义的23种设计模式的范畴,而通常将其看作广义上的技巧型设计模式。 描述 数据访问对象模式就是对数据源的访问与存储
阅读全文
摘要:保持城市天际线 在二维数组grid中,grid[i][j]代表位于某处的建筑物的高度。 我们被允许增加任何数量(不同建筑物的数量可能不同)的建筑物的高度。高度0也被认为是建筑物。 最后,从新数组的所有四个方向(即顶部,底部,左侧和右侧)观看的“天际线”必须与原始数组的天际线相同。 城市的天际线是从远
阅读全文
摘要:委托模式 委托模式就是利用事件的冒泡机制把一个或者一组元素的事件委托到它的父层或者更外层元素上,委托模式不属于一般定义的23种设计模式的范畴,而通常将其看作广义上的技巧型设计模式。 描述 事件委托,委托模式就是利用事件的冒泡机制把一个或者一组元素的事件委托到它的父层或者更外层元素上,真正绑定事件的是
阅读全文