不灭的火

革命尚未成功,同志仍须努力下载JDK17

作者:AlbertWen  添加时间:2017-10-29 19:27:18  修改时间:2025-07-08 17:58:10  分类:14.Golang/Ruby  编辑

2016年国庆节(10月1日)开始接触 Go 语言,记录一下它的 版本发布 与 TIOBE 排名:

Golang 排行榜
月份 版本 排名 备注
2012.03 1.0    
       
2015.08 1.5.0   v1.5 发布,完全移除 C,使用 Go 编译 Go
2015.09 1.5.1    
2015.12 1.5.2    
作者:AlbertWen  添加时间:2017-10-18 17:16:43  修改时间:2025-06-25 08:28:34  分类:14.Golang/Ruby  编辑

序言

看过很多方面的编码规范,可能每一家公司都有不同的规范,这份编码规范是写给我自己的,同时希望我们公司内部同事也能遵循这个规范来写Go代码。

如果你的代码没有办法找到下面的规范,那么就遵循标准库的规范,多阅读标准库的源码,标准库的代码可以说是我们写代码参考的标杆。

格式化规范

go默认已经有了gofmt工具,但是我们强烈建议使用goimport工具,这个在gofmt的基础上增加了自动删除和引入包。

go get golang.org/x/tools/cmd/goimports
作者:AlbertWen  添加时间:2017-10-27 19:19:04  修改时间:2025-07-15 09:48:14  分类:16.编程基础/Web安全  编辑

1. addslashes()

addslashes()对SQL语句中的特殊字符进行转义操作,包括(‘), (“), (), (NUL)四个字符,此函数在DBMS没有自己的转义函数时候使用,但是如果DBMS有自己的转义函数,那么推荐使用原装函数,比如MySQL有mysql_real_escape_string()函数用来转义SQL。 注意在PHP5.3之前,magic_quotes_gpc是默认开启的,其主要是在$GET, $POST, $COOKIE上执行addslashes()操作,所以不需要在这些变量上重复调用addslashes(),否则会double escaping的。不过magic_quotes_gpc在PHP5.3就已经被废弃,从PHP5.4开始就已经被移除了,如果使用PHP最新版本可以不用担心这个问题。stripslashes()为addslashes()的unescape()函数。

作者:AlbertWen  添加时间:2015-10-24 09:25:36  修改时间:2025-06-26 06:32:19  分类:电脑/软件使用  编辑

运行Python有好多参数选项,记录一下最常用、最简单的方式吧:

作者:AlbertWen  添加时间:2018-11-04 19:31:02  修改时间:2025-07-07 05:47:06  分类:08.Java基础  编辑

注册中心的实现方式有很多种,实现的方式也有难有易,可以使用zookeeper,consul这些第三方已有的包去帮助实现,这样可以减少开发注册中心的难度,却可能加大运维的难度,当然最最原始的方法就是使用java去实现,不借助其他任何已有的第三方包去搞定,这样做的好处其实并不明显,不过对于开发者而言,使用这种最原始的方式最大的好处就是自己知道所有的实现细节,遇到问题,遇到bug,可以很快的定位到问题所在

作者:AlbertWen  添加时间:2017-10-27 19:19:59  修改时间:2025-07-10 10:19:31  分类:16.编程基础/Web安全  编辑

首先:不要使用 mysql_escape_string(),它已被弃用,请使用 mysql_real_escape_string() 代替它。

mysql_real_escape_string() 和 addslashes() 的区别在于:

区别一:

addslashes() 不知道任何有关MySQL连接的字符集。如果你给所使用的MySQL连接传递一个包含字节编码之外的其他编码的字符串,它会很愉快地把所有值为字符'、"、\和\x00的字节进行转义。如果你正在使用不同于8位和UTF-8的其它字符,这些字节的值不一定全部都是表示字符'、"、\和\x00。可能造成的结果是,MySQL接收这些字符后出现错误。

作者:AlbertWen  添加时间:2018-10-16 23:41:10  修改时间:2025-07-07 05:46:39  分类:08.Java基础  编辑

RPC 技术出来很多年了,出来的时候我估计还刚刚上大学,在国内,dubbo应该算是先驱者吧,下面的图更是RPC架构经典中的经典

作者:AlbertWen  添加时间:2018-11-12 23:08:35  修改时间:2025-07-07 05:42:58  分类:08.Java基础  编辑

注:我这里只是记了下实际应用,很多细节上的东西没写进来,想学习JFinal的话,可以一边参考JFinal官方文档一边参考我这个,当然,水平有限,只做了一些简单的入门级代码

作者:AlbertWen  添加时间:2017-10-27 12:57:35  修改时间:2025-06-25 15:33:35  分类:15.OpenResty_Lua  编辑

Windows不像Linux,Unix那样,ps -ef 查出端口和进程号,然后根据进程号直接kill进程。

Windows根据端口号杀死进程要分三步:

第一步 根据 端口号 寻找 进程号

C:\>netstat -aon|findstr "9050"

TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2056

看到了吗,端口被进程号为2056的进程占用,继续执行下面命令:

第二步 根据 进程号 寻找 进程名称

C:\>tasklist|findstr "2056"

tor.exe 2056 Console 0 16,064 K

很清楚吧,tor占用了你的端口

第三步,在任务管理器下结束 tor.exe 该进程

作者:AlbertWen  添加时间:2017-10-27 12:52:47  修改时间:2025-07-08 17:56:41  分类:14.Golang/Ruby  编辑

method

现在假设有这么一个场景,你定义了一个struct叫做长方形,你现在想要计算他的面积,那么按照我们一般的思路应该会用下面的方式来实现

package main
import "fmt"

type Rectangle struct {
    width, height float64
}

func area(r Rectangle) float64 {
    return r.width*r.height
}

func main() {
    r1 := Rectangle{12, 2}
    r2 := Rectangle{9, 4}
    fmt.Println("Area of r1 is: ", area(r1))
    fmt.Println("Area of r2 is: ", area(r2))
}

这段代码可以计算出来长方形的面积,但是area()不是作为Rectangle的方法实现的(类似面向对象里面的方法),而是将Rectangle的对象(如r1,r2)作为参数传入函数计算面积的。