3 months ago

今天有朋友介绍了python中的JIT可能,据说可以让python像C一样飞快运行

JIT语法

from numba import jit


@jit()
def func():
    pass

用Fibonacci的递归运算来验证运行效率

1.不使用JIT的情况,代码如下

import time


def getFib(n):
    if n == 1:
        return 1
    elif n == 2:
        return 2
    result = getFib(n - 1) + getFib(n - 2)
    return result


def main():
    n = 36
    t1 = time.time()
    result = getFib(n)
    print("第%d个Fibonacci数为%d,用时%.1f秒" % (n, result, time.time() - t1))


if __name__ == '__main__':
    main()

结果:第36个Fibonacci数为24157817,用时6.7秒

2.使用JIT的情况,代码如下:

import time
from numba import jit

def getFib(n):
    if n == 1:
        return 1
    elif n == 2:
        return 2
    result = getFib(n - 1) + getFib(n - 2)
    return result

@jit()
def main():
    n = 36
    t1 = time.time()
    result = getFib(n)
    print("第%d个Fibonacci数为%d,用时%.1f秒" % (n, result, time.time() - t1))


if __name__ == '__main__':
    main()

结果:第36个Fibonacci数为24157817,用时0.2秒

两相对比:JIT对代码执行效率提升效果惊人————整整提高了一个数量级

参考资料:
python的实时编译

 
4 months ago

国庆八天假,窝在家里躺尸,追了一些剧和电影
有人推荐了‘十大地产人必看电影’,追了其中六部后索然无味
发现评论区有人提到《卖房子的女人》这部日剧,先看了一下剧情介绍,没发现太多惊喜
今晚回来发现居然有电影版《卖房子的女人回来了》,一口气看完后不小心就成了三主任的迷妹 。
女主角三主任,全名三轩家万智(为了表示对三主任的尊重,一定要写上全名,严肃脸),颜值高,表情少,职业为房产中介销售人员。兴趣爱好,卖房子。口头禅,「没有我卖不出去的房子」。经常对下属使用的一个字,「GO」,且自带鼓风机效果,有一种蜜汁励志的动力。

每一次买卖,卖出的都是适合购房者的生活方式

每个小故事都充满意义:
1.临场开发房源,把808的房子卖给中国人
熟悉中国人喜欢8的特点:北京奥运会开幕式————2018年8月18日八时八分八秒
2.现场解决洁癖夫妇吹毛求疵的要求——抓住客户痛点,思维敏捷
3.拒绝一厢情愿与女儿一家同住的老头购房需求,找出他生活的痛点是孤独,卖给他一栋公寓,让老人做房东,跟租客打交到
4.拒绝经济窘迫的单亲妈妈购房需求,推荐她跟儿子租老爷子的房子————看似冷酷,实际为客户负责
5.促进一对父子关系错位的购房者,走向正常的父子关系

老实讲,房产中介这份工作或多或少有些负面形象。
在香港,房产中介据说(地产佬)和保险佬、的士佬一起并列为香港人民最不喜欢的三大职业。
在房地产市场相对低迷的日本,这份职业也并不是人们追逐的热门工作。
想想看,在一个低迷且自带负能量的行业里,零表情连眼睛都很少眨的三主任得到了所有客户、所有同事的信任和喜欢,没有一套强大的三观和执行力是不行的。
这也是我觉得三主任能够被称为职场人生导师的原因。具体来讲,三主任的三观是呢?

顺应现状也是可以解决问题的

这一点是我觉得三主任最厉害的地方。这个世界有很多社会潜规则,人们会下意识且理所应当地相信某些观点,比如「性格不同的恋人如果没有一方做出牺牲或者改变,恋情就无法持续下去」,「40岁还在家里蹲的儿子必须走出家门工作才能存活于社会」,「一直努力就会有回报」。但三主任通通不管。她用一栋房子里的不同空间,巧妙地解决了「崇尚minimalist的男生」和「怎么都舍不得扔东西的女友」之间的终极矛盾,让他们和好如初。40岁还在家里蹲的儿子,她可以充分理解,且理智地打消他父母关于他重出社会的期待。「一个20年不曾工作的四五十岁男人,就算强迫他出去他也什么都做不了,不要用你那无聊的常识和狭隘的价值观妄加评断」,简直堪称精彩。那三主任的解决方式是什么呢?她让父母卖掉现房,用这笔钱再购买两套住房,一套居住一套出租,保证儿子之后不用工作也有一定的经济来源。而在儿子居住的房间里也有室内攀岩的设施,让他能够在家锻炼,慢慢变得开朗。这位家里蹲大叔也不负众望地通过在网上连载自己「家里蹲の日常」,成了一名网红 。而对于一直无法卖出一套房,大家不停给予鼓励的白洲同事,三主任在尝试了9集之后,给出的建议是这样的,「至今为止,我见过很多新人,但是,从没见过像你这样没有学习能力的人,你不适合工作,你不可能自食其力,找个能保护你的人吧,那才是你的生存之道」。在三主任眼里,不管以什么方式活着都是有意义的。人生的事,哪里有一个标准答案呢?所以不要自以为是地用自己的价值观硬生生套在别人身上,平等地看待每一种生活方式,换个角度来顺应现状,说不定也有解决办法。不论是生活,还是工作,都是如此。

自己的三观自己carry

之前和朋友聊天发现,有的人就是自带气场,三观意见领袖,他讲什么你都觉得对。三主任也是这样的人。明明整个办公室都崇尚其乐融融的轻(偷)松(懒)氛围,三主任偏偏不配合:理直气壮地抢同事单子,毫不理会teamwork,自觉自愿加班到深夜,就算这单生意同事也有配合帮忙,她不管,直接对着科长报告「这套房子是我卖的」,也没人敢反驳。这样的三观,在大部分企业应该会成为众矢之的吧。但三主任没有,她不仅完美地carry了自己的三观,甚至影响了办公室其他人。连办公室里最爱喝闲茶偷懒的老员工也说,三主任又让他们看到了久违的日本拼搏精神。她如何办到的呢?关键就在于她能明确并坚持自己的三观,100%说到做到,用事实说话。她的目标很明确,就是卖房子。但卖房子这件事很复杂,各种影响因素层出不穷,总有一些房子是大家都认可卖不出去的。但是,三主任一个一个卖掉给大家看,看到大家自惭形秽鸦雀无声目瞪口呆心悦诚服。

目标清晰,脑洞够大,行动够拼

三主任的目标,所有人都知道:卖房子。而卖房的重点在于「洞察人心」。通过细微的观察,不同信息的收集整理,抓住客户的痛点。你能看一眼小朋友的画就知道他在想什么吗?反正三主任能!行动也是不折不扣地拼。不仅是房产中介,还要负责当保姆帮客户带小孩,扮神婆帮客户破镜重圆,当侦探帮客户抓小三,做人生导师帮客户继续梦想,当家庭协调员帮客户解决家庭纷争... 一切只为卖房,真!的!太!拼!了!

工作要有使命感

大家都不爱的房产中介工作,在三主任眼里是可以改变人生活的事业。她也确实用房子解决了父母和小孩缺乏沟通的问题,夫妻之间又爱情转换为亲情的相处问题,婆媳关系糟糕的问题,等等等等。当你看到工作中的价值,才会对它产生使命感和满足感,抱怨和不爽才会消散,工作的原始动力或许就在于此吧。

不评价别人的生活方式

看的印象最深就是业绩最差的女员工,编剧没有让她最后觉醒成为职场达人,而只是在最后让她意识到也许家庭主妇才是适合自己的。而且,整个剧都没有评判每个人的生活,各种不同的生活方式和理念都被编剧借着女主的行为予以认同,连最要求整齐划一、不求特别只求合群的日本都开始认同和思考每个人的生活方式。你所谓的真不一定是真,你所谓的错不一定是错。最开始我是很讨厌那个上班偷懒的丑女,但是从来没想过她可能只是不适合那个位置,而是一心期待她在女主的鼓励(?)下变身职业达人,直到最后一刻才发现自己想错了。另外,最让人感动还是渗透到剧里方方面面的匠人精神,让处于职业瓶颈期的我深受触动。韩剧是各种家国情怀,日剧是不停的探索灵魂深处的力量。什么时候国内也能拍点走心的剧,而不是一堆只能刷脸的小鲜肉。

参考资料:
https://www.zhihu.com/question/49020076/answer/122365844
https://v.youku.com/v_show/id_XMzc5NTUwNjg5Ng==.html?spm=a2h0k.11417342.soresults.dposter

 
4 months ago

所有的人生,都是一场投资。
你选择的人生道路,这就是投资。你选择的爱情、婚姻与家庭,这更是投资。你人生中所有选择,都是投资。
选择没有对错,有的只是风险与机会的把握。
把握的好,选错了也可及时止损,不致伤筋动骨。
把握不好,纵然选择正确,也会把一手好牌打烂。

好的投资人,一定会看五个点:

一看口碑。

遇到光彩夺目一身头衔的人,先要冷静的剥离其外在的虚妄,裸露出本质的内在。
比如说清华留学生——闪亮的是清华,跟学生无关。
如果一个人拿清华撑场子,而不是替清华挣面子……他的实力究竟如何,你自己琢磨吧。

二看投入。

人生投入有个法则,叫10倍法则。
啥意思涅?
人生任何事情,实际的投入及时间,都是你估算总量的10倍。
把你的项目预算乘以10,可能就接近于真实预算了。

三看陷阱。

我有个盆友金俊峰,是个靠谱投资人。当他与人谈项目时,会问对方:告诉我坑在哪里?
坑?对方一般会吱唔:我的项目木有坑。
是地就不平,是路就有坑。如果你不知道坑在哪里,一定是你没想明白。
记好这句话:没有风险,就没有收益。如果你不知道坑在哪里,一定是你没想明白。

四找出口。

你进入一个房间,至少要知道从哪出去。
如果有人劝你投资,一定先要知道钱的出口在哪里。
就是你的钱,随时可以退出来。
如果退不出来……那就再多想想吧。

五设止损点。

任何投入,必须先设止损点。
设好止损点,如果接近止损点三分之一,就要拉响警报。接近止损点三分之二,那就赶紧收手。
如果等到了止损点你再决定,时间的滞后效应,会把你全部身家卷进去。

参考资料:
老雾:被骗750万背后的故事

 
4 months ago

看到了一篇讲述公司开始衰落的文章,结合以往东家的做法,做一些印证

有些衰乱迹象,太明显了,正常人都能看出来,比如:
工资奖金发不出了(很多小伙伴提了);外企倒没有
高管离职了(ofo最近走了不少)的确有技术总监被排挤
供应商来堵门了(乐视);截止到今天,前东家在杭州事业部当时还是盈利的
不招新人,开始裁员了(还是乐视);近两年人员流动率30%
不择手段省钱了(砍福利,砍培训);培训费没了,年会、家庭日无法保证,旅游经费据说奋力保住
老板两面三刀说瞎话欺骗员工… 17年初外派待遇被领导骗

另外一些暗潮汹涌,需要留意

销售导向,成本控制

频繁更换中层,换上去的新领导,都是能在短期内销售业绩最好的,但业绩好不等于善于管理。
2014年PACN更换了据说成本管控经验丰富的老板,15年公司销售下滑,中层开始频频开会、调整架构,cost down成为公司主旋律
17年总部打破惯例,总经理和厂长没有连任,也没有空降,公司负责销售都副厂长——中国人——直接上位,打破了以往都诸多管理,他们终于开始以华制华了
国人厂长以GDP为己任,倒逼我们技术部门承接了许多过去不可能承接都订单,从技术人员角度出发,我觉得很好

狼性文化,粉墨登场

搞“狼性文化”的公司不少见,但如果原本文化相对宽松人性的企业,突然要转狼性,就很可疑了。
很多所谓的“狼性”——主动加班不要钱,冷看同事遭遇不合理待遇,唯领导马首是瞻——根本和狼没半毛钱关系,这是哈士奇文化好不好
很多时候,搞“狼性文化”不是因为有用,而是因为公司失去了方向,陷入了困境。
在一个号称可以养老都外企,还没有遇到这样都情况

不能折腾事的时候,就开始折腾人了

很不幸,从我进入PACN第一天,就困惑于这样都境况
当你想做事的时候,总有人拿流程、权限来作为自己不作为以及逃避风险都借口
见到很多利用规则、善用规则混的风生水起都人
对于这些,我只想说:我们是勤劳机智都中国人好么,没有什么流程权限能难倒我们。同时对那些人比一个中指

参考资料:
哪些迹象告诉我们,公司可能不行了

 
4 months ago

REITs是什么

它是一种基金:用基金地钱跟别人‘借’一套房子,在这段’借‘的时间内拥有这套房子的租金于房价上涨
实际操作中,是不可能借的,REITs出了钱,必须把房子产权变更到REITs名下,等到基金到期,再把房子卖给别人

关键问题来了:这里短期有两次买卖。房子卖了两次,就需要缴两次交易税。
如果房价暴涨,缴两次税当然没问题;但是房价不总是暴涨,缴两次税,盈利空间就没了

如何解决双重征税

美国REITs很发达,因为他们修改了法律,让REITs运行过程中的两次变更,只需缴一次税
中国政府只是口头鼓励,没有修改法律,但这自然难不倒勤劳勇敢的中国人民
我们把房地产设计成一家公司的股权,股权控制再REITs手中,这样就巧妙避开了双重征税问题
所以我们的REITs只能叫‘类REITs’,具有鲜明的中国特色社会主义

我们国家搞REITs还是太早了

REITs跟短线炒房的主要区别在于:REITs更追求租金收益,顺便赚点儿房价上涨的钱
短线炒房主要追求房价上涨收益,租金多少无所谓,甚至连租不出去都无所谓
纵观世界各国的REITs发展史:都是再房地产进入到稳固状态后才认真搞REITs的
中国的城镇化率刚刚达到60%,远低于日本的90%。根据日本经验:城镇化率从70%开始,基建速度才开始放缓
如果中国的房地产确实存在周期,那就是层层上涨。不管如何调控,如何崩盘,房价都是螺旋上升,无法回到之前都价格
总之一句话:在房价持续上涨的时期,你让我拿稳房子去收房租,你以为我傻么

洗洗睡吧,国家鼓励的REITs跟老百姓没什么关系

近一年来,国家仿佛开始鼓励REITs了,也发布了一些政策文件,其实没什么卵用,只是政治正确的‘长效措施’而已,解不了近渴
我一直觉得:想要认清一个人,不要看他说了什么,而要看他做了什么
只是高喊REITs口号,没有从法律层面解决双重征税问题,都是刷流氓
就如同当年高层高喊‘双创’,地方政府趁机发展各种产业园————去工业地产的库存————最后都是不明真相的中产阶级买单
现阶段REITs就是国家允许机构用体面的金融创新方式温柔地获得房屋升值的收益
大boss已经说了‘房住不炒’,但是该赚的钱还是要赚,于是管理处提供了一个合法的渠道
说句难听的:现在去玩REITs,假装做点儿租赁,反而是最赚钱的,因为房价还会涨
那种认真做租赁的REITs,赚不了太多钱,因为租赁市场还很不成熟,长租机构运营的投入与产出不成正比
租金稍微贵一点儿,舆论就要骂娘,前段时间的爆文“资本顶上租房要吸干年轻人的血”引起无数人的热议与共鸣
我们来看一下,如果你要认真做租赁,实际的收入情况————来自业内人士权威统计

按现行税收算,收100元租金:需要缴纳5.5%的营业税和12%的房产税,之后还要缴纳25%的所得税,只剩60多元了
这样算来,分红比例只有60%。国际上一般REITs分红比例超过90%
因此在相关免税政策没有出台之前,REITs很难得到规模化发展

REITs要求的资金回报率在7%-8%,而国内房产租金回报率能到4%已经算是优质地产了,房产租赁由此可见一斑

整个市场对租赁并不友好,而房价还会持续上涨,傻子也知道该怎么做了
所以说,年轻人,早点儿成为房奴是好事,整个人找工作找女友的底气有了,事业心责任心也更强了
记住:房子六套以下,都是刚需

参考资料:
刘德科:《直白地秒懂REITs》
罗旭,程远,田际坦:《房地产投资信托整合中国楼市与股市》

中国改革论坛:日本城镇化经验——城镇化率突破70%后基建投资才放缓
环球网:日本城镇化率超九成 远超东亚地区平均水平
新华社:2017年末中国城镇化率升至58.52%
资本盯上租房,要吸干年轻人的血
房子六套以下,都是刚需

 
4 months ago

程序员不小心删库然后‘被跑路’的新闻每隔几个月都要爆出来一次
原因是各式各样五花八门:看错库,看错生产环境,甚至还有前员工泄私愤故意为之
仿佛删库是在所难免的事情,就连数据库专业书籍也被人恶搞


如何有效避免‘被跑路’,我觉得应该从公司管理层面和个人层面解决

公司管理层面:权限,权限,权限

  • 严格管理工程师账号权限:每人的权限仅与工作相关,不应赋予超越工作范围的权限
  • 开发数据库和线上数据库分离
  • 与设置专门DB岗位,线上数据库只允许查,改的话要有审批流程
  • 做好权限回收:及时清理临时账号和离职员工账号
  • 线上数据库管理权限(一般指修改表结构权限与删表权限)禁止回收,也不提供给业务直接用
  • 公司清理数据库要有下线流程。下线一定要走流程。宁愿多租几天机房也不要丢掉数据

个人层面

  • 数据是公司重要资产,即便清理无效数据也尽量使用逻辑删除而非物理删除
  • 坚守自己的岗位职责:删库的事情还是交给DB吧
  • 重定向 rm 命令:嫁接为 mv 命令

下面详细介绍重定向rm命令


将上述脚本写入 /etc/bashrc,并立即执行命令 source /etc/bashrc 即刻生效

这个脚本定义了几个命令:

  • rl:查看回收站下的文件;
  • unrm 文件名或目录:恢复到当前的路径下;
  • rmtrash:清空回收站,不过会友好提示。

执行 rm 不会真正删除,而是使用 mv 移动到我们指定的回收站。实在真的想删除可以 /bin/rm 来进行删除。另外,需要注意的时,之前 rm 指令的一些参数可能不再使用,因为 rm 现在其实是 mv 了。

使用示例:

什么?你说自己就是DB!那只好放大招了
  • 不要走神。不听歌,不聊天,不吃东西,不喝饮料,头脑清醒,知道自己在做什么,要做什么。
  • 写出步骤。连接到哪个数据库,ip是什么,运行什么命令,先做什么,后做什么,出了问题怎么roll back,我知道你都懂,但要写出来,不要相信自己的记忆。
  • 在测试环境验证。拿来写好的步骤,在测试环境中跑一遍,一半以上的可能会发现问题,然后再修改步骤,不要直接在产品环境中跑。
  • delete 和 update 前,先查询,用同样的 where 语句 select,至少知道有多少记录会被影响到。
  • drop 和 truncate 之前,检查三遍,连接的是不是正确的数据库。
  • 一次只连接一个DB,不要开几个窗口,有的连测试,有的连产品,或早或晚,你会出错。
  • 备份,备份,备份——冷备,热备,异地容灾——不遇到是无用功,遇到了没有,等死吧

参考资料:
程序员如何优雅地防止从删库到跑路
顺丰删库跑路事件后,你必须掌握的 8 大对策!

 
4 months ago

洪蜀宁何其人

提到国内数字货币的早期布道者,大名鼎鼎的有“比特币首富”李笑来,巴比特创始人长铗(jia)

在2013年,长铗等准备写一本书向国内大众普及比特币知识的时候,蓦然发现早在2011年11月份就有体制内高人——时任中国人民银行南京分行研究员洪蜀宁在《中国信用卡》杂志上发表题为《比特币:一种新型货币对金融体系的挑战》的文章并对政府提出了在今天看来依然超前的三点建议:

1.政府和中央银行应正视比特币的存在,主动出击,动用国家巨大的计算能力,抑制私人挖掘的动力,将绝大多数比特币集中在国家手中。

2.研究成立比特币银行,在比特币交易中推行中间机构,以消除其匿名性,使其可以被监管。

3.国际联合发行比特币本位的信用货币,从而促进非主权货币体系的建立。通过这种新型的国际结算货币来挑战美元霸权地位,使国际金融体系更加和谐、稳定。

当我在2018年初看到7年前这篇文章时(彼时比特币刚刚从两万美金的神坛跌落不久),顿觉这位洪蜀宁同志惊为天人,不得不佩服体制内果然有高人,洪蜀宁的特殊身份使得我非常佩服人民银行研究的前瞻性。印象中人民银行从15年开始,每年都会在公开场合表示要发行数字货币,原来他们早在比特币诞生之初就开始关注了。

很遗憾的是这篇文章纯属洪蜀宁的个人兴趣,想象中引起央行和政府的重视也并没有出现。真实的情况是,当时很少人能看懂,文章发出后并没有什么音信。洪蜀宁本人当时也有其他工作,就没有再继续过多关注。

公开资料无法找到洪蜀宁的履历,以下内容摘自2018年巴比特与洪蜀宁本人的采访记录。

  • 92年从清华大学计算机科学与技术系毕业,一直做软件开发方面的工作。
  • 很快就到了人民银行,先是做了几年的银行IT系统,04年05年的时候转到支付清算。
  • 在11年年初的时候,在互联网上无意中看到了比特币的介绍,出于个人兴趣和职业敏感性花了大概几个月的时间,仔仔细细的把比特币彻底研究了一下,觉得这个东西可以为我所用。 所以写了一篇工作论文,给央行提了三个建议。还有一个背景,当时的央行行长周小川提出应创造可保币值稳定的超主权国际储备货币,用以对抗美元霸权。比特币天生就是用来对抗美元霸权的,又是一个非主权货币。 所以我就站在这个角度写了那篇文章。
  • 2013年12月,中国人民银行等五部委发布《关于防范比特币风险的通知》认为:比特币是一种特定的虚拟商品,不具有与货币等同的法律地位。洪蜀宁认为比特币就是货币,由于当时央行员工身份,就没有再公开发声谈论比特币,不过他个人还是在继续关注比特币和区块链社区进展。
  • 到了2017年的时候,区块链开始热起来了,人民银行也成立了数字货币研究所,但他认为人民银行本身是中心化的,做区块链很难有前途。正好当时苏宁金融想利用区块链做一些应用,于是他就跳槽到了苏宁金融,创建了苏宁金融区块链实验室,完成了苏宁银行区块链国内信用证信息传输系统和苏宁金融区块链黑名单共享平台两个项目的落地。
  • 2018年6月,来到上海金丘,金丘2015年开始探索区块链,也做了十多个联盟链的项目,遇到了和他在苏宁的时候同样的问题:联盟链项目几乎不能落地。所以他加入到金丘成立区块链研究院,就是要想办法解决这些问题,如何让区块链为中小企业服务,怎样把区块链技术能够应用到实体经济当中。

区块链的核心应用是密码货币

洪蜀宁离开央行后,从事的都是联盟链项目,深感联盟链由于缺少数字货币的激励,推广非常困难
从全国乃至全球来看,联盟链项目的推动都是非常的困难。能够成功落地的项目无外乎两种情况:

  • 一种是大型企业在生态内部可控范围内,使用区块链打通上下游。
  • 另一种是有一个强有力的机构通过行政化手段强行推动,比如政府。 像比特币完全靠社区来推动的成功的案例,还没见到过,之前有个R3联盟,目前看来也是失败了。

尽管联盟链在落地过程中存在难点,但银行业对区块链的热情看起来很高涨

除了很小的农商行以外,几乎所有的大中型银行基本上都在区块链上有所尝试,
POC的项目涵盖了从清结算到供应链金融,贸易金融,征信,票据等场景。
因为金融业是一个中介,一定是多方合作。区块链是解决信任问题的。
银行自身的可信度相对较高,但是在某些情况下,银行希望自己能够证明自己更加可信,所以银行有动力去使用区块链去。

  区块链+,目前不是一个很适当的时机

之前出现过的互联网+,其实没有太多成功的案例,成功的都是纯互联网企业,
传统企业通过互联网改造成功的,苏宁算一个,但是苏宁到现在也不是一家互联网企业。

区块链+,利用区块链改变企业的商业模式,管理模式,甚至一些管理思路,这个难度非常之高。

改造现有的行业,不是最好的思路,更好的做法应该是用区块链创造出一个新的场景或者新的行业出来。
类似于支付宝,在它诞生之前,我们谁也想象不到会有这么一个东西。
未来区块链也会产生一个像支付宝一样所有人都没想到的东西,这才是区块链应该去做的事情, 我个人称之为“区块链X(乘)”。

数字货币是货币,可以作为外币来管理

货币:法币(纸币),黄金

仅仅是承认一下它是货币,而且它对人民币不会造成任何冲击。

这样监管的好处是:第一,不改变现有的法律法规;第二,对现有的金融稳定不会造成影响;第三,又能鼓励创新。

密码货币的使用场景其实是有限的,它不可能像法币一样应到生活的方方面面。
比如比特币的使用场景,实际上就两个:一个就是匿名的支付需求,第二个就是跨境支付。
这种需求的体量相对于整个人民币体系来说,完全可以忽略不计。

去中心化不是反政府

很多人在认识上存在一种误区,认为去中心化就是要反政府了,其实并不是这样。
去中心化,其实是保留了现有的中心,只不过现有的中心机构没有一个能够控制整个系统,
就像联合国,大家联合起来开会讨论达成共识。
去中心化,不是把中心去没了,而是削减中心的权力,让中心互相制衡。

去中心化,反应到现实就是去中介化,通过应用区块链技术可以将商品和服务的生产者和消费者直接连接到一起,
无需中介机构和中间组织的介入,从而减少信息不透明性、提高业务效率、降低成本、减少风险。

稳定币是伪需求

首先,真正的稳定币是做不出来的(与其锚定美元、房产、股票,不如直接拿比特币作为稳定币)
第二,现在所有的稳定货币的解决方案都是中心化的。
有些虽然采用了智能合约,或者有些通过智能合约做一些监管,但是都离不开oracle,
因为它需要和外部世界打通,要稳定就必须和外部世界打通。

目前来看,所有的稳定币的解决方案都规避不了中心化这个问题。
既然我要用中心化的稳定币,莫不如就用法币。
但是区块链上的法定数字货币,又是一个伪命题。因为法定数字货币它是不会用区块链去实现的,
因为区块链这种去中心化的技术,它的效率一定很差,成本一定很高。所以做中心化的系统一定比不上传统的技术。

区块链技术目前情况

区块链技术目前还处于非常早期的阶段,公链基础设施还很不完善,无法满足绝大多数业务的需求
预计1-2年内会有较为成熟的公链出现,之后才会出现“杀手级”应用,3-5年左右会迎来第一轮区块链应用热潮。

洪蜀宁的关注点

  • 利用密码货币的激励机制来打通实体经济
  • 目前区块链技术遇到了不可能三角,走向两个极端,一种解决方案就是像比特币,过于强调的去中心化,在可扩展性或者性能方面无法满足需求。另外一种是以EOS为代表的,过于强强调性能,完全放弃了去中心化。 我觉得,这两个极端是不可取的。所以我也在思考怎样用新的技术达到一种平衡,在保证安全性和去中心化的情况下,尽可能的提高性能。没必要达到百万TPS,对于绝大多数场景来说,有个几千的TPS就足够应用了。

2018年初预言未来比特币40万美金一枚

洪蜀宁认为比特币是未来互联网的主流货币,他讲比特币与黄金进行类比,预测未来比特币将达到黄金的同等地位,有理有据得出预言
同时宣传自己不炒币(言外之意他一定在屯币)

参考资料:
比特币:一种新型货币对金融体系的挑战
比特币:一个虚幻而真实的金融世界
洪蜀宁:加密货币应作为外币监管 法定数字货币等是伪需求
比特币真的会成为未来货币吗?
上市公司扎堆区块链,绝大多数是“伪项目”
何玺对话苏宁金融洪蜀宁:区块链是颠覆性技术,意义远超互联网

 
4 months ago

中国的儒家教育是春秋笔法的隐恶扬善教育:告诉学生的都是理想的模式是什么样子,为什么说这是理想的等等。
教的那一套与实际情形相去甚远。
也就是说,一个满脑子教条和理想的书生,就是这种制度所能提供的最好的管理者。
这不过是一个有德无能的最高管理者,而更大的可能是碰上一个无德又无能的管理者,一个既缺乏理想又没有头脑的败家子。
这两种人都缺乏管理国家的能力,很需要一些助手协助他处理现实的复杂问题。
因此那些没有编制却能解决实际问题的临时工————吏————在维持封建官僚体系中起到举足轻重的作用

儒家蔑视任何民生技能蔑视任何形式的劳动,在所有学派中独获“四体不勤,五谷不分”之殊荣。
见诸政治实践,入仕多居“清要”之职,对需要专业技能的领域涉足极少,譬如兵事譬如工程譬如经济等等等等。
喜欢做官,却不喜欢做事,尤其不喜欢做那种既辛苦又专业的苦差事,美其名曰‘君子远庖厨’,‘万般皆下品,唯有读书高’。
由此造成中国古代科技先天性缺失:勤劳智慧的中国人虽然有四大发明,却并没有转化成实际生产力
这正是科技创新基因缺失的后果
执著处,只在专一的扫天下而不扫庭院,只在专一的坐而论道,最热衷于担当道德评判角色。
此风流播后世,便有了一班“清流”儒家文人以做官不做事为名士作派,终日玄谈,在职酗酒,观赏性事,竞赛颓废,其作为直比当时腐败的社会更腐败,实在令人齿冷。这正是传说中的‘尸位素餐’。

儒家垃圾文人迂阔处,还在于言论多大而无当
此风在原生态时期以孟子为甚,雄辩滔滔云山雾罩,似乎有着某种精神指向,却不知究竟要你做甚。
“笔下空有千言,胸中实无一策”之评,可谓传神。
凡此种种迂阔处,若仅仅是个人作派,自是无可无不可。
然则,儒家文人将这种迂阔带进了庙堂官署,带进了学堂书房,不敬业,不成事,不务实学,不通民生,酿成官场流风,酿成治学恶习,且沾沾自喜不以为非,实在教人不敢恭维。
导致中国原生多元文明的骨质流散。

参考资料:
吴思《潜规则》
孙皓晖《强势生存————中国原生文明的核心力量》

 
4 months ago

默认情况下,Python中的成员函数和成员变量都是公开的(public)
在python中没有类似public,private等关键词来修饰成员函数和成员变量。
在python中定义私有变量只需要在变量名或函数名前加上 __两个下划线,那么这个函数或变量就是私有的了。

在内部,python使用一种 name mangling 技术,将 __membername替换成 _classname__membername
也就是说,类的内部定义中,所有以双下划线开始的名字都被"翻译"成前面加上单下划线和类名的形式。
例如:为了保证不能在class之外访问私有变量,
Python会在类的内部自动的把我们定义的__spam私有变量的名字替换成为_classname__spam
(注意,classname前面是一个下划线,spam前是两个下划线)
因此,用户在外部访问__spam的时候就会提示找不到相应的变量

python中的私有变量和私有方法仍然是可以访问的,访问方法如下:
私有变量:实例._类名__变量名
私有方法:实例._类名__方法名()

其实,Python并没有真正的私有化支持,但可用下划线得到伪私有。
尽量避免定义以下划线开头的变量!
(1)_xxx "单下划线 " 开始的成员变量叫做保护变量,意思是只有类实例和子类实例能访问到这些变量,
需通过类提供的接口进行访问;不能用from module import *导入
(2)__xxx 类中的私有变量/方法名 (Python的函数也是对象,所以成员方法称为成员变量也行得通。),
" 双下划线 " 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。
(3)__xxx__ 系统定义名字,前后均有一个“双下划线” 代表python里特殊方法专用的标识,如 __init__()代表类的构造函数。

下面我们看几个例子:

【1】

class A(object):
    def __init__(self):
        self.__data=[]  #翻译成 self._A__data=[]
    def add(self,item):
        self.__data.append(item) #翻译成 self._A__data.append(item)
    def printData(self):
        print self.__data  #翻译成 self._A__data
   
a=A()
a.add('hello')
a.add('python')
a.printData()
#print a.__data  #外界不能访问私有变量 AttributeError: 'A' object has no attribute '__data'
print a._A__data #通过这种方式,在外面也能够访问“私有”变量;这一点在调试中是比较有用的!

运行结果是:

['hello', 'python']
['hello', 'python']

【2】
获取实例的所有属性 print a.__dict__
获取实例的所有属性和方法 print dir(a)

class A():
    def __init__(self):
        self.__name='python' #私有变量,翻译成 self._A__name='python'
    def __say(self): #私有方法,翻译成 def _A__say(self)
        print self.__name #翻译成 self._A__name
    
a=A()
#print a.__name #访问私有属性,报错!AttributeError: A instance has no attribute '__name'
print a.__dict__ #查询出实例a的属性的集合
print a._A__name #这样,就可以访问私有变量了
#a.__say()#调用私有方法,报错。AttributeError: A instance has no attribute '__say'
print dir(a)#获取实例的所有属性和方法
a._A__say() #这样,就可以调用私有方法了

运行结果:

{'_A__name': 'python'}
python
['_A__name', '_A__say', '__doc__', '__init__', '__module__']
python

从上面看来,python还是非常的灵活,它的oop没有做到真正的不能访问,只是一种约定让大家去遵守
比如大家都用self来代表类里的当前对象,其实,我们也可以用其它的,只是大家习惯了用self

【3】小漏洞:派生类和基类取相同的名字就可以使用基类的私有变量

class A():
    def __init__(self):
        self.__name='python' #翻译成self._A__name='python'
    
class B(A):
    def func(self):
        print self.__name #翻译成print self._B__name
 
instance=B()
#instance.func()#报错:AttributeError: B instance has no attribute '_B__name'
print instance.__dict__
print instance._A__name

运行结果:

{'_A__name': 'python'}
python
class A():
    def __init__(self):
        self.__name='python' #翻译成self._A__name='python'
    
class A(A): #派生类和基类取相同的名字就可以使用基类的私有变量。
    def func(self):
        print self.__name #翻译成print self._A__name
 
instance=A()
instance.func()

运行结果:

python

参考资料:
https://blog.csdn.net/sxingming/article/details/52875125

 
4 months ago

一、为什么要使程序在后台执行

我们计算的程序都是周期很长的,通常要几个小时甚至一个星期。我们用的环境是用putty远程连接到日本Linux服务器。所以使程序在后台跑有以下三个好处:

1.我们这边是否关机不影响日本那边的程序运行。(不会像以前那样,我们这网络一断开,或一关机,程序就断掉或找不到数据,跑了几天的程序只能重头再来,很是烦恼)

2.不影响计算效率

3.让程序在后台跑后,不会占据终端,我们可以用终端做别的事情。

二、怎么样使程序在后台执行

方法有很多,这里主要列举两种。假如我们有程序pso.cpp,通过编译后产生可执行文件pso,我们要使pso在linux服务器后台执行。当客户端关机后重新登入服务器后继续查看本来在终端输出的运行结果。(假设操作都在当前目录下)

方法1在终端输入命令:

./pso > pso.file 2>&1 & 

解释:将pso直接放在后台运行,并把终端输出存放在当前目录下的pso.file文件中。

当客户端关机后重新登陆服务器后,直接查看pso.file文件就可看执行结果(命令:cat pso.file )。

方法2在终端输入命令:

nohup  ./pso > pso.file 2>&1 &

解释:nohup就是不挂起的意思,将pso直接放在后台运行,并把终端输出存放在当前

目录下的pso.file文件中。当客户端关机后重新登陆服务器后,直接查看pso.file

文件就可看执行结果(命令:cat pso.file )。

三、常用任务管理命令

jobs //查看任务,返回任务编号n和进程号

bg %n //将编号为n的任务转后台运行

fg %n //将编号为n的任务转前台运行

ctrl+z //挂起当前任务

ctrl+c //结束当前任务

注:如果要使在前天执行任务放到后台运行,则先要用ctrl+z挂起该任务,然后用bg使之后台执行。

附:

在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可
实际上,这样是将命令放入到一个作业队列中了:

$ ./test.sh & 
[1] 17208  
$ jobs -l 
[1]+ 17208 Running                 ./test.sh & 

对于已经在前台执行的命令,也可以重新放到后台执行
首先按ctrl+z暂停已经运行的进程,然后使用bg命令将停止的作业放到后台运行:

$ ./test.sh 
[1]+  Stopped                 ./test.sh  
$ bg %1 [1]+ ./test.sh &  
$ jobs -l 
[1]+ 22794 Running                 ./test.sh & 

但是如上方到后台执行的进程,其父进程还是当前终端shell的进程
而一旦父进程退出,则会发送hangup信号给所有子进程,子进程收到hangup以后也会退出。
如果我们要在退出shell的时候继续运行进程,则需要使用nohup忽略hangup信号,或者setsid将将父进程设为init进程(进程号为1)

$ echo $$ 
21734  
$ nohup ./test.sh & 
[1] 29016  
$ ps -ef | grep test 
515      29710 21734  0 11:47 pts/12   00:00:00 /bin/sh ./test.sh 
515      29713 21734  0 11:47 pts/12   00:00:00 grep test 
$ setsid ./test.sh & 
[1] 409  
$ ps -ef | grep test 
515        410     1  0 11:49 ?        00:00:00 /bin/sh ./test.sh 
515        413 21734  0 11:49 pts/12   00:00:00 grep test 

上面的试验演示了使用nohup/setsid加上&使进程在后台运行,同时不受当前shell退出的影响。
那么对于已经在后台运行的进程,该怎么办呢?可以使用disown命令:

$ ./test.sh & 
[1] 2539  
$ jobs -l 
[1]+  2539 Running                 ./test.sh &  
$ disown -h %1  
$ ps -ef | grep test 
515        410     1  0 11:49 ?        00:00:00 /bin/sh ./test.sh 
515       2542 21734  0 11:52 pts/12   00:00:00 grep test 

另外还有一种方法,即使将进程在一个subshell中执行,其实这和setsid异曲同工。
方法很简单,将命令用括号() 括起来即可:

$ (./test.sh &)  
$ ps -ef | grep test 
515        410     1  0 11:49 ?        00:00:00 /bin/sh ./test.sh 
515      12483 21734  0 11:59 pts/12   00:00:00 grep test 

注:本文试验环境为Red Hat Enterprise Linux AS release 4 (Nahant Update 5),shell为/bin/bash
不同的OS和shell可能命令有些不一样。
例如AIX的ksh,没有disown,但是可以使用nohup -p PID来获得disown同样的效果。

还有一种更加强大的方式是使用screen
首先创建一个断开模式的虚拟终端,然后用-r选项重新连接这个虚拟终端,在其中执行的任何命令,都能达到nohup的效果
这在有多个命令需要在后台连续执行的时候比较方便:

$ screen -dmS screen_test  
$ screen -list There is a screen on:
              27963.screen_test       (Detached) 1 Socket in /tmp/uscreens/S-jiangfeng.  
$ screen -r screen_test 

参考资料:
http://www.cnblogs.com/lwm-1988/archive/2011/08/20/2147299.html
https://www.cnblogs.com/zhming26/p/6089928.html