自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(114)
  • 资源 (1)
  • 收藏
  • 关注

原创 centos 7 部署k8s集群,并发布nginx

0 开始之前k8s已成潮流,一般用来做容器调度,这里简单记录下本机安装和体验的过程。k8s选择:minikube。1 安装k8s相关环境curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && sudo install minikube-linux-amd64 /usr/local/bin/minikubeyum install conntrack

2020-06-13 19:58:46 407

原创 fiddler配置https抓ios、本地浏览器的包

0 开始之前网上搜了一大波,然后发现还是抓不了https的包,遂决定自己总结下。1 fiddler配置(特别注意红色箭头标注的)2 ios证书下载使用safari浏览器访问本机ip + 8888,并点击下载设置->通用->描述文件与设备管理设置->关于本机->证书信任设置...

2020-04-23 16:43:26 307

原创 【打卡】LeetCode 820. 单词的压缩编码

给定一个单词列表,我们将这个列表编码成一个索引字符串S与一个索引列表 A。例如,如果这个列表是 ["time", "me", "bell"],我们就可以将其表示为 S = "time#bell#" 和 indexes = [0, 2, 5]。对于每一个索引,我们可以通过从字符串 S中索引的位置开始读取字符串,直到 "#" 结束,来恢复我们之前的单词列表。那么成功对给定单词列表进...

2020-03-28 23:57:02 243

原创 【打卡】LeetCode 914. 卡牌分组

给定一副牌,每张牌上都写着一个整数。此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组:每组都有X张牌。组内所有的牌上都写着相同的整数。仅当你可选的 X >= 2 时返回true。示例 1:输入:[1,2,3,4,4,3,2,1]输出:true解释:可行的分组是 [1,1],[2,2],[3,3],[4,4]示例 2:输入...

2020-03-27 02:08:31 146

原创 【打卡】LeetCode 999. 车的可用捕获量

在一个 8 x 8 的棋盘上,有一个白色车(rook)。也可能有空方块,白色的象(bishop)和黑色的卒(pawn)。它们分别以字符 “R”,“.”,“B” 和 “p” 给出。大写字符表示白棋,小写字符表示黑棋。车按国际象棋中的规则移动:它选择四个基本方向中的一个(北,东,西和南),然后朝那个方向移动,直到它选择停止、到达棋盘的边缘或移动到同一方格来捕获该方格上颜色相反的卒。另外,车不能与其...

2020-03-26 01:00:18 142

原创 【打卡】LeetCode 892. 三维形体的表面积

在N*N的网格上,我们放置一些1 * 1 * 1的立方体。每个值v = grid[i][j]表示v个正方体叠放在对应单元格(i, j)上。请你返回最终形体的表面积。示例 1:输入:[[2]]输出:10示例 2:输入:[[1,2],[3,4]]输出:34示例 3:输入:[[1,0],[0,2]]输出:16示例 4:输入:[[1,...

2020-03-25 00:55:25 134

原创 【打卡】LeetCode 面试题 17.16. 按摩师

一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。注意:本题相对原题稍作改动示例 1:输入: [1,2,3,1]输出: 4解释: 选择 1 号预约和 3 号预约,总时长 = 1 + 3 = 4。示例 2:输入:...

2020-03-24 23:09:24 130

原创 【打卡】LeetCode 206. 反转链表

反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-linked-list著...

2020-03-23 00:49:19 115

原创 【打卡】LeetCode 225. 用队列实现栈

使用队列实现栈的下列操作:push(x) -- 元素 x 入栈pop() -- 移除栈顶元素top() -- 获取栈顶元素empty() -- 返回栈是否为空注意:你只能使用队列的基本操作-- 也就是push to back, peek/pop from front, size, 和is empty这些操作是合法的。你所使用的语言也许不支持队列。你可以使用 list 或者...

2020-03-23 00:44:22 116

原创 【打卡】LeetCode 945. 使数组唯一的最小增量

给定整数数组 A,每次 move 操作将会选择任意A[i],并将其递增1。返回使 A中的每个值都是唯一的最少操作次数。示例 1:输入:[1,2,2]输出:1解释:经过一次 move 操作,数组将变为 [1, 2, 3]。示例 2:输入:[3,2,1,2,1,7]输出:6解释:经过 6 次 move 操作,数组将变为 [3, 4, 1, 2, 5, 7]。可以看出 ...

2020-03-23 00:39:57 170 1

原创 【打卡】LeetCode 876. 链表的中间结点

给定一个带有头结点head的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans....

2020-03-23 00:37:44 102

原创 【打卡】LeetCode 365. 水壶问题

有两个容量分别为x升 和y升 的水壶以及无限多的水。请判断能否通过使用这两个水壶,从而可以得到恰好z升 的水?如果可以,最后请用以上水壶中的一或两个来盛放取得的z升水。你允许:装满任意一个水壶 清空任意一个水壶 从一个水壶向另外一个水壶倒水,直到装满或者倒空示例 1:(From the famous"Die Hard"example)输入: x = 3, y...

2020-03-21 03:30:42 127

原创 【打卡】LeetCode 面试题40. 最小的k个数

输入整数数组arr,找出其中最小的k个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2:输入:arr = [0,1,2,1], k = 1输出:[0]限制:0 <= k <= arr.lengt...

2020-03-20 00:30:17 122

原创 【打卡】LeetCode 836. 矩形重叠

矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标。如果相交的面积为正,则称两矩形重叠。需要明确的是,只在角或边接触的两个矩形不构成重叠。给出两个矩形,判断它们是否重叠并返回结果。示例 1:输入:rec1 = [0,0,2,2], rec2 = [1,1,3,3]输出:true示例 2:输入:r...

2020-03-19 20:40:00 125

原创 【打卡】LeetCode 1160. 拼写单词

给你一份『词汇表』(字符串数组)words和一张『字母表』(字符串)chars。假如你可以用chars中的『字母』(字符)拼写出 words中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。注意:每次拼写时,chars 中的每个字母都只能用一次。返回词汇表words中你掌握的所有单词的 长度之和。示例 1:输入:words = ["cat","b...

2020-03-19 20:39:30 170

原创 【打卡】LeetCode 409. 最长回文串

给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如"Aa"不能当做一个回文字符串。注意:假设字符串的长度不会超过 1010。示例 1:输入:"abccccdd"输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。func longestPalindrome(s ...

2020-03-19 00:30:55 116

原创 【打卡】LeetCode 面试题 01.06 字符串压缩

字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。示例1:输入:"aabcccccaaa"输出:"a2b1c5a3"示例2:输入:"abbccd"输出:"abbccd"解释:"abbcc...

2020-03-16 01:05:47 200

原创 【打卡】LeetCode 695. 岛屿的最大面积

给定一个包含了一些 0 和 1的非空二维数组grid, 一个岛屿是由四个方向 (水平或垂直) 的1(代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为0。)示例 1:[[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1...

2020-03-15 02:33:03 161

原创 【打卡】LeetCode 3. 无重复字符的最长子串

给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1:输入: "abcabcbb"输出: 3解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是"w...

2020-03-14 06:48:21 114

原创 【打卡】LeetCode 300. 最长上升子序列

给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是[2,3,7,101],它的长度是 4。func lengthOfLIS(nums []int) int { size := len(nums) if size == 0 { return 0 ...

2020-03-14 05:29:15 106

原创 nginx 配置Universal Links

0 开始之前网上关于这个的配置大多都是错的,一直获取不到json内容提示404,自己试出来正确的配置,这里简单记录下。1 Universal Links简介(内容来自网络)iOS9之后,Apple推出的一种通用链接,能够方便的通过https链接来启动APP,通过唯一的网址,不需要特别的schema就可以链接一个特定的视图到APP。这也就设计到universal links的几个特性:...

2020-02-22 19:09:27 2876 3

原创 centos安装elasticsearch

0 开始之前最近工程中有用到es的场景,想自己先体验学习下,这里简单记录下安装。1 环境搭建要注意es只支持非root用户运行。1.1安装java环境(可选,如果没有安装java,需要安装下)sudo yum -y install java-1.8.0-openjdk1.2安装eswget https://artifacts.elastic.co/downloa...

2020-02-06 23:21:26 185 1

原创 nginx 配置支持多域名跨域

背景前端跨域一般使用JSONP(GET请求小数据量)、CORS(跨域资源共享,Cross-Origin Resource Sharing,用来传递大数据量)现在的场景是需要nginx配置支持多域名跨域,跨域一般需要设置Access-Control-Allow-Origin。问题描述配置nginx,如果简单设置add_header Access-Control-Allow-Origin...

2019-12-06 14:32:27 932

原创 使用goaccess对nginx的accesslog进行分析和统计

1 开始之前1.1 安装包nginx-1.17.6.tar.gzgoaccess-1.3.tar.gz1.2 操作系统centos 7.02 安装2.1 安装nginxwget http://nginx.org/download/nginx-1.17.6.tar.gz && \ tar -xvf nginx-1.17.6.tar.gz && \ ...

2019-11-23 18:55:40 953 1

原创 windows 使用 vscode Remote - SSH 免密

环境依赖:下载安装git客户端,并配置了git环境。在windows使用Git bash执行命令:ssh-keygen -t rsassh-copy-id -p 端口 用户名@ip在linux重启sshd:systemctl restart sshd...

2019-11-16 18:53:47 718

原创 centos 7安装YouCompleteMe

升级vim# 移除旧版本sudo yum remove vim -y# 安装必要组件sudo yum install ncurses-devel python-devel -y# 下载源码编译安装git clone https://github.com/vim/vim.gitcd vim/src# 根据自己实际情况设置编译参数./configure --with-featur...

2019-11-16 18:46:39 168

原创 Dokerfile的常见用法和踩过的坑

0 开始之前Dockerfile 作为一个规则文件可以方便镜像的构建,便于版本管理,工作中有用到打镜像,这里根据自己写的一个Dokefile脚本,记录下工作中Dockerfile常用的语法和一些常见的坑。1 使用1.1 FROM一般用作引入基础镜像。FROM csighub.tencentyun.com/xxx/xxx1.2LABEL主要是对版本的说明。LAB...

2019-11-15 14:38:52 406

原创 raft学习

There is only one consensus protocol, and that’s Paxos” – all other approaches are just broken versions of Paxos.早已对paxos的broken版本raft慕名已久,这里简单记录下。参考文档https://cloud.tencent.com/developer/arti...

2019-10-25 11:29:54 287

原创 paxos学习

There is only one consensus protocol, and that’s Paxos” – all other approaches are just broken versions of Paxos.对paxos慕名已久,这里记录下。参考文献https://cloud.tencent.com/developer/article/1352070htt...

2019-10-23 19:00:44 173

原创 golang cpu性能图形分析工具

0 背景图形可以帮助我们直观的查看并定位问题,而cpu使用情况是一个比较重要的衡量指标。golang是属于一门注重性能的语言,自带了runtime/pprof来分析,这里做下简单记录。1 开始之前1.1 测试代码package mainimport ( "flag" "fmt" "os" "runtime/pprof")var cpuprofile = flag.Stri...

2019-09-05 16:57:48 1884

原创 git忽略子模组指针的改变

问题描述git工程用到子模组,使用者由于没有做git submodule update来更新子模组指针,导致子模组的指针经常被误操作更新成旧版本。因此,想忽略掉指针的变化,防止误提交。解决方法1.使用关联命令,gitp来更新,关联命令如下:alias gitp="git submodule update; git pull --rebase"2.在project下建立一个目录,...

2019-06-26 20:29:46 400

原创 golang 实现类似c++析构函数解决cgo堆变量释放的问题

问题背景有个用于多协程场景的loader,调用的cgo实现会返回一个指针指向当前空间,使用全局指针来记录该指针的值。这里主要有这几个考量:1.复用loader的内容,因为每次重新加载开销比较大。2.更新后老空间如何释放(其他协程可能正在使用)。目前想到的就是实现一个类似c++析构函数的功能或者对这块旧内存做引用计数(cgo的空间没法被go的垃圾回收管理)。解决方案大...

2019-06-26 20:06:51 2700

原创 epoll ET LT性能测试

结论总体来看两者差距不大,甚至LT比ET还稍微好一点。两者区别:epoll的句柄是否对缓冲区的变化进行状态变化。绑定的单核cpu 16GB内存 centos 7.0 gcc 版本 4.8.5 使用taskset绑定为单核,ab压测taskset -cp 6 10714ab -n 50000 -k 127.0.0.1/ET:Requests per second: 497...

2019-04-17 19:52:43 768

原创 源码安装(更新)git

1.下载git源码包git下载页面2.解压tar xvf git-2.20.1.tar.gz3.生成configure(可选)autoconf4.配置路径(可选)./configure --prefix=/usr/local/git5.编译make -j46.安装sudo make install7.效果演示...

2019-04-17 14:23:25 175

原创 linux配置显示git分支名

1.在.bash_profile中添加如下代码:function git-branch-name {git symbolic-ref --short -q HEAD 2>/dev/null}function git-branch-prompt { local branch=`git-branch-name` if [ $branch ]; then printf " ...

2019-04-17 14:13:54 1397

原创 git免密

1.在git项目中执行git config --global credential.helper store2.执行git pull并根据提示输入用户名和密码3.效果演示

2019-04-17 14:10:50 110

原创 五步svn无损迁到git

1 准备工作1.1 确认是否安装了git-svn确认命令如下。git svn --version若没有安装则使用如下命令安装。sudo yum install git-svn -y1.2 svn提交记录转换为git提交记录格式1)在svn工程执行如下命令,从svn log中提取提交用户的信息。svn log --xml --quiet | grep author |...

2019-04-17 13:59:27 1093

原创 和我一起使用Python的bottle来实现文件的上传和下载(使用post方法)

1、http报文格式 http的报文格式如上图所示,而post发送请求,无非是请求行请求方法的值为post。2、post请求提交数据的字段这里主要讨论它的Content-Type字段对应的不同的值。 1. application/x-www-form-urlencoded 2. application/json 3. text/xml 4. multipart/form-data对于第一种,

2017-03-13 15:46:42 5468

原创 和我一起来使用python发送邮件

1、协议简介 SMTP称为简单邮件传输协议(Simple Mail Transfer Protocal),目标是向用户提供高效、可靠的邮件传输。它的一个重要特点是它能够在传送中接力传送邮件,即邮件可以通过不同网络上的主机接力式传送。通常它工作在两种情况下:一是邮件从客户机传输到服务器;二是从某一个服务器传输到另一个服务器。SMTP是一个请求/响应协议,它监听25号端口,用于接收用户的Mail请求,

2017-03-12 21:40:27 619

转载 很好用的Python框架Bottle

微型 Python Web 框架: Bottle在 19/09/11 07:04 PM 由 COSTONY 发表Bottle 是一个非常小巧但高效的微型 Python Web 框架,它被设计为仅仅只有一个文件的Python模块,并且除Python标准库外,它不依赖于任何第三方模块。路由(Routing):将请求映射到函数,可以创建十分优雅的 URL模板(Temp

2017-01-03 12:40:52 2877

nginx-1.6.2.tar.gz

博客文章说了nginx的配置,方便大家配置特此上传资源

2015-11-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除