关于 ARTS:一个需要持续地坚持的高效学习项目,每周写一个ARTS:Algorithm 是一道算法题,Review 是读一篇英文文章,Technique/Tips 是分享一个小技术,Share 是分享一个观点。
本周 ARTS:
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/move-zeroes 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution {
public void moveZeroes(int[] nums) {
int k = 0;
for (int i = 0; i < nums.length; i++) {
if (nums[i] != 0) {
nums[k] = nums[i];
if (i != k) {
nums[i] = 0;
}
k++;
}
}
}
}
时间复杂度:O(N)
https://www.educative.io/blog/the-7-most-important-software-design-patterns
文章介绍了7个最常用的设计模式,单例模式,工厂模式,策略模式,适配器模式,状态模式,观察者模式的关键点和使用场景。
首先介绍下什么是 ab: 全称为 Apache Bench,是 Apache HTTP 服务器专门用来对服务进行基准测试的性能测试工具,属于 httpd-tools 包的一部分,专门用于测试 Web 服务,并且上手容易,使用简单,特别适合我们对单个接口进行性能测试和高并发测试。
下面再介绍下 Linux 环境下 ab 的安装和常见用法。
使用 yum 安装 yum -y install httpd-tools
,安装完成后输入 ab 命令,看到以下提示表示安装完成:
接下来看下如何分别对 GET 接口和 POST 接口进行测试:
ab -c 10 -n 100 https://www.baidu.com/
ab -n 100 -c 10 -p 'post.txt' -T 'application/x-www-form-urlencoded' 'http://test.api.com/test/register'
其中 post.txt 内容为 POST 请求参数:usernanme=test&password=test&sex=1
。
这里再说明下上述 ab 命令所用到的参数:更多的其他参数使用方式可以参考命名 ab -help
。
最后再来命令执行后的输出内容,针对几个重要的参数指标进行说明。
介绍了如何使用 Docker 容器技术快递搭建 MySQL 主从架构。
https://www.yuque.com/docs/share/92cc8140-72e9-43a8-b38f-85de9f04ab0a?#