<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[i小明同学的博客]]></title><description><![CDATA[本文供大家学习参考]]></description><link>https://blog.youkuaiyun.com/jxwBlog</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jxwBlog]]></copyright><item><title><![CDATA[docker php 容器安装redis和mongodb扩展]]></title><link>https://blog.youkuaiyun.com/jxwBlog/article/details/131828790</link><guid>https://blog.youkuaiyun.com/jxwBlog/article/details/131828790</guid><author>jxwBlog</author><pubDate>Thu, 20 Jul 2023 14:06:20 +0800</pubDate><description><![CDATA[很多项目(几乎所有)都有用到redis和mongodb来存储数据，php没有自带这些扩展，需要手动安装。完成上面步骤，使用 `php -m ｜ grep mongodb` 查看是否安装完成。完成上面步骤，使用 `php -m ｜ grep redis` 查看是否安装完成。如上图所示，即 php mongodb 扩展安装完成。如上图所示，即 php redis 扩展安装完成。4. 在PHP配置文件中启用MongoDB扩展。5. 重新启动 php-fpm 服务。5. 在PHP配置文件中启用扩展。]]></description><category></category></item><item><title><![CDATA[Laravel 打印输出模型执行的最终sql语句]]></title><link>https://blog.youkuaiyun.com/jxwBlog/article/details/130207693</link><guid>https://blog.youkuaiyun.com/jxwBlog/article/details/130207693</guid><author>jxwBlog</author><pubDate>Mon, 17 Apr 2023 20:20:58 +0800</pubDate><description><![CDATA[今天遇到一个相对复杂的业务场景，拼接多个whereRaw的sql语句，在程序里将执行sql(上图中的)打出来放到数据库执行，是可以拿到预期符合条件数据(如下图)，但是程序执行，怎么都拿不到数据，很是奇怪。然后观察语句发现like时，框架给字符串自动拼接了引号转义符并且多加了一层 单引号，导致语句不正确，所以查询拿不到预期数据，修改后即可。Laravel 自带打印查询执行的sql的方法 toSql 和 加日志输出到 storage 目录。一、框架自带打印sql语句存在的问题。]]></description><category></category></item><item><title><![CDATA[Mac升级go版本(指定或最新)]]></title><link>https://blog.youkuaiyun.com/jxwBlog/article/details/129861207</link><guid>https://blog.youkuaiyun.com/jxwBlog/article/details/129861207</guid><author>jxwBlog</author><pubDate>Thu, 30 Mar 2023 17:08:41 +0800</pubDate><description><![CDATA[对于Intel处理器选择Mac OS x86-64版本，其他的处理器（M1， M2）选择Mac OS。在Mac中对go版本的升级采用先卸载后安装的过程进行go版本升级（或者回退）。对于升级场景，之前配置的go环境变量可以保留不删除。不知道自己处理器类型的，可以自行GPT。然后 ide配置换成新版本即可。会提示输入密码校验即可。至此，go版本升级完成。]]></description><category></category></item><item><title><![CDATA[k8s IDE lens6最新版免费激活]]></title><link>https://blog.youkuaiyun.com/jxwBlog/article/details/128865766</link><guid>https://blog.youkuaiyun.com/jxwBlog/article/details/128865766</guid><author>jxwBlog</author><pubDate>Fri, 03 Feb 2023 14:26:44 +0800</pubDate><description><![CDATA[k8s 管理工具 Lens 激活]]></description><category></category></item><item><title><![CDATA[mac 微信多开]]></title><link>https://blog.youkuaiyun.com/jxwBlog/article/details/125088254</link><guid>https://blog.youkuaiyun.com/jxwBlog/article/details/125088254</guid><author>jxwBlog</author><pubDate>Wed, 01 Jun 2022 18:36:40 +0800</pubDate><description><![CDATA[相信有不少的用户有使用微信工作的场景，并且工作起来一个微信还不够用，需要多个微信并且需要同时在线，微信本身又不支持同设备同时登录多个，怎么办呢，不要着急，下面来看解决办法]]></description><category></category></item><item><title><![CDATA[mac 清理微信缓存文件]]></title><link>https://blog.youkuaiyun.com/jxwBlog/article/details/125088096</link><guid>https://blog.youkuaiyun.com/jxwBlog/article/details/125088096</guid><author>jxwBlog</author><pubDate>Wed, 01 Jun 2022 18:20:27 +0800</pubDate><description><![CDATA[清理之后，原来 16G 变成 3G，开心伐~]]></description><category></category></item><item><title><![CDATA[git stash 正确用法]]></title><link>https://blog.youkuaiyun.com/jxwBlog/article/details/124449207</link><guid>https://blog.youkuaiyun.com/jxwBlog/article/details/124449207</guid><author>jxwBlog</author><pubDate>Wed, 27 Apr 2022 14:10:46 +0800</pubDate><description><![CDATA[git stash 正确用法，提高工作效率！]]></description><category></category></item><item><title><![CDATA[在goland中goimports的安装和使用]]></title><link>https://blog.youkuaiyun.com/jxwBlog/article/details/121938859</link><guid>https://blog.youkuaiyun.com/jxwBlog/article/details/121938859</guid><author>jxwBlog</author><pubDate>Tue, 14 Dec 2021 20:19:01 +0800</pubDate><description><![CDATA[1.下载goimports

在goland中在任意一个项目的终端执行(gopath下的项目)


go get -v golang.org/x/tools/cmd/goimports

2.安装goimports

返回到goland的终端输入


go install golang.org/x/tools/cmd/goimports

然后我们可以在 GOPATH/bin 目录下看到 goimports 文件 (win是goimports.exe)





然后我们将该文件复制到GOROOT目录下的b]]></description><category></category></item><item><title><![CDATA[Go 标准库之 strconv（类型转换）]]></title><link>https://blog.youkuaiyun.com/jxwBlog/article/details/120827198</link><guid>https://blog.youkuaiyun.com/jxwBlog/article/details/120827198</guid><author>jxwBlog</author><pubDate>Mon, 18 Oct 2021 16:01:32 +0800</pubDate><description><![CDATA[参考：Go语言strconv包：字符串和数值类型的相互转换

在实际开发中我们往往需要对一些常用的数据类型进行转换，如 string 、 int 、 int64 、 float 等数据类型之间的转换， Go 语言中的 strconv 包为我们提供了字符串和基本数据类型之间的转换功能。

strconv 包中常用的函数包括 Atoi() 、 Itia() 、 parse 系列函数、 format 系列函数、 append 系列函数等，下面就来分别介绍一下。

1. string 与 int 类型之间的转换
.]]></description><category></category></item><item><title><![CDATA[redis各类型数据key基础操作]]></title><link>https://blog.youkuaiyun.com/jxwBlog/article/details/117463301</link><guid>https://blog.youkuaiyun.com/jxwBlog/article/details/117463301</guid><author>jxwBlog</author><pubDate>Wed, 02 Jun 2021 11:17:08 +0800</pubDate><description><![CDATA[redis数据类型操作，建议收藏





key

keys *

scan 0 match * count 1

exists key 判断某个key是否存在

move key db 当前库就没有了，到指定的库中去了

expire key 为给定的key设置过期时间

ttl key 查看还有多少时间过期 -1表示永不过期 -2表示已过期

type key 查看key是什么类型

1.string

string是redis最基本的类型，你可以理解成与Memcached一模一样的类型，一个ke..]]></description><category></category></item><item><title><![CDATA[go-php-grpc-example]]></title><link>https://blog.youkuaiyun.com/jxwBlog/article/details/117153469</link><guid>https://blog.youkuaiyun.com/jxwBlog/article/details/117153469</guid><author>jxwBlog</author><pubDate>Sat, 22 May 2021 11:12:25 +0800</pubDate><description><![CDATA[Golang 服务端,PHP客户端 的 GRPC 示例代码

博客地址:https://www.xhyonline.com/?p=1416

一、安装环境

我们需要编写.proto文件,然后通过 protoc 命令编译,因此需要安装 protoc

地址：https://github.com/protocolbuffers/protobuf/releases



我是 windows 环境，因此就下载了这个压缩包，然后将 bin 目录下的 exe 添加至环境变量



命令行需要重启

重启之后在命..]]></description><category></category></item><item><title><![CDATA[程序生成随机双色球号码~golang]]></title><link>https://blog.youkuaiyun.com/jxwBlog/article/details/115002338</link><guid>https://blog.youkuaiyun.com/jxwBlog/article/details/115002338</guid><author>jxwBlog</author><pubDate>Fri, 19 Mar 2021 11:36:55 +0800</pubDate><description><![CDATA[程序语言有很多种,任意语言都可以完成该充满希望的需求,且实现方法也有多种

这里使用 goland 完成此希望工程,只当做示例参考,下面看代码:


package main

import (
	"fmt"
	"math/rand"
	"sort"
	"time"
)

func main() {
	getBalls()
}

func getBalls()  {
	// 定义红球数组
	var redBalls [6]int
	for i := 0; i &lt; 6; i ++ {
		for {
	]]></description><category></category></item><item><title><![CDATA[GO 发起HTTP请求调用接口]]></title><link>https://blog.youkuaiyun.com/jxwBlog/article/details/111190517</link><guid>https://blog.youkuaiyun.com/jxwBlog/article/details/111190517</guid><author>jxwBlog</author><pubDate>Tue, 15 Dec 2020 08:49:58 +0800</pubDate><description><![CDATA[Go发起GET请求

基本的GET请求


//基本的GET请求
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    resp, err := http.Get("http://www.hao123.com")
    if err != nil {
        fmt.Println(err)
        return
    }
    defer resp.Body.Close]]></description><category></category></item><item><title><![CDATA[Go time.Parse转时间戳为啥会自动加8小时?]]></title><link>https://blog.youkuaiyun.com/jxwBlog/article/details/111033829</link><guid>https://blog.youkuaiyun.com/jxwBlog/article/details/111033829</guid><author>jxwBlog</author><pubDate>Fri, 11 Dec 2020 13:53:47 +0800</pubDate><description><![CDATA[今天在Go里面写业务时,遇到了时间转换问题

time.Parse转时间戳会自动加8小时,然后费解就找原因...

先看下示例代码:


package main

import time

func main() {
	t := time.Now().Unix()
	d := time.Unix(t, 0).Format("2006-01-02 15:04:05")
	tt, _ := time.Parse("2006-01-02 15:04:05", d)
	println("=============]]></description><category></category></item><item><title><![CDATA[mysql groupBy 按日期分组]]></title><link>https://blog.youkuaiyun.com/jxwBlog/article/details/110947004</link><guid>https://blog.youkuaiyun.com/jxwBlog/article/details/110947004</guid><author>jxwBlog</author><pubDate>Thu, 10 Dec 2020 10:10:07 +0800</pubDate><description><![CDATA[需求中经常会有按日期,月份,年份分组统计的操作

那么groupBy直接是实现不了的,需要转化一下,话不多说,看代码


SELECT
	FROM_UNIXTIME(create_time, '%Y-%m-%d') as day, create_time,
	count( DISTINCT uid ) AS amount 
FROM
	`black_production_user` 
WHERE
	create_time &gt;= 1588262400 
	AND create_time &lt;= 16]]></description><category></category></item><item><title><![CDATA[mysql批量插入数据]]></title><link>https://blog.youkuaiyun.com/jxwBlog/article/details/110921287</link><guid>https://blog.youkuaiyun.com/jxwBlog/article/details/110921287</guid><author>jxwBlog</author><pubDate>Wed, 09 Dec 2020 13:58:47 +0800</pubDate><description><![CDATA[delimiter $$
DROP PROCEDURE IF EXISTS proc_batch_insert;
CREATE PROCEDURE proc_batch_insert()
BEGIN
DECLARE i INT;
SET i=1;
WHILE i &lt; 1000 DO
    INSERT INTO `testtt`.`test1`(`name`, `age`) VALUES ('测试',30);
SET i=i+1;
END WHILE;
END $$

de...]]></description><category></category></item><item><title><![CDATA[Git 回滚到指定版本分支]]></title><link>https://blog.youkuaiyun.com/jxwBlog/article/details/109517982</link><guid>https://blog.youkuaiyun.com/jxwBlog/article/details/109517982</guid><author>jxwBlog</author><pubDate>Thu, 05 Nov 2020 18:41:13 +0800</pubDate><description><![CDATA[git回滚到指定版本，并提交到远程分支

1、git reflog可以查看所有分支的所有操作记录（包括已经被删除的 commit 记录和 reset 的操作）

2、git log可以显示所有提交过的版本信息

二者区别：用git log则是看不出来被删除的commitid，用git reflog则可以看到被删除的commitid

3、git reset --hardHEAD 切换到版本号为HEAD的那个版本，例如


git reset --hard 0fc2a4d
那么会切换到版本号为0fc2a...]]></description><category></category></item><item><title><![CDATA[PHP数组按两个字段排序]]></title><link>https://blog.youkuaiyun.com/jxwBlog/article/details/109319644</link><guid>https://blog.youkuaiyun.com/jxwBlog/article/details/109319644</guid><author>jxwBlog</author><pubDate>Tue, 27 Oct 2020 20:20:01 +0800</pubDate><description><![CDATA[工作过程中,会遇到这样的需求,返回数据要先按价格排序,价格相同的再按库存量排序

那原生不改编的函数是很难满足的

那就自己改编下吧,废话不多说,直接上代码


public function sortByTwoField($data){
    if(count($data) &lt;= 0){
        return $data;
    }
    foreach ($data as $key =&gt; $value){
        $price[$key] = $value['price]]></description><category></category></item><item><title><![CDATA[crontab 定时任务--细节]]></title><link>https://blog.youkuaiyun.com/jxwBlog/article/details/109071994</link><guid>https://blog.youkuaiyun.com/jxwBlog/article/details/109071994</guid><author>jxwBlog</author><pubDate>Wed, 14 Oct 2020 14:09:17 +0800</pubDate><description><![CDATA[如果给你个任务, 让你每小时执行一次脚本, 是不是就这样:


			
1

			
			
			
* */1 * * * xxxxx.bash

			
		这样就错了呦~

以上产生的结果是每分钟执行一次, 因为从匹配角度来看每分钟都符合规则, 继而执行命令

因此对于整点定时任务有两种写法:

每整点执行一次:


			
1

			
			
			
0 */1 * * * xxxxx.bash

			
		每隔60分钟执行一次:


			
1

			
			
			
*/60 * * * ]]></description><category></category></item><item><title><![CDATA[git stash 保存和恢复分支内容]]></title><link>https://blog.youkuaiyun.com/jxwBlog/article/details/108737424</link><guid>https://blog.youkuaiyun.com/jxwBlog/article/details/108737424</guid><author>jxwBlog</author><pubDate>Tue, 22 Sep 2020 17:50:36 +0800</pubDate><description><![CDATA[基本使用

stash命令可用于临时保存和回复修改，可跨分支。


注：在未add之前才能执行stash！！！！



	`git stash`

	保存当前工作进度，将工作区和暂存区恢复到修改之前。
	
	
	`git stash save message`

	作用同上，message为此次进度保存的说明。
	
	
	`git stash list`

	显示保存的工作进度列表，编号越小代表保存进度的时间越近。
	
	
	`git stash pop stash@{num}`只能恢复一次

	恢复工..]]></description><category></category></item></channel></rss>