GO完全静态编译

1
CGO_ENABLED=0 go build --ldflags "-extldflags -static" -o bin/frps-static ./cmd/frps

实际可以看到效果如下:

……

阅读全文

手把手教你如何交叉编译MTR二进制程序

相关背景

其实我也不知道MTR是干嘛使用的,不过我大致知道它是一个网络诊断工具,源码是使用C/C++编写的。

它的源码位于https://github.com/traviscross/mtr

我们去官网看看README.md,大致长这样子的:

……

阅读全文

使用Node.js来写一个文件上传服务器

背景描述

现在的项目越来越多,要求将玩客云小矿机进行日志文件上传的需要也越来越多。

通过这一篇文章,我们可以学习到如果使用Node.js来处理文件上传,包含兼容一下旧的curl --upload-file

……

阅读全文

GOPM的使用方式

下载源码:

1
2
3
4
5
6
7
8
gopm get -g -d -v golang.org/x/mobile/cmd/gomobile
[GOPM] 03-09 17:32:42 [ INFO] App Version: 0.8.8.0307 Beta
[GOPM] 03-09 17:32:42 [ INFO] Local repository path: /Users/scue/.gopm/repos
[GOPM] 03-09 17:32:42 [ INFO] Indicated GOPATH: /Users/scue/go
[GOPM] 03-09 17:32:42 [ INFO] /Users/scue/.gopm/repos/golang.org/x/mobile
[GOPM] 03-09 17:32:42 [DEBUG] Skipped installed package: golang.org/x/mobile/cmd/gomobile@branch:<UTD>
[GOPM] 03-09 17:32:42 [ INFO] Package copied to GOPATH: golang.org/x/mobile
[GOPM] 03-09 17:32:42 [ INFO] 0 package(s) downloaded, 0 failed
……

阅读全文

GO指南 练习:Web爬虫

在这个练习中,我们将会使用 Go 的并发特性来并行化一个 Web 爬虫。

修改 Crawl 函数来并行地抓取 URL,并且保证不重复。

……

阅读全文

GO指南 练习:等价二叉查找树

  1. 实现 Walk 函数。

  2. 测试 Walk 函数。

    函数 tree.New(k) 用于构造一个随机结构的已排序二叉查找树,它保存了值 k 、 2k 、 3k ... 10k

    创建一个新的信道 ch 并且对其进行步进:

    go Walk(tree.New(1), ch) 然后从信道中读取并打印 10 个值。应当是数字 1, 2, 3, ..., 10

  3. Walk 实现 Same 函数来检测 t1t2 是否存储了相同的值。

  4. 测试 Same 函数。

……

阅读全文

GO指南 练习:Map

实现 WordCount 。它应当返回一个映射,其中包含每个字符串 s 中“单词”的个数。函数 wc.Test 会对此函数执行一系列测试用例,并输出成功还是失败。

你会发现 strings.Fields 很有帮助。

……

阅读全文