Windows系统命令行的最佳实践
每次看到Mac生态中炫酷的命令行工具,我就一脸羡慕,但是奈何财力不足,整不起动辄上万的电脑,搬砖人就只能折腾折腾手里的这台windows了。
效果展示:
Mac终端自带的zsh完全移安装到了WSL上面,命令交互样式变得更加美观,默认能够显示当前所在文件夹下的git分支
更加智能的命令提示,这也是我最喜欢的一点
open命令,使用open命令可以使用系统默认软件打开文件夹以及文件
一. 安装WSL因为Mac是一个类Unix系统,所以Windows下的WSL(Windows Subsystem for Linux)就是非常适合作为命令行的系统环境。使用WSL后大多数命令都和Mac一样了,这种开发和运维一体的感觉真是不错。
具体安装WSL的方法网上一大堆,大家自行Google,这里给大家贴一个在B站上视频教程 Windows自带Linux安装教程 WSL
安装好WSL后会多一个类似于CMD的黑窗口,这个窗口就是与Linux子系统交互的窗口。
二. 安装Fluent Terminal那个黑黑的窗口显然不是我想要的,在网络世界遨游了一番最终选择了Fluent Termina ...
最长回文子串-动态规划
给你一个字符串 s,找到 s 中最长的回文子串。
示例 1:
输入:s = “babad”输出:”bab”解释:”aba” 同样是符合题意的答案。示例 2:
输入:s = “cbbd”输出:”bb”示例 3:
输入:s = “a”输出:”a”示例 4:
输入:s = “ac”输出:”a”
LeetCode:最长回文子串 - 力扣(LeetCode) (leetcode-cn.com)
一. 思路分析对于一个子串而言,如果它是回文串,并且长度大于 2,那么将它首尾的两个字母去除之后,它仍然是个回文串。例如对于字符串ababa,如果我们已经知道bab是回文串,那么ababa一定是一个回文串,因为它首尾两个字母都是a。
根据这样的思路,我们就可以用动态规划的方法解决本题。我们用 P(i,j) 表示字符串 s 的第 i 到 j 个字母组成的串(下文表示成 s[i:j])是否为回文串。那么P(i,j)就有两种情况,一种是true一种是false:
那么我们就可以写出动态规划的状态转移方程:
也就是说从i到j的字符串是否是回文串取决于,去掉首尾字符( ...
详解时间复杂度
一. 为什么需要复杂度分析你可能会有些疑惑,我把代码跑一遍,通过统计、监控,就能得到算法执行的时间和占用的内存大小。为什么还要做时间、空间复杂度分析呢?这种分析方法能比我实实在在跑一遍得到的数据更准确吗?
这种评估算法执行效率的方法是正确的。但是这种统计方法有非常大的局限性。
1. 测试的结果依赖测试的环境
测试环境中硬件的不同会对测试结果有很大的影响。比如,我们拿同样一段代码,分别用 Intel Core i9 处理器和 Intel Core i3 处理器来运行,不用说,i9 处理器要比 i3 处理器执行的速度快很多。还有,比如原本在这台机器上 a 代码执行的速度比 b 代码要快,等我们换到另一台机器上时,可能会有截然相反的结果。
2. 测试结果受数据规模的影响很大
如果测试数据规模太小,测试结果可能无法真实地反映算法的性能。比如,对于小规模的数据排序,插入排序可能反倒会比快速排序要快!
所以,我们需要一个不用具体的测试数据来测试,就可以粗略地估计算法的执行效率的方法。这就是我们今天要讲的时间、空间复杂度分析方法。
二. T(n) 时间复杂度时间复杂度 - 维基百科,自由的百科全书 ...
Redmi AC2100路由器刷老毛子固件
最近搭建集群,有了自定义DNS的需求,所有就萌生了刷路由器固件的想法,这样可以一劳永逸的解决问题,网上翻阅了一些资料最终选择了”老毛子“固件。
本文相关文件
链接:https://pan.baidu.com/s/1b4Sm5hpy9Am_jjz8YDWWlQ提取码:ghbl复制这段内容后打开百度网盘手机App,操作更方便哦
第一步:刷入Breed不死后台Breed不死后台类似于PC的BIOS,刷入Breed后,路由器就可以自由的刷入固件了。
官方固件操作 (WAN口接互联网):
WEB管理页面内-固件升级-手动升级下面2.0.7*版本固件 地址1 地址2
开启路由器SSSH:
进192.168.31.1 登陆管理页面,复制你的地址栏整段URL到记事本(例如下面):http://192.168.31.1/cgi-bin/luci/;stok=DGJ49JG522debug6578F/web/home#router
开启ssh方式:下面改红字部分,改为你记事本stok=那段(替换);整段复制到地址栏打开,http://192.168.31.1/cgi ...
DockerSwarm架构详解
Docker Swarm提供了基本的集群能力,能够使多个Docker Engine组合成一个group,提供多容器服务。Swarm使用标准的Docker API,启动容器可以直接使用docker run命令。
一. 基本架构Docker Swarm提供了基本的集群能力,能够使多个Docker Engine组合成一个group,提供多容器服务。Swarm使用标准的Docker API,启动容器可以直接使用docker run命令。Swarm更核心的则是关注如何选择一个主机并在其上启动容器,最终运行服务。 Docker Swarm基本架构,如下图所示:
如上图所示,Swarm Node表示加入Swarm集群中的一个Docker Engine实例,基于该Docker Engine可以创建并管理多个Docker容器。其中,最开始创建Swarm集群的时候,Swarm Manager便是集群中的第一个Swarm Node。在所有的Node中,又根据其职能划分为Manager Node和Worker Node。
1.1 Manager NodeManger 节点,顾名思义,是进行 Swarm 集群 ...