<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Webben]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Webben</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Webben]]></copyright><item><title><![CDATA[Go pprof 使用记录]]></title><link>https://blog.youkuaiyun.com/Webben/article/details/125489124</link><guid>https://blog.youkuaiyun.com/Webben/article/details/125489124</guid><author>Webben</author><pubDate>Tue, 28 Jun 2022 14:53:20 +0800</pubDate><description><![CDATA[Golang自带的一款开箱即用的性能监控和分析工具]]></description><category></category></item><item><title><![CDATA[Charles 配置手机证书设置]]></title><link>https://blog.youkuaiyun.com/Webben/article/details/121533378</link><guid>https://blog.youkuaiyun.com/Webben/article/details/121533378</guid><author>Webben</author><pubDate>Thu, 25 Nov 2021 11:14:55 +0800</pubDate><description><![CDATA[地址：https://blog.youkuaiyun.com/kuangdacaikuang/article/details/80987270

]]></description><category></category></item><item><title><![CDATA[VsCode 常用拓展]]></title><link>https://blog.youkuaiyun.com/Webben/article/details/120047044</link><guid>https://blog.youkuaiyun.com/Webben/article/details/120047044</guid><author>Webben</author><pubDate>Wed, 01 Sep 2021 19:21:19 +0800</pubDate><description><![CDATA[Better Comments
Bookmarks
Chinese(Simlified)Language
Go
PHP Debug
PHP intelephense
PHP intelliSense
Pylance
Python
Vim

]]></description><category></category></item><item><title><![CDATA[Golang 图片缩略]]></title><link>https://blog.youkuaiyun.com/Webben/article/details/120045078</link><guid>https://blog.youkuaiyun.com/Webben/article/details/120045078</guid><author>Webben</author><pubDate>Wed, 01 Sep 2021 17:36:03 +0800</pubDate><description><![CDATA[图片裁剪

func ImageResize() {
	file, err := os.Open("test-1.png")
	if err != nil {
		log.Fatal(err)
	}

	// decode jpeg into image.Image
	img, _, err := image.Decode(file)
	if err != nil {
		log.Fatal(err)
	}
	file.Close()

	// resize to width 1000 using Lanc]]></description><category></category></item><item><title><![CDATA[Mac Nginx Mysql 常用操作命令及位置]]></title><link>https://blog.youkuaiyun.com/Webben/article/details/119939423</link><guid>https://blog.youkuaiyun.com/Webben/article/details/119939423</guid><author>Webben</author><pubDate>Thu, 26 Aug 2021 20:12:33 +0800</pubDate><description><![CDATA[Nginx
# 查看安装配置
nginx -V

# 启动
brew services start nginx

# 停止
brew services stop nginx

# 重启
brew services restart nginx

# nginx 配置
/usr/local/Cellar/nginx/conf/
/usr/local/etc/

vi /usr/local/etc/nginx/nginx.conf


tailf /usr/local/var/log/nginx/error.lo]]></description><category></category></item><item><title><![CDATA[Nginx 反向代理配置]]></title><link>https://blog.youkuaiyun.com/Webben/article/details/119822935</link><guid>https://blog.youkuaiyun.com/Webben/article/details/119822935</guid><author>Webben</author><pubDate>Fri, 20 Aug 2021 14:33:23 +0800</pubDate><description><![CDATA[location ~ ^/ocr.php {
        proxy_set_header Host "www.baidu.com";
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy...]]></description><category></category></item><item><title><![CDATA[Golang – 利用json-iterator库兼容解析PHP JSON空数组兼容]]></title><link>https://blog.youkuaiyun.com/Webben/article/details/119461731</link><guid>https://blog.youkuaiyun.com/Webben/article/details/119461731</guid><author>Webben</author><pubDate>Fri, 06 Aug 2021 18:55:48 +0800</pubDate><description><![CDATA[第三方json-iterator库
项目地址：https://github.com/json-iterator/go
这个库有2个特点：

完全兼容json标准库，也就是API用法完全一样，原有代码不需要改动。
提供了一个兼容模式，可以自动转换字符串/数字弱类型问题，可以转换[]与{}弱类型问题（PHP中的array问题）。

package main
 
import (
	"fmt"
	jsoniter "github.com/json-iterator/go"
)
 
var json = jsoni]]></description><category></category></item><item><title><![CDATA[Golang 函数耗时统计]]></title><link>https://blog.youkuaiyun.com/Webben/article/details/119173076</link><guid>https://blog.youkuaiyun.com/Webben/article/details/119173076</guid><author>Webben</author><pubDate>Wed, 28 Jul 2021 10:36:22 +0800</pubDate><description><![CDATA[当时候需要去计算一段代码或一个程序所消耗时间的时候，就需要进行统计时间，用程序去计算某一段代码的执行所需要的时间远比用眼睛直接去看程序运行时间高很多。

go语言中的 time 包中提供了函数来提供计算消耗时间，具体的使用方式如下案例所示：
bT := time.Now()            // 开始时间
eT := time.Since(bT)      // 从开始到当前所消耗的时间
fmt.Println("Run time: ", eT)

一、简单方法
在函数起始位置计算当前时间，在函数结.]]></description><category></category></item><item><title><![CDATA[Golang 语言中 JSON 返回空对象{}]]></title><link>https://blog.youkuaiyun.com/Webben/article/details/118676062</link><guid>https://blog.youkuaiyun.com/Webben/article/details/118676062</guid><author>Webben</author><pubDate>Mon, 12 Jul 2021 15:31:25 +0800</pubDate><description><![CDATA[返回默认值
package main

import (
	"encoding/json"
	"fmt"
)

type User struct {
	Uid       int           `json:"uid"`
	UserName  string        `json:"username"`
	LoginInfo UserLoginInfo `json:"logininfo"`
}

type UserLoginInfo struct {
	Time int64 `json:"time"`]]></description><category></category></item><item><title><![CDATA[常用的设计模式]]></title><link>https://blog.youkuaiyun.com/Webben/article/details/117606611</link><guid>https://blog.youkuaiyun.com/Webben/article/details/117606611</guid><author>Webben</author><pubDate>Sat, 05 Jun 2021 22:23:06 +0800</pubDate><description><![CDATA[常用设计模式
文章目录常用设计模式一、单例模式：二、策略模式：三、代理模式：四、观察者模式：五、装饰模式:六、适配器模式:七、命令模式八、组合模式九、简单工厂模式十、模板方法模式
最近发现一个网站对设计模式讲解的非常有深度   点这里  设计模式
一、单例模式：
实现方式：

将被实现的类的构造方法设计成 private 的。
添加此类引用的静态成员变量，并为其实例化。
在被实现的类中提供公共的 CreateInstance 函数，返回实例化的此类,就是b中的静态成员变量。

应用场景：
优点：

在单例模]]></description><category></category></item><item><title><![CDATA[设计模式中类的关系]]></title><link>https://blog.youkuaiyun.com/Webben/article/details/117169496</link><guid>https://blog.youkuaiyun.com/Webben/article/details/117169496</guid><author>Webben</author><pubDate>Sat, 22 May 2021 18:47:53 +0800</pubDate><description><![CDATA[文章目录1. 依赖（Dependence）2.关联（Association）单向关联：双向关联：3.聚合（Aggregation）4.组合（Composition）5.继承（Generalization）6.实现（Implementation）
在 Java 以及其他的面向对象设计模式中，类与类之间主要有6种关系，他们分别是：依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。
1. 依赖（Dependence）

依赖关系的定义为：对于两个相对独立的对象，当一个对象负责构造另一个对象的实例，或者依赖]]></description><category></category></item><item><title><![CDATA[ArrayAccess（数组式访问对象）]]></title><link>https://blog.youkuaiyun.com/Webben/article/details/117030851</link><guid>https://blog.youkuaiyun.com/Webben/article/details/117030851</guid><author>Webben</author><pubDate>Wed, 19 May 2021 15:28:01 +0800</pubDate><description><![CDATA[Interface
Countable 计数
/**
 * 计数
 * 类实现 Countable 可被用于 count() 函数. 
 * @man https://www.php.net/manual/zh/class.countable.php
 **/
interface Countable 
{
	/* 方法 */
	abstract public count():int
}

Iterator 迭代器
/**
 * 迭代器
 * 可在内部迭代自己的外部迭代器或类的接口。 
 * @man htt]]></description><category></category></item><item><title><![CDATA[Vscode 简单使用]]></title><link>https://blog.youkuaiyun.com/Webben/article/details/115670275</link><guid>https://blog.youkuaiyun.com/Webben/article/details/115670275</guid><author>Webben</author><pubDate>Tue, 13 Apr 2021 15:46:16 +0800</pubDate><description><![CDATA[常用插件
快捷键
返回上一个光标
返回：

Windows: Alt + ← ;或者 鼠标侧键
Linux: Ctrl + Alt + - ;貌似数字键盘的减号没效果
Mac: Ctrl + -

终极奥义：VSCode左下角 “管理 / Manage” -&gt; “键盘快捷方式 / Keyboard Shortcuts” -&gt; 搜索 “前进 / Go Forward 或 后退 / Go Back”
左右括号之间跳转：

ctrl + shift + \


...]]></description><category></category></item><item><title><![CDATA[Postman 使用脚本及变量]]></title><link>https://blog.youkuaiyun.com/Webben/article/details/115319302</link><guid>https://blog.youkuaiyun.com/Webben/article/details/115319302</guid><author>Webben</author><pubDate>Tue, 30 Mar 2021 10:30:29 +0800</pubDate><description><![CDATA[Tests
var jsonData = JSON.parse(responseBody);
if (jsonData.status == 200){
    postman.setEnvironmentVariable("token", jsonData.data.token);
}

变量
自动签名



]]></description><category></category></item><item><title><![CDATA[Visual Studio Code 报错 Undefined type .intelephense(1009)]]></title><link>https://blog.youkuaiyun.com/Webben/article/details/114409858</link><guid>https://blog.youkuaiyun.com/Webben/article/details/114409858</guid><author>Webben</author><pubDate>Fri, 05 Mar 2021 19:33:23 +0800</pubDate><description><![CDATA[VSCode 配置
可以把相关类库目录及 vendor 目录添加进来
设置&gt;Intelephense&gt;Exvironment:Include Paths&gt;添加依赖目录
获取所有参数
$class_list = get_declared_classes();
foreach( $class_list as $class_name){
    if( substr( $class_name, 0, 3) != 'Ap_'){
        continue;
    }
    echo "]]></description><category></category></item><item><title><![CDATA[Mac 常用软件]]></title><link>https://blog.youkuaiyun.com/Webben/article/details/112251055</link><guid>https://blog.youkuaiyun.com/Webben/article/details/112251055</guid><author>Webben</author><pubDate>Tue, 05 Jan 2021 19:25:21 +0800</pubDate><description><![CDATA[Terminal
yum install fish
#或者
apt-get install fis
echo "/usr/bin/fish" | sudo tee -a /etc/shells
chsh -s /usr/bin/fish

# Mac
brew install fish
echo "/usr/local/bin/fish" | sudo tee -a /etc/shells
chsh -s /usr/local/bin/fish

分屏
Tmux 使用教程


...]]></description><category></category></item><item><title><![CDATA[Golang编码规范]]></title><link>https://blog.youkuaiyun.com/Webben/article/details/111587610</link><guid>https://blog.youkuaiyun.com/Webben/article/details/111587610</guid><author>Webben</author><pubDate>Wed, 23 Dec 2020 12:55:10 +0800</pubDate><description><![CDATA[文章目录1.  前言1.1. 一般信息【重要必读】1.2. 如何使用本编程规范1.3. 说明2. 语言规范2.1  true/false 求值2.2 Receiver2.3  类型申明2.4  Error Handler2.5  自定义类型的String循环问题2.6  Typical Data Races-数据竞争2.7  引用第三包需要验证2.8  字符串使用注意事项2.9  embedding 的使用2.10  完善单元测试和性能测试2.11  业务需要梳理接口IO消耗3.  风格规范3.1  Go ]]></description><category></category></item><item><title><![CDATA[golang 结构体作为map的元素时，不能够直接赋值给结构体的某个字段]]></title><link>https://blog.youkuaiyun.com/Webben/article/details/111219402</link><guid>https://blog.youkuaiyun.com/Webben/article/details/111219402</guid><author>Webben</author><pubDate>Tue, 15 Dec 2020 15:37:45 +0800</pubDate><description><![CDATA[错误 Reports assignments directly to a struct field of a map

文章目录1. 问题的产生2. 问题产生的原因3. 问题的解决整体更新map的value部分把map的value部分定义为对应类型的指针类型或是slice或是map
1. 问题的产生
这个问题在github上可以追溯到2012年提交的一个issue，链接为https://github.com/golang/go/issues/3117；如上图，结构体作为map的元素时，不能够直接赋值给结构.]]></description><category></category></item><item><title><![CDATA[Golang 语言的排序、结构体排序]]></title><link>https://blog.youkuaiyun.com/Webben/article/details/111217394</link><guid>https://blog.youkuaiyun.com/Webben/article/details/111217394</guid><author>Webben</author><pubDate>Tue, 15 Dec 2020 15:28:46 +0800</pubDate><description><![CDATA[文章目录基本类型 int 、 float64 和 string 的排序升序排序降序排序深入理解排序结构体类型的排序结构体排序方法 1结构体排序方法 2结构体排序方法 3结构体排序方法 4
晚上准备动手写点 go 的程序的时候，想起 go 如何排序的问题。排序 sort 是个基本的操作，当然搜索 search 也是。c 提供一个 qsort 和 bsearch，一个快排一个二分查找，不过是使用起来都不方便； c++ 中的 sort 貌似很不错，因为 c++ 支持泛型(或是说模板)，所以很多东西使用起来很方便。]]></description><category></category></item><item><title><![CDATA[golang 多协程处理任务]]></title><link>https://blog.youkuaiyun.com/Webben/article/details/110819981</link><guid>https://blog.youkuaiyun.com/Webben/article/details/110819981</guid><author>Webben</author><pubDate>Mon, 07 Dec 2020 15:36:49 +0800</pubDate><description><![CDATA[package main
 
import (
	"fmt"
	"runtime"
)
 
var workers = runtime.NumCPU()
 
type result struct {
	jobname    string
	resultcode int
	resultinfo string
}
 
type job struct {
	jobname string
	results chan&lt;- result
}
 
func main() {
	jobnames := []strin]]></description><category></category></item></channel></rss>