Kafka 入门教程
Kafka 现在在我们公司使用的很广泛, 如用作 AdServer 的日志收集和 Counter 服务的消息系统等.
本文会先介绍下 Kafka 的一些基本概念, 然后介绍如何搭建 Kafka 集群和如何使用, 最后会简要介绍下 Kafka 文件存储的实现原理.
Kafka 现在在我们公司使用的很广泛, 如用作 AdServer 的日志收集和 Counter 服务的消息系统等.
本文会先介绍下 Kafka 的一些基本概念, 然后介绍如何搭建 Kafka 集群和如何使用, 最后会简要介绍下 Kafka 文件存储的实现原理.
在网上看过别人的博客主题后, 发现我现在用的 maupassant 主题缺少了两个实用的功能: 在文章末尾添加版权信息和相关文章推荐阅读.
既然缺少功能, 那就参照别人的代码添加上对应的功能呗, 这就是我为什么选择自己搭建独立博客的原因: 可以随心所欲地进行定制化.
为了能给博客增加访问量 (虽然访问量依然很低 [捂脸]), 我经常会把写好的博客分享到开发者头条和掘金.
之前是装了开发者头条和掘金的 Chrome 插件, 每次都分别需要点一下插件进行分享. 但单单是为了分享文章就要装两个插件也是很不值得了, 而且这两个插件平时也基本都用不上, 我也是一般都是在分享完博客之后就把它们关闭了. 这里强烈安利一款 Chrome 插件 Steward, 号称是 Chrome 上的 Alfred , 通过它可以很方便地开启或者关闭某个特定插件.
后来发现通过插件进行分享时只是简单地打开了一个网页, 同时添加上了你博客的网址和标题. 就是类似下面这样一个网址:
https://toutiao.io/contribute?url=your_blog_url_encoded&title=your_blog_title_encoded |
打开网页谁不会呀, 只要能获取到页面的 url 和 title . 这时想起我常用的 Chrome 插件 Surfingkeys 提供了映射特定的按键到某个 javascript 函数的功能, 通过 javascript 来获取页面的 url 和 tile 就再容易不过了! 当我们实现这个 javascript 函数之后 就能按几个键打开开发者头条和掘金的分享页面了, 说干就干, Let’s start to hack it out!
一些 Vim 插件可能因为计算密集或者是访问网络资源导致命令调用特别慢, 进而导致 Vim 的操作界面被 hang 住, 时不时地 hang 一下还是很影响流畅度和编码心情的 ):
还好在 neovim/vim8 中添加了对异步调用的支持, 我们可以利用 job 机制让耗时的操作在后台执行, 然后通过 callback 机制把处理结束后的结果输出. 加上异步操作后, 各种操作都如丝般润滑, 再也不用担心卡顿了 (:
下面我就以插件 vim-youdao-translater 为例来介绍如何给插件添加上异步调用的功能.
在实现 Web Server API 的时候, 经常需要发送指定的 http 请求来验证对应的返回是否符合预期. 我们可以通过 Postman 来实现这个功能, 但这就需要在编辑器和 Postman 这两个软件之间来回的切换, 当修改代码的频次比较高时来回的界面切换还是比较影响效率的.
作为资深 Vim 党, 就在想能不能直接在 Vim 里面就实现类似 Postman 的功能: 发送请求, 然后在一个新的 Vim 窗口里显示返回结果.
还真找到了一个实现了这个功能的插件 vim-rest-console, 通过这个插件, 我们可以在一个 Vim 窗口里编辑 http 请求, 按 <Ctrl-j>
之后就可以在另外一个 split 的窗口中显示 http 请求的返回结果. 效果如下图所示:
这个插件是通过 curl 发送 http 请求, 然后把命令的输出放在了一个 split 的 Vim window 里面.
日常使用 VIM 的时候经常有跳转到特定目录下某个文件的需求:
~/vimwiki
下, 当我们想查看某个笔记时就打开那个目录下的某个文件;~/bin
目录下, 就会有在这个目录下创建或者打开文件的需求;根据我个人的使用经验, 在特定目录下打开某个文件
的需求还是很多的, 于是便写了插件 FileJumper 来实现这个需求.
这个插件提供了下面这些功能:
command
;command filename
能快速打开对应目录下的某个文件, 能通过 tab
键补全文件名;command filename vnew
等;下面就会介绍如何安装, 配置已经使用这个插件.
偶然间看到了下面一道面试题:
对于下面的代码, 实现函数 hijack
|
使得输出结果为:
x = 100 |