0%

graphql 中的常量

scalars

graphql 类型系统的叶子节点被称为 scalars.一旦到达了 scalar 类型则无法在沿着类型结构继续向下了.scalar 类型是指不可再分割的值.
graphql 规范明确要求所有的语言实现必须具有以下 scalar 类型.

Read more »

Execution

Queries

对 schema 执行 query,使用合适的参数构建一个新的 GraphQL 对象,然后调用execute().
query 的结果是包含查询数据或者(并且)一系列错误的ExecutionResult 对象.

Read more »

获取数据

graphql 如何获取数据

graphql 中的每个属性都关联了一个 graphql.schema.DataFetcher.
一些属性会使用专用的 data fetcher 从数据库获取该属性的相关信息.而大多数简单的使用属性名和 Plain Old Java Object(POJO)模式 从内存中获取数据.
在其他 graphql 实现中,Data fetcher 被称为 resolver
现在声明一个类型定义:

Read more »

原文

简介

本文将探索如何创建移动优先的网页设计体验。

  • 为什么我们需要创建移动优先,响应式,适应式网页设计体验?
  • 如何针对适应式站点组织 HTML 结构以便优化性能,优先考虑灵活性?
  • 如何书写优先定义共享样式、针对大屏和媒体查询构建、使用相对单位的 CSS?
  • 如何编写不引人注目的 Javascript 来有条件地加载内容片段,利用触摸事件和地理定位
  • 我们可以做些什么来进一步增强我们的适应性体验
Read more »

Homebrew

gradle-completion

1
2
3
4
5
6
7
8
9
10
11
12
13
14
brew install gradle-completion
echo $fpath | grep "/usr/local/share/zsh/site-functions"
# 执行结果
Add the following line to your ~/.bash_profile:
[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"

Bash completion has been installed to:
/usr/local/etc/bash_completion.d
==> gradle-completion
Bash completion has been installed to:
/usr/local/etc/bash_completion.d

zsh completions have been installed to:
/usr/local/share/zsh/site-functions

Gradle 升级日志

5.0 包含了 Kotlin DSL 生产级支持,依赖版本对齐(类似 Maven BOM),任务超时,Java 11 支持

Read more »

  • config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# 修改配置
git config --local # 对某个仓库有效
git config --global # 对当前用户所有仓库有效
git config --system # 对系统所有登录用户有效
# 查看配置
git config --list --local
git config --list --global
git config --list --system
# 打开编辑器修改config
git config -e # 仅对当前仓库有效
# 变更文件名
git mv readme readme.md # 避免 mv x y -> git add -> git rm
git log [分支]
--oneline # 一行显示
-n4 # 指定最新的几次提交
--all # 所有分支的提交
--graph # 图形化显示
# 打开内置帮助网页.
git help --web [log]
# gui
gitk --all
git branch -av
# 在 ./git/refs/heads/xxx 中查看信息
git cat-file -t master # 返回 git object model 类型: blog, tree, commit, tag
-p # 显示所有内容
# 删除分支
git branch -D [fixup]
# 变基
git rebase -i
# 暂存区和最近一次提交的区别
git diff --cached
# 将暂存区的内容丢弃
git reset HEAD -- <file>
# 将暂存区的内容恢复到本地
git checkout -- <file>
# 设置别名
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.last 'log -1 HEAD'
git config --global alias.unstage 'reset HEAD --'; git unstage fileA === git reset HEAD -- fileA
git config --global alias.visual '!gitk'

# 查看各个分支所指的对象 --decorate
git log --oneline --decorate
git log --oneline --decorate --graph --all
# 跟踪远程分支
git checkout --track origin/serverfix
git checkout -b sf origin/serverfix; sf 分支追踪 origin/serverfix 分支.
# 添加修改正在追踪的上游分支; -u / --set-upstream-to
git branch -u origin/serverfix
# 当设置好跟踪分支后,可通过 @{upstream} 或 @{u} 快捷方式来引用.所有如果 master 跟踪 origin/master。那么 git merge @{u} 可以取代 git merage origin/master.
# 查看所有跟踪分支
git branch -vv
# 删除服务端的分支
git push origin --delete serverfix
#
git init --bare --shared ; # shared 会自动修改该仓库目录的组权限为可写.

# 为服务端配置 SSH 访问
sudo adduser git
su git
cd
mkdir .ssh && chmod 700 .ssh
touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys
cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys
cat /tmp/id_rsa.josie.pub >> ~/.ssh/authorized_keys
# 限制 git 用户只能访问项目,无法登录远程主机.
cat /etc/shells
which git-shell
sudo vim /etc/shells; # 将 git-shell 添加
sudo chsh git /usr/bin/git-shell; # 限制 git 用户只能利用 SSH 连接对 Git 仓库进行推送和拉去操作,而不能登录机器并取得普通 shell.

# 以守护进程的方式设置 git 协议,不需要配置 SSH 公钥.
git daemon --reuseaddr --base-path=/opt/git/ /opt/git/;
# --reuseaddr 允许服务器在无需等待旧连接超时的情况下重启
# --base-path 允许用户在未完全指定路径的条件下克隆项目,结尾的路径将告诉 git 守护进程从何处寻找仓库来导出.如果有防火墙运行,请开放 9418 端口.
# 空白错误(换行\tab\。。。)
git diff --check
# 部分暂存
git add --patch
#
git merge --squash featureB
# --squash 接受被合并分支上的所有工作,并将其压缩至一个变更及,使仓库成为真正合并发生的状态,而不是生成一个合并提交.
# 打包 archive
git archive master --prefix='project/' | gzip > `git describe master`.tar.gz
git archive master --prefix='project/' --format=zip > `git describe master`.zips
#
git diff --ours
# --theirs
# --base -b

前言

JGit 是一个基于 EDL(BSD 协议的变种)授权的轻量级、实现 Git 版本控制系统功能(常规仓库访问,网络协议,版本控制核心算法)的纯 Java 库.

Read more »