I was bored, so I built a desktop client for my own blog. Download Github
我太无聊了,所以给自己的博客做了一个客户端。 下载 Github
I was bored, so I built a desktop client for my own blog. Download Github
我太无聊了,所以给自己的博客做了一个客户端。 下载 Github
今天折腾了一整天 Guacamole,遇到了臭名昭著的坑,且听我一一道来。
简单来说 Guacamole 提供了浏览器端访问的桌面系统的解决方案。Guacamole 提供的解决方案主要由两部分组成:
guacd 守护进程与 RDP/VNC/TELNET 等其他服务进行通信。下面这张图很好的解释了 guacamole 的架构,出自官网手册:

这次我们来深入了解一下镜像和容器的管理,不过作为入门教程,我们只打算谈及一些常用的命令,而不去介绍 Docker 的深入原理,具体内容我们放到另一个系列中去探讨。
Docker 极速入门教程系列 (往期)
镜像是容器的一个只读模板,用于创建容器。当容器运行时,需要指定其镜像,当镜像不存在时,就会从 Docker Registry 自动下载。每次创建新的镜像,都会在原镜像上方增加一层,具体的原理在本教程里面不深入讨论,可以在本文后面的深入阅读中查看相关文章。
每一个镜像对应了一个唯一的 ID,同样的,镜像中的每一层也都具有一个唯一的 ID,因此,当从 Docker Hub 中 pull 镜像时也是分层进行下载的。
在上一篇文章中,我们已经提到了一些基本的镜像管理命令:
再来看一些其他的常用命令。
我加入了一家以 Docker 为技术栈核心的公司,如果走出去说自己不会 Docker,就显得有点不合适了。早在大三的时候就已经听说 Docker 技术的火爆,只是当时一心研究 iOS,并没有对此技术有太多在意,到了现在已经不得不研究了。
实习的这几个月,做的事情比较多,每周只能花很少的时间来了解 Docker 这一门技术,这也是我需要花很长时间才能完成这个系列的原因。网上关于 Docker 的资源、教程已经数不胜数,为什么我还要再写这样一个系列。这里面的原因有以下几点:
这个系列与其他网上的资源相比有以下几个特点:
好了,说了不废话还是废话了这么长,开始吧。
上个月老板让我搭一个日志分析系统,选用了 ELK 作为技术栈,网上的文章较为混乱,前期刚接触的时候查资料踩了很多坑,所以根据我总共一个星期的接触(包括安装和后期运维),大致总结一下我个人的最佳实践。
本文主要内容为:
这张图相信足以证明 ELK Stack 的强大之处了:

E(lasticsearch) L(ogstash) K(ibana) 本身这里并不做过多介绍。
值得一提的是,为了让整个系统更好的分层,是非常建议引入 Redis 的。Redis 作为一个缓存,能够帮助我们在主节点上屏蔽掉多个从节点之间不同日志文件的差异,负责管理日志端(从节点)的人可以专注于向 Redis 里生产数据,而负责数据分析聚合端的人则可以专注于从 Redis 内消费数据。
同时,Kibana 本身并不具备访问限制,这不是我们期望的,因此可以用考虑用 Nginx 做一层反向代理,并做身份验证。
综上所述,整个 ELK 的架构应该是下图所示的样子:

今天在熊猫 TV 上看乌云白帽子大会,下面有三道互动的题目挺有意思的。
前面两题都很简单,第一题是解一个莫斯电码、第二题答案很简单,但是要提交答案需要在网页源码上懂点手脚。
第三题是重头戏,不过难度也不高,题目如下:

第三题每个人的答案都不一样,图片里被我划掉的这部分是我的用户名(手机号) K。
红色部分的一串数字就是经过上面的 DEKHash 算出的结果,所以题意就很明显了,找到 K' 使得 DEKHash(K') == DEKHash(K)。
题目中给出的是 Java 代码,我作为 Java 黑,显然是不能忍受的,所以弄成了 C++的版本:
|
|
下面来看我是怎么寻找这样的 K'。