mac os x python安装matplotlib 库 出错: Operation not permitted

使用pip安装: sudo pip install matplotlib
Password:
The directory '/Users/rocky/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/rocky/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Requirement already satisfied: matplotlib in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
Requirement already satisfied: numpy>=1.5 in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from matplotlib)
Requirement already satisfied: python-dateutil in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from matplotlib)
Collecting tornado (from matplotlib)
Downloading tornado-4.4.3.tar.gz (463kB)
100% |████████████████████████████████| 471kB 84kB/s
Requirement already satisfied: pyparsing>=1.5.6 in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from matplotlib)
Collecting nose (from matplotlib)
Downloading nose-1.3.7-py2-none-any.whl (154kB)
100% |████████████████████████████████| 163kB 75kB/s
Collecting singledispatch (from tornado->matplotlib)
Downloading singledispatch-3.4.0.3-py2.py3-none-any.whl
Collecting certifi (from tornado->matplotlib)
Downloading certifi-2017.1.23-py2.py3-none-any.whl (382kB)
100% |████████████████████████████████| 389kB 105kB/s
Collecting backports_abc>=0.4 (from tornado->matplotlib)
Downloading backports_abc-0.5-py2.py3-none-any.whl
Requirement already satisfied: six in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from singledispatch->tornado->matplotlib)
Installing collected packages: singledispatch, certifi, backports-abc, tornado, nose
Running setup.py install for tornado ... done
Exception:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 784, in install
**kwargs
File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/Library/Python/2.7/site-packages/pip/wheel.py", line 377, in move_wheel_files
clobber(source, dest, False, fixer=fixer, filter=filter)
File "/Library/Python/2.7/site-packages/pip/wheel.py", line 316, in clobber
ensure_dir(destdir)
File "/Library/Python/2.7/site-packages/pip/utils/__init__.py", line 83, in ensure_dir
os.makedirs(path)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 150, in makedirs
makedirs(head, mode)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 1] Operation not permitted: '/System/Library/Frameworks/Python.framework/Versions/2.7/man'
 
分析了原因后,以为权限不够,所以就把这个目录:
/Users/rocky/Library/Caches/pip/
做了提权: sudo /Users/rocky/Library/Caches/pip/
然后重新运行sudo pip install matplotlib
然后没有上面提示的错误。 然后在主程序中继续运行,结果还是出现:matplotlib模块没找到。
 
删除后重装,问题依然存在。
 
于是尝试用easy_install 安装, sudo easy_install matplotlib
 
等待了大概10多分钟,居然安装成功了。 因为下载的服务器比较慢,所以等待的时间就有点长了。
 
继续阅读 »
使用pip安装: sudo pip install matplotlib
Password:
The directory '/Users/rocky/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/rocky/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Requirement already satisfied: matplotlib in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
Requirement already satisfied: numpy>=1.5 in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from matplotlib)
Requirement already satisfied: python-dateutil in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from matplotlib)
Collecting tornado (from matplotlib)
Downloading tornado-4.4.3.tar.gz (463kB)
100% |████████████████████████████████| 471kB 84kB/s
Requirement already satisfied: pyparsing>=1.5.6 in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from matplotlib)
Collecting nose (from matplotlib)
Downloading nose-1.3.7-py2-none-any.whl (154kB)
100% |████████████████████████████████| 163kB 75kB/s
Collecting singledispatch (from tornado->matplotlib)
Downloading singledispatch-3.4.0.3-py2.py3-none-any.whl
Collecting certifi (from tornado->matplotlib)
Downloading certifi-2017.1.23-py2.py3-none-any.whl (382kB)
100% |████████████████████████████████| 389kB 105kB/s
Collecting backports_abc>=0.4 (from tornado->matplotlib)
Downloading backports_abc-0.5-py2.py3-none-any.whl
Requirement already satisfied: six in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from singledispatch->tornado->matplotlib)
Installing collected packages: singledispatch, certifi, backports-abc, tornado, nose
Running setup.py install for tornado ... done
Exception:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 784, in install
**kwargs
File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/Library/Python/2.7/site-packages/pip/wheel.py", line 377, in move_wheel_files
clobber(source, dest, False, fixer=fixer, filter=filter)
File "/Library/Python/2.7/site-packages/pip/wheel.py", line 316, in clobber
ensure_dir(destdir)
File "/Library/Python/2.7/site-packages/pip/utils/__init__.py", line 83, in ensure_dir
os.makedirs(path)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 150, in makedirs
makedirs(head, mode)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 1] Operation not permitted: '/System/Library/Frameworks/Python.framework/Versions/2.7/man'
 
分析了原因后,以为权限不够,所以就把这个目录:
/Users/rocky/Library/Caches/pip/
做了提权: sudo /Users/rocky/Library/Caches/pip/
然后重新运行sudo pip install matplotlib
然后没有上面提示的错误。 然后在主程序中继续运行,结果还是出现:matplotlib模块没找到。
 
删除后重装,问题依然存在。
 
于是尝试用easy_install 安装, sudo easy_install matplotlib
 
等待了大概10多分钟,居然安装成功了。 因为下载的服务器比较慢,所以等待的时间就有点长了。
  收起阅读 »

mac 在同一个程序的多个实例窗口切换 快捷键

比如我打开了多个word,或者同时几个QQ在聊天,如果按cmmand+tab是不会在几个word或者QQ中切换的。
 
这个时候怎么按快捷键 切换同一个程序中多个窗口呢?
 
可以试试 同时4个手指往上划,这个时候回显示所有的窗口,你用鼠标点中你要选择的窗口就可以了。 (虽然还是没有windows直接可以可以alt+tab直接切换那么好使)
继续阅读 »
比如我打开了多个word,或者同时几个QQ在聊天,如果按cmmand+tab是不会在几个word或者QQ中切换的。
 
这个时候怎么按快捷键 切换同一个程序中多个窗口呢?
 
可以试试 同时4个手指往上划,这个时候回显示所有的窗口,你用鼠标点中你要选择的窗口就可以了。 (虽然还是没有windows直接可以可以alt+tab直接切换那么好使) 收起阅读 »

Dataframe的数据print输出 显示为...省略号

例如:
    def get_achievement(self):
fc=ts.forecast_data(2016,4)
print fc
 
上面这个简单的代码意思是获取已经发布的2016年第4季度的业绩预告的上市公司。
 
默认输出的结果是:

pandas省略号.PNG

 
 
中间多了个省略号,就是中间若干的数据因为太多而没有被显示。 那么要怎样才能正常显示所有数据呢???
 
查看了pandas的官方文档。
 

max_row.PNG

 
 
pandas.set_option() 可以设置pandas相关的参数,从而改变默认参数。 打印pandas数据事,默认是输出100行,多的话会输出....省略号。
 
那么可以添加: pandas.set_option('display.max_rows',None)
这样就可以显示全部数据:
 
    def get_achievement(self):

fc=ts.forecast_data(2016,4)
pandas.set_option('display.max_rows',None)
print fc

 
继续阅读 »
例如:
    def get_achievement(self):
fc=ts.forecast_data(2016,4)
print fc
 
上面这个简单的代码意思是获取已经发布的2016年第4季度的业绩预告的上市公司。
 
默认输出的结果是:

pandas省略号.PNG

 
 
中间多了个省略号,就是中间若干的数据因为太多而没有被显示。 那么要怎样才能正常显示所有数据呢???
 
查看了pandas的官方文档。
 

max_row.PNG

 
 
pandas.set_option() 可以设置pandas相关的参数,从而改变默认参数。 打印pandas数据事,默认是输出100行,多的话会输出....省略号。
 
那么可以添加: pandas.set_option('display.max_rows',None)
这样就可以显示全部数据:
 
    def get_achievement(self):

fc=ts.forecast_data(2016,4)
pandas.set_option('display.max_rows',None)
print fc

  收起阅读 »

在英伟达 神盾tv shield TV 游戏盒子上用手柄玩王者荣耀?

最近不少人都在玩王者荣耀这个游戏。 而且部分发烧友希望在55寸甚至更大的尺寸的屏幕上畅玩这个游戏。
 
对于游戏性能,目前最强悍的莫过于英伟达的shield TV , 中文翻译暂且叫做神盾tv吧, 有pro版和非pro版。 在操作上区别不大。
 
如果你在小米电视上打算玩王者荣耀, 会非常的卡。 而且点击后要等10多秒才会有反应,不过大部分时候程序会直接崩溃,退出。 所以在小米电视上大部分的大型游戏都不具备可玩性。(体积大于100MB的游戏都算大型游戏)
 
一下均为本人在英伟达shield TV上亲测。
 
首先如果刷的是官方的rom,默认自带google的应用商场,国内的话等于装饰。 所以需要手工安装一个国内的应用商场,下面我安装的是沙发管家。 那么要怎么安装呢? 
有2种方法:
 
1. 你有sd卡的话,可以把沙发管家的安装程序拷贝到sd卡上,然后插入shield TV中。 在shield TV中使用ES文件管理器安装
 
2.
 

1491921108207.jpg


1491921116332.jpg


1491921123964.jpg


1491921129157.jpg


1491921134717.jpg


1491921139890.jpg

 
 
 
原创地址:http://www.30daydo.com/article/164 
欢迎转载,请注明出处。
 
继续阅读 »
最近不少人都在玩王者荣耀这个游戏。 而且部分发烧友希望在55寸甚至更大的尺寸的屏幕上畅玩这个游戏。
 
对于游戏性能,目前最强悍的莫过于英伟达的shield TV , 中文翻译暂且叫做神盾tv吧, 有pro版和非pro版。 在操作上区别不大。
 
如果你在小米电视上打算玩王者荣耀, 会非常的卡。 而且点击后要等10多秒才会有反应,不过大部分时候程序会直接崩溃,退出。 所以在小米电视上大部分的大型游戏都不具备可玩性。(体积大于100MB的游戏都算大型游戏)
 
一下均为本人在英伟达shield TV上亲测。
 
首先如果刷的是官方的rom,默认自带google的应用商场,国内的话等于装饰。 所以需要手工安装一个国内的应用商场,下面我安装的是沙发管家。 那么要怎么安装呢? 
有2种方法:
 
1. 你有sd卡的话,可以把沙发管家的安装程序拷贝到sd卡上,然后插入shield TV中。 在shield TV中使用ES文件管理器安装
 
2.
 

1491921108207.jpg


1491921116332.jpg


1491921123964.jpg


1491921129157.jpg


1491921134717.jpg


1491921139890.jpg

 
 
 
原创地址:http://www.30daydo.com/article/164 
欢迎转载,请注明出处。
  收起阅读 »

一个会击中99%的人的9条导致没出息的根源


几乎每一条套在我身上都可以。 感觉自己是一个失败的人生。
 
美国研究生留学
考虑一千次,不如去做一次!犹豫一万次,不如实践一次!华丽的跌倒,胜过无谓的徘徊!据哈佛大学研究:一个人没出息一定有以下这九大根源。

一、犹豫不决
比鲁莽更糟糕的是犹豫不决。
像墙头草一样摇摆不定的人,无论其他方面多么强大,在生命的竞赛中总是容易被那些坚定地人挤到一边。雷厉风行难免会犯错,但比什么也不敢做强。怀特·黑德说:“畏惧错误就是毁灭进步。”

二、拖延
计划很丰满,执行很骨感。
很多时候拖延就是逃避问题和懒惰。
把横在面前的困难放大,望而却步,抱着能拖一天是一天的心态找各种借口逃避:
“无聊的工作”、
“苛刻的老板”、
“我太忙”、
“隔一天在做也没关系”……
随之而来,我们会陷入“工作越来越无趣”,“人生越来越无聊”的泥潭中。
愈加懒惰,愈加消极,会掉入懊悔过去和幻想未来的陷阱中。
时间累积会产生更加强烈的负罪感和自我否定让人越来越焦虑。
著名思想家罗曼·罗兰说:“懒惰是很奇怪的东西,它让你以为那是安逸,是休息,是福气;但实际上它所给你的是无聊,是倦怠,是消沉。”

三、三分钟热度
世界上有80%的失败都源于半途而废。
"三分钟热度”的人不过是从来没有体验到坚持做一件事成功后带来的喜悦,因为坚持的过程总是枯燥又充满挫折的,人的天性又是好逸恶劳。
“每一年伊始笔记本的前几页都写满了宏伟的计划,后面几乎都是空白……”
“购买了一本好书,可惜得是到现在都还没开始读……”
“下决心健身减肥,差不多在5天之后就放弃了……”
几乎所有的人都有过“雄心勃勃地制定计划,心灰意冷地放弃计划”的经历。

四、害怕拒绝
厚重而脆弱的自尊。
大多数时候,我们在人际关系中感受到的“痛”,都和“感到被拒绝”有关。
有时这种拒绝是很显然的,比如爱人突然的离去;或者被朋友背板和疏远。
而有时这种拒绝也可以是很细微的,比如你给了对方一个微笑的眼神,对方却移开了目光;或者你鼓起勇气给对方发了一个条微信,对方却过很久才简短回复。
一个能放下自尊去做事情的人,是专注目标成果导向的人;而把自尊心放在第一位的人,在人际交往做事情的时候,总关注在他人对自己的态度。
所以,一个人越是百无一用的时候,越执念于那些无足轻重的底线与小自尊心。

五、自我设限
杀死自己的潜能力。
他们经常这样说:我想做A,但是我怕做不到,因为B,C,D,E种原因。
他们还没去做之前,就先否定自己,并给自己找了一堆不付出努力的理由。
所有的平庸与低成就都是自我设限的结果。
在自己的心里默认一个“高度”,这个“心理高度”常常暗示自己:这件事情我肯定没办法做好,就做到差不多就可以了。
这种心理暗示可以帮你阻挡任务失败带来的挫败感,暂时维护你的自我价值感,但是,却剥夺了你“往上再走一步”的成功机会。
拉罗什富科说:平庸的人总是在抱怨自己不懂的东西。

六、逃避现实
白日梦患者
逃避现实的人有5个特征。
1.经常做白日梦——逃避现实者更愿意营造一个属于自己的小世界。
2.喜欢随心所欲,无拘无束的生活——说白了就是向往游手好闲的生活。
3.沉迷游戏或是魔幻小说——它们可以引领你走进那个神奇浩繁的世界,让你逃避日常现实生活。
4.觉得现实世界很残酷——这是逃避现实者的常见特征,在追寻白日梦的时候常常会遭受来自现实生活的打击。
5.无法面对不确定环境——因为在你营造的白日梦里,你才能找到确定感和安全感。
人的悲剧在于眼高手低。大多数人激动时佛挡杀佛,幻想中睥睨天下,日常生活中却没法鼓起勇气和每个周末早上都要拿电钻钻墙的邻居很好谈一谈。

七、总找借口
错不在我。
人一旦犯了错,第一反应常常是自我辩护。
我回忆了三十几年来认识的喜欢找借口的人,发现他们都有一个共同的特点:没有强烈的事业心,没有执着的追求,人生没有一个坚定的信念。
所以,遇到压力、遇到困难,他们就不承担,也不想承担;遇到风险、遇到挑战,就退缩。
不承担,要退缩,就迫使他们找借口。因为找借口是最容易办到的事情,这是掩饰自己无知的方法,然后从中寻找自我安慰。

八、恐惧
谨小慎微的懦弱。
他们在工作中总有这样的感受:害怕被领导批评、害怕别人觉得自己无能、害怕被别人知道自己的缺点、在意他人的评价、害怕犯错、害怕自己的付出得不到回报。
我想起一句话:我不敢下苦功琢磨自己,怕终于知道自己并非珠玉;然而心中又存着一丝希冀,便又不肯甘心与瓦砾为伍。
其实就是心智的弱小,不愿意面对挫折感。
王朔曾经跟他女儿说:“煲汤比写诗重要,自己的手艺比男人重要,头发和胸和腰和屁股比脸蛋重要,内心强大到混蛋比什么都重要。”

九、拒绝学习
你不是寂寞,只是不想学习。
学习需要费脑子,自我成长需要不断和自己作斗争,多痛苦啊!
还不如舒舒服服躺在家玩手机看电影,然后等看到同龄人薪资比你高、生活过的比你好时,你又在朋友圈感叹时运不济。
“我从未见过,每天从早忙到玩,拖着疲惫身子回家的人过空虚寂寞冷。
大多数人的空虚寂寞冷,基本上都是吃饱了没事干闲的”。
 
继续阅读 »

几乎每一条套在我身上都可以。 感觉自己是一个失败的人生。
 
美国研究生留学
考虑一千次,不如去做一次!犹豫一万次,不如实践一次!华丽的跌倒,胜过无谓的徘徊!据哈佛大学研究:一个人没出息一定有以下这九大根源。

一、犹豫不决
比鲁莽更糟糕的是犹豫不决。
像墙头草一样摇摆不定的人,无论其他方面多么强大,在生命的竞赛中总是容易被那些坚定地人挤到一边。雷厉风行难免会犯错,但比什么也不敢做强。怀特·黑德说:“畏惧错误就是毁灭进步。”

二、拖延
计划很丰满,执行很骨感。
很多时候拖延就是逃避问题和懒惰。
把横在面前的困难放大,望而却步,抱着能拖一天是一天的心态找各种借口逃避:
“无聊的工作”、
“苛刻的老板”、
“我太忙”、
“隔一天在做也没关系”……
随之而来,我们会陷入“工作越来越无趣”,“人生越来越无聊”的泥潭中。
愈加懒惰,愈加消极,会掉入懊悔过去和幻想未来的陷阱中。
时间累积会产生更加强烈的负罪感和自我否定让人越来越焦虑。
著名思想家罗曼·罗兰说:“懒惰是很奇怪的东西,它让你以为那是安逸,是休息,是福气;但实际上它所给你的是无聊,是倦怠,是消沉。”

三、三分钟热度
世界上有80%的失败都源于半途而废。
"三分钟热度”的人不过是从来没有体验到坚持做一件事成功后带来的喜悦,因为坚持的过程总是枯燥又充满挫折的,人的天性又是好逸恶劳。
“每一年伊始笔记本的前几页都写满了宏伟的计划,后面几乎都是空白……”
“购买了一本好书,可惜得是到现在都还没开始读……”
“下决心健身减肥,差不多在5天之后就放弃了……”
几乎所有的人都有过“雄心勃勃地制定计划,心灰意冷地放弃计划”的经历。

四、害怕拒绝
厚重而脆弱的自尊。
大多数时候,我们在人际关系中感受到的“痛”,都和“感到被拒绝”有关。
有时这种拒绝是很显然的,比如爱人突然的离去;或者被朋友背板和疏远。
而有时这种拒绝也可以是很细微的,比如你给了对方一个微笑的眼神,对方却移开了目光;或者你鼓起勇气给对方发了一个条微信,对方却过很久才简短回复。
一个能放下自尊去做事情的人,是专注目标成果导向的人;而把自尊心放在第一位的人,在人际交往做事情的时候,总关注在他人对自己的态度。
所以,一个人越是百无一用的时候,越执念于那些无足轻重的底线与小自尊心。

五、自我设限
杀死自己的潜能力。
他们经常这样说:我想做A,但是我怕做不到,因为B,C,D,E种原因。
他们还没去做之前,就先否定自己,并给自己找了一堆不付出努力的理由。
所有的平庸与低成就都是自我设限的结果。
在自己的心里默认一个“高度”,这个“心理高度”常常暗示自己:这件事情我肯定没办法做好,就做到差不多就可以了。
这种心理暗示可以帮你阻挡任务失败带来的挫败感,暂时维护你的自我价值感,但是,却剥夺了你“往上再走一步”的成功机会。
拉罗什富科说:平庸的人总是在抱怨自己不懂的东西。

六、逃避现实
白日梦患者
逃避现实的人有5个特征。
1.经常做白日梦——逃避现实者更愿意营造一个属于自己的小世界。
2.喜欢随心所欲,无拘无束的生活——说白了就是向往游手好闲的生活。
3.沉迷游戏或是魔幻小说——它们可以引领你走进那个神奇浩繁的世界,让你逃避日常现实生活。
4.觉得现实世界很残酷——这是逃避现实者的常见特征,在追寻白日梦的时候常常会遭受来自现实生活的打击。
5.无法面对不确定环境——因为在你营造的白日梦里,你才能找到确定感和安全感。
人的悲剧在于眼高手低。大多数人激动时佛挡杀佛,幻想中睥睨天下,日常生活中却没法鼓起勇气和每个周末早上都要拿电钻钻墙的邻居很好谈一谈。

七、总找借口
错不在我。
人一旦犯了错,第一反应常常是自我辩护。
我回忆了三十几年来认识的喜欢找借口的人,发现他们都有一个共同的特点:没有强烈的事业心,没有执着的追求,人生没有一个坚定的信念。
所以,遇到压力、遇到困难,他们就不承担,也不想承担;遇到风险、遇到挑战,就退缩。
不承担,要退缩,就迫使他们找借口。因为找借口是最容易办到的事情,这是掩饰自己无知的方法,然后从中寻找自我安慰。

八、恐惧
谨小慎微的懦弱。
他们在工作中总有这样的感受:害怕被领导批评、害怕别人觉得自己无能、害怕被别人知道自己的缺点、在意他人的评价、害怕犯错、害怕自己的付出得不到回报。
我想起一句话:我不敢下苦功琢磨自己,怕终于知道自己并非珠玉;然而心中又存着一丝希冀,便又不肯甘心与瓦砾为伍。
其实就是心智的弱小,不愿意面对挫折感。
王朔曾经跟他女儿说:“煲汤比写诗重要,自己的手艺比男人重要,头发和胸和腰和屁股比脸蛋重要,内心强大到混蛋比什么都重要。”

九、拒绝学习
你不是寂寞,只是不想学习。
学习需要费脑子,自我成长需要不断和自己作斗争,多痛苦啊!
还不如舒舒服服躺在家玩手机看电影,然后等看到同龄人薪资比你高、生活过的比你好时,你又在朋友圈感叹时运不济。
“我从未见过,每天从早忙到玩,拖着疲惫身子回家的人过空虚寂寞冷。
大多数人的空虚寂寞冷,基本上都是吃饱了没事干闲的”。
  收起阅读 »

2017-03-29 关于转行

今天进行了半年度的review,manager一如既往的态度。 
 
内容不想多说。
 
只是累了。
 
上班时间兼顾的炒股。
 
只是想转行为量化程序员。 不想做无聊的测试工作。
 
最近去考证券从业资格证。 4月8,9日两天。 现在书也只是看到一半。 
 
已经不能对自己说慢慢来了。 每次都是这样,一直拖延。 一直口上说换工作,但是一直还是这么颓废着。
 
慢慢地,就在沉默中死亡。
 
有时真的很恨自己。 
 
今天这个田地,都是自己亲手造成的。 怨也只能怨自己。
 
 
继续阅读 »
今天进行了半年度的review,manager一如既往的态度。 
 
内容不想多说。
 
只是累了。
 
上班时间兼顾的炒股。
 
只是想转行为量化程序员。 不想做无聊的测试工作。
 
最近去考证券从业资格证。 4月8,9日两天。 现在书也只是看到一半。 
 
已经不能对自己说慢慢来了。 每次都是这样,一直拖延。 一直口上说换工作,但是一直还是这么颓废着。
 
慢慢地,就在沉默中死亡。
 
有时真的很恨自己。 
 
今天这个田地,都是自己亲手造成的。 怨也只能怨自己。
 
  收起阅读 »

Python 机器学习之 SVM 预测买卖

 
Python入门简单策略 sklearn 机器学习库的使用

回测系统自带的库有
numpy pandas TA-Lib scipy statsmodels sklearn cvxopt hmmlearn pykalman arch matplotlib

实盘需要在托管者所在机器安装策略需要的库
基于BotVS 量化平台,测试的标的物是 数字货币 ,当然BotVS 也支持 商品期货,源码如下:
 
from sklearn import svm
import numpy as np

def main():
preTime = 0
n = 0
success = 0
predict = None
pTime = None
marketPosition = 0
initAccount = exchange.GetAccount()
Log("Running...")
while True:
r = exchange.GetRecords()
if len(r) < 60:
continue
bar = r[len(r)-1]
if bar.Time > preTime:
preTime = bar.Time
if pTime is not None and r[len(r)-2].Time == pTime:
diff = r[len(r)-2].Close - r[len(r)-3].Close
if diff > SpreadVal:
success += 1 if predict == 0 else 0
elif diff < -SpreadVal:
success += 1 if predict == 1 else 0
else:
success += 1 if predict == 2 else 0
pTime = None
LogStatus("预测次数", n, "成功次数", success, "准确率:", '%.3f %%' % round(float(success) * 100 / n, 2))
else:
Sleep(1000)
continue
inputs_X, output_Y = ,
sets = [None, None, None]
for i in xrange(1, len(r)-2, 1):
inputs_X.append([r[i].Open, r[i].Close])
Y = 0
diff = r[i+1].Close - r[i].Close
if diff > SpreadVal:
Y = 0
sets[0] = True
elif diff < -SpreadVal:
Y = 1
sets[1] = True
else:
Y = 2
sets[2] = True
output_Y.append(Y)
if None in sets:
Log("样本不足, 无法预测 ...")
continue
n += 1
clf = svm.LinearSVC()
clf.fit(inputs_X, output_Y)
predict = clf.predict(np.array([bar.Open, bar.Close]).reshape((1, -1)))
pTime = bar.Time

Log("预测当前Bar结束:", bar.Time, ['涨', '跌', '横'][predict])
if marketPosition == 0:
if predict == 0:
exchange.Buy(initAccount.Balance/2)
marketPosition = 1
elif predict == 1:
exchange.Sell(initAccount.Stocks/2)
marketPosition = -1
else:
nowAccount = exchange.GetAccount()
if marketPosition > 0 and predict != 0:
exchange.Sell(nowAccount.Stocks - initAccount.Stocks)
nowAccount = exchange.GetAccount()
marketPosition = 0
elif marketPosition < 0 and predict != 1:
while True:
dif = initAccount.Stocks - nowAccount.Stocks
if dif < 0.01:
break
ticker = exchange.GetTicker()
exchange.Buy(ticker.Sell + (ticker.Sell-ticker.Buy)*2, dif)
while True:
Sleep(1000)
orders = exchange.GetOrders()
for order in orders:
exchange.CancelOrder(order.Id)
if len(orders) == 0:
break
nowAccount = exchange.GetAccount()
marketPosition = 0
if marketPosition == 0:
LogProfit(_N(nowAccount.Balance - initAccount.Balance, 4), nowAccount)
[/i][/i]
继续阅读 »
 
Python入门简单策略 sklearn 机器学习库的使用

回测系统自带的库有
numpy pandas TA-Lib scipy statsmodels sklearn cvxopt hmmlearn pykalman arch matplotlib

实盘需要在托管者所在机器安装策略需要的库
基于BotVS 量化平台,测试的标的物是 数字货币 ,当然BotVS 也支持 商品期货,源码如下:
 
from sklearn import svm
import numpy as np

def main():
preTime = 0
n = 0
success = 0
predict = None
pTime = None
marketPosition = 0
initAccount = exchange.GetAccount()
Log("Running...")
while True:
r = exchange.GetRecords()
if len(r) < 60:
continue
bar = r[len(r)-1]
if bar.Time > preTime:
preTime = bar.Time
if pTime is not None and r[len(r)-2].Time == pTime:
diff = r[len(r)-2].Close - r[len(r)-3].Close
if diff > SpreadVal:
success += 1 if predict == 0 else 0
elif diff < -SpreadVal:
success += 1 if predict == 1 else 0
else:
success += 1 if predict == 2 else 0
pTime = None
LogStatus("预测次数", n, "成功次数", success, "准确率:", '%.3f %%' % round(float(success) * 100 / n, 2))
else:
Sleep(1000)
continue
inputs_X, output_Y = ,
sets = [None, None, None]
for i in xrange(1, len(r)-2, 1):
inputs_X.append([r[i].Open, r[i].Close])
Y = 0
diff = r[i+1].Close - r[i].Close
if diff > SpreadVal:
Y = 0
sets[0] = True
elif diff < -SpreadVal:
Y = 1
sets[1] = True
else:
Y = 2
sets[2] = True
output_Y.append(Y)
if None in sets:
Log("样本不足, 无法预测 ...")
continue
n += 1
clf = svm.LinearSVC()
clf.fit(inputs_X, output_Y)
predict = clf.predict(np.array([bar.Open, bar.Close]).reshape((1, -1)))
pTime = bar.Time

Log("预测当前Bar结束:", bar.Time, ['涨', '跌', '横'][predict])
if marketPosition == 0:
if predict == 0:
exchange.Buy(initAccount.Balance/2)
marketPosition = 1
elif predict == 1:
exchange.Sell(initAccount.Stocks/2)
marketPosition = -1
else:
nowAccount = exchange.GetAccount()
if marketPosition > 0 and predict != 0:
exchange.Sell(nowAccount.Stocks - initAccount.Stocks)
nowAccount = exchange.GetAccount()
marketPosition = 0
elif marketPosition < 0 and predict != 1:
while True:
dif = initAccount.Stocks - nowAccount.Stocks
if dif < 0.01:
break
ticker = exchange.GetTicker()
exchange.Buy(ticker.Sell + (ticker.Sell-ticker.Buy)*2, dif)
while True:
Sleep(1000)
orders = exchange.GetOrders()
for order in orders:
exchange.CancelOrder(order.Id)
if len(orders) == 0:
break
nowAccount = exchange.GetAccount()
marketPosition = 0
if marketPosition == 0:
LogProfit(_N(nowAccount.Balance - initAccount.Balance, 4), nowAccount)
[/i][/i]
收起阅读 »

电脑同时存在 python2.7 和python3.5 安装包的差异

1.正常安装好两个版本后在cmd里安装包时:
pthon2 -m pip install XX(包的名字)
pthon3 -m pip install XX(包的名字)
 
另外,pandas.io 在python3版本更换包为:pandas_datareader
继续阅读 »
1.正常安装好两个版本后在cmd里安装包时:
pthon2 -m pip install XX(包的名字)
pthon3 -m pip install XX(包的名字)
 
另外,pandas.io 在python3版本更换包为:pandas_datareader 收起阅读 »

Python-Pandas入门

1.在对DataFrame进行索引的时候,引用标签字段作为索引,是包含的,而引用数字作为索引,是不包含的。比如:
data=pd.DataFrame(np.arange(16).reshape(4,4),index=['Ohio','Colorado','Utah','New York'],columns=['one','two','three','four'])
>>> data
one two three four
Ohio 0 1 2 3
Colorado 4 5 6 7
Utah 8 9 10 11
New York 12 13 14 15
 
data.ix[:'Utah',:2]
one two
Ohio 0 1
Colorado 4 5
Utah 8 9
(引用列数为:one,two,2列不包含)
 
data.ix[:'Utah',:'two']
one two
Ohio 0 1
Colorado 4 5
Utah 8 9
(引用列数为:one,two,two列被包含)
继续阅读 »
1.在对DataFrame进行索引的时候,引用标签字段作为索引,是包含的,而引用数字作为索引,是不包含的。比如:
data=pd.DataFrame(np.arange(16).reshape(4,4),index=['Ohio','Colorado','Utah','New York'],columns=['one','two','three','four'])
>>> data
one two three four
Ohio 0 1 2 3
Colorado 4 5 6 7
Utah 8 9 10 11
New York 12 13 14 15
 
data.ix[:'Utah',:2]
one two
Ohio 0 1
Colorado 4 5
Utah 8 9
(引用列数为:one,two,2列不包含)
 
data.ix[:'Utah',:'two']
one two
Ohio 0 1
Colorado 4 5
Utah 8 9
(引用列数为:one,two,two列被包含) 收起阅读 »

sqlite 删除数据库中重复的行

经常在爬取网络的信息后,会发现有重复的行。 如何使用sqlite删除那些重复的行?
 

重复.PNG

 
本人SQL连入门都算不上,只能用到就去查相关的函数。
经过2个小时的不懈尝试,终于结合网上各种版本的删除数据重复行(网上太多坑呀 )
写出满足自己需求的sql语句
 
cmd='delete from STRATEGY where rowid not in (select max(rowid) from STRATEGY group by 代码);'
 
就是上面的这一句语句。
 
下面来简单说明一下,如果是DBA大牛请忽略。
 
首先表名字是STRATEGY,里面记录了一些股票,买入的原因,买入时间,股票名字和代码,当前股票的价格。当前的盈亏状态。
 
如果一天爬取同样的数据几次,机会自动追加到db数据中。 会造成大量的重复数据。 
首先从后面往前递推
 
select max(rowid) from STRATEGY group by 代码
 
这个语句 选择出来一些rowid, rowid是你创建数据库的时候默认就生产了,因为我在前面生成这个数据库的时候没有设置ID,或者index。 suo所以数据库默认用的是rowid,类似于行号。从第一行开始 rowid=1
 
上面就是 STRATEGY按照“代码”列进行排序, 因为有相同的,max(rowid) 
 
继续阅读 »
经常在爬取网络的信息后,会发现有重复的行。 如何使用sqlite删除那些重复的行?
 

重复.PNG

 
本人SQL连入门都算不上,只能用到就去查相关的函数。
经过2个小时的不懈尝试,终于结合网上各种版本的删除数据重复行(网上太多坑呀 )
写出满足自己需求的sql语句
 
cmd='delete from STRATEGY where rowid not in (select max(rowid) from STRATEGY group by 代码);'
 
就是上面的这一句语句。
 
下面来简单说明一下,如果是DBA大牛请忽略。
 
首先表名字是STRATEGY,里面记录了一些股票,买入的原因,买入时间,股票名字和代码,当前股票的价格。当前的盈亏状态。
 
如果一天爬取同样的数据几次,机会自动追加到db数据中。 会造成大量的重复数据。 
首先从后面往前递推
 
select max(rowid) from STRATEGY group by 代码
 
这个语句 选择出来一些rowid, rowid是你创建数据库的时候默认就生产了,因为我在前面生成这个数据库的时候没有设置ID,或者index。 suo所以数据库默认用的是rowid,类似于行号。从第一行开始 rowid=1
 
上面就是 STRATEGY按照“代码”列进行排序, 因为有相同的,max(rowid) 
  收起阅读 »

什么样的人不应该买房子


最近关于买房的话题,天天刷爆朋友圈。而且空气中,弥漫的是一种,刚需们再不买房就要死的恐慌气氛。

一个平时相处不错的同事,前两天终于把房子定下来了。这本来是人生中最快乐的一件事情,然而对她来说简直是烦恼的开始:几乎掏空父母的存款,自己又借了消费贷,以及各种凑钱,攒到首付。然后焦虑得不能自己,让人看着难过,于是我说,我借你点吧。至少不用去套信用卡。
这位同事,是非常普通的那类人:小城市家庭出身,男朋友也是类似情况。名校硕士毕业,然后各自在还算不错的单位工作。因为前几年,刚毕业然后一心扑在工作上,总觉得买房这件事情还比较遥远,就没有考虑。
直到今年,慌了。她是个比一般人都要理性很多的人,她说,她面临的情况是,以后一定会在北京生活,现在两方家长尽力,加上自己折腾一下,还能交得起首付,生怕万一什么330新政出来,房价真暴涨,自己连首付都付不起了。同时,她已经做好了最高位接盘的准备:没办法,这是刚需。只是承受不起彻底买不起的可能性。
然后,我们关于房价,父辈们的支持,自己的奋斗,以及社会阶层,等各种角度探讨了一番。
许多背景观点,都很一致,但是我们在什么样的人是否买房这件事情上,出现了极为激烈的分歧。彼此说服不了,但彼此都逻辑统一。
今天,我就关于什么样的人当下不该买房,聊聊我的观点吧。
很简单:30岁以下(超过一两岁也无妨),家庭条件一般(也不差,父母掏空家底能给你出首付的都算),身处底层但渴望改变自己命运的人。
其他都是前缀条件,意义不大。最关键就是最后这一句:身处底层但渴望改变自己命运的人。
以前有人说:每个人年轻的时候都有一个英雄梦想。后来我发现,根本不是这样,绝大多数人都没有,绝大多数人只是叶公好龙。
什么叫梦想,不是那些上个台留着眼泪,说:我喜欢唱歌,我会一直坚持我的音乐梦想,所以求各位BOSS通过我吧。
这种人叫梦想流氓,利用自己能说会道,到处打着惨兮兮的梦想故事骗同情然后获取利益的流氓。
有一个歌手,没什么才华,创作水准很一般,但他曾经通过选秀节目火过,随后又沉寂,但是当潮水褪去,围观者散场的时候,他却一直在各种坚持,从来不隐瞒自己想红,到处刷存在感,做各种生意,开火锅卖衣服,就是为了能接着唱歌。最后终于,靠在微博上编笑话段子,成了网红。几千万粉丝的网红赚钱很容易,转发个微博,打个广告,钱就哗哗的流进来。但是这时候,他还在说,可算红了,可以唱歌了。
这他妈的才叫梦想啊。(不过希望他能找到好的音乐创作者合作,现在那些歌还是太一般。能接着关注高火一阵,但留不下来的。)
什么是梦想:是人潮散尽的时候,是你不堪的生存着的时候,你还会让自己想方设法为它做点事情。

这样的人很少。
所以,我再说一下前面那个标准:什么样的人当下不该买房。
30岁以下(超过一两岁也无妨),家庭条件一般(也不差,父母掏空家底能给你出首付的都算),身处底层但渴望改变自己命运的人。
什么叫改变命运。我的理解很简单:出人头地。变得有钱。更学术一点的说法叫:升级自己的社会阶层。
要改变自己的社会阶层,这是我听过的活在这个世界上,最普遍,最难的一件事情。
他意味着:你得在适当的机会面前,彻底付出自己(两斤白酒去医院,五星酒店撅屁股,卖笑,拍马,谁比谁容易),去换取财富和资源,然后通过财富和资源的累积升级自己的社会阶层。
什么叫付出自己?就是别他妈把自己当人。
想要出人头地,越是底层的人,越不应该有尊严,他需要的是做事的机会,以及把这个事情做好的结果,而不是其他。
优雅?体面?
对于想要改变命运的人,这两个词是奋斗的目标,而绝不可能是现在。那些鼓吹着想要站着挣钱的人,你别被他们骗了,他们站着背后是已经掌握了多少资源。
可能看到这,很多人都会觉得,这我都懂啊,跟不买房有什么关系。
接下来,我要提出一个恐怖的观点:大多数人,你根本不属于自己,你根本不可能能付出自己。
你没有这个资格!
你属于什么?你属于父母殷切真诚但是愚昧落后的期待,你属于老板眼中可有可无但必须在岗的螺丝钉,你属于你老婆你儿子甚至你情人的移动POS机。
这些说完了么,没有。

如果此刻的你买房了,那你将有一个更吸血的身份:房奴。
不得不说,民间智慧的犀利:房奴。
是的,你根本不属于你自己,你是一个奴隶。你属于你的主人。
付出你自己?别喊口号了,你根本没有资格。
可能又会有同学问,那么很多人过去靠着咬咬牙买房了,从小房一路换到大房,人生赢家啊。
其实这里面有两个问题。
A:没错,过去十几年,房子从投资的角度来看确实是一个超级优秀的品种。但是,在过去的十几年里面,受益这个超级牛市的人,根本不是那些始终只有一套房子的人:哪怕它从小房子一路换成了别墅。
因为,他拥有的始终只是一套房子而已,一个根本很难套现的重资产,本质上,他也是刚需。
而我们回头想想,一个家庭拥有一个不错的房子,这不应该是一个社会基础现象吗?
什么叫有钱人?是拥有巨大规模的现金流!
B:过去十年,这种一路换房选手失去的,是机会成本。折腾房子是一件非常耗费精力的事情。如果过去十年里,他一直在折腾房子,那么基本可以肯定,他抽不出精力去关心他的事业,他的其他人生可能性。(因为他的性格里有比较强的判断直觉,和折腾能力,执行力,这是非常好的优点,但是他居然没有多买一套,让自己拥有现金流)。
一个不错素质的人折腾10年,最后只是得到一个本该就有的不错的房子,只是完成了社会的基础配置。算什么人生赢家啊。
一个不错的房子,在北京,按2000万算。这10年的折腾,不过就是这点成就。(对了,还有5成的房贷,他并不彻底拥有,还得为1000万的贷款继续卖命)一个高级房奴嘛!
这不就跟03年看好茅台,但是只买了100股一样。即使你看对了,做对了又怎么样?(如果你买了茅台不看还好,如果这十几年里,天天为茅台股价操碎心,这不是更不值得嘛)。
说了这么多,其实是想说,一个试图改变自己命运的底层年轻人,不应该过早的把自己栓上太多的镣铐。特别还掏空自己父母一辈子的积蓄。

可能有些同学会说,我买了房,然后不看了,努力工作云云。
这个看起来非常正能量的“暗下决心”,实际上非常无用。这里面的努力工作,其实就是把自己的职位工作干好(因为买房,需要还巨额贷款,好好工作看起来可能是最好的选择),但是,有一个可怕的真相是,极其少数的人可以通过在职场一路奋斗起来,从而改变自己的人生阶层。这种可能性基本等于零。
年薪百万在职场算非常顶尖了吧,然后放眼望去,它只能让你过的非常体面,但是对你的阶层跃迁并没有任何实质性的帮助。
除了你被禁锢在工作之内,同时,你还面临着生活质量的下降。更不用谈兴趣投资,教育投资。特别是兴趣投资,在我看来,兴趣投资,看起来最耗钱,但是最容易出现改变你人生机会的地方。
举个最简单的例子:让你花五万去系统学习健身(这个看起来好像最容易自学的领域),你舍得吗?多数人都不舍得。也不舍得。也花不起。
在资金极度受限制的情况下,再有上进心,开拓心的人,他能做的学习充电也只是自己埋头自学。
从现实角度来看,自学是这个世界上最没有效率的学习方法,没有之一!(往往中国人比较崇尚自学,能举出各种天才自学的例子,问题是,大哥,你是天才么?几乎所有天才也都是有名师的,只是你自己掩耳盗铃罢了)
自学意味着:用极低的效率在纷杂的信息里得先建立一个早已经成熟已久的框架。即使有所建树,也很难走的远,因为基础极其不扎实,属于:野路子。即使有成绩,除了天赋之外,也是耗费了多余正常学习的人的时间。时间是最有价值的品种,然而在这里成为了无成本投入。(都别说输在起跑线了,路上的时间也输光了,拿什么跟人比?拿什么阶层跃迁?)
崇尚自学,无视知识版权,贬低专家(这里指的是真正在其领域有建树的人),不相信科学,这是中国屌丝多,观念不开化的恶性循环原因之一。
失去了对金钱的掌控能力和支配能力,这是房奴(特别是深度房奴)面临的最严重,但也最难自觉的可怕事情。

这件事情,可能造成这个房奴一生彻底的平庸。

你需要的是自由。让自己属于自己。这样,你才有资格,在天时地利人和,七星连成一线的时刻,ALL IN 。赌上自己。改变人生。
改变人生,升级阶层,从来就不是一件容易的事情。

我知道很多人买房内心的小算盘:奋斗到最后,最不济,我还有一个房子可以住。不会无路可退。
可是事实是:房子是一个重资产,资金占用过大,并且同时你为他背上太大的债务,会导致你不敢不工作。甚至不敢随意换工作。
甚至于,随着房价的上涨,会让你拥有一种自己做对的错觉,以为自己的身价上涨了。从而使你对房价的关注度过高,而失去了其他致富能力和意愿。
最后一个理由,从投资品的角度来看,我们至少得承认一点,房子这是一个万众瞩目的品种,因此,基本上有能力参与的,都已经参与了。

那么这就意味着,在这个时刻入场,你将你的财富以及未来(身上背的债务)在这个社会阶层锚定了。
房价基本是同涨同跌,所以你希望通过房子涨价,自己因此提高身价,来改变自己的阶层。
想象一下,假设说,10年以后房子涨到一百万一平,而你的100平房子价值一亿,你以为你就中产阶级了么。
你见过在一个高楼看过去,满地的中产阶级吗?
相信我,那个时候,中产阶级的标准一定是5亿以上。
再回来,没买房的人慌了,卧槽,已经1百万一平了,那我现在10万一平,你让我别买,你是在害我吗?
不是的,如果未来10年中(这是一个非常长的周期)房价还能持续高增长,而社会稳定,那么说明,一定是货币超级大放水了(贬值)。
货币大放水,是什么意思?就是市场中凭空(央行)从天上掉下了好多钱(增量)。放心吧,这些钱会以各种名义(无论是基建还是别的)放出来。
这些钱得有人接(有人花,就有人挣),谁多接一些,谁就在这波货币大行情中发财了。这才是社会中最隐藏的,人少钱多的主线。
那些关注房子的人,无论是自怨自艾者,还是洋洋得意者,自然发现不了。而没有被房子变成奴隶的人,那些自由的,已经在社会的苦难之中锻炼出一身本领,嗅觉灵敏的人,此刻正是大展拳脚的机会。
这才是你人生中的主升浪。
比如2008年汶川地震之后的好多年,许多人做基建工程发财了,因为需求大,从业人少。(很多无能的人会找很多借口,比如这些领域需要很好的关系云云,事实上这个领域的生态链非常长,你只要有心,都有机会在里面分一杯羹。因为盘子太大了,投资规模太大了。)
把各个领域的财富想象成一个一个的蛋糕,你只有在人少的那一块吃,才有机会吃到比平均更多的机会。
财富积累,始终是在人少钱多的地方。
这个道理,地球爆炸了,也不会变。
希望你有一颗英雄的心,希望你还有一颗能做英雄的头脑。
而路遥说过一句话:每个人都有一个觉醒期,但是觉醒期的早晚决定了这个人的命运。
文:复盘哥
继续阅读 »

最近关于买房的话题,天天刷爆朋友圈。而且空气中,弥漫的是一种,刚需们再不买房就要死的恐慌气氛。

一个平时相处不错的同事,前两天终于把房子定下来了。这本来是人生中最快乐的一件事情,然而对她来说简直是烦恼的开始:几乎掏空父母的存款,自己又借了消费贷,以及各种凑钱,攒到首付。然后焦虑得不能自己,让人看着难过,于是我说,我借你点吧。至少不用去套信用卡。
这位同事,是非常普通的那类人:小城市家庭出身,男朋友也是类似情况。名校硕士毕业,然后各自在还算不错的单位工作。因为前几年,刚毕业然后一心扑在工作上,总觉得买房这件事情还比较遥远,就没有考虑。
直到今年,慌了。她是个比一般人都要理性很多的人,她说,她面临的情况是,以后一定会在北京生活,现在两方家长尽力,加上自己折腾一下,还能交得起首付,生怕万一什么330新政出来,房价真暴涨,自己连首付都付不起了。同时,她已经做好了最高位接盘的准备:没办法,这是刚需。只是承受不起彻底买不起的可能性。
然后,我们关于房价,父辈们的支持,自己的奋斗,以及社会阶层,等各种角度探讨了一番。
许多背景观点,都很一致,但是我们在什么样的人是否买房这件事情上,出现了极为激烈的分歧。彼此说服不了,但彼此都逻辑统一。
今天,我就关于什么样的人当下不该买房,聊聊我的观点吧。
很简单:30岁以下(超过一两岁也无妨),家庭条件一般(也不差,父母掏空家底能给你出首付的都算),身处底层但渴望改变自己命运的人。
其他都是前缀条件,意义不大。最关键就是最后这一句:身处底层但渴望改变自己命运的人。
以前有人说:每个人年轻的时候都有一个英雄梦想。后来我发现,根本不是这样,绝大多数人都没有,绝大多数人只是叶公好龙。
什么叫梦想,不是那些上个台留着眼泪,说:我喜欢唱歌,我会一直坚持我的音乐梦想,所以求各位BOSS通过我吧。
这种人叫梦想流氓,利用自己能说会道,到处打着惨兮兮的梦想故事骗同情然后获取利益的流氓。
有一个歌手,没什么才华,创作水准很一般,但他曾经通过选秀节目火过,随后又沉寂,但是当潮水褪去,围观者散场的时候,他却一直在各种坚持,从来不隐瞒自己想红,到处刷存在感,做各种生意,开火锅卖衣服,就是为了能接着唱歌。最后终于,靠在微博上编笑话段子,成了网红。几千万粉丝的网红赚钱很容易,转发个微博,打个广告,钱就哗哗的流进来。但是这时候,他还在说,可算红了,可以唱歌了。
这他妈的才叫梦想啊。(不过希望他能找到好的音乐创作者合作,现在那些歌还是太一般。能接着关注高火一阵,但留不下来的。)
什么是梦想:是人潮散尽的时候,是你不堪的生存着的时候,你还会让自己想方设法为它做点事情。

这样的人很少。
所以,我再说一下前面那个标准:什么样的人当下不该买房。
30岁以下(超过一两岁也无妨),家庭条件一般(也不差,父母掏空家底能给你出首付的都算),身处底层但渴望改变自己命运的人。
什么叫改变命运。我的理解很简单:出人头地。变得有钱。更学术一点的说法叫:升级自己的社会阶层。
要改变自己的社会阶层,这是我听过的活在这个世界上,最普遍,最难的一件事情。
他意味着:你得在适当的机会面前,彻底付出自己(两斤白酒去医院,五星酒店撅屁股,卖笑,拍马,谁比谁容易),去换取财富和资源,然后通过财富和资源的累积升级自己的社会阶层。
什么叫付出自己?就是别他妈把自己当人。
想要出人头地,越是底层的人,越不应该有尊严,他需要的是做事的机会,以及把这个事情做好的结果,而不是其他。
优雅?体面?
对于想要改变命运的人,这两个词是奋斗的目标,而绝不可能是现在。那些鼓吹着想要站着挣钱的人,你别被他们骗了,他们站着背后是已经掌握了多少资源。
可能看到这,很多人都会觉得,这我都懂啊,跟不买房有什么关系。
接下来,我要提出一个恐怖的观点:大多数人,你根本不属于自己,你根本不可能能付出自己。
你没有这个资格!
你属于什么?你属于父母殷切真诚但是愚昧落后的期待,你属于老板眼中可有可无但必须在岗的螺丝钉,你属于你老婆你儿子甚至你情人的移动POS机。
这些说完了么,没有。

如果此刻的你买房了,那你将有一个更吸血的身份:房奴。
不得不说,民间智慧的犀利:房奴。
是的,你根本不属于你自己,你是一个奴隶。你属于你的主人。
付出你自己?别喊口号了,你根本没有资格。
可能又会有同学问,那么很多人过去靠着咬咬牙买房了,从小房一路换到大房,人生赢家啊。
其实这里面有两个问题。
A:没错,过去十几年,房子从投资的角度来看确实是一个超级优秀的品种。但是,在过去的十几年里面,受益这个超级牛市的人,根本不是那些始终只有一套房子的人:哪怕它从小房子一路换成了别墅。
因为,他拥有的始终只是一套房子而已,一个根本很难套现的重资产,本质上,他也是刚需。
而我们回头想想,一个家庭拥有一个不错的房子,这不应该是一个社会基础现象吗?
什么叫有钱人?是拥有巨大规模的现金流!
B:过去十年,这种一路换房选手失去的,是机会成本。折腾房子是一件非常耗费精力的事情。如果过去十年里,他一直在折腾房子,那么基本可以肯定,他抽不出精力去关心他的事业,他的其他人生可能性。(因为他的性格里有比较强的判断直觉,和折腾能力,执行力,这是非常好的优点,但是他居然没有多买一套,让自己拥有现金流)。
一个不错素质的人折腾10年,最后只是得到一个本该就有的不错的房子,只是完成了社会的基础配置。算什么人生赢家啊。
一个不错的房子,在北京,按2000万算。这10年的折腾,不过就是这点成就。(对了,还有5成的房贷,他并不彻底拥有,还得为1000万的贷款继续卖命)一个高级房奴嘛!
这不就跟03年看好茅台,但是只买了100股一样。即使你看对了,做对了又怎么样?(如果你买了茅台不看还好,如果这十几年里,天天为茅台股价操碎心,这不是更不值得嘛)。
说了这么多,其实是想说,一个试图改变自己命运的底层年轻人,不应该过早的把自己栓上太多的镣铐。特别还掏空自己父母一辈子的积蓄。

可能有些同学会说,我买了房,然后不看了,努力工作云云。
这个看起来非常正能量的“暗下决心”,实际上非常无用。这里面的努力工作,其实就是把自己的职位工作干好(因为买房,需要还巨额贷款,好好工作看起来可能是最好的选择),但是,有一个可怕的真相是,极其少数的人可以通过在职场一路奋斗起来,从而改变自己的人生阶层。这种可能性基本等于零。
年薪百万在职场算非常顶尖了吧,然后放眼望去,它只能让你过的非常体面,但是对你的阶层跃迁并没有任何实质性的帮助。
除了你被禁锢在工作之内,同时,你还面临着生活质量的下降。更不用谈兴趣投资,教育投资。特别是兴趣投资,在我看来,兴趣投资,看起来最耗钱,但是最容易出现改变你人生机会的地方。
举个最简单的例子:让你花五万去系统学习健身(这个看起来好像最容易自学的领域),你舍得吗?多数人都不舍得。也不舍得。也花不起。
在资金极度受限制的情况下,再有上进心,开拓心的人,他能做的学习充电也只是自己埋头自学。
从现实角度来看,自学是这个世界上最没有效率的学习方法,没有之一!(往往中国人比较崇尚自学,能举出各种天才自学的例子,问题是,大哥,你是天才么?几乎所有天才也都是有名师的,只是你自己掩耳盗铃罢了)
自学意味着:用极低的效率在纷杂的信息里得先建立一个早已经成熟已久的框架。即使有所建树,也很难走的远,因为基础极其不扎实,属于:野路子。即使有成绩,除了天赋之外,也是耗费了多余正常学习的人的时间。时间是最有价值的品种,然而在这里成为了无成本投入。(都别说输在起跑线了,路上的时间也输光了,拿什么跟人比?拿什么阶层跃迁?)
崇尚自学,无视知识版权,贬低专家(这里指的是真正在其领域有建树的人),不相信科学,这是中国屌丝多,观念不开化的恶性循环原因之一。
失去了对金钱的掌控能力和支配能力,这是房奴(特别是深度房奴)面临的最严重,但也最难自觉的可怕事情。

这件事情,可能造成这个房奴一生彻底的平庸。

你需要的是自由。让自己属于自己。这样,你才有资格,在天时地利人和,七星连成一线的时刻,ALL IN 。赌上自己。改变人生。
改变人生,升级阶层,从来就不是一件容易的事情。

我知道很多人买房内心的小算盘:奋斗到最后,最不济,我还有一个房子可以住。不会无路可退。
可是事实是:房子是一个重资产,资金占用过大,并且同时你为他背上太大的债务,会导致你不敢不工作。甚至不敢随意换工作。
甚至于,随着房价的上涨,会让你拥有一种自己做对的错觉,以为自己的身价上涨了。从而使你对房价的关注度过高,而失去了其他致富能力和意愿。
最后一个理由,从投资品的角度来看,我们至少得承认一点,房子这是一个万众瞩目的品种,因此,基本上有能力参与的,都已经参与了。

那么这就意味着,在这个时刻入场,你将你的财富以及未来(身上背的债务)在这个社会阶层锚定了。
房价基本是同涨同跌,所以你希望通过房子涨价,自己因此提高身价,来改变自己的阶层。
想象一下,假设说,10年以后房子涨到一百万一平,而你的100平房子价值一亿,你以为你就中产阶级了么。
你见过在一个高楼看过去,满地的中产阶级吗?
相信我,那个时候,中产阶级的标准一定是5亿以上。
再回来,没买房的人慌了,卧槽,已经1百万一平了,那我现在10万一平,你让我别买,你是在害我吗?
不是的,如果未来10年中(这是一个非常长的周期)房价还能持续高增长,而社会稳定,那么说明,一定是货币超级大放水了(贬值)。
货币大放水,是什么意思?就是市场中凭空(央行)从天上掉下了好多钱(增量)。放心吧,这些钱会以各种名义(无论是基建还是别的)放出来。
这些钱得有人接(有人花,就有人挣),谁多接一些,谁就在这波货币大行情中发财了。这才是社会中最隐藏的,人少钱多的主线。
那些关注房子的人,无论是自怨自艾者,还是洋洋得意者,自然发现不了。而没有被房子变成奴隶的人,那些自由的,已经在社会的苦难之中锻炼出一身本领,嗅觉灵敏的人,此刻正是大展拳脚的机会。
这才是你人生中的主升浪。
比如2008年汶川地震之后的好多年,许多人做基建工程发财了,因为需求大,从业人少。(很多无能的人会找很多借口,比如这些领域需要很好的关系云云,事实上这个领域的生态链非常长,你只要有心,都有机会在里面分一杯羹。因为盘子太大了,投资规模太大了。)
把各个领域的财富想象成一个一个的蛋糕,你只有在人少的那一块吃,才有机会吃到比平均更多的机会。
财富积累,始终是在人少钱多的地方。
这个道理,地球爆炸了,也不会变。
希望你有一颗英雄的心,希望你还有一颗能做英雄的头脑。
而路遥说过一句话:每个人都有一个觉醒期,但是觉醒期的早晚决定了这个人的命运。
文:复盘哥 收起阅读 »

requests 使用默认 cookies

对于一些网站,为了防止爬虫,必须要有cookies信息,header中的cookies字段不能空。
使用requests库的时候,可以初始化一次cookies信息,后面的回话就能够一直用这个cookies了。
session=requests.session()
#先创建一个seession

s=session.get('http://xueqiu.com',headers=self.headers)
#随意建立一个访问雪球的session,此时的session就自带了雪球的cookies

url='https://xueqiu.com/snowmart/push/stocks.json?product_id=19&page=3&count=5'
headers['Referer']='https://xueqiu.com/strategy/19'
headers['X-Requested-With']='XMLHttpRequest'
headers['DNT']='1'

data={'product_id':19,'page':3,'count':5}

resp=session.get(url,headers=self.headers,params=data).text
#如果这里用的request.get的话,就不能获取到网页返回的正确内容
print resp
 这里需要注意的是,第一次

s=session.get('http://xueqiu.com',headers=self.headers) #随意建立一个访问雪球的session,此时的session就自带了雪球的cookies
 
是必须的,如果没有只一次正常访问,cookies就不能保存下来供下一次正常使用。
 
 
2017-3-28 更新
一般来说,除非是为了每天定期跑的或者破解他人密码这些,可以不用管他们的登录问题,可以很直接的在浏览器中,把你自己账号的cookie信息写进到request的header里面,完全可以访问。
 
所以一旦cookie被别人获取了,他们就可以构造数据,去获取你账号的相关信息。 (cookie应该和你的电脑硬件没关系的吧? 因为我曾经在几台机器上用同一个cookie获取我登录了的账号,也是没有问题的)
 
举个栗子:


def csdn():
session=requests.session()
header={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36'}
url='[url]http://msg.csdn.net/'[/url]
    header['Cookie']='uuid_tt_dd=-5697318013068753627_20160111; _ga=GA1.2.795042232.1452766190; _message_m=quvq2wle24wa4awe UserInfo=zMhiNgesgIlEBQ3TOqLCtx4nUI360IIq3ciBzg4EKH%2FW8mSpTANpu5cTlRFLj2Tqh%2FZzQr2rNqDtT1SZz%2Be2%2FpDkGoQxDK3IVUZXvwZ%2FEP1I4UTg6MoZkH7LDO3sjrJJ; UserNick=%E9%87%8D%E5%A4%8D%E7%9A%84%E7%94%9F%E6%B4%BB; AU=0F1; UD=%E8%AE%B0%E5%BD%95%E8%87%AA%E5%AD%A6%E7%9A%84%E5%8E%86%E7%A8%8B+%E5%88%83%E8%8D%; BT=1490707396344; access-token=c2e12bff-5b27-4a91-953b-448ff6f6beac; _csdn_notify_admin_session=VE41a0d3TitrVGY2bGtXY09pZENwR1lHenhUU1NVaWc1b04wL1I3dCtDQVdadWpjMXBzdGRJL0RZR04wYldvZDBhTU96b2oycVVKeVI1UEVyUHFKbG1yNnB2b2pHRWVnWG1uc2JMM2R3YWthakRyTXZNaEpVU1NtUy9zQUJrNjd3R2lpbG5PK0paMnlyc1dyK0lTZUtRPT0tLXlPQUE1QzF5UmhDNjEvSFdtRFlQS2c9PQ%3D%3D--4569c5a32916dcf969a8b7e007c37abeb90be4f3; dc_tos=onj1dg; dc_session_id=1490707393375; Hm_lvt_6bcd52f51e9b3dce32bec4a3997715ac=1490024083,1490024559,1490374375,1490707368; Hm_lpvt_6bcd52f51e9b3dce32bec4a3997715ac=1490707638'
    header['Cache-Control']='max-age=0'
header['Host']='msg.csdn.net'
header['Referer']='http://blog.csdn.net/username'
resp=requests.get(url,headers=header)
print resp.text

 
上面这段代码,只要你改一下cookie和 Refer 的连接,改成你自己的用户名。 你就可以访问你的csdn的消息,也就是别人在你的csdn博客访问的的留言,评论。
 
只是这个cookie只能在某个时间段生效,也就是存活期大概就一个星期左右。


 抓包技术过硬,何须模拟登陆?
 
 
http://30daydo.com/publish/article/155
 
继续阅读 »
对于一些网站,为了防止爬虫,必须要有cookies信息,header中的cookies字段不能空。
使用requests库的时候,可以初始化一次cookies信息,后面的回话就能够一直用这个cookies了。
session=requests.session()
#先创建一个seession

s=session.get('http://xueqiu.com',headers=self.headers)
#随意建立一个访问雪球的session,此时的session就自带了雪球的cookies

url='https://xueqiu.com/snowmart/push/stocks.json?product_id=19&page=3&count=5'
headers['Referer']='https://xueqiu.com/strategy/19'
headers['X-Requested-With']='XMLHttpRequest'
headers['DNT']='1'

data={'product_id':19,'page':3,'count':5}

resp=session.get(url,headers=self.headers,params=data).text
#如果这里用的request.get的话,就不能获取到网页返回的正确内容
print resp
 这里需要注意的是,第一次

s=session.get('http://xueqiu.com',headers=self.headers) #随意建立一个访问雪球的session,此时的session就自带了雪球的cookies
 
是必须的,如果没有只一次正常访问,cookies就不能保存下来供下一次正常使用。
 
 
2017-3-28 更新
一般来说,除非是为了每天定期跑的或者破解他人密码这些,可以不用管他们的登录问题,可以很直接的在浏览器中,把你自己账号的cookie信息写进到request的header里面,完全可以访问。
 
所以一旦cookie被别人获取了,他们就可以构造数据,去获取你账号的相关信息。 (cookie应该和你的电脑硬件没关系的吧? 因为我曾经在几台机器上用同一个cookie获取我登录了的账号,也是没有问题的)
 
举个栗子:


def csdn():
session=requests.session()
header={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36'}
url='[url]http://msg.csdn.net/'[/url]
    header['Cookie']='uuid_tt_dd=-5697318013068753627_20160111; _ga=GA1.2.795042232.1452766190; _message_m=quvq2wle24wa4awe UserInfo=zMhiNgesgIlEBQ3TOqLCtx4nUI360IIq3ciBzg4EKH%2FW8mSpTANpu5cTlRFLj2Tqh%2FZzQr2rNqDtT1SZz%2Be2%2FpDkGoQxDK3IVUZXvwZ%2FEP1I4UTg6MoZkH7LDO3sjrJJ; UserNick=%E9%87%8D%E5%A4%8D%E7%9A%84%E7%94%9F%E6%B4%BB; AU=0F1; UD=%E8%AE%B0%E5%BD%95%E8%87%AA%E5%AD%A6%E7%9A%84%E5%8E%86%E7%A8%8B+%E5%88%83%E8%8D%; BT=1490707396344; access-token=c2e12bff-5b27-4a91-953b-448ff6f6beac; _csdn_notify_admin_session=VE41a0d3TitrVGY2bGtXY09pZENwR1lHenhUU1NVaWc1b04wL1I3dCtDQVdadWpjMXBzdGRJL0RZR04wYldvZDBhTU96b2oycVVKeVI1UEVyUHFKbG1yNnB2b2pHRWVnWG1uc2JMM2R3YWthakRyTXZNaEpVU1NtUy9zQUJrNjd3R2lpbG5PK0paMnlyc1dyK0lTZUtRPT0tLXlPQUE1QzF5UmhDNjEvSFdtRFlQS2c9PQ%3D%3D--4569c5a32916dcf969a8b7e007c37abeb90be4f3; dc_tos=onj1dg; dc_session_id=1490707393375; Hm_lvt_6bcd52f51e9b3dce32bec4a3997715ac=1490024083,1490024559,1490374375,1490707368; Hm_lpvt_6bcd52f51e9b3dce32bec4a3997715ac=1490707638'
    header['Cache-Control']='max-age=0'
header['Host']='msg.csdn.net'
header['Referer']='http://blog.csdn.net/username'
resp=requests.get(url,headers=header)
print resp.text

 
上面这段代码,只要你改一下cookie和 Refer 的连接,改成你自己的用户名。 你就可以访问你的csdn的消息,也就是别人在你的csdn博客访问的的留言,评论。
 
只是这个cookie只能在某个时间段生效,也就是存活期大概就一个星期左右。


 抓包技术过硬,何须模拟登陆?
 
 
http://30daydo.com/publish/article/155
  收起阅读 »

sys.std.write和print的区别

看别人写的程序,很多地方用sys.std.write,甚少用print。
于是google了下,主要区别在于sys.std.write输出没有换行符,而使用print有换行符
 
引用stackoverflow的例子

print 99


等同于
import sys 
sys.stdout.write(str(99) + '\n')

 
继续阅读 »
看别人写的程序,很多地方用sys.std.write,甚少用print。
于是google了下,主要区别在于sys.std.write输出没有换行符,而使用print有换行符
 
引用stackoverflow的例子

print 99


等同于
import sys 
sys.stdout.write(str(99) + '\n')

  收起阅读 »

淘宝试用 每天自动申请 python程序

手机上安装淘宝,并且登陆你的帐号,然后连接usb线到电脑,运行下面的程序
 
def taobao_shiyong():

d.screen.on()
d.press.home()

activity_name='com.taobao.taobao/com.taobao.tao.homepage.MainActivity3'
launch_app(activity_name)
mid_x=displayWidth/2

try:

d(text=u'我的淘宝').click()
time.sleep(3)
d(text='查看更多工具').click()
time.sleep(3)
d(scrollable=True).scroll.to(text=u'免费试用')
time.sleep(2)
d(text=u'免费试用').click()
time.sleep(3)


delta_y=144
full_y=1920
full_x=1080
fix_x=880
origin_y=222
d.swipe(fix_x,full_y-delta_y,fix_x,origin_y)
time.sleep(3)
#d.swipe(fix_x,952,fix_x,origin_y)
time.sleep(5)

sumakeji=displayWidth/8*3
jiayongdianqi=displayWidth/8*5
d.click(jiayongdianqi,1660)
time.sleep(3)

#each_dianpu()
#d.click(jiayongdianqi,300)

delta_each=400
time.sleep(3)

for dragtime in range(20):
for i in range(3):
d.click(919,600+i*delta_each)
time.sleep(8)
each_dianpu()

d.swipe(919,1600,919,400)

except:
print "Can't find items"

程序会一直运行,等到达到每天申请的最大次数。
 
继续阅读 »
手机上安装淘宝,并且登陆你的帐号,然后连接usb线到电脑,运行下面的程序
 
def taobao_shiyong():

d.screen.on()
d.press.home()

activity_name='com.taobao.taobao/com.taobao.tao.homepage.MainActivity3'
launch_app(activity_name)
mid_x=displayWidth/2

try:

d(text=u'我的淘宝').click()
time.sleep(3)
d(text='查看更多工具').click()
time.sleep(3)
d(scrollable=True).scroll.to(text=u'免费试用')
time.sleep(2)
d(text=u'免费试用').click()
time.sleep(3)


delta_y=144
full_y=1920
full_x=1080
fix_x=880
origin_y=222
d.swipe(fix_x,full_y-delta_y,fix_x,origin_y)
time.sleep(3)
#d.swipe(fix_x,952,fix_x,origin_y)
time.sleep(5)

sumakeji=displayWidth/8*3
jiayongdianqi=displayWidth/8*5
d.click(jiayongdianqi,1660)
time.sleep(3)

#each_dianpu()
#d.click(jiayongdianqi,300)

delta_each=400
time.sleep(3)

for dragtime in range(20):
for i in range(3):
d.click(919,600+i*delta_each)
time.sleep(8)
each_dianpu()

d.swipe(919,1600,919,400)

except:
print "Can't find items"

程序会一直运行,等到达到每天申请的最大次数。
  收起阅读 »

python 爬虫 urllib/requests 中文乱码 终极解决

如果使用的是reqests的包
            content=requests.get(url,headers=self.header)
content.encoding='gbk'
print content.text
 一般情况 是直接可以content.text 就可以输出网页的内容,不过如果网页的编码不是utf-8的话,需要手动编码
content.encoding='gbk' 
这样content.text就可以正常显示中文。
 
 
继续阅读 »
如果使用的是reqests的包
            content=requests.get(url,headers=self.header)
content.encoding='gbk'
print content.text
 一般情况 是直接可以content.text 就可以输出网页的内容,不过如果网页的编码不是utf-8的话,需要手动编码
content.encoding='gbk' 
这样content.text就可以正常显示中文。
 
  收起阅读 »

Day6 leetcode Fizz Buzz 字符转换游戏(实在不知道该怎么翻译这个)

Fizz BuzzWrite a program that outputs the string representation of numbers from 1 to n.

But for multiples of three it should output “Fizz” instead of the number and for the multiples of five output “Buzz”. For numbers which are multiples of both three and five output “FizzBuzz”.

Example:
n = 15,

Return:
[
"1",
"2",
"Fizz",
"4",
"Buzz",
"Fizz",
"7",
"8",
"Fizz",
"Buzz",
"11",
"Fizz",
"13",
"14",
"FizzBuzz"
]

中文解释:
输入一个数字,返回从1到这个数字的所有数字的字符串,如果遇到3的倍数,就替换成Fizz, 遇到5的倍数,就tihu替换成Buzz,同时是3和5的倍数,就tihu替换成FizzBuzz。
 
我的代码:
    def fizzBuzz(self, n):
"""
:type n: int
:rtype: List[str]
"""

result=[]
for i in range(1,n+1):
remainder1=i%3
remainder2=i%5
if remainder1 != 0 and remainder2!=0:
result.append(str(i))
elif remainder1==0 and remainder2!=0:
result.append('Fizz')
elif remainder1!=0 and remainder2 == 0:
result.append("Buzz")
else:
result.append("FizzBuzz")

return result
继续阅读 »
Fizz BuzzWrite a program that outputs the string representation of numbers from 1 to n.

But for multiples of three it should output “Fizz” instead of the number and for the multiples of five output “Buzz”. For numbers which are multiples of both three and five output “FizzBuzz”.

Example:
n = 15,

Return:
[
"1",
"2",
"Fizz",
"4",
"Buzz",
"Fizz",
"7",
"8",
"Fizz",
"Buzz",
"11",
"Fizz",
"13",
"14",
"FizzBuzz"
]

中文解释:
输入一个数字,返回从1到这个数字的所有数字的字符串,如果遇到3的倍数,就替换成Fizz, 遇到5的倍数,就tihu替换成Buzz,同时是3和5的倍数,就tihu替换成FizzBuzz。
 
我的代码:
    def fizzBuzz(self, n):
"""
:type n: int
:rtype: List[str]
"""

result=[]
for i in range(1,n+1):
remainder1=i%3
remainder2=i%5
if remainder1 != 0 and remainder2!=0:
result.append(str(i))
elif remainder1==0 and remainder2!=0:
result.append('Fizz')
elif remainder1!=0 and remainder2 == 0:
result.append("Buzz")
else:
result.append("FizzBuzz")

return result
收起阅读 »

Day5 leetcode Next Greater Element 下一个更大的元素

You are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subset of nums2. Find all the next greater numbers for nums1's elements in the corresponding places of nums2.

The Next Greater Number of a number x in nums1 is the first greater number to its right in nums2. If it does not exist, output -1 for this number.
 
Example 1:
Input: nums1 = [4,1,2], nums2 = [1,3,4,2].
Output: [-1,3,-1]
Explanation:
For number 4 in the first array, you cannot find the next greater number for it in the second array, so output -1.
For number 1 in the first array, the next greater number for it in the second array is 3.
For number 2 in the first array, there is no next greater number for it in the second array, so output -1.
Example 2:
Input: nums1 = [2,4], nums2 = [1,2,3,4].
Output: [3,-1]
Explanation:
For number 2 in the first array, the next greater number for it in the second array is 3.
For number 4 in the first array, there is no next greater number for it in the second array, so

Note:


All elements in nums1 and nums2 are unique.
The length of both nums1 and nums2 would not exceed 1000.

 
中文解释下:
有2个数组(列表) num1,和num2,

nums1 = [4,1,2], nums2 = [1,3,4,2].
 
nums1是num2的子集
 
然后在nums1中每个元素,在num2中找到第一个比它大的元素,比如nums1中第一个是4,在nums2中没有比4更大的,所以返回的是-1,nums第二个是1,在nums2中第一个比1大的是3,所以返回的是3,第三个的是2,nums2中第一个比2大的数是3,所以返回的是3
所以上面的结果需要返回:
[-1,3,3]
继续阅读 »
You are given two arrays (without duplicates) nums1 and nums2 where nums1’s elements are subset of nums2. Find all the next greater numbers for nums1's elements in the corresponding places of nums2.

The Next Greater Number of a number x in nums1 is the first greater number to its right in nums2. If it does not exist, output -1 for this number.
 
Example 1:
Input: nums1 = [4,1,2], nums2 = [1,3,4,2].
Output: [-1,3,-1]
Explanation:
For number 4 in the first array, you cannot find the next greater number for it in the second array, so output -1.
For number 1 in the first array, the next greater number for it in the second array is 3.
For number 2 in the first array, there is no next greater number for it in the second array, so output -1.
Example 2:
Input: nums1 = [2,4], nums2 = [1,2,3,4].
Output: [3,-1]
Explanation:
For number 2 in the first array, the next greater number for it in the second array is 3.
For number 4 in the first array, there is no next greater number for it in the second array, so

Note:


All elements in nums1 and nums2 are unique.
The length of both nums1 and nums2 would not exceed 1000.

 
中文解释下:
有2个数组(列表) num1,和num2,

nums1 = [4,1,2], nums2 = [1,3,4,2].
 
nums1是num2的子集
 
然后在nums1中每个元素,在num2中找到第一个比它大的元素,比如nums1中第一个是4,在nums2中没有比4更大的,所以返回的是-1,nums第二个是1,在nums2中第一个比1大的是3,所以返回的是3,第三个的是2,nums2中第一个比2大的数是3,所以返回的是3
所以上面的结果需要返回:
[-1,3,3] 收起阅读 »

谷歌的收录速度比百度的要快不知道多少个数量级

同样一篇文章,虽然浏览量不大,但是谷歌能够精确地搜索到。
 
而百度呢? 除非你的网站是大热或者很多别的网站链接到你这,否则没个10天20天你就别想让百度收录。
 
对于搜索一下最新的文章,百度远远落后于谷歌。
 
之前在知乎看过一句话,现在才知道是真理般的存在。 不用谷歌的程序员不是一个好程序员。IT公司不给员工提供VPN的不是一个好公司。
 

谷歌搜索.PNG

谷歌搜索结果,我昨天写的文章。
 

百度搜索.PNG

百度的是这样的。
 
 
 
 
继续阅读 »
同样一篇文章,虽然浏览量不大,但是谷歌能够精确地搜索到。
 
而百度呢? 除非你的网站是大热或者很多别的网站链接到你这,否则没个10天20天你就别想让百度收录。
 
对于搜索一下最新的文章,百度远远落后于谷歌。
 
之前在知乎看过一句话,现在才知道是真理般的存在。 不用谷歌的程序员不是一个好程序员。IT公司不给员工提供VPN的不是一个好公司。
 

谷歌搜索.PNG

谷歌搜索结果,我昨天写的文章。
 

百度搜索.PNG

百度的是这样的。
 
 
 
  收起阅读 »

leetcode Day4 Keyboard Row 键盘中的行

Given a List of words, return the words that can be typed using letters of alphabet on only one row's of American keyboard like the image below.

keyboard.png

 
Example 1:
Input: ["Hello", "Alaska", "Dad", "Peace"]
Output: ["Alaska", "Dad"]
Note:


You may use one character in the keyboard more than once.
You may assume the input string will only contain letters of alphabet.
 
中文解释:
输入一个字符串列表,如果这个字符串的字母在键盘上的位置为同一行,就输出这个字符串,否则不输出。
 
    def findWords( words):
"""
:type words: List[str]
:rtype: List[str]
"""

kb={'q':['q','w','e','r','t','y','u','i','o','p'],
'a':['a','s','d','f','g','h','j','k','l'],
'z':['z','x','c','v','b','n','m']}

rList=[]
qRow= kb['q']
aRow= kb['a']
zRow= kb['z']
for wi in words:
w=wi.lower()
i=0
l=len(w)

if w[0] in qRow:
row=qRow
if w[0] in aRow:
row=aRow
if w[0] in zRow:
row=zRow

#row=kb[w[0]]
for i in range(len(w)):
if w[i] not in row:
break
else:
if i==l-1:
rList.append(wi)
return rList

解释:
首先将字母转换为统一的小写字母,然后根据首字母确定该字符串会属于键盘上的哪一列,因为键盘上只有3列,分别为q,a,z行,如果确定属于q行,接下来将剩下的字符一直在q行内循环,一旦遇到不在q行,就退出这一次的循环,进行下一个字符串的判断。
 
继续阅读 »
Given a List of words, return the words that can be typed using letters of alphabet on only one row's of American keyboard like the image below.

keyboard.png

 
Example 1:
Input: ["Hello", "Alaska", "Dad", "Peace"]
Output: ["Alaska", "Dad"]
Note:


You may use one character in the keyboard more than once.
You may assume the input string will only contain letters of alphabet.
 
中文解释:
输入一个字符串列表,如果这个字符串的字母在键盘上的位置为同一行,就输出这个字符串,否则不输出。
 
    def findWords( words):
"""
:type words: List[str]
:rtype: List[str]
"""

kb={'q':['q','w','e','r','t','y','u','i','o','p'],
'a':['a','s','d','f','g','h','j','k','l'],
'z':['z','x','c','v','b','n','m']}

rList=[]
qRow= kb['q']
aRow= kb['a']
zRow= kb['z']
for wi in words:
w=wi.lower()
i=0
l=len(w)

if w[0] in qRow:
row=qRow
if w[0] in aRow:
row=aRow
if w[0] in zRow:
row=zRow

#row=kb[w[0]]
for i in range(len(w)):
if w[i] not in row:
break
else:
if i==l-1:
rList.append(wi)
return rList

解释:
首先将字母转换为统一的小写字母,然后根据首字母确定该字符串会属于键盘上的哪一列,因为键盘上只有3列,分别为q,a,z行,如果确定属于q行,接下来将剩下的字符一直在q行内循环,一旦遇到不在q行,就退出这一次的循环,进行下一个字符串的判断。
  收起阅读 »

leetcode Day3 complement number 【补码】

Given a positive integer, output its complement number. The complement strategy is to flip the bits of its binary representation.

Note:


The given integer is guaranteed to fit within the range of a 32-bit signed integer.
You could assume no leading zero bit in the integer’s binary representation.

Example 1:
 
Input: 5
Output: 2
Explanation: The binary representation of 5 is 101 (no leading zero bits), and its complement is 010. So you need to output 2.

Input: 1
Output: 0
Explanation: The binary representation of 1 is 1 (no leading zero bits), and its complement is 0. So you need to output 0.

解决方法:
class Solution(object):
def findComplement(self, num):
"""
:type num: int
:rtype: int
"""
result=[]
while num!=0:
remainder=num%2
num=num/2
result.append(remainder)
l=len(result)

for i in range(l/2):
temp=result[i]
result[i]=result[l-i-1]
result[l-i-1]=temp
lam=lambda x:abs(x-1)

for i in range(l):
result[i]=lam(result[i])

#print result
sum=0
for i in range(l):
sum=sum+result[l-i-1]*pow(2,i)
return sum

PS: 上面的方法是第一次开始做的最原始的方法,巨傻无比。 完全就是一个没学过计算机原理或者微机原理的人的代码哈。 连一个数的补码这种计算机第一节课的内容都还给老师了。。
 
附上最简便的一个解法:
class Solution(object):
def findComplement(self, num):
i = 1
while i <= num:
i = i << 1
return (i - 1) ^ num

以为其实一个补码就是一个数与另外一个全1的数进行异或处理哈。
鄙视自己!!!
 
 
继续阅读 »
Given a positive integer, output its complement number. The complement strategy is to flip the bits of its binary representation.

Note:


The given integer is guaranteed to fit within the range of a 32-bit signed integer.
You could assume no leading zero bit in the integer’s binary representation.

Example 1:
 
Input: 5
Output: 2
Explanation: The binary representation of 5 is 101 (no leading zero bits), and its complement is 010. So you need to output 2.

Input: 1
Output: 0
Explanation: The binary representation of 1 is 1 (no leading zero bits), and its complement is 0. So you need to output 0.

解决方法:
class Solution(object):
def findComplement(self, num):
"""
:type num: int
:rtype: int
"""
result=[]
while num!=0:
remainder=num%2
num=num/2
result.append(remainder)
l=len(result)

for i in range(l/2):
temp=result[i]
result[i]=result[l-i-1]
result[l-i-1]=temp
lam=lambda x:abs(x-1)

for i in range(l):
result[i]=lam(result[i])

#print result
sum=0
for i in range(l):
sum=sum+result[l-i-1]*pow(2,i)
return sum

PS: 上面的方法是第一次开始做的最原始的方法,巨傻无比。 完全就是一个没学过计算机原理或者微机原理的人的代码哈。 连一个数的补码这种计算机第一节课的内容都还给老师了。。
 
附上最简便的一个解法:
class Solution(object):
def findComplement(self, num):
i = 1
while i <= num:
i = i << 1
return (i - 1) ^ num

以为其实一个补码就是一个数与另外一个全1的数进行异或处理哈。
鄙视自己!!!
 
  收起阅读 »

leetcode Day2 Hamming Distance 海明距离

The Hamming distance between two integers is the number of positions at which the corresponding bits are different.

Given two integers x and y, calculate the Hamming distance.

Note:
0 ≤ x, y < 231.

Example:
 
Input: x = 1, y = 4

Output: 2

Explanation:
1 (0 0 0 1)
4 (0 1 0 0)
↑ ↑

The above arrows point to positions where the corresponding bits are different.

中文的大概意思是,两个数取异或,然后看异或后,1的个数,也就是二进制数中不同位的个数。 这编码常用于信道编码。
 
python中异或用符号^, 然后python自带一个函数bin(),可以把一个数转换为二进制。
转为为二进制后,再用一个循环计算1出现的个数。
 
上代码:
 
x=10
y=20
z=x^y
#solution 1
s=bin(z)
print type(s)
distance=0
for i in s[2:]:
if i=='1':
distance+=1
print "distance is %d" %distance
继续阅读 »
The Hamming distance between two integers is the number of positions at which the corresponding bits are different.

Given two integers x and y, calculate the Hamming distance.

Note:
0 ≤ x, y < 231.

Example:
 
Input: x = 1, y = 4

Output: 2

Explanation:
1 (0 0 0 1)
4 (0 1 0 0)
↑ ↑

The above arrows point to positions where the corresponding bits are different.

中文的大概意思是,两个数取异或,然后看异或后,1的个数,也就是二进制数中不同位的个数。 这编码常用于信道编码。
 
python中异或用符号^, 然后python自带一个函数bin(),可以把一个数转换为二进制。
转为为二进制后,再用一个循环计算1出现的个数。
 
上代码:
 
x=10
y=20
z=x^y
#solution 1
s=bin(z)
print type(s)
distance=0
for i in s[2:]:
if i=='1':
distance+=1
print "distance is %d" %distance
收起阅读 »

leetcode Day1 Two Sum 两数之和

题目:
Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

Example:
Given 
nums = [2, 7, 11, 15], target = 9, 
Because nums[0] + nums[1] = 2 + 7 = 9, 
return [0, 1].
 
中文意思就是,给定输入一个列表和一个目标数, 输出的是两个数的下标,这个数的对应的值相加,等于目标数。
 
上代码:

def twoSum(nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
indics=[]
for i in range(len(nums)-1):
#使用两次循环,类似于冒泡算法,尝试每个数和另外一个数的和,枚举
for j in range(i+1,len(nums)):
if target== nums[i]+nums[j]:
indics.append(i)
indics.append(j)
return indics

 
继续阅读 »
题目:
Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

Example:
Given 
nums = [2, 7, 11, 15], target = 9, 
Because nums[0] + nums[1] = 2 + 7 = 9, 
return [0, 1].
 
中文意思就是,给定输入一个列表和一个目标数, 输出的是两个数的下标,这个数的对应的值相加,等于目标数。
 
上代码:

def twoSum(nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
indics=[]
for i in range(len(nums)-1):
#使用两次循环,类似于冒泡算法,尝试每个数和另外一个数的和,枚举
for j in range(i+1,len(nums)):
if target== nums[i]+nums[j]:
indics.append(i)
indics.append(j)
return indics

  收起阅读 »

每天一道leetcode题目 30天尝试新事情

忽然觉得自己基础知识忘了不少。所以打算做做传说中的刷题神器--leetcode。 题目在官网: https://leetcode.com
 
从接受度排序,先挑战接受度高的题目,然后循序渐进。
 
每天更新在这个帖子里面。 (最近发现另外一个在线编程练习网站lintcode,题目都免费,而且适合国内的公司,也开始在做了,这些题目后面会在这个贴子里更新吧)
 
Day 1 2017-2-25
leetcode Day1 Two Sum 两数之和
http://30daydo.com/article/145
 
Day 2 2017-2-26
leetcode Day2 Hamming Distance 海明距离​
http://30daydo.com/article/146

Day3 2017-2-27
leetcode Day3 complement number 【补码】
http://30daydo.com/article/147 

Day4 2017-2-28
leetcode Day4 Keyboard Row 键盘中的行
http://30daydo.com/article/148
 
Day4 2017-3-1
Day5 leetcode Next Greater Element 下一个更大的元素​
http://30daydo.com/article/150
 
Day4 2017-3-7
Day6 leetcode Fizz Buzz 字符转换游戏(实在不知道该怎么翻译这个)​
http://30daydo.com/article/151
 
 
 
继续阅读 »
忽然觉得自己基础知识忘了不少。所以打算做做传说中的刷题神器--leetcode。 题目在官网: https://leetcode.com
 
从接受度排序,先挑战接受度高的题目,然后循序渐进。
 
每天更新在这个帖子里面。 (最近发现另外一个在线编程练习网站lintcode,题目都免费,而且适合国内的公司,也开始在做了,这些题目后面会在这个贴子里更新吧)
 
Day 1 2017-2-25
leetcode Day1 Two Sum 两数之和
http://30daydo.com/article/145
 
Day 2 2017-2-26
leetcode Day2 Hamming Distance 海明距离​
http://30daydo.com/article/146

Day3 2017-2-27
leetcode Day3 complement number 【补码】
http://30daydo.com/article/147 

Day4 2017-2-28
leetcode Day4 Keyboard Row 键盘中的行
http://30daydo.com/article/148
 
Day4 2017-3-1
Day5 leetcode Next Greater Element 下一个更大的元素​
http://30daydo.com/article/150
 
Day4 2017-3-7
Day6 leetcode Fizz Buzz 字符转换游戏(实在不知道该怎么翻译这个)​
http://30daydo.com/article/151
 
 
  收起阅读 »

ubuntu 使用vnv连接win7 出现错误 Too many security failures

ubuntu版本是12.04, windows是win7 旗舰版
在ubuntu中使用vnc连接win7, 出现错误:
 
Tue Feb 21 19:56:56 2017
 CConn:       connected to host 10.19.133.255 port 5900
 CConnection: Server supports RFB protocol version 3.3
 CConnection: Using RFB protocol version 3.3
 main:        Too many security failures
  
而另外一台win7由于之前设置过一次,ubuntu可以正常连接,不过这台新安装的vnc的机子就不行了。
出现上面的错误。
 
谷歌后得到里解决办法,亲测可以解决问题。

先到vnc server的设置选项中,选择专家模式中(Expect),在securityType中,把这个值改成RFB后,然后在再回到设置菜单的第一个安全选项,加密方式改成vnc,把windows登陆的方式清掉。如果不行,重复这个步骤多几次就可以了。
 
继续阅读 »
ubuntu版本是12.04, windows是win7 旗舰版
在ubuntu中使用vnc连接win7, 出现错误:
 
Tue Feb 21 19:56:56 2017
 CConn:       connected to host 10.19.133.255 port 5900
 CConnection: Server supports RFB protocol version 3.3
 CConnection: Using RFB protocol version 3.3
 main:        Too many security failures
  
而另外一台win7由于之前设置过一次,ubuntu可以正常连接,不过这台新安装的vnc的机子就不行了。
出现上面的错误。
 
谷歌后得到里解决办法,亲测可以解决问题。

先到vnc server的设置选项中,选择专家模式中(Expect),在securityType中,把这个值改成RFB后,然后在再回到设置菜单的第一个安全选项,加密方式改成vnc,把windows登陆的方式清掉。如果不行,重复这个步骤多几次就可以了。
  收起阅读 »

python 遍历文件夹 删除 txt后缀的文件(或者其他符合规律的文件)

使用cabilre生产的电子书文件目录下,会有一个txt和aw3格式的两个文件,但是放入电子书kindle中只需要一个aw3就好了,不然重复的文件会在kindle上显示2本一样的书
 
代码如下:
# -*-coding=utf-8-*-
__author__ = 'Rocky'
import os,re

cwd=os.getcwd()
p=re.compile('\.txt')
print cwd
for dirpath, dirname,filename in os.walk(cwd):
#print dirpath,dirname,filename
#print dirpath
print dirname
print type(filename)
if filename is not None:
for i in filename:
#if filename is not None:

if p.search(i):
os.remove(os.path.join(dirpath,i))
继续阅读 »
使用cabilre生产的电子书文件目录下,会有一个txt和aw3格式的两个文件,但是放入电子书kindle中只需要一个aw3就好了,不然重复的文件会在kindle上显示2本一样的书
 
代码如下:
# -*-coding=utf-8-*-
__author__ = 'Rocky'
import os,re

cwd=os.getcwd()
p=re.compile('\.txt')
print cwd
for dirpath, dirname,filename in os.walk(cwd):
#print dirpath,dirname,filename
#print dirpath
print dirname
print type(filename)
if filename is not None:
for i in filename:
#if filename is not None:

if p.search(i):
os.remove(os.path.join(dirpath,i))
收起阅读 »

kindle居然对txt格式的文件兼容性不好

在网上下载了一些txt格式的电子书,放到kindle上看居然不能翻页,就是一直停留在第一页。坑爹的。
不过还好,直接使用calibre这个电子书生产软件可以批量转为kindle的格式mobi或者epub的,然后再拷贝到kindle上看。
在网上下载了一些txt格式的电子书,放到kindle上看居然不能翻页,就是一直停留在第一页。坑爹的。
不过还好,直接使用calibre这个电子书生产软件可以批量转为kindle的格式mobi或者epub的,然后再拷贝到kindle上看。

一次股价拉升的一次局


我一直纳闷,为什么有些人,一起喝个茶,熏香也就罢了,竟然还要沐浴更衣!

装个逼而尔,要不要装得这么逼真?


直到大年初六,我才发现,喝茶之前沐浴更衣,也不全是为了装逼,真相竟然是!

「01」


初六日,宜,会亲友,订盟;忌,嫁娶。


一个姓赖的基金负责人,我习惯性叫他老赖,一大早召唤我,说晚上带我去喝茶涨涨见识,当然顺带也让我帮他吹吹,什么是互联网金融。


如果不是老赖提前告诉我是去喝茶,我真以为他带我去桑拿,沐浴更衣不说,还要换上一次性衣服,连条自己的裤衩也不准穿,这不是桑拿的流程吗?


流程走完之后,然后才是领班领着我们去了茶室。


为什么是领班领着我们去?那是因为,又是一个私人会所,必须是会员提前预约才能准入。


然后,我就第一次,近距离见到了老卢,传说中的四大神油之一的中地沟油老总,股票代码600XXX。

老赖和卢总一见面就扯家常,显得很熟的样子,那情形甚至让我怀疑,他俩向上数三代是一家,又或者他俩一起嫖过。


我完全没顾及他俩扯了些什么家常,因为,泡茶的妹子很漂亮!


妹子有多漂亮?这么说吧,第一次和她对视一眼,我就觉得我们已经认识了五百年,妹子的漂亮,在于亲和力爆表。


妹子不仅亲和力强,还肌如凝脂,吹弹可破,尤其深V下的双峰,青筋若隐若现,随着呼吸的节奏,微微一荡一荡,活脱脱两只熟透了的水蜜桃啊,我擦!


妹子冲我微微一笑,笑容中带三分羞涩,三分成熟,三分无邪,三分妩媚。笑得我心中轻轻一荡,然后就有一种冲上前,抓住她的胸,哦,不对,应该是抓住她的手,诉说五百年衷肠的冲动。


如果不是身边还有两个大男人,这会儿,我估计我已因猥亵少女罪,蹲局子里去了。


喝个茶而尔,不准穿裤衩也就罢了,为什么还要找这么漂亮的妹子泡茶,还让不让人活了?
「02」

老赖说,老卢,2017年,我们打算做个局。


话题终于转到正题上了。


卢总举起茶杯,淡淡说,说说你的方案。


老赖说,咱们合作多年,我就直说了,中地沟油从48块阴跌至目前8块,并且在8块的左右的位置已经振荡了好几年,经过我们的评估,是时候做个局了。


我们的计划是,2017年上半年,花半年的时间洗盘吸筹,下半年快速拉升,最高拉升至32块左右,然后再花几个月的时间出货。


这个过程,我们需要卢总方面配合,上半年,需要贵方在会计做账方面,将公司前两季度做成亏损,同时适时推出一些利空消息。


第三季度,需要贵公司推出一些利多消息,第四季度,在会计方面,尽量实现账面盈利。


作为回报,我方允许贵公司高层在8块左右买入,下半年24块左右卖出公司二级市场股票,但总买入资金量不能超过2亿,至于公司高层如何分配额度,我方不过问。


也就是说,2017年,允许贵方相关人员最大套现4亿现金。


老赖还没说完,我感觉自己惊出了一身冷汗,这事儿也忒大了,比猥亵少女罪大多了,万一事发,够一票人蹲很久的局子。


此时我才明白,喝茶前沐浴更衣,不准穿裤衩,不是为了更逼真地装逼,而是为了杜绝一切窃听的可能性。


想到这一层,我突然间屌丝本性又发作,寻思,我们没有穿裤衩,泡茶的妹子有没有穿裤衩?


我忍不住向她瞄了一眼,尼玛,没穿胸衣!


我的脸在发烧。

「03」


我们喝了三个小时的茶,老赖和卢总愉快的聊了三个小时,我自己差不多发懵了三个小时。


回去的车上,冷风一吹,我才清醒过来,一思索,发现了很多问题。


我问:老赖,公司高管买卖自己公司的股票是不合法规的,怎么解决这个问题?


老赖说:法规是死的,人是活的,自己不能买卖,不代表自己的亲朋好友不可以买卖,变通一下,和自己买卖有什么区别?


我问:这么一个局,我的好像起不了什么作用,为什么要拖我下水?


老赖说:以前我们做局,每次出货,需要花好大几百万做传统广告,比如一个电视推荐股票广告,就花掉我们好大几十万,效果却一般。互联网时代,一个大V随便帮我们转发一下,就会有上千万人能看到我们的广告,成本却只有十几二十万。


我说:我粉丝才几万,帮不了多大忙。


老赖说:但是你却能帮我鉴定哪些大V是真大V,哪些大V的粉丝不是僵尸粉。作为回报,同样,你可以8块建仓,什么时候出货,随便你了,反正你那百十万也影响不了大局,哈哈。


我说:这事儿我觉得有点不厚道,散户好可怜。


老赖说:这就是格局问题了,如果你是草原上的一只羊,狮子吃你的同类,你会觉得羊很可怜,如果你是草原上的一只狮子,所有的羊,在你眼里只是食物,无关可怜。


老赖继续说:引用周星驰电影里一句经典台词,我不是针对谁,在我眼里,所有散户都是待宰的羔羊,敢到金融投机市场里混,就要承受着弱肉强食的游戏规则。

我问:这事儿难道就没有风险?

老赖说:有,风险有几个方面。

第一,合作方没有契约精神,例如上市公司高管不遵守约定,私自将2亿的资金增加到5亿甚至更多,那样搞,我们基本上就没什么利润了。

不过,一般情况下,合作方也不敢这么搞,因为如果他们吸筹太多,我们也不敢拉升股价,等于大家都吃不了兜着。

第二,其它大资金,在拉升之前必须将他们洗出去,洗不掉他们,冒然拉升,等于给他们抬轿。

至于散户平时所说的抢庄,都是意淫,如果没有打通上市公司各个环节,大资金是不太可能抢庄的,乱抢庄等于肉包子打狗,除非把狗撑死,否则很难抢过来。

第三,大盘不给力,如果吸筹太多,大盘却猛砸,等于把自己给套了。如果下半年大盘没行情,强行拉升,高位没有散户接盘,也等于白拉了,还有可能让前期48块套牢的散户给解套了。


所以,做一个局,风险也挺大,前两点可以通过谋略和技术搞定,第三点却是天意了,所谓,谋事在人,成事在天。


至于散户,那只是砧板上的肉,怎么宰杀散户,我们的操盘团队和团队控制下的散布在全国几百上千的账户,绝对会比你想像中还要专业。

上半年,通过公司利空消息,洗掉一部分消息派,将他们的筹码低价抢过来。


技术上,配合着利空消息杀跌、做下跌形态,再洗掉一部分技术派,这么来来回回折腾半年,再坚持的散户也会被洗得怀疑人生,自然交出手中筹码。


下半年,配合着公司的利好消息,同时技术上做上升形态,开始派筹码,将高价筹码派发给散户。

此时,广告很关键,需要大面积的媒体推荐我们的股票,包括传统的电视纸媒,还有现在的互联网大V,你的互联网金融思维作用在这里。


我说:按你这么一说,在这个市场里,散户根本没有活命的可能了?


老赖说:也不全是,举个例子,比如像你这种玩交易系统的散户,洗掉又回来,洗掉又回来,怎么折腾都不跑,就像牛皮癣一样,想要除掉他们,除非不拉升。


好在,市场里,交易智商能达到玩交易系统的散户不多,不足以影响我们的整体盈利。但是,如果他们的资金大到影响价格的程度,那是相当头痛的,必须要想方设法洗掉的。为什么玩交易系统的很难玩大,原因就在这里。


你的K线之外,天天讲交易系统,对我们其实是很不好友的,好在,市场上愿意接受交易系统思想的散户太少,那怕你叫上天,也不会有多少人响应,所以,我也就不介意和你合作一把。


还有一种散户,买入股票之后就不看盘了,这类散户也是我们没办法清洗的。


好在,市场那么大,也不能老想着自己全独吃了是不?


我问:公司高管的2亿配额,就是传说中的老鼠仓吧?他们赚钱真TMD容易。


老赖说:凌六,咱们都是聪明人,都不傻,关于一个局的利益分配,上市公司高管是一层,另一层是基金高管及相关利益群体,比如我们都算,如果我说我没点仓,你也不信是不?还有一些不能说的群体,只有这些群体都吃饱了,才轮到基民喝点剩汤。

(注:经网友提醒注明一下,本文所讲并非中石油,只是聊个故事,至于故事是真是假,不是那么重要了。我擦,谁赞赏了我200多,手抖了吧?)
继续阅读 »

我一直纳闷,为什么有些人,一起喝个茶,熏香也就罢了,竟然还要沐浴更衣!

装个逼而尔,要不要装得这么逼真?


直到大年初六,我才发现,喝茶之前沐浴更衣,也不全是为了装逼,真相竟然是!

「01」


初六日,宜,会亲友,订盟;忌,嫁娶。


一个姓赖的基金负责人,我习惯性叫他老赖,一大早召唤我,说晚上带我去喝茶涨涨见识,当然顺带也让我帮他吹吹,什么是互联网金融。


如果不是老赖提前告诉我是去喝茶,我真以为他带我去桑拿,沐浴更衣不说,还要换上一次性衣服,连条自己的裤衩也不准穿,这不是桑拿的流程吗?


流程走完之后,然后才是领班领着我们去了茶室。


为什么是领班领着我们去?那是因为,又是一个私人会所,必须是会员提前预约才能准入。


然后,我就第一次,近距离见到了老卢,传说中的四大神油之一的中地沟油老总,股票代码600XXX。

老赖和卢总一见面就扯家常,显得很熟的样子,那情形甚至让我怀疑,他俩向上数三代是一家,又或者他俩一起嫖过。


我完全没顾及他俩扯了些什么家常,因为,泡茶的妹子很漂亮!


妹子有多漂亮?这么说吧,第一次和她对视一眼,我就觉得我们已经认识了五百年,妹子的漂亮,在于亲和力爆表。


妹子不仅亲和力强,还肌如凝脂,吹弹可破,尤其深V下的双峰,青筋若隐若现,随着呼吸的节奏,微微一荡一荡,活脱脱两只熟透了的水蜜桃啊,我擦!


妹子冲我微微一笑,笑容中带三分羞涩,三分成熟,三分无邪,三分妩媚。笑得我心中轻轻一荡,然后就有一种冲上前,抓住她的胸,哦,不对,应该是抓住她的手,诉说五百年衷肠的冲动。


如果不是身边还有两个大男人,这会儿,我估计我已因猥亵少女罪,蹲局子里去了。


喝个茶而尔,不准穿裤衩也就罢了,为什么还要找这么漂亮的妹子泡茶,还让不让人活了?
「02」

老赖说,老卢,2017年,我们打算做个局。


话题终于转到正题上了。


卢总举起茶杯,淡淡说,说说你的方案。


老赖说,咱们合作多年,我就直说了,中地沟油从48块阴跌至目前8块,并且在8块的左右的位置已经振荡了好几年,经过我们的评估,是时候做个局了。


我们的计划是,2017年上半年,花半年的时间洗盘吸筹,下半年快速拉升,最高拉升至32块左右,然后再花几个月的时间出货。


这个过程,我们需要卢总方面配合,上半年,需要贵方在会计做账方面,将公司前两季度做成亏损,同时适时推出一些利空消息。


第三季度,需要贵公司推出一些利多消息,第四季度,在会计方面,尽量实现账面盈利。


作为回报,我方允许贵公司高层在8块左右买入,下半年24块左右卖出公司二级市场股票,但总买入资金量不能超过2亿,至于公司高层如何分配额度,我方不过问。


也就是说,2017年,允许贵方相关人员最大套现4亿现金。


老赖还没说完,我感觉自己惊出了一身冷汗,这事儿也忒大了,比猥亵少女罪大多了,万一事发,够一票人蹲很久的局子。


此时我才明白,喝茶前沐浴更衣,不准穿裤衩,不是为了更逼真地装逼,而是为了杜绝一切窃听的可能性。


想到这一层,我突然间屌丝本性又发作,寻思,我们没有穿裤衩,泡茶的妹子有没有穿裤衩?


我忍不住向她瞄了一眼,尼玛,没穿胸衣!


我的脸在发烧。

「03」


我们喝了三个小时的茶,老赖和卢总愉快的聊了三个小时,我自己差不多发懵了三个小时。


回去的车上,冷风一吹,我才清醒过来,一思索,发现了很多问题。


我问:老赖,公司高管买卖自己公司的股票是不合法规的,怎么解决这个问题?


老赖说:法规是死的,人是活的,自己不能买卖,不代表自己的亲朋好友不可以买卖,变通一下,和自己买卖有什么区别?


我问:这么一个局,我的好像起不了什么作用,为什么要拖我下水?


老赖说:以前我们做局,每次出货,需要花好大几百万做传统广告,比如一个电视推荐股票广告,就花掉我们好大几十万,效果却一般。互联网时代,一个大V随便帮我们转发一下,就会有上千万人能看到我们的广告,成本却只有十几二十万。


我说:我粉丝才几万,帮不了多大忙。


老赖说:但是你却能帮我鉴定哪些大V是真大V,哪些大V的粉丝不是僵尸粉。作为回报,同样,你可以8块建仓,什么时候出货,随便你了,反正你那百十万也影响不了大局,哈哈。


我说:这事儿我觉得有点不厚道,散户好可怜。


老赖说:这就是格局问题了,如果你是草原上的一只羊,狮子吃你的同类,你会觉得羊很可怜,如果你是草原上的一只狮子,所有的羊,在你眼里只是食物,无关可怜。


老赖继续说:引用周星驰电影里一句经典台词,我不是针对谁,在我眼里,所有散户都是待宰的羔羊,敢到金融投机市场里混,就要承受着弱肉强食的游戏规则。

我问:这事儿难道就没有风险?

老赖说:有,风险有几个方面。

第一,合作方没有契约精神,例如上市公司高管不遵守约定,私自将2亿的资金增加到5亿甚至更多,那样搞,我们基本上就没什么利润了。

不过,一般情况下,合作方也不敢这么搞,因为如果他们吸筹太多,我们也不敢拉升股价,等于大家都吃不了兜着。

第二,其它大资金,在拉升之前必须将他们洗出去,洗不掉他们,冒然拉升,等于给他们抬轿。

至于散户平时所说的抢庄,都是意淫,如果没有打通上市公司各个环节,大资金是不太可能抢庄的,乱抢庄等于肉包子打狗,除非把狗撑死,否则很难抢过来。

第三,大盘不给力,如果吸筹太多,大盘却猛砸,等于把自己给套了。如果下半年大盘没行情,强行拉升,高位没有散户接盘,也等于白拉了,还有可能让前期48块套牢的散户给解套了。


所以,做一个局,风险也挺大,前两点可以通过谋略和技术搞定,第三点却是天意了,所谓,谋事在人,成事在天。


至于散户,那只是砧板上的肉,怎么宰杀散户,我们的操盘团队和团队控制下的散布在全国几百上千的账户,绝对会比你想像中还要专业。

上半年,通过公司利空消息,洗掉一部分消息派,将他们的筹码低价抢过来。


技术上,配合着利空消息杀跌、做下跌形态,再洗掉一部分技术派,这么来来回回折腾半年,再坚持的散户也会被洗得怀疑人生,自然交出手中筹码。


下半年,配合着公司的利好消息,同时技术上做上升形态,开始派筹码,将高价筹码派发给散户。

此时,广告很关键,需要大面积的媒体推荐我们的股票,包括传统的电视纸媒,还有现在的互联网大V,你的互联网金融思维作用在这里。


我说:按你这么一说,在这个市场里,散户根本没有活命的可能了?


老赖说:也不全是,举个例子,比如像你这种玩交易系统的散户,洗掉又回来,洗掉又回来,怎么折腾都不跑,就像牛皮癣一样,想要除掉他们,除非不拉升。


好在,市场里,交易智商能达到玩交易系统的散户不多,不足以影响我们的整体盈利。但是,如果他们的资金大到影响价格的程度,那是相当头痛的,必须要想方设法洗掉的。为什么玩交易系统的很难玩大,原因就在这里。


你的K线之外,天天讲交易系统,对我们其实是很不好友的,好在,市场上愿意接受交易系统思想的散户太少,那怕你叫上天,也不会有多少人响应,所以,我也就不介意和你合作一把。


还有一种散户,买入股票之后就不看盘了,这类散户也是我们没办法清洗的。


好在,市场那么大,也不能老想着自己全独吃了是不?


我问:公司高管的2亿配额,就是传说中的老鼠仓吧?他们赚钱真TMD容易。


老赖说:凌六,咱们都是聪明人,都不傻,关于一个局的利益分配,上市公司高管是一层,另一层是基金高管及相关利益群体,比如我们都算,如果我说我没点仓,你也不信是不?还有一些不能说的群体,只有这些群体都吃饱了,才轮到基民喝点剩汤。

(注:经网友提醒注明一下,本文所讲并非中石油,只是聊个故事,至于故事是真是假,不是那么重要了。我擦,谁赞赏了我200多,手抖了吧?) 收起阅读 »

淘宝每天自动领取金币/京东每天自动领取金豆/苏宁打卡获取云钻

看到某些人天天手动打卡,领取这些小奖励。虽然很少,不过,也是财富嘛。 白送白不要。 这些奖励在购物的时候可以抵消相应的金额。
 
所以写了个小程序来模拟人工,每天帮你自动打卡哈。(需要连接你的手机在电脑,然后执行程序。)
手机配置是1920x1080的屏幕分辨率,如果不是的话修改下代码(主要是触摸的坐标),就可以运行的啦。
 
#京东京豆
def jd():
d.screen.on()
d.press.home()
activity_name='com.jingdong.app.mall/.main.MainActivity'
launch_app(activity_name)

if not d(text=u'领京豆').wait.exists(timeout=20*1000):
print "Failed to get the page"
return
d(text=u'领京豆').click()
dou_x=853
dou_y=400

#glaxy_x=yun_x*gallery*full/cuizi_full
time.sleep(15)
d.click(dou_x,dou_y)
print "JD done"
 
#苏宁云钻
def suning():
#苏宁在6点之后
global displayWidth
global displayHeight
d.screen.on()
d.press.home()
'''
#解锁,没有密码的情况下
sx=560
sy=1700
ex=560
ey=900
#d.swipe(sx,sy,ex,ey,steps=2)

#d(scrollable=True).fling.horiz.forward()
#d(text=u'苏宁易购').swipe.right()
home_swipe_sx=950
home_swipe_sy=1350
home_swipe_ex=450
home_swipe_ey=1350
while not d(text=u"苏宁易购").exists:
d.swipe(home_swipe_sx,home_swipe_sy,home_swipe_ex,home_swipe_ey,steps=2)
time.sleep(3)
d(text=u'苏宁易购').click()
#time.sleep(10)
'''
activity_name='com.suning.mobile.ebuy/.base.host.InitialActivity'
launch_app(activity_name)
if not d(text=u'领云钻').wait.exists(timeout=20*1000):
print "Failed to get the page"
return
d(text=u'领云钻').click()
yun_x=372
yun_y=1524

#glaxy_x=yun_x*gallery*full/cuizi_full
time.sleep(15)
d.click(yun_x,yun_y)
time.sleep(10)

daka_x=displayWidth/2
daka_y=displayHeight/2
d.click(daka_x,daka_y)
time.sleep(20)
print "Sunning Done"

#淘宝的金币
def taobao_cuizi():
d.screen.on()
d.press.home()
#解锁,没有密码的情况下
'''
sx=560
sy=1700
ex=560
ey=900
#d.swipe(sx,sy,ex,ey,steps=2)

#d(scrollable=True).fling.horiz.forward()
home_swipe_sx=950
home_swipe_sy=1350
home_swipe_ex=450
home_swipe_ey=1350
while not d(text=u"手机淘宝").exists:
d.swipe(home_swipe_sx,home_swipe_sy,home_swipe_ex,home_swipe_ey,steps=2)
time.sleep(3)
d(text=u'手机淘宝').click()
'''
activity_name='com.taobao.taobao/com.taobao.tao.homepage.MainActivity3'
launch_app(activity_name)
if d(text=u'领金币').wait.exists(timeout=12*1000):
#print "Dismiss update"
d(text=u'领金币').click()
#登录账号,刷新下即可

time.sleep(15)
jb_x=900
jb_y=370
d.click(jb_x,jb_y)

完整代码:
https://github.com/Rockyzsu/red_bag
 
继续阅读 »
看到某些人天天手动打卡,领取这些小奖励。虽然很少,不过,也是财富嘛。 白送白不要。 这些奖励在购物的时候可以抵消相应的金额。
 
所以写了个小程序来模拟人工,每天帮你自动打卡哈。(需要连接你的手机在电脑,然后执行程序。)
手机配置是1920x1080的屏幕分辨率,如果不是的话修改下代码(主要是触摸的坐标),就可以运行的啦。
 
#京东京豆
def jd():
d.screen.on()
d.press.home()
activity_name='com.jingdong.app.mall/.main.MainActivity'
launch_app(activity_name)

if not d(text=u'领京豆').wait.exists(timeout=20*1000):
print "Failed to get the page"
return
d(text=u'领京豆').click()
dou_x=853
dou_y=400

#glaxy_x=yun_x*gallery*full/cuizi_full
time.sleep(15)
d.click(dou_x,dou_y)
print "JD done"
 
#苏宁云钻
def suning():
#苏宁在6点之后
global displayWidth
global displayHeight
d.screen.on()
d.press.home()
'''
#解锁,没有密码的情况下
sx=560
sy=1700
ex=560
ey=900
#d.swipe(sx,sy,ex,ey,steps=2)

#d(scrollable=True).fling.horiz.forward()
#d(text=u'苏宁易购').swipe.right()
home_swipe_sx=950
home_swipe_sy=1350
home_swipe_ex=450
home_swipe_ey=1350
while not d(text=u"苏宁易购").exists:
d.swipe(home_swipe_sx,home_swipe_sy,home_swipe_ex,home_swipe_ey,steps=2)
time.sleep(3)
d(text=u'苏宁易购').click()
#time.sleep(10)
'''
activity_name='com.suning.mobile.ebuy/.base.host.InitialActivity'
launch_app(activity_name)
if not d(text=u'领云钻').wait.exists(timeout=20*1000):
print "Failed to get the page"
return
d(text=u'领云钻').click()
yun_x=372
yun_y=1524

#glaxy_x=yun_x*gallery*full/cuizi_full
time.sleep(15)
d.click(yun_x,yun_y)
time.sleep(10)

daka_x=displayWidth/2
daka_y=displayHeight/2
d.click(daka_x,daka_y)
time.sleep(20)
print "Sunning Done"

#淘宝的金币
def taobao_cuizi():
d.screen.on()
d.press.home()
#解锁,没有密码的情况下
'''
sx=560
sy=1700
ex=560
ey=900
#d.swipe(sx,sy,ex,ey,steps=2)

#d(scrollable=True).fling.horiz.forward()
home_swipe_sx=950
home_swipe_sy=1350
home_swipe_ex=450
home_swipe_ey=1350
while not d(text=u"手机淘宝").exists:
d.swipe(home_swipe_sx,home_swipe_sy,home_swipe_ex,home_swipe_ey,steps=2)
time.sleep(3)
d(text=u'手机淘宝').click()
'''
activity_name='com.taobao.taobao/com.taobao.tao.homepage.MainActivity3'
launch_app(activity_name)
if d(text=u'领金币').wait.exists(timeout=12*1000):
#print "Dismiss update"
d(text=u'领金币').click()
#登录账号,刷新下即可

time.sleep(15)
jb_x=900
jb_y=370
d.click(jb_x,jb_y)

完整代码:
https://github.com/Rockyzsu/red_bag
  收起阅读 »

微信自动回复 微信小助手

无意中发现itchat这个库,python太牛了,只有想不到,没有做不到哈。
 
用法很简单。
 
#-*-coding=utf-8-*-
import itchat

@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
reply_msg=u'新年快乐! 我是xxx的小秘书,你的消息已收到,主人正忙,稍后会回复你哦~'
return reply_msg

itchat.auto_login(hotReload=True)
itchat.run()

然后运行上面的python文件,用自己的微信扫码登录就可以了。
只要别人发微信给你,对方就可以收到你的自动回复的内容。
 
 
继续阅读 »
无意中发现itchat这个库,python太牛了,只有想不到,没有做不到哈。
 
用法很简单。
 
#-*-coding=utf-8-*-
import itchat

@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
reply_msg=u'新年快乐! 我是xxx的小秘书,你的消息已收到,主人正忙,稍后会回复你哦~'
return reply_msg

itchat.auto_login(hotReload=True)
itchat.run()

然后运行上面的python文件,用自己的微信扫码登录就可以了。
只要别人发微信给你,对方就可以收到你的自动回复的内容。
 
  收起阅读 »