不灭的火

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

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

golang 编码 json 还比较简单,而解析 json 则非常蛋疼。不像 PHP 一句 json_decode() 就能搞定。之前项目开发中,为了兼容不同客户端的需求,请求的 content-type 可以是 json,也可以是 www-x-urlencode。然后某天前端希望某个后端服务提供 json 的处理,而当时后端使用 java 实现了 www-x-urlencode 的请求,对于突然希望提供 json 处理产生了极大的情绪。当时不太理解,现在看来,对于静态语言解析未知的 JSON 确实是一项挑战。

定义结构

与编码 json 的 Marshal 类似,解析 json 也提供了 Unmarshal 方法。对于解析 json,也大致分两步,首先定义结构,然后调用 Unmarshal 方法序列化。我们先从简单的例子开始吧。

type Account struct {
	Email    string  `json:"email"`
	Password string  `json:"password"`
	Money    float64 `json:"money"`
}

var jsonString string = `{
	"email": "phpgo@163.com",
	"password" : "123456",
	"money" : 100.5
}`

func main() {

	account := Account{}
	err := json.Unmarshal([]byte(jsonString), &account)
	if err != nil {
		log.Fatal(err)
	}

	fmt.Printf("%+v\n", account)
}
作者:AlbertWen  添加时间:2017-10-29 09:01:38  修改时间:2025-07-08 17:58:21  分类:14.Golang/Ruby  编辑

项目目录结构如何组织,一般语言都是没有规定。但 Go 语言这方面做了规定,这样可以保持一致性

1、一般的,一个 Go 项目在 GOPATH 下,会有如下三个目录:

|--bin
|--pkg
|--src

其中,bin存放编译后的可执行文件;pkg 存放编译后的包文件;src 存放项目源文件。一般,bin 和 pkg 目录可以不创建,go 命令会自动创建(如 go install),只需要创建src目录即可。

对于 pkg 目录,曾经有人问:我把 Go 中的包放入 pkg 下面,怎么不行啊?他直接把 Go 包的源文件放入了 pkg 中。这显然是不对的。pkg 中的文件是 Go 编译生成的,而不是手动放进去的。(一般文件后缀.a)

对于 src 目录,存放源文件,Go 中源文件以包(package)的形式组织。通常,新建一个包就在 src 目录中新建一个文件夹。

作者:AlbertWen  添加时间:2018-04-26 11:05:14  修改时间:2025-06-22 06:18:44  分类:电脑/软件使用  编辑

作者:AlbertWen  添加时间:2018-06-13 15:59:19  修改时间:2025-07-07 05:46:40  分类:08.Java基础  编辑

提示:

springframework里面带了一个 获取 md5的方法 DigestUtils.md5DigestAsHex()

作者:AlbertWen  添加时间:2017-10-29 20:57:58  修改时间:2025-07-22 06:07:34  分类:14.Golang/Ruby  编辑
import (
     "unicode"
)

func Ucfirst(str string) string {
    for i, v := range str {
        return string(unicode.ToUpper(v)) + str[i+1:]
    }
    return ""
}

func Lcfirst(str string) string {
    for i, v := range str {
        return string(unicode.ToLower(v)) + str[i+1:]
    }
    return ""
}

 

作者:AlbertWen  添加时间:2017-10-29 20:43:43  修改时间:2025-06-20 15:09:50  分类:08.Java基础  编辑

Javadoc虽然是Sun公司为Java文档自动生成设计的,可以从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。但是Javadoc的注释也符合C的注释格式,而且doxyen也支持该种风格的注释。

官方文档:http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html

维基百科:https://en.wikipedia.org/wiki/Javadoc

Javadoc 的注释结构和 C 类似。都以/* 注释 */这种结构。

作者:AlbertWen  添加时间:2019-03-31 16:02:04  修改时间:2025-07-29 16:36:03  分类:15.OpenResty_Lua  编辑

Nginx 子请求是一种非常强有力的方式,它可以发起非阻塞的内部请求访问目标 location。目标 location 可以是配置文件中其他文件目录,或 任何 其他 nginx C 模块,包括 ngx_proxy、ngx_fastcgi、ngx_memc、ngx_postgres、ngx_drizzle,甚至 ngx_lua 自身等等 。

作者:AlbertWen  添加时间:2017-10-27 10:00:40  修改时间:2025-07-08 17:54:15  分类:13.C/C++/仓颉  编辑

Linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“system V IPC”,通信进程局限在单个计算机内;后者则跳过了该限制,形成了基于套接口(socket)的进程间通信机制。Linux则把两者继承了下来,如图示:

作者:AlbertWen  添加时间:2018-11-19 10:37:24  修改时间:2025-07-28 20:23:59  分类:18.系统设计/UML建模  编辑
作者:AlbertWen  添加时间:2017-12-05 19:54:17  修改时间:2025-07-21 23:42:02  分类:电脑/软件使用  编辑

新版 Firefox(v57.0) 改动非常大,不仅 UI 变漂亮了,性能也有质的提升,采用多进程多线程模式,但是先前我安装的插件现在基本不能用了,相关报道

Mozilla 最好正式版 Firefox 57 即将来袭!新特性一览

重新找到如下 想用、能用 的插件:

1. DragLinks,在线安装