开启mysql的binlog功能
第一步:修改配置文件:
1 | sudo vim /etc/my.cnf |
1 | log-bin= /var/lib/mysql/mysql-bin |
安装hexo的hexo-asset-image这个插件后,可以在使用hexo new 创建文章时,自动创建一个与文章名字相同的目录,文章中所有插入的图片都可以放到这个目录下进行引用,但是在用的过程中发现有个蛋疼的问题就是,如果文章中图片比较多,手动将图片放到这个目录下,在文章中手动去引用它,会非常的麻烦…
解决这个问题试过两种方式:
1、hexo-admin:通过后台去维护文章并支持一键发布,图片可以在编辑文章时直接粘贴进去,图片会自动按照设定的路径存储。维护/发布文章方便,但是界面有点简陋..而且图片都上传到同一个目录下,并且直接把图片粘贴进文章中,有时图片并不显示,网上有些解决方案,但没仔细研究过。
2、Typora
在文章中插入图片,按以上配置可以为图片自动创建相应目录,与hexo推荐的资源文件夹的方式不谋而合了(post_asset_folder),而且Typora写markdown文章非常方便,这个用起来感觉比hexo-admin要自然很多,并且也比较方便。
hexo-admin 是一个Hexo博客引擎的管理用户界面插件。
1、在hexo项目根目录下执行
1 | npm install hexo-admin --save |
2、启动hexo-admin
1 | hexo server -d |
打开:http://localhost:4000/admin
将本地文件上传到服务器或者从服务器将文件下载到本地,通常有两种方式:一种是使用scp命令,另一种是通过客户端工具传输,在Mac下常用的工具是iTerm2。
1 | brew install lrzsz |
注意:有可能会一直卡在Updating Homebrew...
上,这块有两种方式解决
(1)直接关闭brew每次执行命令时的自动更新(推荐)
1 | vim ~/.bash_profile |
(2)替换brew源(方法自行百度)
第二种替换源的方式操作了下,问题没解决,最后使用第一种方式简单粗暴的解决了。
访问github上的iterm2-zmodem
把iterm2-send-zmodem.sh、iterm2-recv-zmodem.sh
下载下来,拷贝到/usr/local/bin
文件夹中
添加权限
1 | chmod +x iterm2-recv-zmodem.sh |
ELK分别代表Elasticsearch、Logstash、Kibana
Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。
Kibana 是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。
用ELK可以满足日志收集的需求,但是出于性能和效率的考虑,配合Filebeat和Kafka一起使用效果会更好一些。
Filebeat是一种日志数据采集器,基于Go语言,配置文件简单,占用很少的系统资源,Filebeat比Logstash更加轻量级,所以仅仅作为日志数据采集的工具,Filebeat是很好的选择。但它在数据的过滤筛选方面没有Logstash那么强大, 在将数据推到Elasticsearch中时如果希望对数据进行一些筛选过滤的处理,这时就需要配合Logstash一起使用。不过Logstash在短时间内处理大数据量的情况下资源消耗会很大,性能会下降,所以一般的做法会在Filebeat和Logstash中间加上一层Kafka消息队列来配合使用,起到一个缓冲和解耦的作用。Filebeat将收集到的日志数据推入到Kafka中,Logstash来进行消费,两边互不干预和影响。
Hexo 默认使用的是 hexo-renderer-marked 来渲染页面,这个渲染器不支持在文章中使用 emoji 表情。
可以利用 hexo-filter-github-emojis 插件实现在文章添加emoji表情的功能
1、下载安装插件
1 | npm install hexo-filter-github-emojis --save |
2、修改主目录下的_config.yml文件,启用插件
1 | githubEmojis: |
3、在emoji速查表中找到想要添加的表情代码,添加到文章中即可,表情代码示例如下:
1 | :blush: |
😊🤔🌂🦉🍎😅😂😍🤖
用Vim写代码时经常会下载一些插件,让Vim的功能变得更丰富,用起来更加方便顺手,虽然总体比不上其他的IDE功能那么强大,但Vim的优势也是其他IDE无法比拟的。有很多人说如果下载很多插件把Vim整的像其他IDE功能那么多, 为何不直接用IDE去开发,这就仁者见仁,智者见智了。现在有大量的插件可以使用,但是下载一个插件,安装配置折腾半天,有时也整不顺手,使用效果不好,比较费时费力,弄的比较心累、崩溃…
在这过程中发现了一个模块化的Vim IDE——SpaceVim,以下是它的官方介绍
SpaceVim 是一个社区驱动的模块化的 Vim IDE,以模块的方式组织管理插件以及相关配置, 为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全, 语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱即用的 Vim IDE。
使用了一段时间发现还是非常方便的,省去了自己安装各种插件的时间,配置简单,可以对很多的编程语言进行单独的配置,并且不断有人在进行维护更新,相信以后功能支持会越来越强大。中文官网地址:SpaceVim
最近发现hexo在文章中插入图片的时候有点麻烦,查了一下发现还是有很简洁的方法的,总结一下自己试过的几种方式:
npm install hexo-asset-image --save
,这是下载安装一个可以上传本地图片的插件hexo new test_image
,在source/_posts/
目录下除了会生成“test_image.md”以外,还会生成一个与文章标题相同的目录(source/_posts/test_image/),这个目录就是存放文章内图片的地方
1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。
2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,不可能A扣了钱,B却没收到。
3、隔离性(Isolation):同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰。比如A正在从一张银行卡中取钱,在A取钱的过程结束前,B不能向这张卡转账。
4、持久性(Durability):事务完成后,事务对数据库的所有更新将被保存到数据库,不能回滚。