原创 snowflake算法變種/php實現

    snowflake是一種分佈是唯一id生成算法,簡單而又強大。但其依賴實體主機作爲標識,而導致了唯一id的組成部分中關於mechine的部分需要實體主機的標識符來映射對應的二進制數值才能正常提供服務(其算法的本意)。而本程序改進如

原创 記一次“探索MySQL優化器的工作原理”(網上提到的索引失效情況真的一定會發生嗎?)

    當看見觸手可及的結論時大多討厭嘗試那拐彎抹角的過程,所以沿途美麗的風景也可能會錯過吧。(測試用的MySQL版本爲8.0.18)     今日記錄一篇“探索有關MySQL優化器如何工作”的實戰經歷,這篇文章體現的中心思想就是“MyS

原创 延遲和高併發導致的不”冪等“場景及解決方案

延遲導致的“不冪等”問題 場景描述:        一個用戶對一個商品進行下單,出於各種原因,在較短時間內,用戶多次點擊了下單按鈕,如果手機端沒有預防該情況的發生,那麼將會產生多個相同的請求(請求接口相同+請求參數相同),如果服務處理不當

原创 相較穩定的紅包算法實現/c語言實現

紅包的分配分佈,個人認爲能夠運用到正態分佈是極好,運氣好的人少,運氣差的人也少,但是本篇算法並不打算利用正態分佈的特性來實現分配紅包算法(本人太菜),而是一個產生紅包相對穩定,一定程度上也算一個是符合正太分佈特性的算法(世間很多事物的分佈

原创 RabbitMQ的一次封裝/基於php-amqplib一次開發

RabbitMQ程序很好的實現了AMQP協議。 基於我對RabbitMQ的理解:     其基本數據結構有:publisher(生產者)、 exchange(交換機)、queue(消息隊列)、consumer(消費者) ...     各

原创 使用php依賴注入實現

首先需要了解什麼是依賴注入,在這裏我只能copy比較不錯的定義如下:     依賴注入(Dependency Injection),組件之間依賴關係由容器在運行期決定,形象的說,即由容器動態的將某個依賴關係注入到組件之中。依賴注入的目的並

原创 利用模塊方法模式初探業務邏輯處理模塊

因爲閱讀yii2源碼過程中,不理解其設計模式(導致閱讀起來比較吃力),介紹其其中用到的一個設計模式:模塊方法模式. 模塊方法模式概念:     定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個算法的結構

原创 代碼風格養成-初識

    關於代碼風格的認識,如果學過彙編的話都會知道,一個子程序只有一個入口和一個出口,高級語言無論怎麼return都不過是跳轉到出口的位置;而一個函數不僅有入參,理應也有返回值(雖然代碼中可以不返回任何值),基於一段時間的開發經驗,然後

原创 cookie認識篇_跨域問題本質

廢話不多說,分析皆在代碼上 <?php //cookie跨域問題討論 //關於sessionID, 媒介:通過cookie在瀏覽器和服務器間進行傳遞,從而實現通訊, // cookie的主要屬性: //

原创 redis--分佈式鎖; key約束_改進(減少臨界資源被多個進程使用)[php]

這裏的臨界資源指的是(獲取鎖成功的處理流程,不過並不是整個過程都涉及資源的爭用情況,因爲你也不想坐電梯[自己想去一層的],到了二層的時候纔去按一層的按鈕,而在按下之前的瞬間電梯已經決定往上走了,因爲樓上有人想下去~ hiahia...)

原创 PHP 命名空間使用--規約探索

探索一:namespace 有無的區別: 假設:在一個Application.php 中定義一個class Application, 且申明命名空間,如下:   <?php namespace app; class Applicati

原创 redis--分佈式鎖; watch實現[php]

<?php /*----------------- 常量定義*/ define('USER', 'user:'); define('INVENTORY', 'inventory:'); define('MARKET', 'market'

原创 redis--分佈式鎖; key約束_改進(規避鎖無生命週期的問題)[php]

繼redis--分佈式鎖; key約束_改進(減少臨界資源被多個進程使用)[php]解決了釋放鎖時,版本不同問題,而可能造成的催生更多的多個進程同時訪問臨界資源問題,而本篇在此基礎上,解決在加鎖時候出現的進程奔潰問題而最後創建了key卻沒

原创 redis--分佈式鎖; key約束[php]

<?php /*---------------------- 使用創建鎖key代替watch*/ /** * @define lock的定義,對商城商品進行加索 */ /*----------------- 常量定義*/ defi

原创 詞法分析器實現[c++]

#include <stdio.h> #include <stdlib.h> #include <fstream> #include <vector> #include <map> #include <string.h> using