大象笔记

知者行之始,行者知之成

《敏捷革命》一本敏捷培训机构的营销手册

没想到这是 scrum 发明者写的书,略失望,干货有点少。 在读这边书之前,我使用 trello 进行敏捷开发已有两年多时间,以微信小程序开发为例。当然是偏复杂的,开发周期超过一个月的产品为例。 我所实践的敏捷开发,即 scrum 模式,已实践的部分 mvp 以天为单位交付演示 trello 看板,任务管理,信息共享 消灭负面影响 用户故事。需求更容理解。基于不同角色的体验闭环 mvp。 基于已有进度评估/预测未来进度 不同的开发人员效率差异极大。可以达到二十倍的差距。另外在功能组件可以复用 每个冲刺周期的目标是提供一个 mvp 版本 与最终客户确认效果,以确保产品在正确的方向上。 在S ...

阅读全文...

尤文球迷世界杯观战指南

对世界杯一直不感冒,特别是近年来看球越来越少,大部分国家队的球员都不认识。我习惯看球有倾向性,即必须支持一个队,否则看着不刺激。球员都不认识,自然就没法有倾向性。比如第一场沙特对俄罗斯,真是一个都不认识,完全没有看的欲望。 在水木上看到有人贴了一个尤文球员对应的国家队列表,所以就顺便整理一下自己的世界杯观战指南。 尤文球员所在国家队: 阿根廷:伊瓜因,迪巴拉 摩洛哥:贝纳蒂亚 克罗地亚:曼珠 法国:马图依迪 巴西:科斯塔 乌拉圭:本坦库尔 德国:赫蒂拉 哥伦比亚:夸德拉多 波兰: 3c 扫了一遍,感觉能关注的主要国家队的有 阿根廷,不用说了主要看小魔仙。悲剧的是,阿根廷第一场首发,小魔仙和大 ...

阅读全文...

PHP 中 Error 与 Exception 的区别,及如何捕获

写了一段 JSON 解析的代码,由于数据源不能保证一定是 JSON,所以解析可能失败。 但是 PHP 的 json_decode 遇到无法解析的字符串,是不报错的,会直接返回空。而即使能解析出来,我也不太敢相信里面的字段是始终一致的。所以,不但需要判断能否解析成 JSON,还要判断字段是否缺少。出于偷懒的考虑,我想只捕获异常就好了,例如要捕获 Trying to get property of non-object 但是,下面的 try catch 怎么也捕获不到异常 try { // Code that may throw an Exception or Error. } cat ...

阅读全文...

以 www-data 的身份执行 crontab 的计划任务

新建了一个 Laravel 的计划任务,配置好 crontab * * * * * php /www/sunzhongwei/artisan schedule:run >> /dev/null 2>&1 同时,将当前登录用户,添加到了 www-data 的用户组,以防止无法访问 storage/logs 下的日志文件。 但是,执行了一段时间,导致 web 请求报错 file_put_contents(/www/sunzhongwei/storage/framework/cache/data/f1/6c/f16xxxx56b65501434d05bf1fc20c9fc ...

阅读全文...

解决 wordpress 七牛云存储插件无法 CDN 加速 hestia 主题的首页 banner 图片

现象 使用了 wordpress 七牛云存储插件之后,首页的 banner 及博文的 banner 图片都加载缓慢。而产品图片,以及博文中的图片则加载迅速。从 chrome 的 network 查看,的确部分使用了 CDN,而部分没有。 最简单的方法是查看源代码 vim wp-content/plugins/wpjam-basic/wpjam-cdn.php 可以看到,七牛云存储插件的实现原理就是在生成页面代码时,将图片资源的源站地址替换为了 CDN 地址。代码实现就是找 img 标签,然后替换。 但是,问题就来了,hestia 主题,大量采用了 inline css 的 background ...

阅读全文...

作为运维工程师,定期查看七牛 CDN 的数据统计是个好习惯

自从加上了 HTTPS,最近发现七牛 CDN 账单金额越来越大,所以突然想看看哪些图片占用的流量最多。 七牛 CDN 的数据统计查看地址 https://portal.qiniu.com/dashboard/fusionReport?type=usage 以排名前三的图片为例 URL TOP 100 # URL 流量 1 https://cdn.sunzhongwei.com/weixin_zhongwei.jpg 604.1817 MB 2 https://cdn.sunzhongwei.com/elephant_leg.jpg 492.8497 MB 3 https://cdn.sunz ...

阅读全文...

使用 WordPress 制作中英双语企业网站

参考: https://codex.wordpress.org/Multilingual_WordPress 看了一下,中英双语最简单的做法是架设两套网站。就是我把同一个网站部署两套,使用不同的域名。 例如: 中文的是 www.sunzhongwei.com 英文的是 en.sunzhongwei.com 然后,官网首页加个中英文切换的按钮。 中文首页自动判断用户浏览器的语言,如果是英文的自动跳转到英文的域名。 开发流程 先把中文版定稿,确定功能及布局之后。 添加 en 的二级域名解析 nginx 设置 en 的配置 部署一套英文版的环境,即 copy 一份中文版的代码目录 copy 一 ...

阅读全文...

趁暴风雨没来,沿柳林河跑一圈,庆祝永旺开业

连续两天早上遇到邻居大哥跑步回来,突然有了跑步的冲动。 最近身体太虚了,得个感冒差点丢了小命。不敢想,要是五年以后,还不直接进棺材。 于是和老婆商量了一下,我们每天轮流跑。今天我跑,明天她跑。天气预报说明天有暴风雨,所以我决定今天我跑。。。 跑前不敢怠慢,这超标的体重必须做好跑前拉伸 出了小区直奔柳林河。柳林河改造之后,非常适合跑步,加上新开的永旺,光线刚刚好。晚上九点半去,人也非常少,一圈下来不到十个人。 跑了不到三公里,身体状况比我预料的好。慢速下来,没喘,心脏也没有不适。看来跑步的底子还在。没敢来第二圈,怕长期不跑膝盖不适应。今天就到此为止。 ...

阅读全文...

中年油腻程序员需要的不是人体工学椅,而是站立编程支架

一直在犹豫买什么牌子的人体工学椅,在京东上看了一圈,越看越烦躁,不知道选什么好。 纠结的地方是 质量好的椅子,太贵,造型浮夸 便宜的,做工太粗糙,无法直视 于是,这事就搁浅了。更直接的原因是我重感冒了一个多周,活死人状态,晚上基本都是瘫倒在床上,现在还咳的厉害。晚上坐在椅子上敲代码对于我来说变成了 mission impossible。 这段时间,加强锻炼的想法不断出现在被病毒感染的大脑中。。。所以一把舒服的椅子就显得有点多余了。 站立编程变成了我最好的选择。 于是在万能的淘宝上搜索了一下,找到一个万能笔记本支架。价格也非常便宜。实际效果 不知道我能坚持多久 😄 商品链接 易力笔记本电脑 ...

阅读全文...

MySQL 8.0 的文档型数据存储 - Document Store

本质上就是实现了一套 MongoDB,然而我对 MongoDB 并不感冒。。。 什么是文档 Document A Document is a set of key and value pairs, as represented by a JSON object. 文档是一堆键值对的集合,表现为 JSON 结构。 例如: { "domain": "www.sunzhongwei.com", "title": "大象笔记" } collection 感觉类似 mongodb 里 collection 的概念, ...

阅读全文...

这周看了两部黑泽明的电影,《战国英豪》和《用心棒》

客观地讲,这两部电影情节都偏单调,但是,每一部我看完了。。。原因是黑泽明的导演功力太深,讲故事的能力一流,再枯燥的故事也能牵着我的鼻子让我看完。。。 战国英豪 这个片子两个多小时,故事情节简单得离谱,但是导演节奏控制的相当好,中途我只睡着了一次,醒来已是第二天凌晨5点,手机也没电了。。。冲上电之后才看完。 很少有片子导致我睡着,醒来后还能继续有兴趣再看下去,这是第一部。。。 这个片子在我看来是有深度的。虽然不如《罗生门》和《七武士》那么震撼。 几点感触: 冷兵器时代叛乱太容易了。人海战术完全能抵消武器的差距。 利用人的贪婪。里面大将就利用了农民的贪婪本性,以达成搬运金子的目的。城府确实够深, ...

阅读全文...

Ubuntu 18.04 GNOME SHELL 内置的录屏工具

Ubuntu 18.04 内置了一个录屏工具,但是这个录屏工具太低调了,即没有图标,也没有菜单启动项,只有快捷键。。。 启动方式,同时按下键盘的 Ctrl + Alt + Shift + R 这时,会看到 Ubuntu 桌面的右上方多了一个红色的小圆点,代表正在录制。 停止录屏,也是同时按下 Ctrl + Alt + Shift + R 操作非常简单,对于录制编程界面,或者程序功能演示视频,足够了。 默认情况下,30秒会自动结束。 下面是我录的一段视频,上传到了 Youtube 上 修改默认时长 如果你嫌默认的 30 秒不够用,可以通过参数调整 gsettings set org.gno ...

阅读全文...