GraphQL-为API而生的查询语言

概述

GraphQL是Facebook开源的API查询语言,类似于数据库中的SQL。作为比较,RESTful API依赖于后端隐式的被动的数据约定,GraphQL更加显式,在获取数据和更新数据时更加主动,所见即所得。
Untitled.gif
详见官网:http://graphql.cn/

macOS中安装Zookeeper(单机)

使用 Homebrew

Check

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
➜  ~ brew info zookeeper
zookeeper: stable 3.4.13 (bottled), HEAD
Centralized server for distributed coordination of services
https://zookeeper.apache.org/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/zookeeper.rb
==> Options
--HEAD
Install HEAD version
==> Caveats
To have launchd start zookeeper now and restart at login:
brew services start zookeeper
Or, if you don't want/need a background service you can just run:
zkServer start
==> Analytics
install: 5,115 (30 days), 14,310 (90 days), 57,644 (365 days)
install_on_request: 1,644 (30 days), 4,326 (90 days), 19,536 (365 days)
build_error: 0 (30 days)

Not installed

Golang-Maps有序化遍历

Go的map元素遍历顺序(使用range关键字)是随机的,而不是遵循元素的添加顺序,为解决这一问题,可使用下面的遍历方式。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package main

import (
"fmt"
"sort"
)

func main() {
map1 := map[int]string{
0: "java",
1: "golang",
2: "python",
}

var keys []int
for key := range map1 {
keys = append(keys, name)
}
sort.Ints(keys)
for _, key := range keys {
fmt.Printf("%s\t%d\n", key, map1[key])
}
}

可以看到,其关键思路就是先把所有Key拿出来排序,再按照排序后的进行遍历,主要用到了sort包的东西

关于sort还有些更个性化的用法,再看下面一个例子:

Linux查找指定文件并批量删除

在本地的Maven仓库中由于网络原因产生了很多*.lastUpdated文件,需要将其批量删除。

1
find . -name "*.lastUpdated" -type f -exec rm -vrf {} \;

Golang-modules包管理

golang原始的包管理方式非常low,相当low,终于在go version 1.1.1之后,官方推出了模块概念,但是目前该功能还在试验阶段,有些地方还需要不断的进行完善。在官方正式宣布之前,打算不断修正这种支持。到时候就可以移除对GOPATHgo get命令的支持。

初始化

目前modules机制仍在早期阶段,golang提供了一个环境变量“GO111MODULE”,默认值为auto

auto 如果当前目录里有go.mod文件,就使用go modules,否则使用旧的GOPATH和vendor机制
on 如果你想直接使用modules而不需要从GOPATH过度,那么需要设置为on

modules和传统的GOPATH不同,不需要包含例如src,bin这样的子目录,一个源代码目录甚至是空目录都可以作为module,只要其中包含有go.mod文件。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×