解惑

解己之惑,解人之惑

作者:cherami (第2页共82页)

过境马来西亚

上个月底去了趟泰国,去程是在马来西亚转机的,之所以如此是因为便宜,比直飞便宜1000块人民币,相信很多经常飞长途的会在订票的时候遇到相同的情况,应该是两段航线的人数都很多,但是又不满,为了进一步提高上座率而采取的方法。因为转机碰到延误的情况也很多,所以转机的时间间隔一般比较长,我们这次长到7个小时,所以就出机场溜达了一圈。在吉隆坡机场发现海关的人非常多,但是有两个队伍的人很少,后来我们也去了那个队伍,就是过境签。前年去新加坡玩的时候我们其实也过境马来西亚一次,不过我们在吉隆坡住了一晚,为了看双子塔。那个时候过境签是可以72小时的,就是可以玩3天,而这次去,发现改成120小时也就是5天了,最重要的是过境签不用签证费。去国外旅游的可以利用这个免签政策免费的多玩一个地方也不错。

搜索了下,这个总结得很全面:http://www.sohu.com/a/219583418_383565

搭建好ShadowSocks

根据这个文章搭建的,搭建服务器端没有什么问题,但是在使用的时候有问题,FF直接配置不行,下载了Windows的客户端才可以连接上,目前原因还不清楚。

服务器在Azure上,所以也要开对应的端口。另外就是配置文件中的服务器端口,写0.0.0.0就可以了。

现在可以很爽快的上网了,不用登录到公司VPN了。

手机上也下载了APK,然后也下载了google play。

世界一下子更清爽了。。。

bing好弱

今天原来的老同事问我一些Java的入门问题,我说直接google啊,他说搜了没有搜索到结果,只不过用的是bing,然后我就震惊了,都告诉他google了啊(他曾经供职微软,被毒害了😋)。bing只能用于搜索自家的东西,因为都在MSDN上,它对MSDN的索引做得最好,而除了微软自家技术外的技术内容,只能使用google。而baidu,呵呵,就是娱乐和广告的代名词吧,只是用来测试网络是否是通的时候会试一下,在没有翻墙的情况下我也是退而求其次的用bing的。
而今天晚上,我用bing试图搜索我的这个站,“cherami jiehoo”,显示有三页,翻页到第二页再点下一页的时候,又回到了第一页,还是显示有3页,而在另外一台电脑上搜索“jiehoo cherami”显示有4页,而到了第二页点击下一页,直接显示没有任何结果,而且不能回到上一页,就是认为一个匹配结果都没有。看了下,两个浏览器都是Chrome,区别是一个登录了微软账户,一个没有登录。
呵呵,基本功能做成这样也是没有谁了吧。必应的同学们,看到的话,请参考下google是怎么做的吧。。。
Bing,你听到了吗?怎么给你报bug啊🤔

 

更新:我还真给bing提了个建议,不知道是否有反馈回来。

智能化和极简化

曾几何时,企业级软件是一个非常高大上的名词,而难用是后面的潜台词,从部署到配置到使用,非常的受诟病,但是没办法,在软件开发不那么成熟的时代,能够有能力组织开发出如此复杂的软件的就那么几个公司,能够做出来已经很不错了,加上采购者和使用者完全是两拨人,使用者的话语权太低了,所以以用户为导向的重要性虽然在产品开发的过程中被重视,但是视角完全是错误的,重点完全在功能的完整性、多样性和灵活性上。当互联网真正崛起,SaaS被广为接受,服务化被广泛采用后,我们才发现他们的玩法不一样了,因为直接面对的是最终使用者,最终使用者的口碑传播效应得到了极大提升,以使用者作为真正用户的视角才被纠正,所以各种讨好最终使用者的特性才被重视起来了,早期一个很重要的概念就是傻瓜化,这个,乔布斯的iPhone也是居功至伟的,但是我更愿意叫这个为智能化,伴随而来的还有极简化,核心思想就是尽最大可能减少用户的思考和使用门槛,上手就能够用而且用的比较顺畅。由于我以前也搞过自己的社区,深深知道这个有多么的重要,而很不幸的是这么多年都在大公司,很多思想并不被接受,终于,从前几年开始,这些风终于刮到了企业级这个漆黑的领域。从3年前做的一键升级整个集群,使得原来一个40台节点集群的升级时间从7天缩短到8个小时(大部分其实是升级准备及数据库,服务器升级半个小时内就可以搞定,并行的),而且基本不需要人工干预(除非客户有自己的定制化配置),为此Support的头头还专门写信表扬过,到现在,新的产品的一个极大的重心也是在智能化和极简化上,包括安装和升级,总算开始和自己一贯的思想理念一致了,特此纪念下。。。

育儿心得之一:信任

这个是育儿中最重要的一个因素,如果和孩子不能建立信任关系,那么后面的什么东西沟通起来都会事倍功半,你说得再好,孩子不相信你说的话,一切的话语都没有了意义。
那么如何建立信任呢?其实也很简单:自己说到做到,言出必行,不欺骗(哪怕是善意的)。
这些说起来简单,但是其实在实际中还是有难度的,很多时候为了求快,就会“哄”孩子,开始的时候可能会成功几次,但是这种方法可能就能管用几次,因为孩子在快速成长,也在和小伙伴交流,一旦他们意识到你是在“哄骗”他们,那么后面的哄骗就不起作用了,连带其它的一些话也不会相信,或者他们也会模仿你,先答应下来但是并不会真正去完成,这个时候就是自酿苦酒了。这种问题在老一代中非常常见,也有很多家长也是这个问题。
在生活中,和孩子商定的东西一定要尽可能兑现,如果实在无法兑现,也一定在第一时间和他解释清楚并商量一个补偿的办法,从而完成自己的承诺。这个就像你要求他做完作业,他答应了先玩什么什么,但是玩得忘乎所以最后没有完成自己的作用,那么就要要求他自己给出合理的补偿方案,比如第二天补做并加一定的量,而且还得完成当天商定的作业内容,如果还做不到如何惩罚,这个惩罚,可以最后到挨打,一定要让孩子意识到承诺是很严肃的事情,答应的事情都要尽可能完成,否则要承担相应的后果,无论是谁都应该这样。

汉化了下hemingway主题

发现我用的这个主题没有中文,所以研究了下汉化,本来想要改PHP的,但是看到主题目录下有个language目录,下面有sv_SE的mo和po文件,查了下,是个第三方的语言扩展标准,有po文件就可以很容易的翻译成需要的目标语言文章,mo文件是自动生成的,下载个poedit就可以编辑po文件了,然后另存为目标语言的文件,上传到主题的language目录下就可以了。

如果有其他中国用户使用同一个主题并且需要汉化可以自己下载我的汉化版本,有意见也可以给我发邮件。

hemingway主题中文包

我也会联系主题的作者把这个加到他的主题里面去。

发现可以在线翻译,联系作者没有反应,有兴趣的可以看看这个:

https://translate.wordpress.org/projects/wp-themes/hemingway/zh-cn/default

ElasticSearch只允许每个index里面一个type了

这个是今天内部讨论获悉的信息,查了下属实,具体内容可以看官方文档:

Removal of mapping types

5.x以前的multiple types还可以正常工作,但是6.x里面新创建的index只允许一个type了,从7.0开始将强制只有一个type。

这个对于很多打算把ElasticSearch做数据库使用的团队来讲不会是个特别好的消息,因为数据库的很多表其实只有很少的数据,大量数据可能集中在几个大表里面。不过既然趋势如此,如果打算继续用ElasticSearch就必须接受这个变化并遵循。

想想从ElasticSearch 0.9开始用到现在,也就短短5年(已经5年了😯)吧,版本也是一路突飞猛进,到现在6.3,估计7.0也会在年内发布,感受到ElasticSearch的高度活跃,推出的功能也是越来越多,我们原来基于ElasticSearch做的那些功能现在看起来太落伍了,刚好产品也进入维护模式了,估计要重新做了,刚好我原来对这个产品的很多设计非常不满(不是我设计的😛)

不过我的一些想法倒还没有落伍,因为涉及到专利,也不好说太多。

不能评论

有朋友反映不能发表评论,自己试了下,发现评论的下面加了个很不起眼的Anti Spam的问题:

Current ye@r *

默认的值是5.2,需要修改为当前的年份,估计那位朋友没有注意到,如果没有修改为正确的年份直接报错说是spam。

修正这个问题后的问题是评论不会马上出现,这个是anti spam的另外一个设置,如果评论包含两个以上的link,就会进入人工审核的队列,审核过了才会出现。

更新:查看了下设置,默认是评论者有至少一个评论通过了人工审核,也就是每个用户的第一个评论肯定要人工审核,这个是wordpress自己的设置,和anti spam的插件没有关系。现在已经修改设置了,不需要默认人工审核了,欢迎积极评论😎

Puppet运行脚本失败

puppet运行一个shell的脚本,如果是puppet的agent定期执行的,就是不成功,但是puppet agent -t运行就可以,开始以为是用户身份的问题,加了调试命令打出来的用户身份没有问题,脚本里面原来也有reboot也是不好使,但是加了sudo在前面就解决,就在那个命令前面也加了sudo,还是不好使,改成su再执行,依然不行,百思不得其解。

后来灵光一现,打印了命令行执行时的env,然后在脚本里面也把env输出了出来,通过puppet的service跑的时候果然env里面少了很多东西,仔细想想也了然,因为puppet的service的启动顺序是早于系统的那个profile的初始化的,所以很多环境变量没有被设置。

把在控制台直接跑的时候的env的结果保存下来并在脚本里面import进去再运行,果然没有问题。

这个很妖异的问题就这么解决了,命令行直接执行脚本以及puppet agent -t直接运行都没有问题,但是puppet的service自动触发的就是不行,源于service的启动早于系统的完全初始化。

隐藏Apache2的服务器信息

其实最近半年主要在搞安全方面的东西,所以把工作中的知识在这里也应用下,首先强化服务器的安全,对外提供的HTTP服务不要返回服务器太多的信息,默认情况下会返回很多信息,例如服务器的OS是什么,HTTP服务器是什么,版本,有了这个信息服务器又没有及时打安全补丁的情况下,黑客就很容易根据这些信息有针对性的对服务器的漏洞进行攻击了,所以第一步隐藏这个信息,其实原来我也搞过,不过那个是针对apache的,现在变成2了,配置文件的位置有所变化:/etc/apache2/conf-available/security.conf:

ServerTokens Prod

ServerSignature Off

顺便看到了其它的一些安全选项被注释掉了,打开注释:

Header set X-Content-Type-Options: “nosniff”

Header set X-Frame-Options: “sameorigin”

重启后报错:

AH00526: Syntax error on line 63 of /etc/apache2/conf-enabled/security.conf

Invalid command ‘Header’, perhaps misspelled or defined by a module not included in the server configuration

其实从那两个选项的说明中已经提示原因了:

#
# Setting this header will prevent other sites from embedding pages from this
# site as frames. This defends against clickjacking attacks.
# Requires mod_headers to be enabled.
#

sudo a2enmod headers

再次重启就没有问题。

BTW,那两个Header的选项分别是防MIME嗅探和钓鱼的。

更早的文章 更新的文章

© 2024 解惑

本主题由Anders Noren提供向上 ↑