博客 / 列表

tim_xiao - 微信支付API V3 簽名認證go版本

以 商户單號查詢轉賬單 為例演示 https://pay.weixin.qq.com/doc/v3/merchant/4012716437 package main import ( "crypto" "crypto/rand" "crypto/rsa" "crypto/x509" "encoding/base64" "encoding/pe

微信支付 , go

tim_xiao - 併發控制-文件鎖

在以往的項目中,遇到高併發大流量需求做併發控制的時候一般都使用redis分佈式鎖或者mysql加鎖處理高併發情況。最近遇到一個php項目,沒有安裝redis,由於某種原因也不考慮使用mysql加鎖控制併發,所以採用文件鎖的方式控制併發,整理了下代碼 php版本 class FileLock { /** @var string 鎖名稱 唯一性 */ private string $k

高併發 , php , go

tim_xiao - Laravel10 docker鏡像

查看官方文檔 獲取php版本要求https://laravel.com/docs/10.x/installation laravel10 安裝指南 1:本地已經有laravel項目 將項目打包成鏡像文件,用於後續k8s等環境部署 參考 這裏 https://github.com/docker-library-tim/laravel10 使用基礎鏡像:docker pull xiaotim/php

kubernetes , laravel , Docker

tim_xiao - phpstorm+wsl+xdebug斷點調試

1:php配置 這裏注意 xdebug.client_host 配置的是宿主機的ip 2:phpstorm配置 配置CLI Interpreters 配置 Path mappings 配置Servers 端口確定 配置PHP Remote Debug 3: 測試效果 開啓調試 完成

xdebug , laravel

tim_xiao - protobuf-2 消息類型

基本數據類型 syntax = "proto3"; // 所有基本數據類型 // protoc --go_out=. scalar.proto option go_package = "../service"; message scalar{ double filed1 = 1; //float64 float field2 = 2; //float32 int32 fiel

protobuf , grpc

tim_xiao - protobuf-1安裝

安裝protoc 根據自己的服務器版本進行下載安裝,下載地址 https://github.com/protocolbu... $ uname -a Linux localhost.localdomain 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux $ wget w

protobuf , 序列化

tim_xiao - php實現web服務器

使用php(非swoole)實現tcp/http服務器。 php內置的stream系列函數 和 socket擴展提供了對網絡編程的支持。socket擴展需要在編譯時通過配置--enable-sockets開啓,而strem系列函數則完全是php核心內置的函數。php社區中的workman框架底層就是基於stream函數來實現的。以下代碼通過stream系列函數演示php如何實現簡單的tcp/htt

multiple-select , php , select , webservice , Web