自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 golang语言_2

init函数每一个源文件都可以包含一个 init 函数,该函数会在 main 函数执行前,被 Go 运行框架调用,也 就是说 init 会在 main 函数前被调用。可以做初始化操作。func init() { fmt.Println(123)}func main() { fmt.Println(456)}init函数的注意事项和细节1)如果一个文件同时包含全局变量定义,init 函数和 main 函数,则执行的流程全局变量定义->init 函数->main 函数匿名函数

2022-05-22 23:00:12 553

原创 golang语言_1

Go 语言的 SDK 是什么?SDK 就是软件开发工具包。我们做 Go 开发,首先需要先安装并配置好 sdk.Golang 环境变量配置及其作用。GOROOT: 指定 go sdk 安装目录。Path: 指令 sdk\bin 目录:go.exe godoc.exe gofmt.exeGOPATH: 就是 golang 工作目录:我们的所有项目的源码都这个目录下。Golang 程序的编写、编译、运行步骤是什么?能否一步执行?编写:就是写源码编译:go build 源码 =》 生成一个二进制的可

2022-05-15 23:31:27 359

原创 Mac OS下搭建Vue运行环境

运行项目。

2023-04-14 11:09:48 282 1

原创 golang 客户端服务端登录

client/login.goclient/main.gocilent/utils.gocommon/message/message.goserver/main.go

2022-07-04 23:26:29 391

原创 golang7_TCP编程

网络编程有两种:1)TCP socket 编程,是网络编程的主流。之所以叫 Tcp socket 编程,是因为底层是基于 Tcp/ip 协 议的. 比如: QQ 聊天2)b/s 结构的 http 编程,我们使用浏览器去访问服务器时,使用的就是 http 协议,而 http 底层依 旧是用 tcp socket 实现的。比如: 京东商城编写一个服务器端程序,在 8888 端口监听 可以和多个客户端创建链接链接成功后,客户端可以发送数据,服务器端接受数据,并显示在终端上.先使用 telnet 来测试,然

2022-06-28 00:04:31 201

原创 golang6 反射

1)反射可以在运行时动态获取变量的各种信息, 比如变量的类型(type),类别(kind)2)如果是结构体变量,还可以获取到结构体本身的信息(包括结构体的字段、方法)3)通过反射,可以修改变量的值,可以调用关联的方法。4)使用反射,需要 import (“reflect”)反射的注意事项和细节1)reflect.Value.Kind,获取变量的类别,返回的是一个常量2)Type 和 Kind 的区别 Type 是类型, Kind 是类别,Type 和 Kind 可能是相同的,也可能是不同的.

2022-06-26 19:03:34 344

原创 golang_单元测试+协程管道

传统的方式来进行测试在 main 函数中,调用 addUpper 函数,看看实际输出的结果是否和预期的结果一致,如果一致, 则说明函数正确,否则函数有错误,然后修改错误传统方法的缺点分析1)不方便, 我们需要在 main 函数中去调用,这样就需要去修改 main 函数,如果现在项目正在运 行,就可能去停止项目。2)不利于管理,因为当我们测试多个函数或者多个模块时,都需要写在 main 函数,不利于我们管 理和清晰我们思路3)引出单元测试。-> testing 测试框架 可以很好解决问题。Go 语言

2022-06-16 00:06:08 619

原创 go_4 简易程序及文件操作

1.先定义模型,声明结构体,定义模型所需要的字段,定义好后,我们要实例化他,才能后续往这个模型里面也就是结构体字段里面添加信息。2.接下来就是定义控制器,也是先定义结构体,结构体里面存放控制器完成功能所需要的字段。比如存放客户信息,定义存放客户的切片类型。然后创建该结构体的对象,我们才能操作该对象,往里面添加数据。3.同样先定义结构体,文件的基本操作os.File 封装所有文件相关操作,File 是一个结构体读文件操作应用实例1)读取文件的内容并显示在终端(带缓冲区的方式),使用 os.Open,

2022-06-15 00:15:26 177

原创 golang_3_结构体

注意事项和细节说明1)字段声明语法同变量,示例:字段名 字段类型2)字段的类型可以为:基本类型、数组或引用类型3)在创建一个结构体变量后,如果没有给字段赋值,都对应一个零值(默认值),规则同前面讲的 一样:布尔类型是 false ,数值是 0 ,字符串是 “”。数组类型的默认值和它的元素类型相关,比如 score [3]int 则为[0, 0, 0]指针,slice,和 map 的零值都是 nil ,即还没有分配空间。4)不同结构体变量的字段是独立,互不影响,一个结构体变量字段的更改,不影响另

2022-06-05 16:52:48 367

原创 gin框架validator 自定义错误信息

// TestOrderPageReq 测试订单数据结构体定义 test2路由type TestOrderPageReq struct { OpenId string `json:"open_id" binding:"required" msg:"open_id不能为空"` Page int64 `json:"page" binding:"required" msg:"page不能为空"` Size int64 `json:"size" binding:"required" msg:"s

2022-05-27 10:35:00 1632 2

原创 golang 解决gorm.io/gorm的mysql表名带复数问题

1.旧版本的去掉复数是直接调用连接好的db.SingularTable就可以设置了 db.SingularTable(true)2.直接上代码,新版本要在gorm.Config里面设置 db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{ NamingStrategy: schema.NamingStrategy{ SingularTable: true, }, })...

2022-05-21 23:54:08 1363

原创 rabbitmq

1.流量削峰2.应用解耦3.异步处理 之前A过一段时间调用B的api,现在A调用B,A不用等待B,接着可以去做其他的事八大特性1.ACK机制 也就是消息确认机制,消息发送的时候会生成一个监听器,监听rabbitmq那边的一个反馈,是否成功的一个反馈。2.限流设置API$channel->basic_qos($prefetchSize,20,$global);消费者端参数:单条消息的大小,一次处理多少消息,是否将上面设置true应用于channel级别...

2022-05-06 17:48:03 441

原创 laravel redis乐观锁

public function secKill(){ $data=DB::table('product')->find('1'); $data=json_decode(json_encode($data,true),true); if($data['store']>0){ sleep(1); $res=DB::table('product')->where('id',1)->decrem.

2022-04-23 22:52:26 769

原创 Vue脚手架

1.main.js 是整个项目的入口文件2.import Vue from ‘vue’ 引入App组件,他是所有组件的父组件3.Vue 核心+模板解析器 ,默认引入经典版,template没法解析,要用render关于不同版本的Vue: 1.vue.js与vue.runtime.xxx.js的区别: (1).vue.js是完整版的Vue,包含:核心功能+模板解析器。 (2).vue.runtime.xxx.js是运行版的Vue,只包含:核心功能;没有模板解析器。 2.因为vue.ru

2022-03-29 23:42:30 809

原创 2.Vue组件

1.非单文件组件1.模块 向外提供特定功能的js程序,一般就是一个js文件作用 复用js 简化js 提高js的运行效率2.组件 实现局部功能效果的代码集合作用 复用编码 简化项目编码 提高运行效率3.模块化4.非单文件组件:一个文件中包含有n个组件单文件组件:一个文件中只包含有1个组件<!DOCTYPE html><html> <head> <meta charset="UTF-8" /> <title>基本使用&l

2022-03-27 17:50:05 76

原创 异常话单处理ymz

1.售后提供主叫被叫或者callSidcallSid基本上就是住建的意思是一个话单的唯一标识)eg:3.17主叫:1733233被叫:1522436 这条通话没有显示通话时长2.先去对应的表里用sql查询这个主被叫有没有记录3.查询到有,但是这个duration都是0,那就需要在第三方的后台去查询下进入到提供的网址,输入账号密码4.离线话单,上面ecpid对的就是数据库的ecp_phone或者caller_id_number选择对应日期查一下5.如果这边有主叫号码,但是没有对应的被叫

2022-03-21 20:46:34 296

原创 VueVue

Vue<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title&g

2022-03-20 22:06:07 529

原创 element ui 增删改查

1.添加{include file='../../public/head'}<div id="app"><el-form ref="form" :model="form" label-width="80px"> <el-form-item label="活动名称"> <el-input v-model="form.name"></el-input> </el-form-item> <el-form-it

2022-03-19 15:27:18 493

原创 docker搭建PHP环境

1.首先第一步安装docker,包括composer和compose(默认下载docker就有的,没有的下载)2.dos命令框切换到docker/docker,执行命令3.在盘符里创建对应的文件(类似于框架入口文件,我的是在E盘,创的workspace)4.打开压缩包(压缩包里面有集成环境,更改配置就可以使用,压缩包网上应该就有)5.nginx里面改的东西6…yml里面改的东西(extra_hosts:)和改对应盘符7.hosts里面添加域名 最后在c盘里面的hosts配置!!!

2022-03-13 22:34:06 6635

原创 redis 排行榜 demo

public function rank() { $data=User::get(['uid','surplus'])->toArray();// $data=json_encode($data,true); foreach ($data as $v){ Redis::zadd("test",$v['surplus'],$v['uid']); } # 向key为name的zset里面添加一个me.

2022-02-20 20:15:03 374

原创 laravel 百万级mysql数据 update更新

2021-12-31 11:08:32 729

原创 laravel8 多条件搜索+关联模型

根据传入过来的key,也就是要搜索的关键词或者字段或状态,通过闭包查询,像状态,性别,之类的唯一固定值,可以写在闭包的后面,像搜索昵称,课程等模糊搜索,可以放在闭包里面。记得用orwhere,相当于原生sql的or。这个方法屡试不爽。 后续关于php,可能会在掘金上写博客。但也会在csdn上更新的。 $status = []; if (isset($key['status']) && !empty($key['status'])) { $sta.

2021-12-24 20:59:02 794

原创 mysql的数据库没了,同时出现一个WARNING表。To recover your lost databases and avoid leaking it: visit

1.今天开心敲着第二天的项目,没想到一看库,没了,只有一个WARNING表。2.将内容复制,翻译,en~,懂了;3.一开始想着弄个项目玩玩,就把项目和数据库都放在了一个服务器里,数据库密码是root,寻思测试着玩以后再改,没想到没两天数据库里的表就被删没了,还给留了个WARNING表,让用比特币支付,我上哪给你弄比特币去。4.服务器都没有你比特币的零头贵。至于解决的办法:重新建库,修改账号密码,修改端口号,修改权限。大家网上百度有很多方法。...

2021-12-10 08:52:57 12719

原创 利用docker实现mysql主从复制

为什么基于Docker搭建?(1)资源有限(2)虚拟机搭建对机器配置有要求,并且安装mysql步骤繁琐(3)一台机器上可以运行多个Docker容器(4)Docker容器之间相互独立,有独立ip,互不冲突(5)Docker使用步骤简便,启动容器在秒级别//下面讲步骤1.首先要先安装好docker2.首先拉取docker镜像,我们这里使用5.7版本的mysql:docker pull mysql:5.7然后使用此镜像启动容器,这里需要分别启动主从两个容器Master(主):docke

2021-12-07 18:56:55 452 2

原创 laravel8 中间件验证token

//接受token $token=$request->input('token'); //测试token 换成上面 $token=Cache::get('token'); if (!isset($token)){ response()->json(['code'=>50002,'message'=>'缺少token','data'=>null]); } /..

2021-12-02 13:50:14 488

原创 laravel8 支付方式封装工厂模式

1.定义接口 //仅供个人参考 //切忌<?phpnamespace App\Http\Itface;Interface Pay{ public function pay(); //接口,限定子类实现方法}2.创建工厂<?phpnamespace App\Http\Factory;use App\Http\Controllers\Api\AlipayController;class PayFactory{ const ALIPAY =

2021-12-02 10:22:13 451

原创 微信小程序 计算两点及多点间的距离+选择地图定位

本文基于腾讯地图开发文档实现此功能1.首先去腾讯地图开发平台注册,申请自己的应用空间,严格按照以下步骤走完2.把下载的两个sdk包,放在小程序utils**3.接下来就可以正常使用了(这是计算多点距离)wxml<form bindsubmit="formSubmitone"> <label>终点坐标: <input style="border:1px solid #000;" name="dest"></input>

2021-12-02 09:38:28 5091

原创 微信小程序 递归展示左侧列表+右侧内容

直接上干货效果图1.wxml:<view class='warp'> <view class='list'> <view class='style {{item.id==num?"active":""}}' catchtap='clickList' wx:for="{{message}}" wx:key="" id="{{index}}">{{item.node_name}}</view> </view> <view

2021-12-01 19:44:59 448

原创 微信小程序 七牛云多文件上传

1.微信小程序onChangeTap(e){ var _that = this; //获取当前图片路径 var image = e.detail.current[0] app.checkToken();//刷新token var token = wx.getStorageSync('token') var url = app.globalData.url+'/admin/zone/uploads?token='+token //上传七牛云 w

2021-12-01 16:59:10 1057

原创 laravel 模型关联+搜索后分页

public function getChild($tel, $child_name, $current_page) { $where = [];//多条件搜索 if (!empty($tel)) { $where['parent_tel'] = $tel; } if (!empty($child_name)) { $where['child_name'] = $child_name;.

2021-12-01 11:23:45 376

原创 PHP PDO预处理的形式实现数据 修改+转账+事务+占位符

1.直接上干货(翻出很久之前的代码了,样式和起名代码自行修改)(1)登录<?phpsession_start();?><!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-s

2021-12-01 10:17:15 149

原创 PHP PDO预处理的形式实现数据登录,添加,查询

1.直接上干货,样式,起名规范,自行修改(1)登录<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale

2021-12-01 10:09:21 323

原创 微信小程序 滑底分页 简易版

onLoad: function (options) { // var token=wx.getStorageSync('token'); var url=getApp().globalData.url+'/article'; var _that=this; wx.request({ url: url, success:function(res){ var list=res.data.data.data.da..

2021-11-28 21:05:18 317

原创 微信小程序如何属性赋值?

1.data里的数据 data: { arr:[],//数据 },2.属性赋值 (例子) like(e){ //获取下标 var index = e.target.dataset.index; var num = this.data.arr[index].like_count+1 //找到字段 var is_like = "arr["+index+"].is_like"; var like_count = "arr["+index+"].l

2021-11-27 09:21:01 779

原创 微信小程序(手机登录60S倒计时+微信登录页面+限制时间次数频率)

1.这是效果图(js代码没有优化,封装一个request请求)2.wxml代码<view class="login-container"> <view class="title">微信小程序App</view> <view class="login-box"> <label>手机号</label> <input bindblur="getPhone" placeholder="请输入手机号"/>

2021-11-27 09:10:39 794

原创 laravel8 PDO防SQL注入的形式操作

1.采用PDO防SQL注入的形式操作 public static function addData($data){ return DB::insert("insert into kao_article(title,content) values (:title,:content)",[ ':title' => $data['title'], ':content' => $data['content'] ]);

2021-11-24 10:33:32 1102

原创 laravel 手写最原生分页

1.直接上代码控制器 public function page(Request $request){ //总条数 $num=DB::table('mon_message')->count(); //每页显示 $shownum=4; $page=ceil($num/$shownum); $pageshow=$request['page']? $request['page'] :1;

2021-11-24 10:31:56 330

原创 laravel8 采集+图片本地化

1.使用QueryList //采集 public function collect(){ $html=file_get_contents('https://n.eastday.com/pnews/162337384677010918'); $rules=[ 'title'=>['h1','text'], 'author'=>['.author','text'], 'img'=&

2021-11-24 10:28:32 304

原创 laravel8 页面静态化的几种方式

1.laravel页面静态化的方法 public function info(Request $request){ $id=$request->get('id'); $dir = dirname(app_path()).'/resources/views/html'; if(file_exists($dir.'/list_'.$id.'.blade.php')){ echo '纯静态页面'; return

2021-11-24 10:26:20 4691 2

原创 如何php实现一个lru策略的缓存系统?

大概就是理解【一个数据在最近没有被用到】且【不是新插入的】那么内存不足了就先淘汰的思想,然后配合php的数组来实现,就OK了。<?phpclass LRUCache {/*** @param Integer $capacity*/public $capacity;public $LRUArr=[];function __construct($capacity) {$this->capacity = $capacity;}/*** @param Integer $key*

2021-11-09 09:32:17 146

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除