原创 多種方式生成短網址(分佈式發號器)解讀+實現(親測可用)

目錄 1、固定長度分段(4組6位字符,任選一組) 2. 可選長度分段(短鏈長度需能被30整除) 3.分佈式發號器snowflake(新短url與源url無關,與發號器有關) 二、重點解答 1.短網址的長度?---長度<=7的62進制數(大

原创 laravel的hasOne,hasMany,belongsTo,belongsToMany,hasOneThrough,hasManyThrough詳解

hasOne、hasMany、belongsTo這3個的大致中文意思: hasOne:有一個,加上主謂語應該是 ,A有一個B hasMany:有很多,A有很多B belongsTo:屬於,A屬於B goods_cate(商品分類表:id,

原创 yii2 route路由源碼實現原理的深度解析

一、實現總覽 總結:yii默認將請求參數裏面的r(即$_GET['r'])解析成相應的controller和action,並執行。 過程:2個四步走 step1 step2 step3 step4 Application->handle

原创 單鏈表常考算法題彙總

目錄 1、從尾到頭打印單鏈表 2、單鏈表實現約瑟夫環---時間複雜度=O(1) 3、逆置/反轉單鏈表---時間複雜度=O(n) 4、單鏈表排序(冒泡排序/快速排序) (1)選擇排序---時復=O(n^2),空復=O(1) (2)冒泡排序-

原创 分佈式冪等性問題的詳細剖析

目錄 1、何爲冪等性?---多次調用,對資源的影響一樣 2、冪等性主要場景有哪些?---微服務+MQ+用戶交互+第三方接口(支付) 3、冪等性的作用是什麼? 1)查詢 2)新增 3)修改 4)刪除 4、如何解決冪等性問題? 1)控制重複請

原创 數據庫存儲引擎innodb與myisam

一、innodb與myisam的區別與取捨、innodb引擎的4大特性 如下是兩者的索引圖: 兩者的相同點:兩者都是mysql的常用引擎;兩者的索引都是B+樹 兩者的區別:事務:InnoDB支持,MyISAM不支持 外鍵:InnoDB

原创 Mac下使用sshpass讓iterm2支持多ssh登錄信息保存

mac下沒有xshell等連接linux服務器的工具,當需要管理的服務器越來越多之後,密碼管理就成了一個很頭疼的問題,每次都需要去複製粘貼密碼,浪費了很多時間,在網上查了不少資料,發現mac下可以使用iterm2+sshpass來實現免密

原创 dfs與dfs遍歷圖節點

目錄 一、圖的存儲 1.1 鄰接矩陣 1.2 鄰接表 3.兩者區別 二、圖的深度遍歷(dfs)和廣度遍歷(bfs)---鄰接矩陣存儲 2.1 圖的深度遍歷(dfs) 2.2 圖的廣度遍歷(bfs) 一、圖的存儲 圖的存儲結構主要分兩種,一

原创 mac中git ssh key配置

目錄 一、查看是否已配置 二、重新配置 一、查看是否已配置 首先、確認本地是否已經有對應配置,打開Terminal終端,按如下步驟: 1.cd ~/.ssh     ->進入ssh目錄 如果不能進入該目錄,說明沒生成過,則需要使用命令2檢

原创 git pull與git pull --rebase的區別詳解

git pull = git fetch + git merge git pull --rebase = git fetch + git rebase 變基:rebase命令將提交到某一分支上的所有修改都移至另一分支上,就好像“重新播放”

原创 開發機安裝celery和redis教程

一、celery的安裝使用 輸入python,然後tab回車,只看到了python,python2,python2.7,沒有python3 1、yum安裝python3,pip3和最新版的Django https://yq.aliyun.

原创 小白docker入門碎碎念

目錄 1、docker與虛擬機的對比 2、Docker的鏡像、容器、倉庫 3、標籤(Tag)、Dockfile、docker-compose.yml 4、docker run命令詳解 5、docker相關命令 二、相關問答 1、docke

原创 yii2相比yii的新特性

yii2和yii相比5個不一樣的地方:composer、安全事件、事務管理、資源包、視圖類 1、composer:Yii2中已經使用Comsoper來管理各種依賴關係,在安裝的時候完全可以用composer來進行安裝 2、安全事件:用來把

原创 mac安裝redis與php-redis擴展

目錄 一、安裝redis服務(6.0.5版本) 二、安裝php的redis擴展(5.2.2版本) 三、php代碼中使用redis 一、安裝redis服務(6.0.5版本) 1、先搜索:brew search redis, 再安裝:brew

原创 分佈式ID生成器-訂單號的生成(全局唯一id生成策略)

分庫分表產生的4大問題:跨庫問題、分佈式事務問題、查詢數據結果集合並、全局唯一性id保證。本文掰扯下全局唯一性id。全局唯一id的4種生成策略:UUID、數據庫遞增、snowflake、Redis 全局唯一性id保證的4個要求:全局唯一、