<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[shasha6的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/shasha6</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; shasha6]]></copyright><item><title><![CDATA[HTTP发展简介]]></title><link>https://blog.youkuaiyun.com/shasha6/article/details/115960994</link><guid>https://blog.youkuaiyun.com/shasha6/article/details/115960994</guid><author>shasha6</author><pubDate>Wed, 21 Apr 2021 16:17:37 +0800</pubDate><description><![CDATA[1989年， 当时 Tim Berners-Lee 博士写了一份关于建立一个通过网络传输超文本系统的报告：万维网（World Wide Web）。它在现有的TCP和IP协议基础之上建立，由四个部分组成：

一个用来表示超文本文档的文本格式，超文本标记语言（HTML）。
	一个用来交换超文本文档的简单协议，超文本传输协议（HTTP）。
	一个显示/编辑超文本文档的客户端，即网络浏览器。
	一个服务器用于提供可访问的文档，即httpd的前身。
这四个部分完成于1990年底，且第一批服务器已经在1991年初在..]]></description><category></category></item><item><title><![CDATA[Go 命名返回值与匿名返回值]]></title><link>https://blog.youkuaiyun.com/shasha6/article/details/115731040</link><guid>https://blog.youkuaiyun.com/shasha6/article/details/115731040</guid><author>shasha6</author><pubDate>Thu, 15 Apr 2021 17:01:31 +0800</pubDate><description><![CDATA[命名返回值（named_results）

Go 的返回值可被命名，它们会被视作定义在函数顶部的变量。

返回值的名称应当具有一定的意义，它可以作为文档使用。

没有参数的return语句返回已命名的返回值。也就是直接返回。

直接返回语句应当仅用在下面这样的短函数中。在长的函数中它们会影响代码的可读性。

匿名返回值

函数签名中命名返回值变量，只指定返回值类型。由return 指定返回值。





任何一个非命名返回值（使用非命名返回值是很糟的编程习惯）在return语句里面都要明确指出...]]></description><category></category></item><item><title><![CDATA[方法和函数有什么区别？]]></title><link>https://blog.youkuaiyun.com/shasha6/article/details/115669634</link><guid>https://blog.youkuaiyun.com/shasha6/article/details/115669634</guid><author>shasha6</author><pubDate>Tue, 13 Apr 2021 15:37:37 +0800</pubDate><description><![CDATA[函数是一段代码，通过名字来进行调用。它能将一些数据（参数）传递进去进行处理，然后返回一些数据（返回值），也可以没有返回值。

所有传递给函数的数据都是显式传递的。

方法也是一段代码，也通过名字来进行调用，但它跟一个对象相关联。方法和函数大致上是相同的，但有两个主要的不同之处：


	方法中的数据是隐式传递的；
	
	
	方法可以操作类内部的数据

	(请记住,对象是类的实例化,类定义了一个数据类型，而对象是该数据类型的一个实例化）
	
不同编程语言里对函数和方法时使用有一些区别。

java中没有函数只有]]></description><category></category></item><item><title><![CDATA[RPC和HTTP的区别]]></title><link>https://blog.youkuaiyun.com/shasha6/article/details/115492833</link><guid>https://blog.youkuaiyun.com/shasha6/article/details/115492833</guid><author>shasha6</author><pubDate>Wed, 07 Apr 2021 19:49:26 +0800</pubDate><description><![CDATA[先看一下概念

RPC（Remote Procedure Call）

https://en.wikipedia.org/wiki/Remote_procedure_call


In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in a different address space (commonly o]]></description><category></category></item><item><title><![CDATA[CNN：Convolution  padding 卷积过程padding的意义]]></title><link>https://blog.youkuaiyun.com/shasha6/article/details/105910042</link><guid>https://blog.youkuaiyun.com/shasha6/article/details/105910042</guid><author>shasha6</author><pubDate>Sun, 03 May 2020 22:36:02 +0800</pubDate><description><![CDATA[Padding

为了不丢弃原图信息
为了保持feature map 的大小与原图一致
为了让更深层的layer的input依旧保持有足够大的信息量
为了实现上述目的，且不做多余的事情，padding出来的pixel的值都是0，不存在噪音问题。

Convolution

因为基本场景下都会Padding ，所以feature map 的大小就会与原图一致，以保证不会丢失边缘的特征。 所有卷积的过...]]></description><category></category></item><item><title><![CDATA[基于深度学习的目标检测算法]]></title><link>https://blog.youkuaiyun.com/shasha6/article/details/105500866</link><guid>https://blog.youkuaiyun.com/shasha6/article/details/105500866</guid><author>shasha6</author><pubDate>Mon, 13 Apr 2020 23:34:14 +0800</pubDate><description><![CDATA[SSD 算法

Yolo系列算法

Faster RCNN算法

文本检测算法
]]></description><category></category></item><item><title><![CDATA[mac 安装MySql-python找不到my_config.h文件]]></title><link>https://blog.youkuaiyun.com/shasha6/article/details/104839337</link><guid>https://blog.youkuaiyun.com/shasha6/article/details/104839337</guid><author>shasha6</author><pubDate>Fri, 13 Mar 2020 13:37:17 +0800</pubDate><description><![CDATA[关于mac mysql 8.*和MySQL-python 兼容性bug

brew install mysql 最新版本 8.0.19

MySQL-python 1.2.5 已经6年没更新过了。 地址https://pypi.org/project/MySQL-python/



所以两个不兼容很正常，不过广大程序员很受伤。

解决：1、MySql-python找不到my_config.h...]]></description><category></category></item><item><title><![CDATA[Python socket编程 协议族（address families）]]></title><link>https://blog.youkuaiyun.com/shasha6/article/details/104776830</link><guid>https://blog.youkuaiyun.com/shasha6/article/details/104776830</guid><author>shasha6</author><pubDate>Tue, 10 Mar 2020 16:16:25 +0800</pubDate><description><![CDATA[Python socket()不是一个函数，而是一个类。

为通讯创建一个端点，为套接字返回一个fs文件描述符。 socket() 有三个参数：

domain为创建的套接字指定协议集（或称做地址族 address family)。 例如：
	AF_INET表示IPv4网络协议
		AF_INET6表示IPv6
		AF_UNIX表示本地套接字（使用一个文件）
	
	type（socket...]]></description><category></category></item><item><title><![CDATA[Golang中的构造方法]]></title><link>https://blog.youkuaiyun.com/shasha6/article/details/104740259</link><guid>https://blog.youkuaiyun.com/shasha6/article/details/104740259</guid><author>shasha6</author><pubDate>Sun, 08 Mar 2020 20:59:37 +0800</pubDate><description><![CDATA[##面向对象语言中构造方法
构造方法是java里的称呼，是一种特殊的方法，其方法名和所属类的类名相同，用于类的初始化，即当实例化一个类的时候，会自动调用这个方法。在python里就是def init()
构造方法英文叫做constructor。我对构造方法的理解是顾名思义，通过这个方法构造一个对象，即初始化这个对象的属性等
Golang
Golang作为结构化的语言是没有面向对象语言中的构造方法的...]]></description><category></category></item><item><title><![CDATA[基数树（radix tree）与前缀树（Trie）]]></title><link>https://blog.youkuaiyun.com/shasha6/article/details/104633678</link><guid>https://blog.youkuaiyun.com/shasha6/article/details/104633678</guid><author>shasha6</author><pubDate>Tue, 03 Mar 2020 15:40:34 +0800</pubDate><description><![CDATA[在读gin路由原理时了解到gin 路由应用数据结构基数树实现，有低内存、高效率的特点。

在此记录一下基数树的原理，同时也对比一下很相近的前缀树。

基数树：



前缀树：



引用

https://en.wikipedia.org/wiki/Radix_treehttps://en.wikipedia.org/wiki/Trie


...]]></description><category></category></item><item><title><![CDATA[Golang pointer receiver  为空时方法的执行]]></title><link>https://blog.youkuaiyun.com/shasha6/article/details/104558566</link><guid>https://blog.youkuaiyun.com/shasha6/article/details/104558566</guid><author>shasha6</author><pubDate>Fri, 28 Feb 2020 16:19:08 +0800</pubDate><description><![CDATA[pointer receiver 为nil 时 ，函数依然可以正常执行，只有保证执行方面中没有调用receiver相关属性或方法。 这个 Java 中 对象为空，调用方法时出现NullPointerException完全不一样。


package main

import (
	"fmt"
)

type Cat struct {
}

func (c *Cat) Speak() strin...]]></description><category></category></item><item><title><![CDATA[Golang 中方法 value receiver 和 pointer receiver 区别]]></title><link>https://blog.youkuaiyun.com/shasha6/article/details/104531675</link><guid>https://blog.youkuaiyun.com/shasha6/article/details/104531675</guid><author>shasha6</author><pubDate>Thu, 27 Feb 2020 10:59:27 +0800</pubDate><description><![CDATA[在什么情况下用Value receiver 什么情况下用pointer receiver


type T struct {
    a int
}
func (tv  T) Mv(a int) int  { return 0 }  // value receiver
func (tp *T) Mp(a int) int  { return 1 }  // pointer receiver

...]]></description><category></category></item><item><title><![CDATA[Golang:中“静态”方法]]></title><link>https://blog.youkuaiyun.com/shasha6/article/details/104469373</link><guid>https://blog.youkuaiyun.com/shasha6/article/details/104469373</guid><author>shasha6</author><pubDate>Sun, 23 Feb 2020 22:54:01 +0800</pubDate><description><![CDATA[问题：在纯面向对象语言Java 、Python等编程语言中有静态方法。于是有人就会问 Golang中是如何编写静态方法的呢？

答案：Golang 不支持静态方法，完全可以使用 独立func 的方式代替。 如果牵强附会的实现静态方法。如下两种解决问题的方法：

创建一个名为的独立包，并将该方法定义为包中的全局函数。这样，我需要为几个方法创建一个新包。此外，每当我需要这样的静态方法时，我必须定义新...]]></description><category></category></item><item><title><![CDATA[golang 语法小计]]></title><link>https://blog.youkuaiyun.com/shasha6/article/details/104468787</link><guid>https://blog.youkuaiyun.com/shasha6/article/details/104468787</guid><author>shasha6</author><pubDate>Sun, 23 Feb 2020 22:37:13 +0800</pubDate><description><![CDATA[结构体

学习过C语言的同学肯定都知道结构体，没错，就是那个东西 0.0，结构体让Go有了面向对象的概念


type Small struct {
	Name string //公有变量大写
	Sex string 
	kg int //私有变量小写
}


如何申请一个结构体


meStruct := new(Small) //可以申请一个空的结构体，返回一个指针
meStruct := &...]]></description><category></category></item><item><title><![CDATA[Golang 语法命名返回值]]></title><link>https://blog.youkuaiyun.com/shasha6/article/details/104361447</link><guid>https://blog.youkuaiyun.com/shasha6/article/details/104361447</guid><author>shasha6</author><pubDate>Mon, 17 Feb 2020 17:23:51 +0800</pubDate><description><![CDATA[Go 的返回值可以被命名，并且像变量那样使用。

返回值的名称应当具有一定的意义，可以作为文档使用。

没有参数的return语句返回结果的当前值。也就是`直接`返回。

示例：


package main

import "fmt"

func funcnamed() (a, b int) {
	x = 5
	y = 10
	return
}

func main() {
	fmt.Pri...]]></description><category></category></item><item><title><![CDATA[Golang 小结]]></title><link>https://blog.youkuaiyun.com/shasha6/article/details/104361395</link><guid>https://blog.youkuaiyun.com/shasha6/article/details/104361395</guid><author>shasha6</author><pubDate>Mon, 17 Feb 2020 17:16:54 +0800</pubDate><description><![CDATA[该用error，还是panic？

error 相当于Java中普通的 "Exception"

panic 相当于Java中 异常严重的 "Exception"

这样会导致业务逻辑满屏的 error ，模块中大量预留错误

deferred关键字

在函数返回之前进行调用，一般用作释放资源。

deferred的函数在return语句之后按照先进后出的次序执行，即LIFO。
...]]></description><category></category></item><item><title><![CDATA[不同语言工具方法/函数写法]]></title><link>https://blog.youkuaiyun.com/shasha6/article/details/104189648</link><guid>https://blog.youkuaiyun.com/shasha6/article/details/104189648</guid><author>shasha6</author><pubDate>Wed, 05 Feb 2020 22:19:44 +0800</pubDate><description><![CDATA[Java工具类一般规范：

工具类定义为final class，考虑到工具类应该不能被继承；
	工具类的命名应该用Util/Utils结尾；
	工具类的构造方法应该首选是private的，同时工具类的工具方法为static；
	工具类使用单例模式，或者static初始化某个单例。
Python等其他语言规范：

不适用面向对象类，文件名称以_util/_utils结尾；
	直接写相应的Func...]]></description><category></category></item><item><title><![CDATA[逻辑回归（logistic regression）]]></title><link>https://blog.youkuaiyun.com/shasha6/article/details/104103674</link><guid>https://blog.youkuaiyun.com/shasha6/article/details/104103674</guid><author>shasha6</author><pubDate>Tue, 28 Jan 2020 23:42:01 +0800</pubDate><description><![CDATA[1、在线性回归模型的基础上引入Sigmoid函数，将线性回归的不确定范围的连续输出值映射到（0，1）范围内，成为一个概率预测问题。

2、同时可以把逻辑回归看作单层的神经网络。


...]]></description><category></category></item><item><title><![CDATA[pip 指定 安装源]]></title><link>https://blog.youkuaiyun.com/shasha6/article/details/104103088</link><guid>https://blog.youkuaiyun.com/shasha6/article/details/104103088</guid><author>shasha6</author><pubDate>Tue, 28 Jan 2020 22:12:56 +0800</pubDate><description><![CDATA[方法一：修改配置文件


vim ~/.pip/pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host = mirrors.aliyun.com

方法二：命令行

pip install numpy -ihttp://mirrors.aliyun.com/pypi...]]></description><category></category></item><item><title><![CDATA[golang java python GC 对比]]></title><link>https://blog.youkuaiyun.com/shasha6/article/details/103883273</link><guid>https://blog.youkuaiyun.com/shasha6/article/details/103883273</guid><author>shasha6</author><pubDate>Tue, 07 Jan 2020 23:25:44 +0800</pubDate><description><![CDATA[GOGC

https://mp.weixin.qq.com/s/VessAHNxJWl_gWp-5A_H5g

Go 的 GC 目前使用的是无分代（对象没有代际之分）、不整理（回收过程中不对对象进行移动与整理）、并发（与用户代码并发执行）的三色标记清扫算法。原因在于：


	对象整理的优势是解决内存碎片问题以及“允许”使用顺序内存分配器。但 Go 运行时的分配算法基于 tcmalloc，基本上没...]]></description><category></category></item></channel></rss>