-
一篇超詳細(xì)的正則表達(dá)式簡明指南
公司使用的markdown解析類庫一直有一些解析上的問題,最近給fix了。而markdown解析主要是對(duì)正則表達(dá)式的使用。中間惡補(bǔ)了一下相關(guān)知識(shí),在此梳理一下。什么是正則表達(dá)式正則表達(dá)式就是用一個(gè)“字符串”來描述一個(gè)特征,然后去驗(yàn)證另一個(gè)“字符串”是否符合這個(gè)特征。簡單的一個(gè)例子:用字符串”a”來驗(yàn)證字符串s是否是”a”,形如s.match(“a”)。概括來說有以下作用:驗(yàn)證字符串是否符合指定特征
2021-11-03 shuai.chang
-
Ansible Playbook詳解
Playbook 是一個(gè)由一個(gè)或多個(gè) play 組成的文件;play 是針對(duì)特定主機(jī)或主機(jī)組執(zhí)行的一組有序的任務(wù);每個(gè) playbook 必須包含兩部分:hosts: 運(yùn)行 playbook 的一組主機(jī)tasks: 需要在主機(jī)上運(yùn)行的任務(wù)除了這兩個(gè)必須選項(xiàng),還有一些可選項(xiàng)選項(xiàng),也可能需要包含在 play 中,如:name: play 的名稱,在運(yùn)行該 play 時(shí),會(huì)在運(yùn)行過程中顯示。become
2021-11-03 shuai.chang
-
Docker容器實(shí)戰(zhàn)之?dāng)?shù)據(jù)持久化+網(wǎng)絡(luò)模式+資源限制
docker容器數(shù)據(jù)持久化的三種方式docker提供三種方式將數(shù)據(jù)從宿主機(jī)掛載到容器中:volumes: Docker管理宿主機(jī)文件系統(tǒng)的一部分(/var/lib/docker/vollumes)保存數(shù)據(jù)的最佳方式。bind mounts: 將宿主機(jī)上的任意位置的文件或者目錄掛載到容器中。tmpfs::掛載存儲(chǔ)在主機(jī)系統(tǒng)的內(nèi)存中,而不會(huì)寫入主機(jī)的文件系統(tǒng)。如果不希望將數(shù)據(jù)持久存儲(chǔ)在任何位置,可以使
2021-11-03 shuai.chang
-
最常用的終端工具 tmux
tmux 是一個(gè)類似于 Screen 終端復(fù)用的工具,它能夠在終端出現(xiàn)意外的情況下,確保你的程序還在繼續(xù)運(yùn)行,不會(huì)中斷;還能夠?qū)⒁粋€(gè)終端窗口分離成多個(gè)會(huì)話,在多任務(wù)執(zhí)行時(shí),可以提供很大的便利。tmux 在 Ubuntu 中默認(rèn)已經(jīng)安裝了,但在 CentOS 上需要另外安裝[root@localhost ~]# yum install tmux -y創(chuàng)建 tmux 會(huì)話it@serverc:~$ t
2021-11-03 shuai.chang
-
Prometheus完整的部署方案+實(shí)戰(zhàn)實(shí)例
Prometheus簡介是一套開源的系統(tǒng)監(jiān)控報(bào)警框架。Prometheus作為新一代的云原生監(jiān)控系統(tǒng),相比傳統(tǒng)監(jiān)控監(jiān)控系統(tǒng)(Nagios或者Zabbix)擁有如下優(yōu)點(diǎn)易管理性:Prometheus核心部分只有一個(gè)單獨(dú)的二進(jìn)制文件,可直接在本地工作,不依賴于分布式存儲(chǔ)高效性:單一Prometheus可以處理數(shù)以百萬的監(jiān)控指標(biāo);每秒處理數(shù)十萬的數(shù)據(jù)點(diǎn)易于伸縮性:通過使用功能分區(qū)(sharing)+聯(lián)邦
2021-11-03 shuai.chang
-
高性能 Nginx HTTPS 調(diào)優(yōu) - 如何為 HTTPS 提速 30%
為什么要優(yōu)化 Ngin HTTPS 延遲Nginx 常作為最常見的服務(wù)器,常被用作負(fù)載均衡 (Load Balancer)、反向代理 (Reverse Proxy),以及網(wǎng)關(guān) (Gateway) 等等。一個(gè)配置得當(dāng)?shù)?Nginx 服務(wù)器單機(jī)應(yīng)該可以期望承受住 50K 到 80K 左右[1]每秒的請求,同時(shí)將 CPU 負(fù)載在可控范圍內(nèi)。但在很多時(shí)候,負(fù)載并不是需要首要優(yōu)化的重點(diǎn)。比如對(duì)于卡拉搜索來說
2021-11-03 shuai.chang
-
K8S實(shí)戰(zhàn)之部署java應(yīng)用
kubernetes基本概念Pod:1.最小的部署單元,2.一組容器的集合3.一個(gè)pod中的容器共享網(wǎng)絡(luò)命名空間4.生命周期是短暫的Controllers:1.Deployment:部署無狀態(tài)應(yīng)用2.Statefulset:部署有狀態(tài)應(yīng)用3.Replicaset:確保預(yù)期的Pod副本數(shù)量4.Daemonset: 確保node運(yùn)行同一個(gè)pod5.Job:一次性任務(wù)6.Cronjob:定時(shí)任務(wù)更高級(jí)層
2021-11-03 shuai.chang
-
牛逼了!Python 接口優(yōu)化,性能提升25倍!
背景我們負(fù)責(zé)的一個(gè)業(yè)務(wù)平臺(tái),有次在發(fā)現(xiàn)設(shè)置頁面的加載特別特別地慢,簡直就是令人發(fā)指讓用戶等待 36s 肯定是不可能的,于是我們就要開啟優(yōu)化之旅了。投石問路既然是網(wǎng)站的響應(yīng)問題,可以通過 Chrome 這個(gè)強(qiáng)大的工具幫助我們快速找到優(yōu)化方向。通過 Chrome 的 Network 除了可以看到接口請求耗時(shí)之外,還能看到一個(gè)時(shí)間的分配情況,選擇一個(gè)配置沒有那么多的項(xiàng)目,簡單請求看看:雖然只是一個(gè)只有三
2021-11-03 shuai.chang