Planet of Woodpecker.org.cn for CPUG

August 14, 2017

@khsing

Nginx 的流量镜像模块

Nginx 发布了1.13.4版本,并且包含了一个流量镜像的模块 ngx_http_mirror_module

这对于线上系统就很好了,比如可以镜像部分流量来做测试、debug之类的

例子也很简单:

location / {
    mirror /mirror;
    proxy_pass http://backend;
}

location /mirror {
    internal;
    proxy_pass http://test_backend$request_uri;
}

by khsing at August 14, 2017 07:01 AM

August 13, 2017

@khsing

软件的收费模式

Ulysses 发了一篇blog: Ulysses Switches to Subscription 就唰喇喇的把自己的售卖模式从卖 License 换到了卖时间了。

曾几何时,还在指责 Mac App Store 不支持升级的收费策略的时候,这些应用开发商却把自己的收费模式先换成了订阅。我承认软件开发商在卖 License 的模式下面临着很多的生存困境,比如一个 App 很好,但是为了持续的获得收入只能走两条路:

  1. 发展新客户,每年都把东西卖给陌生人,这个过程其实是挺难的。
  2. 向老客户收钱,每年总有那么几个改版本号骗钱的App奸商,比如臭名昭著的Parallels Desktop。

开发商能怎么办,也很无奈啊,程序员嗷嗷待哺,不弄点钱,新版本怎么开发,总不能卸了磨就杀驴吧。所以这模式得改,要说这改的快的还是几个大厂,以Adobe为首的先把自己的 Creative 套件给转到订阅了,Microsoft把也提供了365的订阅模式,订阅模式确实对厂商来说是非常的好,收入有了保障,日子也可以过的有滋味了。

用户当然是希望App能稳定的好好工作,别罢工,积极解决遇到的问题,持续更新。最讨厌的就是付费更新,最最讨厌的就是不付费更新在新版OS里就不能好好工作的那种,比如Parallels Desktop。

用户付费买的是什么?是软件的使用权还是有效时间的使用权?

如果是一个有效时间的使用权,应该适用于专业用户,专业用户能够频繁的使用这个软件,这样你才能对得起你的服务和售价。普通用户买来就不合算了,比如工具软件,普通用户一年也就用上几次,只是希望安安静静的工作就行了,所以普通用户修图片应该买 Pixelmator 而不是 Photoshop。

如果是使用权,那就是一个稳定的OS版本下,可以一直使用这个软件,比如我10年前买一个软件,只要我的操作系统没有换,其他环境没有换,这个版本就应该可以一直使用下去。

有些软件的某个版本写的太好了,以至于新版本没有什么吸引力让我去升级,比如我常用的那个Dash 和 Alfred,Dash 4 和 Alfred 3都出来很久了,提醒更新也很久了,但是他们现在的这个版本太好了以至于我完全没有什么动力去升级,厂商当然就挣不到钱喽(心疼1s),所以从某种程度上也可以理解 TextMator 和 Sublime Text 为啥后来更新乏力了,该买的早就买了,不买的也不会再买了。

所以说产品定位很重要,针对专业用户的尽管走订阅模式,因为用你的工具用户能挣回来更多的钱。如果你只是一个针对普通用户的工具,还是卖License吧,以量取胜,增加边际收益,而且工具不是你的长期事业,能分化出专业用户还是得走订阅模式来稳定收益,更长期服务下去。

当然订阅模式也存在 @bfishadow 说的那个问题,即便你一年啥事儿都不干,还是得给你付费才能使用,这确实是很操蛋的事情了,所以我觉的 Sketch 的订阅模式很好,好的是他订阅的是你升级的权利,并不是使用的权利,所以你的订阅过期了,软件依然可以使用,只是不能升级到最新版了而已,所以我之前使用的日记软件Day One是不会升级到新版去的。

by khsing at August 13, 2017 08:56 AM

August 12, 2017

@khsing

体验是优化出来的

从直觉上都认为 Apple Pay 的支付体验是优于微信支付的,直到头几天 Apple Pay 和银联一起搞了一个5折之类的促销活动,刺激了很多人去用 Apple Pay,包括星巴克,7-11。从集中的使用了一段时间来看,Apple Pay在国内的体验是不敌微信支付的。

主要就从速度来说,Apple Pay的支付速度远不及微信支付,举一个我在7-11的例子吧:

  • Apple Pay: 排队 -> 告诉店员使用Apple Pay -> 店员拿起 POS 机设置金额 -> 贴上去支付 -> 完成
  • 微信支付:排队 -> 准备好支付界面-> 告诉店员使用微信支付 -> 直接贴在扫码机上面 -> 完成

所谓的需要打开App再支付的步骤,排队的时候就干完了,而且就现在情况来说,打开个App和掏个手机基本不差。

从技术方案上,从安全性来说Apple Pay都要比微信支付好,但是从部署难以程度,从体验的优化上,微信支付已经在国内大幅的超越了Apple Pay,下一步 iPhone 的 NFC 接口开放之后会不会对微信支付的体验上带来优势呢?也许结合小程序和RDIF在零售领域玩出新花样也不好说。

项目 微信支付 Apple Pay
绑定银行卡 需要 需要
需要POS机 不需要 需要
POS操作难易 易(甚至不需要)
需要网络 不需要 不需要
店员培训
适用范围 iPhone 5S + 有摄像头的手机

可见这部署成本以及市场教育的结果,再加上市场优化的结果,微信支付的体验某种程度上也来自于这些服务于商铺的服务商的优化。

by khsing at August 12, 2017 09:07 AM

June 06, 2017

@khsing

十条无我编程的戒律

下面是译自Jeff Atwood的The Ten Commandments of Egoless Programming

========我是华丽的分割线========

这十条无我编程的戒律,源自Jerry Weinberg的《程序开发心理学》一书。

  1. 理解并接受你所犯的错。这是说尽早的在产品发布之前发现这些错误。幸好我们不是在JPL(隶属NASA的喷气推进实验室)开发火箭制导软件的一小撮人,在我们的行业中很难出现致命错误,所以我们可以也必须从错误中学习、开怀并且继续前行。
  2. 你并不等于你的代码。记住审查的目的是为了找到问题,而且问题一定会被找到。不要为一个没有发现的问题而自责。
  3. 你知道多少不重要,总有人知道的比你多。如果你问一个人他总能告诉你一些新鲜的玩意。寻找并且从其他人那里接受输入,尤其是你觉的你不需要的时候。
  4. 没有商讨就不要重写代码。在修复代码和重写代码之间总有一条不错的界线,知晓其中的不同,并在代码审查的框架中追查文法上的变化,而不是孤僻的强迫症。
  5. 用耐心和尊敬善待那些知道的比你少的人。非技术人员在和开发打交道时普遍持有偏见,好一些情况下认为我们是一群自负的怪人,坏一些的情况下认为我们是一群玻璃心。不要用愤怒和不耐烦加深这种偏见。
  6. 在这个世界上持续存在的只有变化。用微笑和开放的心态去接受变化。把每一个需求、平台或是工具上的变化视作新的挑战,而不是严重的不利因素去抵触。
  7. 真正的权威来自于知识,并不是职位。知识带来权威,权威带来尊敬,所以你如果想要在一个自大的环境中受尊敬,增加知识吧。
  8. 为你的信仰而战,但也要勇于承担。要知道有时候你的想法会被批驳。即便最终你是对的,也不要报复或者说“我早就说了”这样的话,也不要作出一副为你的想法惋惜或者哭诉的模样。
  9. 不要成为屋子里的人。不要成为长期处在阴暗角落且打水的时候才出现的码农,屋子里的人与世隔绝、淡出人们视线、失控且在开放协作的环境中无立锥之地。
  10. 批评代码而不是批评人——善待码农,而不是代码。尽可能的让你的评论都是积极的而且目的是促进代码质量。评论要和标准,编程规范,优化性能等内容相关。

软件的人性化的准则真是不过时的。这本《程序开发心理学》成书于1971年,而一年后我才出生。

========我是华丽的分割线========

Guixing 翻译于 2017-06-06

by khsing at June 06, 2017 07:40 AM

June 01, 2017

@khsing

黑客帝国的Neo和围棋世界的柯洁

黑客帝国(The Matrix, 1999)一直是我非常喜欢的一部科幻片,其中世界设定值得深思,不时的就会质疑自己是不是一块电池。Neo作为电影的主角有洞悉虚拟世界的能力,也被称之为救世主,在电影的3部曲结束之后,Neo战败,Matrix清除了Agent Smith,达成了人类和机器的和平。

自从 AlphaGo 去年4/5大败李世石之后,人类的围棋世界其实就已经崩塌了,无法战胜 AlphaGo 已经是必然。 今年柯洁和 AlphaGo 的对决以3:0落败,也成了 AlphaGo 的收官之作,从此退役,独孤求败。而柯洁也和 Deepmind 达成共同研究 AlphaGo,让其辅助人类研究围棋。

Neo和柯洁某种程度上何其相似,在 Matrix 即将摧毁人类最后的据点 Zion 之时,Matrix 打败了 Neo,获取了 Agent 的代码,完善了自己。柯洁最后大败给 AlphaGo,但柯洁也开始帮助 AlphaGo 进一步完善。

AI的一直是科幻界的主题,那部以人工智能(2001)命名的电影,人工智能把自己都给骗了,David努力在寻找自己不是人造的(Artificial)的证据,并且一直在寻找变成真正小孩的方法,最后发现自己并没有唯一性也不能变成真小孩,但是奇幻的一点也是他还是有唯一性,所以人工智能从情感上已经无法分辨了。

人类发明AI是科技发展的必然,机器仿生技术的进步必然会促进生活水平的提高。现在很多人还在纠结同性恋,变性人,out了,下一步该怀疑一下和你恋爱的是不是一个AI了。(这个题材也有了,《她》(2013),[捂脸])

AI和机器人的发展,一方面会让财富快速的向掌握AI和机器的人聚拢,另一方面人类会成为机器豢养的宠物。

by khsing at June 01, 2017 01:56 AM

May 09, 2017

@khsing

我所依赖的科技公司

使用了很多科技产品,如果这家公司和他们的产品突然消失,也许生活会很不方便,那么究竟有哪些是我生活中不可或缺的公司和产品呢?

  1. Apple,苹果公司的产品应该是我几乎无法替代的,他家的软件服务产品都不值一提,唯独iPhone和Mac是我工作生活不可缺少的,让我替换起来成本很高。
  2. Google,搜索产品基本是最最最不能缺少的东西了,缺了他我都不会上网了,Gmail和Contact都还可以替换,至于Chrome我只是开发的时候会用。
  3. 淘宝,万能的淘宝,基本上没有买不到的东西和服务,合法的哈。

上面这些是基本需求了,作为一个码农,下面两个服务也是不能缺少的

  1. Github,太多的开源项目在上面了。
  2. StackOverflow,离了他我都不会写代码了。

以上满足了基本需求。

by khsing at May 09, 2017 05:37 AM

April 26, 2017

@khsing

Uber被苹果请喝茶

这两天还发生了一件事,Uber CEO Travis Kalanick被Apple CEO Tim Cook叫去喝了茶,主要是Uber在代码中嵌入了追踪用户手机的指纹技术,甚至用户清理手机之后,也一样可以追踪的到,而且设置了地理围栏(Geofence)来躲避苹果的审核人员。

这事儿挺有意思的,对用户做标记是广告和推荐系统中必须要做的一件事,从最早iOS可以在App中直接读取Mac地址到后来这个接口变成私有API,以及苹果提供了iAd的一套标记用户方法,等等这些都是为了知道屏幕背后的那条狗。从这个角度来说Uber做的这个技术其实是很通用的,只要是做广告和推荐的都这么干。不同之处应该是Uber调用了私有API,从而可以永久标记一个用户,如果只是使用了iAd的标记,用户可以在iOS设置->通用->隐私->广告中重置。

司如其人,Uber的CEO按常理来说就是一个混蛋,只要没有被抓到,什么事情都可以干的出来。

by khsing at April 26, 2017 03:11 AM

Apple Pay、内购(IAP)和微信支付的体验

昨天说到应用内购买和微信支付体验问题,早上开车想了一下,Apple Pay,IAP和微信支付还真不是一码事,而且还各有各的特点。

先说IAP,应该说这是这三个产品中最早的一个,应用内购买是苹果在2009年推出的。解决应用内虚拟物品的购买,消费通过App Store绑定的信用卡、借记卡、或者余额来购买。便捷性上呢,在没有Touch ID之前,需要输入一次Apple ID用户名和密码进行消费,现在内购基本上就是弹出一个确认购买,TouchID,购买成功或者失败。

其次是微信支付,是微信提供的一套支付体系。微信借着滴滴打车和红包砍下了国内移动支付1/3以上的市场份额,生生把二维码支付和抢红包发展成了全国民运动。分场景来说,在微信内的支付很方便,无论是打赏还是微商城一类的支付都是很方便的,但是在其他App中使用微信支付是需要跳转到微信支付完成之后再跳转回去,这个过程就不是那么的原生和自然,但是依然是很不错的体验。

最后是Apple Pay,在国外开展的算是顺利,但是在国内却几乎是一败涂地,被二维码打的可以说是连牙都没找到。除去Apple Pay的POS机部署成本、国人信用卡持卡率等问题不说,仅教育用户这一项,Apple比微信和支付宝来说基本就是没有投入,只有在升级完之后的一个添加银行卡的引导过程,这是远远不够的,中国的移动支付市场是腾讯和阿里两家用补贴和红包砸出来的。就支付体验来说,分线上和线下两个场景来说,Apple Pay的体验都是很不错的,线上来说,无需跳转到另外的App,Touch ID就直接支付,很轻松,线下就更不用说了,轻触一下就完成了。但是,凡事总是有但是,Apple Pay在国内使用的时候,店员不知道、不会操作、设备不支持等等的问题比起微信二维码来说,那就是复杂太多了,店员不耐烦的时候甚至会说:你还是微信支付宝吧。

这时候再来看用户体验的问题,Apple Pay和微信支付的场景都基本上是支付,而IAP还有不同的地方在于支付完成后还要记录用户的支付记录,有些App的功能开启还需要恢复购买这样的功能,所以从功能上来说IAP的业务逻辑要复杂于Apple Pay和微信支付,这也造成了IAP用户体验差,尤其国内还有长城的存在,IAP的接口都在国外,这中间的网络通信就导致IAP支付过程很慢,甚至会失败。Apple Pay的体验优于IAP主要是无须网络连接照样完成支付,逻辑简单。

微信支付的体验好于IAP的主要原因是访问的服务都在国内,如果是店家扫描二维码支付甚至无须客户手机联网,这一点和Apple Pay是同等级的,只是没有Apple Pay那种系统级别行云流水般的顺滑而已。

所以,要微信把赞赏切换到IAP的话,是有一些损伤体验的,但是切换到Apple Pay的话,应该不存在体验损伤的问题,只看用户是不是使用了Apple Pay,这个大前提就喝退了很多人。

by khsing at April 26, 2017 03:10 AM

April 24, 2017

@khsing

微信和苹果的一次交锋

已经好几天的热点了,苹果从结果上逼微信干掉了iOS版文章打赏功能,理由是违反了苹果的App准入规定3.1.1的条款,即解锁程序内功能时必须使用IAP(内购),苹果举了个例子是:订阅,游戏货币,游戏等级,访问高级内容,或者解锁完全版本等,而且不可以引导用户跳过IAP使用其它支付。

先下结论,这次事件从目前的结果来看,微信的付费阅读产品可能会延期,至少会在iOS端会缺席。

再来想想这次事件的几个问题:

首先,微信的打赏究竟在不在苹果的这个规定范围内?

打赏虽然没有解锁一个新的功能,但是实际上这本身就是一个新的功能,我认为归类到订阅、访问高级内容这样的服务中也合乎情理。

其次,苹果的这个规定合理么?

根据我的地盘我做主的原则,这事儿其实也没的说,就腾讯来说他自己也干过很多我的地盘我做主的事情,比如干掉淘宝(虽然是淘宝先动手的),干掉优步,可以说微信也是乏善可陈。

最后,这些决定对用户的影响是什么?

苹果是敦促微信回到他的规则上来,乖乖的交虚拟产品的苹果税,微信的做法是用二维码代替按钮(之后也被要求撤下),耍了小聪明,猜测6小时后下线二维码也是在苹果的勒令之下撤下了二维码。其实,微信完全可以继续保留功能,打赏走IAP。但是我也听说,这是为了保持微信支付的优秀体验,好吧,微信的支付体验比Apple Pay要好?

要知道现在的做法是有损公众号的内容提供者的,也就是说微信为了自己的产品体验,强行损害了自媒体的利益,腾讯,干的真是漂亮!

微信的公众号域名是http://mp.weixin.qq.com,一直有对这个mp缩写的猜测,我倾向于这是Media Platform的缩写,媒体平台。如果你是一个内容创业者,或者是一个收入依赖于微信的媒体运营者,长点心吧,这次的事情已经说明,你们的利益是被腾讯这个平台裹挟的,是他可以作为筹码和其他公司打架的武器。

在拥抱微信获取流量的同时也要把灵魂交给撒旦!

再来说Apple的规则是不是真的就那么的神圣?

其实今天微信遇到的问题,不是微信一家遇到的问题,而是所有进入App Store平台的App一起面临的问题,比如Kindle作为一个电子书应用,不能在iOS版App内买书,为啥呢?因为这是虚拟产品,要交30%的苹果税,图书利润很薄还要和作者分成,除非iOS版购买比其他版本购买多30%,但是这个逻辑是不是很诡异呢?打开微博、爱奇艺要续费一个会员,也必须走IAP,为什么呢?因为3.1.1条款。这确确实实是一条霸王条款!

既然这个问题是行业内一样面临的问题,苹果有没有可能去改善?答案是可能会有改善。君不见喊了一万年的App支付订阅模式在去年就有所改进,很多的App也跟进了,比如我常用的Podcasting应用Overcast就在苹果支持订阅模式之后就推出了订阅付费的模式。

苹果占据了移动市场食物链顶端,而且目前的地位别人还无法撼动,所以他的规矩就是规矩,想要Apple作出改变,要么告他,要么退出App Store市场。很多Mac上的App就因为不满App Store的分成和苹果的霸道退出了App Store,比如Sketch, Sip等应用,但是Mac端好歹还是有其他途径安装App的,而iOS安装App的合法路径只有一条————App Store。

强大就封闭,弱小就开放。这就是一个很现实的生存环境,没有什么道义可言,只有商业利益赤裸裸的摆在这里。

至于苹果是不是惧怕微信的小程序而故意修理呢?也许有吧,但是小程序真的就能取代App么?

by khsing at April 24, 2017 12:04 PM

April 21, 2017

@khsing

2016款Macbook Pro的分辨率

入手2016款Macbook Pro有一小段时间了,一个小的细节是显示器的默认分辨率从1440×900变成了1680×1050,但是显示屏的物理分辨率还是2880×1800,而且那里也不现实Best for Retina了,但是这样的改变让屏幕可显示区域变大了,鸡贼了苹果。

对于一个轻度OCD患者来说,这太不科学了,改回来,必须是Best for Retina.

by khsing at April 21, 2017 02:26 AM

April 20, 2017

@khsing

升级Homebrew中的PostgreSQL

最后还是入手了新版的MBP,开发环境都是重新设置的,用PostgreSQL的时候,启动提醒版本不兼容

FATAL:  database files are incompatible with server
DETAIL:  The data directory was initialized by PostgreSQL version 9.5, which is not compatible with this version 9.6.2.

所以要升级一下原来的库,作弊条开始

  • brew services stop postgresql
  • brew install postgresql@9.5
  • initdb /usr/local/var/postgres9.6 -E utf8
  • 开始升级数据库
pg_upgrade \
  -d /usr/local/var/postgres \
  -D /usr/local/var/postgres9.6 \
  -b /usr/local/Cellar/postgresql@9.5/9.5.6/bin \
  -B /usr/local/Cellar/postgresql/9.6.2/bin/ \
  -v
  • mv /usr/local/var/postgres /usr/local/var/postgres9.5
  • mv /usr/local/var/postgres9.6 /usr/local/var/postgres
  • brew services start postgresql

完成

by khsing at April 20, 2017 04:13 AM

云服务和数据自由

最近发生了一个事情,我之前为了方便就把一些流程图都放在了ProcessOn的云服务上,我很容易的能把这个内容发给朋友,而且也可以邀请朋友同事一起来改,但是在我想导出一个思维导图的时候,发现只能导出成图片、私有的pos文件或者pdf,这个时候我就是很懵逼的情况。按理说,这个数据是我的,我应该有数据迁移的自由。

数据自由交换是一种权利,比如我记录的笔记之类的内容,这是我的创作内容,应该可以很容易的导出成一个容易迁移的格式,说的就是Evernote和OneNote。大概从2年前开始,我买了Office 365服务,理所应当的被送了一些空间,OneNote正好可以使用这些空间,我就打算把之前使用Evernote的内容都前一过来,但是当我发现OneNote只能一个Note一个Note的导出成PDF的时候,我彻底的放弃了这个产品,就更不要提他经常不知所以的同步状态,继续乖乖的付费使用Evernote。

从这些云服务的情况来看,我对他们的担心主要是三个问题

  1. 数据的属主问题。在云服务不能提供良好的数据导出时,这个数据并不能完全意义上属于我。
  2. 数据的交换问题。以文档类数据为例,ProcessOn 没有提供导出Mindmap为Freemind等其他软件格式就是一个数据不能自由交换的例子,这和1意义上相同。
  3. 服务的持续性问题。如果不在1,2的问题,那么第三个问题就是很严重的问题,作为一个云服务公司,如果数据既不能自由导出流转,那服务的期限最好就是永久,否则就是数据的丢失就是不可避免的了。

我并不排斥使用云服务,而且我司也是做云服务的,只是我觉的一些通用的产品数据应该被自由流通和编辑。举几个例子:

  • 文档,应该可以导出成为txt, rtf, word格式
  • 表格,应该可以导出成为csv, excel格式
  • 思维导图,应该可以导出成为,freemind, xmind, mindmanager格式

数据才是正真的自己拥有。

by khsing at April 20, 2017 04:01 AM

March 28, 2017

@khsing

思考和书写

人活着除了生理上的存活状态,最主要的还是思考在继续。我们看见周围的事和物都会去思考一系列的问题,比如:这是什么?为什么会发生?等等。

互联网的出现极大的拓展了我们获取知识的能力和范围,而移动互联网的出现则彻底的把我们的时间变的碎片化。在大量碎片信息的冲刷之下,我们的独立思考变的弥足珍贵。

现实生活和工作中面临的问题有小有大,大部分的问题凭着我们的经验和直觉就解决了。而有些问题是值得仔细思考的,甚至是需要长时间的理性思考的。这似乎与我们现在的移动互联网生活是冲突的,刷微博和朋友圈,接收着大量的碎片化信息,是无法完成深度思考的。有些时候我们的直觉会欺骗我们,看到一件事或物,经过简单的分析和思考就认为这件事情掌握了,了解了,然而这只是一个假象。在时间碎片化的今天,这一情况更为普遍。

一个接受和没接受教育的人的最本质的能力区别是阅读和写作,阅读是一种输入技能,经过思考之后书写出来就是输出了。这一点很像写了一个数据处理函数。

思考和写出来是有很大区别的,一个你觉的已经思考过的内容,要写出来的时候就变成了梳理的过程,这时候就会发现自己在脑海中浅思考的错误,所以写出来的内容往往比自己想的内容更加缜密。

如果一件事,经历之后,再经过思考梳理,形成文字材料才是真的消化,想通透了。所以技术人员要多思考,多实践,多分享。

by khsing at March 28, 2017 10:26 AM

March 12, 2017

@khsing

写给SaaS创业公司的安全基础知识

头两天看到了写给SaaS创业公司的安全101,内容涵盖了不少,非常值得一读,其实不光是给SaaS企业了,其他公司一样适用。

我摘了几个贴在这里

  • 密码共享和密码管理,所有系统都有一个终极的Admin账户,这个账户是共享的,防止这个人的单点故障,同时一旦共享了,那么密码是需要加密共享的,所以要有密码管理。
  • 全盘加密,Mac/Windows都有很好的加密方法了,几乎一键加密。
  • 买3个以上域名,第一个用于公开的品牌和企业的邮箱。第二个用于自己的SaaS服务,比如googleapis.com之类的。第三个域名用于内部的后勤支持,比如公司vpn等基础设施等等,而且这个域名最好匿名,这样别人就难以猜测了。营销邮件应该使用独立的域名,以防反垃圾系统标记后影响公司业务邮件来往。
  • 所有地方都使用HTTPS
  • API密钥,每一个客户都应该拥有不同的API钥匙对。
  • 物理安全:
    • 使用屏保,并且从屏保恢复需要输入密码。
    • 不要使用U盘,这是入侵的最方便最直接的方法了。
  • 企业内部沟通用Slack,客户间沟通用邮件,国内可以适用企业内部用BearyChat,客户沟通用邮件+微信。
  • 认证服务支持SSO和OAuth
  • 备份
    • 冷备/热备/异地容灾
    • 自动化备份
    • 定期恢复演练
    • 备份加密
  • 防火墙和访问权限
    • 服务访问需要认证,比如ElasticSearch, MongoDB, MySQL等
    • Review防火墙设置,只能允许必要的服务和端口开放。
    • 自动扫描。

可以照这个列一个checklist,看看自己公司都做到了哪些?

by khsing at March 12, 2017 05:12 AM

you-get下载视频

网络资源虽然很方便了,但是我依然喜欢把东西下载下来,尤其是喜欢的YouTube视频,因为版权等一系列的原因,这些东西在互联网可能只是短暂的停留。

you-get简直是一个神器,下载视频刚刚的。而且可以制定下载格式,连字幕都下载好了。比如指定下载mp4格式

you-get --itag=18 https://www.youtube.com/watch?v=ud4qy1EHRKQ

by khsing at March 12, 2017 03:43 AM

March 02, 2017

@khsing

消除Outlook的安装后反复欢迎提醒和Update无法更新的问题

Outlook for Mac 2016实在是太慢了,写个邮件都