云原生 云原生,让Intuit为成千上万的开发人员带来了“闪电般快速”的部署 原文地址 [https://www.cncf.io/blog/2019/10/22/with-cloud-native-intuit-brings-lightning-fast-deployment-to-thousands-of-developers/] 在18个月内,Intuit 的在 kubernetes 集群上的服务从 0 增长到了整整 2000 个。在问道Intuit 的首席架构师 Jeff Brewer 时,”闪电般的部署“ 是他提到的最重要的原因。在用上 kubernetes 集群后,部署周期从天变成了秒,MTTR(Mean Time
web前端 input 输入框获得焦点时会缩小 当你使用 outline 时,出现此问题。 如果是在 chrome 中,chrome 有一个默认属性: input:focus, textarea:focus, keygen:focus, select:focus { outline-offset: -2px; } 所以会缩小,要修改的话,需要给元素增加一个属性: input:focus { outline-offset: 0; }
vscode VSCode Golang 单元测试时 timeout 30s超时如何解决 当前项目目录下,修改配置文件 .vscode/settings.json: { "go.testTimeout": "1h" } 现在超时时间就变成了 1h 如果要增加一些参数,如-v,-count=1等,可以添加这个参数 go.testFlags,如下: { "go.testFlags": [ "-count=1", "-v" ], "go.testTimeout": "1h" }
技术 Linux中文件描述符与打开文件之间的关系 Linux中文件描述符与打开文件之间的关系 File Descriptor概述 在 linux 系统中,一切都是文件,文件可分为以下几类: 1. 普通文件 2. 目录文件 3. 链接文件 4. 设备文件 文件描述符(File Descriptor,简称“fd”,以下均会称之为fd),这是内核为了高效管理已被打开的文件所创建的索引,请注意,fd 只是一个索引。这个索引是一个非负整数(通常是小整数,从0开始数),指向被打开的文件,所有执行 I/O
技术 docker 查看 各个 volume的磁盘空间占用 使用以下命令: docker system df -v 会列出所有的镜像、vlume占用的磁盘空间。 找到:Local Volumes space usage: 这一项,会列出volume占用的磁盘空间 -------------------------------------------------------------------------------- 此外,大幅占用磁盘空间还有日志,可通过以下链接了解如何进行 docker 的日志清理: * Docker: 获取容器的日志文件位置 [https://zgljl2012.com/docker-huo-qu-rong-qi-de-ri-zhi-wen-jian-wei-zhi/] * 查看及清理 docker 容器日志 [https://zgljl2012.com/cha-kan-ji-qing-li-docker-rong-qi-ri-zhi/
技术 rlwrap: error: My terminal reports width=0 (is it emacs?) I can't handle this, sorry! solutions: sleep 0.1 && rlwrap -r ... just sleep a little time before call rlwrap.
技术 Install Minikube on Mac Pro Install docker-machine-driver-hyperkit brew update brew install hyperkit brew install docker-machine-driver-hyperkit sudo chown root:wheel $(brew --prefix)/opt/docker-machine-driver-hyperkit/bin/docker-machine-driver-hyperkit sudo chmod u+s $(brew --prefix)/opt/docker-machine-driver-hyperkit/bin/docker-machine-driver-hyperkit Install Minikube Download
技术 在 Mac Pro 安装 Minikube 安装 docker-machine-driver-hyperkit brew update brew install hyperkit brew install docker-machine-driver-hyperkit sudo chown root:wheel $(brew --prefix)/opt/docker-machine-driver-hyperkit/bin/docker-machine-driver-hyperkit sudo chmod u+s $(brew --prefix)/opt/docker-machine-driver-hyperkit/bin/docker-machine-driver-hyperkit 安装 Minikube 在
技术 report an error when installing Minikube on mac pro: The driver 'xhyve' is not supported on darwin As the title mentioned. I solved this problem by using "hyperkit-driver" to instead "xhyve-drive". As below: brew install hyperkit brew install docker-machine-driver-hyperkit sudo chown root:wheel $(brew --prefix)/opt/docker-machine-driver-hyperkit/bin/docker-machine-driver-hyperkit sudo
技术 在 Mac Pro 上安装minikube报错:The driver 'xhyve' is not supported on darwin 如题,在 Mac 上安装 minikube 报错: The driver 'xhyve' is not supported on darwin 解决方法的话,我是直接换 hyperkit,如下: brew install hyperkit brew install docker-machine-driver-hyperkit sudo chown root:wheel $(brew --prefix)/opt/docker-machine-driver-hyperkit/bin/
技术 Base64 编码算法 - Python实现 算法描述 Base64编码的目标:将任意字节转为可读字符的编码。 Base64 不是为了安全,而是为了显示。因为计算机世界最开始的时候,只支持 26 个字母和一些符号,所以 1个 字节就足够编码了,但后来,计算机世界的不止多了中文、日文等文字,更多了视频、图片、程序等一样以字节为单位的数据,这些字节大多数不仅仅是 2^7 以内的可显示的文字字符编码,还有可能是大于127(有符号数小于0)的字节,这些字节没办法用字符显示出来,Base64就是将他们显示出来的算法。 编码规则 Base64编码的思想: 采用64个基本的ASCII码字符对数据进行重新编码。 步骤如下 * 首先,
ubuntu the public key is not available: NO_PUBKEY 23E7166788B63E1E when ubuntu 16.04 upgrade to ubuntu 18.04, this error were reported. solution: curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
zookeeper 使用 docker-compose 进行 Zookeeper 集群搭建 使用 docker-compose 3.0 API 进行搭建,可实现无缝 docker swarm 部署。 mkdir -p service-zookeeper vim docker-compose.yml 复制以下内容: version: '3.1' services: zoo1: image: zookeeper restart: always hostname: zoo1 networks: - zoo-net ports: -
SSH 使用 SSH 远程执行命令 用法: ssh -l "" 示例如下: ssh -l ubuntu 127.0.0.1 "echo hello" 如果需要分配一个 TTY 的话,添加 -t 参数,示例如下: ssh -t -l ubuntu 127.0.0.1 "echo hello"
vscode VSCode Golang代码提示 首先,需要安装好 go 插件,之间在插件市场输入go,选一个即可安装。 然后,需要安装 go 的工具包。在 vscode 中,输入快捷键:command(ctrl) + shift + p,在弹出的窗口中,输入: go:install/Update Tools,回车后,选择所有插件(勾一下全选),点击确认,进行安装(最好翻墙安装)。 Installing 18 tools
pyqt5 PyQT设置控件透明度 PyQT5给控件设置Opacity,方法:QGraphicsOpacityEffect 下面这段示例代码中,myshow是一个QPushButton,给其设置透明度的方法如下: op = QtWidgets.QGraphicsOpacityEffect() op.setOpacity(0.5) myshow.setGraphicsEffect(op) myshow.setAutoFillBackground(True) 完整示例,可以直接粘贴使用: from PyQt5 import QtWidgets, QtCore import sys from PyQt5.QtCore import * import
leetcode 28. Implement strStr() 问题描述 Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack. 思路 直接遍历haystack,然后一个一个字符去与needle匹配,完全匹配则成功;失败则迭代到下一字符,直到haystack.length - needle.length为止。
leetcode 【LeetCode】292. Nim Game 问题链接:https://leetcode.com/problems/nim-game/ 尼姆游戏,一堆石子放在桌子上,两个人轮流拿,一次可以拿1-3颗石子,谁拿走最后一颗谁就赢了。 如4颗石子时,先手无论拿几颗,都会输了博弈,因为他至少得拿1颗,剩下的就是3颗,后手可一次全拿获胜。所以如果一堆石子放在桌子上,如果轮到这个人的时候面对的是4颗石子,那他肯定输,而另一个人肯定赢。 代码: public boolean canWinNim(int n) { return !(n%4==0); }
leetcode 【LeetCode】290. Word Pattern 问题链接:https://leetcode.com/problems/word-pattern/ 思路: 使用一个map存储映射关系即可 public boolean wordPattern(String pattern, String str) { String first = pattern; String[] second = str.split(" "); if(first.length()!=second.length) { return false; } Map m
leetcode 【LeetCode】283. Move Zeroes 问题链接:https://leetcode.com/problems/move-zeroes/ 思路: 1. 直观版本,遍历,如果一个数是0,就把它后面的所有不为0的数往前挪。O(n2) public void moveZeroes(int[] nums) { int c = 0; for(int i=0;i
leetcode 【LeetCode】278. First Bad Version 问题描述 You are a product manager and currently leading a team to develop a new product. Unfortunately, the latest version of your product fails the quality check. Since each version is developed based
leetcode 【LeetCode】263. Ugly Number 问题描述 Write a program to check whether a given number is an ugly number. Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 6, 8 are ugly
leetcode 【LeetCode】258. Add Digits 问题描述 Given a non-negative integer num, repeatedly add all its digits until the result has only one digit. For example: Given num = 38, the process is like: 3 + 8 = 11, 1 + 1 = 2.