Jasper Ji

博观而约取,厚积而薄发。

iPhone 12 Pro试用感受

2020-11-12 13:54

iPhone 6s已经用5年了,待电确实比较差,外出的话离不开充电宝。iPhone 12出来后,我就下单iPhone 12 pro了。这次的iPhone 吸引我的是新外观以及对5G的支持,当然pro系列有激光雷达的功能。外观回归到iPhone 4时的设计,因为宽度比原来宽,所以拿着还是有点割手,套上外壳能好点。大小上来说,对于我这种小手还是觉得iPhone 6s的尺寸刚好,iPhone 12 pro的单手操作还是有担心机子摔在地上的风险。自从iPhone出了刘海屏后,我一直比较难以接受这样的设计,更钟情于iPhone 6s 这样的设计,其实在我看来苹果可以把手机的上下部分变短,比刘海这样的设计好。iPhone 12 pro的相机确实牛,这点是值得升级的,另外拍立得这个功能也非常不错。

谈谈我最后为什么退货呢,作为一个曾经的iOS开发者,对这几年的iPhone已经失去了升级的想法,一方面新iPhone价位比以前贵,功能其实没有太大的突破,从生产力角度来看,我更愿意在macbook pro上投资,而不是iPhone。另外iPhone 6s本身不怎么卡,只是电池不行了,这个完全可以换一个就可以了。升级最大的动力是支持5G,但是目前运营商的5G有点贵,而且5G设施也还在陆续建设中,另外平时用的更多是Wi-Fi,移动网络下也很少看视频之类的,所以并没有高速网络的需求。目前iPhone 12是支持5G的初代产品,所以有提升的空间。最后一点,刘海设计依旧是心里吐槽的对象,如果他出一个iPhone 6s的设计,但支持5G的手机,我可能更愿意接受。

退货流程

这是头一次退货,在订单中确认退货,会显示取货。取货的时间都没有问题,来了一个邮政的人员把机子简单的验证后,然后就把机子拿走了,没有留下快递单号。因为是头一次,取货后的第二天我看来下订单状态,依旧显示取货中,过了两天我发现还是这个状态。心里有点嘀咕,不会被骗吧,一般的寄送快递,当天晚上基本上状态都改变了。后来我直接给苹果客服打电话确认了,说一切都正常,机子也确实被取走了,因为会寄送到工厂,工厂收到后还要验货后才会更新订单的状态。大概是一周后,订单状态终于变了,钱也退了。

天童寺游记

2020-10-06 13:48

缘起

今年十一长假因为跟中秋重叠,放八天假,趁着时间长决定去一趟宁波的天童寺去看一下。天童寺位于浙江省宁波市鄞州区太白山麓,为什么要去这座寺庙呢?说到这里要追述到《乔布斯传》这本书,大都数人因为这本书也会知道另一本书《禅者的初心》,作者是铃木俊隆,当然再深挖一点,就会知道一位与乔布斯关系密切的禅师乙川弘文。铃木俊隆与乙川弘文都是日本曹洞宗的僧侣。说到日本曹洞宗,不得不提他的开山祖师道元禅师,时间大概可以追述到南宋时期,道元禅师跨海来寻觅佛法,最后在天童寺遇到了如净禅师,得到如净禅师的认可后,回到日本后创建了日本曹洞宗。

关于天童寺的记载文献还是很多的,而关于如净禅师的记载则比较少,很多都是从道元禅师的记述中得知。这点类似李小龙跟叶问一样,因为道元禅师在日本的成功以及后世日本曹洞宗僧侣在海外弘法的成功,使得如净禅师逐渐为人们所知。不少关于乔布斯跟禅的文中没有切中要点,往往泛泛而谈,说是禅宗。准确的说乔布斯接触的是禅宗曹洞宗一脉的教法,更准确的是日本曹洞宗,但往上追述一点则到了南宋时期如净禅师传承的曹洞宗的一脉。

如净禅师,浙江宁波人,十九岁时出家,拜在雪窦智鉴禅师的门下,晚年入住天童寺,圆寂后葬在了西湖边的净慈禅寺,净慈禅寺曾经也是禅师入住过的道场。所以本次行程一条线就是围绕着如净禅师来走的,宁波奉化的雪窦山、天童寺、杭州西湖旁的净慈禅寺,这三个地方大略勾勒出了禅师的一生。

另一条线是围绕着道元禅师来走的,主要是天童寺、阿育王寺。二者在天童寺相会,另外我也带着道元禅师《正法眼藏》中文翻译版一书,在我看来一个人能留下来的无非是他的思想,而带着他的著作犹如带着这位禅师,在700多年后重走这条路。道元禅师在归国后第二年如净禅师圆寂,从此师徒再无相见的可能,所以带着道元的《正法眼藏》专程去杭州净慈禅寺拜祭如净禅师的塔墓,也算另一种相见吧。

行程

天童寺

确定好行程后,十一一大早就坐高铁去了宁波,大概在下午的五点半左右到了宁波。宁波确实跟西安这样的北方城市不一样,矮山、多水洼地。第二天一大早,乘坐地铁一号线直接到达宝幢站,下站后再乘坐育王站的162公交,终点站是公交天童站。不知道是跟疫情有关系还是其他,总之没有门票。穿过一段松柏的路,逐渐看到了天童寺,放生池,旁边山头的塔,再往里面走,隔着一个池子,东南佛国的照壁映入眼帘。照壁后面就是天王殿,穿过天王殿就是佛殿,寺院最上面有罗汉堂。基本的寺院结构跟大多数的寺庙差不多,但建筑上有着天童寺独有的特点。寺里的师父都非常友好,尤其跟寺图书馆的一位师父相谈甚欢,得知寺图书馆没有道元的《正法眼藏》这本书时,当即在原来购买书的那个商家那里下了10本的订单给禅寺,算尽点薄力。禅寺非常好的一点是提供15块一份的素餐,像我这种每次去寺庙不知道如何解决午餐的问题的人来说提供一种方便。天童寺历代都是出高僧的地方,近代有八指头陀、圆瑛法师(中国佛教协会第一任会长),有幸请到一本《八指头陀诗文集》,也算此行的一种意收获。寺里有不少处都有立牌,主要是关于道元禅师的,其中有个殿专门立有《日本道元禅师得法灵迹碑》,可见天童寺与日本曹洞宗的渊源,更被日本曹洞宗尊为祖庭。寺里的师父对于道元禅师也不陌生,都还充满敬意。当天刚好赶上面向在家人的禅七活动即将要开始,因为来的匆忙,不然真想去参加下。天童寺可能是国内仅有的几处仍在传承曹洞宗禅法的寺院,所以对于我们这些修行上更倾向于曹洞宗的人来说,弥足珍贵。

阿育王寺

阿育王寺有两座,一座叫阿育王寺,在公路旁边,另一座叫阿育王古寺,在山上。来之前只知道阿育王寺,不知道还有古寺一说。查了下大概阿育王寺有东塔院、西塔院,东塔院即阿育王古寺,也是最初建寺的地方,当年开山祖师惠达(俗名刘萨诃)在这里发现了佛舍利,因此而建寺。唐先天二年时,修建了西塔寺,即现在的阿育王寺,东塔寺的香火逐渐衰落,后来被毁逐渐废弃,现在的阿育王古寺是在原来的遗址上盖了一座崭新的寺庙。古寺因为在山上,知道的人不多,去的人也不多。在大略逛完阿育王寺后,我就打车前往了古寺那边看了下,那边虽然有公交但是发车间隔太长,只好打车了。顺便说下曹操专车,这个在西安也有,与传统的出租相比价格透明,因为我当时有问过一个出租车司机,结果报价明显比我后来坐曹操专车贵不少。古寺山后有阿育王寺开山祖师的塔墓,另外发现佛舍利的地方正在盖舍利大殿,寺里现在好像传承的是天台宗。

阿育王寺总体更加的古朴一点,也可能是一直没有断过的缘故。古寺虽然历史悠久,但因为是新建的,那份与古代的链接需要脑补。阿育王寺也是当年鉴真大师东渡日本失败时入住过的寺庙,里面也供奉着鉴真大师的像。

雪窦山、雪窦寺、弥勒道场

单说雪窦山,其实也算是一座风景秀丽的名山,再加上雪窦寺以及弥勒道场,使之更加有名。不过这里似乎商业味有点过浓,另外说到雪窦山就不得不说老蒋,因为山下就是老蒋故居,我买的是联票210,包括蒋氏故居和雪窦山风景区。

要到雪窦寺确实比较难,风景区的专用车顺着蜿蜒的道路,过了许久才到达雪窦寺。雪窦寺位于一个山顶的洼地,依山而建。整个寺庙几乎都是新建的,最引人关注的就是寺庙半山腰上巨大的弥勒菩萨像,如果你要登临菩萨像的上面需要门票20元。站在菩萨像的上方俯瞰整个寺庙,一览无余。寺庙因为是弥勒道场的缘故,整个寺庙分为两部分,一部分是围绕巨大弥勒像的主轴线相关建筑,包括大殿供奉的也是弥勒菩萨的像。另一部分则是老寺部分,就是传统大雄宝殿的建筑群。里面有些旧的东西,比如有张学良被幽静时手植的树,不过大部分建筑还是新建的。

提到雪窦山,总会想到雪窦禅师,当然我此行的目的是因为当年如净禅师学道于雪窦智鉴禅师。不过我们并没有找到相关的东西,浓郁的弥勒道场道场味,几乎将禅宗寺院的本来面目都冲淡,虽然也号称曹洞宗的祖庭之一,但实无其名。甚至连太虚大师,这位当年极力倡导雪窦山为佛教五大名山,弥勒道场的发起人的塔院都隐匿在一个不起眼的山坳里。除此以外就是跟张学良幽静有关的景点,雪窦山更多像是老蒋的私人景区一般。山依旧是那个山,只是一切变了。

净慈禅寺

本以为去天童寺也就顺便把如净禅师的塔给拜一下,不过网上一查发现如净禅师圆寂后并没有葬在天童寺,而是葬在了他曾经主持过的杭州西湖边的净慈禅寺。于是行程的最后一站有了杭州这一站,不过也许都是因缘,实际上如果葬在天童寺的话,我去的这会也看不了,因为那边现在正在建设维修中,并不对外开放。

前两日的天气都不错,不过当我要去杭州的时候,天气预报显示那边下雨,而宁波这边也是有雨,为此我专门改签了去杭州的车次,推后了一点,主要害怕过去下雨,行程不便了。不过也许是上天的某种眷顾吧,从宁波出发的时候,天气显示下雨,但实际不下雨。经过一个小时到杭州后,发现天气虽阴,但也没有下雨。花了点时间终于坐上了数字旅游2号线,在净寺站下,靠西湖的一边是雷峰塔,雷峰塔隔着公路的对面则是净慈禅寺,与雷峰塔的游客蜂拥而至相比,净慈禅寺禅寺显得比较清净。如果不是如净禅师的塔墓在这里,我好像也只知道灵隐寺了,禅寺的门票是10块钱,也算是一种象征性的收费,也合理。我也不免俗的去敲了一下南屏晚钟,一次10元。

一心想要去塔墓拜祭,老居士说在后山,中途遇到一位师父,给我说那边不开放,心里瞬间有点凉。不过我依旧往释迦殿的方向走,发现殿的一侧有个亭子,跟网上看到塔墓照片差不多了,本想直接沿着山坡往上爬,发现释迦殿上去后可以直接到塔墓那边。果然是对的,穿过一个亭子,旁边有济公像一尊,塔墓这边没有人,还好并没有像那位师父说的不开放,也不知道他出于什么样心里。塔墓被后建的石亭笼罩,旁边还立有如净禅师简介的石碑。在塔墓旁待了许久后,下山把整个寺庙大概转了下,净慈禅寺另一个出名的地方是这里是济公修行的地方,不过济公似乎如同神话人物一般,也没有留下塔墓之类的。大雄宝殿主供的是毗卢遮那佛,跟一般寺庙好像不太一样,但又跟原来看过日本曹洞宗的一些书里有提到毗卢遮那佛,这块不是很懂。

寺庙也是正在重建中,我也尽了点微薄之力。不过寺里的师父看似并不友好,倒是居士们很友好。深处西湖景区,能这样已经不错了,后来发现禅寺也有开展面对普通人的禅修,愿他们能珍惜这个道场。

归途

原来还打算去灵隐寺去看下,不过发现时间不够,沿着西湖略转了下。就朝火车站走了,骑着共享单车走了一段,离火车站不远的地方逐渐下起了下雨,而我也要开始返程了。

这次行程总体上非常的圆满,作为去年就想前往的地方,今年终于得以成行。打坐七年时间,曹洞宗似乎离自己有点远,只是在书里,在日本,而这次行程,终于让这一切变的真实起来。其实他并遥远,如果想去总能去的。行程结束了,我也把道元禅师的《正法眼藏》的书籍认真的看了一部分,此时这书才似乎能够看的进去,一切有点特别但又没有什么特别,唯一能想到的就是苏轼的那首《庐山烟雨浙江潮》

庐山烟雨浙江潮,
未至千般恨不消。
到得还来别无事,
庐山烟雨浙江潮。

CentOS 使用指南

2020-09-30 13:46

服务器一直使用的是CentOS,所以特做一下使用备注。基于的版本是CentOS 8.0

VirtualBox安装

使用VirtualBox安装会存在兼容问题,6.1的版本无法运行CentOS-8.1.1911,主要这个版本移除VBoxVGA的支持,所以只能使用6.0版本。

查看 CentOS 版本
cat /etc/centos-release
CentOS Linux release 8.1.1911 (Core) 

查看网络配置

ip addr

防火墙

CentOS 8 使用firewall管理防火墙

基本使用
systemctl start firewalld # 启动
systemctl stop firewalld  # 关闭
systemctl status firewalld # 查看状态
systemctl disable firewalld # 开机禁用
systemctl enable firewalld # 开机启用
配置firewalld-cmd

查看版本

firewall-cmd --version

查看运行状态

firewall-cmd --state

添加端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

重新载入设置(添加端口后一定要重载设置)

firewall-cmd --reload

查看所有端口

firewall-cmd --list-ports

删除某一端口

firewall-cmd --zone= public --remove-port=80/tcp --permanent

安装Mysql 8.0

试了几种安装方式只有如下的可以安装

yum install @mysql:8.0 -y

启动服务以及开机启动

systemctl start mysqld
systemctl enable mysqld

密码设置

mysql_secure_installation

远程访问,8.0跟旧版不太一样。

创建用户

create user 'root'@'172.16.10.203' identified by  'password'

赋予权限,with grant option这个选项表示该用户可以将自己拥有的权限授权给别人

grant all privileges on *.* to 'root'@'172.16.10.203' with grant option

改密码&授权超用户,flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里

flush privileges;

创建账户::create user ‘用户名’@‘访问主机’ identified by ‘密码’;
赋予权限:grant 权限列表 on 数据库 to ‘用户名’@‘访问主机’ ;
with grant option这个选项表示该用户可以将自己拥有的权限授权给别人

提示密码设置简单错误

1 查看当前安全变量值

mysql> SHOW VARIABLES LIKE 'validate_password%';

2 修改变量

mysql> set global validate_password.policy=0;
mysql> set global validate_password.length=4;

3 然后退出后再执行

mysql_secure_installation

参考

mysql版本:’for the right syntax to use near ‘identified by ‘password’ with grant option’

RHEL8 CentOS8 下安装 MySQL 8.0

mysql8.0 设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

常用命令

lsof -i: 端口号 # 查看某个端口的进程

网络管理

主要记录虚拟机桥接模式无法连接外网的问题,主要是CentOS 8使用nmcli来管理网卡。

  1. 编辑文件vim /etc/sysconfig/network-scripts/ifcfg-ens33
  2. 使用nmcli d connect ens33激活
  3. 最后使用nmcli c reload重启网卡服务,稍等片刻,就可以Ping通网络了。

HTTPS

目前使用Let’s Encrypt SSL的证书,这个是免费的,唯一的缺点是只有三个月期限,到期后重新申请就可以。

certbot-auto

主要用来certbot-auto申请。

# 获取certbot-auto
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

申请通配符域名的证书,这个涉及域名验证,需要在DNS解析增加_acme-challengeTXT记录。

./certbot-auto certonly  -d *.xxxx.com --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory

到期后的,需要删除原有证书certbot delete,重启Ngnix服务sudo systemctl restart nginx。不删除的话,会生成新的证书目录,这样的话还需要修改Ngnix的配置文件。

certbot certificates # 查看所有证书,主要是看证书是否快要过期

谈谈断食

2020-09-13 23:04

提前声明下这只是一个比较个人的体验,并不代表普遍适用,仅供参考。

关于断食,也有称作辟谷的,大体都是跟节食或者不吃饭有关系。我本人亲自尝试过的断食属于21天不吃饭只喝清水的这种,前一次大概是七年前,这一次也是9月13日才结束的,写这篇一方面是刚刚结束断食,想把最真实的感受记录下来。另外这是第二次21天清水断食,也会做个对比。

体重

21天下来,体重从155斤下降到130斤,大概瘦了25斤,从减肥的角度来看效果还是不错的。第一周减的比较多,大概是15斤左右,这一周喝水很多。第二周和第三周总共减了10斤左右,个人觉得后面2周是真的减脂的阶段,水其实喝的也并没有那么多。第二周会有点难熬,但是第三周反而能好点。

活动

不吃饭体力肯定是个问题,但也不能躺在床上,我本人是上着班进行的断食,不过因为去单位基本上也是写写代码,正常的走动。来回坐2个小时的地铁,好在都是从终点坐的都有位置。但是如果你爬个楼梯这样的运动,最好还是不要做。这种感受跟我当年在珠峰大本营底下爬一个20、30米高的土堆,那种因为缺氧导致很累的感觉一样。综上断食期间要适量的活动,但是尽量避免大一点的体力活动,尤其到后期,保持体力还是比较重要。

毅力

一旦你下定决心的话,意味你要在21天放弃一些东西,包括各种应酬,我刚好成功的在工作中躲过了各种的应酬。因为是第二次,我心里大概有个数,虽然在外人看来一天不吃饭都无法忍受,何况21天呢?选择21天这个数字也是从前人的经验中得来的,比如弘一大师。断食似乎是宗教领袖都曾试过的方式,又比如甘地,他曾多次断食。不过作为现代人,经历了2次断食,个人觉得不要对断食抱有太多的幻想,其实不会有什么特殊的感受了,身体的变化是最大。第二次断食我一直坚持早上冥想,这是与上次不一样的。身体瘦下去后,确实有利于双盘,这是真的。

总结

21天断食并不神秘,身体瘦下去,总还是要回到一个正常的体重的。重要的是一种意志力的锻炼,从思想层面当你不在乎吃饭这件事时,或许对于人生有新的思考。

《创新者的窘境》读后感

2020-08-08 23:35

这本书比较老,要不是因为跟乔布斯读过有关系,很少会引起大家的注意,另外书里的例子是90年代的东西,有些东西涉及硬盘之类的案例,更重要的是这本书面向的是企业管理者和想内部创新的相关人,个人觉得对于很多人不会有共鸣感。因为在一家传统行业的公司从事信息化建设的相关工作,也才开始体会书中的东西。

盈利

创新性业务与旧的业务的比较,大家都比较在意是否盈利,这就面临一个问题要不要盈利?不盈利,那么公司是否愿意投入一定时间的可能亏损的资金投入。但是要求盈利的话,那么这个项目很有可能会变味,因为按照书中描述的创新性项目一般盈利性差,短期内实际还是亏损。个人觉得没有丰腴资金流的公司很难做这样的内部创新。

独立

实际中我们可能会借助于传统来开展创新性的工作,所以会把二者一起考虑,但事实证明最好还是独立一个跟旧的业务分离开的部门。这样的好处是,避免传统与创新部门的比较,包括薪资、文化等,创新性的很大程度与旧的之间存在不一样的部分,所以最好能独立开来。

创新

这个也是书中讨论的,其实跟是不是公司内部创新没有太大的关系,其实更具有普遍性。创新的产品可能在当下没有优势,但是随着时间的发展会在某个点突破性能的点,从而替代旧的技术,这点非常值得创业者思考自己的项目是否属于这类,但也有个问题,比如书中提到的电动车,那是90年,即使到现在这个依旧是比较小众的,所以也许看准了,但是如果在初期的话,也很有可能因为过早的介入而夭折。

内卷

内部创新最大的敌人就是内卷,尤其在已经很成熟的行业。我想到了曾经的手机霸主诺基亚,理论上来看最好的手机应该由他们产生,但是颠覆行业的却都不是这些企业。

Mac上安装Nginx

2020-07-27 17:07

安装

brew install nginx

## 安装成功后
Docroot is: /usr/local/var/www

The default port has been set in /usr/local/etc/nginx/nginx.conf to 8080 so that
nginx can run without sudo.

nginx will load all files in /usr/local/etc/nginx/servers/.

To have launchd start nginx now and restart at login:
  brew services start nginx
Or, if you don't want/need a background service you can just run:
  nginx

配置

默认根目录/usr/local/var/www,可以在配置文件/usr/local/etc/nginx/nginx.conf中修改。

...
 server {
        listen       8080; # 端口可以自己修改
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   index # 自定义路径
            index  index.html index.htm;
        }
...

图片服务器,需要配置images目录,在conf文件中增加如下,然后重启。

location /images {
	root /xxxx/xxxx; # 图片存放的目录
	autoindex on; # 开启目录游览
}

管理

使用brew来管理服务

brew services start nginx # 启动Nginx后台服务
brew services restart nginx # 重启Nginx后台服务
brew services stop nginx # 停止Nginx服务

诊断

Nginx诊断,有遇到过Nginx已经启动,但是无法访问,可以使用nginx -t来诊断具体的错误。

匿名函数和闭包

2020-07-26 23:29

匿名函数和闭包似乎成了现代语言必备的,因为自己接触的语言也多,所以特意做了下目前自己接触的这些语言不同。

package main

import "fmt"

func adder() func(int) int {
	sum := 0
	return func(x int) int {
		sum += x
		return sum
	}
}

func main() {
	pos, neg := adder(), adder()
	for i := 0; i < 10; i++ {
		fmt.Println(
			pos(i),
			neg(-2*i),
		)
	}
}

这是Go语言的原始版本,例子来源于tour.golang.org,后面会用其他的语言来写相同的例子。

JavaScript的版本

function adder() {
    let sum = 0
    return function (x) {
        sum += x
        return sum
    }
}

let pos = adder(), neg = adder()

for (let i = 0; i < 10; i++) {
    console.log(pos(i) + " " + neg(-2 * i))
}

Swift 版本

import Foundation

func adder()->(Int)->Int {
    var sum=0
    return {(x: Int)->Int in
        sum += x;
        return sum
    }
}

var pos = adder(), neg=adder();

for i in (0...9) {
    print("\(pos(i))" + " " + "\(neg(-2*i))")
}

用Common Lisp写一个双色球程序

2020-07-22 23:12

断断续续的看了些Common Lisp的东西,主要是田春冰河翻译的那本《实用Common Lisp编程》,另外网上有人翻译了《ANSI Common Lisp》也有看,另一本《Common Lisp: A Gentle Introduction to Symbolic Computation》。总得写点东西,于是就写了这个双色球的小程序。

(defconstant total-red-ball 33)
(defconstant total-blue-ball 16)

(defun select-red-ball (red-balls double-balls)
  (let (x)
    (setq x (elt red-balls (random (length red-balls))))
    (vector-push x double-balls)
    (delete x red-balls)))

(defun create-double-balls()
  (let ((red-balls (make-array total-red-ball :fill-pointer 0))
	(blue-balls (make-array total-blue-ball :fill-pointer 0))
	(double-balls (make-array 7 :fill-pointer 0)))
    (loop for i from 1 to total-red-ball do (vector-push i red-balls))
    (loop for i from 1 to total-blue-ball do (vector-push i blue-balls))
    (dotimes (n 6)
      (select-red-ball red-balls double-balls))
    (setq double-balls (sort double-balls #'<))
    (vector-push (elt blue-balls (random 16)) double-balls)
    (print double-balls)))
    
(defun gen(n)
  (dotimes (i n)
    (create-double-balls)))

Lisp特殊的语法风格确实与C体系的语言有很大不同,不过如果有编程经验的话,还是比较容易上手,比如函数的传参,传个数组的话,实际上传指针了。定义局部变量的方式比如用LET

Octopress使用指南

2020-07-22 15:14

rake 'new_post["title"]' # 创建文章
rake generate # 生成文章
rake preview # 本地预览博客
rake deploy # 发布博客

修改文章创建的日期格式,我比较喜欢类似2020-01-01 00:00:00这样的格式,修改_config.yml

date_format: "%Y-%m-%d"
time_format: "%H:%M:%S" # 这个新增的,默认配置文件没有的

MySQL 笔记

2020-07-22 14:53

持续记录在工作中一些MySQL使用心得。

二进制日志

二进制日志文件默认会存放在/var/lib/mysql目录下,配合mysqlbinlog可以查看数据的变更,--base64-output=decode-rows -v加上这个可以使日志可读。

mysqlbinlog --start-datetime="2020-07-14 10:00:00" --stop-datetime="2020-07-14 10:05:00" binlog.000001 --base64-output=decode-rows -v

创建用户

访问远程数据库时,创建相应的用户。

create user 'root'@'本机IP' identified by '数据库密码';
grant all privileges on *.* to 'root'@'本机IP' with grant option;
flush privileges;