GraphQL 初识

在开发服务端接口的时候接触到 GraphQL 这个名词,故而有了这篇文章。因为初始,所以整理过程难免有些错误和疏漏,请留言告知。在我们面对一个新的名词,或者一门新的技术时,了解的过程可以分成这么几部分,他是什么,他解决了什么问题,他和目前同类型的技术相比优势在哪里,这样几个部分去看也就能够比较粗略,但是快速的了解一样新东西了。所以这篇文章的组织结构也以这样的方式进行。 GraphQL 是什么 GraphQL,很容易让人想起来 SQL,其实也很类似,可以理解为是一门查询语句,但和 SQL 不同的是,SQL 是查询关系型数据库,而 GraphQL 是查询 Read more ...

2018-10-12 graphql , restful , api , github , facebook

MySQL 配置优化

开启慢查询日志 查看慢查询日志 show variables like '%slow_query_log%'; set global slow_query_log=1; 使用上述方式修改,重启 MySQL 后修改丢失,如果要永久生效,需要修改 my.cnf 文件 slow_query_log = 1 slow_query_log_file = /tmp/mysql_slow.log Read more ...

2018-10-11 mysql , sql

Go 语言学习笔记 2:基本结构

和大部分编程语言一样,Go 也有很多内置关键字,下面这些关键字和语法相关,不能用于定义。 break case chan const continue default defer else fallthrough for func go goto if import interface map package range return select struct switch type var 三大类预定义的关键字 分类 关键字 Constants: Read more ...

2018-10-10 go-lang , google , programming

go 语言学习笔记 1:基本介绍和使用

Go 语言特性: 静态语言 函数支持多返回值 错误处理机制 支持语言并发 面向对象:使用类型,组合,接口来实现面向对象思想 反射 CGO,可以调用 C 语言实现的模块 自动垃圾回收 静态编译 交叉编译 BSD 开源协议 并发 Go 语言在语言级别支持[[Coroutine|协程]],叫 [[Goroutine]]。Go 语言标准库提供的所有系统调用 (syscall) 操作,当然也包括所有同步 IO 操作,都会出让 CPU 给其他 goroutine Go 语言推荐采用“Erlang 风格的并发模型” Read more ...

2018-10-09 golang , google , java , programming

跨平台开源卡片记忆工具 Anki

在最开始了解到这个应用的时候,我无法简单地用一句话来形容这个应用,大部分人将它称为背单词软件,单词记忆应用,部分人有拿他作为知识管理应用,甚至有人拿他来学习乐谱,诗歌,但总之如果要用简单的话来描述这个软件,那么跨平台必定是关键词,另外一个关键词就是卡片(flash card),在另外一个就是循环记忆,那么至于卡片上承载什么样的内容,就完全由用户来决定了。 德国心理学家[[莱特纳]]在 1970 年出版了他一部重要的著作《How to learn to learn》,他在这本书中引用艾宾豪斯的遗忘曲线,发明了「莱特纳系统」,也就是「间隔式复习」的方法,让 Read more ...


每天学习一个命令:用 ab 命令来进行 HTTP 服务压测

ab 是针对 HTTP 服务进行性能压力测试的工具,它最初被设计用来测量 Apache 服务器的性能指标,主要用来测试 Apache 服务器每秒能够处理多少请求以及响应时间,但这个命令也可以用来测试通用的 HTTP 服务器性能,比如 Nginx,tomcat,resin 等等。 几个概念 吞吐量 Requests per second 吞吐量是系统每秒钟处理的请求数量,可以通过 总请求数量 / 请求花费时间 来计算。 服务器平均请求等待时间 服务器平均请求等待时间指的是服务器平均处理一个请求花费的时间,公式是 总花费时间 / 请求数量,这个指标是吞 Read more ...

2018-10-03 linux , ab , apache , command

Dash 视频串流技术

这里的 Dash 可不是一加手机的快充技术,在使用 Youtube DL 的时候频繁的接触到 DASH 这个关键词,查了一下 DASH 是流媒体技术,全称是 Dynamic Adaptive Streaming over HTTP,自适应流媒体技术,通过 HTTP 服务传送流媒体,在 YouTube,Netflix,Hulu 等流媒体网站中被频繁应用,国内 Bilibili 也引入了该技术 1。 该技术的大致实现原理是在服务端将视频分片,每个分片都有自身的编码方式,甚至不同的分辨率,码率等等,而在客户端根据当前网速或者设备自行选择需要播放的分片,可以实 Read more ...

2018-10-01 wiki , dash , youtube , bilibili , mpeg , stream

mastering xxx vs xxx cookbook vs xxx in action 系列图书的区别

常看计算机相关图书的话对,Mastering XXX,XXX in Action 肯定不会陌生,不同系列的图书定位是有差别的,刚开始学习一种技术时,选择一本合适的书非常重要。所以这里就我个人的感受来说一下这几个系列的区别。 Mastering XXX 大部分 Mastering 系列图书都是 Packt Publishing 出版社出版的。Mastering 系列的图书是大而全的书籍,从介绍开始,到使用,再到具体的技术细节都有涉及。翻译为中文一般叫做“精通 XXX”,“深入理解 XXX”。 适合有一定基础的初学者阅读。 常见的有: 《Mas Read more ...


Selenium 使用介绍

在之前介绍 Appium 的时候就提到了一些 Selenium ,如果说 Appium 是移动端测试框架,那么 Selenium 就是 Web 端测试框架。简单的理解就可以认为我们可以编程控制浏览器的行为。Selenium 支持 Chrome,Firefox,Safari 等主流浏览器,也支持 PhantomJS, Headless Chrome 等等无头 (headless) 浏览器(无界面)。Selenium 支持的语言也非常多 Java, C#,Python, Ruby,JavaScript 1 等等 官网 https://www.sel Read more ...


KIE 一些隐藏需要注意的问题

KIE 的使用和踩坑记录。 Guided Decision Table 的顺序 决策表默认使用的是 None 的 hit policy,这里涉及到一个问题也就是规则执行的顺序,默认的 None 其实是并发所有规则一同执行的,那么也就隐藏了一问题,如果传入的参数满足多条规则,那么极有可能造成结果不符预期的情况。 更多关于决策表 Hit Policy 的内容可以参考这篇 —- 决策表规则执行顺序 None 默认,多行可以同时被执行,verification 会将冲突 warning 出来 Resolved Hit,根据优先级,每一次只有一行 Read more ...

2018-09-29 kie , jboss , rule-engine

最近文章

  • K3s 部署 Bitwarden 我之前一直是在一台机器上使用 Docker compose 安装了 Bitwarden,但是这样存在一个隐患,那就是如果这一台机器宕机了,或者发生任何意外,那么我可能有一段时间无法访问我的所有密码仓库,所以为了避免这样的问题,尤其是在我已经稳定运行 K3s 一段时间之后,我就想着将 Bitwarden 迁移到 K3s 上,并且我希望直接使用 Bitwarden 历史的数据,并且也直接使用原来的域名,密码等等,这样就不需要让我所有的设备重新再登录一遍。那么本文就记录一下我在 K3s 上搭建 Bitwarden ,以及将历史数据迁移到 K3s 中的过程。
  • K3s 中给节点添加标签并实现 Pod 调度控制 给 K3s 中的节点添加标签并实现 Pod 调度是一个非常常见的需求,特别是当你希望某些 Pod 只在特定地理位置的节点,比如美国,日本,上运行的时候。
  • 使用 Claw Cloud 免费部署 Gemini 反向代理教程 前两天介绍过永久免费的 Claw Cloud Run,本文将介绍一下如何使用 Claw Cloud Run 来免费部署一个 Gemini API 反向代理服务。
  • K3s 部署 IT Tools 在线工具集 IT Tools 是一个开源的工具集,包含了非常多好用的工具,Token 生成,Hash 生成,UUID 生成,加密解密,BIP39 passphrase 生成,Hmac 生成,RSA 密钥生成,Password 生成,PDF 签名检查,日期转换,Base64 转换,Unicode,ASCII,YAML,JSON 等等非常多有用的工具。
  • 在 K3s 中安装 Redis Cluster 集群 在拥有 3 个 master 节点和多个 Agent 节点的 K3s 集群上部署高可用的 Redis Cluster 是一个很好的选择,可以确保数据的高可用性和可扩展性。