Coder Social home page Coder Social logo

mingyun.github.io's Introduction

mingyun.github.io

github page主页

mingyun.github.io's People

Contributors

lovecn avatar mingyun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mingyun.github.io's Issues

微信的25个隐藏功能

作者:反高潮
链接:https://www.zhihu.com/question/27428780/answer/146056504
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

1 收藏笔记

微信收藏功能其实很强大,可以把你喜欢的人对你说的一句话放到收藏夹,可以把一段语音放到收藏夹,当然还有各种你喜欢的文章都可以放进去。并且你还可以给它们添加标签,方便自己查找。现在还多了收藏笔记的功能,我觉得很实用。

方法是:在【收藏】里点击右上角【+】就可以创建自己的笔记啦。可以把图片,地理位置,语音,文字等等都放到一起。然后写完还可以自己起标题,使用标签进行标注,帮你收藏每一个珍贵的瞬间。也特别有助于提高效率。

最后还可以把这个作为统一的文件直接转发给任意你想要发送的朋友,超级方便啊。

2 声音锁登陆

微信有声音锁登陆功能,就是你在新的手机上登陆或者退出后重新登陆时候不需要再输入密码,说几个数字就可以啦。

方法是:在【设置】中找到第一项【账号与安全】选项,点进去以后找到【声音锁】选项,点进去就可以开始设置啦。然后你就可以用你的声音直接登陆微信啦,识别功能很强大的。

3 面对面建群

微信建群功能越来越完善了,这个面对面建群特别适合刚认识的新朋友,或者在同一聚会上,互相没那么熟悉的人。也可以在各种年会啊,活动上给大家做游戏发红包使用,大家只要输入同一个密码就可以啦。

方法是:在聊天首页右上角选择【发起群聊】选项,进去以后点【面对面建群】,然后随便规定一组四位数,告诉周围人,大家一起输入这个数字就可以进到同一个群组里啦,非常方便。

同时还有一个隐藏的用法就是,你可以自己给自己建个群,随便输入四个数字,这个群里就只有你一个人啦。

和给自己发信息不同,当备忘录的区别就是,建群以后你可以随意更改群名字,设置个你喜欢的,有趣的都行。

然后置顶,变成你自己碎碎念的地方,或者记录以后需要查找的信息,毕竟微博查找功能很强大了已经,以后想不起来的时候可以按时间查找自己的和自己的聊天记录。也把不方便发给别人的信息先发在这里,很实用,现在试试看吧,

此外,听说有人拿着个当练英语口语的好工具呢。毕竟微信语音最多60s,连时间都帮你计算好啦,学生朋友们,尤其是要考雅思托福的朋友们可以这样练起来呀。语音记录还可以批量传给别人,转个你的口语老师让他们帮着检查,超实用有木有。

4 关闭朋友圈更新提醒

这个功能简直就是强迫症患者的福音!节省时间的利器!目前为止微信最有价值的功能没有之一。

好多人现在都在抱怨朋友圈刷掉了自己无数宝贵的时间,但是明知道这些碎片信息没有用会影响自己的生活,还是忍不住去点那个红点。

有人说直接关闭朋友圈功能不就好了么,但有时候这样不太礼貌,或者处于种种原因你不能关闭。我们只是希望不被打扰太多时间,毕竟闲暇的时候浏览一下也蛮有意思的。

关掉这个更新提示就好, 没有红点,你就想不起来去点了,亲测有效。以前一分钟点一次,现在一天时间里,只有我想去看的时候才会点,完全不会不由自主的刷朋友圈了,超级提高效率!

方法是:在【设置】按钮里,找到【新消息通知】选项,最下面,【朋友圈照片更新】按钮关闭就可以啦.

5 偷偷看看你的朋友们都在读啥文章

这个功能,我刚发现那会儿惊到了!直接瞎了啊。还特地发了个微博。这功能太强了,直接暴露人性啊。

朋友圈里的人到底在看哪些文章,可能和你想象的完全不同。别看他们转发到朋友圈时间线上的那些了,可能人家真的喜欢看的内容是羞羞的或者不愿意分享给你的呢。

方法是:在微信聊天界面点进订阅号,然后在最上面搜索文章哪里点一下,会出现一行字【朋友阅读的原创文章】,点进去,你会发现更广阔的的世界。

看完回来你会点赞的,看看朋友圈里都是神马人,多对比几个共同好友的,没准还能缩小范围对号入座呢。

6 不让别人看你以前的朋友圈

女大十八变,很多时候我们都是一年一个样,曾经可能有很挫的照片或者很不开心的朋友圈动态。新加了朋友,不方便屏蔽人家,但也不想让他们看到以前的自己。可以选择只给朋友展示近半年的朋友圈,这样,就算整过容,新的朋友都不会知道啦,哈哈哈哈哈。

方法是:在【设置】里点【隐私】,然后找到最下面的【仅向朋友展示最近半年的朋友圈】选项就可以啦。

PS. 这个上面那个选项也很好用,相信有很多朋友都知道了哈,就是不让陌生人查看你的照片。把默认选项的允许查看十条关掉就可以了。防止那些想要偷窥你生活的人在暗处看你的动态哦。

7 强大的微信搜索功能

新版微信搜索功能越来越厉害了,直接在微信聊天顶部点击搜索,就会自动出现如下显示。可以有针对性的搜索朋友圈的相关内容,比如你想找大家对某个电影的评价,就搜电影的名字,大家对这个电影发过的朋友圈都会显示出来。

此外,还可以单独搜索带关键词的文章,小说等等,最后表情的选项简直就是斗图必备技能啊!随便输入个表情形容词就会出来很多,我输入的是撒娇,你们看看哈。

最下面还有朋友圈热文选项,和之前提到的朋友阅读的原创文章那个有异曲同工之妙哦。

另外,微信强大的搜索功能还体现在时间定位上。

点进去你要搜的朋友信息,可以直接按时间查看她以前的朋友圈,很适合那些发朋友圈很多的人,要不然从头开始翻到底要累死啦。

比如我很喜欢看闺蜜发的她宝宝的照片,尤其是小时候的,但她每天发的图片太多了,不好翻。我就会直接找到宝宝出生的月份点击查看那时候的照片,特别方便。

8 单方面删除好友再加回来,神不知鬼不觉

这个功能介绍的有点心虚,为什么呢,感觉特别适合那些女朋友查手机查的很紧的男生。

有的女朋友会定期查男朋友手机,不允许留女生微信。但是你又不想就这么删除了,也许工作同事,有需要联系呢。

你就可以在通讯录里先删除这个人,然后等手机查完了,再加回来,只要对方没删除你,那么对方是不会收的加好友提醒消息的,神不知鬼不觉,大家都不会察觉到,还是好朋友。非常人性化。

和前面拉黑删除一样,这个其实也很适合那些经常吵架的情侣或者经常撕逼的闺蜜呢。嘿嘿嘿。

9 把看过的消息设为未读

这个很经典的功能,不要告诉别人是我教你的哦。和前面一样,有点心虚,这个是适合女孩子的。

如果你趁男朋友不注意的时候查看他手机,这时候有人给她发来一条微信,你很想知道内容,但是又怕点进去读完了没有新消息提示,等男朋友回头再看手机发现你偷看他消息就尴尬了。

怎么办呢,看完再变成没看过的样子被。

方法是:在聊天界面找到这个人的聊天记录框,轻轻向左滑动,就会出现标为【未读选项】。勾选上,之前消失的红点提示就又回来啦!

不过需要注意的是,这个只能显示一条,如果对方发了好几条,有可能你就穿帮了哦。快去试试吧。

10 批量转发聊天记录

如果你想和一个朋友分享你和别人的聊天记录,绝大多数时候我们可能是选择截屏然后一张图一张图发过去。其实微信有更容易的方法,就是批量发送聊天记录。

方法是:长按任意一条聊天记录,然后选择【更多】按钮,把需要转发的聊天内容全部勾选上,然后点击【转发】图标,【合并转发】给你想要给他看的人就可以了。

11 未读消息保存时间

有的时候太忙,会有很多信息来不及看。有的可能隔了好久都没看,等你想起来要看的到时候发现看不了。

在微信中未读信息的保存时间是从对方发送时间开始计算72小时,72小时之后,这条信息就无法查看啦。这是微信官方自己给出的解释,我还没有试过,你们可以试一试哈。

12 多人在线视频聊天

微信可以支持多人视频聊天。非常适合那些需要远程学习,远程会议的朋友们哈。只要网速没问题,效果还是很不错滴。最多可以支持9个人同时聊天。

方法是:在你们几个人所在的微信群点右下角【+】选择【视频聊天】,然后再选择好聊天成员就可以啦。

13 拉黑或者删除好友的区别

如果对方把你删除或者加入黑名单,你这边有什么显示?

这一点,很适合经常吵架的小盆友们,动不动就删除对方好友又要看对方反应的那种哈。

微信官方给出的解释是,如果对方只是单纯的的删除好用,你发送信息的显示是:

如果对方把你拉黑了,你发送信息的显示是这样的:

还是有区别的哈。

14 星标好友功能

每天联系的,你生命里重要的人,你都可以把你们的聊天对话框置顶以防找不到。和这类超级重视对方功能类似的好友一个叫星标好友。也许很多人知道,我比较out,最近才知道,嘿嘿。

方法是:进入你想设置星标好友的详细资料里,点右上角三个点儿的功能键,在里面把【设为星标朋友】选项打开,

然后就可以在通讯录里最前面找到他们了,以后需要找的时候不用挨个翻一直翻到最下面了,直接看上面的就好啦。

15 摇一摇听歌 扫一扫查单词

微信摇一摇功能很强大,也许都被你忽略了呢。现在的摇一摇不像以前一样是随便加好友或者所谓的“约炮”工具啦。它还可以帮你找歌曲,参与电视活动。主要还是通过声音识别技术达到的效果。

你可以一边放歌一边选择歌曲选项摇一摇,然后就等着微信帮你听歌识曲吧。不过目前摇到的歌曲只能识别QQ音乐曲库里的歌曲,如果没有在曲库是没办法识别的啦。

扫一扫也是一样,不只是以前扫描二维码的功能啦。还有海报啊,英文啊,街景啊,都可以扫一扫,超级强大,试完你会回来赞我。用完这些功能,真心觉得,是不是手机里只有一个app就足够了啊。

好啦,除此之外,微信还有很多小技能,有的人可能已经知道了,就在下面简单说一下,给那些不知道的朋友提个醒吧。比如:

16 当未读消息太多时候,可以双击微信按钮,一键移动到未读信息那里。很方便,不用自己找了。

17 在群聊里,如果你想at某个人,圈某个人,不用特地在群成员列表里去找他。直接在聊天界面长按这个人头像就可以可以@他啦。很方便的。很适合跟群里不太熟的人说话。

18 微信语音输入功能也很强大,不方便打字的时候试试吧,识别率还是很高的。实在不行,还可以安个输入法插件,比如讯飞输入法语音识别就超级强悍,东北话,粤语,河南话,上海话通通能识别,厉害了。(真的不是广告啊5555)

19 朋友圈发很多张图片的时候,图片显示的顺序和你选图时候打勾的顺序是一样的,如果你想把某张图放在第一个就第一个勾选,九宫格的图如果想选一个放中间,那就把那张图第五个打勾就好啦。

20 为了保护隐私,建议你把通知显示消息详情关掉。这样锁屏状态下来新微信,显示的就是你有一条新信息而不是信息的预览啦。这样你上厕所或者临时不在的时候,在坐的人也看不到你不经意来的一条微信的内容啦。

21 以前的朋友圈不想让别人看,除了之前讲过的把看最近半年朋友圈选项打开之外还有个方法就是,找到那个图片设为私密照片,这样就只有你一个人能看到啦。心情好的时候还可以再变为公开,随意方便。

22 还有一个比较高级的确认对方是不是把你删除好友了的方法是,把你想测试的人拉进一个群里,如果对方删除了你,则系统会提示他不是你的好友,需要通过验证。但记得不要在群里说话哦,不然就尴尬了,测试完退出,群就自然不存在啦,也是神不知鬼不觉。

23 群收款功能也特别强大,朋友聚会必备啊。在一个群里直接选你要收款的人,然后输入每个人的金额,就可以管他们要钱啦。不用单独加好友让他们转账给你。特别适合聚会打牌填坑发红包噢。尤其是大型聚会,微信在群组这方面做的很不错了。如果在推出付费群组功能就更好啦。

24 每条文字信息,双击它,都可以将它放大查看。特别适合老爸老妈爷爷奶奶们。

25 在朋友圈时间线里,长按某个人的头像可以快捷的对这个人设置朋友圈权限,很适合对那些突然某天刷屏刷的你眼睛很烦立刻决定不看他或者不让他看你的人,不用再特地到通讯录里去设置了。

本人是苹果手机,且微信已更新到最新版本。安卓可能有些稍有区别我就不太清楚啦。微信在不断出新,有更新的我也会随时更新上来哈。

更多内容欢迎关注我的微信公众号:fangaochao2015 希望对你们有用么么哒

如何知道对方是不是喜欢自己

作者:杜蕾斯
链接:https://www.zhihu.com/question/26635911/answer/141795922
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

爱情最迷人的地方,就在于将爱未爱时的不确定性。

你怕TA知道又怕TA不知道,更怕TA明明知道还装作不知道。

“TA到底喜不喜欢我?”一定是暧昧期的男女最想知道的事儿,
题主不妨将TA对号入座,做完这套杜式测试题。

测试规则:

请仔细阅读下列选项,如符合事实,请打√

1、总是秒回信息
2、总是问你借东西
3、总是开你的玩笑
4、总是向你请教问题
5、亲手做过东西给你
6、分享过同一杯饮料
7、出门时走在你的左边
8、在你伸手前主动递纸巾
9、愿意吃你吃剩下的东西
10、点赞你的每一条朋友圈
11、对你有一个专属的昵称
12、陪你吃TA不太爱吃东西
13、和你聊生活中的细碎小事
14、说完“晚安”又说“晚安”
15、即使不顺路,也要送你回家
16、关注你养的宠物的相关资讯
17、聊天记录的最后一句是TA说的
18、送你偶然提过一次的很喜欢的东西
19、点赞了你N年前发的第一条朋友圈
20、看到好吃的、好玩的第一个分享给你
21、你生日的时候在0:00时祝你生日快乐
22、你不经意间看TA的时候,TA刚好在看你
23、TA手机相册里至少有一张TA拍的你的照片
24、知道你不喜欢吃的东西,而你从未告诉过TA
25、一群人出去吃饭时,TA要么坐在你旁边,要么坐在你对面

测试结果:

20-25个√有99%的可能性,TA是喜欢你的。
杜杜建议:你们之间的关系就差一层窗户纸了,勇敢捅破它,也许会出现惊喜哦!

11-19个 √有50%的可能性,TA是喜欢你的。
杜杜建议:努力把未选择的选项做完,然后在这个问题下@ TA,看TA什么反应。

4-10个 √有20%的可能性,TA是喜欢你的。
杜杜建议:不如想想你身边是否有另一个TA做到了这二十几条?

0-3个 √
有1%的可能性,TA是喜欢你的。

mysql 5.6 order by limit 翻页数据重复的问题

create table t1(id int primary key, c1 int, c2 varchar(128));
insert into t1 values(1,1,'a');
insert into t1 values(2,2,'b');
insert into t1 values(3,2,'c');
insert into t1 values(4,2,'d');
insert into t1 values(5,3,'e');
insert into t1 values(6,4,'f');
insert into t1 values(7,5,'g');
mysql> select *from t1;
+----+------+------+
| id | c1 | c2 |
+----+------+------+
| 1 | 1 | a |
| 2 | 2 | b |
| 3 | 2 | c |
| 4 | 2 | d |
| 5 | 3 | e |
| 6 | 4 | f |
| 7 | 5 | g |
+----+------+------+
7 rows in set (0.00 sec)

mysql> select *from t1 order by c1 limit 0,3;
+----+------+------+
| id | c1 | c2 |
+----+------+------+
| 1 | 1 | a |
| 3 | 2 | c |
| 4 | 2 | d |
+----+------+------+
3 rows in set (0.00 sec)

mysql> select *from t1 order by c1 limit 3,3;
+----+------+------+
| id | c1 | c2 |
+----+------+------+
| 4 | 2 | d |
| 5 | 3 | e |
| 6 | 4 | f |
+----+------+------+
3 rows in set (0.00 sec)
id为4的这条记录居然同时出现在两次查询中,这明显是不符合预期的,而且在5.5版本中没有这个问题。产生这个现象的原因就是5.6针对limit M,N的语句采用了优先队列,而优先队列采用堆实现,比如上述的例子order by c1 asc limit 0,3 需要采用大小为3的大顶堆;limit 3,3需要采用大小为6的大顶堆。由于c1为2的记录有3条,而堆排序是非稳定的(对于相同的key值,无法保证排序后与排序前的位置一致),所以导致分页重复的现象。为了避免这个问题,我们可以在排序中加上唯一值,比如主键id,这样由于id是唯一的,确保参与排序的key值不相同。将SQL写成如下:

在MySQL 5.6的版本上,优化器在遇到order by limit语句的时候,做了一个优化,即使用了priority queue。……

使用 priority queue 的目的,就是在不能使用索引有序性的时候,如果要排序,并且使用了limit
n,那么只需要在排序的过程中,保留n条记录即可,这样虽然不能解决所有记录都需要排序的开销,但是只需要 sort buffer
少量的内存就可以完成排序。

之所以5.6出现了第二页数据重复的问题,是因为 priority queue使用了堆排序的排序方法,而堆排序是一个不稳定的排序方法,也就是相同的值可能排序出来的结果和读出来的数据顺序不一致。

5.5 没有这个优化,所以也就不会出现这个问题。

也就是说,mysql5.5是不存在本文提到的问题的,5.6版本之后才出现了这种情况。

select * from t1 order by c1,id asc limit 0,3;
select * from t1 order by c1,id asc limit 3,3;
select id,status,c1,c2 from t2 force index(c1) where c1>='b' order by status;
select id,status from t2 force index(c1) where c1>='b' order by status;

https://segmentfault.com/a/1190000004270202
https://bbs.aliyun.com/read/248026.html
http://mysql.taobao.org/monthly/2015/06/04/
SELECT post_title,post_date FROM post WHERE post_status='publish' ORDER BY view_count desc,ID asc LIMIT 5,5
CREATE TABLE tea_course_sort (
course_sort_id int(10) NOT NULL,
course_sort_name varchar(50) DEFAULT NULL,
course_sort_order int(10) DEFAULT NULL,
PRIMARY KEY (course_sort_id),
KEY idx_course_sort_name (course_sort_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO tea_course_sort VALUES (30,'a',0),(39,'b',0),(40,'c',0),(41,'d',0),(60,'e',0),(61,'f',0),(62,'g',0),(72,'h',0),(73,'i',0),(74,'j',0),(75,'k',0),(86,'l',0),(87,'m',0);
mysql> select * from tea_course_sort;
+----------------+------------------+-------------------+
| course_sort_id | course_sort_name | course_sort_order |
+----------------+------------------+-------------------+
| 30 | a | 0 |
| 39 | b | 0 |
| 40 | c | 0 |
| 41 | d | 0 |
| 60 | e | 0 |
| 61 | f | 0 |
| 62 | g | 0 |
| 72 | h | 0 |
| 73 | i | 0 |
| 74 | j | 0 |
| 75 | k | 0 |
| 86 | l | 0 |
| 87 | m | 0 |
+----------------+------------------+-------------------+
13 rows in set (0.00 sec)
select * from tea_course_sort order by tea_course_sort.course_sort_order desc limit 0,10
select * from tea_course_sort order by tea_course_sort.course_sort_order desc limit 10,10
select * from tea_course_sort order by tea_course_sort.course_sort_order desc,course_sort_id asc limit 10,10
+----------------+------------------+-------------------+
| course_sort_id | course_sort_name | course_sort_order |
+----------------+------------------+-------------------+
| 75 | k | 0 |
| 86 | l | 0 |
| 87 | m | 0 |
+----------------+------------------+-------------------+
3 rows in set (0.00 sec)
在线sql http://sqlfiddle.com/ https://github.com/jakefeasel/sqlfiddle http://jsfiddle.net/S3DR9/
runjs.cn codepen.io http://phpfiddle.org/

“不会喝酒”就无法在江湖上立足了吗?

作者:蔡垒磊
链接:https://zhuanlan.zhihu.com/p/25069858
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

春节期间,有位读者问了我一个年轻人有着普遍困惑的问题,于是,今天单开一篇说道说道。

daizhaowen:

蔡叔,过年回家总是被教育要会喝酒以后出社会才能混得开,想问一下不喝酒是不是真的很难在社会上生存。

首先要告诉这位读者的是,这个并非你独有的困惑,我们在某些年龄段肯定是会被人教着做这些事的,其中就包括喝酒,所以这个问题值得拎出来单说。

01 抽烟喝酒的作用

在我处于你这个年龄段时(你应该处于大学时期),有数不清的人这样劝过我,除了喝酒,在劝我抽烟和其他事时,也是同一套说辞,总之不学会XX,就无法在社会上立足。

我想我那个时候,社会的文明程度应该是更低一些,陋习也更多一些,所以在我看到其他人普遍的社交模式以后,应该更容易屈从,但我没有。

为什么呢?因为你想啊,他们口中所说的在社会上立足,不就是能跟绝大多数人混到一块儿去么?喝酒也好、抽烟也罢,都是交流的一个引头,也可以说是创造一个交流的环境罢了,将不同职业、地位、身份、背景的人拉入到同一个群体:烟民或者是酒鬼,这样彼此间的隔阂可以少一些。

它的本质在于“销售宝典”中跟客户寻找到同一种兴趣是一样的。而之所以要学这几样,是由于好此道者众,学了能用上的概率更大一些。

不过,这真的有用吗?你回头看看他们自己,是不是又抽烟又喝酒?那么他们在社交中既然占到了这么多便宜,平均比不会喝酒的人混得好吗?你可以自行统计一下。

之所以他们喜欢劝别人加入他们的群体,并非出于真的关心,而是因为一个群体的基数越大,利用这种方式获得认同感不就越有效么?所以他们是为了群体的安全感,自发地充当志愿者来拉你入伙,由于你还未进入社会,他们就可以以“过来人”的身份教你,因为此时的你没有分辨能力。等你成为他们中的一员,为了社会认同,不管有用没用,也许你也会自发去“教”别人了。

不过现代人惜命如金,“以酒会友”和“以烟会友”恐怕是不会太长久了,抽烟在我看来和吸毒是没有分别的,而酒精是神经抑制剂,过量以后对神经系统的损伤是不可逆的,于是,在我们有了现代基础医学知识打底以后,这两类群体的减少是个必然趋势。

既然趋势如此,这张网络的结点只会不断减少,而他们所认为的这类“技能”(姑且称为技能)的作用只会呈指数级减少,你又何必用力去做没有未来的事情呢?

02 酒是如何助兴的

有人说,社交中有酒才能助兴。

关于这个助兴的说法,我个人是这么解释的,由于酒精的神经抑制作用,会在短时间内将理性部分压抑,释放本性。由于每个人都知道对方戴着面具,于是,这可以看作是一个游戏,谁先将对方的面具撕下来谁赢。

不然你以为是什么?如果都这么发自肺腑地爱好喝酒,那么猜拳的时候该赢的一方喝才对,怎么会是输的人喝呢?很明显,喝酒是一种惩罚性的,尤其是大口喝酒。我们经常喜欢说“感情深,一口闷”,其实潜台词的意思是“你是否会为了不伤害我们的感情而做自己不愿意做的事情”。

我们现在把这种用喝酒来社交的形式叫“酒桌文化”,可别跟“酒文化”混在一起,这完全是两码事。

酒桌文化的主要目的在于抑制理性,大家赤诚相见,卸下伪装,这样聊事情就好聊一些,酒后是为了让你吐真言。为什么这么多人致力于先灌醉别人呢?一个是让别人难受总好过让自己难受,另一个是为了在这场社交中获得一些优势,毕竟比对方多残存一点理性总归是多一点好处。

所以助兴是助什么兴?是用别人助自己的兴。

03 喝酒的必要性

那么行走江湖到底需不需要会喝酒呢?

我们经常听说有人靠着酒量好混得风生水起,这基本就跟说徐翔靠着会看K线成为股神一样。

喝酒,什么问题也解决不了,你觉得你的能力不行,给领导挡两次酒就能高看你了?这种情况只有在公有制的情况下才会发生,因为领导紧张自己的利益大于公家的利益。

你觉得客户在合同里没有得到自己应有的利益,靠你连喝十八杯就跟你签合同了?如果他是老板,我想不出任何理由;如果他是个注重长远利益的采购,我想不管你如何表现,他都会更关注合同的内容;哪怕他只是个短视的小采购,恐怕也更喜闻乐见你用别的方式向他“表忠心”吧。

你以为靠着喝酒搞定的事情,其实在喝酒之前已经搞定了,至于你在酒桌上如何表现,其实从长远来看,真的不会有什么影响。

所以喝酒社交这种事,本身并没有必要或者不必要,只是你愿不愿意加入某个群体,并陪着他们玩游戏而已,记住,那只是个游戏,千万不要将其当成你的社交利器,否则你会做无用功。

我在《你是在社交吗?你这叫瞎忙活!》中已经明确阐明了社交的两个账户:消费账户和工作账户,和朋友小酌两杯并无不可,但不要骗自己是在“工作”,自己一定要清楚自己在使用的是哪个账户。

也许你在酒桌上会有一种幻觉,那就是我好像跟某些人平起平坐了,或者我跟某些人的距离突然就拉近了。很可惜,那仅仅是你的幻觉,你在玩的游戏也许并不比狼人杀要更加管用。

只要你不想喝,你永远都可以不喝,我这么认为,也这么践行。找借口是对对方的尊重,而接受借口是对方对我们的尊重,对于尊重我们的人,我们可以先尊重他们,对于不想尊重我们的人,我们也无需尊重他们。

请记住,你在社会上立足,靠的永远是你自己的价值变现,而不是对某个人意愿的讨好。

酒桌上的印象,就只在酒桌,离开这张桌子,你还是你,他还是他。

常见分手原因

作者:徐强
链接:https://zhuanlan.zhihu.com/p/24974017
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

为什么会分手?

这是一个非常复杂的问题,甚至当事人自己,也未必有清晰的认识。

在后面的文章中,会持续的讨论这个问题。在这里我们先看一下,常见的几类导致关系破裂的原因。

需要说明的是,这几类原因并不是彼此独立的,而往往相互影响共存。

1)失去吸引

在大多数恋爱关系中,恋爱关系确立一段时间后,都会面临吸引力下降的问题。

这样一种下降,普遍的有几个因素:

因素1:新鲜感的下降

其实不仅仅是两性关系,人类普遍对”新鲜“的事情更有好奇心、探索欲。

因素2:挑战感的丧失

对于”求之不得“的事物,我们往往更在意,更投入,觉得更有价值,人类不容易珍惜到手的事物。

因素3:想象加成的丧失

在恋爱的时候,越是缺乏对恋爱和人的经验的人,往往越是更多的”跟想象恋爱“,把理想角色投影到对方身上。现实中的人再优秀,往往也比不上想象。而这样一种加成越大,往往在最终接触现实的时候反弹也会更多。

因素4:热恋效应的丧失

在热恋阶段,被爱冲昏了头的我们,看对方什么都是好的,哪怕脸上有斑斑也是那么的可爱。

因素5:伴侣缺点的显现

走进了才发现对方的弱点,哪怕是女神也会小心眼唠叨欠缺安全感,哪怕是男神也会忙于工作忽略自己。

因素6:性的不和谐

两性关系中性还是一个基本因素。

因素7:滚床单任务达成

有些时候,男人可能追求女性几乎唯一的目的就是滚床单。任务完成,需求下降,开始撤退。

鉴于追求和热恋加成效应丧失的必然型,如果一段关系主要就是建立在”新鲜感、求之不得“基础上的,缺乏更深层次的基础,那走向大幅度淡化几乎是必然的事情。

2)失去关联

关联这个词我用的有些勉强,它来自于英文connection。

所谓失去关联,意思是觉得你好你坏你在做什么,都跟我没什么关系了,无所谓了,已经不在意了。

在长期关系中,单纯的吸引力下降,往往还是可以维持很长的时间,因为感情在。但如果失去牵连了,那就是感情基础都不存在了,解体几乎是必然的事情,除非是外力例如经济需求、有小孩等约束了自然解体。

一段高质量的亲密关系,双方很大程度上是互相开放的,彼此分享自我,响应对方。而当一方开始封闭自我的时候,导向失去关联的路程就开始了。

为什么人们会在关系中封闭自我呢?

在我接触的案例中,最普遍的情况是,一方觉得另外一方缺乏对自己的尊重、理解、接纳、关心,统而言之就是觉得对方不够在意自己。

有趣的是,如果从另外一方的角度,他们的感觉可能恰恰相反,一方面觉得自己在意对方,另外一方面又觉得对方不够在意自己。

有学员跟男生曾经非常甜蜜,然后冷淡,男生说还是做朋友。

我看了她的聊天记录,几乎每个对话都很长,只有一个对话特别短。

长的对话是关于两个人的感情、到哪里去玩,女生都聊的很多。

然后短的对话是什么呢?A

男:我想了很久,准备辞职离开现在的公司了。
男:我的梦想是blablabla…….
女:恭喜你啦
女:有什么需要帮忙的告诉我

其它的对话,女生都会继续聊。但就这个对话,两句概括语言,男生也很难继续下去。

我跟她说:”你看其它话题,比如我们去哪里玩啊,你爱我吗,我今天做什么了,你聊的不亦乐乎。但是男生跟你说他的梦想,他要做职业转变,这种人生重大的事情,你表现出来的明显是并不感兴趣。你到底是感兴趣你感兴趣的呢,还是真正关心他这个人,想要理解他?“

在启动恋爱课之后,我发现最大的一个问题,就是人们往往在说着自己多爱对方的时候,没有意识到自己是多么的自我。

男:今晚看了你的直播,我一直以为自己放下了,没想到再点进去你朋友圈的链接后,又勾起以前跟你的回忆了。欺骗了自己那么久,一直不敢告诉你,原来我还是那么喜欢你。
男:现在也慢慢打消了追回你的念头,我在走出来,只是走的比较慢。
男:今晚告诉你这些,并没有其它想法,只是不想欺骗自己,跟你说清这一切。
男:我爱你,真心的,不过这应该是这辈子最后一次跟你说了。
男:晚安
女:刚刚洗完澡
女:其实我现在的状态 真的不适合恋爱
女:我也不知道最终我会怎么选择 但是的确 有越来越多的人离开了我
男:我的状态也不适合
男:你很优秀
男:只是我错过了你
女:没有谁错过谁
女:只是每个人步伐不一样
男:每个人想要的不一样
男:从分手后,就想跟你做回朋友,然后慢慢培养感情。可是到了真正跟你聊那一刻,我才发现自己根本放不下
男:或者,我以为爱过之后可以做回朋友,其实对我来说并不能
女:顺其自然就好,不必强求做回朋友
男:嗯嗯
男:那样子以后也不会经常想找什么借口去找你
男:也不用装的那么洒脱

女生说”其实我现在的状态,真的不适合恋爱。我也不知道最终我会怎么选择,但是的确,有越来越多的人离开了我“。

我问男生”越来越多的人离开了她,是指谁?“

他说不知道。

这句话听上去,感觉是女生的环境在发生一些改变。如果你真的是在关心,很自然的可能会去问怎么回事。即使当时情绪发泄,下来回看记录,也可以发现问题尝试去了解对方。

当一个人觉得“你没有听,你只是在关注你自己”的时候,往往逐渐的就开始关闭自己了,毕竟沟通了也是白沟通。越关闭,互动越少,感情越淡。

3)失去平衡

健康的长期关系往往是平衡的。当一个人觉得关系失去了平衡,或者这段关系和人生中其它因素失去了平衡,可能导致难以继续。

这可能是得到和付出的平衡。常见的例如在追求阶段,追求者一直在付出争取,为了“得到对方”甚至要忍受自己不喜欢的事情,然后进入关系之后还可能维持这样的模式一段时间。但内心的不满在积累(哪怕当初他们认为一切都是值得的),到某一天决定不再继续这样的模式,开始冷淡对方。

同时这个问题会牵涉到地位的平衡,在明显的”追求-被追求“关系中,常常一方是主动地位,一方是顺从地位。

而被追求者,很可能觉得“怎么突然间就变化了”,其实并不是突然的过程,只是一直以来的关系基础,加上沟通不畅导致的结果。

4)环境的改变

一段关系可能一开始是平衡的,但因为环境因素的改变,导致了原有的平衡被打破。

因素1:需求的改变

例如追求者的需求是”得到对方“,但一旦建立关系,往往会有新的需求,例如希望得到更多的关心。又比如一个人在成长,在校园的时候可能对恋爱的需求是大家一起开心,但逐渐的更多的希望伴侣理解自己,可以支持自己的发展。

因素2:伴侣的改变

可能以前是关心的、体贴的,但是现在逐渐的疏远了。也可能以前是独立的,现在变得粘人、缺乏安全感、患得患失。或者是开始了忙于工作等等。

因素3:他人的介入

例如第三者、父母

5)失去信任

高质量的亲密关系,是需要有高度信任的。

失去信任往往会导致关系的危机。这种情况可能产生于:

一方觉得另外严重欺骗了自己
外遇
一方觉得另外一方不靠谱,例如口头一套做法一套
6)价值观的不匹配

所谓价值观,就是对事物优先级的判断。

我们的资源都是有限的,到底用在哪里,取决于优先级。

当恋人在价值观上有关键差异的时候,可能导致的情况就是,一方想要频繁讨论的话题,另外一方不感兴趣。一方想要一起做的事情,另外一方不想参与或者勉强应对。长期下去很难维系。

7)不顺畅的沟通

一段关系即使有危机,有高质量的沟通,往往还有很大的可能转寰。反过来,在几乎所有的关系破裂案例中,糟糕的沟通都是推动破裂的重要因素。

沟通是如此的重要,以至于我在电子书《单身女人,让男神倒追你》中花了好几章来阐述这个问题。请直接阅读第三章到第七章。核心要点:

4类对话(娱乐式、分享式、销售式、解决问题式)
过程价值导向 vs 结果价值导向
沟通质量矩阵
===电子书:单身女人,让男神倒追你===
如何拥有甜蜜的爱情,并且成为自己生命中的主人?关注公众号“倒追学堂”回复“1”阅读。

MySQL数据库开发规范-EC

最近一段时间一边在线上抓取SQL来优化,一边在整理这个开发规范,尽量减少新的问题SQL进入生产库。今天也是对公司的开发做了一次培训,PPT就不放上来了,里面有十来个生产SQL的案例。因为规范大部分还是具有通用性,所以也借鉴了像去哪儿和赶集的规范,但实际在撰写本文的过程中,每一条规范的背后无不是在工作中有参照的反面例子的。如果时间可以的话,会抽出一部分或分析其原理,或用案例证明。

  1. 命名规范
    库名、表名、字段名必须使用小写字母,并采用下划线分割

MySQL有配置参数lower_case_table_names=1,即库表名以小写存储,大小写不敏感。如果是0,则库表名以实际情况存储,大小写敏感;如果是2,以实际情况存储,但以小写比较。
如果大小写混合使用,可能存在abc,Abc,ABC等多个表共存,容易导致混乱。
字段名显示区分大小写,但实际使⽤时不区分,即不可以建立两个名字一样但大小写不一样的字段。
为了统一规范, 库名、表名、字段名使用小写字母。
库名以 d 开头,表名以 t 开头,字段名以 f_ 开头

比如表 t_crm_relation,中间的 crm 代表业务模块名
视图以view_开头,事件以event_开头,触发器以trig_开头,存储过程以proc_开头,函数以func_开头
普通索引以idx_col1_col2命名,唯一索引以uk_col1_col2命名(可去掉f_公共部分)。如 idx_companyid_corpid_contacttime(f_company_id,f_corp_id,f_contact_time)
库名、表名、字段名禁止超过32个字符,需见名知意

库名、表名、字段名支持最多64个字符,但为了统一规范、易于辨识以及减少传输量,禁止超过32个字符

临时库、表名须以tmp加日期为后缀

如 t_crm_relation_tmp0425。备份表也类似,形如 _bak20160425 。

按日期时间分表须符合_YYYY[MM][DD]格式

这也是为将来有可能分表做准备的,比如t_crm_ec_record_201403,但像 t_crm_contact_at201506就打破了这种规范。
不具有时间特性的,直接以 t_tbname_001 这样的方式命名。

  1. 库表基础规范
    使用Innodb存储引擎

5.5版本开始mysql默认存储引擎就是InnoDB,5.7版本开始,系统表都放弃MyISAM了。

表字符集统一使用UTF8

UTF8字符集存储汉字占用3个字节,存储英文字符占用一个字节
校对字符集使用默认的 utf8_general_ci
连接的客户端也使用utf8,建立连接时指定charset或SET NAMES UTF8;。(对于已经在项目中长期使用latin1的,救不了了)
如果遇到EMOJ等表情符号的存储需求,可申请使用UTF8MB4字符集
所有表都要添加注释

尽量给字段也添加注释
类status型需指明主要值的含义,如”0-离线,1-在线”
控制单表字段数量

单表字段数上限30左右,再多的话考虑垂直分表,一是冷热数据分离,二是大字段分离,三是常在一起做条件和返回列的不分离。
表字段控制少而精,可以提高IO效率,内存缓存更多有效数据,从而提高响应速度和并发能力,后续 alter table 也更快。
所有表都必须要显式指定主键

主键尽量采用自增方式,InnoDB表实际是一棵索引组织表,顺序存储可以提高存取效率,充分利用磁盘空间。还有对一些复杂查询可能需要自连接来优化时需要用到。
需要全局唯一主键时,使用外部发号器ticket server(建设中)
如果没有主键或唯一索引,update/delete是通过所有字段来定位操作的行,相当于每行就是一次全表扫描
少数情况可以使用联合唯一主键,需与DBA协商
不强制使用外键参考

即使2个表的字段有明确的外键参考关系,也不使用 FOREIGN KEY ,因为新纪录会去主键表做校验,影响性能。

适度使用存储过程、视图,禁止使用触发器、事件

存储过程(procedure)虽然可以简化业务端代码,在传统企业写复杂逻辑时可能会用到,而在互联网企业变更是很频繁的,在分库分表的情况下要升级一个存储过程相当麻烦。又因为它是不记录log的,所以也不方便debug性能问题。如果使用过程,一定考虑如果执行失败的情况。
使用视图一定程度上也是为了降低代码里SQL的复杂度,但有时候为了视图的通用性会损失性能(比如返回不必要的字段)。
触发器(trigger)也是同样,但也不应该通过它去约束数据的强一致性,mysql只支持“基于行的触发”,也就是说,触发器始终是针对一条记录的,而不是针对整个sql语句的,如果变更的数据集非常大的话,效率会很低。掩盖一条sql背后的工作,一旦出现问题将是灾难性的,但又很难快速分析和定位。再者需要ddl时无法使用pt-osc工具。放在transaction执行。
事件(event)也是一种偷懒的表现,目前已经遇到数次由于定时任务执行失败影响业务的情况,而且mysql无法对它做失败预警。建立专门的 job scheduler 平台。
单表数据量控制在5000w以内

数据库中不允许存储明文密码

  1. 字段规范
    char、varchar、text等字符串类型定义

对于长度基本固定的列,如果该列恰好更新又特别频繁,适合char
varchar虽然存储变长字符串,但不可太小也不可太大。UTF8最多能存21844个汉字,或65532个英文
varbinary(M)保存的是二进制字符串,它保存的是字节而不是字符,所以没有字符集的概念,M长度0-255(字节)。只用于排序或比较时大小写敏感的类型,不包括密码存储
TEXT类型与VARCHAR都类似,存储可变长度,最大限制也是2^16,但是它20bytes以后的内容是在数据页以外的空间存储(row_format=dynamic),对它的使用需要多一次寻址,没有默认值。
一般用于存放容量平均都很大、操作没有其它字段那样频繁的值。
网上部分文章说要避免使用text和blob,要知道如果纯用varchar可能会导致行溢出,效果差不多,但因为每行占用字节数过多,会导致buffer_pool能缓存的数据行、页下降。另外text和blob上面一般不会去建索引,而是利用sphinx之类的第三方全文搜索引擎,如果确实要创建(前缀)索引,那就会影响性能。凡事看具体场景。
另外尽可能把text/blob拆到另一个表中
BLOB可以看出varbinary的扩展版本,内容以二进制字符串存储,无字符集,区分大小写,有一种经常提但不用的场景:不要在数据库里存储图片。
int、tinyint、decimal等数字类型定义

使用tinyint来代替 enum和boolean
ENUM类型在需要修改或增加枚举值时,需要在线DDL,成本较高;ENUM列值如果含有数字类型,可能会引起默认值混淆
tinyint使用1个字节,一般用于status,type,flag的列
建议使用 UNSIGNED 存储非负数值
相比不使用 unsigned,可以扩大一倍使用数值范围
int使用固定4个字节存储,int(11)与int(4)只是显示宽度的区别
使用Decimal 代替float/double存储精确浮点数
对于货币、金额这样的类型,使用decimal,如 decimal(9,2)。float默认只能能精确到6位有效数字
timestamp与datetime选择

datetime 和 timestamp类型所占的存储空间不同,前者8个字节,后者4个字节,这样造成的后果是两者能表示的时间范围不同。前者范围为1000-01-01 00:00:00 ~ 9999-12-31 23:59:59,后者范围为 1970-01-01 08:00:01 到 2038-01-19 11:14:07 。所以 TIMESTAMP 支持的范围比 DATATIME 要小。
timestamp可以在insert/update行时,自动更新时间字段(如 f_set_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP),但一个表只能有一个这样的定义。
timestamp显示与时区有关,内部总是以 UTC 毫秒 来存的。还受到严格模式的限制
优先使用timestamp,datetime也没问题
where条件里不要对时间列上使用时间函数
建议字段都定义为NOT NULL

如果是索引字段,一定要定义为not null 。因为null值会影响cordinate统计,影响优化器对索引的选择
如果不能保证insert时一定有值过来,定义时使用default ‘’ ,或 0
同一意义的字段定义必须相同

比如不同表中都有 f_user_id 字段,那么它的类型、字段长度要设计成一样

  1. 索引规范
    任何新的select,update,delete上线,都要先explain,看索引使用情况

尽量避免extra列出现:Using File Sort,Using Temporary,rows超过1000的要谨慎上线。
explain解读

type:ALL, index, range, ref, eq_ref, const, system, NULL(从左到右,性能从差到好)
possible_keys:指出MySQL能使用哪个索引在表中找到记录,查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询使用
key:表示MySQL实际决定使用的键(索引)
如果没有选择索引,键是NULL。要想强制MySQL使用或忽视possible_keys列中的索引,在查询中使用FORCE INDEX、USE INDEX或者IGNORE INDEX
ref:表示选择 key 列上的索引,哪些列或常量被用于查找索引列上的值
rows:根据表统计信息及索引选用情况,估算的找到所需的记录所需要读取的行数
Extra
Using temporary:表示MySQL需要使用临时表来存储结果集,常见于排序和分组查询
Using filesort:MySQL中无法利用索引完成的排序操作称为“文件排序”
索引个数限制

索引是双刃剑,会增加维护负担,增大IO压力,索引占用空间是成倍增加的
单张表的索引数量控制在5个以内,或不超过表字段个数的20%。若单张表多个字段在查询需求上都要单独用到索引,需要经过DBA评估。
避免冗余索引

InnoDB表是一棵索引组织表,主键是和数据放在一起的聚集索引,普通索引最终指向的是主键地址,所以把主键做最后一列是多余的。如f_crm_id作为主键,联合索引(f_user_id,f_crm_id)上的f_crm_id就完全多余
(a,b,c)、(a,b),后者为冗余索引。可以利用前缀索引来达到加速目的,减轻维护负担
没有特殊要求,使用自增id作为主键

主键是一种聚集索引,顺序写入。组合唯一索引作为主键的话,是随机写入,适合写少读多的表
主键不允许更新
索引尽量建在选择性高的列上

不在低基数列上建立索引,例如性别、类型。但有一种情况,idx_feedbackid_type (f_feedback_id,f_type),如果经常用 f_type=1 比较,而且能过滤掉90%行,那这个组合索引就值得创建。有时候同样的查询语句,由于条件取值不同导致使用不同的索引,也是这个道理。
索引选择性计算方法(基数 ÷ 数据行数)
Selectivity = Cardinality / Total Rows = select count(distinct col1)/count(*) from tbname,越接近1说明col1上使用索引的过滤效果越好
走索引扫描行数超过30%时,改全表扫描
最左前缀原则

mysql使用联合索引时,从左向右匹配,遇到断开或者范围查询时,无法用到后续的索引列
比如索引idx_c1_c2_c3 (c1,c2,c3),相当于创建了(c1)、(c1,c2)、(c1,c2,c3)三个索引,where条件包含上面三种情况的字段比较则可以用到索引,但像 where c1=a and c3=c 只能用到c1列的索引,像 c2=b and c3=c等情况就完全用不到这个索引
遇到范围查询(>、<、between、like)也会停止索引匹配,比如 c1=a and c2 > 2 and c3=c,只有c1,c2列上的比较能用到索引,(c1,c2,c3)排列的索引才可能会都用上
where条件里面字段的顺序与索引顺序无关,mysql优化器会自动调整顺序
前缀索引

对超过30个字符长度的列创建索引时,考虑使用前缀索引,如 idx_cs_guid2 (f_cs_guid(26))表示截取前26个字符做索引,既可以提高查找效率,也可以节省空间
前缀索引也有它的缺点是,如果在该列上 ORDER BY 或 GROUP BY 时无法使用索引,也不能把它们用作覆盖索引(Covering Index)
如果在varbinary或blob这种以二进制存储的列上建立前缀索引,要考虑字符集,括号里表示的是字节数
合理使用覆盖索引减少IO

INNODB存储引擎中,secondary index(非主键索引,又称为辅助索引、二级索引)没有直接存储行地址,而是存储主键值。
如果用户需要查询secondary index中所不包含的数据列,则需要先通过secondary index查找到主键值,然后再通过主键查询到其他数据列,因此需要查询两次。覆盖索引则可以在一个索引中获取所有需要的数据列,从而避免回表进行二次查找,节省IO因此效率较高。
例如SELECT email,uid FROM user_email WHERE uid=xx,如果uid不是主键,适当时候可以将索引添加为index(uid,email),以获得性能提升。

尽量不要在频繁更新的列上创建索引

如不在定义了 ON UPDATE CURRENT_STAMP 的列上创建索引,维护成本太高(好在mysql有insert buffer,会合并索引的插入)

  1. SQL设计
    杜绝直接 SELECT * 读取全部字段

即使需要所有字段,减少网络带宽消耗,能有效利用覆盖索引,表结构变更对程序基本无影响

能确定返回结果只有一条时,使用 limit 1

在保证数据不会有误的前提下,能确定结果集数量时,多使用limit,尽快的返回结果。

小心隐式类型转换

转换规则

a. 两个参数至少有一个是 NULL 时,比较的结果也是 NULL,例外是使用 <=> 对两个 NULL 做比较时会返回 1,这两种情况都不需要做类型转换
b. 两个参数都是字符串,会按照字符串来比较,不做类型转换
c. 两个参数都是整数,按照整数来比较,不做类型转换
d. 十六进制的值和非数字做比较时,会被当做二进制串
e. 有一个参数是 TIMESTAMP 或 DATETIME,并且另外一个参数是常量,常量会被转换为 timestamp
f. 有一个参数是 decimal 类型,如果另外一个参数是 decimal 或者整数,会将整数转换为 decimal 后进行比较,如果另外一个参数是浮点数,则会把 decimal 转换为浮点数进行比较
g. 所有其他情况下,两个参数都会被转换为浮点数再进行比较。

如果一个索引建立在string类型上,如果这个字段和一个int类型的值比较,符合第 g 条。如f_phone定义的类型是varchar,但where使用f_phone in (098890),两个参数都会被当成成浮点型。发生这个隐式转换并不是最糟的,最糟的是string转换后的float,mysql无法使用索引,这才导致了性能问题。如果是 f_user_id = ‘1234567’ 的情况,符合第 b 条,直接把数字当字符串比较。

禁止在where条件列上使用函数

会导致索引失效,如lower(email),f_qq % 4。可放到右边的常量上计算
返回小结果集不是很大的情况下,可以对返回列使用函数,简化程序开发
使用like模糊匹配,%不要放首位

会导致索引失效,有这种搜索需求是,考虑其它方案,如sphinx全文搜索

涉及到复杂sql时,务必先参考已有索引设计,先explain

简单SQL拆分,不以代码处理复杂为由。
比如 OR 条件: f_phone=’10000’ or f_mobile=’10000’,两个字段各自有索引,但只能用到其中一个。可以拆分成2个sql,或者union all。
先explain的好处是可以为了利用索引,增加更多查询限制条件
使用join时,where条件尽量使用充分利用同一表上的索引

如 select t1.a,t2.b * from t1,t2 and t1.a=t2.a and t1.b=123 and t2.c= 4 ,如果t1.c与t2.c字段相同,那么t1上的索引(b,c)就只用到b了。此时如果把where条件中的t2.c=4改成t1.c=4,那么可以用到完整的索引
这种情况可能会在字段冗余设计(反范式)时出现
正确选取inner join和left join
少用子查询,改用join

小于5.6版本时,子查询效率很低,不像Oracle那样先计算子查询后外层查询。5.6版本开始得到优化

考虑使用union all,少使用union,注意考虑去重

union all不去重,而少了排序操作,速度相对比union要快,如果没有去重的需求,优先使用union all
如果UNION结果中有使用limit,在2个子SQL可能有许多返回值的情况下,各自加上limit。如果还有order by,请找DBA。
IN的内容尽量不超过200个

超过500个值使用批量的方式,否则一次执行会影响数据库的并发能力,因为单SQL只能且一直占用单CPU,而且可能导致主从复制延迟

拒绝大事务

比如在一个事务里进行多个select,多个update,如果是高频事务,会严重影响MySQL并发能力,因为事务持有的锁等资源只在事务rollback/commit时才能释放。但同时也要权衡数据写入的一致性。

避免使用is null, is not null这样的比较

order by .. limit

这种查询更多的是通过索引去优化,但order by的字段有讲究,比如主键id与f_time都是顺序递增,那就可以考虑order by id而非 f_time 。

c1 < a order by c2

与上面不同的是,order by之前有个范围查询,由前面的内容可知,用不到类似(c1,c2)的索引,但是可以利用(c2,c1)索引。另外还可以改写成join的方式实现。

分页优化

建议使用合理的分页方式以提高分页效率,大页情况下不使用跳跃式分页
假如有类似下面分页语句:
SELECT FROM table1 ORDER BY ftime DESC LIMIT 10000,10;
这种分页方式会导致大量的io,因为MySQL使用的是提前读取策略。
推荐分页方式:
SELECT FROM table1 WHERE ftime < last_time ORDER BY ftime DESC LIMIT 10
即传入上一次分页的界值

SELECT * FROM table as t1 inner JOIN (SELECT id FROM table ORDER BY time LIMIT 10000,10) as t2 ON t1.id=t2.id

count计数

首先count()、count(1)、count(col1)是有区别的,count()表示整个结果集有多少条记录,count(1)表示结果集里以primary key统计数量,绝大多数情况下count()与count(1)效果一样的,但count(col1)表示的是结果集里 col1 列 NOT null 的记录数。优先采用count()
大数据量count是消耗资源的操作,甚至会拖慢整个库,查询性能问题无法解决的,应从产品设计上进行重构。例如当频繁需要count的查询,考虑使用汇总表
遇到distinct的情况,group by方式可能效率更高。
delete,update语句改成select再explain

select最多导致数据库慢,写操作才是锁表的罪魁祸首

减少与数据库交互的次数,尽量采用批量SQL语句

INSERT ... ON DUPLICATE KEY UPDATE ...,插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则执行旧行UPDATE,如果不重复则直接插入,影响1行。
REPLACE INTO类似,但它是冲突时删除旧行。INSERT IGNORE相反,保留旧行,丢弃要插入的新行。
INSERT INTO VALUES(),(),(),合并插入。
杜绝危险SQL

去掉where 1=1 这样无意义或恒真的条件,如果遇到update/delete或遭到sql注入就恐怖了
SQL中不允许出现DDL语句。一般也不给予create/alter这类权限,但阿里云RDS只区分读写用户
6. 行为规范
不允许在DBA不知情的情况下导现网数据
大批量更新,如修复数据,避开高峰期,并通知DBA。直接执行sql的由运维或DBA同事操作
及时处理已下线业务的SQL
复杂sql上线审核
因为目前还没有SQL审查机制,复杂sql如多表join,count,group by,主动上报DBA评估。
重要项目的数据库方案选型和设计必须提前通知DBA参与
本文参考
互联网MySQL开发规范 这个基本也是《去哪儿MySQL开发规范.pdf》版本
MySQL数据库开发的三十六条军规石展完整.pdf
老叶观点:MySQL开发规范之我见
MySQL开发规范与使用技巧总结
http://highdb.com/mysql%E5%BC%80%E5%8F%91%E8%A7%84%E8%8C%83/
本文链接地址:http://seanlook.com/2016/05/11/mysql-dev-principle-ec/

追求的时候应该在什么时候联系她?

总有人问到我追女生的时候多久联系她一次合适。就像总有人问我今天该吃什么一样。

https://zhuanlan.zhihu.com/p/25984178
我非常理解为什么有人会问出这个问题。在一个女/男生还没有对他产生兴趣之前,他会担心如果联系的过于频繁了会导致女生厌烦,联系的太过稀疏了又会降低两个人之间的热度。

这是一个很有意思的矛盾。而我也很庆幸,我并没有被这个矛盾困扰太久。

我看过有人说应该每两天联系对方一次,当然也有三天的。这么做的目的就是在这两者之间取得一个平衡。表面上看起来或许没错,但实际上这种理论还是害了不少人。

3年前线下课的时候我遇到过一个学生。他按照这种方法每两天和女孩联系一次,每一次他都会找一个新的话题作为开场白。在开始两周的时候还能坚持,但到了第三周,他发现一个问题:他的话题日渐枯竭,随着时间越聊越长,他感觉到两个人之间的对话愈发干涩。然后到了第四周,女生就不怎么回他的信息了。

这种情况很像走亲戚。我们会本能的认为,亲戚间多走动走动,关系就熟络了。但这位同学做法就相当于他每周都去亲戚家做客,喝杯茶,磕磕瓜子,然后闲聊几句天气真好之后就离开。一开始亲戚觉得有个人陪着聊聊天打发打发时间也不错。但周而复始,亲戚就会想,这货不对劲,每次来吃我的喝我的,然后讲一些没用的屁话。他是爽了,但这不是浪费我的时间么?接着亲戚就会找各种理由推辞,不再和他见面。

亲戚间不是走动的越多就能越熟络。同理,天也不是聊得越多就能够越深入。

我爸曾经为了训练我,让我跟着一位叔叔学点世故。这位叔叔号称无论他在哪里拉屎,都会有人给他送纸。他的社交秘诀其实很简单,每次拜访别人之前,先做好功课,看看对方喜欢什么需要什么,然后带上礼物就直接上门了。我和他同行过一次,明明他是故意而为之,但还要在主人面前装作一副不经意的样子。按照他的说法,那就是没有三次下来交不上朋友的。

我恍然大悟。如果你一直找别人聊些稀松平常甚至是无聊的东西,那么别人铁定暴走。与其这样,还不如不去聊,因为聊一次减一分,本来你在她心中是7分,几次聊天下来,直接负分滚粗了。

如果像我那位叔叔一样,每次都能为对方「提供一些东西」,那对方肯定乐意和你多见几面。换句话说,你要能够让对方体会到和你聊天是有价值的。

什么叫「有价值」的聊天?

如果一个女孩没有一开始就想要把你推倒。那么想让她想要和你聊天,大致也就只有3种情况:

1:能够在你身上学到一些东西。

2:和你聊天很有趣。

3:有固定事物需要你们保持联系。

被大众男女普遍认可的一条真理是,一个女孩在喜欢上你之前会先崇拜上你。就像是你我都听过或看过的故事,学长追学妹总是事半功倍。这无非是学长们经历过的多一些,知道的多一些而已。延伸一点来看,这也是为什么老男人往往受到小女孩的欢迎。因为她们可以在这些老男人身上学到很多同龄男生不具备的经验和知识。而绝不是有钱没钱那么简单。

女孩们大多都不喜欢死板的人,这也是为什么幽默的男人更受欢迎。和这些有趣的人在一起聊天就像是看一部电影,有铺垫,有高潮,有兴奋,也有伤感。其实这绝不仅仅体现在男女交往里面,人人都喜欢和有趣的人在一起,同性也是如此。

我见过不少人是通过工作关系转换成恋爱关系的,特别是那些需要两个人合作才能完成的工作。只不过这种火花产生的时间节点往往不在你们微信聊天的时候,而在于面对面接触的时候。上一代里有很多人就是这么走到一起的,或许这其中就有你的父母。

而女生给男生提供的价值,除了以上三点以外。还取决于2点,第一是你的外形是否是这个男人的菜。第二则是你们未来在一起的可能性有多大。

男人都是直来直去的动物。相比起女人的「螺旋式思维」,男人的思维更加「线性」。说的简单一点,男人觉得和你有很大的可能性,那么他就会卖力去追。如果从起初男人就认为自己和你是没有希望的,那么他就不会对你下功夫了。这也是为什么很多特别漂亮的女生天天被勾搭,却从未被追求的原因。

所以,并不存在「每N天联系对方一次」的说法。从一开始你就要知道你能够为对方提供什么,是经验和知识,是一段美妙的时光,还是实实在在的帮助。你能提供什么,就从什么入手。只要你能够为对方提供价值,什么时候聊天都可以。而当你什么都做不了的时候,何必去飞蛾扑火呢。

在这里我要吐槽一下那些微博段子。总有人会告诉你「对的人就是怎么聊他都懂你」之类的毒鸡汤,其实哪有那么简单。就像你觉得明天吃什么是一件很简单的事情,但到了明天的饭点你又会陷入选择食物的困境一样。

有时候你越想做一件事情,你就越做不好它。当你没有任何思路的时候去找一个异性聊天,就等同于赶鸭子上架。而你是那只鸭子。

女孩都不是机器人,我希望你也不要是。如果你明知道做这件事情对自己不利,你能否笃定的先后退一步?

因为很多时候不扣分就是胜利。

在公众号《源靖说》输入关键字“聊天”,送你一篇关于聊天的老文章(很长慎点)。

微信搜索公众号:源靖说

ID:youyabenleida

写给初学写作者的二十六条建议

写给初学写作者的二十六条建议

文/马耳
https://zhuanlan.zhihu.com/p/24948563

应一位作者朋友的请求,写下此文。虽然我算不上是一位成功的作家,不过这二十六条建议,大多与一个普通写作者必须面对的困境有关,只有突破了这些困境,写作者才会进入自如的境地。

A/要找到适合自己的谋生方式,在写作的初期,以目前**的情况,尚不足以支持作家单纯依靠纯文学写作维生(其他类型的文学情况有所不同),所以要有合适的谋生方式,既能支持自己继续写作,又不会损害自己写作的自由。

B/要明白作家的精神世界与社会上其他人的世界是不同的,因此不必处处遵守适用于其他社会成员的社会规则,但也不要把自己与普通人完全隔绝开来,不要把自己变成一个对普通人一无所知的白痴。

C/谨慎发展自己的写作才能。尚未发展的写作才能是一种非常宝贵的资源,一定要确保它得到正确的运用。因为才能的发展具有一种不可逆性,如果才能在一个错误的方向走得太远,那么它很可能就永远回不到正确的方向上来了。

D/要从写句子和写故事开始最初的写作训练。写故事是结构的训练,写句子是语言的训练,一个小说的骨,一个是小说的肉,在这两个的训练结束之后,就可以开始正式的写作了。

E/虽然世界经典作家的知名作品是你学习的主要对象,但你还是必须在一定的时候阅读足够数量的同时代作家的作品。虽然你从经典作家的作品中取得你写作的道,但你的路却还是埋没在同时代作家的作品之中的,你必须趟过这些同时代作品,为自己的写作开辟一条道路。

F/你可以保持自谦的本性,但心中一定要有足够的自傲,以抵御外界社会和同辈作家对你施加的不良影响。

G/最先尝试的风格和题材不一定是最适合你的,即使你依靠这种风格和题材获得了很大的成功,所以在刚刚开始在学习写作的时候就有必要进行多方面的尝试,以便在写作发展到瓶颈阶段时有能力进行转型,很多作家不能成为优秀的作家,就是为自己的早期名声所累,而无法从早期的写作风格转型到一个更有价值的写作模式。

H/绝大部分文学杂志和文学网站正在努力推荐的都是二流作家,当你还在初学写作的时候,二流作家的写作是值得模仿的对象,但如果你到了高级写作的阶段,写出来的作品还跟你当初模仿的二流作家很相似的话,你还是自杀算了吧。

I/看到任何广受转载的热门文章时,都应该不由自主地辨认一下作者是二流作家还是一流作家。二流作家的文章写得再好也是有内在缺陷的。这种内在缺陷在从整体的角度去看时更为明显。在绝大多数时候,二流作家的文章之所以看上去很好,是因为你只看到了作品中好的部分,而没有看到作品的整体。

J/正确地看待成名的问题。在文学思潮混乱的年代里,成名晚是一件好事,因为这样的时代里充满了虚假的思潮和技巧,较晚的成名反而能帮助你避开这些错误的文学思潮。而在一个有着明确的文学革新潮流的时代,则要越早成名越好,努力赶上这来之不易的文学潮流。“成名需趁早”并不适合所有的时代。

K/要在一定程度上抵制互联网的诱惑。每天要保证一定量的完整时间用于阅读和写作,在自己的一生中必须有几个时间段沉浸于不受干扰的隔绝性思考之中(通常每个时间段长达数月甚至一两年)。为获得日常性的完整时间,可以使用较为原始的智能手机,甚至放弃使用智能手机。为获得长时间的思考时间段,可以通过长期旅行或长期客居来实现。

L/要有足够的时间来休息和娱乐,要有除了写作以外的兴趣爱好。每个作家都有低潮期和间隔期,一些兴趣爱好可以帮助作家更好地渡过这种时期。

M/应该以是否还有足够的灵感和写作冲动而不是是否受到欢迎来判断自己的写作是否有价值。写作在某种程度上是为了完成上天赋予的使命,而不仅仅是为了个人名利。要把一生视作为文学而进行的苦修,所有的劳作、休息、娱乐,都是为了写作而进行。只有对写作具备了宗教般的情感,才能写出优秀的作品。

N/写作是一门关于语言的技艺。因此,当你发现一种感兴趣的语言的时候(口头语言或书面语言),尽量地去了解有关这种语言的一切,了解它的创造者和使用的情况,了解它的使用方式、使用情境。从这个角度来看,阅读虽然是学习写作的一个重要方式,但并不是唯一方式。与朋友交谈、学习歌唱、学习外语、阅诵经文都可以成为学习写作的辅助方式,甚至从我们出生以来,就一直在进行着一个潜移默化的学习写作的过程了。一个聪明的写作者应该有足够的敏感度,把握住任何一个学习写作的机会,无论它是以什么样的一种形式呈现。

O/要善于接受自己的失败。如果作为一个文学作者失败了,你可以转而作为一个文学评论者获得成功,或者作为一个文学推广者和支持者获得成就感。

P/不要轻易承认也不要轻易否认一个作家的价值,勿忙地承认或否认一个作家的价值是危险的。对写作者来说,轻易否认一位作家的价值,你可能会失去一位写作上的朋友,一位可能会给自己带来帮助的人;轻易承认一位作家的价值,你就可能受到他的误导,成为一个无足轻重的追随者。

Q/时刻警惕自己是否失去了沉思的能力,如果一位作者已经失去了写作的能力和习惯,那他离写作能力的枯竭也就不远了。

R/要处理好与通俗、大众文化的关系,可以向通俗、大众文化学习,或者将其作为一种休息的手段,但不能沉溺于其中,很难想像一位优秀作家会整日沉溺于肥皂剧中,即便是观看电视剧,也要选择其中最优秀的去观看。

S/生活是最好的写作老师,但是生活也是最好的写作杀手。不要过于迷恋浮华的生活,除非你有菲茨杰拉德那样惊人的天赋和绝佳的机遇。否则,在你写出最好的作品之前,你就被浮华的生活害死了。

T/耐心地等待生活走向你,不要迫不及待地投向生活。不要因为某种生活看上去奇异而有趣就投身其中,试图从中攫取写作的素材,绝大部分的生活比我们想像的都要贫乏得多,因此静心等待内心发出的信号,只有最让你怦然心动的那种生活才是最有益于你的写作的生活。不要让你的生活吸走属于写作的注意力,如果你对某种生活过于专注,那么很可能写作的重要性就会在你心目中越来越低,最后甚至降到一个可有可无的地位。当然在有些时候,这是一件好事,因为你过的是一种比写作更有意义、更有价值的生活,但更多的时候,你只是被一种平庸生活的多彩外表所欺骗,你失去的远远大于你得到的。

U/接触文字,或者接触作者本人,都是从别的作者那里学习的好方式。有时候,接触作者本人,能够比反复阅读他的作品得到更大的收获。只是作者本人并不一定都是很容易接触到的,这就要看你的造化了。

V/对新媒体和新科技要保持疏远的关注,因为这些东西既可能带来机会,也可能吞噬写作者的时间和精力。

W/对评论者的批评,无论是好是坏,都要保持半信半疑的态度。对于愚蠢又具有误导性的负面批评,要予以反驳。某些评论者的眼光和学识都差得一塌糊涂,但凭其写作技巧却能把一篇充满偏见的评论写得头头是道,对这类评论必须予以反驳。但对一片赞扬声中夹杂的一两个尖锐批评,则可以理性对待,因为说不定这一两个评论正好指出了你的写作中的最大的缺陷。

X/如果碰上“写作秘诀”、“写作速成”之类的书和文章,二十五岁之前倒可以看看,二十五岁之后就可以一笑而过了。比起这些“写作秘诀”,优秀作家们撰写的写作心得、写作文论、写作访谈要有价值得多。比这两者更有效用的是写作者之间的讨论切磋。当然你写得越好,可以讨论切磋的对象也就越少,所以在进行心平气和的写作切磋的时候,最好只在水平相近的作者朋友之间进行。纯文学的小圈子化是一个不可避免的现象(虽然纯文学并不排斥流行,也完全有可能流行),如果你对这种小圈子化难以忍受的话,那还是转而投身通俗文学甚至干脆放弃写作吧。

Y/与开始写作相比,坚持写作更为困难,因此大多数文学爱好者都只写了两三年就罢笔不作了。与维持生活的压力相比,时不时就向作者涌来的厌倦感和绝望感更让人难以忍受,因此作者必须一刻不停地创新,拓展自己的写作领域、提升写作技巧、掘进写作深度,在写作将自己窒息至死前重新获得新鲜空气,必要的时候,还可从事其他文体的写作作为一种调剂,但最终还是必须回归自己写作的本原文体。每个作者都有一种写作的本原文体:小说、诗歌或散文,这是他赖以立足的根本,离开这个本原文体,他只是一个微不足道的平庸作者。

Z/保护好自己的名誉和才能,在实在走投无路之前,不要长久地从事收入丰厚但损害才能的写作活动,不纯粹的写作是对纯粹的写作的最大伤害,因此作者要尽可能地远离商业写作、应用写作、职务写作,要尽量选择那些与写作行业相距甚远的工作作为谋生手段。要保护好自己的名誉,不要因为某种低层次的写作能给你带来名声和利润而乐此不疲,你只不过是贪于猎奇和自怜自恋的读者们的一个可怜的助淫士。无论你变得多么著名和富有,最有价值的美誉也正在离你而去。检查自己的写作是否低级的方法有很多,其中最不可靠的方法就是通过知名度和财富来判断自己写作的价值。

搭建本地服务器

nodejs php pyhon
将你的当前目录变成一个静态文件服务器的根目录
先安装nodejs
设置镜像

npm install -g anywhere

执行

$ anywhere // or with port

$ anywhere -p 8000 // or start it but silent(don't open browser)

Running at http://172.16.11.179:8888/
自动打开默认浏览器

$ anywhere -s // or with hostname

$ anywhere -h localhost -p 8888 // or with folder $ anywhere -d ~/git/anywhere // or enable html5 history

$ anywhere -f /index.html 帮助

https://www.npmjs.com/package/anywhere

PHP 5.4.0起, CLI SAPI 提供了一个内置的Web服务器。

http://php.net/features.commandline.webserver

$ php -S localhost:8000
终端窗口会显示:

PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit
接着访问http://localhost:8000/和http://localhost:8000/myscript.html

$ php -S localhost:8000 -t foo/

Welcome to PHP

"; } ?>

$ php -S localhost:8000 router.php
执行之后终端显示:

PHP 5.4.0 Development Server started at Thu Jul 21 10:53:19 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit.
[Thu Jul 21 10:53:45 2011] ::1:55801 GET /mylogo.jpg - Request read
[Thu Jul 21 10:53:52 2011] ::1:55803 GET /abc.html - Request read
[Thu Jul 21 10:53:52 2011] ::1:55804 GET /favicon.ico - Request read
$ip = gethostbyname('');
ipconfig

$ ipconfig

Windows IP 配置


以太网适配器 本地连接 5:

   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . :

以太网适配器 本地连接 4:

   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . :

以太网适配器 本地连接 3:

   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . :

以太网适配器 本地连接 2:

   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . :

以太网适配器 本地连接:

   连接特定的 DNS 后缀 . . . . . . . :
   IPv4 地址 . . . . . . . . . . . . : 172.16.11.179
   子网掩码  . . . . . . . . . . . . : 255.255.254.0
   默认网关. . . . . . . . . . . . . : 172.16.10.1

隧道适配器 isatap.{38311F5C-3AD6-47EA-B85B-16B3C0860E57}:

   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . :

隧道适配器 Teredo Tunneling Pseudo-Interface:

   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . :

隧道适配器 isatap.{C53089BD-22C6-40D0-8476-8D8AC36798CA}:

   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . :

隧道适配器 isatap.{39982D1F-A403-4C08-9A14-A4F734F242B4}:

   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . :

隧道适配器 isatap.{C630477E-16E7-4F7E-BA3A-AB0C3B3FA040}:

   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . :

隧道适配器 isatap.{21D72A8C-891E-408C-BE5C-8294E910AD03}:

   媒体状态  . . . . . . . . . . . . : 媒体已断开
   连接特定的 DNS 后缀 . . . . . . . :

python
python -m SimpleHTTPServer 8080
import socket
#获取本机电脑名
myname = socket.getfqdn(socket.gethostname( ))
#获取本机ip
myaddr = socket.gethostbyname(myname)
print myname
print myaddr

socket.gethostname()
'vhalllsp-PC'
socket.gethostbyname('')
'0.0.0.0'
socket.gethostbyname(socket.gethostname())
'172.16.11.179'

Serving HTTP on 0.0.0.0 port 8000 ...
你可以打开你的浏览器(IE或Firefox),然后输入下面的URL:

http://192.168.1.1:8000

python -m http.server
HTTP 服务器服务的是网络中的所有主机(0.0.0.0),如果你只想让它在本地有效,可能你会这么尝试 python -m SimpleHTTPServer 127.0.0.1:9000,但这是不支持的

import sys
from SimpleHTTPServer import SimpleHTTPRequestHandler
import BaseHTTPServer
def serve(HandlerClass=SimpleHTTPRequestHandler,
         ServerClass=BaseHTTPServer.HTTPServer):
    protocol = "HTTP/1.0"
    host = ''
    port = 8000
    if len(sys.argv) > 1:
        arg = sys.argv[1]
        if ':' in arg:
            host, port = arg.split(':')
            port = int(port)
        else:
            try:
                port = int(sys.argv[1])
            except:
                host = sys.argv[1]
    server_address = (host, port)
    HandlerClass.protocol_version = protocol
    httpd = ServerClass(server_address, HandlerClass)
    sa = httpd.socket.getsockname()
    print "Serving HTTP on", sa[0], "port", sa[1], "..."
    httpd.serve_forever()
if __name__ == "__main__":
    serve()

$ python server.py 127.0.0.1:9000
Serving HTTP on 127.0.0.1 port 9000 ...
$ python server.py 8080          
Serving HTTP on 0.0.0.0 port 8080 ...

利用上面的 http 服务,我们可以简单地实现在局域网共享资料。假设在办公室有两台电脑 host1,host2,它们属于同个局域网,现在我们想将 host1 的某些文件共享给 host2,可以这么做:

进入到 host1 要共享的文件的目录 在该目录执行命令 python -m SimpleHTTPServer 使用 ifconfig 命令查看 host1 在局域网的 ip 地址,假设是 192.168.1.3 在 host2,打开浏览器,输入 http://192.168.1.3:8000 就可以查看到 host1 共享的文件了,然后就可以进行查看或下载了,就这么简单。
http://fenixwebserver.com/
$ npm install -g served
$ served $PORT

一直用这个共享视频文件,手机播放拖放进度无压力

政府为什么不管制安利、完美、无限极这类直销公司?

作者:苍月零
链接:https://www.zhihu.com/question/20209447/answer/95179435
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

我丈母娘是搞无限极的,说句真心话,这玩意是直销还是传销,是销产品还是拉人头,这个是公司的营销手法,本来对我们生活影响不大,你不怕承担风险,你觉得成本30元的东西300元卖个亲戚朋友还觉得自己是帮人,这个都无所谓,人品问题,爱骗钱和爱被骗的人社会总是有,这些不是个例。最大的问题是你别夸大产品给人洗脑啊,把人洗得不信西药有病不去检查,甚至变得毫无常识。你牙膏刷牙吹得怎么厉害都行,但别说能当皮炎平用啊,你增健增强免疫力我没意见,别说得能治百病,能代替降压药还能抗癌啊。举几个我最无法容忍的事件:1.我老婆生孩子,医生建议给瓶红牛补充能量,丈母娘死活不让,非要喝她的无限极增健,结果老婆没力气生,孩子被夹了两个小时,在ICU躺了5天才没事;2.生完孩子,丈母娘给我老婆用无限极牙膏涂下体伤口,说能杀菌消炎。。牙膏涂缝针的下体伤口啊!!!3.生完孩子,丈母娘交待不用煲什么汤了,无限极口服液一瓶顶10碗汤。。4.生完孩子,丈母娘给出生还不到两周的孩子灌无限极山楂饮料!!5.过年切菜不小心切到手指,半个指甲被我砍了下来,丈母娘交待用无限极增健口服液泡伤口,口服液外用泡伤口啊!!!6.老婆的爷爷奶奶高血压,丈母娘说降压药有后遗症,对身体不好,要用无限极调理不准用药。。结果,不到半年,老婆奶奶脑血管爆裂,去世了啊!!7.我丈母娘为什么还这么坚信??她说之前自己有癌症没告诉任何人,只有自己知道,后来用无限极调理好了。我问,去医院检查过现在全好了??她说,现在没痛了,“导师”说不用检查的,自己感觉好了就是好了!!癌症不痛就是好了??“导师”说不用复查!!!我老婆的弟弟刚毕业就被她妈抓去做无限极,现在对我老婆下手,她也准备放弃现在安定的工作全职去搞无限极。我跟他们争论了无数次,我感觉无论是跟他们说医学常识、说反传销法律、说科学实验,就像跟一个非人物种在聊天,没一句能说动。。传销坑钱就算了,道德绑架,洗脑到连作为一个人基本的常识都没了。。钱被骗了大不了再赚,唯独愚昧的**侵蚀无法拯救。。我都想放弃了,有些人是救不回来,该破碎的终归还是会破碎,但愿他们的疯狂以后别害了我孩子。。。。。。。。。。。。。。。。。2016-06-13更新。。。。。。。。。。。。。。。。。。终归老婆是离职了,放弃了安定清闲的工作,准备全职投入去搞无限极。而且是先提了离职再通知我,一句商量都没有,背后指点的人就不用多猜了,先断后路是直销的惯用手法了。一年了,说道理说法律说经济也说过了,劝也劝过了,吵也吵过了,骂也骂过了。甚至说到离婚,甚至我放下尊严求她别干了,她都一意孤行。下面的计划是去外地参加洗脑培训,说是一个星期或半个月回来一次看孩子,我才知道,这人是真的救不回来了。最近这几个月看尽了各种关于伪直销的销售手法,垃圾成功学,伪科学实验,奖金制度,洗脑套路,曝光新闻等,有空再整理一下资料并总结一下。同时也谢谢各位乎友的关心,只能说,一切随缘吧。。。。。。。。。。。。。。。。2016-06-24更新。。。。。。。。。。。。。。。。。。以下是关于国内大部分所谓直销业的个人看法,及资料总结,如有雷同,实属荣幸。关于直销还是传销反传销法案 第七条 下列行为,属于传销行为: (一)组织者或者经营者通过发展人员,要求被发展人员发展其他人员加入,对发展的人员以其直接或者间接滚动发展的人员数量为依据计算和给付报酬(包括物质奖励和其他经济利益,下同),牟取非法利益的; (二)组织者或者经营者通过发展人员,要求被发展人员交纳费用或者以认购商品等方式变相交纳费用,取得加入或者发展其他人员加入的资格,牟取非法利益的; (三)组织者或者经营者通过发展人员,要求被发展人员发展其他人员加入,形成上下线关系,并以下线的销售业绩为依据计算和给付上线报酬,牟取非法利益的。这个就不需要分析了,写的清清楚楚。关于直销证目前大部分的大型直销企业,确实是拿到了国家颁发的直销许可证,得到了国家的销售认可。这个在直销员口中就是第一道免死金牌,一旦有质疑公司合法性的,他们首先就会拿直销证来说事。但是,有证是否就一定合法?我保留意见,许可证只能说明企业允许从事直销事业,而并不能保证企业后续所有的行为都是合法或都是直销。就好比考了驾照就能合法上路,但并不能保证你以后开车不会违规一样。所谓合法,唯一的标准就是符合法律,这也是我在劝导亲人时一直坚持的观点。尤其在**,我给1个亿或许就能买到一个直销证,但是即使我给100个亿,也改动不了任何一条法律。至于直销公司的模式是否符合法律,请参照上面的反传销法案条例。关于洗脑不会有公司承认自己是洗脑的,他们把这叫做成功学教育。是要帮你“洗去穷人**,换成富人**。那么他们究竟是不是精神控制呢?区分精神控制,要看是否具备以下四个特征:    第一,阻断别人获取信息的正常渠道。无限极的人一直强调外面的人都是不了解无限极的人,要了解无限极必须找做无限极已经成功的人,要想成功就不要到外面去学,不要听外面其他人怎么说, 说了也不能信。    第二,屏蔽所有对自己不利的信息。一切质疑无限极、对无限极不利的信息无限极人都会说这些都是“消极负面”的言论,是霉菌,是成功的障碍。而成功者永远是“积极正面”的,所以一切不利的质疑、数据、分析都不准说,更不能信。 这个体会比较深的是,有段时期我找了各种曝光直销的新闻视频(后面整理会给出链接),给妻子看,希望即使不能唤醒她好歹也能动摇一下她的想法。结果得到的回答是,这些都是负面新闻,我也知道有这些情况,但是不能只看不好的。呵呵,都已经自我屏蔽过滤信息了,而最可悲的是,那些新闻都是别人经历,屏蔽就算了,而现在是我们自家已经闹得快离婚了,已经不是发生在别人身上的负面新闻了,她还是能屏蔽得跟没事一样,固执一定要做无限极。难道掩耳盗铃就是他们成功学的核心?真是艹艹哒。   第三,进行反复高密度的精神灌输。要求下级每会必到,必开长会。不开会的时候日常也要求不断的听磁带,看书,当然所听的磁带所看的书都是上级推荐的。用大量宣传资料占有个人有限阅读时间,反复强化理念。    第四, 对案例必须必须相信,必须听话照做。真理是不怕比较,不怕辩论的,如果无限极会场说的是真理,为何如此恐惧下级部门听外面人说,还要如此坚决压制一切不利信息?无限极人是从来不需要理性思考的,只需要严格听从。    从以上四点特征可以看出,无限极是非常明显的精神控制, 和**一样,必须相信,不得怀疑。    记得有次我跟妻子讨论,她说打算四个月吃无限极调理好自己的妇科病,吃好了我就要相信无限极。我说好,如果四个月吃了没好呢,你是不是就不信无限极以后不去干无限极了?她说,怎么会不信呢,四个月一定吃好,吃不好就继续吃啊。。我说,好吧,那我要做什么或者这世上发生什么事才能让你不再相信无限极有那么神奇呢?她沉默了,然后说,没有。。没有!!!这是多可怕的回答!!算命佬说错了大家会质疑他的骗术,风水佬可以骗你十年八年最后没中,你会觉得他是胡扯骗钱。而无限极,却是达到了无条件相信,没有任何事情能让沉迷者放弃相信的地步,无论它的保健品是否有效,无论做无限极是否能赚到钱,它都是一个超然于其他一切之上的信仰。当一个人无条件“愿意相信”一件事的时候,是很无奈的,所有的反对声音,都会被认为是阻止成功的阴谋。关于产品效果没吃无限极,病好了,他们会告诉你,吃了无限极好得更快;吃了无限极,病好了,他们会告诉你,那全是无限极的功劳;吃了无限极,病没好,他们会告诉你,是吃的量不够或者配方不对,要加大量吃;吃了无限极,病严重了,他们会告诉你,这是病理反应,有反应才证明是有效,要继续坚持吃;吃了无限极,人挂了,他们会告诉你,没有包治百病的,只是给你个机会博一回,晚期吃了没好也是正常。世上本没有路,全是套路。当然,保健品对身体有益是肯定的,部分疾病通过保健品调理能有好转也是真的,即使是某些不治之症,用了保健品后心态放宽了,对病情也会有好处。至于能防癌控癌,高血压不需要降压药,糖尿病不需要胰岛素,都能通过保健品调理好,这个就见仁见智。关于销售模式 多层次直销依然是提倡发展下线,并且报酬的很大一部分是来源于下线的销售额。这一点,跟我上次提到的反传销法中对传销的定义是吻合的 这些所谓直销企业很多其实可以正规靠产品吃饭的,成本跟价格合理还是有人愿意选择,但是为了追求短期利益偏偏就要用传销这种下作的销售方式。而这种金字塔多层次直销,需要给多级直销员大量提成,随之而来产品价格定位必须就要高。价格高了,平民买不动了,就注定直销员要用洗脑宣传的方式拉下线提销量,不然正常思维大众收入的人有多少会买?为了销量,要把产品功能说得有多夸张说多夸张,为了别人跟自己做(下线,下级,合作伙伴其实都一个意思,只是企业为了避讳),还要把自己的直销事业吹得上天,不然谁会跟你。 在这种模式下,产品反而成了次要,或者说只是企业便于宣传自己有真实产品,有别于传销的一个幌子,但他们的利润依靠的,已经不是产品的质量了,而是这种洗脑宣传拉下线拉销量的方式。<img src="https://pic1.zhimg.com/8ebf887df3ad56acfd3cd3ffd7e7e3f4_b.png" data-rawwidth="516" data-rawheight="600" class="origin_image zh-lightbox-thumb" width="516" data-original="https://pic1.zhimg.com/8ebf887df3ad56acfd3cd3ffd7e7e3f4_r.png"&gt;。。。。。。。。。。。。。。。2016-06-26更新。。。。。。。。。。。。。。。。。。关于直销成功学选择大于努力和坚持就是胜利 伪直销是典型的两面派,说话并不在乎有没有逻辑和有没有根据,只是怎么对自己有利怎么说。 这两句就是典型,咋看之下,两句话都是很有道理,无从反驳。当要求别人加入时,他们必然大谈特谈“选择大于努力”,你们现在打工几年也就月薪几千的收入,没前途,还是赶快放弃现在的工作来做直销;但是别人加入后,就大谈“坚持就是胜利”了,前面三年五年打基础,亏损也是一时,坚持下去就是月薪十万百万云云。 总的来说,没有选择直销,是你没眼光,选了直销没成功是你不够坚持和努力,这是他们会每天鸡汤灌输的理论之一,也是我每天在朋友圈看到妻子和岳母最常转发的理论之一了。 但其实,理性看待问题,行行出状元,哪个行业会没有月入百万的大神?又有哪个行业会没有月入几千的底层?直传销行业月入几千几百的是少数?倾家荡产妻离子散的还在少数?只有拿自己的高级级别和传统行业的普通员工比,才能找到优势,这样的理论有任何说服力?2. “不接受直传销模式的是穷人**” 这帽子扣得杠杠的,换句话说,如果你不想被扣上“受穷活该”的帽子,你就必须认同他们的理念。然后他们会告诉你多层次直销国外是合法的,是新思维新模式,是未来趋势云云(关于趋势论,后面再展开分析)。 其实,那种以为只要听话、相信、照做就能发大财的人才是真正的穷人**。不过,他们会赞美这样的人“有眼光”“有远见”。有了这样的人,他们才有下线发展,才有下家可以骗。3. 直销趋势论 这也是直销最常鼓吹的理念之一,大意如下: 直销是去除了中间代理让利消费者的新型销售模式,是未来的趋势,以后所有家庭都会走进直销。今年是直销元年(几乎每年都说是直销元年),是抢钱的时代,过几年再加入就晚了,现在进来以后加入的都有可能是你的下线。然后后面是各种例子,马云作为躺枪王已经习惯当封面了,说马云当年也被当成骗子(没怎么听说过),现在是千亿身价,然后是习大大各种配图,说哪届哪届会议习大大要支持直销,后面还有李嘉诚啦、马化腾啦都会莫名被写进他们教材。 哎哟,这个,槽点太多,一时不知该从何吐起呢。先说去除了中间代理,传统行业是工厂-总代理-一级代理-二级代理-批发-零售等等环节才到消费者手里,而真正的直销是工厂-直销员-消费者一步到位。但其实这些企业基本都是工厂-直销员1-直销员2-直销员3.......直销员n-消费者,虽然只经过直销员一个环节,虽然真正给你推销的可能只有一个直销员,但从利益分配上来看,绝对不是只倒一手。你知道你买了一盒增健有多少人拿了提成不?这是让利消费者?明显就是让利直销员吧。 再说趋势,什么是趋势,大势所趋,民心所向也。用他们最爱的躺枪王为例,淘宝网为什么能成功?或者说互联网销售为什么能成功?是因为互联网销售真正地做到了让利消费者,卖家网上卖东西,去除了昂贵的实体店租,间接降低了销售成本和价格,而买家觉得价格低了还不用出门随时能逛,当然愿意选择。这是一种双赢,所以淘宝网,从2003年成立,到2005年成为亚洲最大的购物平台,仅仅只用了两年时间。。 再看当今的直传销,就从鼻祖安利算起,1995年进入**,到现在已经二十余年,提起直销保健品,到今时今日,大部分人对待这类保健品依然跟过街老鼠一样敬而远之,至少在我们80后这一辈,一提到安利,第一反应就是传销。为什么,如果其身自正,二十年的时间还没法澄清一个谣言?跑题了,回到趋势论,一个产品为了让利直销员,为了那数不清层级的提成,必须把产品价格定得死贵,这样的售价,国内的消费者又有多少人能承担?药店20元的钙片,直销卖到200元,这样的价格还敢吹嘘什么趋势?只有少数人相信的保健品,只有更少数人能承受的价格,还谈何趋势?街上随便找100人,估计90人都愿意网上购物,至于肯相信并使用无限极的100人中可能一个也没有。民心背向,销售的最终利益来源是消费者,如果连消费者都得不到实惠的销售模式,还能走多远?4. “没有了解就没有发言权。” “只有做无限极的成功者才了解无限极,那些说无限极不好的都是不了解无限极的人,没有了解就没有发言权。” 比较经典的说辞了,评论中的某位探知者也提出来了,估计直销都是用的一个教程版本。 他们喜欢一口咬定说无限极不好的人就一定是不了解无限极,等于扎了一个笼子,你只能在笼子里面了解信息,这样就在无限极的控制之内。按照他们的逻辑,产科医生只能女性做,男医生“你又没生过孩子,凭什么指导我生育?”同样逻辑,杀人犯完全可以对法官说,“你又没杀过人,凭什么审判我?”扩展来讲,这世上的经验有两种,直接经验和间接经验,两者同样是获取知识的手段,并不是说间接经验就不可靠了,或者说很多时候你根本无须甚至无法获得直接经验。例如,你们做直销的以后教育孩子就别跟他们说砒霜有毒,会死人不能吃。因为你们都没吃过根本没有发言权,有发言权的人已经不会说话了。呵呵哒。5. 倍增理论倍增理论是大部分直传销的金字塔销售模式的核心基础理论,加入直传销行业的人中大部分就是因为这个诱人的理论所衍生的发财梦。而倍增理论来源于这么一个故事:古印度国王奖赏国际象棋发明者,国王问他想要什么打赏。发明者说:“在象棋盘上的64格上,第一格放一粒谷,第2格放2粒谷,第3格放4粒谷,第4格放16粒谷,如此倍增下去,第64格上放的谷就是我想要的数量。”国王想也不想就答应了,可是当计算结果出来时,国王惊呆了,结果是一个天文数字,即使全国的粮食加起来也不够!(2^64-1=18446744073709551615粒)因为直销的奖金是跟下线的销量紧密相关的,他们会告诉你,按照上面的理论,进来后只要找6个长期坚持做的下线,然后这6个下线各自再去找6个,如此下去六六复制,后面的下下下线可能根本是你不认识的人,但他们的销售量也会给到你提成,就算你自己没本事,只要你下线中有人是有本事的,你以后甚至不用干活了也能有丰厚收入,月入十万不是梦。这个销售理论的引入,也导致他们的观念中比起销产品,更重视的是拉下线,才会出现那些推荐你买保健品的人无时无刻都想拉你入坑一起做。这也是为什么我上面提过的真实产品只是个工具,只是个幌子,拉人头才是本质,直销才会变成如今的变相传销。下面资料来自无限极奖金制度资料:<img data-rawheight="753" data-rawwidth="692" src="https://pic1.zhimg.com/99cc057f7935215ba860922e6eba9fd0_b.jpg" class="origin_image zh-lightbox-thumb" width="692" data-original="https://pic1.zhimg.com/99cc057f7935215ba860922e6eba9fd0_r.jpg"&gt;握草!!1500万的下线小伙伴,这是什么概念,是全国人口的百分之一!!全国一百个人中就有一个人是你下线了。1500万下线,每人每月业绩1万又是什么概念,加起来一个月的业绩就是1500亿,一年就是近 2万亿,这是国库级别的数据啊。。做到十分之一绝对没问题?去年无限极全公司总业绩也就300亿不到,整个无限极的人都是你下线都达不到理论值的十分之一啊。他们非常擅长在你只有一个鸡蛋的时候就用“鸡生蛋”、“蛋生鸡”的方法为你计算出你未来拥有一个多大的养鸡场,却从不告诉你鸡有可能生不出蛋,蛋也可能孵不出鸡。他们总是用最理想化的方式为你描绘未来而不告诉你可以预见的风险。例如说:a. 价格比起正常市场高出数倍的保健,自己根本很难销售,所以都想着通过拉下线的方式,你的下线也这么想,你的下线的下线也这么想,导致整体的推销欲望低下。没有销售,下线提成何来,你的提成何来?b. 消费者的不稳定性,保健品并不便宜,在很多人眼中也并非是必须品,甚至是奢侈品,这个月买了,下个月买了,再下个月看起来没效果就不吃了。你就无时无刻需要不停寻找新客户,忽悠旧客户;c.下线的不稳定性,基本同上,卖了几个月卖不出去,或者受不了周围人的精神攻击,或良心觉醒,或智商觉醒,你下线随时可能撒手不干;d. 金字塔坍塌性,金字塔销售受益的只是高层,倒霉的都是底层,底层受不了难民生活跑了,他们的上线没了下线,也难以存活,跟着跑了,上线的上线也是如此,一层一层往上倒塌,看起来庞大的团队有可能毁于顷刻间。亲人朋友有做直销的不妨问问他们,他做了多久了?现在团队有多少人了?就会发现实际上根本没有几个人可能做得到。有很多理想化的算法看似简单,却根本无法实现。 <img src="https://pic4.zhimg.com/284fd7528670be0ad63369ad17c09cbb_b.png" data-rawwidth="626" data-rawheight="262" class="origin_image zh-lightbox-thumb" width="626" data-original="https://pic4.zhimg.com/284fd7528670be0ad63369ad17c09cbb_r.png"&gt;。。。。。。。。。。。。。。。2016-07-03更新。。。。。。。。。。。。。。。。。。关于一些直传销公司的套路1. 健康危机论国内直销的,以保健品居多,因此,大多都会给你灌输一种健康危机的观念:目前的地球环境各种恶劣,空气被污染了,必须买个空气净化器;水基本都不能喝了,必须买个滤水机;蔬菜水果都有农药,必须用他们的洗洁精;全地球人都是亚健康,不吃点保健品调理,就会各种疾病。被洗脑之后,张口闭口就是为了健康,谁不用他们产品谁就会不爱惜生命,我卖你产品就是卖你健康,让你觉得不买产品就是对自己和家人的健康不负责。赤裸裸的健康绑架,环境不断恶化是事实,有条件的吃点保健品调理一下是有好处,但实际上一个人如果平时健健康康,根本也没有长期服用保健品的必要,还不如多点出去运动。任何保健品,长期吃毕竟还是会伤肝,更何况竟然怂恿让刚出生几天肠胃柔嫩的婴儿喝什么保健品,简直令人发指!!2. 经济危机论直传销的人很擅长给人营造生活危机感,整天给你灌输一些想法,你的工作绝对比不上直销,三五年后你的生活还是怎样怎样穷。让一些原本安于生活的人变得对未来战战兢兢,然后想要改变生活,他们给的出路就是干直销。我妻子便是被此洗脑的典型,整天说如果继续打工,孩子长大后能给他什么物质生活,给他买楼买车怎么办。其实,很多时候,洗脑洗的不是智商,而是通过种种手段激起内心原始的欲望,从而控制他们的**和行为。且不说我从事的IT业有多大前景,他们的直销业多有前途,也不说我被他们那群月收入还没老子一半的人鄙视是一种怎样的体验,就从他们本身的欲望来说,赚钱的目的是为了什么?不就为了更快乐地生活么?而如果为了追求赚钱而把原本安乐的家庭弄得支离破碎,岂不是本末倒置?甚至是一边打着不是为了发财,是为了改善这个家庭的旗号,一边不惜破坏这个家吵得几近离婚的地步?打着给别人宣扬健康的旗号,而不惜把自己丈夫气得几近吐血,无限极就是这么教的健康理论?为了钱就是为了钱,何必还给自己一个冠冕堂皇的借口来自欺欺人?3. 打预防针(或称为防弹衣)直传销公司其实都知道国内所谓直销的臭名声,他们也知道参加者有顾虑,往往会主动出击,先给你泼冷水让你知道你会被质疑,这样等到你真的被质疑的时候,你便不会理睬。他们会灌输这样一种**,你做直销家人朋友一定会反对,所以要先防别人阻止你做,比如“你不了解,就没权利反对,想反对,先跟我去听课,等你学会了再反对”。4. “你先试过再决定信不信”,“必须每月自用产品,自己用过才能更好的分享给别人”前一句是跟还没入坑的新用户说的,后一句是跟已入坑的下线说的,乍一听好有道理,实质是强迫消费,你的试用是免费试用?卖药的都不得病?脸上长痘的人卖的化妆品都是假货?先买几个月保健品试用,即使你试过后不干直销,你也已经消费过了。举个简单例子,我宣传自己的尿尿能增强免疫力,10元一杯,都来试一试,试过不好用以后不买。全国即使只有万分之一的人愿意尝试了,我也能赚个一百多万了,至于有没有疗效,以后你们买不买,who cares?要是碰巧撞上死耗子,出现说有效的人,那就赚更大了。至于每月必须自用,那就是更大的坑了,基础套餐增健、钙片、灵芝王,一个月少则600,多则....上不封顶。现在直销业最大的消费群体就是直销员自己,由此而来。5. 断后路你现在打工的事业没前途,这辈子都没出息,发不了财。打工的要先辞职了,开店的要先关门了,全身心来无限极大学听几次分享会,这是机遇,再晚点加入就晚了。原本就对自己的职业没有理想,没有人生目标的人最容易着道,我岳母一家就是如此。6. 超量服用 当你最近身体不适的话,他们会建议你5-6倍服用,如果是什么癌之类的,请10倍服用。好吧保健食品而已,吃不坏,但是消费速度陡然增加,知道为啥加倍服用了吧。我就见过妻子感冒时,一次5瓶增健(均价约5元一瓶),一天两到三次,结果一个月下来耗了近两千元。。最diao的是感冒还没好。。7. 分享会和鸡汤这个不用多说了,安利成功的秘诀是什么?每会必到!!分享会(我坚持称为洗脑会)会有各种自称成功人士给你讲励志故事给你打鸡血,直销圈子里的人也几乎是固定每天发他们的励志文来互灌鸡汤,这是他们干下去的一个动力源泉,有亲人直销的都会知道,这个真不必多说了。8. 参观工厂为了宣传定期组织参观工厂(无限极还有种植场),作为非专业人员,在厂区里走马观花逛逛能看出来什么,我就不评论了。作用跟分享会差不多,给你坚定一下对公司的信心,对产品的信心,看看公司的实力,打打鸡血洗洗脑,更健康。工厂外观挺气派倒是真的,挂名无限极大学,门面装得比我母校大广工还气派。也难怪他们自称学了中医,瞧不起那些学医的大学生了。<img src="https://pic3.zhimg.com/582cbe0c553e376a3898f6f49328d356_b.png" data-rawwidth="599" data-rawheight="449" class="origin_image zh-lightbox-thumb" width="599" data-original="https://pic3.zhimg.com/582cbe0c553e376a3898f6f49328d356_r.png"&gt;话说,公司有钱,和你进去能赚大钱,两者之间有一分钱关系??。。。。。。。。。。。。。。。2016-07-05更新。。。。。。。。。。。。。。。。。。9. “无限极是成就普通人的事业,所有人都适合做直销”正常的公司挑选人才都是重重面试,精挑细选出来的,招了无能之辈只会浪费成本还有可能造成额外损失。但直传销拉会员(或者所谓的直销员)是从来不挑人的,管你是00后小屁孩,还是没读过书的高龄婆婆,都无任欢迎。无论你条件如何,不会有上线告诉你不适合做直销,只会说你不够努力,要更卖力去做。为什么有这样的差异?他们真的是为了成就普通人?其实,从他们的奖金模式可以看出端倪,上面说过了,要成为会员,首先要消费产品,其次,就算你成为了代理商,奖金永远是跟你团队销量挂钩(参考无限极打怪升级图)。如果你能力不行产品卖不出去,直传销公司根本不用付你一毛钱。换句话说,无论谁成了会员,直传销公司都是只赚不亏的。加入后,首先你就已经是公司的消费者;其次,也是一个活生生的产品广告宣传者;再次,你帮公司赚钱了,我分一小部分给你,你没赚到钱,我一分钱都不用给。这是稳赚不赔的生意啊,直销员多多益善,还会管你是超人还是普通人?哪怕你是一条狗他们也收了啊。10. 各种不科学产品实验见过岳母给我做牙膏实验,把无限极牙膏和高露洁牙膏分别烧成灰,是的,你没看错!是烧成了灰!然后看烧出的灰有没有杂质来反推无限极的牙膏比高露洁更牛逼,更天然。简直看得老子目瞪口呆,你牙膏不比洁齿能力不比防蛀,比灰的杂质度,我还能说啥。。。更多有趣实验可以参考以下这位仁兄的回答,不做搬运工。开个坑说说无限极到底是什么样的?? - 匿名用户的回答11. 夸大宣传和虚假宣传这是直传销的共性了,这么贵的产品,正常宣传谁会买单?所以你会看到他们的保健品除了保健之外,会有很多额外很神奇、很奇葩、很逆天的功效。不好意思,只了解无限极,所以还是拿无限极开刀,现在他们宣传总结无限极牙膏有36种功效,而且还在持续增加中,这尿性估计年内要破百,其中包括:能当洗面奶,能治阴道炎,能治脚气,能去老人斑,每天刷牙时吃一点下去还能治胃病。朋友圈里见过更作死的是,说高露洁公司派人研究并偷了无限极一部分配方,才制成了现在市面上的高露洁牙膏。。我去!!先不说高露洁的化学成分牙膏怎么就参考中草药配方,就时间上,高露洁公司1806年成立,无限极1992年才成了,说一个比自己早了两百年的牙膏专业公司偷了自己的牙膏配方,宣传者是穿越剧看多了?还是无限极牙膏吃多了?至于主推的保健品,就更牛逼得不行,给你自动搜索病灶并修复,大至癌症肿瘤高血压糖尿病风湿骨痛,小至感冒发烧月经不调阳痿早泄不孕不育,吃了它都有效果。12. “夸大宣传是个人行为”针对上面的宣传问题,直传销公司会给出这么个答复,直销人员素质参差不齐,夸大宣传是个人行为,公司监管不到位,公司保健品不能代替药物,夸大宣传是要被公司处分的。(这说辞跟下面评论中某仁兄的回复一致,又是同版教材。)呵呵,效果最烈的夸大宣传和洗脑来源于他们所谓的分享会,而提供分享会场所的是无限极,甚至场上给新人洗脑演讲和做实验的主力,也主要都是无限极的高层或者是从事无限极多年的老手。如果宣传是个人行为,每月的会议主题就不应该是夸大宣传、暴富梦和各种不科学的实验,而是在会上给大家说明保健品没有治疗作用。说是会处分夸大宣传的人,你官网倒是给我一个用于举报的窗口啊,老子手上多得是夸大宣传的人员名单。这个不是监管力度问题,而是根本没有辟谣的意图,甚至是喜闻乐见,会降低自己产品销量的事,傻子才会做。说他们是监管不力或者说他们有意要澄清产品没有神奇功效,只是个别人的不法宣传,这本身就是个笑话。。。。。。。。。。。。。。。。2016-07-16更新。。。。。。。。。。。。。。。。。。13. “直销产品是世界一流产品,商场上卖的都是二流产品”不了解他们说出这句话的依据是什么,按照他们之前说的“没有调查就没有发言权“的理论,难道他们对市场上所有牌子产品都做了对比调查?即使他们的产品确实是世界一流,这种以贬低他人来抬高自己的宣传手法也让我觉得反感,甚至让人觉得这企业的文化和道德是有问题的。感觉就像以前读书时代有人狂妄称自己是全班最聪明的,这听起来也没什么问题,但如果后面他再补一句,”除了我之外其同学都是**”,那估计会引起众愤吧。14. 西药都有毒,无限极纯天然无化学成分加入无限极的人,大部分是排斥医院,否定西方医学的,甚至将西药称为几年也排不出体外的毒素。当然这也是“导师”一级一级灌输下来的,这也是最容易误导人耽误治疗时机的理论,高血压不再吃抗压药,吃无限极调理就好;糖尿病不用打胰岛素,吃无限极调理就好;各种癌症也不用手术不用治疗,吃无限极调理就好。想当初,青霉素的发现,结束了感冒发烧都会传染死一大片的时代,至今使无数人幸免于难的这西药也被说成是一文不值的毒素,这是对西方医学文化赤裸裸的亵渎。至于纯天然,其实我想问,自己榨个果汁、煲个中药,够纯天然吧,放两天就不能喝了,而无限极的润和饮料,增健等,保质期都有半年一年,里面没有防腐剂或保鲜剂?更何况是开了瓶后还能慢慢喝一两个星期,什么原理??至于不含化学成分,化学成分有害什么的,都是用来忽悠大妈的。这世上没有什么东西不含化学成分,学过高中化学的朋友都知道,水是化学成分,化学公式是,氧气也是化学成分,化学公式,难道那些导师们都是不喝水,不呼吸的??太可怕了。关于产品成本的预估没有人会告诉你他们直销产品的成本价的,但是我们还是有办法预估,作为数据帝,可以给大家从他们的奖金制度倒推出大概的成本价。<img data-rawheight="664" data-rawwidth="707" src="https://pic3.zhimg.com/f3d2abd3856935de18fe94042dbad652_b.jpg" class="origin_image zh-lightbox-thumb" width="707" data-original="https://pic3.zhimg.com/f3d2abd3856935de18fe94042dbad652_r.jpg"&gt;首先,假设你这个月销售了标价总额为100万的产品;会员零售八折,去掉20% (20万);销售折让10%给了你拿货的专卖店(10万);12.5%作为培训奖金给了你上线(12.5万);6%业绩分红给你(6万);10.5%公司分红给了你团队(10.5万);其他稳健奖,优秀奖等加起来1% (1万);纳税给政府 20% (20万);最后剩下20% (20万)才给到了无限极公司自己,保守假设公司拿10%作为纯利润,那么剩下的10% (10万)就是成本了。也就是说,标价100万的产品,成本只有10万。300元的增健,成本也就30左右。而且还是保守估计,实际成本只会更低。你还会觉得卖保健品给亲朋好友是在帮人不是在坑人??关于一些直传销的法治现状1.关于法律监督直销管理条例05年颁布,至今没有任何修改,至于反传销法,除了定义了传销的行为外,也就一纸空文,根本起不到作用,监管只说工商局管,可是怎么管,都能做什么,职权限度在哪,通通没规定。这也造就了国内传销横向的乱状。2.关于群众监督深入了解直传销的受害群体后,才发现受害家庭的数量比我想象的要多得多。很多人也在想尽办法挽救自己的家人。工商总局的留言系统已被举报直销信息占满了,让人寒心的是工商总局只是机械地回复让群众自己根据法律判断,也完全没有要去管制的意思。不就是因为直销公司交了点税么,难道我们广大老百姓就没有交税?国家究竟是立法为民,还是立法为税?工商总局对于直传销的放任做法,简直不知所谓!!工商总局公众留言系统<img src="https://pic1.zhimg.com/afd95a9f2a3187523d13fbf029a1cc14_b.png" data-rawwidth="1430" data-rawheight="860" class="origin_image zh-lightbox-thumb" width="1430" data-original="https://pic1.zhimg.com/afd95a9f2a3187523d13fbf029a1cc14_r.png"&gt;&lt;img src="https://pic3.zhimg.com/b1793751d37bf16e3440670ad4cc5dd6_b.png" data-rawwidth="990" data-rawheight="553" class="origin_image zh-lightbox-thumb" width="990" data-original="https://pic3.zhimg.com/b1793751d37bf16e3440670ad4cc5dd6_r.png"&gt;&lt;img src="https://pic3.zhimg.com/ec99bd416a89977f37f15c76d478739e_b.png" data-rawwidth="977" data-rawheight="490" class="origin_image zh-lightbox-thumb" width="977" data-original="https://pic3.zhimg.com/ec99bd416a89977f37f15c76d478739e_r.png"&gt;3.关于媒体曝光河南365新闻对假直销的曝光系列报道,良心媒体不解释,目前国内对直销尺度最大的曝光新闻:变味的直销(河南卫视系列报道完整合集)炮轰各大直销制度直销为什么越做越穷对直销的财经点评:直销难民,美梦该醒了!生活帮新闻对无限极传销调查:无限极夸大宣传 传销+洗脑 生活帮新闻调查PS:应该差不多了,怀着满满的负能量写完,期间收到不少乎友的私信求助,基本都是说家人进直销不听劝。对此,我也没有绝对可行的办法可以提供,只能给出我的经验和建议。而实际上我所了解的,都已经写在上面了,只希望给后来者一个提醒,如果觉得还有需要补充或者观点有误的,也欢迎交流。

节约的人富不了,会花钱的人才懂赚钱

作者:青岚
链接:https://www.zhihu.com/question/38607179/answer/132021968
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

最悲哀的莫过于:某些人无心(或者有意)的装个逼,你确当真了。

随着移动互联网时代的开启,越来越多的毫无道理,毫无逻辑的毒鸡汤迅速的蔓延,污染着人们的**,天朝这智商税近几年有加大火力猛收之势,不爱动脑的人要捂紧钱包了。

最近我的一个好朋友在闹离婚(男方算是我不错的朋友,女方是我高中同学,可以说俩人人品啥样,我知根知底,都是比较普通的孩子,没啥性格缺陷),男方说女方变了,变的越来越物质,越来越爱攀比,女方则说跟男方的消费观念不一样,最后的导火索就是女方的一句“网上都说了,不会花钱的人挣不了大钱”。

鉴于此,我真的觉得真应该好好的谈谈这句毒鸡汤。

事实上这句话也不是最近才流行的,十几年前我还是个中二的血汗工厂少年的时候,月薪1500(当时我们本地的国企工人月薪才800,饭店服务生300,我这虽说累点,危险性大点,但在当时我们那个小城,这个工资算不错的了),确梦想着有朝一日能成为巨富,走上人生巅峰,所以呢,那时------------------------------------------我疯狂的迷上陈安之的成功学,当时我咬牙买下了他的一套成功学书+光盘,花了600多,那可是我当时月薪的一半,穷疯了的人对财富的渴望可真是非常的疯狂,当然,智商也无限的趋于0,这样的人不狠狠的收他点智商税,都对不起忽悠他的人。

我记得当年在我们本地较大的酒店,一个自称是陈安之弟子的人开了一个成功学讲座,门票倒是不贵,58元(当然,原价是998,为了体恤有梦想的人巴拉巴拉巴拉,你懂的),当时我翘班也顾不得换便装了,直接穿着我们工厂的厂服,骑着我那破28自行车就去酒店参加了,一进会堂,黑压压的一片能有个几百人,我刚进去那个所谓的讲师就说了第一句话,非常的有煽动性:“大家好,首先我要说一句话,就是,你们鼓掌的速度,就是你们赚钱的速度!”,之后在场的几百人跟疯了一样的使劲鼓掌,说实话,当时我听到这话有点失望,我觉得这种话明显的在煽动人的情绪,当时陈安之在我心中就像神一样的人,真想不到他的所谓弟子的演讲以一个这么low的方式开始,但是环境的力量是可怕的,即使你有质疑,但是当时大家都是相信的,你就会动摇你的坚持,会质疑自己是不是错的,否则为什么大家都做了,而你没做呢(我相信经历过传销现场的人,也会这么想自己)?我也不由自主的跟着开始鼓起掌来,之后演讲的内容跟陈安之在光盘上讲的内容基本一致,内容核心点就那么几点:

(1)想赚钱就不能要脸(成功学里面谈及了很多自我鼓励的方法,这个其实我个人认为还有有点正面的学习意义的,尤其对内向的人来说)。

(2)成功学是通过研究世界各国的富豪的行为方式的一种学说,所以一个普通人只要学到了富人的行为方式就能致富(这里当然包括模仿富人的消费模式,包含那句"会花钱的人才懂赚钱"这个思维)。

现在回想起来,成功学对于我并非一无是处,我本性比较内向,一直不善于与外人交流,与陌生人讲话就会脸红,害羞,结巴,当时就想花了600多买这个课,如果不能改变自己,不就亏了么,所以就强行的逼迫自己与外人交谈,比如:
在工厂的时候与别的部门的工人聊天;
排队买东西的时候与后面的陌生人聊天;
在公园等朋友的时候跟同样在等人的人聊天;
跟兄弟在大街上闲逛,兄弟说某个女孩很可爱,我会帮他们去搭讪要电话号码。

为了改变自己内向的性格,这些事我都做过,从这点来看,成功学并非一无是处,起码是一个培训推销员的一门入门课程。

后来这堂课快结束的时候,我观察了一下身边的人:年龄从20来岁的年轻人,到50几岁的中年人,男女老少都有,但是一个共同的特点就是:从衣着和神态可以看出,都是处于社会底层的普通人(后来我创业成功问过很多我们本地的有钱人和二代他们信不信成功学,答案很有意思,研究有钱人的成功学有钱人本身是不信的,反倒是没见过钱的屌丝为之疯狂,但是有钱人会把这个作为工具来教育他们的员工,让他们的员工信,够有趣吧?)

成功学的第二点,通过模仿富人的行为模式来致富看,就很扯淡了。

国外的咱们不清楚(对**特色社会主义这个环境借鉴意义不大),但是后来我自己创业成功,进入我们当地的上流社会圈子,跟很多我们本地的富人和二代一起玩耍的时候,我就发现,起码就我亲眼所见,我所认识的在天朝致富的人,基本就那么几个类型:

(1)早些年出身成分不好,无法进入体制内谋生,胆子比较大的一群人。刚改革开放那时候,这些人由于家庭成分不好,进不去国企,体制内,为了生存,走投无路只能自己撸起袖子单干,南下当倒爷,或者搞个体户做生意,那个年代由于固定资产价格低,赚到钱的买几个好地段的房子,门面,地皮,基本够子孙吃好几代的,反倒认真经营实体生意的人后来大多破败了;
(2)随着**加入世贸,外贸的兴起,南下去沿海开外贸工厂的人;
(3)官富二代。靠着父辈的资源,随便干点啥都赚大钱,官三代和富三代我都见过;
(4)抓住房地产大发展红利的人。离现在并不久远,2012年以前,尤其是2008年4万亿投资之后那几年,简直是干啥都赚钱,想赔钱都难,前些年经济确实好,甚至媒体天天说“**盛世”,做跟房子相关产业的人大多都能赚钱,比如开发商,包工头,卖各种建材的,开装潢公司的,开广告公司的,房产中介,房产销售代理公司,物业公司,这些行业赚钱容易,自然消费欲望强,随之带动了餐饮业和娱乐业(我就是靠着这个大背景创业成功的,并不是我能力有多强)。
(5)自身确实有过硬的专业技术,外人无法模仿。这种创业成功者基本都是技术天才(我认识有几个搞计算机的在家开个工作室,一年赚几百万的)。
(6)各种的捞偏门的。这个得有强大的关系背景,得有保护伞,定期叫保护费,否则就是胆量很大的拼命三郎(这样的大多数都没有善终,就像西游记里一样,打死的都是没有靠山的妖怪),一不留神就容易引起牢狱之灾,普通人想做也做不了,没那个条件,大多一个赚钱方式也维持不了几年,但是利润确实超级大。
(7)吃国外饭的。开留学移民中介,开外语培训学校,开境外游旅行社的,把农民工送出国的出国劳务中介,反正就是可能没有本地的关系背景,但是有海外的关系和背景。
(8)这几年,抓住移动互联网红利的人。基本都在大城市,做手机APP的,做新媒体的,干软件WEB网站外包的。

大家看完上面这几点,估计能明白了,普通人所谓的阶级上升,最重要的因素其实是能看清时势,抓住时势(时势比你个人努力重要的多,古人云“时势造英雄”“识时务者为俊杰”就是这么回事儿),其次就是会读书,有知识,百里挑一的人精,天才,搞的那套外人根本没法复制,模仿,这样才能攫取最大利润,达到阶级向上,其余的也没啥机会。

这跟你能花钱,能省钱有毛关系?我认识的那些创业成功的富人,成功之前不是农民就是普通工薪族,花钱节省是必须的,他们当时想奢侈有那个闲钱和条件么?而创业成功后的几年中,花钱会特别的奢侈,因为穷怕了,突然有钱了,会感觉特别新鲜,但是这样过去几年,就慢慢的习惯了,消费开始变得正常了,更愿意在自己喜欢的领域消费,而不是什么都买贵的,看到什么买什么(就是暴发户也是爆发的前几年花钱特别的大手大脚,过了那个劲儿,大多也就回归正常了)。

我前几天回老家,跟我们本地的房地产商二代吃饭,他就跟我说,现在我们本地的有钱人买豪宅的品味变了,他们公司以前开发的房产都是带装修和家具的,前几年流行的装潢是把室内弄的跟欧洲古代的宫殿一样,各种的奢华,大吊灯,壁炉,床都是带金边的,一切都是金灿灿的,目的是外人来家里做客,能感受到他家多么的气派,有钱,说白了,买房子是给外人看的,是身份的象征;

现在呢,这样的装潢本地的富人不喜欢了,觉得太土老帽,喜欢北欧的极简风,显得自己有生活品味,有知识,有见识(连我们本地的黑社会大哥都带上眼镜,开公司装文化人了,出入外人都叫X总,而不是以前的x哥,这说明即使是土大款,也不希望在别人眼里是土大款的形象),以前的风格不像家,没有家的感觉,住着不舒适,现在他们公司把设计师集体送到北京学习宜家风格那样的装潢和家具配置去了,说白了,富人开始把家当成自己住的地方了,而且,装逼方式升级了(你现在要是夸他们有品位,比夸他们有钱让他们觉得高兴)。

还有,我们本地的富人近几年冬天穿貂皮大衣的人都少多了,更爱买国外大品牌修身的棉衣,买奢侈品,衣服和包包也不再喜欢那些恨不得都能看到的大品牌LOGO的款了。

这就是人从贫穷到富裕,很正常的一个消费心理进化而已,和什么省钱,花钱有什么关系?

可能有人就要问了,青岚你说这句话很扯淡,那为什么我认识的很多有钱人都说过这句话呢?

这个问题问的好,我圈子里的很多开公司的朋友都找过成功学的讲师给员工做过培训,有一次我们在一起吃饭的时候,我问过他们“你们找成功学讲师给员工上课,你们自己相信成功学么”?他们纷纷表示傻子才信(也是,在**激烈的商海竞争中活下来的都是人精,怎么会信这个),他们找讲师给员工上课主要是有他们自己的算盘,主要就是为了洗脑:
(1)激发员工对成功,金钱的欲望,努力赚钱为公司增添业绩;
(2)成功学中让人挣钱不要脸的那套理论,对于培训销售,业务人员很有用;
(3)一个浮躁的,对成功,金钱有欲望的人是比无欲无求,清心寡欲的人更容易受到老板控制的,给点金钱上的小恩小惠,或者给他画个大饼(比如:好好干,将来让你做XX职位),能卖力的为公司和老板卖命(自愿加班,在公司睡的都大把,从这点看确实激发员工的斗志),而且尤其是管理混乱的小公司,时不时的公司内部有派系斗争需要站队,上演一下宫心计,渴望成功的人更容易被老板收买当眼线;
(3)一般讲课的最后,公司的创始人都会做一个总结,这个总结中一般都会讲一下自己的创业史,反正真的假的掺和在一起说,怎么神叨怎么说,目的是造神,让员工把公司老板奉为奋斗的楷模,神明,上帝,提升员工对公司的忠诚度(这个对刚进社会没啥社会经验的学生超级有用)。

至于很多人听过所谓的成功人士说这句话,他们更多的仅仅是想散发一下他们的优越感而已,进行地位压制,制造地位地位低于他们的人的崇拜感,满足其虚荣心,但是你记住,他们在自己的圈子里是不会这么说的,大家都懂得游戏规则,你蒙谁啊?我以前认识一个趣味比较怪异的二代,他的一大爱好就是撬墙角,专门找有男朋友的女生下手,他的策略就是:
(1)先认识,声明只是做普通朋友。这个阶段几乎不约出来吃饭,就单独的微信,QQ网络聊天,非常的人畜无害,这时女生的男友即使知道女生跟这个二代聊天也没法说什么,毕竟只是聊天的朋友而已;
(2)时不时的向这个女生晒他收藏的东西,海外旅行,高档餐厅和商务谈判的的照片,隐性的灌输“会花钱的人才能挣钱”这个观念;
(3)前两步成功的话,女生就会开始瞧不起现在的工薪族的男友(这时已经进入二代设的观念圈套,得手是迟早的事儿),开始经常的因为消费观念吵架;
(4)这时这个二代开始在微信,QQ当暖男,开始安慰她,但决口不提让她分手跟自己的事儿,还尽量的说他男友的优点;
(5)女生这时会觉得这个二代很善解人意,没有乘人之危,对二代开始产生好感,这时一般女生的男友都会感觉出来这一切的矛盾都是因为这个二代而起,开始更激烈的跟女生吵架,女生觉得男友不宽容,而且很low,愤而分手,投入二代的怀抱,二代不费吹灰之力就摧毁一段感情,得手,end。 但是呢,得手之后最多维持一周,二代就会把女生甩掉,因为人家看重的是这种掌控,操控他人人生的权力的快感。

“节约的人富不了,会花钱的人才懂赚钱”,大家看完笑笑就好,千万别当真,当真就是进入观念陷阱,这就是有钱人对比自己地位低的人的一种地位压制和洗脑方式而已,目的是神化自己,有意思的是,搞传销的人也特爱说这句话(目的是让你投钱到传销的项目中),这年头不爱动脑的人真的特别容易吃大亏。

对于普通人来说,更别被这句话带偏,你该怎么活,就怎么活,你没钱就省点花,工资少的时候,着重的提升自己,多给自己充电,多学专业知识,别羡慕有钱人,别把有钱人无心的一句话当成圣旨来各种的分析,把关注点多集中到自己的生活中,别太在意别人的言行,别让别人的一句话影响自己的心态和生活,把自己心灵变的强大起来,有主见,别人云亦云,好好的提升自己并且有自己的想法才能过上好日子不被忽悠,那些所谓的成功人士也有属于他们的烦恼,压力并不一定比你少多少。

对于普通人的好消息是:
这年头在天朝,忽忽悠悠,招摇撞骗,不上进的人太多,干实事,务实靠谱的人太少;
刷学历的人太多,学知识的人太少;
所以你但凡是个爱思考靠谱上进的好青年,早晚都会有机会。

请记住:

不要浮躁,安心的做自己的事情,努力的提升自己,不要被外界影响自己的心态,向着自己的目标前进,过自己的日子,读书不能改变命运,但是知识仍旧可以改变命运,去追求人生的幸福,而不是单纯的追求财富。

最重要的是,脑子要勤思考,遇事多问自己几个问什么, 别让别人操控你的人生,要自己掌控自己的人生,少交智商税。文章首发于公众号qinglanus(有的文章独家更新在公众号)

PHP浮点数显示和转成字符串

你可能会觉得PHP中将浮点数(float)转成字符串非常简单, 但是, 常用的方法隐藏着严重的bug. 因为, PHP在处理浮点数时有非常不合理的做法, 会有精度丢失. 经研究, 其实是PHP在显示浮点数时的问题, 也可以说是BUG. PHP内置的echo, var_dump, json_encode, 字符串拼接等函数(指令)在显示浮点数时都有问题, 导致精度丢失.

$a = 1315537636.338467;
printf("%f", $a); echo "\n";
echo $a . "\n";
echo $a; echo "\n";
结果

1315537636.338467
1315537636.3385
1315537636.3385
也就是说, 用PHP最顺手的方法将浮点数转成字符串或者显示是不行的, 必须使用printf/sprintf将浮点数转成字符串.

于如果你的家(小区)经常被盗,你该怎么办

https://zhuanlan.zhihu.com/p/26155495
有个客户拿着法院的传票来找我——他被物业告了。物业告他欠缴了物业费,必须立刻支付,并且还要加上滞纳金。

客户问我:徐律师,我请你代理这个官司,有多大把握,能打赢吗?

我没正面回答这个问题。

正确答案是:

99% 的物业公司起诉业主要拖欠物业费的官司都是 物业胜诉。

1%业主胜诉的案件,有以下三种可行的思路:

A、证明物业公司的物业服务合同存在瑕疵,比如到期、解除、撤销、无效

B、证明物业公司不是收取物业费的适格主体(比如已经有了新的物业公司,老物业公司跑来收费)

C、证明物业服务不符合物业服务合同约定的标准,质次价高

A、B、C是或的关系,每一条通路,物业公司都有后招。这1%的胜诉机会,需要动员整个小区业主的力量来争取,否则就存在胜诉破产问题——打赢物业费官司的成本超过收益,或者根本无法支付成本。

所以,大部分客户在律师分析之后都会放弃争取。

并不是所有的客户来律所,你都要忽悠人家去告,能给客户确定的否定意见也是一种服务。大家的时间都很宝贵。

但是,你不要太急着给客户说结论。

客户是带着心理预期来找你的,上来(见面之后立刻)就告诉客户他基本会败诉,客户未必会接受。因为他觉得不是法律的问题,而是你律师的问题——他要去问下一个律师,直到遇到一个说这官司能打赢的,他就会说:这个律师真专业!

关于专业不专业这个问题,对客户来说,专业是一种(客户体验)感受。

客户觉得你好你才是真好。

经常有律师说:我很专业,我靠专业吃饭。那么和客户沟通是不是律师的专业?

答案显而易见,和客户沟通交流是律师的专业。

在遇到麻烦了,听律师的,还是听客户的?如果客户听不懂律师说什么,不肯接受律师的专业意见,律师再好的技术也会白费。律师平时不擅长和客户打交道,不擅长沟通和表达,不能把复杂的法律问题用简单(客户能听懂)的语言讲给客户,律师就有可能被市场淘汰。

律师往往自我感觉良好,觉得自己很专业有很多干货,并且总是认定别人能听懂。这挺悲剧的。假如是个有才华的艺术家——去世之后可能突然火起来,如果是个律师,那真是要把干货带到坟墓里了!

我问客户:你们为什么不交物业费啊?

能为了几千块钱物业费找律师的客户,背后都是一群人。

果不其然,这个客户不是孤身一人,他是小区第三批维权业主代表。关于为什么要维权,客户说了很多,包括车位、安保、绿化、垃圾,总之在客户的眼里,这个物业公司确实可以用很差来形容——是不是真差不知道,反正如果业主都觉得他差,那就是差呗。

但是真正让他不交物业费的,是这样一个事情:

春节前,客户的妻子在家里,突然听到门口有动静。客户妻子就去门口听了一会,发现楼道有人说话,并且好像有人正在动她的锁。这位妈妈当时自己和孩子在家,不知道她哪里来的勇气,把门打开了。

场面非常尴尬,三个穿着羽绒服的年轻人愣住了,一把钥匙插在锁眼里。

“你们是谁啊,找我们家有事么?”

“我们是装修公司的!”

“我们家不装修啊!"

“哦哦,我们可能是搞错地址了!是后面那个楼!”

这三个人就匆匆忙忙的走了。到了晚上丈夫下班,妻子才把这个事情告诉丈夫,丈夫听了吓得够呛。妻子给丈夫说:我问了后面那个楼,那个楼还没交房呢,都没人入住。听到客户说到这里,我说:你老婆心真大,这不摆明了是小偷么,干嘛还要去核实呢?

客户说:是呀,第二天我就去报警了,警察做了个笔录,毕竟我们也没修东西。然后我就去找物业了,这个小偷白天就进来,物业应该有监控的!

我:结果呢?

客户:所有的监控都没打开!

基本的安全没有保障,舒适度瞬间就降低了。可是物业公司却不重视,一来二去,客户只能用不交物业费的方式表达自己的不满。报警没有效果,小区里的安保不给力,去物业投诉物业又爱答不理,客户感觉自己失去了方向,转而向其他邻居求助——加入业主群,客户才了解到,这个小区已经有过好几拨维权——前两次成立业委会的努力都失败了,现在正在第三轮革命运动中。

本来是说物业费官司的,一提到小区物业维权问题,客户算是打开了新话题——撕逼。

本来小区只有一波人维权,很快分裂成两波。

第一波人据客户说,被物业公司用免掉一年物业费停车费的方式收买掉了。第二波因为被人揭发维权的动机不纯——业主代表想搞自己的物业公司——被其他业主干下去了。客户因为单纯善良积极行动,很快成为第三波维权者的领头羊。当然,还有个重要因素:维权口号简单易懂——不交物业费。

客户的思路就是,只要大家都不交物业费,就能把物业饿的滚蛋,于是一切问题都解决了。物业滚蛋了,大伙大不了自己开物业公司。说不定还能赚钱。

在我的执业生涯里,目睹撕逼就是我的日常工作。小区里的撕逼包括:

业主和开发商撕;

业主和政府撕;

业主和业主撕;

业主和业主代表撕;

业主代表和业主代表撕;

业主和物业公司撕;

业主和隔壁业主撕;

撕的时候不仅花样多,手段丰富(大家都住在一起,可以肉搏),还往往直接涉及舆论导向问题:小区是有边界的,不但要撕,还要争取吃瓜群众的支持和关注。

业主这个词,特指有(房)产者:能买的起房的人,五花八门,什么人都有。北京别墅里住的业主,和乡下县里小区住的业主,面对同样的问题。不论身份如何,撕逼的根源在于物业服务的制度设计,它的原理是这样的:

开发商卖房,购房人买房,买房签合同,合同里面有一份前期物业服务合同。基本上大家看也不看就签了,而且就算看了,基本也没有办法修改——大家都这么签,你只能选择不买。

物业服务合同一方是购房人,另一方是(开发商指定的)物业公司,业主入住,物业公司根据物业服务合同收费,提供服务。

在一个小区,如果有1000个业主,就有1000份物业服务合同。

如果一部分业主对物业公司不满意,想要换一家怎么换?

比如你家换个家教或者保姆,你直接炒掉他就好了,但是物业是大家的物业,光你自己变更合同还不行,要其他业主的配合。1000户业主每一份合同的修改、签订,就是一个不可能完成的任务。只能靠投票来解决——少数服从多数!

要把1000份合同通过少数服从多数变成1份。

换物业公司的法律规定在《物权法》里。

第七十六条 下列事项由业主共同决定:
  (一)制定和修改业主大会议事规则;
  (二)制定和修改建筑物及其附属设施的管理规约;
  (三)选举业主委员会或者更换业主委员会成员;
  (四)选聘和解聘物业服务企业或者其他管理人;
  (五)筹集和使用建筑物及其附属设施的维修资金;
  (六)改建、重建建筑物及其附属设施;
  (七)有关共有和共同管理权利的其他重大事项。
  决定前款第五项和第六项规定的事项,应当经专有部分占建筑物总面积三分之二以上的业主且占总人数三分之二以上的业主同意。决定前款其他事项,应当经专有部分占建筑物总面积过半数的业主且占总人数过半数的业主同意。
召开业主大会,成立业委会,有了过半数业主同意,业委会代表小区全体业主和物业公司签订一份合同,就对全小区生效。

要是有人再跟你大放厥词说**人不搞**,你就拿物权法怼他!

我们的寻常生活中,至少有两件事你是要投票的,一是村民选村长,二就是业主选业委会。

后者又比前者更难,因为第一没有政府出来主动组织,二要遵守法律规定的前提下和各方利益去较量,三要克服**业主的普遍心理状态:对投票这事高度蒙圈儿。

1、发动群众、拉票很难;

2、让政府配合拉票很难;

3、指望物业公司不捣乱很难;

物业公司不可能坐以待毙。

前期物业服务通常采取包干制,做一家物业公司,主要就是保安、保洁、绿化,这三家都可以外包——外包有很多好处,其中就包括回扣——目前只要是物业公司,你外包保安、保洁、绿化,都可以拿到这三家企业给你的回扣。其他的包括电梯、停车管理、会所、广告、物业用房,都可以出利润。但是都不需要你物业自己有特别专业的人员,一家小型的物业公司,基本上3个人就够用。1个经理,1个文员,1个会计。而且你自己聘请的专门的人员基本上只有两个事情做:售后服务和收费。

物业公司本身并不难开,基本就是凭良心收钱,比收税更简单。

一个10万平米的小区,一个月物业费按照2块钱算,一个月就是20万。其中大概一半用在电梯上,剩下的就是保安、保洁、绿化,再加上公共区域的各种经营收益,里外里物业公司是很稳定的。

包干制,钱花多少物业说了算,剩下的是物业的。

酬金制,酬金是固定的,剩下的钱都要花在小区上。

显而易见的是,在小区花的钱越多,小区品质就越好,在小区花的钱越少,小区就越差,但是也意味着物业的收入越高。物业公司永远对业主哭穷,说自己不赚钱,甚至亏钱——因为信息不对称,业主难以知道物业公司到底花了多少钱,所以业主对物业服务质量的评价是很凭个人感受的。

实际上大部分物业公司还是赚钱的,大家在商言商,如果物业真的像他们说的那样连年亏损,贴钱给小区,物业公司为什么不赶紧走呢?

开发商愿意自己找自己的物业公司——反正是他定,与其让外人赚这个钱,不如自己赚。有的开发商为了宣传,卖房的时候要宣传物业公司的品牌,但是这个品牌是可以挂的,就是人用自己的人,牌子借别人的牌子。因为我们国家的物业制度决定了物业公司的垄断性,不易更换性,所以他就缺乏充分的市场竞争。

政府往往愿意站在物业公司这一边,负责小区成立业委会的是街道的小区办,小区办最烦的就是业主成立业委会,因为“成立业委会 = 拉票 = 闹事 = 换物业公司 = 不维稳”,最糟糕的是每次**业主要干点什么事,都得拉上政府,他们一般不请律师,但是只要程序上做的不对,就一律把锅甩给政府,但是物业法律又偏偏是个精细的法律,全**也没几个这方面的专家——最主要的原因是干这个根本不赚钱。

做业委会的律师很快就会穷困潦倒,而司法局帮街道采购法律顾问的时候,往往是随机性比较强,从30万律师里面找300的事情,要想靠司法局基本是货不对板,所以街道无法得到专业的法律服务。干好了没人夸,干不好保证挨骂,出了事还要被扒皮。政府对业委会只能是嘴上支持,心里不支持。

背景交代完了,我说回案子。

业主代表被起诉物业费,大多数人都会认为是个小事,把钱交了不就完了吗,为什么非要扛着呢?为什么区区一两万块钱要跑来请律师?

客户的话,不能他怎么说,你怎么听!这客户,表面上是来找你打物业费官司,实际上背后是他隐藏了重要的信息——物业费官司,实际上是一个大项目(对客户来说)的其中一个环节。他的目标就是希望能找个律师把物业官司搞定,以保证他顺利成立业委会。

本案的客户,是业主代表,小区未来的业委会主任。

物业公司起诉他拖欠物业费,不仅仅可以用来要钱,更主要的是可以用来反向宣传——打击业主代表的行动纲领,甚至影响到这位业主代表的资格问题。

谁有资格当代表,是谁了算?本来应该法律说了算,但是法律并没有说拖欠物业费就没有资格当代表。定规矩的,是政府——街道、居委会。大部分城市都把街道作为主导业委会成立程序中的一个“裁判”(召集人)。从法律地位来说,政府应该是指导,而不是领导。实际操作的时候,往往具体实施法律的政府基层领导会把自己的权利扩大,利用双方对法律理解的不对称和业主骨子里对政府的尊崇——街道干部会出面设计一些法律没有的规则。

双方都不懂,所以相对比较懂法律的那一方定了对另一方不利的规则——一方面突破了法律,一方面还以法律为名!

好,既然政府定了规则,说了不能做业代,那就把物业费交了呗!

也不行。

不交物业费,恰好是这个业主代表发动群众,组织群众的宣传口号。

因为大家都不想出钱、出力,不交物业费成本极低,甚至还有收益,你只要公开宣传不交物业费,就可以快速赢得群众对你的支持。

这个策略就是一把双刃剑。

他的好处是,简单粗暴,因为除非全小区大部分业主都不交物业费:物业公司没钱赚,自然只能撤走。

但是不交物业费的弊端特别大:

比如电梯停运、风机停运、停水停电。

大部分小区这些重要的设备都是由物业公司实际控制,所以物业公司没有钱,就可以跟业主打消耗战。业主的维权运动,主要是来自群众的支持,一旦断电,群众有一部分会更加愤怒,还有一部分会扭头转而支持物业公司,反对他们本来支持的业主代表。

交还是不交?业主会因此至少分裂成四派。

1、坚决的不交

2、坚决的交

3、不知道交不交

4、根本不关心

坚决不交的,二三十人,坚决交的,二三十人,不知道交不交的,二三百人,根本不关心的,六七百人。这才是一个小区的常态。

所以业主希望凭着自己动员就能让全小区(大部分)业主不交物业费的想法客观上行不通。你以为你代表着大多数人(微信群里一呼百应),实际上你只能代表经常和你一起互相发表情包的那几个,在自己的群里自娱自乐!

换个角度说,大家不要觉得,小区物业服务不好,不交物业费的维权业主里面,就都是好人。

在坚决不交钱的业主里,除了维权斗士,**家,革命家以外,还有干脆就是在哪个小区也不交物业费的老赖混在里面。维权斗士也不见得都是目的单纯,有的人是很简单,就是觉得物业不好,要打败物业。有的人就复杂一点,打算取而代之——把物业赶走,开自己的物业公司。有的人是向往权利,当业委会主任有面子,维权的时候也有人一呼百应。有的人是向往金钱:业委会主任可以负责小区各种各样的好事儿,比如小区要更换消防设备,业委会就可以进行招标。

不过,也不要觉得,理想家们革命靠谱,心怀鬼胎的人干不成事,有时候在利益的驱动下,后者比前者战斗力还强!

坚决交物业费的人,也不等于理性求和,其中也不乏开发商、物业的卧底。有的小区半卖半送,有不少人因为关系白得了一套半套,有的则是通过关系,低价买了房子。小区维权,这些人不可能站在业主这一边,必然站在物业和开发商这一边,这些人平时也要做反向宣传,你们越是说物业不好,他越是要说物业好。

开发商想要收买一个业主是非常容易的事情,随便一个工程项目包给某个业主就好了,连钱都不用送。有的业主收买的下限极低,比如免两年物业费,立刻就倒戈了。

作为律师,我一开始了解这些事情,会觉得彷徨,一开始我以为我就是正义。小区没有我,组织不起来,打不过政府,干不过物业。小区有了我,我把大家带动起来了,有了组织,有了资金,有了专家,有了战斗力。但是战争的结果往往偏离我们预想的轨道。

当你目睹一个维权组织因为被收买而分裂成两派,当你看到一拨人上台后迅速的腐败,比他们革命前还要糟糕,当你看到大家还没有革命成功,就为了争权逐利内讧,当你和老业委会主任一起,被服务十年的业主围攻的时候,你就越来越对**感到失望——大家可能以为我是**的坚定支持者,其实我有时会坚决的支持**。我倾向于奸商更有利于社会发展,良民有时候也是暴民,正义就是非正义……

我们这位客户,门被别的钥匙插了,他是坚定要维权的。但是现在他进退维谷——为了得到那些不交物业费的业主的支持,他拿不交费当宣传,以至于业主维权群的群名称都叫不交物业费,赶走xx物业。这个时候收了传票,如果改口去交,就被打脸,如果不交,又不能把程序推进。所以打赢这场官司就成了业主本人的唯一选择。

他的唯一选择,不是我的唯一选择。

我给客户解释了这些基本原理,告诉他,打赢物业公司有三种办法。一、二、三。一怎么做,二怎么做,三怎么做。等我简单讲完,他就慢慢明白了,打赢的难度何其之高,有点心灰意冷。

我这个人,总是喜欢先泼冷水,再说希望。有些人就是这样,你不把他的路堵死,彻底断绝希望,他就不肯听你的。这个业主是有自知之明的,知道自己的动员能力有限,群众基础没打好。

我告诉他,最聪明的做法,是赶快承认错误,去交物业费。

物业公司不好,服务水平差,最聪明的做法就是尽快成立业委会,要么解聘他,要么至少可以监督他,不交物业费唯一能获得的就是现在你不用交钱了。业主第一次维权,没经历过这些事情,要一个普通人干成一件只有15%成功率的事情,犯错误是非常正常的。所以积极的承认错误,一样可以把大家团结起来。

就算大家团结不起来,至少不会像前面两位业主领袖一样,遗臭万年。

当今的**,物业维权最大的难处,在于我们都不知道什么是好的物业服务。我们在学校上学,成绩最好的那些同学给了我们标准。我们在商场上竞争,业绩最好的企业给了我们标准。我们通过吃一顿饭——就知道这个饭店好不好,我们去住一晚上酒店,就知道酒店好在哪里。

但是我们都没住过好的小区——试错成本太高,成功样本太少。

而我们国家大部分小区,都处在新生期,如果一个小区的寿命是100年,那么我们的小区,2010年盖得房子,今天7岁,2000年盖的房子,今天17岁。

我们看到,7岁和17岁,都有着一身病。一个小区17年得不到好的治理,自然会有一大堆问题。而这些问题之所以解决不了,其中重要的原因就是我们没有那些30岁、50岁依然相貌一新、品质出众的小区。我们现在这些小区,照着现在的节奏发展,30岁、50岁基本不是等着拆迁,就是当贫民窟了。

我记得去美国佛州环球影城玩,顺便拜访了一个朋友。朋友家的房子50万刀,院子后面是高尔夫球场——这个小区里面就是个高尔夫球场,业主只要在物业那注册之后就可以随便玩,小区环境好的一塌糊涂。

也就在国际大道(International Drive)我的另一个朋友买了一个不到10万刀的房子。

都是房子,一样的地段,价格差5倍!

这两个小区,其实一开始价格不差这么多。一个越来越便宜,另外一个越来越贵。

便宜的小区为什么便宜?主要是人的问题:一开始住的白人比较多,然后陆陆续续的搬来不少墨西哥人和黑人,然后白人就一批批卖房搬走了。再之后小区绝大部分住户都是墨西哥人(当地华人叫老墨)和黑人,房价就一直上不去。

美国是个多民族聚集的国家,种族歧视是非常严重,非常不好的,即便是到了今天,这个问题问题依然很严重。但是我想给大家说的并不是什么种族歧视,而是希望大家能从同样的问题上吸取教训——他们有上百年的强大岁月,而我们才发展了短短30年,他们的今天,很可能是我们的明天。

我们还走在路上。

一个好的小区,他需要的是持续不断的养护和经营,而在这个过程中,业主代表必然会逐渐的形成业主组织,虽然我们没有人种之别,但是我们仍然有高低贵贱——有没有业委会,业委会能不能管好小区,体现的是一个小区所有业主里面,至少一半人的决心和智慧。

物权法76条,是所有**14亿人民早晚要面对的问题。

闯过了这一关,就可以让小区从现在开始得到滋养。闯不过这一关,就听天由命。

到最后,房价不可能永远像今天这样依赖政策,而是高度依赖这个社区本身的品质。二手房必然越来越多,新房必然越来越少。

从大环境看,物业问题如果放到10年前,我们的政府还不知道该如何处理这个矛盾,但是现在随着法律越来越完善,商品房小区也来越普及,政府对于物业法律的完善需要也越来越大——毕竟,不让成立业委会并不能根本解决维稳问题——堵不如疏。所以在一线城市,和成立业委会有关的法律法规越来越多,越来越好,以至于初步实现了一些过去停留在专家嘴里的口号——没有业委会,不交物业费。用物业费来倒逼业委会。

在法律更新之前,业主用超前于时代的维权方法,很难真正促使小区良性发展。2006年北京有个著名的美丽园案件,相关报道网上都有,对这方面法律问题感兴趣的业主,一定要去学习一下这个案子的来龙去脉,尤其是在业主胜诉之后,物业公司撤离,小区又发生的局面和问题。

今天,买不买房,可能决定你的身家性命。我想到了明天,可能成立不成立业委会,怎么管理,决定了你的身家性命。你的房子是价值1000万,还是价值100万,取决于你能不能高度理解物权法第76条的法律精神!

客户说了半个小时,就基本只能他听,不能他说了:我讲的东西对他来说都是新鲜东西。我给客户解释了一下他下一步可行的策略和方案,时间很快过去,助理来敲门,告诉我们,下一波客户已经等了15分钟了。

客户问我:徐律师你们能代理我们这个业委会成立吗?

我说:等你下次来了再说吧。

我为什么拒绝这个客户?

在我们提供的所有法律服务产品里面,业委会案件最难收费!这种案件对律师的需求又相对比较高,因为律师难免被卷入各种撕逼中,一面要应付物业,一面应付政府,一面还要应付自己的客户的邻居们。所以业委会现在基本是我们半放弃状态的一个产品。律所一年下来,接受委托的业委会,大概一年不会超过二十个——大部分都被高昂的律师费吓跑了。

对业委会来说,十万块就是一大关——他们虽然看似有钱,一个小区的公共收益都可能上百万,但是在没成立起来之前,都是穷光蛋。

穷,并不是业主穷。如果是业主自己的事,比如买房,几万块的律师费他们也愿意支付。如果遇到要给大家做事——比如赶走物业公司,就算是钥匙插门这样威胁到身家性命的问题,业主往往也本着做公益的想法不想出钱,不光是业主代表不想出,广大业主都不积极。就算难得为了维权进行了集资,业主代表也不敢随便花大家的钱——怕挨骂。

小区业主成分复杂,做一件事情总是有多种声音,所以哪怕是最微薄的费用——比如为了每个维权业主报销100块钱路费或者餐费,都会有人反对,说100块太贵了,10块行不行!

我给大家的建议是:

如果你的门被别人捅了,你有三种选择:

1、交物业费,成立业委会

2、不交物业费,等着当被告,一审和对方和解

3、卖房走人

如果有年轻律师对业委会产品感兴趣的话,我也给年轻律师一点建议:

1、十年后这个产品可能才有前途和发展

2、现在一定先做其他产品,否则注定难以糊口

DBA的40条军规

作者介绍
贺春旸,普惠金融MySQL专家,《MySQL管理之道》第一版、第二版作者。曾任职于**移动飞信、机锋安卓市场,拥有丰富的数据库管理经验。目前致力于MySQL、Linux等开源技术的研究。

DBA操作规范

1、涉及业务上的修改/删除数据,在得到业务方、CTO的邮件批准后方可执行,执行前提前做好备份,必要时可逆。

2、所有上线需求必须走工单系统,口头通知视为无效。

3、在对大表做表结构变更时,如修改字段属性会造成锁表,并会造成从库延迟,从而影响线上业务,必须在凌晨0:00后业务低峰期执行,另统一用工具pt-online-schema-change避免锁表且降低延迟执行时间。

使用范例:

#pt-online-schema-change --alter="add index IX_id_no(id_no)"
--no-check-replication-filters --recursion-method=none --user=dba \
--password=123456 D=test,t=t1 --execute

对于MongoDB创建索引要在后台创建,避免锁表。

使用范例:

db.t1.createIndex({idCardNum:1},{background:1})

4、所有线上业务库均必须搭建MHA高可用架构,避免单点问题。

5、给业务方开权限时,密码要用MD5加密,至少16位。权限如没有特殊要求,均为select查询权限,并做库表级限制。

6、删除默认空密码账号。

delete from mysql.user where user='' and password='';
flush privileges;

7、汇总库开启Audit审计日志功能,出现问题时方可追溯。

行为规范

8、禁止一个MySQL实例存放多个业务数据库,会造成业务耦合性过高,一旦出现问题会殃及池鱼,增加了定位故障问题的难度。通常采用多实例解决,一个实例一个业务库,互不干扰。

9、禁止在主库上执行后台管理和统计类的功能查询,这种复杂类的SQL会造成CPU的升高,进而会影响业务。

10、批量清洗数据,需要开发和DBA共同进行审查,应避开业务高峰期时段执行,并在执行过程中观察服务状态。

11、促销活动等应提前与DBA当面沟通,进行流量评估,比如提前一周增加机器内存或扩展架构,防止DB出现性能瓶颈。

12、禁止在线上做数据库压力测试。

基本规范

13、禁止在数据库中存储明文密码。

14、使用InnoDB存储引擎。

支持事务,行级锁,更好的恢复性,高并发下性能更好。
InnoDB表避免使用COUNT(*)操作,因内部没有计数器,需要一行一行累加计算,计数统计实时要求较强可以使用memcache或者Redis。

15、表字符集统一使用UTF8。

不会产生乱码风险。

16、所有表和字段都需要添加中文注释。

方便他人、方便自己。

17、不在数据库中存储图片、文件等大数据。

图片、文件更适合于GFS分布式文件系统,数据库里存放超链接即可。

18、避免使用存储过程、视图、触发器、事件。

MySQL是OLTP应用,最擅长简单的增、删、改、查操作,但对逻辑计算分析类的应用,并不适合,所以这部分的需求最好通过程序上实现。

19、避免使用外键,外键用来保护参照完整性,可在业务端实现。

外键会导致父表和子表之间耦合,十分影响SQL性能,出现过多的锁等待,甚至会造成死锁。

20、对事务一致性要求不高的业务,如日志表等,优先选择存入MongoDB。

其自身支持的sharding分片功能,增强了横向扩展的能力,开发不用过多调整业务代码。

库表设计规范

21、表必须有主键,例如自增主键。

这样可以保证数据行是按照顺序写入,对于SAS传统机械式硬盘写入性能更好,根据主键做关联查询的性能也会更好,并且还方便了数据仓库抽取数据。从性能的角度来说,使用UUID作为主键是个最不好的方法,它会使插入变得随机。

22、禁止使用分区表。

分区表的好处是对于开发来说,不用修改代码,通过后端DB的设置,比如对于时间字段做拆分,就可以轻松实现表的拆分。但这里面涉及一个问题,查询的字段必须是分区键,否则会遍历所有的分区表,并不会带来性能上的提升。此外,分区表在物理结构上仍旧是一张表,此时我们更改表结构,一样不会带来性能上的提升。所以应采用切表的形式做拆分,如程序上需要对历史数据做查询,可通过union all的方式关联查询。另外随着时间的推移,历史数据表不再需要,只需在从库上dump出来,即便捷地迁移至备份机上。

字段设计规范

23、用DECIMAL代替FLOAT和DOUBLE存储精确浮点数。

浮点数的缺点是会引起精度问题,请看下面一个例子:

mysql> CREATE TABLE t3 (c1 float(10,2),c2 decimal(10,2));
Query OK, 0 rows affected (0.05 sec)

mysql> insert into t3 values (999998.02, 999998.02);
Query OK, 1 row affected (0.01 sec)
mysql> select * from t3;
+-----------+-----------+
| c1 | c2 |
+-----------+-----------+
| 999998.00 | 999998.02 |
+-----------+-----------+
1 row in set (0.00 sec)

可以看到c1列的值由999998.02变成了999998.00,这就是float浮点数类型的不精确性造成的。因此对货币等对精度敏感的数据,应该用定点数表示或存储。

24、使用TINYINT来代替ENUM类型。

采用enum枚举类型,会存在扩展的问题,例如用户在线状态,如果此时增加了:5表示请勿打扰、6表示开会中、7表示隐身对好友可见,那么增加新的ENUM值要做DDL修改表结构操作了。

25、字段长度尽量按实际需要进行分配,不要随意分配一个很大的容量。

选择字段的一般原则是保小不保大,能用占用字节少的字段就不用大字段。比如主键,强烈建议用int整型,不用uuid,为什么?省空间啊。空间是什么?空间就是效率!按4个字节和按32个字节定位一条记录,谁快谁慢太明显了。涉及几个表做join时,效果就更明显了。更小的字段类型占用的内存就更少,占用的磁盘空间和磁盘I/O也会更少,而且还会占用更少的带宽。

有不少开发人员在设计表字段时,只要是针对数值类型的全部用int,但这不一定合适,就比如用户的年龄,一般来说,年龄大都在1~100岁之间,长度只有3,那么用int就不适合了,可以用tinyint代替。又比如用户在线状态,0表示离线、1表示在线、2表示离开、3表示忙碌、4表示隐身等,其实类似这样的情况,用int都是没有必要的,浪费空间,采用tinyint完全可以满足需要,int占用的是4字节,而tinyint才占用1个字节。

int整型有符号(signed)最大值是2147483647,而无符号(unsigned)最大值是4294967295,如果你的需求没有存储负数,那么建议改成有符号(signed),可以增加int存储范围。

int(10)和int(1)没有什么区别,10和1仅是宽度而已,在设置了zerofill扩展属性的时候有用,例:

root@localhost(test)10:39>create table test(id int(10) zerofill,id2 int(1));
Query OK, 0 rows affected (0.13 sec)
root@localhost(test)10:39>insert into test values(1,1);
Query OK, 1 row affected (0.04 sec)
root@localhost(test)10:56>insert into test values(1000000000,1000000000);
Query OK, 1 row affected (0.05 sec)
root@localhost(test)10:56>select * from test;
+------------+------------+
| id | id2 |
+------------+------------+
| 0000000001 | 1 |
| 1000000000 | 1000000000 |
+------------+------------+
2 rows in set (0.01 sec)

26、字段定义为NOT NULL要提供默认值。

从应用层角度来看,可以减少程序判断代码,比如你要查询一条记录,如果没默认值,你是不是得先判断该字段对应变量是否被设置,如果没有,你得通过java把该变量置为''或者0,如果设了默认值,判断条件可直接略过。

NULL值很难进行查询优化,它会使索引统计更加复杂,还需要MySQL内部进行特殊处理。

27、尽可能不使用TEXT、BLOB类型。

增加存储空间的占用,读取速度慢。

索引规范

28、索引不是越多越好,按实际需要进行创建。

索引是一把双刃剑,它可以提高查询效率但也会降低插入和更新的速度并占用磁盘空间。适当的索引对应用的性能至关重要,而且在MySQL中使用索引它的速度是极快的。遗憾的是,索引也有相关的开销。每次向表中写入时(如INSERT、UPDATEH或DELETE),如果带有一个或多个索引,那么MySQL也要更新各个索引,这样索引就增加了对各个表的写入操作的开销。只有当某列被用于WHERE子句时,才能享受到索引的性能提升的好处。如果不使用索引,它就没有价值,而且会带来维护上的开销。

29、查询的字段必须创建索引。

如:1、SELECT、UPDATE、DELETE语句的WHERE条件列;2、多表JOIN的字段。

30、不在索引列进行数学运算和函数运算。

无法使用索引,导致全表扫描。

例:SELECT * FROM t WHERE YEAR(d) >= 2016;
由于MySQL不像Oracle那样支持函数索引,即使d字段有索引,也会直接全表扫描。
应改为----->
SELECT * FROM t WHERE d >= '2016-01-01';

31、不在低基数列上建立索引,例如‘性别’。

有时候,进行全表浏览要比必须读取索引和数据表更快,尤其是当索引包含的是平均分布的数据集是更是如此。对此典型的例子是性别,它有两个均匀分布的值(男和女)。通过性别需要读取大概一半的行。在种情况下进行全表扫描浏览要更快。

32、不使用%前导的查询,如like ‘%xxx’。

无法使用索引,导致全表扫描。

低效查询
SELECT * FROM t WHERE name LIKE '%de%';
----->
高效查询
SELECT * FROM t WHERE name LIKE 'de%';

33、不使用反向查询,如 not in / not like。

无法使用索引,导致全表扫描。

34、避免冗余或重复索引。

联合索引IX_a_b_c(a,b,c) 相当于 (a) 、(a,b) 、(a,b,c),那么索引 (a) 、(a,b) 就是多余的。

SQL设计规范

35、不使用SELECT *,只获取必要的字段。

消耗CPU和IO、消耗网络带宽;
无法使用覆盖索引。

36、用IN来替换OR。

低效查询
SELECT * FROM t WHERE LOC_ID = 10 OR LOC_ID = 20 OR LOC_ID = 30;
----->
高效查询
SELECT * FROM t WHERE LOC_IN IN (10,20,30);

37、避免数据类型不一致。

SELECT * FROM t WHERE id = '19';
----->
SELECT * FROM t WHERE id = 19;

38、减少与数据库的交互次数。

INSERT INTO t (id, name) VALUES(1,'Bea');
INSERT INTO t (id, name) VALUES(2,'Belle');
INSERT INTO t (id, name) VALUES(3,'Bernice');
----->
INSERT INTO t (id, name) VALUES(1,'Bea'), (2,'Belle'),(3,'Bernice');
Update … where id in (1,2,3,4);
Alter table tbl_name add column col1, add column col2;

39、拒绝大SQL,拆分成小SQL。

低效查询
SELECT * FROM tag
JOIN tag_post ON tag_post.tag_id = tag.id
JOIN post ON tag_post.post_id = post.id
WHERE tag.tag = 'mysql';
可以分解成下面这些查询来代替
----->
高效查询
SELECT * FROM tag WHERE tag = 'mysql'
SELECT * FROM tag_post WHERE tag_id = 1234
SELECT * FROM post WHERE post_id in (123, 456, 567, 9098, 8904);

40、禁止使用order by rand()

SELECT * FROM t1 WHERE 1=1 ORDER BY RAND() LIMIT 4;
---->
SELECT * FROM t1 WHERE id >= CEIL(RAND()*1000) LIMIT 4;
https://mp.weixin.qq.com/s/PtIaqAjs298uH6edEYb2xg

你不知道的职场秘密(上)

职场是有潜规则的,我们可以称之为职场秘密。不管你是学生,还是已经身在职场,这篇文章都会给你很大的启发。

1、尽量不要主动谈论私事

当你想向你的同事倾诉自己的私事,请首先问自己两个问题:

(1)、你的同事,真的肯定就是你的朋友吗?

(2)、当你向同事抱怨自己的婚姻、丈夫、孩子,经济上的困难,他们是不是能够真正帮助你解决这些难题?

你要知道,你的主动倾诉只会让同情你的人可怜你,讨厌你的人嘲笑你。

职场本身就是充斥着流言、八卦的场所,每个人的信息或多或少地在流传,你的上司对这些也很感兴趣。

当你主动倾诉私事,你的私事很可能就会变成大家的话题。不管你的事是好是坏,总会有人对你的事有负面评价。

没有人愿意成为别人的情绪垃圾桶。当你抱怨一些事情时,在有些人眼里,你就成了负能量散播者。

没有一个管理者喜欢散播负面情绪的员工。你主动透露出来的私事,常常会让管理者重新对你进行评价,而这种评价往往是不利于你的职业发展的。

2、职位和竞争考验着友谊

没有什么比职位和竞争更能考验友谊的了。

今天, ta还可能是你的至交好友,愿意为你两肋插刀。也许到了明天,ta可能就会为了生计、职位,在你的两肋上插一刀。

尤其是面临裁员和职位晋升时,通常都是一个萝卜一个坑。裁员时,裁你,还是裁ta,也是一个萝卜一个坑。同样,要想晋升,也是一个萝卜一个坑。

晋升最根本的一个条件是:把你上面那个坑里的萝卜拔出来。只有把它拔出来,你才有填进去的可能。

不要将竞争和友谊相互混淆。这是竞争!你一旦把它跟友谊混淆了,那么,先倒下去的,一定是你。

3、上司不是在请求你

有时,上司并没有用下达命令的强硬语气跟我们说事情,相反,他们会和颜悦色地请你帮忙处理一些事情。

这是上司在请求你吗?

NO! 绝对不是!

通常这种情况的出现,有两个原因:

第一,目前的工作确实是十分需要你留下来帮助。上司用好的态度来表达这种需要。

第二,你的职位岌岌可危了,但是,我不会明确告诉你,我只是给你机会,让你自己抓住。

案例讲解
angle把婚假和年假放在一起休,加起来将近一个月。这个时候,他们的部门突然接了个很重要的大任务。

她的上司态度很好地一再请求她把两个假分开休,先休婚假,等忙完这个重要的任务,再休年假。

她没同意上司的请求,一口气休了一个月的假。

等她休假回来,发现自己被公司边缘化了。很多重要工作都与她无关,手头上的关键业务也被分给了别的同事。她除了打杂,几乎没有什么事干。

下个季度绩效考核出来,她是垫底。等到公司裁员,第一个裁掉的就是她。

4、普遍存在的年龄歧视

前段时间,华为公司清理34岁以上老员工,引发了各方关注。事实上,这样做的企业并不止华为一家。

年龄歧视一直都存在于每个公司之中。而且,不仅对老员工有这样的年龄歧视,就是年轻员工,常常也会受到这方面的威胁。

原因很简单,因为所有公司都希望自己的每一个员工都是完美员工,希望每个员工都是低成本、高价值。

歧视老员工的原因之一:觉得老员工喜欢倚老卖老,爱抱怨,价值下降。老员工要确保自己不落伍,就需要保持不断学习、充电新知识技术的习惯,跟随时代发展,及时更新知识。

年轻员工要学会打造成熟踏实的形象,言行得体,不要好高骛远,不切实际地发散你的热情。过分热情会被公司定性为团队不安定的危险因素。

5、冲突时,谁更能掌控局面

职场上如何漂亮的化解矛盾,处理冲突,是一门艺术!

当你和你的同事发生矛盾,你会怎么做?

选择用声音或者拳头的大小决定局势的优劣?或是竭尽全力、反复争辩,努力试图说服对方?又或是到处诉苦、可怜巴巴地请求上司主持公道?

错了!这样做,都错了!

冲突发生时,能够解决问题的人,只有你自己。

对于公司来说,谁对谁错,并不是最重要的。他们感兴趣的是谁能更快、更好地掌控这次矛盾冲突的主动局势。甚至,他们还会借此来考验你在危机来临时,化解矛盾、处理冲突的能力。

怎样才能掌握主动局势呢?告诉大家一个简单的技巧。

首先,你要控制自己的情绪,保持冷静。有理不在声高。面对一个暴跳如雷的人,微笑和冷静是解决问题的一个良好开端,也是战胜他们的唯一武器。

其次,不要急着自我辩解,也不要试图去说服对方,而是保持一个中立者的角度客观地去倾听对方的诉求。

最后,你必须简单、公正、客观地陈述事实,从陈述中快速、理性地找到事情发生过程中你和对方疏漏的点、错误的点在哪里。只有这样,你和他才会明白是这个点的错误导致了刚才的冲突。

这是化解矛盾,处理冲突的最佳办法。

不动怒、不攻击、不自我辩解,就不会使得矛盾升级。能够成功遏制冲突升级的人,就会在对峙的局势中迅速占据上风。同时,还能让其他人,尤其是你的上司,看到你有掌握主动局势的能力。这比争辩对错有意义得多。

即使攻击你的人是你的上司,如果你能够很快地平息与他之间的冲突,他也会对你刮目相看。

总而言之,任何矛盾都无法用争吵的方式解决。你要做的是先冷静彼此的情绪,掌握主动权,引导冲突向良性互动方向靠拢,然后再找到切实有效的处理方法。

下期预告
什么样的工作方式受老板的欢迎

最可怕的不是工作,而是人

怎么处理流言https://zhuanlan.zhihu.com/p/25896626

怎样应对人事部门的询问

你可以改变上司对你的成见

【end】

硬广。公众号:柳柳心理 (id: liuliuxinli) 心理情感、职场社交。倾听心声,谢谢喜欢。

python html to pdf

# coding=utf-8
import logging
import os
import re
import time

try:
    from urllib.parse import urlparse  # py3
except:
    from urlparse import urlparse  # py2

import pdfkit
import requests
from bs4 import BeautifulSoup

html_template = """
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
</head>
<body>
{content}
</body>
</html>
"""


class Crawler(object):
    """
    爬虫基类,所有爬虫都应该继承此类
    """
    name = None

    def __init__(self, name, start_url):
        """
        初始化
        :param name: 保存问的PDF文件名,不需要后缀名
        :param start_url: 爬虫入口URL
        """
        self.name = name
        self.start_url = start_url
        self.domain = '{uri.scheme}://{uri.netloc}'.format(uri=urlparse(self.start_url))

    def crawl(self, url):
        """
        pass
        :return:
        """
        print(url)
        response = requests.get(url)
        return response

    def parse_menu(self, response):
        """
        解析目录结构,获取所有URL目录列表:由子类实现
        :param response 爬虫返回的response对象
        :return: url 可迭代对象(iterable) 列表,生成器,元组都可以
        """
        raise NotImplementedError

    def parse_body(self, response):
        """
        解析正文,由子类实现
        :param response: 爬虫返回的response对象
        :return: 返回经过处理的html文本
        """
        raise NotImplementedError

    def run(self):
        start = time.time()
        options = {
            'page-size': 'Letter',
            'margin-top': '0.75in',
            'margin-right': '0.75in',
            'margin-bottom': '0.75in',
            'margin-left': '0.75in',
            'encoding': "UTF-8",
            'custom-header': [
                ('Accept-Encoding', 'gzip')
            ],
            'cookie': [
                ('cookie-name1', 'cookie-value1'),
                ('cookie-name2', 'cookie-value2'),
            ],
            'outline-depth': 10,
        }
        htmls = []
        for index, url in enumerate(self.parse_menu(self.crawl(self.start_url))):
            html = self.parse_body(self.crawl(url))
            f_name = ".".join([str(index), "html"])
            with open(f_name, 'wb') as f:
                f.write(html)
            htmls.append(f_name)

        pdfkit.from_file(htmls, self.name + ".pdf", options=options)
        for html in htmls:
            os.remove(html)
        total_time = time.time() - start
        print(u"总共耗时:%f 秒" % total_time)


class LiaoxuefengPythonCrawler(Crawler):
    """
    廖雪峰Python3教程
    """

    def parse_menu(self, response):
        """
        解析目录结构,获取所有URL目录列表
        :param response 爬虫返回的response对象
        :return: url生成器
        """
        soup = BeautifulSoup(response.content, "html.parser")
        menu_tag = soup.find_all(class_="uk-nav uk-nav-side")[1]
        for li in menu_tag.find_all("li"):
            url = li.a.get("href")
            if not url.startswith("http"):
                url = "".join([self.domain, url])  # 补全为全路径
            yield url

    def parse_body(self, response):
        """
        解析正文
        :param response: 爬虫返回的response对象
        :return: 返回处理后的html文本
        """
        try:
            soup = BeautifulSoup(response.content, 'html.parser')
            body = soup.find_all(class_="x-wiki-content")[0]

            # 加入标题, 居中显示
            title = soup.find('h4').get_text()
            center_tag = soup.new_tag("center")
            title_tag = soup.new_tag('h1')
            title_tag.string = title
            center_tag.insert(1, title_tag)
            body.insert(1, center_tag)

            html = str(body)
            # body中的img标签的src相对路径的改成绝对路径
            pattern = "(<img .*?src=\")(.*?)(\")"

            def func(m):
                if not m.group(3).startswith("http"):
                    rtn = "".join([m.group(1), self.domain, m.group(2), m.group(3)])
                    return rtn
                else:
                    return "".join([m.group(1), m.group(2), m.group(3)])

            html = re.compile(pattern).sub(func, html)
            html = html_template.format(content=html)
            html = html.encode("utf-8")
            return html
        except Exception as e:
            logging.error("解析错误", exc_info=True)

#https://github.com/lzjun567/crawler_html2pdf/blob/master/pdf/crawler.py
if __name__ == '__main__':
    start_url = "http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000"
    crawler = LiaoxuefengPythonCrawler("廖雪峰Git", start_url)
    crawler.run()

60条撩汉/妹指南

作者:源靖
链接:https://zhuanlan.zhihu.com/p/25362454
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

女生版:
1练习表达

男人都很笨,我们根本猜不到女生在想什么。所以,一味的抛出一些线索等待男人意识到这些,很容易造成两个人的误会。受到历史文化的影响,大部分女生的表达能力并不理想,如果你有一个好的表达习惯,不仅能够让你们的感情更加稳定,而且还会让你在择偶市场中获得更大的主动权。

2爱情是等不来的
社会原因决定了男生天生应该去追求女生,但不是男生天生都会来追求你。大多数时候,在合理的范围内主动一点,不仅不会失掉矜持,还能够让你自己看起来更加撩人,更加有魅力。

3没人能给你安全感,除了你自己
安全感是由内而外的,它不是男人能给你的。只有你不再担心你的男人会离开你,你才获得了真正的安全感。你可以去健身,去读书,去赚钱,唯独不能去指望男人给你什么承诺。

4学会换位思考
恋爱和结婚是两个人的事情,你要成为这个男人的女人,而不是他的女儿。一个成熟的女人知道在什么时候去撒娇卖萌,更知道什么时候应该保持冷静。男人不会一直无条件的宠着你,No zhuo no die。

5 年华有限,不负韶光

女人的黄金年龄只有几年时间。在这段时间里面,你遇到的每一个适龄男人都是你的潜在对象。你不能够把你的时间平均分配给每一个男人。学会筛选,切勿让感觉战胜理智,不然你错失的很可能不仅仅是时间,还有结识良人的机会。

6逼近外貌的极限
人类的基因决定了男人选择女人的时候90%会依据这个女人的外貌作为参考。暂时的放下一些心理洁癖,让你成为最漂亮的你,然后感受男人们的蜂拥而至吧。

7不要依赖星座
星座并不能指导你找到一个靠谱的男人,也不能指导你和他在一起的生活。在生活之余,借鉴一些星座知识是一件好事,但是将你的整个人生都压在这12种类型身上,未免有点对自己太不负责任了。

8不要贬低同性来抬高自己
这不是女人的专利,很多男人也会犯这样的错误。贬低别人会让你看起来特别弱小,没有自信。你如果把周围的女性都当做你的竞争对手,并且暗中说贬低她们,那么你只会落得被孤立的下场,最要命的是男人很轻易就可以看穿这一点。穿的暴露不一定放荡,背后使诈才是真猥琐。

9和同性保持界限
接着上一条。虽然我们要做正人君子,但小人也不能不防。所以,除了那个你一生一世的闺蜜,和其他女孩接触的时候需要带着一份界限感。不要贸然的将自己以及你身边的人交付出来。

10丑话说在前面
谈恋爱的时候,两个人总会因为异性的问题产生怀疑。为了避免让男人觉得你是小家子气。你需要告诉他,你对这种事情非常敏感,如果他不能接受,你们就不要开始了。如此,他就再没有反驳的余地。

11要有女人的弹性
什么叫做见识过大场面?那就是能享受好的,也能承受坏的。不论你的家境如何,你都要能够承受一些感情中的压力。如果你只能跟着你的男人享福,但却不能跟着你的男人吃苦,那等他改日东山再起的时候,你就只能待在西边了。

12该出的钱自己出
拿人手短,假如一个男人总是对你献殷勤,而你又总是接受的话。对于男人而言潜台词就是:你允许了我来泡你。假如你不想因为欠人情而把自己的生活搞得一团糟,就不要吝啬这点小钱。另外,和男孩子出去玩记得自己开房,当你为了省钱让他开房,等同于默认了他可以睡你。

13多读书
我说的不是那种爱情小说。在有空的时候,多涉猎一些你不了解但又经常在男人口中出现的话题会让大部分男人对你刮目相看。如此,你很容易从茫茫女生当中脱颖而出,也让男人有了更多想要探索你的欲望。在我的公众号《源靖说》中回复关键字“7”,送你7本我强烈推荐女生应该看的好书。

14保持活力

大部分女孩都不喜欢呆板的男孩子。其实反过来也是一样的。有时候你会觉得沉默,保持距离是矜持,但当男神还不是那么喜欢你的时候,这就是自断生路。有句话叫做,把自己灌醉,给别人机会,其实也是这么个道理。

15利用大学的时光
两个人的匹配程度越高,你们的感情就会越稳定。老司机告诉你,当你走出校园之后,你的选择范围会骤减,并且什么歪瓜裂枣都有。能够上同一所大学,意味着你们收到的教育也相同,**境界相同,也就更容易获得美满的爱情。通常男生大于女生是合理情况,这意味着大一的时候你有4个年级的人可以选择。每升一年,你的选择范围就会少掉一个年级,到了大四,你就只有和你同年级的男生可以选择了。所以利用好大学的时光,挑个如意郎君吧。

16切勿功利心太强
任何时候谈恋爱,不要抱着【我要嫁给他】和【我不会嫁给他】的心态,很多时候你预料不到之后会发生的事,这种时刻,就享受当下,未来的策划要考虑对方,但不能多过自己。

17别让思绪左右你的判断
当你开始对一个人产生感觉但又不确定的时候。我的建议是马上出去旅行,旅行一周的冷静期回来后,你才能分清你究竟是真的喜欢,或只是因为寂寞。如果他确实令你心心念念,那么就别犹豫,果断出手吧。

18确立自己的目标,别去猜对方在想什么
我遇到过很多类似【他到底在想什么】这样的问题。实际上,没有人能够知道另一个人在想什么。如果你的猜测是错误的,那么接下来你就会做出错误的行为。当一切都错了,你们也就结束了。预期做【猜测】这样的无用功,不如搞清楚自己要什么,然后朝着那个方向努力就好。

19你需要有筹码
如果你很喜欢一个男人,但是他对你却兴致平平,那么不妨和其他男人出去约会一下。这不仅能够缓解你焦虑的心态,还能够让你在你喜欢的男人眼里不至于没有市场。这无形中增加了让他喜欢上你的几率。

20敢于AA
实际上,男人比女人更加看重钱。在私下的时候,男人们会讨论约会的开销问题。男人们表面上不在意,那是因为我们正在追求你。这个时候男人根本没有第二个选项可以选择。但是当一个女人提出AA的时候,男人会尊重这样的女人。

21皮囊和灵魂缺一不可
男人喜欢漂亮的女人。但是漂亮的女人只能够维持短暂的吸引力,并且很容易被更漂亮的女人替代。想要获得一个男人对你长久的迷恋,你还要具备一份让他欣赏的内涵。

22留住你的朋友
做一个人女朋友的时候,不要出轨,但也不要把优质资源统统拒之门外,保持在安全距离。你不能因为谈了朋友就没有朋友了。

23别开口要东西
无论是DIOR还是一个微信红包,你都不可以主动开口要。当你开口的时候,也就是物化自己的时候。当你自我物化之后,就不要怪男人来物化你。

24短信不能连续发
当一个男人没有回你的短信的时候,就不要再发第二条了。这样很容易暴露你寂寞的事实。

25培养一个兴趣
你的兴趣不仅会在你和男人认识的初期为你加分,还会让你们的恋爱更加的丰满。假如两个人天天腻在一起吃饭看电影,总有一天你们都会受不了的。你有一个兴趣,他有一个兴趣,你们的恋爱就会更加多元。

26做一个有主见的女人
当一个男人问你今天吃什么,周末想去哪里,明天我去看你可好的时候,如果你只会说【随便】,则很容易让男人觉得你不没有独立的人格,换句话说,男人可以感觉到,你是依赖他的。如此你就会发现天平渐渐的向对面倾斜了。

27拜金不是罪过
有的女人喜欢旅游,有的女人喜欢养宠物,有的女人喜欢看电影,但为什么偏偏不能喜欢钱?如果你确实喜欢钱,那就不要伪装,男人只会看不起掩饰自己拜金的女人,而不会看不起敢于坦白的女人。况且,你只是喜欢钱,又没让他为你花钱。

28边打边哄
蒋介石说:想要让一个人听话就得边打边哄。你不能总是给男人糖吃,吃多了,我们的口味就容易刁钻起来,再想吃点苦的就受不了了。所以,当他表现好了,赏他一次约会,赏他一个吻,赏他一席周公之礼。当他表现不好的时候,他只能获得惩罚。慢慢的,他就被你调教出来了。

29让他比你更急
当你急的时候,他就不急。当你不急的时候,他就着急。别告诉他你老妈一周催你20次结婚的事情。那只会让他感觉到他可以利用这点来在你面前有恃无恐。你要告诉他,我想结婚随时可以,只不过我现在还不想。

30整理好你的微信朋友圈
微信朋友圈是让人了解你的一个入口。换句话说,它就是你的名片。你应该把它打造得更精美一些。删掉乱糟糟的文章转发,只放最美的自拍,无意间透露你不缺乏男性朋友。一个优秀的朋友圈会让他更加想要进一步来探索你。

男生版

1你要比的不是这个女生,而是这个女生周围的男人
男人和女人是不具备可比性的。如果世界上只剩下你和她,无论你们各自是什么样子,你们都会在一起。但是假如世界上只有1个女人和10个男人,那么她可就不一定选择你了。切勿那你和女人的差距作为你追求她的参考。

2不是所有女人都能【追】到的
一部分社交能力比较强,又相对漂亮的女人往往经历过了不少男人。在她眼里,你那套对付16岁小女孩的把戏只会让她觉得无趣。你需要成熟一点,不要在一开始就摆出一副今生非你不娶的态度,不然那只会显得你是个小男孩。

3永远不要停止学习新东西
如果你们已经恋爱了,那么你最好略微站在主导的位置。这意味着你们是一个团队,而她是你的团员。如果你不能够带领团队变得更好,那么她可能就会想要跳去别的团队了。保持主导位置的方法就是永远比她快半步。

4Less is more
我建议你先把和她睡觉这个事情忘掉。当你越在意这个的时候,你就会在一些行为中表现出来,比如偷瞄她的身体,或是多看她一秒。女人很容易察觉到这些,只不过她们不说破罢了。当女人意识到你满脑子都是睡觉这件事之后,你会发现这件事情就会变得愈发的困难。女人要的是【天哪,我们竟然一不小心就睡了】。而不是【既然他那么想要,我就配合一下吧】。

5小心她的照片
女人经常会发一些自己的性感照片,可能是因为她觉得很美,或是她想获得大家的赞赏。但绝对不代表她就很好睡。

6重点不在你说什么,而是怎么说
不同的人说同一句话是不一样的。同样的一个笑话,有的人讲出来就很好笑,有的人讲出来就很冷。不要以为那些撩妹高手就比你的存货多。很多时候只是他们比你更知道怎么讲话罢了。

7没有话题是个伪命题
不要把你的失败都归因为不会聊天。相信我,只要你们不是一个农村长大,一个城市长大,你们的成长经历都是差不多的。你们都会追当今最热的美剧,也都经历过相似的童年,赶时间的时候都吃麦当劳,也都期望去米其林三星挫一顿好的。两个人在一起聊天能聊什么,不就是这些东西吗?除非你不知道麦当劳和米其林三星是什么,不然为什么你会没有话题?

8你不能太容易被自己感动
男人有时候比女人更加浪漫,或者说女人经常比你想象的更理智。浪漫的表白,精美的蜡烛,这些都不是让一个女人喜欢上你的决定性因素。摆个心这么简单的事情谁不能做呢。不要在感动女人之前先感动自己,不然你就会拥有和现实不符的高期望值,接着失去理智。

9别总是问问题
学会一些聊天技巧吧。一个美女可能一天要回答20次她叫什么,在哪工作,平时喜欢干嘛。代替问问题的一个方法就是实用【冷读】技巧。具体如何使用,在我的公众号《源靖说》里发送“冷读”二字,给你一篇详细的干货。

10不要问她有没有男朋友
这是句废话,而且简单粗暴的暴露了你想要追她的事实。如果她没有男朋友,她不会说。如果她有男朋友但却想和你玩耍一番,她也不会说。如果她不喜欢你,不管她有没有男朋友,答案都是有。

11陪伴是最长情的告白,也是最长久的备胎
大部分人花了很久的时间,很多的精力,陪伴在一个人身边,都是希望能够早点柳暗花明,摆脱备胎的命运。殊不知,往往是我们自己把自己置于这种两难境地。在这段长跑中,你必须先找到自我。喜欢一个人也好,爱一个人也好,先弄清楚你的位置,假如以牺牲自己为代价,那么就不要去怪你的付出显得廉价。

12学会聊天的时候留白
有些人对于话题的敏感度比较低,如果你怕下一次聊天的时候不知道怎么开场,那么不妨在上一次的聊天末尾留一部分,当做下一次的开场白。

13不要上来就送礼物
女人喜欢收礼物。但是你不能一上来就大礼伺候。在女人和你不熟悉的时候,送礼物特别是贵重的礼物会让女方压力很大。接了你的礼物,就等于失了矜持。试问还有什么比一个女人的矜持更让她们自己看重的呢。关系是循序渐进的,礼物也是由轻到重的。

14聊天时间的长短并不是重点
有人以为和女人聊天的时间越长就越有戏,其实这两者之间没有必然的关系。可能她只是把你当做一个聊友,或者仅仅是因为你说话比较好玩。一个女人愿意和你聊的有多深,才能决定她是否喜欢上了你。

15你需要有一些女性朋友
如果你身边没有其他异性,那么你在这个女人眼里就是一个没什么魅力的人。进化的结果决定了女人会对已经“被验证”过的男人更感兴趣。但你需要和你身边的异性保持在安全距离,如果她意识到你和每一个女人都有上一腿,恐怕这个渣男的称号就被你坐实了。

16少装逼
我很少看见过不装逼的男人,包括我老爸。可以说装逼是男人的天性之一,就像是女人都多少爱慕虚荣一样。可惜大部分的年轻人不懂得如何把这件事做得高级一些。记住,别人说比自己说好。讲故事比直接说好。

17少叫人美女
这有一定的地域和文化关系,所以并不是绝对的。但是大部分地区,女人都不喜欢听到一个男人张口闭口就是美女。第一印象很重要,这样会显得你特别轻浮。

18少问“你在干嘛”
如果可以的话,你最好永远不要问出这句话。不知道从何时开始,这句话已经和“无趣”产生了密不可分的联系。这也许是唯一一条我没办法和你解释的原则,但请相信我,女人都不喜欢听到一个男人这么问她,更别提每次都是这句话开场了。

19学会打扮自己
不管你信不信,和日本韩国的男生比起来,**的男生确实不太喜欢打扮自己。这对你来说可是件好事,因为你只要在这上面下点功夫,你就会比很多男人都要更好了。还记得第1条吗?不过,请选择有品味的方向去模仿,不要弄巧成拙了。

20不要去教育女人
有些人喜欢上来就通过教育女人或是贬低女人来抬高自己的地位。殊不知这直接暴露了你是一个多么虚伪且自卑的人。没有女人不希望被自己的男人捧在掌心,不要摆出一副高高在上的姿态。太高了,就脱节了。

21搞清楚她的爱语
恋爱中,每个人接受爱和付出爱的方式是一样的。如果一个女人总在你耳边说浪漫的情话,那么她也一定希望听到你对她说这些。如果她想要的是甜言蜜语和陪伴,而你只给了她物质,那么对于她来说,你依然不怎么在乎她。

22保持神秘感
女人就像是钻井工人。他们的工作就是为了钻开你的灵魂,获取你更多的信息,**,历史,个人背景。一旦她把你钻干了,她就可能会觉得没什么意思了。于是她就会去钻别的井。不要一下子就把你的老底交代干净,这样,她才会一直对你有兴趣。

23对她好,但别讨好
对一个人好,意味着站在对方的角度和立场去换位思考,当你把自己当对方的时候,你自然就懂得如何对一个人好。男人往往模糊了这点和讨好之间的概念。讨好往往是带着目的心的,而对一个人好是无条件的。

24丰富你的生活
普遍来说,女人的旅游次数会远远高于男人。这没什么不好,男人确实需要努力工作。但在可以的时候,你需要拿出相当一部分娱乐和休息的时间,参加一些有意义的活动或是旅行。越是高阶的女人,通常走过的地方越多,如果你不想在她面前表现得像个白痴,多去去走走吧。

25随身带一本纸质书
这是我的个人习惯之一。首先,多读书总是没错的。第二,这会让你看起来更有内涵和修养。第三,这本书就是一个很好的话题。

26学会花钱
一个人真正是否有钱,体现在他在消耗品上面的消费态度,而不是费消耗品。在没有确定关系的时候,多在消耗品上面消费,为你也为她。不妨用好一点的洗面奶和护肤品,也可以去高端大气的餐厅。这会比手拿一部IphoneX来的更显富有。

27适当的也让她花点小钱
一段健康合理的关系不能总是由男方来出资(当然更不能由女方来出资),因为不光是你,这对她也不是一件好事。人格独立的基础是经济独立。当她的全部开销都由你来支付的时候,也是你们的关系正式变质的时候。适当的让女人投入一些金钱,这会让她自动合理化——她为你花钱是因为她爱你。

28共同去完成一些事情
假如有工作或是学习或是其他事件可以让你的女友参与进来,不妨大胆去做。只有两个人经历过实实在在的事情,你们才会彼此了解,也会更加珍惜对方。坚固的恋爱可不是坐在电影院里谈出来的。

29要有生活主线
这是很难拿捏的一件事情。你不能够把女人作为你生活的全部,因为那会让你乐不思蜀,止步不前。你需要走在正确的轨道上。如果你的女人和你的生活主线是统一的,那非常好。但假如不是,你要不断的在两者之间找到平衡。没有人有义务一辈子陪着你服侍你,女人不会一辈子守在烂泥身边。

30学会总结
如果你经常用同一种方法追女孩,并且总是失败,那么很可能是你的方法出了问题。

如果你不满足于这冰山一角,可以关注我的公众号:youyabenleida

如何准备技术简历

3月是校招和社招的旺季,为了让IT相关专业的同学更好的做好应聘准备,实验楼的百楼俱乐部进行了1场分享会,石头山通过语音向小伙伴们分享了“如何准备技术简历”,以下是本次分享的提纲。最后是由实验楼MM记录的本次分享的25条要点,如果你准备找一份技术工作,可以对照提纲梳理下自己的简历。
https://zhuanlan.zhihu.com/p/25732402
一、话题简介

分享话题面向的用户

面向互联网企业或软件企业
应届毕业或毕业三年以内的求职者,经验丰富的技术人员的招聘差异大
技术相关岗位:研发,测试或运维岗位
个人经历限制话题

外企、大的民企和创业公司
缺少大型国企,传统行业经验
不全面不可避免
二、简历要素

  1. 基本信息

姓名
年龄
工作年限
学历
城市
联系方式:手机+邮箱
注意事项

  1. 年龄和工作年限的匹配,差异非常大的情况是不容易通过简历筛选的

  2. 工作年限事实求是,务必不要虚报

  3. 如果转行,需要写清除多少年本行业工作经验

  4. 邮箱尽量使用常用邮箱,或者个人网站邮箱

  5. 工作/实习经历

公司名称
职位
时间
详细工作
注意事项

  1. 避免断档,晒简历的时候不关注,面试时候也会问到

  2. 一个公司只写一栏,哪怕职位有变动,保留与目标职位最接近的,避免被误以为频繁跳槽

  3. 工作中开发的产品,用到的技术,负责的任务,是否带团队,是否独立完成

  4. 应届实习经验非常重要,如果没有要写最好的项目经验

  5. 简短的条目:1,2,3,4

  6. 项目经历

项目名称
项目描述
承担的职责
用到的技术
实现的效果
注意事项

  1. 可以合并到工作经历中,应届非常重要

  2. 项目描述:关联性,知名度,数据证据

  3. 技术关键字:编程语言,技术框架等

  4. 熟知的项目最好,最好有数据,比如为实验楼开发实验操作模块,支持1000人同时做实验并发,500万次实验稳定运行

  5. 应届,但没有实习,项目可以列出开源项目,实验楼的一些大的项目,github 代码链接,进行一定扩展

  6. 只列出你真正熟悉的项目,切勿虚假

  7. 尽可能提供在线项目展示的链接地址

  8. 使用标准的技术语言描述

  9. 技能列表

注意事项

  1. 实事求是,熟悉,了解,精通已经被用烂了

  2. 根据目标职位适当调整

  3. 数字证据:30000行代码,3个项目 - Python

  4. 项目证据:爬取知乎10万用户 - Python

  5. 教育经历

专科,本科,硕士,事实求是
学校,学历,专业,时间
注意事项

  1. 不要强调自学成才

  2. 不要写培训班经历

  3. 其他信息

个人网站/技术博客:没有丰富内容的不要放
Github 非常重要:原创项目,频繁的提交记录,如果没自己的代码不要放
需要标亮点,比如 150篇技术博文,访问量 xx 万等
原创的项目代码
非技术相关的信息,例如社团活动,志愿活动等一律不要放
除非是技术社团,但一般价值不大
不要写个人描述等
性格,爱好没必要
除非职位要求不要写期望职位,薪资,工作地点等
7. 简历之外

技术社交
github:代码,PR - 参与开源项目
Stackoverflow
技术社区
博客博文
翻译
在线教育贡献内容
录制的视频
编写的ji shu文档
个人网站/About me
简历之外的证据
三、常见的问题

  1. 尽可能精简,突出关键字:不要有太多讲述个人经历的文字,没人看。简历长度,1页纸。HR或工程师收到大量简历筛选时间非常有限,需要最短的时间内抓住对方的关注。

  2. 顺序:应届先突出学校,将教育背景合并到个人信息。非应届突出工作经历,个人信息下方直接放最近一份工作经历。

  3. 根据投递的职位进行适当调整,完全一样的简历海投概率低。

  4. 不要有大段文字,简短的条目清晰化。

  5. PDF 格式最好

  6. 不要放照片,除非长得很美或者职位要求(不过要求放照片的技术岗位可能是假的技术岗位。。。)

  7. 目标公司的产品分析 - 可以有

  8. 外企建议一页纸的中文+一页纸的英文简历

———————————分隔线———————————

以下是实验楼MM根据分享内容,整理的一些要点:

1)工作年限实事求是,应届毕业生可不必把实习时间算入工作年限中;
2)转行的,转行之前的可以简单一句话概括,主要写与应聘职位相关的工作经历;
3)一个公司写一栏,哪怕在该公司有多个职务,写高级职务即可;
4)工作描述,详细记录,写清楚每项工作充当的角色、每项工作的收获等;
5)应届生若没有工作经验,则实习经验非常宝贵;
6)项目经验写的详细一点,课程大作业如果代码量足够也可以写,一般不建议写;
7)尽量写与应聘工作切合度高的项目经验,且尽量有详细的数据说明;
8)如果有参与开源项目,是加分点;
9)项目经验的最好证据就是github或者在线demo以及自己的在线博客;
10)项目描述一定要用非常标准的技术语言,比如该大写的大写,体现专业性;
11)技能列表,可以与应聘岗位进行修正,实事求是,尽量不要写”精通“,可以加上数字和例证辅助展示该技能的掌握程度;
12)教育经历写清楚,实事求是即可,尽量不要强调自学成才,拿项目经验说明,尽可能不要写培训班经验;
13)个人网站,如果内容不够丰富的话,可不必放出来;
14)github是加分点,很重要,如果项目经验丰富可以放上,如果大部分是fork别人的可不必放;
15)列出的个人博客以及github,后面尽量附上数据说明,比如每天的访问量是多少啊之类的;
16)技术简历可不必写个人描述,个人评价;
17)如果不是必要写期望薪资的,可不必写期望薪资,薪资可以面谈;
18)技术社交也很重要,可以尽早维护github或者个人博客,有深入的了解某一项技术之后,可以看看技术社区的问题,参与回答,翻译的国外文档的翻译等;
19)简历尽量精简,重点内容醒目显示;
20)应届生突出学校,非应届突出工作经验,包括工作年限、工作经历、与当前职位的契合度等;
21)投递不同的岗位,不要使用一份简历,需要根据投递的职位进行调整;
22)简历尽量用PDF,兼容性较好;
23)技术简历可以不必放照片;
24)投外企的话,尽量英文+中文简历;
25)面试前可适当提前了解应聘的公司;
PS:百楼俱乐部每月都会进行这样的分享会,分享的主题会涵盖技术学习、项目开发、职业发展、求职等技术人相关的话题。如果你想要参与这样的分享会,有以下方法加入:

1)努力爬楼,进入百楼俱乐部;
2)找百楼俱乐部的大牛拉你入群参与分享;
3)参与实验楼每周的比赛并胜出。

面试中求职者如何要钱

https://zhuanlan.zhihu.com/p/25251956
不直接回答问题,讲讲求职者怎么要钱。
面试是求职者跟上司的第一次信息交流,今后可能会出现的问题在面试的时候就解决掉,是最好的选择,省时省力——不就是个钱的事儿么,你不说出来,特么的用人单位没准就真不往心里去,我们大概都被这么压榨过吧?!

作为应聘者。应聘的时候,当然要全面系统地了解你即将应聘的公司和职位。
就算你是海投的,接到面试通知的时候,也得好歹看看对方公司的情况吧,包括但不限于:
谷歌搜一搜这个公司的情况
谷歌搜一搜CEO的情况
知乎搜一搜关于公司的问题
百度搜一搜这个公司的产品、广告情况
上网站、官方微信、微博,看看这个公司做的事儿怎么样,接着看一看这个公司做事的人怎么样。
然后面试的时候,要表现出以下几点,排名不分先后:
我很了解你们
我很认同你们
我很了解我的这个岗位
我能够利用这个岗位,给公司带来超过你想象的价值
最后,最重要的是,有理有据地说出,你要怎么给公司带来价值。这个就有技巧了,像写文案一样。

举个例子来说:

同样是助理。
你可以说:
我干净整洁
我有礼貌
我肯吃苦
看起来不错,是吧?
然而要知道,在面试时,除非你丫是被内推进去的大牛,否则有很大可能性,你会被打压、甚至不信任。
因为对于用人单位来说,支付你的薪水,是个有风险的事儿,毕竟,他们不知道你到底有没有看上去那么牛逼,有没有你说的那么好,能不能给公司带来超过其他竞争者的价值。

而一个好的求职者应该这样说:
我干净整洁,会把办公室收拾得蓬荜生辉。让你工作在整齐有序的环境中,心情好效率高。
我有礼貌,接电话或者接待客人时,会让对方更舒服、心情更好。
我肯吃苦,所以诸如整理文件、接待客人这些事儿,我不是三分钟热情,而是会一直保持高标准。
好的,就算这时候HR说“可是我们只能给3000”。
没关系,要么继续找,要么留在这儿,但是为以后做积累,多学习。
至于怎么学……这做出来绝对是一份超大的大盘鸡,原谅我每周只有2个小时的时间写答案,所以这次的答案只能暂且到这儿了,如果你觉得我写的也是鸡汤,那十分抱歉。
————————
贴个我们网站上的例子……这哥们儿在四线城市的非原生互联网公司,负责互联网业务。前段时间刚入职,年薪已经10万+了。

这哥们儿先跟HR聊了公司网站BANNER的文案问题。加分。(对于薪资有浮动空间的岗位,加分当然就是加钱)
然后,公司的经理问如何推广APP时,反问对方一系列问题,反客为主……
最后,再搞定高层……
自己看吧:
上篇:HR和经理面试:我利用了暖石学到的这3点知识在面试中完虐了HR和部门经理。
下篇:副总和集团董事长:在暖石学习2个月后,终于获得年薪10万的offer
—————————

再说一下我招人的时候关于薪资的态度。
我会告诉员工,你这个职位的平均薪水是多少,跟你聊完之后,我第一个月给你的薪水是多少。
然后我还会告诉员工,这个月你刚来公司,肯定对业务不熟悉,这个岗位应该给你5K,但是我给你6K,我希望你下个月的工作,能够配得上6K的薪水。
最关键的是,我会告诉员工,如果你下个月的工作配得上6K,那么我下个月会给你8K,只要你一直保持这个增长的劲头。

——————————————
最后,如果你是老板,员工招进来就是要培养的,从价值3000培养到价值30000,看你自己想不想培养,或者说,你觉得这样的投入产出是否值得了。能上来就招到勒布朗的毕竟是少数,能把姚瘦子变成姚巨人的球队才牛逼,球队是这样,公司也一样。

女朋友的哪些优点最让男朋友喜欢?

作者:桃花影落飞神剑
链接:https://www.zhihu.com/question/27292727/answer/36137493
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

看着赞越来越多,禁不住想更新一下,把原本简单的罗列说的详细一些。
1,聪明、有文化。
这是我很看重的一点。当然也是因为身边有这样的女生,更容易感受的到。
聪明的女生往往是有趣的女生,这样,两个人在一起就会有很多的乐趣,比如说一起答题,相互讨论人物、地方,书等。看书,看电影,看电视节目时会看一些有文化、有内涵的,相互交流的时候总是能找到共同话题,两个人还能就感兴趣的话题讨论很久很久,这样自然就不会出现时间久了没话说啦的情形。有时候,你可以听她滔滔不绝的讲,她也会认真的听你讲,总之,由于知识的积累、头脑的灵活,你会觉得,跟这样的女生在一块有说不完的话。
这样的女生有自己的生活,或者说不总是需要人陪,相信这点对于有自己事业、需要自由空间的男生来说,应该会比较喜欢吧。
2,,有阅历、爱看书。
相对爱看韩剧、爱逛街、爱逛淘宝的女生,我觉得女生爱上知乎这样的网站算是个优点,而比这个更好的就是爱看书。我觉得爱看书可以塑造正确的三观,加入的朋友圈也会是充满正能量、充满美好生活的。
看书的女生睿智,有自己的想法,而且往往是透露着理智、坚强、自制力、上进、负责任、不娇惯等正能量的女孩子,这种正能量让人不再虚度光阴,减少花在逛街、打游戏的时间,少了空虚无聊,多了自信充实。
3,精心装饰自己。
没有丑女人,只有不会打扮的女人。我不喜欢女生化浓妆,但是我喜欢看起来干净自然的女生,头发很顺,不管长发短发都透露着清新;衣服很搭配,不管是有点胖还是有棒棒的身材,都能凸显自己的特色,不装不夸张不邋遢;谈吐自然开朗,跟朋友在一起时可以畅所欲言,真情流露,遇到不想多说的时候,又能安静的听,带着迷人的微笑,言谈举止无不显现出涵养、大方、美丽。
4,心宽。
心宽源于自信,源于对男朋友的信任、对自己眼光的自信、对自己的所作所为的负责。我说的心宽不是宽到可以不在乎男朋友跟别的女生说话,而是不可以将感情束缚住,给彼此一定的自由空间吧。不过,对待爱情能做到心宽,我想也是因为彼此的安全感很足吧。
我说一说身边的玻璃心女生吧,在我看来,她最大的不好就是小心眼。她总是认为跟她的朋友就应该跟她最好,如果她的朋友逛街或者吃饭没有叫她,她就会生气;她的一个朋友说了句另外一个女生挺可爱的,她也生气,理由就是:我不可爱吗,你怎么夸她不夸我?种种这样的例子,这还只是针对朋友、同学,而不是男朋友,以至于我只是作为一个朋友,都无法跟她交流。

以上四点感悟最深,想到了再补充。

我的2016年


现在是2016年12月31日20点,我在北京,指缝太宽,时间太瘦,悄悄从指缝间溜走,一年真的要过去了。 微博,微信上看到不少人在总结自己的2016,如小道消息公众号这篇16位读者的2016年,值得看看 http://mp.weixin.qq.com/s/iQerUx6yfsqo7RwWQPkYvQ 还有微博上大网红 papi酱 做的2016大事件视频http://weibo.com/2714280233/Eowpl07VL

2016年开始更新公众号,目前写了20篇左右。也看了几部电影《叶问3》《老炮》《从你的全世界路过》《28岁未成年》。还有记录自己的网易音乐 http://music.163.com/#/my/m/music/playlist?id=406121360 借着公众号,也回顾下我的2016。其实微博相册是一种更好的记录,有兴趣也可以看看http://photo.weibo.com/2717930601/talbum/index#!/mode/1/page/1

还记得2016年年初的时候定了个小目标http://weibo.com/2717930601/Dbpg3xzx4

很遗憾,第一个目标并木有实现。年初的时候遇见一个合适的妹子,然而由于各种缘由失之交臂,这是一个标准的文艺女青年(她的公众号:蓝胖子写字),爱旅行有才华,敢爱敢拼,祝福她 2017 心有所属。

第二个关于技术方面,golang 只是安装入门了下,因为实际工作中并没有用到,今年要加强实践了。python 是更深入了,之前发布的几篇公众号文章也是基于python。人生苦短,python必备。php 和 javascript 因为在工作中用到,所以是日趋进步,这个可以在 https://segmentfault.com/u/sushengbuhuo 上看到我的记录。

第三个关于在sf社区的声望,很可惜,目前10.8k,由于前2个季度没有勤快答题及更新博客,离12k还有点距离,不过1月份就可以完成的。sf是我最喜欢的纯技术社区了,几乎每天回复问题,看别人的回复,还有各种经典文章,系列博文,今年的博客也没写几篇,明年也要加强。

第四个关于看10本书,很遗憾,今年一本书都没看完,尽管已经买了不少书了,真是惭愧,也许是太浮躁了,没法静下心来,今年努力把 python实践 看完。

第五个关于更新微博,这个我做到了,看截图,目前我的微博数63269,年初的时候刚3万,光2016年就发布了3万多条微博,平均每天90条左右,这是我坚持最长久的一件事,我都佩服我自己了。同时微信朋友圈更新了100篇,相比微博就太少了。更新那么多微博,大多是技术方面的,其实我并没有都看完,就当一个记录,下次有问题的时候可以直接在微博搜索到。

第六个关于存钱,年初定了5万的目标,结果超了7万,这并不是一个段子。 因为我每个月的花费记录都在支付宝记账上,从2014年起每天记账,坚持了3年。

第七个关于看演唱会,感谢好友@马华麟 的票,7月2号在北京工体看了场《致青春》演唱会,现场听了老狼的《同桌的你》,还有为了宣传电影《致青春,原来你也在这里》的刘亦菲也来了。见微博地址http://weibo.com/2717930601/DCY6ShT0Z 之前一直听喜马拉雅主播@夏雨嫣 的节目,正好年初的时候举办了次线下活动(http://weibo.com/2717930601/DckHEEMsx),见到了她本人,很温和的妹子,因为爱好播音利用业余时间学习录制节目,每一期节目很用心的制作,经常忙到凌晨一两点,目前在喜马也算一红人,祝福她2017 成功脱单。

第八个关于工作,这一年加薪了,很开心,团队人员增加了,和小伙伴合作也很愉快。年会的时候还中奖了http://weibo.com/2717930601/DeuVSBk17 目前公司用的 laravel 开发框架,折腾不少,也算对这个框架更加熟悉。 4月份的时候团建,去了趟天津盘山,许久不爬山了,不过爬山对我来说是小case了,以后还得多运动。

第九个关于熬夜,很遗憾,几乎每天凌晨以后睡觉,但没有超过1点。

第十个关于房子,10月份国庆的时候回了趟家,家里的房子已经装修好入住了。

尽管小目标没有都实现,但梦想总是要有的,万一实现了呢,所以也定下2017的计划:

都说先成家后立业,那就找一个能彼此成就的她成家吧。
坚持更新微博和公众号。
segmentfault 声望累计到18K。
看一场演唱会或一次旅行。
攒钱,为买房准备。
多运动锻炼,杜绝熬夜。
继续深入php python ,学习 golang 到可用阶段。
加薪升职。
ps:友情提醒,Copyright 写死的小伙伴,又到了一年一次更新的时候了,建议用 php 的 date('Y') 以后再也不用手动改啦。

pps:即将步入2017,感谢关注这个公众号的你们,简单直接点,给大家送红包了,本公众号回复 2017新年快乐 获取。

最后以知乎上的一个回复来总结2016大事件:

一年又将尽,春晚恐词穷。 此文致冯巩,此韵致黄宏。 首当洪荒力,奥运泥石流。 天朝绝凶虎,帝国破坏龙。 越界超级丹,身体被掏空。 夜光聊剧本,绿野摄仙踪。 河海有夏露,西北有马蓉。 校花关不住,校草独茕茕。 一人饮酒醉,抚掌如撩妹。 世界那么大,回家洗洗睡。 哎哟小公举,嘿咻老污龟。 在座说诸位,不是针对谁。 司机发快车,友谊沉小船。 问你怕不怕,说他翻就翻。 动如暴漫脸,静若葛优瘫。 厉害我的哥,你咋不上天? 天上核武器,局座因果律。 恍然若三体,面壁有大计。 陨石炸航母,酸雨去武装。 海带反潜艇,雾霾防激光。 生活岂苟且,有诗有远方。 人皆奉网红,我独为网黄。 天下假猪套,人间新狗粮。 一脸甩懵逼,猝然不及防。 城市套路深,我欲回农村。 香菇太蓝瘦,蜜汁不清真。 一亿小目标,九旬大新闻。 深情留不住,套路得人心。 年年有金句,白驹如过隙。 当时与语人,及今谁复记? 吃瓜一时快,事了拂衣去。 唯有虹桥姐,初心终不易。
想起冯小刚电影《甲方乙方》最后那句“1997年过去了,我很怀念它”。那是我们每个人努力实现、苦甜交加、荒诞但又迷人的梦想。 现在2016也要过去了,我也怀念它。

每篇文章推荐一个工具:2016互联网期末考试,看看你及格吗 http://poll2016.sspai.com/?from=timeline

The End

from 公众号 http://mp.weixin.qq.com/s?__biz=MjM5ODIzNDExMg==&tempkey=v%2FqtmivlDSstZxd46j5UvWbs7pOyKA5ZNhrjL2sBGlSU7ervKP8mogkxeS2n3idaBZ3JrR2d93rbvZtXZZo8iJ8XteVHJOhvdVlf%2BQxmobsLpytflasy0I1BuaFgqsSuM%2F1ZgCxLPoM91cuEcXKoHA%3D%3D&chksm=25b7068f12c08f99e5b956f4c5944a2e50b065f2657b6d640bc3650c591fb9f9515747e8b358#rd

58到家数据库30条军规解读

军规适用场景:并发量大、数据量大的互联网业务
军规:介绍内容
解读:讲解原因,解读比军规更重要

一、基础规范
(1)必须使用InnoDB存储引擎
解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高

(2)必须使用UTF8字符集
解读:万国码,无需转码,无乱码风险,节省空间

(3)数据表、数据字段必须加入中文注释
解读:N年后谁tm知道这个r1,r2,r3字段是干嘛的

(4)禁止使用存储过程、视图、触发器、Event
解读:高并发大数据的互联网业务,架构设计思路是“解放数据库CPU,将计算转移到服务层”,并发量大的情况下,这些功能很可能将数据库拖死,业务逻辑放到服务层具备更好的扩展性,能够轻易实现“增机器就加性能”。数据库擅长存储与索引,CPU计算还是上移吧

(5)禁止存储大文件或者大照片
解读:为何要让数据库做它不擅长的事情?大文件和照片存储在文件系统,数据库里存URI多好

二、命名规范
(6)只允许使用内网域名,而不是ip连接数据库

(7)线上环境、开发环境、测试环境数据库内网域名遵循命名规范
业务名称:xxx
线上环境:dj.xxx.db
开发环境:dj.xxx.rdb
测试环境:dj.xxx.tdb
从库在名称后加-s标识,备库在名称后加-ss标识
线上从库:dj.xxx-s.db
线上备库:dj.xxx-sss.db

(8)库名、表名、字段名:小写,下划线风格,不超过32个字符,必须见名知意,禁止拼音英文混用

(9)表名t_xxx,非唯一索引名idx_xxx,唯一索引名uniq_xxx

三、表设计规范
(10)单实例表数目必须小于500

(11)单表列数目必须小于30

(12)表必须有主键,例如自增主键
解读:
a)主键递增,数据行写入可以提高插入性能,可以避免page分裂,减少表碎片提升空间和内存的使用
b)主键要选择较短的数据类型, Innodb引擎普通索引都会保存主键的值,较短的数据类型可以有效的减少索引的磁盘空间,提高索引的缓存效率
c) 无主键的表删除,在row模式的主从架构,会导致备库夯住

(13)禁止使用外键,如果有外键完整性约束,需要应用程序控制
解读:外键会导致表与表之间耦合,update与delete操作都会涉及相关联的表,十分影响sql 的性能,甚至会造成死锁。高并发情况下容易造成数据库性能,大数据高并发业务场景数据库使用以性能优先

四、字段设计规范
(14)必须把字段定义为NOT NULL并且提供默认值
解读:
a)null的列使索引/索引统计/值比较都更加复杂,对MySQL来说更难优化
b)null 这种类型MySQL内部需要进行特殊处理,增加数据库处理记录的复杂性;同等条件下,表中有较多空字段的时候,数据库的处理性能会降低很多
c)null值需要更多的存储空,无论是表还是索引中每行中的null的列都需要额外的空间来标识
d)对null 的处理时候,只能采用is null或is not null,而不能采用=、in、<、<>、!=、not in这些操作符号。如:where name!=’shenjian’,如果存在name为null值的记录,查询结果就不会包含name为null值的记录

(15)禁止使用TEXT、BLOB类型
解读:会浪费更多的磁盘和内存空间,非必要的大量的大字段查询会淘汰掉热数据,导致内存命中率急剧降低,影响数据库性能

(16)禁止使用小数存储货币
解读:使用整数吧,小数容易导致钱对不上

(17)必须使用varchar(20)存储手机号
解读:
a)涉及到区号或者国家代号,可能出现+-()
b)手机号会去做数学运算么?
c)varchar可以支持模糊查询,例如:like“138%”

(18)禁止使用ENUM,可使用TINYINT代替
解读:
a)增加新的ENUM值要做DDL操作
b)ENUM的内部实际存储就是整数,你以为自己定义的是字符串?

五、索引设计规范
(19)单表索引建议控制在5个以内

(20)单索引字段数不允许超过5个
解读:字段超过5个时,实际已经起不到有效过滤数据的作用了

(21)禁止在更新十分频繁、区分度不高的属性上建立索引
解读:
a)更新会变更B+树,更新频繁的字段建立索引会大大降低数据库性能
b)“性别”这种区分度不大的属性,建立索引是没有什么意义的,不能有效过滤数据,性能与全表扫描类似

(22)建立组合索引,必须把区分度高的字段放在前面
解读:能够更加有效的过滤数据

六、SQL使用规范
(23)禁止使用SELECT *,只获取必要的字段,需要显示说明列属性
解读:
a)读取不需要的列会增加CPU、IO、NET消耗
b)不能有效的利用覆盖索引
c)使用SELECT *容易在增加或者删除字段后出现程序BUG

(24)禁止使用INSERT INTO t_xxx VALUES(xxx),必须显示指定插入的列属性
解读:容易在增加或者删除字段后出现程序BUG

(25)禁止使用属性隐式转换
解读:SELECT uid FROM t_user WHERE phone=13812345678 会导致全表扫描,而不能命中phone索引,猜猜为什么?(这个线上问题不止出现过一次)

(26)禁止在WHERE条件的属性上使用函数或者表达式
解读:SELECT uid FROM t_user WHERE from_unixtime(day)>='2017-02-15' 会导致全表扫描
正确的写法是:SELECT uid FROM t_user WHERE day>= unix_timestamp('2017-02-15 00:00:00')

(27)禁止负向查询,以及%开头的模糊查询
解读:
a)负向查询条件:NOT、!=、<>、!<、!>、NOT IN、NOT LIKE等,会导致全表扫描
b)%开头的模糊查询,会导致全表扫描

(28)禁止大表使用JOIN查询,禁止大表使用子查询
解读:会产生临时表,消耗较多内存与CPU,极大影响数据库性能

(29)禁止使用OR条件,必须改为IN查询
解读:旧版本Mysql的OR查询是不能命中索引的,即使能命中索引,为何要让数据库耗费更多的CPU帮助实施查询优化呢?

(30)应用程序必须捕获SQL异常,并有相应处理

总结:大数据量高并发的互联网业务,极大影响数据库性能的都不让用,不让用哟。
军规:必须使用UTF8字符集
和DBA负责人确认后,纠正为“新库默认使用utf8mb4字符集”。
这点感谢网友的提醒,utf8mb4是utf8的超集,emoji表情以及部分不常见汉字在utf8下会表现为乱码,故需要升级至utf8mb4。
默认使用这个字符集的原因是:“标准,万国码,无需转码,无乱码风险”,并不“节省空间”。

一个潜在坑:阿里云上RDS服务如果要从utf8升级为utf8mb4,需要重启实例,所以58到家并没有把所有的数据库升级成这个字符集,而是“新库默认使用utf8mb4字符集”。

自搭的Mysql可以完成在线转换,而不需要重启数据库实例。

军规:数据表、数据字段必须加入中文注释
这一点应该没有疑问。
不过也有朋友提出,加入注释会方便黑客,建议“注释写在文档里,文档和数据库同步更新”。这个建议根据经验来说是不太靠谱的:
(1)不能怕bug就不写代码,怕黑客就不写注释,对吧?
(2)文档同步更新也不太现实,还是把注释写好,代码可读性做好更可行,互联网公司的文档管理?呆过互联网公司的同学估计都清楚。

军规:禁止使用存储过程、视图、触发器、Event
军规:禁止使用外键,如果有外键完整性约束,需要应用程序控制
军规:禁止大表使用JOIN查询,禁止大表使用子查询
很多网友提出,这些军规不合理,完全做到不可能。

如原文所述,58到家数据库30条军规的背景是“并发量大、数据量大的互联网业务”,这类业务架构设计的重点往往是吞吐量,性能优先(和钱相关的少部分业务是一致性优先),对数据库性能影响较大的数据库特性较少使用。这类场景的架构方向是“解放数据库CPU,把复杂逻辑计算放到服务层”,服务层具备更好的扩展性,容易实现“增机器就扩充性能”,数据库擅长存储与索引,勿让数据库背负过重的任务。

关于这个点,再有较真的柳岩小编就不回复了哈,任何事情都没有百分之百,但58到家的数据库使用确实没有存储过程、视图、触发器、外键、用户自定义函数,针对业务特性设计架构,等单库吞吐量到了几千上万,就明白这些军规的重要性啦。

军规:只允许使用内网域名,而不是ip连接数据库
这一点应该也没有疑问。
不只是数据库,缓存(memcache、redis)的连接,服务(service)的连接都必须使用内网域名,机器迁移/平滑升级/运维管理…太多太多的好处,如果朋友你还是采用ip直连的,赶紧升级到内网域名吧。

军规:禁止使用小数存储国币
有朋友问存储前乘以100,取出后除以100是否可行,个人建议“尽量少的使用除法”。

曾经踩过这样的坑,100元分3天摊销,每天摊销100/3元,结果得到3个33.33。后来实施对账系统,始终有几分钱对不齐,郁闷了很久(不是几分钱的事,是业务方质疑的眼神让研发很不爽),最后发现是除法惹的祸。
解决方案:使用“分”作为单位,这样数据库里就是整数了。

案例:SELECT uid FROM t_user WHERE phone=13812345678 会导致全表扫描,而不能命中phone索引
这个坑大家没踩过么?
phone是varchar类型,SQL语句带入的是整形,故不会命中索引,加个引号就好了:
SELECT uid FROM t_user WHERE phone=’13812345678’

军规:禁止使用负向查询NOT、!=、<>、!<、!>、NOT IN、NOT LIKE等,会导致全表扫描
此军规争议比较大,部分网友反馈不这么做很多业务实现不了,稍微解释一下:
一般来说,WHERE过滤条件不会只带这么一个“负向查询条件”,还会有其他过滤条件,举个例子:查询沈剑已完成订单之外的订单(好拗口):
SELECT oid FROM t_order WHERE uid=123 AND status != 1;

订单表5000w数据,但uid=123就会迅速的将数据量过滤到很少的级别(uid建立了索引),此时再接上一个负向的查询条件就无所谓了,扫描的行数本身就会很少。

但如果要查询所有已完成订单之外的订单:
SELECT oid FROM t_order WHERE status != 1;
这就挂了,立马CPU100%,status索引会失效,负向查询导致全表扫描。

末了,除了《58到家数据库30条军规解读》中提到的基础规范、命名规范、表设计规范、字段设计规范、索引设计规范、SQL使用规范,还有一个行为规范的军规:
(31)禁止使用应用程序配置文件内的帐号手工访问线上数据库
(32)禁止非DBA对线上数据库进行写操作,修改线上数据需要提交工单,由DBA执行,提交的SQL语句必须经过测试
(33)分配非DBA以只读帐号,必须通过VPN+跳板机访问授权的从库
(34)开发、测试、线上环境隔离

为什么要制定行为规范的军规呢,大伙的公司是不是有这样的情况:
任何研发、测试都有连接线上数据库的帐号?
是不是经常有这类误操作?
(1)本来只想update一条记录,where条件搞错,update了全部的记录
(2)本来只想delete几行记录,结果删多了,四下无人,再insert回去
(3)以为drop的是测试库,结果把线上库drop掉了
(4)以为操作的是分库x,结果SecureCRT开窗口太多,操作成了分库y
(5)写错配置文件,压力测试压到线上库了,生成了N多脏数据

无数的事情,结果就是打电话给DBA,让他们帮忙擦屁股。

所谓的“业务灵活性”都是扯淡,为什么要有行为规范?不让你带刀,不是限制你,而是保护你的安全。要相信DBA是专业的,让专业的人干专业的事情。别把DBA看做你的对立面,多和他们沟通业务场景,沟通请求读写比,沟通访问模式,他们真的能帮助到你,这是我带DBA团队的一些感触。
http://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=2651959906&idx=1&sn=2cbdc66cfb5b53cf4327a1e0d18d9b4a&chksm=bd2d07be8a5a8ea86dc3c04eced3f411ee5ec207f73d317245e1fefea1628feb037ad71531bc&scene=21#wechat_redirect

python模拟登录微博

今天北京突然下起大雪,于是在朋友圈看了一场大雪,也听听这首薛之谦的《认真的雪》。

上周收到sf的礼物,缘由是2016第四季度的优秀贡献,晒个图。

微博是我每天刷的APP,目前我发的微博数接近7万,十足的微博控,今天就用python模拟登陆微博并抓取微博。

#encoding=utf-8
#代码来自https://github.com/ResolveWang/smart_login/blob/master/sina_login/sina_login_by_selenium.py

import time
from selenium import webdriver
import requests,re
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait

def login(account, passwd, url):
    driver = webdriver.PhantomJS()
    driver.maximize_window()
    # locator = (By.)
    driver.get(url)
    print(u'开始登陆')
    name_field = driver.find_element_by_id('loginname')
    name_field.clear()
    name_field.send_keys(account)
    password_field = driver.find_element_by_class_name('password').find_element_by_name('password')
    password_field.clear()
    password_field.send_keys(passwd)

    submit = driver.find_element_by_xpath('//*[@id="pl_login_form"]/div/div[3]/div[6]/a/span')
    submit.click()

    WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, 'WB_miniblog')))
   #源代码
    source = driver.page_source

    if is_login(source):
        print(u'登录成功')
    else:
        print(u'登录失败')

    sina_cookies = driver.get_cookies()
    driver.quit()
    return sina_cookies


def is_login(source):
    rs = re.search("CONFIG\['islogin'\]='(\d)'", source)
    if rs:
        return int(rs.group(1)) == 1
    else:
        return False
url = 'http://weibo.com/login.php'
sina_cookies = login('微博账号', '微博密码', url)
'''
[{u'domain': u'.weibo.com', u'name': u'ULV', u'expires': u'\u5468\u4e94, 16 \u4e
8c\u6708 2018 07:55:11 GMT', u'value': u'1487663711855:1:1:1:5113188393879.682.1
487663711825:', u'expiry': 1518767711, u'path': u'/', u'httponly': False, u'secu
re': False}, {u'domain': u'.weibo.com', u'name': u'SINAGLOBAL', u'expires': u'\u
5468\u4e94, 19 \u4e8c\u6708 2027 07:55:11 GMT', u'value': u'5113188393879.682.14
87663711825', u'expiry': 1803023711, u'path': u'/', u'httponly': False, u'secure
': False}, {u'domain': u'.weibo.com', u'name': u'Apache', u'value': u'5113188393
879.682.1487663711825', u'path': u'/', u'httponly': False, u'secure': False}, {u
'domain': u'.weibo.com', u'name': u'_s_tentry', u'value': u'-', u'path': u'/', u
'httponly': False, u'secure': False}, {u'domain': u'weibo.com', u'name': u'WBSto
rage', u'expires': u'\u5468\u4e8c, 21 \u4e8c\u6708 2017 08:05:08 GMT', u'value':
 u'02e13baf68409715|undefined', u'expiry': 1487664308, u'path': u'/', u'httponly
': False, u'secure': False}, {u'domain': u'weibo.com', u'name': u'YF-V5-G0', u'v
alue': u'c072c6ac12a0526ff9af4f0716396363', u'path': u'/', u'httponly': False, u
'secure': False}, {u'domain': u'weibo.com', u'name': u'YF-Ugrow-G0', u'value': u
'ad06784f6deda07eea88e095402e4243', u'path': u'/', u'httponly': False, u'secure'
: False}, {u'domain': u'.weibo.com', u'name': u'login_sid_t', u'value': u'b624ac
1977ade6017a108f669eb8c13d', u'path': u'/', u'httponly': False, u'secure': False
}]
'''
cookie = [item["name"] + "=" + item["value"] for item in sina_cookies]
cookiestr = '; '.join(item for item in cookie)
print cookiestr

# 验证cookie是否有效 获取主页的微博
redirect_url = 'http://www.weibo.com/aj/mblog/fsearch?ajwvr=6'
headers = {'cookie': cookiestr}
html = requests.get(redirect_url, headers=headers,verify=False).text
#open('weibo.txt','a+').write(html.encode('utf-8'))
#print(html.encode('utf-8'))

最后直接运行即可,如果没有安装python的话可以打包为exe文件

pip install pyinstaller
pyinstaller -F weibo.py
#当前目录下,dist文件下就有weibo.exe文件了,双击即可运行,但是我本机运行并木有效果,不知道为何,有方案的朋友麻烦跟我微博联系,感谢。

###再提及下selenium-python常用的功能

source = driver.page_source
soup = BeautifulSoup(source,'lxml')#获取源代码后就可以用bs来处理
#执行js代码
driver.execute_script("alert(/hello word/)")
#对网页截屏
driver.get('mafengwo.cn')
driver.save_screenshot('mafengwo.jpg')

更多请阅读官方文档

每篇文章推荐一个好工具:图片渲染,需要注册账号使用,直接上传图片选择模板即可。

Python使用wordcloud+pillow基于给定图像制作词云

Python使用wordcloud+pillow基于给定图像制作词云
董付国 Python小屋

import random
import string
import wordcloud
from PIL import Image

def show(s):
    # 创建wordcloud对象
    wc = wordcloud.WordCloud(
        r'C:\windows\fonts\simfang.ttf',
        width=500, height=400,
        background_color='white',
        font_step=3,
        random_state=False,
        prefer_horizontal=0.9)
    # 创建并显示词云
    t = wc.generate(s)
    t.to_image().save('t.png')
# 如果空间足够,就全部显示
# 如果词太多,就按频率显示,频率越高的词越大
show('hello world 董付国 董付国 董付国 董付国  abc fgh yhnbgfd 董付国 董付国 董付国 董付国 Python great Python Python')
def create(imgFile, s):
    im = Image.open(imgFile)
    w, h = im.size
    # 创建wordcloud对象
    wc = wordcloud.WordCloud(
        r'C:\windows\fonts\simfang.ttf',
        width=w, height=h,
        background_color='white',
        font_step=3,
        random_state=False,
        prefer_horizontal=0.9)
    # 创建并显示词云
    t = wc.generate(s)
    t = t.to_image()
    for w1 in range(w):
        for h1 in range(h):
            if im.getpixel((w1,h1))[:3] == (255,255,255):
                t.putpixel((w1,h1), (255,255,255))
    t.save('result.png')

chs = string.ascii_letters + string.digits + string.punctuation
s = [''.join((random.choice(chs) for i in range(8))) for j in range(650)]
s = ' '.join(s)
create('test1.png', s)

 二师兄 我才是二师兄
from os import path
from wordcloud import WordCloud
d = path.dirname(__file__)
# Read the whole text.
text = open(path.join(d, 'constitution.txt')).read()
# Generate a word cloud image
wordcloud = WordCloud().generate(text)
# Display the generated image:
# the matplotlib way:
import matplotlib.pyplot as plt
plt.imshow(wordcloud)
plt.axis("off")
# lower max_font_size
wordcloud = WordCloud(max_font_size=40).generate(text)
plt.figure()
plt.imshow(wordcloud)
plt.axis("off")
plt.show()

wget http://labfile.oss.aliyuncs.com/courses/756/DroidSansFallbackFull.ttf
font=os.path.join(os.path.dirname(__file__), "DroidSansFallbackFull.ttf")
wordcloud = WordCloud(font_path=font).generate(text)
wordcloud = WordCloud(font_path=font,max_font_size=40).generate(text)
wget http://labfile.oss.aliyuncs.com/courses/756/stormtrooper_mask.png


import numpy as np
from PIL import Image
from os import path
import matplotlib.pyplot as plt
import random
import os
from wordcloud import WordCloud, STOPWORDS
font=os.path.join(os.path.dirname(__file__), "DroidSansFallbackFull.ttf")
def grey_color_func(word, font_size, position, orientation, random_state=None, **kwargs):
    return "hsl(0, 0%%, %d%%)" % random.randint(60, 100)
d = path.dirname(__file__)
mask = np.array(Image.open(path.join(d, "stormtrooper_mask.png")))
text = open(u"santi.txt").read().decode('gbk')
# preprocessing the text a little bit
text = text.replace(u"程心说", u"程心")
text = text.replace(u"程心和", u"程心")
text = text.replace(u"程心问", u"程心")
# adding movie script specific stopwords
stopwords = set(STOPWORDS)
stopwords.add("int")
stopwords.add("ext")
wc = WordCloud(font_path=font,max_words=2000, mask=mask, stopwords=stopwords, margin=10,
               random_state=1).generate(text)
# store default colored image
default_colors = wc.to_array()
plt.title("Custom colors")
plt.imshow(wc.recolor(color_func=grey_color_func, random_state=3))
wc.to_file("a_new_hope.png")
plt.axis("off")
plt.figure()
plt.title(u"三体-词频统计")
plt.imshow(default_colors)
plt.axis("off")
plt.show()

老曹 喔家ArchiSelf

import matplotlib.pyplot as plt
from wordcloud import WordCloud
import jieba

text_from_file_with_apath = open('/Users/hecom/23tips.txt').read()

wordlist_after_jieba = jieba.cut(text_from_file_with_apath, cut_all = True)
wl_space_split = " ".join(wordlist_after_jieba)

my_wordcloud = WordCloud().generate(wl_space_split)

plt.imshow(my_wordcloud)
plt.axis("off")
plt.show()

直接进入wordcloud.py 的源码,找字体库相关的代码

FONT_PATH = os.environ.get("FONT_PATH", os.path.join(os.path.dirname(__file__), "DroidSansMono.ttf"))
wordcloud 默认使用了DroidSansMono.ttf 字体库,改一下换成一个支持中文的ttf 字库

from PIL import Image
import numpy as np
abel_mask = np.array(Image.open("/Users/hecom/chw.png"))
在构造函数的时候,将mask传递进去即可:

background_color="black", mask=abel_mask

redis接收php发送消息

使用的库是socket.io-php-emitter

#先按照redis
composer require "rase/socket.io-emitter:dev-master"

vi redis.php 

$redis = new \Redis(); // Using the Redis extension provided client
$redis->connect('127.0.0.1', '6379');
$emitter = new SocketIO\Emitter($redis,['key'=>'redis']);#默认为socket.io
$emitter->emit('redis', 'payload str');
$emitter->broadcast->to('redis')->emit('redis', 'such data');

php redis.php

#redis命令行执行 subscribe redis#emitter,接收消息:

1) "message"
2) "redis#emitter"
3) "\x92\x83\xa4type\x02\xa4data\x92\xa3lsp\xabpayload str\xa3nsp\xa1/\x82\xa5ro
oms\x90\xa5flags\x90"

//redis接收的为utf8编码,转换下即可

自己实现函数msgpack_pack https://github.com/onlinecity/msgpack-php

[更多参考发送Socket.io消息 ]
(http://www.tuicool.com/articles/26ny6r6)
本地搭建socket聊天服务

MySQL的Replace into 与Insert into on duplicate key update真正的不同之处

MySQL的Replace into 与Insert into on duplicate key update真正的不同之处

1 Replace into ...
1.1 录入原始数据
mysql> use test;
Database changed
mysql> 
 
mysql> CREATE TABLE t1 SELECT 1 AS a, 'c3' AS b, 'c2' AS c;
ALTER TABLE t1 CHANGE a a INT PRIMARY KEY AUTO_INCREMENT ;
Query OK, 1 row affected (0.03 sec)
Records: 1  Duplicates: 0  Warnings: 0

 

mysql> INSERT INTO t1 SELECT 2,'2', '3';
Query OK, 1 row affected (0.01 sec)
Records: 1  Duplicates: 0  Warnings: 0
mysql> insert into t1(b,c) select 'r2','r3';
Query OK, 1 row affected (0.08 sec)
Records: 1  Duplicates: 0  Warnings: 0

 

1.2 开始replace操作
mysql> REPLACE INTO t1(a,b) VALUES(2,'a') ;
Query OK, 2 rows affected (0.06 sec)



【】看到这里,replace,看到这里,a=2的记录中c字段是空串了,
所以当与key冲突时,replace覆盖相关字段,其它字段填充默认值,可以理解为删除重复key的记录,新插入一条记录,一个delete原有记录再insert的操作。

1.3 但是不知道对主键的auto_increment有无影响,接下来测试一下:

mysql> insert into t1(b,c) select 'r4','r5'; 
Query OK, 1 row affected (0.05 sec) 
Records: 1 Duplicates: 0 Warnings: 0 

mysql> select * from t1; 
+---+----+----+ 
| a | b | c | 
+---+----+----+ 
| 1 | c3 | c2 | 
| 2 | a | | 
| 3 | r2 | r3 | 
| 5 | r4 | r5 | 
+---+----+----+ 
4 rows in set (0.00 sec)


 

【】从这里可以看出,新的自增不是从4开始,而是从5开始,就表示一个repalce操作,主键中的auto_increment会累加1.
所以总结如下:
Replace:

当没有key时,replace相当于普通的insert.
当有key时,可以理解为删除重复key的记录,在保持key不变的情况下,delete原有记录,再insert新的记录,新纪录的值只会录入replace语句中字段的值,其余没有在replace语句中的字段,会自动填充默认值。

2.1 ok,再来看Insert into ..... on duplicate key update,

mysql> insert into t1(a,b) select '3','r5' on duplicate key update b='r5'; 
Query OK, 2 rows affected, 1 warning (0.19 sec) 
Records: 1 Duplicates: 1 Warnings: 1 

mysql> select * from t1; 
+---+----+----+ 
| a | b | c | 
+---+----+----+ 
| 1 | c3 | c2 | 
| 2 | a | | 
| 3 | r5 | r3 | 
| 5 | r4 | r5 | 
+---+----+----+ 
4 rows in set (0.00 sec)

【】a=5时候,原来的c值还在,这表示当key有时,只执行后面的udate操作语句.

2.2 再检查auto_increment情况。

mysql> insert into t1(a,b) select '3','r5' on duplicate key update b='r5'; 
Query OK, 2 rows affected, 1 warning (0.19 sec) 
Records: 1 Duplicates: 1 Warnings: 1 

mysql> select * from t1; 
+---+----+----+ 
| a | b | c | 
+---+----+----+ 
| 1 | c3 | c2 | 
| 2 | a | | 
| 3 | r5 | r3 | 
| 5 | r4 | r5 | 
+---+----+----+ 
4 rows in set (0.00 sec) 

mysql> insert into t1(b,c) select 'r6','r7'; 
Query OK, 1 row affected (0.19 sec) 
Records: 1 Duplicates: 0 Warnings: 0 

mysql> select * from t1; 
+---+----+----+ 
| a | b | c | 
+---+----+----+ 
| 1 | c3 | c2 | 
| 2 | a | | 
| 3 | r5 | r3 | 
| 5 | r4 | r5 | 
| 7 | r6 | r7 | 
+---+----+----+ 
5 rows in set (0.00 sec) 

【】从这里可以看出,新的自增不是从6开始,而是从7开始,就表示一个Insert .. on deplicate udate操作,主键中的auto_increment也跟replace一样累加1.

2.3 再看下当没有key的时候,insert .. on deplicate update的情况

mysql> insert into t1(a,b,c) select '33','r5','c3' on duplicate key update b='r5'; 
Query OK, 1 row affected, 1 warning (0.23 sec) 
Records: 1 Duplicates: 0 Warnings: 1 

mysql> select * from t1; 
+----+----+----+ 
| a | b | c | 
+----+----+----+ 
| 1 | c3 | c2 | 
| 2 | a | | 
| 3 | b5 | r3 | 
| 5 | r4 | r5 | 
| 7 | r6 | r7 | 
| 9 | s6 | s7 | 
| 33 | r5 | c3 | 
+----+----+----+ 
7 rows in set (0.00 sec)

看a=33的记录,ok,全部录入了。

3 总结从上面的测试结果看出,相同之处:
(1),没有key的时候,replace与insert .. on deplicate udpate相同。
(2),有key的时候,都保留主键值,并且auto_increment自动+1
不同之处:有key的时候,replace是delete老记录,而录入新的记录,所以原有的所有记录会被清除,这个时候,如果replace语句的字段不全的话,有些原有的比如例子中c字段的值会被自动填充为默认值。
      而insert .. deplicate update则只执行update标记之后的sql,从表象上来看相当于一个简单的update语句。
      但是实际上,根据我推测,如果是简单的update语句,auto_increment不会+1,应该也是先delete,再insert的操作,只是在insert的过程中保留除update后面字段以外的所有字段的值。

 所以两者的区别只有一个,insert .. on deplicate udpate保留了所有字段的旧值,再覆盖然后一起insert进去,而replace没有保留旧值,直接删除再insert新值。
 从底层执行效率上来讲,replace要比insert .. on deplicate update效率要高,但是在写replace的时候,字段要写全,防止老的字段数据被删除。

个人倾向与用Replace。
如果列a被定义为unique,并且值为1,则下列语句有同样的效果,也就是说一旦出入的记录中存在a=1的情况,直接更新c = c + 1,而不执行c = 3的操作。 insert into table(a, b, c) values (1, 2, 3) on duplicate key 
update c = c + 1;1 update table set c = c + 1 where a = 1; 
字段a被定义为UNIQUE,并且原数据库表table中已存在记录(2,2,9)(3,2,1),如果插入记录的a值与原有记录重复,则更新原有记录,否则插入新行: 
INSERT INTO TABLE (a,b,c) VALUES 
(1,2,3), 
(2,5,7), 
(3,3,6), 
(4,8,2) 
ON DUPLICATE KEY UPDATE b=VALUES(b); 


以上SQL语句的执行,发现(2,5,7)中的a与原有记录(2,2,9)发生唯一值冲突,则执行ON DUPLICATE KEY UPDATE,将原有记录(2,2,9)更新成(2,5,9),将(3,2,1)更新成(3,3,1),插入新记录(1,2,3)(4,8,2) 
mysql> INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6) 
-> ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b); 
本语句与以下两个语句作用相同: 

mysql> INSERT INTO table (a,b,c) VALUES (1,2,3) 
-> ON DUPLICATE KEY UPDATE c=3; 
mysql> INSERT INTO table (a,b,c) VALUES (4,5,6) 
-> ON DUPLICATE KEY UPDATE c=9; 
当您使用ON DUPLICATE KEY UPDATE时,DELAYED选项被忽略。 
INSERT INTO ipstats VALUES('192.168.0.1', 1) ON DUPLICATE KEY UPDATE clicks=clicks+1;
前提条件是这个表必须有一个唯一索引或主键 
总结如下:
1.如果表中不存在主键记录,replace和insert*update都与insert是一样的特点。
2. 果表中存在主键记录,replace相当于执行delete  insert两条操作,而insert*update的相当于执行if exist do update else do insert操作。因此,如果replace填充的字段不全,则会导致未被更新的字段都会修改为默认值,并且如果有自增id的话,自增id会变化为最新的 值(这样如果是以自增id为标志的话可能导致记录丢失);而insert*update只是更新部分字段,对于未被更新的字段不会变化(不会强制修改为默 认值)。
 多条记录操作:insert into t(a,b,c) values ('a1','b1','c1'),('a2','b2','c2')
on duplicate key update t.c=values(t.c) 
INSERT INTO table (id, user_id, token) VALUES (NULL, '2479031', '232') ON DUPLICATE KEY UPDATE user_id = VALUES(user_id), token = VALUES(token), online = VALUES(online)

以这个 sql 为例,其中 user_id 是唯一索引字段,如果 insert 的时候该 user_id 已经存在,那么就将触发更新而不是插入,此时相当于执行了:

update table set user_id = 2479031 token = 232 where user_id = 2479031

这就是唯一索引和 ON DUPLICATE KEY UPDATE 的用法。

前百度面试官告诉你怎样才能进入BAT研发部门!

如果要进去的,有下面几个方面肯定是要准备的:

1.水平先到位。

到位的意思是基本要会应该会的东西,比如,软件工程毕业的,不关你清华,北大,深大什么的,基础的算法,基础的编程能力,基础的对互联网技术的了解是要懂的。这些笔试,面试都会考核的重点,倒不是说你要有多牛,很多很牛的研发人才,到了我们这边,也会有各种原因不通过的,比如,我不喜欢那种以为自己什么都懂的技术人员,然后,一往深的技术底层问,就一点都答不上来,因为,在百度,基本都是你水平有多深,就会问多深,毕竟里面大牛多,不会难不倒你的,请放心^_^

另外,公司要的是可以一起工作的人,而不是牛人。这个很关键,有很多北邮的人可以进百度也是因为人好相处,技术什么的,在百度待几年也是业内大牛了,这我们并不担心人的成才性。

说说互联网这个行业BAT这类的顶级大公司基本面试都需要知道的一些内容吧,可以所为一个参考:

优秀的程序员应该具备两方面能力:

良好的程序设计能力:

掌握常用的数据结构和算法(例如链表,栈,堆,队列,排序和散列);

理解计算机科学的核心概念(例如计算机系统结构、操作系统、编译原理和计算机网络);

熟悉至少两门以上编程语言(例如C++,Java,C#,和Python);

专业的软件开发素养:

具备良好的编程实践,能够编写可测试(Testable),可扩展(Extensible),可维护(Maintainable)的代码;

把握客户需求,按时交付客户所需要的软件产品;

理解现代软件开发过程中的核心概念(例如面向对象程序设计,测试驱动开发,持续集成,和持续交付等等)。

和其它能力一样,程序设计能力和软件开发素养源自项目经验和书本知识。项目经验因人而异(来自不同领域的程序员,项目差异会很大);但书本知识是相通的——尤其是经典图书,它们都能够拓宽程序员的视野,提高程序员的成长速度。

2.面试时候表达的职业态度

职业态度很重要,程序员面程序员就不要犯低级的错误,比如,不知道的硬扯,藐视面试官的技术水平(很经常使用中级工程师面试高级工程师的),言语里面没有交流的成分

这个比技术水平更加重要,因为每一家的技术框架和水平都不一样,不可能google过来的工程师就可以直接修改百度的代码,不存在这种情况,还是需要很长的一个代码熟悉期的。所以,态度很重要,要尊重前人做成的贡献。

下面是总结的几点:

1、明确你的项目到底是做什么的,有哪些功能

2、明确你的项目的整体架构,在面试的时候能够清楚地画给面试官看并且清楚地指出从哪里调用到哪里、使用什么方式调用

3、明确你的模块在整个项目中所处的位置及作用

4、明确你的模块用到了哪些技术,更好一些的可以再了解一下整个项目用到了哪些技术

在你无法改变自己的工作年限、自己的不那么有说服力的项目经验的情况下(这一定是扣分项),可以通过这种方式来一定程度上地弥补并且增进面试官对你的好感度。

4.内推的机遇

这么说吧,我也是我朋友内推进百度的,我们身边也有很多是内推进来的。所以,我们一直都在做内推,也是对内推抱有希望。

可以这么说,如果网投简历,你的简历会被HR无情的通过各种理由拒绝的。比如,年龄不符,项目经历不符(HR根本不知道什么项目经历符合^_^),毕业学校不符,面试时间不符等等,甚至长相也可能是主要的考虑因素。

我们在给百度,阿里,腾讯内推人才的时候,也会得到这些真实的反馈。呵呵。

而且很多岗位,其实投了也没有用,因为岗位早下线了,根本不招人,所以,投的话浪费岗位投递数,这也是我们内推的时候可以解决的问题,只有知道HR哪些是急招的岗位,才可以有效投递。

另外,可以这么说,一线互联网公司其实里面有很多大专生的,这是内幕哈,大专生也进得去,那真的是机遇决定人生啊。

好了,总结下,进入BAT的研发部门,第一个重点,机遇,第二个重点,面试过程,第三个重点技术水平。https://zhuanlan.zhihu.com/p/26054942

python send email

今天一同事离职了,记得网上有句话是说:
所以我为什么还留在北京呢

touch email.py

#encoding=utf-8
 
import smtplib
import time
 
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
 
#收件人列表
mail_namelist = ["[email protected]","[email protected]"]
 
#发送方信息
mail_user = "[email protected]"
mail_pass = "xxxxx"
 
#邮件标题
mail_subject = u"python 发送测试文件"
#邮件文本内容
mail_context = "email test"
 
 
 
def send_main():
        msg = MIMEMultipart()
        msg['From'] = mail_user
        msg['To'] = ";".join(mail_namelist)
        msg['Subject'] = mail_subject
        #添加邮件内容
        txt = MIMEText(mail_context)
        msg.attach(txt)
 
 
        #发送邮件   
 
        smtp = smtplib.SMTP()
        smtp.connect('smtp.163.com:25')
        smtp.login(mail_user, mail_pass)
 
        smtp.sendmail(mail_user, mail_namelist, msg.as_string())
 
        smtp.quit()
        print (u'邮件发送成功')
 
if __name__ == '__main__':
        send_main()

ImportError: No module named mime.text

mv email.py send_email.py

rm -f email.pyc

python send_email.py

api

def send_simple_message():
    return requests.post(
        "https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages",
        auth=("api", "YOUR_API_KEY"),
        data={"from": "Excited User <mailgun@YOUR_DOMAIN_NAME>",
              "to": ["[email protected]", "YOU@YOUR_DOMAIN_NAME"],
              "subject": "Hello",
              "text": "Testing some Mailgun awesomness!"})

开启163邮箱的SMTP,不然发不了http://www.runoob.com/python/python-email.html

子域名挖掘器 看看腾讯域名列表
Scanners-Box是一个集合github平台上的安全行业从业人员自研开源扫描器的仓库,包括子域名枚举、数据库漏洞扫描、弱口令或信息泄漏扫描、端口扫描、指纹识别以及其他大型扫描器或模块化扫描器;
pip install dnspython
python subDomainsBrute.py qq.com
https://github.com/We5ter/Scanners-Box/blob/master/README_CN.md

怎样提升一个人的文笔?

作者:刘凯风风风
链接:https://www.zhihu.com/question/19591218/answer/123798022
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

1.词汇
悲伤,悲恸,凄然,凄凉。
哀而不伤 哀毁骨立 黯然销魂 悲不自胜 悲欢离合 悲喜交集 触目恸心 怆地呼天 摧心剖肝悼心失图 风木含悲 呼天抢地 狐死兔泣 狐兔之悲 乐极生悲 美人迟暮 剖肝泣血 凄入肝脾泣下沾襟 穷途之哭

这些都是描写悲伤的词语。如果你文章里面写悲伤的形容词全部用悲伤。读者看起来会更悲伤。

另外不要写佶屈聱牙的字词。

少用生僻字,不要卖弄。读者如果一章里面有好几个不知所云的字词的话,会放弃阅读的。

2.句子。

后面来重点讲这个!!!

3.阅读
许多人觉得,古龙的创作风格很易学。因为从金庸书里可以读出他喜欢《水浒》、熟稔《红楼》,他对希腊戏剧、莎士比亚、大仲马、《三言二拍》《史记》、诗词歌赋等无数东西,都烂熟于心。而古龙,乍看之下,只能说,对诗挺熟。尤其体现在人物名字上,比如白玉京、叶孤城。
但稍微看看古龙的随笔或评述,就会发现,他对福楼拜、海明威、杰克·伦敦这些19世纪到20世纪初的大人物,了如指掌;尤其是后两位,他许多作品里会出现一些类似的手法。   
所以,世上那么多人觉得古龙易学,而终于世上也只有一个古龙的原因,就是:这个疑似好酒散懒的浪子,所读的书籍、所师法的人物,比我们想象中多得多。许多想试笔的,只看了几册古龙,就仿着他路数写,自然画虎不成反类犬。说到底,终是不读书之过。   
被误解的小说家,不只古龙一个。我第一次知道巴尔加斯·略萨,是通过莫言的《红高粱》,作者曾在自注中提了一句;而王小波作品里零星出现的名字,比如莫迪阿诺、马尔库塞、杜拉斯、昆德拉、卡尔维诺们,就够我一一收罗了。  
 许多人很容易被糊弄,被莫言小说里反复出现的高密农村,或是王小波笔下的王二、小孙这些没谱青年欺骗,以为这些小说家不过如此,与他们笔下的农民渔人一样,都是不学无术之辈,而忽视了他们都有文艺评论家的敏感和天分。这伙人的阅读量和读书见识,远超我们的想象。   傅雷先生除了翻译和给儿子写信,还写些别的。比如译完《贝多芬传》,他自己私人给补了贝多芬作品全赏析;不论其艺术价值,文字本身就辞气慷慨,很是动人。他22岁就写了很见功力的《塞尚评传》。35岁他能使文言文写一个《黄宾虹问答集》,兼谈**古来画艺。49岁他自己在一个文章里认为,自己学问修养不足,终究是:哎,读书太少了!   
我们绝大多数人都低估了伟大人物的阅读量。我们绝大多数凡人,独自感叹天赋不足、创造不够什么的,其实都是幻觉。问题归结到最后,无非就是一懒、二拖、三不肯读书,如此而已。(据《记者观察》)
多谢评论区 @白诗诗 的补充,这段话的作者是张佳玮。

多读多写,文笔自然就上去了。另外模仿名家的写法是提升文笔的有效方式。
---------------------------------------------敲黑板 严肃脸 重点来了!!!- - ---------------------------------------
我挑几个重点来讲一下吧。

1.长短句的混合运用。

随便写一个下雪的场景吧。

长句:
三九四九,冻死猪狗。此时已是寒冬,冷风如刀呼呼地刮着,窗外甚至难以见到一个人影,除了雪还是雪,一天中只有偶尔的车马驶过,显得格外寂寞清寒。

短句:
雪下得更急了。

可以感受到长句相比于短句在大部分情况下,在气氛渲染上更显出优势,而短句呢,读起来更清晰明了。

那么我可以把两个句子混合运用。

三九四九,冻死猪狗。此时已是寒冬,冷风如刀呼呼地刮着,窗外甚至难以见到一个人影,除了雪还是雪,一天中只有偶尔的车马驶过,显得格外寂寞清寒。
雪下得更急了。

有木有更带感!!!

再举个名家的例子。沈从文大师在边城中的收尾就明显运用了这种优势。
到了冬天,那个圮坍了的白塔,又重新修好了。可是那个在月下唱歌,使翠翠在睡梦里为歌声把灵魂轻轻浮起的年青人,还不曾回到茶峒来。
…………

这个人也许永远不回来了,也许"明天"回来!

通篇7万余字的《边城》仅仅用一句话就收住了,这就是短句的清晰明快,让人觉得余韵不尽。

2.韵律

最著名无异于贾谊的《过秦论》的这段话!

及至始皇,奋六世之余烈,振长策而御宇内,吞二周而亡诸侯,履至尊而制六合,执敲扑而鞭笞天下,威振四海。南取百越之地,以为桂林、象郡,百越之君,俛首系颈,委命下吏。乃使蒙恬北筑长城而守藩篱,却匈奴七百余里;胡人不敢南下而牧马,士不敢弯弓而报怨。

于是废先王之道,焚百家之言,以愚黔首;隳名城,杀豪杰;收天下之兵,聚之咸阳,销锋镝,铸以为金人十二,以弱天下之民。

来读一遍。读起来爽不爽啊?是不是酷炫狂霸拽啊?告诉我!Exciting!

这就是韵律的魅力!

其实在古龙的小说里,可以随意地找到这样的例子。
冷风如刀,以大地为砧板,视众生为鱼肉。

万里飞雪,将苍穹作洪炉,溶万物为白银。
再比如
爱似流星,与谁共,天涯一轮明月?
寂寞如雪,无人解,边城几度风情。
3.文笔其实可以更幽默一点。

比如写一个小孩斗嘴的场景。

“羞不羞啊,这么大男孩了还哭?”

OK,上面这个句子很一般。

可以改为小时候斗嘴时的顺口溜啊。

”羞羞羞,小花狗,眼圈儿红,要流油。
羞羞羞,小杨过,哇啦啦哭,像小狗。“
(居然押韵.......)

微信聊天机器人(功能增强版)

import itchat
import time
import requests
import hashlib


# 图灵机器人
def get_response(msg, FromUserName):
    api_url = 'http://www.tuling123.com/openapi/api'
    apikey = '**************************'
    # data中有userd才能实现上下文一致的聊天效果。
    hash = hashlib.md5()
    userid = hash.update(FromUserName.encode('utf-8'))
    data = {'key': apikey,
            'info': msg,
            'userid': userid
            }
    try:
        req = requests.post(api_url, data=data).json()
        return req.get('text')
    except:
        return



itchat.auto_login()


#适合 个人间聊天
@itchat.msg_register(['Text', 'Map', 'Card', 'Note', 'Sharing'])
def Tuling_robot(msg):
    respones = get_response(msg['Content'], msg['FromUserName'])
    itchat.send(respones, msg['FromUserName'])

#返回图片,录音,视频
@itchat.msg_register(['Picture', 'Recording', 'Attachment', 'Video'])
def download_files(msg):
    fileDir = '%s%s'%(msg['Type'], int(time.time()))
    msg['Text'](fileDir)
    itchat.send('%s received'%msg['Type'], msg['FromUserName'])
    itchat.send('@%s@%s'%('img' if msg['Type'] == 'Picture' else 'fil', fileDir), msg['FromUserName'])

#自动同意陌生人好友申请
@itchat.msg_register('Friends')
def add_friend(msg):
    itchat.add_friend(**msg['Text'])
    itchat.send_msg('Nice to meet you!', msg['RecommendInfo']['UserName'])


Message = '整点新闻:如何留住制造业人才 董明珠霸气送房'
GroupsContainer = set()
"""
#整点发新闻
检测时间,到时间节点就触发程序执行群发消息的任务。本例子中是八点整触发程序执行群内新闻播报
通过监控群聊,收集微信群的UserName并保存起来,方便后续群发。
"""
@itchat.msg_register('Text', isGroupChat = False) #isGroupChat为True,机器人可以回复群内消息,为False不能回复群内消息
def broadcast(msg):
    response = get_response(msg['Content'], msg['FromUserName'])
    itchat.send(response, msg['FromUserName'])
    groups_json_list = itchat.get_chatrooms()
    groupsName = [nm.get('UserName') for nm in groups_json_list]
    groupsName = set(groupsName)
    for grpn in groupsName:
        GroupsContainer.add(grpn)
    while True:
        current_time = time.localtime(time.time())
        if ((current_time.tm_hour == 8) and (current_time.tm_min == 0) and (current_time.tm_sec == 0)):
            for grn in GroupsContainer:
                itchat.send(Message, grn)


itchat.run()

js code

2字段和排序
var arr = [

{
  "money": "30704.00",
  "ds": "26",
  "bp": "50"
},
{
  "money": "8749.00",
  "ds": "0",
  "bp": "33"
},
{
  "money": "6213.00",
  "ds": "3",
  "bp": "46"
}
]
function sort(list){
  return list.sort(function(i1, i2){
    return -((i1.ds+i1.dp) - (i2.ds+i2.dp));
  })
}
JSON.stringify(arr)
[{"money":"30704.00","ds":"26","bp":"50"},{"money":"8749.00","ds":"0","bp":"33"},{"money":"6213.00","ds":"3","bp":"46"}]
链式调用
Number.prototype.add=function(num){return Number(this + num)}
Number(10).add(20).add(30)
60
10..add(20).add(30)
60
屏蔽页面上所有a标签的跳转

document.querySelectorAll('a').forEach(a => {a.onclick=(e) => {e.preventDefault()}})
js数组扁平化,可以降维多层
steamroller([1, [2], [3, [[4]]]]);
function steamroller(arr) {
    var newArr = [];

    for (var i = 0; i < arr.length; i++) {
        if (Array.isArray(arr[i])) {
            // 如果是数组,调用(递归)steamroller 将其扁平化
            // 然后再 push 到 newArr 中
            newArr.push.apply(newArr, steamroller(arr[i]));
        } else {
            // 不是数组直接 push 到 newArr 中
            newArr.push(arr[i]);
        }
    }
    return newArr;
}

var source = [1, [2], [3, [[4]]]];
var r = steamroller(source);
console.log(source);
console.log(r); [1, 2, 3, 4]
将输入的数字转化为二进制字符串:

decimalToBinary(3); // 11
decimalToBinary(8); // 1000
decimalToBinary(1000); // 1111101000

function decimalToBinary(digit) {
  if(digit >= 1) {
    // If digit is not divisible by 2 then recursively return proceeding
    // binary of the digit minus 1, 1 is added for the leftover 1 digit
    if (digit % 2) {
      return decimalToBinary((digit - 1) / 2) + 1;
    } else {
      // Recursively return proceeding binary digits
      return decimalToBinary(digit / 2) + 0;
    }
  } else {
    // Exit condition
    return '';
  }
}

判断某个字符串是否为回文字符串,譬如racecar与race car都是回文字符串:

isPalindrome("racecar"); // true
isPalindrome("race Car"); // true

function isPalindrome(word) {
  // Replace all non-letter chars with "" and change to lowercase
  var lettersOnly = word.toLowerCase().replace(/\s/g, "");

  // Compare the string with the reversed version of the string
  return lettersOnly === lettersOnly.split("").reverse().join("");
}
数组去重

function unique_keys(array) {
  var values = {};

  for(var i = 0; i < array.length; i++) {
    values[array[i]] = null;
  }

  return Object.keys(values);
}

function unique_reduce(array) {
  return array.reduce(function(ret, cur) {
    if(ret.indexOf(cur) === -1) ret.push(cur);
    return ret;
  }, []);
}


// test
var array = [1,2,3,4,5,6,23,1,4];

console.log(unique_keys(array), unique_reduce(array));
["1", "2", "3", "4", "5", "6", "23"] [1, 2, 3, 4, 5, 6, 23]
js 取对象属性的个数

for(pro in this){ if(this.hasOwnProperty(pro)) count++; }
emoji 是合法的 unicode 字符,连域名都可以注册为 emoji 组成的:
https://❤️❤️❤️.ws(复制到地址栏访问)
// 输入时删除emoji字符
$("input").on("input", function(){
    this.value = this.value.replace(/\ud83d[\udc00-\ude4f\ude80-\udfff]/g, '');
});

"i am emoji 👨‍👩‍👧‍👦".replace(/\ud83d[\udc00-\ude4f\ude80-\udfff]/g, '');
// "i am emoji "
标签的id中存在#

用双反斜杠转义,即对于id="foo#bar",用$('#foo\#bar')
关于.toFixed()的重写

Number.prototype.toFixed = function (exponent) {
    return parseInt(this * Math.pow(10, exponent) + (this >= 0 ? 0.5 : -0.5)) / Math.pow(10, exponent);
}



分转换为元

//分转换为元
var fen_yuan = function(val){
    //toFixed来确定保留两位小数  因为除以100 所以都会整除
    var str = (val/100).toFixed(2) + '';
    var intSum = str.substring(0,str.indexOf(".")).replace( /\B(?=(?:\d{3})+$)/g, ',' );
    //取到整数部分
    var dot = str.substring(str.length,str.indexOf("."))
    //取到小数部分
    var ret = intSum + dot;
    return ret;
}
数组remove元素

Array.prototype.remove = function(num){
    var l = this.length;
    for(var i=0;i<this.length;i++){
        if(this[i]==num){
            this.splice(i,1)
        }
    }
    if(l==this.length){
        console.log("没有删除任何元素")
    }
}

var arr = new Array("111111",8,11,4,5);

arr.remove("111111")
console.log(arr);
JS 数组的 push  concat 区别

var a = [1,2,3,4];
a.push(5);  //a 现在是1,2,3,4,5
var a = [1,2,3,4];
var b = [5,6];
var c = a.concat(b); // a,b 数组都不变,c变成了1,2,3,4,5,6
//这里要注意是 c 变成了合并数组 不是 b , 所以这和push是有区别的
var arr1= [1,2,3];  
arr1.push.apply(arr1,[4,5]);  // 这时 arr1 就是 [1,2,3,4,5]

为什么毕业三四年之后,同学之间的差距会这么大?

作者:朕少秋
链接:https://www.zhihu.com/question/33971854/answer/141731304
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

大学毕业有些年头了。前几年磕磕碰碰,一直不太顺利,到今年终于还算是做出了点成绩,和朋友一起开了家公司,目前已经拉到投资,虽然辛苦,但付出也都得到了回报。

前些天和大学室友闲聊,有聊到其他同学的境遇,发现原本各方面都差不多的大家,现在已经有了很大的差距。其中有些人非常聪明,我一直觉得是个人才,但至今庸庸碌碌,无所作为,看着让人可惜。

为什么毕业几年之后,同学之间的差距会这么大?

这里,我想结合我过往的经历,来跟大家聊一聊。也许并不正确,但希望能给你点启发。

1, 你的价值,体现在你的下一份薪水,而不是现在

大家看到这个小标题也许觉得有点奇怪,什么叫做“你的价值,体现在你的下一份薪水,而不是现在。”?

我相信很多有一定职场经验的朋友都有过这种想法:

老板只给我这么一点薪水,但却要求我像合伙人一样尽心尽责,拜托,我只是个打工的,拿多少薪水做多少事,如果你给我更多薪水,我二话不说回公司加班。

这没错,有些时候老板确实很抠,舍不得花钱,但又希望你能为他着想,员工难免会心生抱怨。

但是,这种想法,对你的个人成长,是非常不利的。

我有个朋友,他的公司去年融到了几千万,比起我们的草台班子,那是强太多了。有一次他要招人,我就帮他推了下招聘启事,然后就闲聊起来。我说,我最近也招人,但一直没招到合适的,感觉招人真不是一件简单的事情。

他也开始吐槽,说现在的很多年轻人,根本就不知道什么是重要的,什么是真正的机会。他说,如果一个员工肯把公司当成他自己的公司一样尽心尽责,我才会把他当成我信得过的人,我才会教他真正的东西,才会把资源花在他身上,培养他。但招来的年轻人,一个个都抱怨干活太累,薪水低,做事效率很差,也不负责,这让我怎么去带?我给这种人高薪干嘛?

这就是一个老板的真实想法,也是我现在的想法。

你要知道,在职场上,决定一个人能否成长的最关键因素,就是你的老板肯不肯带你,肯不肯给你资源让你发展。

这很残酷,但这就是事实。也许你很有天赋,但老板不重用你,你接触的都是一些非常基础的业务,你对所处行业真正核心的东西一无所知。

而如果你想快速成长,就必须把公司的事当成你自己的事去做。你所做的一切,你的老板都会看在眼里,在关键的时候,他就会给你锻炼的机会。

尤其是在初创企业,你可能面临的挑战和机遇也更多,你能掌握的资源也更多,就越需要我们以一种合伙人的心态去打工。

把公司看成是你自己的,你的老板才会把你看成自己人。

至于薪水,确实很重要,“抠”是老板的通病,但你要明白,你此刻工作的意义,绝不是手头的那点薪水,而是你的未来。

当你经过反复的磨炼,终于成长为能独当一面的人才的时候,当你能创造出远超你薪水的价值之后,不仅你的老板愿意给你涨薪,外面的企业也都愿意给你一份高薪的offer,因为,你值这个价。

所以,永远不要去抱怨自己此刻的薪水,而消极怠工。你要努力工作,让自己的价值变得更高,而这一切,都将在下一份薪水中体现。

2, 没有稳定的工作,只有稳定的能力

当年毕业的时候,有些大学同学追求“稳定”,回到家乡,从事一些公务员、教师、银行之类工作,追求一个铁饭碗。这种工作往往还很难获得,有时候不仅需要花钱,还需要托人找关系。

但如今看来,这些人都仿佛陷入了泥潭。早早的结婚生子,工作日复一日看不到头,赚的远远不如那些大城市打拼的同学,福利也不如当初设想的那样好。但自己又舍不得辞职出去闯荡,而且就算出去也不知道能干什么。

我早就认为,这个世界上没有“稳定”的工作。几十年前,你跟人说国企员工会面临大规模下岗,他们会说你是疯子。结果90年代的下岗潮给这些人上了一课。

这个世界的本质就是变化的,没有人能预测未来,想依靠一份工作一辈子衣食无忧,这是一种愚蠢和不切实际的想法。

在过去,机会不多,选择稳定也许比你出去闯荡的收益更高。但现在,每几年一个风口,几乎处处是机遇。淘宝刚出来的时候,如果你选择去开一家淘宝店,现在也许就成了千万富翁。微博刚出来的时候,如果你去好好经营一个微博,现在也许就是几千万粉的草根大号,广告接到手软。

这个时代是在快速发展的,如果你只追求“稳定”,那意味着你的成长速度是落后于这个时代的,你唯一的命运就是被无情抛弃。

而在这个变化的世界里,我们只有不断提升自己的能力,才能从容应对未来的变化。

所以,没有“稳定”的工作,只有“稳定”的能力。

3, 与优秀的人为伍

我曾经认识一个小姑娘,她想做公众号,但很多东西不懂,就来向我请教。我简单提了一些,后来也没管了。

后来,我无意中在朋友圈里看到她出现在了其他自媒体人底下的评论区中。这就很有意思了,她加了很多自媒体大号,非常努力的想去融入这个圈子。

通过投稿大号得到推荐,以及互推之类的方法,后来,她的号慢慢有了起色,几万粉,十几万粉,终于,也成了大号。但是,依然经常可以听到她出现在哪个圈子的聚会中,几乎每个人都被她加了微信。再后来,甚至某些明星的私人聚会中,她也出现了。

当然,会有人恶意揣测她,觉得肯定有些不可告人的交易。也有人觉得,这么功利,很让人不舒服。

但是,我却很佩服她。说真的,我很少见到有人能像她这样为了成功,而去努力的拓展圈子,去结识优秀的人。

这是一种很稀缺的品质。

而太多原本有天赋的人,却因为害羞,不敢去主动请教或搭讪,而失去了很多机会。

的确,厚着脸皮去主动接近那些有资源,有能力,有地位的人,很让人难为情,有时候也觉得,对方肯定不会搭理自己。

但是,在那些人眼里,你的主动接近和求教,很可能并不会引起反感,也有可能真的给你一些帮助。

这些帮助在他们看来也许只是举手之劳,但对你来说,就是改变命运的一次机会。

就拿我来说,如果我的员工问我一些业务的事情,我并不会反感,而是会赞赏他的这种积极主动,并且耐心的给他讲解。而且,如果员工有什么新奇的想法,只要跟我说,我只要评估是可以做的,就会给他资源,让他放手去试。

所以,如果你想快速提升自己,不妨学着脸皮厚一点,去找那些优秀的人,可以给你指导,给你机会的人(在保护好自己的前提下,尤其是女生),态度诚恳地请教,甚至是融入他们的圈子。

机会,就一定会到来。

成长不是一件舒服的事情,尤其是快速成长,意味着不断突破自己,你将会面临无数考验,会跌倒,会失败,会被嘲讽,会努力了也没回报。

这一切我都经历过,但也正是这些,让我得到了蜕变。

我希望你也能在新的一年,努力突破自己的边界,走出“舒适区”,去迎接一些风浪的洗礼,跌倒了,也不要放弃,既然选择了这条路,就要明白再也没有说走就走的旅行,也没有惬意的下午茶,甚至可能连睡眠都是奢侈。

但是,你会越来越强大,而那些摔倒过后的疤痕,也会成为你胸前闪耀的勋章。更关键的是,多年以后,你不会因虚度青春而悔恨。

加油吧,少年。

应聘互联网公司的简历应该是怎么样的

作者:克里斯蒂娜酱
链接:https://www.zhihu.com/question/23631182/answer/50124568
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

某小猎来尝试回答这个问题,还请各位大牛多多指教。

我是不太同意高票答案的一些观点的。那或许看上去很美很优雅,但并不是HR筛简历的真实情况。很多大学生或是年轻人总是会想着怎么样写好简历,字体怎么好看点?格式怎么好看点?排版怎么好看点?而作为一名每天要看上百份简历的人来说,我不得不和你们说一句:
然而这并没有什么卵用。
我们有一项训练是如何在13秒内甄别一份简历是否合适,我算是看简历看得比较认真的,也不会多于30秒,实在纠结的,也不会纠结多余1分钟。而这1分钟内,我真心不会考虑你的格式漂不漂亮。尤其是现在绝大多数都是网站录入式简历了,大家的排版都是一样的。什么,你说放在附件里的那个?对不起,如果我不是怀疑网站录入时信息没保存完整,附件里的那个我根本不会点开。
如果一定要我评价一份电子版简历的排版,那我唯一的要求是简洁大方,标点和分段正确,整篇简历除照片外不多于2种颜色,能让人看明白,不乱,在我这儿就过关了。至于有些HR非崇尚宋体贬低微软雅黑(我还见过专门喜欢微软雅黑的HR,不过人家也不会因为你用宋体就把你毙了),喜欢PDF贬损word(一个技术大牛因为用word你就把人毙了试试,老板分分钟pia飞你),这在我长期服务的两家世界500强公司都没有出现过这种情况。而那些一会儿一个图一会儿一个表的简历,那只是外行看着爽,我们看起来真心很累!

因此不要过分看重简历的格式,更要注重充实简历的内容。如果你肚里没货但企图蒙混过关,那我真的帮不了你。但如果你肚里有货倒不出来,那我发表一点我个人的浅见,希望能对你有所帮助。

1、所有基本信息详尽如实。
基本信息分为三类:
1)学历背景:毕业院校、所学专业、入学和毕业年份、是否为统招统分,这四个信息一个都不能少。如果是本硕的学历,请不要漏写本科学历情况(很多人本科不好就不写了,拜托,这欲盖弥彰啊),同时注明硕士是全职还是在职的。
2)工作背景:就职公司、所任职位、起止年月、所在部门、手下人数、汇报对象。这些都是我们会考察的对象。
3)语言水平:就一点:会不会说英文!!!会不会说英文!!!能不能流利地说英文!!!!
如果会一点二外是加分的,但二外也无法弥补你英文不流利,就是酱。
基本上在13秒内我们要获取到的信息就是以上这些,这些是我们进行人员筛选的硬性条件,如果硬性条件不达标,软性再好也是没用哒。同时这些也应该是一份简历大体的框架。能做到以上内容之后,我们再来说说怎样润色简历使人眼前一亮。

2、有非常详尽的工作内容与工作业绩。
由于我自己是做互联网行业的,我就拿互联网最基本的程序员简历举例了哈。
以下是我从简历库里随便扒的:
1、java后台开发
2、部分前台页面编写
这在我眼里叫啥也没写。
1、作为一个java程序员,后台模块主要职责有:后台代码的编写、包括数据库操作、sql语句优化、wsdl技术调用接口、生成接口、编写接口文档、绘制流程图等
2、前台页面的实现。我主要是负责后台模块的,但是本身就会前台的一些技术,工作期间也学习了html5和css3的技术,所以在工作中也会帮助些实现前台的页面
3、git项目的管理。包括远程git仓库项目的创建与删除等、gitolite中项目操作权限的设置等。
这就好多了不是。

  1. 参与设计Oracle的企业管理系统(ERP), 涉及到财务等模块的开发,熟练使用JAVA以及框架等技术,以及Oracle数据库PL/SQL。

  2. 研究并使用大数据相关的技术用于解决海量日志的分析,将数据存储到hadoop平台,然后将分析结果导入到Oracle数据库,通过Spring框架将结果进行展示。熟悉hadoop生态圈的各种开源技术如hdfs, MapReduce, Hive, Pig, HBase, 等。熟练使用Java语言编程和Linux脚本语言。
    同学,我感觉你很吊嘛。

如果你是个写Java的,我不仅想知道你会不会写Java,我还想知道你是怎么写的,在什么样的平台上?运用了哪些框架?相关配套技术有哪些?数据库有哪些?到底写了个什么东西?为谁写的?是给公司内部使用还是做甲方的项目?是负责架构设计还是模块开发还是后期的bug调试?除了Java还会别的么?我对你了解地越多,我就越能判断出你是不是适合应聘的职位,这对我们后期的沟通就越有效。

3、一定要有项目经历。
这是很多人忽略的地方。很多人觉得我只要把工作经历填写完整即可,是不用填写项目经历的。这是大错特错的!BAT中的某HR曾告诉过我:对于非高端职位的候选人,没有项目经历简历直接pass,因为他们不知道你究竟都干了些什么。
项目经历的意义在于,除了大家极其相似的工作经历,项目经历给了那些真正表现优秀的候选人一个很好地展现自我的机会。
你做过什么样的项目?给哪家公司做的?多大的体量?最终使用人群是多少?
你在项目中的角色是什么?是参与者还是组织者还是负责人?是负责前期客户需求沟通还是后期项目交付?达到了什么样的结果?客户对你的评价是什么?有提前完成项目的经历么?
这个项目给你带来的经验是什么?是否能够积累一定的行业资源?
这只是我们从一个项目中就能分析出来的信息。
而多个项目组合起来来看,我们就能清晰地感知到候选人的主要客户主要base在哪些行业或是领域?都是什么样级别的客户?而他对话的人在甲方又是什么样level的?
这些,对于后期的沟通是一样重要的。所以你可以不写得这么详细(要不面试就没的问啦),但一定要写项目经历!

4、整体的职业经历要具有连贯性。
这个严格来说不是写简历的技巧,而是职业发展规划要做的工作。但这些最终还是要反映到简历上。
很简单,如果你做了15年的研发,我就默认为你的下一份工作还基本上应该是研发。如果你做了3年研发,然后转为架构,3年之后又转为售前,过几年又转为MKT,这是一个越来越向前端靠近的发展路径,那么我默认为你的下一份工作职责还是应该在销售、市场、售前这几个范畴。但如果你做了几年研发,然后又跑去做交付,紧接着干了售前,过两年又变成项目经理,不好意思,我无法判断你的之后想做什么,而这样的简历我也很难推荐给公司。
因此各位一定要在换工作前对自己的职业发展规划有一个大体的认知,知道自己适合做什么,想做什么,怎么样能够达到,而不要仅仅因为工资上几千块的涨幅而盲目的跳槽,这牺牲的是你以后的发展机会!
有的人问那我做了15年的研发,我现在想干的别的了,怎么办呢?我的答案是寻求内部转岗的机会。一般对于绩效好的员工,公司都会给予一些转岗的机会或政策,或者你可以直接和你现在的上级领导来商谈,告诉他你的想法,看看他是否能够帮助你。在新职位上再做1-2年,再看新机会就不会有困难,否则外部公司不会花钱冒风险让一个新手来尝试不同的职责,尤其是年龄偏大的,30岁之下的是可以考虑的。

5、有一个清晰的自我评价和求职意向。
自我评价中”工作努力,与人为善,积极沟通“这样的评价请不要占主要部分,没有人会看的。我们想看的是精通XXXX,熟悉XXXX,了解XXXX,对XXXX在XXXX环境下的XXXX有深入的认识。说白了,就是对你自己技能的一个总结。
很简单,你说你能做,你不一定能做;你说你做不了,你肯定做不了。
至于爱好,你喜欢踢球还是游泳,喜欢看书还是听音乐,我们真的不在乎,我们想看到的是”逛技术论坛,读《Java基础入门》“(我编的)。
而至于求职意向,请说明你目前的兴趣点在哪里,想找个什么样公司的什么样的职位机会,为什么会应聘现在这个岗位,我们会很开心哦~

最后,说个小tips:请将简历名称命名为“应聘职位-姓名-毕业学校-现处公司-工作年限”,HR会感激你哒。

最最后,告诉你们一个小秘密,以报答你们居然能看到这里:很多时候你们投过去的简历,尤其是投给大公司的简历,因为人家收的简历太多了,根本就不会每个都看。所以如果石沉大海不要泄气,不是你不够优秀,是你没被发现。怎样解决这个问题呢?请找已经在这个公司的人给你做内推,或是找猎头帮你推荐,这样的简历会被优先审阅。如果你没有这样的渠道,而你又对这个公司的职位非常感兴趣,请打电话给公司前台,转HR招聘部(有可能需要实名制转接),直接告诉他你是谁,应聘了哪个岗位,请她帮忙看一下,一般在工位上的HR都会登录系统帮你看的。如果你觉得这样可能打搅到她她会不高兴,尝试在linkedin上找到相应公司的某位负责招聘的HR,加她好友,给她发私信,总之把你的主动意向传达给她,她会高兴的。:-D
这听起来很厉害是不是?其实这招对中小型企业可以,对几万人的大公司是没用的。(别打脸!)因为公司体积太大,招聘都是以事业部的形式来进行,而一个这样的公司有几十个事业部,你能找到负责该部门该职位的HR的可能性微乎其微。那怎么办呢?
你可以去linkedin上搜索你的目标公司里正在做你想做的事情的人,加他好友,给他发私信,让他帮你内推。他会同意的,因为内推成功是有奖励的,好几千呢!这被我称为暴力内推法,我原创的。^.^

最最最后,我才发现这是一道去年的题,我不开心!!!!!!!!

如何评论话题:“还是嫁给一个把你当成‘公主’的男人吧”?

作者:李越越
链接:https://www.zhihu.com/question/55268657/answer/143906384
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

读书写文,当引人向善,切不可从恶而书,而这句话乃真真的极恶言论,也是极傻B的言论。

公主的本质是牺牲品,她们居高位而无功,食厚禄而无绩,碌碌无为而享锦衣玉食,荣华富贵!爱情?婚姻?她们的结局就是:成为政治的牺牲品,任凭他人摆布。

而这个世界,又真的有许多天真呆傻没有常识的女孩,真的会以“把自己当公主”当成衡量男人的标准,希望找一个男人,要疼爱自己,体贴自己,宠着自己,听自己话的男人,可是感情是分阶段的,恋爱关系的前面,还有追求这个过程呀。

我记得上一次我在和学员讲课的时候,我和女学生说:要小心那些追求你的时候,对你百般好的男人,特别是生活上的照顾,情绪上的安抚的这种好,因为这种好,不是常态的好,他们这样做的目的只是希望得到你的喜欢或者是爱,而且这种好是有毒的,只会滋生你的惰性和依赖,摧毁你的独立和心智。

是的,女人真的应该要小心那种在生活上百般照顾,情绪上百倍呵护的人,因为这些男人太努力了,努力到让你看不到自己的缺点,于是你就失去了进步的机会,可是他们为什么要这么努力呢?

因为他们想要通过努力去换取你的喜欢和爱,而如果有一天,你真的喜欢或者是爱上他们,他们的内心是这认为的:她之所以爱我,不是因为我本身被爱,而是因为我对她好以及我的努力,而只要我不对她好,不努力了,她便不会爱我了。

所以,在这些的男人心中,他们认为你爱的不是他本身,所以他们极度没有安全感。这种男人往往都是自卑的,并认为自己不值得被人爱,而如果自己想要被人爱,就一定需靠努力去换取,而努力得到以后,又会有诸多怀疑。

他们最后的结局要么是因为受不了一直的付出,感觉很累,然后开始自暴自弃,消极处事,因为害怕失去,所以主动找理由分开;要么就是时时刻刻怀疑对方要离开,要抛弃她,变得控制欲,占有欲极强,导致对方极其痛苦,实在无法忍受他,和他分手。

这种男人虽然是在付出,但并不是爱的行为,因为他们行为的核心不是爱付出,而是如何得到,本质也是索取,和爱的初衷的违背的,所以,遇到追求你的时候,把你当公主一样的男人,真的需要慎重一点。

再说“还是嫁一个把你当成公主的男人吧”这只是前一句话,而这一句话,可以引出无数个苦涩女人,甚至几个孤苦男人的故事,而这些故事,绝对都是幸酸的,坎坷的,哀怨的,悔恨的,无助的,无奈的,甚至是愤怒的,仇恨的,戾气冲天的。

就两性关系而言,就绝大数的普通人而言,一旦是他认为是正确的道理和话题,那么其他意见相左的言论,与他都是无法交流和讨论的,只要不合他意,回击你的就是花式讥讽和辱骂,他们断不会去思考和分析,因为他们的思维没有那种深度,就像绝大数的人都不知道:一个成年人的内心本来就的充满着痛苦和无助的。

绝大数的人,是不会真的去认为自己是有问题的,认为自己需要学习和思考的,于是他们便完全失去了自我发展和心智成熟的机会,从而他们就失去了成熟的人必备的技能:处理的负面情绪。

因为没有处理负面情绪的能力,所以负面情绪会越积越深,而这些痛苦都被他们深深的埋在心里深处,从不和任何人说起,平时的他们看起来很正常,可实际上的他们极其不快乐,于是很多女人就开始想要靠一个男人,一个伴侣,来让自己可以开心一点。

是的,你没有看错,很多女人在恋爱中要求很多事情,只是为了让自己开心一点,比如:证明爱我,我很开心,把我当公主,我很开心,给我钱,我很开心,听我话,我很开心,千万不要觉得我是戏言,我很严肃告诉大家,她们真的就是为了让自己开心而已。

因为她们内心太苦了,然后自己又处理不了这些苦,所以只有靠别人了。可现实往往很无情,因为即便只是想要一个上文中的伴侣,大部分的女人都办不到。

比如:很多女人在恋爱以后,结婚以后,才发现自己期望的生活和男人,最后都让自己失望了。甚至还有的女人一开始只是觉得到了适婚年龄,能找一个自己不讨厌的男人结婚,完成人生大事,就已经谢天谢地了,至于把自己当公主,想都没有想过。

所以,试想一下,这一类的女人内心该是有什么样痛苦和无助呢,她们把这些藏在心中,得有多深呢?而一句“还是嫁一个把你当成公主的男人吧”可以唤起女人内心深深的痛苦和委屈,幻想和期望呢?可以让多少徘徊在痛苦无助边缘的女人感同身受,看到一点希望呢?

现实的残酷是:会爱,懂爱的极少,真正被爱的人寥寥无几,甚至想要探索爱的真谛的人都屈指可数,因为更多的人,都在想着如何得到别人的爱,而从来没有想过去爱别人,即便是有,可是除了关心生活,呵护情绪,他们又能做什么呢?

因为本身对自己的痛苦和无助,负面情绪的一无所知,所以也不可能知道怎么处理这些痛苦和无助,负面情绪,那么也不可能得到处理情绪的知识和经验,分享这些经验和只是,就更是无稽之谈,但是,但是,但是,这些知识和经验恰恰是爱的最重要资本,关心生活,呵护情绪,都是极为肤浅的东西。

所以在我看来,这个话题言论,是极其**,极其幼稚,而且我说这句话,是绝对公正和客观的,因为我作为一个长相还看得过去的男人,是完全没有必要去反驳这句话。

试想:女人如果都是要嫁把她当公主一样的男人,那么我追女孩和泡妞只会变得更简单:直接把她当公主宠着,成为了她想要嫁的男人,然后全垒打,然后随便找个理由分手行了,遇到那种婚前不从的,直接再见,找下一个,多好,我根本不需要努力赚钱,工作,打扮,我只需要学习怎么宠女人就好了。

我的天呐,试问一下,能这样就被搞定的女人,是不是有点傻呢?所以,我想问问女孩们,你们觉得你们有这么傻吗?你们觉得,你会因为一个男人把你当公主,就觉得应该嫁给他吗?同时,我更想问问,那些认为这句话是真理,最后却被男人欺骗和玩弄女人,她们的遭遇难道就真的是因为那些男人渣,无耻和不要脸,手段高明吗?难道和她们自己没有一点关系吗?

如果你的人生追求里面有“爱情”,你想要获得真正的“爱情”,那么你一定是需要在“爱”“情”和“两性关系”中,好好下功夫,好好学习,多读善思,虚心请教,因为你必须走过一段艰苦的路途。

直到有一天,你认知到内心的痛苦,找到痛苦的源泉,解开痛苦谜团,你将再不会被负面情绪打败,你不需要别人把当你公主,来使你快乐,因为你能自己让自己快乐,并且你还能传递你应对痛苦的知识和经验,帮助别人认知痛苦,解开痛苦,让他人和你一样去传递这些知识经验,做一个去有爱的人,何其伟大而光荣。

至于爱情,你自然会拥有,你也自然会成为公主,这种幸福是那般的奢侈,它凭什么被那种不努力,不吃苦,不思不学的人得到呢?

加油吧,同学们,我在前方等你们。

MySQL 你可能不知道的 SQL 使用技巧

https://zhuanlan.zhihu.com/p/25064592
使用 UNION | UNION ALL 语法

UNION 用于合并多个查询的结果集,我目前遇到的主要有如下两个场景用起来比较有效:

  1. 同表的复杂查询,很难通过一个 SELECT 语句搞定
  2. 多表查询,但返回的数据一致,常见一些聚合数据统计需求

UNION 也可以加 limit、order by 子句,用于对 UNION 后的结果集进行排序和过滤。

通过 UNION 的这些特性,我们可以把原本需要编写代码才能处理的一些工作交给数据库,同时还减少 SQL 数,提高性能。

比如说,下面这个例子:

select 'product' as type, count() as count from products
union
select 'comment' as type, count(
) as count from comments
order by count;
我们通过 UNION 语法同时查询了 products 表 和 comments 表的总记录数,并且按照 count 排序。

结合 UPDATE | DELETE 与 JOIN

一直以来,我们得益于联合查询(SELECT + JOIN)给我们带来的便利,但无形之中确形成了思维定势(至少对于我而言是这样的),殊不知 UPDATE DELETE 也能与 JOIN 联合使用,从而简化 SQL 编写。
​在使用 UPDATE | DELETE + JOIN 之前,我们可能做法要么是先查询出待删除记录的 ID 然后再根据 ID 进行删除,要么是使用 IN 子查询。前者需要写两个 SQL 语句,在程序中处理逻辑,后者有时并不能正常工作。

就后者而言,应该有人遇到过这样的错误:

ERROR 1093 (HY000): You can't specify target table 'xxx' for update in FROM clause
这样的错误产生的原因是:MySQL 不支持同一个 SQL 语句尝试对同一个表进行查询和修改两个操作。

比如,删除没有评论的文章这条语句

delete from articles
where id in (
select a.id from articles as a left join comments as c on a.id=c.article_id
where c.is is NULL
)
articles 表既被查询,也被更新,将出现上面的错误。

但是,如果 DELETE 结合 JOIN,则可以直接写出这样的 SQL 语句,简洁许多:

delete s from articles as a
left join comments as c on a.id=c.article_id
where c.is is NULL
当然,UPDATE 也是同理:

update articles as a
left join comments as c on a.id=c.article_id
set a.deleted=1
where c.is is NULL
CASE 语法

CASE 语法可以在 SQL 内做简单的分支判断,根据不同的条件返回不同的值。比如考虑这样的需求:
一个商品有多个订单,订单有已付款和未付款两个状态,现在给定一个商品列表,返回每个商品已付款和未付款订单的数量。
这个时候我们可以通过 CASE 语句和 GROUP BY 通过一条 SQL 实现:

select
product_id,
count(
case is_paid
when 1 then 1
else null
end
) as total_paid,
count(
case is_paid
when 0 then 1
else null
end
) as total_not_paid
from orders
group by product_id
where product_id in (1, 2, 3, 4);
配合 ORM 库,这样的写法可以帮助我们实现 eager loading,避免 n + 1 查询。

因为这个场景比较简单,我们也可以使用 MySQL 提供的流程控制函数(Control Flow Functions) 使得该 SQL 更简洁:

select
product_id,
count(if(is_paid = 1, 1, null)) as total_paid,
count(if(is_paid = 0, 1, null)) as total_not_paid
from orders
group by product_id
where product_id in (1, 2, 3, 4);

使用 INSERT INTO ... SELECT 语法

通过 INSERT INTO ... SELECT 语法,我们可以把 SELECT 的结果集直接写入另一张表中,而不需要程序处理。通过这个语法,外加一些变通,我们可以很方便的实现更多的需求场景。

比如说,我们要给所有购买了某一商品的用户发放一张元价值10元的优惠券,我们可以这样写:

insert into tickets (user_id, price, expires_in)
select
user_id, 10 as price, '2017-09-09' as expires_in
from orders
where product_id=123 and is_paid=1;
又比如说,在选课的场景中,我们要给一批人分配一批课,假设要给1班的人分配体育课和美术课,我们可以通过该语法加 CROSS JOIN 实现:

insert into class_members (class_id, user_id, status)
select
c.id as class_id,
u.id as user_id,
1 as status
from classes as c cross join users as u
where c.name in ('体育课', '美术课') and u.class_name='1班'; 本文首发于「代码写诗」微信公众号

,PHP程序中的工厂模式

举例说明,以下是一个User类,非常简单:http://blog.mango16.cc/2016/05/07/php%E5%B7%A5%E5%8E%82%E6%A8%A1%E5%BC%8F/
/**

  • factory pattern 工厂模式
    

*/
interface abstracted
{
public function realCreate();
}
//女人类
class Woman
{
public function action()
{
echo '这是女人';
}
}
//男人类
class Man
{
public function action()
{
echo '这是男人';
}
}
//创建女人
class WomanCreator implements abstracted
{
public $chromosome;//染色体
public function realCreate(){
if ($this->chromosome == "xx")
{
return new Woman();
}
}
}
//创建男人
class ManCreator implements abstracted
{
public $chromosome;
public function realCreate(){
if ($this->chromosome == "xy" || $this->chromosome == "xyy")
{
return new Man();
}
}
}
//人类工厂
class PersonFactory
{
public function create($what)
{
$create = $what."Creator"; //womanCreator
return new $create();
}
}
$create = new PersonFactory();
$instance = $create->create('woman');
$instance->chromosome = "xx";
$instance->realCreate()->action();

从撩妹新手到大师训练计划

作者:源靖
链接:https://zhuanlan.zhihu.com/p/20653036
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

序言:

Hi,你好,我是源靖。

让我先来简单的介绍一下这本练习册。它是在约3年前,我和搭档完成了这个本练习册。

在观察,思考,总结了我所认识的所有与女人成功的男人之后,我发现了一个事实,你必须需要做到以下四个方面,他们的比例或许不一样,但是缺一不可,那就是:

获得正确的方法

建立正确的心态

建立正确的行为,思维模式

养成正确的习惯

下面的内容将会帮你解决你需要的大部分的关于女人的正确方法,和魅力男人的心态问题,也许会颠覆你的行为,思维模式。

同时,正确的方法需要去实践,改掉原先错误的方法,让它变为一种习惯。

而心态,绝对不是靠一句话或者一个课程就能彻底改变的,心态来源于磨炼与经历,而你在养成了正确的与女性交流习惯后,这个习惯带给你的经历,你将自然而然的建立起强大的心态,这是一个必然的结果。

所以,你需要的,就是怎么样让你养成一种习惯,而且是正确的习惯。

而我写这本训练计划的目的,就是让你一步一步,建立正确的,让你养成你想要的情感生活的习惯!

那么,如何去真正的,一步一步的获得这种习惯,(请注意我强调了一步一步,因为习惯也是一步一步养成的)。

一个经典的错误的想法:你应该要今晚就带个女生回家!你要去逼你自己!有人做得到,你也可以!

你只要敢上就可以了,冲上去!上!

你把这些台词全部背了,然后按照阶段来,不同阶段背不同的台词,就能吸引到女生了!

大错特错。

重点在于:

怎样学会一个个分开的动作,从陌生到熟悉,养成正确的习惯,就和这个方法很类似:

比如你有搭讪焦虑,要你一开始去向一个女生要号码或许你不敢,但是如果只需要你过去对一个女生打招呼说:你好!然后走开,我相信任何人都做得到!任何人!

当你能够熟练的做到这个之后,我再要你在和女生打完招呼后额外问个路,然后走开,我相信任何人也能做得到!任何人!

当你熟练以后,我再次把难度加大。

一个建立了再进步一点点,让你一步一步的,慢慢的养成起享受搭讪这个正确的习惯。

就像我在《通往情圣之路》里面的过程一样。

记住,我的目标就是让你能够每一次增加一点点的难度,一步一步的升高,直到你养成和你梦想中的女生亲密的习惯。循序渐进,让你一步一步走踏实了,而不是一开始就逼你去做超出你能力和舒适区太多的事情。

我希望你一步一步的养成,正确的习惯。在这个习惯中,吸收所有的方法,建立起正确的心态。

习惯的养成,靠的是重复与慢慢的加压。这非常的重要。

为了让你清晰的直到如何养成这个习惯,我把所有的,让你能获得你想要的女生的必要条件一步一步拆解开来,分为:

1, 预备阶段:建立有有趣的生活状态和基本的肢体语言

2, 第一月:一些“捷径”(先保证你身边有女生)。

3, 第二月:认识更多女生,建立和女生正确,由浅入深交流,对话的能力。

4, 第三月:合理展示兴趣,建立吸引的能力,与女生发生化学反应的能力。

5, 第四月:正确后续与有效约会的能力。

6, 第五月:肢体接触至亲密关系的能力。

7, 第六月:终极提升-根据不同女生调整不同策略的能力

这些能力之外还有怎么去爱一个人,以及长期关系的处理,在我看来,那更多的是一种艺术。

而这不是这个练习册的目的,我在一开始就说了,这个练习册的目的,是让你真正的吸收,将这一种能力转化为习惯!

所以这本练习册要做的是:当你将一种能力彻底的转化为了你吸收的习惯,我们再进入下种能力吸收的转化,然后再下一种。一步一步来!

我要让这种新的习惯,完全取代你以前的错误的习惯。懂了没有?当这一切成为习惯吸收之后,那么,就像你彻底学会开车一样,再也不会忘记。

如果你已经很精通其中的一两种,那么你只需要针对你不擅长的那部分加以练习就好了。

这本练习册的形式是这样的:

我会给你给出每一步的任务,每一天的任务,具体应该怎么去做的方式,以及为了让你习惯重复的次数。从简单开始,慢慢加压。

当你彻底掌握一个习惯之后,才可以进入下一个习惯的建立。我不希望你建造一个脱节的空中楼阁。

我把所有习惯的养成方法压缩至了6个月左右的时间,也就是说这6个月每一天你都有正确的行动指南。

我花了很多时间,把所有弯路,错误的练习方法都删除掉了,我只给你最有效,最快捷的练习指导。

在这个练习册上,每一个练习和任务旁边都会配有相关的方法和心态提醒。

这是一本建立在行动基础上的,实在的练习册。

所以,你肯定会成功。

首先,我来告诉你,为什么你还没有成功:

“我在普通女生面前表现还好,可是一遇到漂亮女孩就害怕。”

“每当女生给我差的反应,我就不能正确的行动了。”

“我可以追到很多女生,但是一旦是我真正喜欢的就不行了。”

……

这些话听起来耳熟吗?类似的事情是不是发生在了你的身上。这是我在过去一年内听到的问的最多的问题类型之一。(另一类大概是四个字:如何后续……其实我觉得这些都是一类问题,我会在稍后解释清楚。)

现在有这么多的约会资料,如此多的音频,视频,书籍来教你成为一个情圣,为什么大部分的男人还是没有任何长进?

我想说一句话来概括:

“因为恐惧与紧张已经成为了你的习惯,它阻碍你无法使用任何约会高手交给你的方法。”

恐惧与紧张的习惯让你不能真正的做自己,而这是问题的关键。你甚至连正常的你都发挥不出来,还怎么去用那些高级方法?

你需要先把你的瓶子放空,才能有新的,正确的东西进来。请忘掉你从各种大师那学习的错误方法。如果那些方法没给你带来结果,那么,请忘掉他们。

当恐惧和错误的东西已经成为一个人的习惯,他只会一次又一次的死机。而你知道得越多,资讯越打架,就越容易死机。

而这本练习册要做的,就是帮你重建正确的习惯,彻底的移除掉你的恐惧,错误,安装上一个一个新的习惯。这并不要求你改变你的个性,我不想要你成为任何人的复制品,我觉得每个人都应该是独一无二的,所以,我所有的东西,只是给你进行升级。

我说过这是一本保证你成长的练习册,因为我会一步一步的让你安装上正确的习惯。

另外,几乎各类问题的出现,比如后续,你是不是在犹豫是否该给她打电话,是否在犹豫是否该去拉升关系,你去问那些成功的人,他们给你的答案几乎是一样的:想想打时就打;你不需要征求一个女生的意见去升级关系。等等。

可是,你就还是不敢,你还是在和你自己说:等会吧,时候未到。

我并不否认时机的把握(这是方法层面),我也不否认约出来之前有一系列的方法保证成功率。但是我敢肯定,最关键的还是:你会去恐惧和害怕的旧习惯,让你停止不前,不敢去拿起电话使用那些高端的方法,或者使用了患得患失。而女生完全是能感觉得到的。

突破这层恐惧并不是靠忽然的打鸡血,不靠激情四射的演说,更不是靠几句激励或者让你突然去做超出你舒适区很大的事情,这些都只能获得短期效果。

我要做的,是让你一步一步,移除错误的习惯,建立正确的习惯。

所以,我相信你现在大概知道我要做什么了。就像我在介绍里说的:

我要把你头脑中的垃圾一步一步的移除掉,我要让你坚实的建立一步一步的习惯,如果你没有掌握前一个,你不能去做下一个!这是我个人的建议,我不想要你头脑中的信息打架,当你还没有彻底掌握开场的习惯时,我不可能要求你去掌握kiss的习惯。

我要你把你带上的“撩妹高手”“套路”“完美的方法”等等面具彻底的撕下来,让你真正的自由,让你不用我学习得还不够作为借口来呆在自己的舒适区,我要让你成为最好的你,独一无二的你。

我将你所需要的习惯建立定在了6个月多的时间,我希望你从现在起开始记录你的变化,6个月后,再看一看你自己。

所有的方法将会成为你的习惯,甚至是一种,直觉。

一步一步的,你将会真正的,稳定的,切实的提高。

你需要接受的心态

在开始这个练习册之前,我想把一个正确的心态和你讲清楚,这很重要:

这个心态将会帮你找到你生命中的那个完美的她。请记住,遇见正确的那一个女人之前,你需要经历无数错误的女人。

我们总是在为自己找借口:她是在快速离开的人,她在等人马上就有人来了,她身边有2个男人,她看上去很冷,她肯定有男友了……

或者是:我明天再打给她,我太累了不想约她了,她肯定在忙,她不是我的菜……

这种感觉很不爽,因为大部分时候你只是在欺骗你自己,你也知道你只是在欺骗你自己,只是旧的恐惧的习惯在作祟。相信我,我也做过。

我们通过为自己找借口来保护自己可悲的自尊心,其实你最大的敌人是你自己。

让我们来这样想一下吧,从你所在的城市抽出100个女人来,估计只有20个左右你觉得很漂亮的,让你想要去接触。

而这20个人里面,很有可能只有10个人是单身,而其他那10个人或许你锄头挖断了也不会给你带来你想要的(我个人不支持挖墙脚,大部分时间挖墙脚的后果是:费时费力费心而且都受伤害)。

而这10个女生里面,或许只有5个愿意和你约会,剩下的5个可能怎么都约不出来,现实就是这样,没有撩妹高手能保证百分百的约出一个女生。

而这5个里面,可能有的女生和你完全没有任何共同语言,可能有的女生非常消极不会给你带来快乐,这些都是我们最后要排除掉的。

这样的话,也就1-2个女生与你有长期关系的潜力,我指的是至少3个月以上的关系,天天ONS不在我要教你的,虽然这本吸收练习册也可也让你获得ONS的能力,但是我不相信也不赞同ONS一辈子是你的目的。

而或许这留下的两位里面,她们最终也只是你的一个情人而非你真正的妻子。那么你又要开始另外一轮寻找。

知道找到完美的她是多么的不容易了吧?作为一个男人,你必须走出去,经历这些无数错误的女人,来找到她!而同时,你应该庆幸你是一个男人,因为在**甚至世界绝大多数国家的文化背景下,大部分女人不可能去尝试上百上千个男人来找寻她最完美的男人的。

而每一次错误的寻找,都让你离你生命中的她更近一步。

那么我问你:假设你今天约了一个你自以为不错的女生,结果她却让你觉得无聊透顶,那么你会觉得失望吗?或者是你今天看到一个女生搭讪去,她说:不好意思我有男朋友了,你会觉得难受吗?

朋友,我希望你能有这样一个观念:每一次错误的寻找,都让你离真相更近了一步,你应该感到高兴她没有浪费你更多的时间,不是吗?

而大部分男人做错的就是他们把拒绝看得太严重了,太在乎自己那点可笑的自尊心了,我告诉你,如果你没有能力,你的自尊心完全就是不值钱的东西,等你身边拥有好几个漂亮女孩了再来和那些拒绝你的女生谈自尊心吧!

记住,你将会与你遇见的百分之九十九的女生不适合,那么你是要出去去寻找那一个合适的,还是坐在家里等待她的降临?

你就像在中场投篮一样,你将会投失很多次,你必须接受和坦然的面对这个事实。

当你接受了这个心态,接受了你肯定会失败很多次,你就可以尽情的去尝试了,每一次失败都是让你离那一个完美的女人更近一步,在此之前,你只要接受,并且享受任何一个出现在你生命中的女生,或长或短的陪伴就可以了,抱着一颗感激之心吧。

我将会在这本书中将这个心态一步一步的彻底植入你的大脑,我希望你从今天起的每一段经历都能让你慢慢的提高。

另外,我们往往把和女生约会想得太严肃了!其实和女生约会就像你小时候和同班的小女孩打闹一样,她们有些讨厌,但是玩在一起却非常有趣。她们永远是缺乏安全感的小女孩而已,你不能比她们更加害怕,你是一个男人。

接下来我想告诉你的是,你为什么要真诚的直面你的目的与欲望:

我们都在谈论筛选,而什么是筛选?如果你仔细的研究过任何一个有魅力男人的心态,你会发现有一个共同的特点:

得之我幸,失之我命。

而如果你想要获得你想要的,最有效率的方式就是直面你的目的,那么,那些不适合的就会离开。我经常在开场时就会加一句:如果你不想认识我的话,我马上就走。

如果她真的不想要认识你,你何必想那么多方法想要让她认识你?你究竟是在享受你们约会的感觉,还是在编造一个谎言强迫别人爱上你?你到底是要做个情圣还是个禽兽?

再说得深一点,约会学究竟是你的工具还是你的面具?它究竟是丰富了你的人生还是限制了它?你仔细想想这个问题!

我曾经也陶醉在在party搭讪女孩的岁月,我精确的执行“完美方法”的每一步,我隐藏我自己的意图,但是,这时候的我不是我,而是某个人的一个复刻而已,都不是我,怎么能获得我要的幸福?

我并不是说搭讪女孩的问题,我也并不是要你在一开始就和女生说要和她认真,我唯一的意思就是,你不能让别人的方法和标准来限制你自己,我希望你去做你自己!

我们掩藏了真实的自己,只是因为我们不敢去真正的接受自己的心,不敢去让真正的自己面对这个世界,这是可悲的。也会伤害到更多的人。

如果你是在寻找长期关系,告诉她;如果你只是为了ONS,也让她知道。如果你觉得她很正你想要亲她,告诉她!这没有什么好害羞的。在这个虚伪的世界里,你应该诚实。

或许你现在在怀疑你是否能达到这个心态,不要急,我在介绍里面就写过,我会让你通过养成一系列习惯来真正的达到这个男人的心态,目前你只需要在理论上接受这个心态就好。

记住,我们要经历很多失败才能够真正的找到她。

不过这里我要专门的提醒你一下,在这一段寻找的道路上,你会找到很多赝品,她们或许看上去也是闪闪发光,但是她们的内在缺陷无法让你幸福。如果一个漂亮女孩她天生就把男人和女人的关系看做对立,直接把男人当动物去对待,或者天天教别的女人怎么去耍男人...等等等等,当你找到类似的女人时,你如果被她闪闪发光的外表迷惑而以为自己找到了珍宝,而且还自我合理化的说服你自己你真命了云云,那么你只不过是在骗你自己而已。

你大概不需要一个内心有问题的女生,你需要的是真正能够和你达到完全契合的那一个她。所以,永远不要被一些表面的东西欺骗,更不要骗自己。

所以每一个你生命中的女生,你应该真正的去了解她,寻找她的真相,如果她不适合你,继续寻找便是。享受并且感激这一段寻找的过程吧!

我希望你在练习这个练习册的任何时候都经常回来看看上面这一章,这一章会让你持续的走在正确的道路上。

之前我提出了7个步骤,这里我们再来看一下:

1, 预备阶段:建立有魅力的生活状态和基本的肢体语言

2, 第一月:一些“捷径”

3, 第二月:认识更多女生,建立和女生正确,由浅入深交流,对话的能力。

4, 第三月:合理展示兴趣,建立吸引的能力,与女生调情的能力。

5, 第四月:正确后续与有效约会的能力。

6, 第五月:肢体接触至亲密关系的能力。

7, 第六月:终极提升-根据不同女生调整不同策略的能力

在吸引一个女人前,你要有一些基本的准备(1解决)

先让你获得结果,巩固“捷径”(2解决)

在日常生活中接触更多的女人(仅仅是接触),基本消灭掉焦虑(3解决)

让你中意的女生对你来电,并尝试进入亲密关系(4-5解决)

让女人从被你吸引到确立关系(6解决)

决定成为一种怎样的长期关系和针对不同类型女生的不同调整(7解决)

如果你已经接受了我在序言里提出的吸收是一种习惯的话,我希望你可以马上的根据我的建议和任务去完成,我不会要一个没跑过步的人去跑五千米,我也不会要一个没有搭讪女生经验的男生当天收50个号码。换言之,我会让你一步一步合理的提升。每一个任务都是合理而且轻松的。

记住,你要彻底的改变,必须用新的习惯替代掉旧的习惯。

现在,让我们开始,你的大师之路

准备阶段1:正确的生活方式

怎样才叫真正的富有?

假如有两个人,一个人年薪100w,但是他整天都做着枯燥无味的工作,而且他自己也是怨声载道。

另一个人没什么钱,仅仅能吃饱而已,但是他每天都在做自己想做的事情。他的脸上时刻挂满了笑容。谁更富有?

我将要告诉你除了不爱干净之外,是什么特质让女生最觉得没吸引力。并不是你贫穷,并不是你没有好车,并不是你四处漂泊,而是:

你恨你现在所做的工作而且充满了抱怨。

真正的富有是精神上的,你应该是一个能量源而不是一个怨妇。

我会在之后的习惯里告诉你怎么去建立一个男子汉应该有的气概,但是这里你必须了解,作为一个成年人,你的评价与你的目的是息息相关的,你究竟活着是要干什么的,你能给这个世界带来些什么样的价值?

若你根本不享受你当下的生活,不要指望有一个奇迹般的女神会降临和你一起受苦,这种是电视剧,我现在和你讲的是现实的人生。

我并不是说收入稳定不重要,只是收入稳定对你生活的影响不是你想象的那样,并不是说没钱就不能吸引到女生,而是因为你如果过着朝不保夕的生活,那样你很有可能会面对过多的压力和越来越低的能量,导致一系列的蝴蝶效应。你需要的是要建立一种真正的富有:做自己想做的事情并且有着稳定的收入,但是这是理想的状态,现实是:你至少要达到一种平衡,一种梦想与现实间的平衡。

不要让你的工作主宰了你,这点很重要。

健康与爱好:

我真心希望你能够去参加一项体育运动,我不是要你一定要成为一个健美先生,我只是希望你能够保持健康。当你经常的进行体育运动你会发现你的皮肤更好,你自我感觉越来越好,你变得更加开朗,甚至你的活儿也变得更加持久。

如果你是在没有运动天赋,我也希望你能有一个有趣的爱好。我在大学时曾经注意到了一点,凡是有女生的男生,不是运动的,就是有兴趣爱好或者特长的。当然游戏不应该成为你的兴趣爱好,除非你想找个和你一起对游戏狂热的女生。

所以,去做吧!而且运动会丰富你的生活,甚至会让你拥有更多的遇见女生的机会。

下面是我推荐的一些项目,希望你根据自己的兴趣,至少选择一项定期去参与,让它成为你生活的一部分:

1, 各种球类运动

2, 游泳

3, 乐队

4, 舞蹈课程,健身房

5, 旅行

6, 音乐会或者艺术展

7, 公园跑步

以及类似的项目。

当然,你很有可能会说:我时间不够,我要工作。我之前和你说什么了?不要让你的工作主宰你!你一辈子都说时间不够,那一辈子很快就到头了。

读书与**:

有一个约会高手说过,女人被男人**所吸引。我并不是要你成为一个哲学家,但是你必须要有自己的主见和个人的观点。

现在我希望你至少读一读书,不是指约会书籍或者娱乐杂志,而是真正能够洗涤你心灵的,给你带来收获的好书或者名著。你可以做的是现在发短信给你所有的朋友要他们推荐一本他们觉得的最好的书给你,然后我希望你至少一个月阅读2本,这样一年下来你会多阅读24本好书。

要记住,你必须要有自己的观点,不管那些女人对你怎么说她们希望你疼她在乎她,但是没有自己观点的墙头草永远是不遭大多数女人待见的(我会在吸引习惯建立部分详细讲),除非有的女人就是想要找一个goodboy,而你正好觉得这样也OK。如果你有这样的想法,你现在可以马上把这本练习册烧掉,道不同不相为谋。

不要人云亦云,我希望你能够用你自己的眼睛去看这个世界。坚持自己的原则,而不是所谓的别人给你植入的强框架,你必须知道你要什么,而且坚持你的原则。

练习方法:

练习1:拿一张纸,写下你心目中的理想的女人是什么养的,我希望你实际一点,不要写什么魔鬼面孔天使身材身家百亿父母双亡什么的。尽量多的写下细节,你的专注点应该是:她需要什么样的特质能够让我和她在一起时感觉幸福。同样,我也希望你问问你自己,你所要求的她的特质,你自己有没有?

练习2:你的“遗愿清单”。

不知道你们有没有看过这部电影,如果没有我也非常推荐大家去看一下。

拿出一张纸,仔细的思考10分钟,想一想,你在死前一定要做的事情,介于10件-20件之间,如果你有更多,很好,也欢迎你写下。

想一想这些事情里有哪些是你马上能做到的,然后我希望你马上去做。

注意一下你写的大部分愿望的方面,是家庭比重大,还是旅游比重大,还是什么的比重大,这可以概括出你目前最缺乏也是最重视的东西。

练习3:什么让你感觉快乐。

拿出一张纸,写下你每天花时间最多的几件事情,按你花时间的多少排序,比如:工作,上网,电视,看书,游戏,运动等等等等。

然后仔细的问自己你在这些事情哪些真正的能给你带来快乐?给它们各自带来的快乐等级打分。

那么你是否把你最多的时间花在了你最感觉快乐的事情上?

然后问自己,这些事情里面有哪一样会让你拥有更多的接触女生的机会,把这项事情的优先度提高至少一个等级。

练习4:开始准备接近女人。

向10个女生问路,问完就走。

第二天换做向10个漂亮女生问路,问完就走。

这个练习只要求问路,不是让你成为尾行痴汉。只是用来帮你热热身。

练习5:在我上面推荐的那些运动和爱好项目中选择一项,开始定期参加。

除了练习五,这大概要花掉你2-3天。

若你未完成上述练习请勿翻阅下一页

准备阶段2:良好的外表和肢体语言

我并不是造型师,所以对于外表我只能给你一些基本的建议,记住,你可以不帅,但是你要看上去干净整洁。不爱干净是最大的吸引力杀手,你必须:

1, 穿合身的衣服

2, 选择适合你肤色的衣服

3, 选择适合你风格的衣服

4, 尽可能的选择高质量的衣服

5, 选择适合你的颜色。

尤其是去party,带一些有趣的小配饰是可以的,但是不要太多。

记住,你不需要去模仿别人的风格,而是尽量要适合你的风格,你的年龄,30岁的成熟男性不需要穿的像个15岁的少年,而20出头的青年不需要穿的像个国家领导人,记住,你选择的衣服不能让你太另类(party可以除外,但是也不能过度)。

如果你觉得你的时尚品味实在是差,请叫上一两个你的女性朋友,让她们陪你去商场给你出主意,记住,女人非常喜欢给男人时尚上面的建议。

肢体语言:

关于良好的肢体语言的书籍百度上可以搜到很多,我这里只给你几个最基本的建议:

1, 面对镜子,侧身过来,看看你在放松的状态下是否头会前倾,是的话,改正。

2, 放松你的肩膀,但是不要含胸,应该抬头挺胸。

3, 你的双脚应该与双肩保持差不多的宽度。

4, 侧身,面对镜子看一看,你的头,背,腿是不是基本在一条直线上,如果没有,改正。

5, 走路时摆臂不要显得僵硬,放松永远是最好的。

声音:

这里有一个最简单的练习,首先我要你简单的随便说几句话。

然后,捏住你的鼻子,再说几句话。

注意到两次发声的差别所在,如果差别很大,则说明你并没有用你的胸腔发声,你需要一个更加低沉的声音。

记住,女人觉得低沉的声音是性感的。

练习方法:捏着你鼻子发声练习,直到放开鼻子后声音差别也不大。

另外:放慢你的语速,语速太快是不自信的表现。

练习,直到你将慢速,低沉的声音成为一种习惯。

另外还有眼神和定力,我会直接给出练习方法。

练习方法:

练习1:把你衣柜里的这些衣服丢掉或者送人:陈旧的,过时的,不合身的,不适合你肤色的,不符合你风格的等等。你需要一些新的衣服。

练习2:带着一个有良好时尚品味的女性朋友,让她带你去一些专卖店搭配一些衣服,而且你也尝试自己去搭配,问问她的意见。当然,如果你有钱可以专门请一个时尚顾问。

练习3:在你购物的同时,注意你的走路姿势,是否头又前倾了,是否手臂僵硬了。你也可以在家里放一个录像机,记录下你一小时内下意识的动作,自己仔细看,觉得哪些特别别扭的,改正。

练习4:花2个小时上街,尝试与你见到的每一个漂亮女生保持眼神接触,用一种面带微笑而且是“我知道你想要我”的眼神。

不论如何绝对不要主动的结束眼神接触,或许你在一开始会主动的逃避眼神接触,没事,坚持下来,直到做到成功的让十个女生主动的移开她们的视线。

必须完成上步了再进行下一练习。

练习5:向10个漂亮女孩问路,问完后加一句:你人真的很nice?注意到当你外形打扮得越来越好,她们的反应会越来越正面积极。然后道谢离开。

另外,若你在练习4有困难,做到直到自然再进行练习5.将练习5做到自然为止。这大概需要花掉你3-5天。

准备阶段 3:道具

有人说,“有些人需要道具来传达迷人的个性。没有任何优势就想进攻,绝对无法引起目标的注意和好奇心”

可是大部分男人都想象着不可思议的魅力从天而降。然后吸引他们想吸引的女人。真是异想天开。

很多不错的道具都可以给你加分。一条帅气的项链能帮你吸引女人的目光。

了解我的人会知道我也是个魔术玩家。所以我最喜欢揣上我的随身小道具去和女孩约会。这实在是太强大了。有了它们我想基本不会出现不知道该聊什么的情况。

试想一下,你能够把吃饭时的纸巾消失,或者是猜中她心里在想什么,那该有多帅。

好的道具能够帮你引爆话题,激发女孩对你的好奇心,甚至是增加你的神秘感。

除了特别的香水,精致的袖口和漂亮的胸针以外。你还可以借鉴以下东西。

一条绿箭,无论如何,有口臭就得不到Kiss。

一包高级纸巾,很多女生会喜欢注重细节的男生。

一些有品位的饰品,生活需要情趣,对吗?

一本书,这可以让你看起来不那么无聊。同时,也是个很好的话题。

练习方法:

方法1,:去试喷几种香水,挑出一款你喜欢的,并且独特的香水。

方法2:选一本过的去的书,最好别是小说,而且是实体书,放在包里。相信我,这年头会看书的人已经不多了,它能够帮你获得足够的注意力。当然,我希望你和我一样,是真的喜欢看书。

方法3:魔术和戏法对你约会的作用最大,而且变化多段,可以应付不同的场合。先去选择适合你的道具或是戏法(我个人比较喜欢能够随身携带的)。然后加以练习,一周之后你就可以带着你的秘密武器去引爆全场了。

下一章,我们从“捷径”开始。

正则表达式

字面值
正则表达式由只代表自身的字面值和代表特定含义的元字符组成。
句点(dot)
.。一个.表示匹配任何单个字符。下面这个正则表达式c.t代表“先找到c,接着找到任何单个字符,再找到t”。
在正则表达式里,空格是有效的。正则表达式 'c t' 代表”先找到 'c',接着找到空格,再找到 't'“。

任何元字符如果用一个反斜杆\进行转义就会变成字面值。所以上述的正则表达式c.t就代表“先找到c,接着找到句号,再找到t”。

字符类(Character classes)
字符类是字符在方括号中的集合。表示“找到集合里任意一个字符”。

正则表达式c[aeiou]t表示“找到c后跟一个元音字母,再找到t”。在一段文本中,将会匹配到cat,cet,cit,cot和cut。
正则表达式[0123456789]表示找到一个数字
正则表达式[a]和a意义相同:“找到a”
字符类区间(ranges)
你可以在字符类中使用连字符来表示一个字母或数字的区间:

[b-f]和[bcdef]都表示“找到一个b或c或d或 e或f”。
[A-Z]和[ABCDEFGHIJKLMNOPQRSTUVWXYZ]都表示“匹配大写字母”。
[1-9]和[123456789]都表示“匹配一个非零数字”。
区间是字符的区间,不是数字的区间。正则表达式[1-31]表示“找到一个1或一个 2或一个3”,不是“找到一个从1到31的整数"。

字符类的否定(negation)
你可以通过在最开始的位置使用插入符号(译者注:^)来否定一个字符类。

[^a]表示“匹配除了a的任意字符”。
[^a-zA-Z0-9]表示“找到一个非字母也非数字的字符”。
[^abc]表示“找到一个插入符或者a或者b或者c”。
[^^]表示“找到除了插入符外的任意字符”。(呕!)
在字符类中大括号没有特别的含义。[{}]代表“匹配一个左大括号或者一个右大括号”。

乘法器补充
?代表的含义与{0,1}相同。比如说,colou?r表示“匹配colour或color”。

_等于{0,}。比如说,._表示“匹配一切”,跟上面提到的一样。

+等于{1,}。比如说,\w+表示“匹配一个单词”。这里的“单词”是1个或多个“单词字符”的序列,就像_var或AccountName1

编写一个正则表达式匹配1到31(含)之间的整数。 记住,[1-31]不是正确答案。

有几种方法都可以做到这一点。我认为其中[1-9]|[12][0-9]|3[01]可读性最好。
单词边界(Word boundaries)
单词边界是一个单词字符和非单词字符之间的位置。记住,一个单词字符是\w,它是[0-9A-Za-z_],一个非单词字符是\W,也就是[^0-9A-Za-z_]。

则表达式^表示“匹配开始行”。
正则表达式$表示“匹配结束行”。
^$表示“匹配空行”。
假设我们到正则表达式是(\w+) had a ((\w+) \w+)。如果我们的输入文本是I had a nice day,那么

捕获组1是I。
捕获组2是nice day。
捕获组3是nice。
在一些实现中,你可能可以访问捕获组0,即完整匹配:I had a nice day。

婚姻里的囚徒困境

作者:蔡垒磊
链接:https://zhuanlan.zhihu.com/p/25277176
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

01 前言

上一篇文中,很多人的关注点都在那个“情人节”的例子上(男女的相处之道永远是关注的重点),且我发现有相当一部分人的**出了一点共性的问题,希望本文可以解决他们内心的困惑。

很多女孩儿为了自身对于金钱的安全感,把配偶的收入尽数收入囊中,这就是不折不扣的恶念,建议男生要远离这样的女孩儿。

因为组建家庭的目的是共赢,也许这个女孩儿相比对方的确更有理财方面的天赋,但这只能限于家庭共同账户。很难想象一个根本拿不到钱的男人会对挣钱这个事儿有多上心,久而久之,大概率就会成为她口中那个“虽然是个废人,但总算还算听话的”男人。

原话是这样的。后台有读者留言,说可能会得罪一些人。

慢着,难道到现在还有人认为我是为了迎合读者去输出价值观的吗?逻辑就在那儿,普世价值就在那儿,我写或不写都在那儿,只不过既然你关注了我,我总不能为了讨好你把你推向火坑吧?这么无良的事儿我干不了。

成长是自个儿的事,分辨也是自个儿的事。

02 占便宜

有些人会自愿把钱上交,这个是没有问题的,注意啊,并不是有了某个相同的结果就代表了是相同的事情,这其中“意愿”也非常重要。

自愿上交一般是由于他自认为在别的资源上跟你不对等,或者跟你结合是占了你的便宜,于是拿钱来补足这种差距。

这没有任何问题,一切基于自愿且不损害他人利益的行为都没有什么毛病。

就算有些人之前基于自愿,但后来不愿意了,那也属正常,说明你跟他的价值差距缩小了,他不认为应该补你了,这时我们该多反思的是为什么自己的相对价值下降了。

很多人还有一个疑惑,如果我断定他不是那种会想办法埋头上进的人,而我的理财能力和控制支出的能力又比他强,那么我代为管理他的财物有什么问题呢?毕竟是为了家庭的整体利益啊。

很多时候,我们都会打着“为你好”的旗号去占人家便宜,但这是我们出于自我保护而产生的一种下意识的思考和行为模式,自己未必意识得到。

为了安全感,很多人在一开始就不太容易判断对方很牛逼,除非对方之前已经很牛逼了。

所以,让对方上交所有收入就变成了一种“自证预言”——因为我觉得你不牛逼,所以我上交了你的钱,结果你果然不牛逼,被我猜中,还那么想要抠下一点私房钱用在我认为的无用之处,于是我的决定果然是正确的。

这里的因果我们要搞明白,这个循环是自证的。很少有人会去假定,如果当初我觉得你牛逼,那么情况会如何。我们对自己的判断太有自信,这是因为我们太需要安全感,出于损失规避的心理,才不得不装出有自信的样子。

03 囚徒困境

婚姻是一场合作,有共同财产,但也需要尊重各方的劳动。

经过商定,确定家庭基金的比例,然后保证定时与足额就可以了,不要试图打听对方手上留着多少钱,正如你也有偷偷意淫过小鲜肉(嫩模)的秘密一样。要让对方没有秘密,或者想知道对方所有的事,都属于对于安全感的过度追求——总希望把自己放在一个信息绝对由自己掌控的地位。

这样的另一半是很可怕的,因为他(她)在婚姻里希望占据绝对主动,这不是合作,是试图骑到另一个人头上进行压迫,自此,婚姻就走入了囚徒困境,谁也讨不到好,看起来也许你是赢了对方,但往往整体利益也被伤害了,所以从绝对值来看,依然是亏损的,仅仅是谁亏得更多而已。

挣钱是一件很苦哈哈的事儿,虽然的确可以有方法将其变为乐趣,但这本来就不容易,加之挣到的钱若是拿不到手,要再把它变成乐趣则几乎是不可能的。

我见过竹篮打水,但前提是这个篮的洞不能太大,路途不能太远,我没见过一个人拿个没底的篮还打得乐此不疲的。

挣钱要有动力一定是需要有一些刺激的,最常见的比如为了美女,不过你一定不想这样,因为如果是这样,他挣不挣到钱你都得不到好处,你最希望的是他是为了家庭而努力挣钱。

那么,你是否提供给了他“为了家庭”的足够理由?这个很多人都没想过。

一个果是由很多因在同一时间相互叠加然后再按时间顺序串起来的,改变任意一个,都会改变这个果,但很多人只能看得到别人的因。

04 因果

其实这么思考问题的人很多,不过这还不算最可怕,最可怕的是有一部分人看了前面几小节就会说我男权癌。

思考问题有毛病很正常,可以治,但不接受治疗就没的医了。就像有些明明需要看心理医生的人,一听到别人说他有病就立马反弹“你才有病”一样。

其实这里的男和女调个个儿也完全成立,女不能没收男的钱,男自然也不能没收女的钱,女不能骑在男的头上,男自然也不能骑在女的头上,大家都是“人”,除了生孩子的时候,分什么男女呢?(未来生孩子肯定也是不用分了的)

所以这最后一段是用来告诫某些看了前几节就沾沾自喜的男同胞:老婆这么强势,赶紧把这篇文章转给她看……

事实上,一个女人变得强势,跟另一半肯定也有脱不开的干系。很多时候,人是被环境逼出来的,你老不肯承担责任,那就只有老娘承担了,谁承担更多家庭责任,谁就有更多话语权,这没什么毛病,所以你也该检讨自己,也许她跟另一个人合作的状态就是小鸟依人了呢?

婚姻如果出现了问题,一定是双方的,绝不存在单方的情况,对,绝不存在。

因为长时间的相处,使得你们的很多**和行为都早已互为因果,大多数人走着走着就会不可避免地走入囚徒困境——你只为自己着想,那么我自然不该当傻子,也得为自己着想;你不为自己着想,那我就当个聪明人,为自己着想就能压你一头,获得比平等时更多的利益。

上次我说到社交的时候就说过,多次博弈的收益稳定性肯定是大于单次的,但很多傻子依然只愿意花费巨大的精力在单次博弈中斗智斗勇,实在是愚不可及。

社交也好,婚姻也罢,到底是走向良性循环还是恶性循环,就看你愿意放弃多少安全感去试着摆脱囚徒困境了。

男性必备的基本款礼仪

作者:杜绍斐
链接:https://zhuanlan.zhihu.com/p/25249279
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

接送姑娘」篇

1、凡事提前安排

话说得好,「凡事预则立,不预则废。」

意思就是,和姑娘约会如果不提前做好准备,人家就会觉得你是个废物。

永远记住,约见的地点和时间,至少要提前24小时和姑娘商量,给她考虑和安排的时间。通知对方的时间段尽量在10点-22点,避开睡觉时间。

一方面,这样可以避免姑娘没时间、又不好意思拒绝的尴尬。另一方面,也能让姑娘充分感受到被尊重,她也会更尊重你。

2、守时,守时,守时

在人类文明史上,守时绝对是一项最基本的礼仪,尽管有些人永远都会无视这一项。

杜少提醒各位:当一个人真正重视一件事时,他绝对不会迟到。所以当你迟到时,别人一定会很自然的得出一个结论:你不重视我。

相信我,这种潜意识传达的信息永远最真实,绝非几句解释就能搞定的。

一旦你能意识到不守时的严重性,便会发现世界上有无数避免迟到的方法:

比如赴约前,提前检查路况,选择合适的交通工具,把迟到的风险降到最低。

如果你预料到自己会在途中遭遇堵车,那就请你提前出门,不要等迟到后再用堵车来当借口。

当然也不能排除意外。一旦有突发情况可能导致迟到,一定要立即打电话通知对方自己的情况,并解释迟到的原因,征求谅解。

3、让姑娘随时处于「被保护」状态

从人猿时代开始,雄性保护雌性就是猴祖宗们立下的规矩。

到今天,这种「保护」其实更多体现在生活细节上。

仅仅「走路」这件最普通的小事,也需要时刻注重礼仪——

比如要时刻注意放慢脚步,保证姑娘能轻松跟上;

比如走路时让姑娘走在道路内侧,避免姑娘被车刮撞;

比如过马路时用小臂护着姑娘后背(不要真的贴上去),随时防止意外;

比如下台阶时伸手扶住姑娘,避免姑娘不慎摔倒…

其实,能让姑娘对你印象满分的,往往就是几个细微的小动作。

4、一定要送姑娘回家

无论任何性质、任何形式的聚会,确认客人们是否安全到家都是一种令人舒畅的礼仪。

当姑娘一个人参加聚会或约会时,男性必须做的事,就是真诚的表达送她回家的意愿。

一定记住,这不仅仅是礼仪,更是为了姑娘的安全,绝非客套。

如果姑娘拒绝,也记得让她到家后跟你知会一声,以表重视;如果姑娘同意,便要护送到底。

至于姑娘会不会请你上楼喝茶,这重要吗?

「餐桌」篇

1、「Lady First - 女士优先」

在绅士文化的发源地英国,「Lady First」是亘古不变的真理。

至于「Lady First」的根本原则,就是让女士们最快、最早的享受到服务。

如果你和姑娘一起走进餐厅,记得抢先上前两步帮姑娘开门,请姑娘先进。

英国的威廉王子就做得很好。帮妻子、奶奶开门时,动作表情都非常到位,堪称典范:

进餐厅后,任何情况下,男士都应该让姑娘先选座位。

姑娘选定座位后,记得帮姑娘把椅子从桌子下拉出来。能把椅子拉到最合适的位置是项技术活,一般标准是距离小半步左右,可以让姑娘最轻松的入座。

这一点,美国的奥观海同志做的就让英国女王非常满意:是个懂礼貌的好小伙。

对了,一定不要把椅子拉出太远,除非你不想再跟姑娘见下一面。

此外,让姑娘先点餐也是比较基础的礼仪。

即使服务员没眼力,只递给你一份菜单,你也要将菜单先交给姑娘。如果姑娘将菜单推给你,便不要再次推辞,大方接过菜单,一边询问姑娘口味一边点菜。

记住,永远让姑娘做选择题,而不是填空题。

不要问「你喜欢吃什么?」这种处男才问的弱智问题,姑娘只会说「都行」。

可以直接问「有没有忌口?」、「吃XX可以吗?」,间接地将决策权交给姑娘,就能让姑娘避免「不好意思主动要求点菜」的尴尬。

如果是初次见面,建议不要点「灌汤小笼包」、「撒尿牛丸」这种会射出不明液体的食物,把能预见的尴尬场面扼杀在摇篮。

即使吃一道菜,「Lady First」仍然是体现礼仪的重要原则。

第一,让姑娘先动筷。

第二,把一道菜的最后一份留给姑娘。

2、吃饭「吧唧」嘴,到底是不是没教养?

提到礼仪,永远避不开吃饭「吧唧」嘴的话题。

首先可以确认一点,在**大部分地区,吧唧嘴都是不礼貌的行为。

但是,在南方某些省份,吃饭发出「吧唧」的声音则是表示食物好吃,是对做饭人的尊重,更是有礼貌的表现。

所以,用吃饭「吧唧」嘴去衡量一个人是否懂礼貌,根本没道理。

但如果在多数人吃饭都不发出声音的场合,最好考虑别人的感受,安静地进食,以免造成不必要的误会。

在特定场合尊重别人,本身就是一种礼貌,不是吗?

3、姑娘起身时,男性记得陪同

用餐过程中,如果姑娘需暂时离开(比如上洗手间),千万别傻坐着只顾自己吃饭。

至于男性应该如何回应,超过200年历史的西方礼仪巨著「克尼格礼仪大全」这样描述:

如果只有你与姑娘二人用餐,对方起立时,男士应放下餐具起身回应,等对方转身走开后再坐下。

如果多人一起用餐的情况下,无需起身,只要用眼神配以微笑点头回应对方即可。

4、结账时,对服务员一定要友善

用餐即将结束,差不多要买单。

不懂事的直男总习惯于把手一举,高喊「服务员买单!」于是周围的人全看着你这一桌,连姑娘都涨红了脸。

安静的买单也是种礼仪。你大可以趁服务员从你身边经过时轻声叫住他,并有礼貌的说「请帮我们买单」。

一般情况下,对待服务员的态度就反映着一个人的素质。

「聊天」篇

不少直男都有这样的体验:

面对面聊天时,没说几句话姑娘就开始四处张望、翻手机。聊微信时,人家给你回复的都是「嗯」、「是吗」、「呵呵」这样的敷衍。

别想太多,人家就是不想理你了。

虽说姑娘的心思难猜,但姑娘不想理你,一定有她的原因,八成是你在和姑娘聊天过程中,说了冒犯姑娘的话。

那么和异性的聊天中,有哪些礼仪需要注意?

1、面对面聊天,声音太大或太小

无论是男女独处一室,还是在人多嘈杂的公共场合,都应该将声音控制在你们二人听清楚即可。

声音过大,会让姑娘觉得吵闹,在公共场合还会影响他人。声音过小,不仅让姑娘听不到,还显得你不自信、气场弱。

在控制好音量的情况下,语速不要太快,避免别人听不清。关键是,万一用力过猛,喷姑娘一脸唾沫星子,你道歉都没用。

2、不要只顾自我表达

无论什么场合,只顾抒发自己的高谈阔论,炫耀自己的专业知识,而不顾身边人是否能听懂,这都是不尊重他人的行为,在姑娘面前也一样。

直男最常犯的错误就是自说自话,强行输出自己喜欢哪部美剧,爱打哪个游戏...结果人家一点都不关心,你说尴尬不尴尬。

关键是,这会让她觉得,你是个傻波一。

和异性聊天时一定注意:给对方说话的权利。

你可以引导一些话题,比如询问姑娘都喜欢看什么剧,看过什么书,从中寻找你们的共同爱好。做个聆听者,才是真正有礼貌的体现。

3、切忌过度赞美

当你想赞美一个姑娘,硬生生地夸最不可取:「你真漂亮」、「你太可爱了」、「你最大的优点就是聪明」...

大哥,假不假啊?

如果想赞美,请务必带上细节,比如「你今天穿的看起来非常舒服」、「你的眼睛笑起来很好看」、「你的做法,换成是我,我绝对做不到」,让对方明白:你是认真观察或思考过,是尊重自己的。

切记,夸赞女性时,最好避开「年龄」元素。例如「你看起来很年轻」、「你才XX岁?年轻真好!」,人一定会变老,姑娘对年龄尤为敏感,别让对方误会你在讽刺她。

4、别把黄段子当幽默

不知道一些直男哪来的自信,竟然会觉得满嘴黄段子是幽默、能迅速拉近距离。

恰恰相反,在刚和姑娘认识不久时,这种行为就会暴露你的粗鲁和无礼——

即使姑娘本人比较开放,仍然会觉得你不正经。

5、别把嘴贱当调侃

不顾忌尺度的调侃,在老友间正常,对刚认识不久的姑娘来说,就是没教养。

想象一下,当姑娘发张自拍到朋友圈,你赶紧去评论「眼睛P的不好看,差评!」,希望引得姑娘跟你打情骂俏。

不好意思,姑娘只会说一句「关你屁事!」,然后把你拉黑。

你别不信,在姑娘面前口无遮拦的直男,一般破处都很晚。

6、千万不要随便打探私事

如果以上雷区你有幸都避开,以为能聊点深层次的,于是双手一抱表情严肃地问姑娘「你有过几个男朋友?」、「你的父母是做什么的?」「你月收入多少?」…

**雄性单身狗有2亿,95%都栽在同一点:爱查户口。

关系不够深厚,姑娘的私事不要随意打听。

记住这不是情商,是礼仪。

7、面对面聊天,肢体语言不能乱做

在面对面和姑娘聊天的时候,你每一次摆手,每一次摇头,都能影响你讲话的内容。

适当使用肢体语言,动作不要太大。像小丑一样夸张的动作,会让对方觉得莫名其妙,注意力也会从你说话的内容上偏离。

也不要做一些会让人产生误会的动作,比如说用手指着对方说话,多数情况下,人们只有在指责或唾骂时才会做这个动作。

除此以外,说话时不要驼背,这会让你看起来不自信且猥琐。挺胸坐直,如果找不到坐直的感觉,有意识的下沉双肩,就能自然挺胸,看起来自信满满。

8、姑娘说话时,你该怎么做

姑娘主动开口聊天时,你怎么应对很重要。

如果你坐着,记得把上身略微向前倾,这表示你对她的话感兴趣。切忌倚在椅子背上或眼神游离,人只有在放松且注意力不集中时才会这么做。

另外,对方讲话时,不要把手插在裤兜里,更不要双手环抱,这些动作往往表示防备、抗拒和质疑。

最关键一点,绝对不要在姑娘讲话时看手表和手机!这会让别人以为你在赶时间,要么就是不耐烦了,想让她赶紧闭嘴。

说到这里,男性需要的基本款礼仪差不多介绍完了。

但是,杜少一定要强调一句,也是最关键的问题:

重视礼仪,绝非让你把礼仪当成勾搭姑娘的套路。更不要以为学会礼仪、装装绅士就能跟姑娘发生点什么。

一切礼仪,出发点都只有一点:尊重他人。

要相信,只有学会发自内心的尊重别人,你才会变成一个更好的人。而这,才是最重要的。

关注微信公众号「杜绍斐」,ID:shaofeidu,查看更多文章

职场教训

如果长篇累牍讲道理是种错,提炼成几句话的内容才算知识,那么现有各行各业的教材都用几页纸就可以解决了,周易提炼之后只有八个字概括,看完就算懂周易了?--城年
https://zhuanlan.zhihu.com/p/24876750
假设屏幕前的你正在做多重职业,或者准备从事多重职业,那么,抽点时间,看看这些职场经验锦囊,觉得某一条不对,一笑而过即可,重要的是要有印象,将来吃亏的时候,可以在反思的时候知道自己错在哪里了。

1,永远不要尝试跟同事成为朋友!朋友可以成为同事,但是颠倒过来不行。在低头不见抬头见,利害关系最大也不过拿点奖金涨个职称的小城市中,都可以为这点利害关系翻脸,在错一步就影响很多年甚至改变仕途的大城市中,只是转念之间而已,在利益与所谓朋友之间,选择是很容易出现倾向的。

如果觉得这一条是错的,要么在职场上太弱,要么资历太浅,要么是真正的利益冲突还没出现。曾经有人在电话那边跟我讨论,力图证明我是错的,他有几个同事成为好朋友如何如何,我当做故事听了。一年半后,收到一条短信,陌生手机号发来的,“年哥,你是对的,很受伤,换工作了”,寥寥几个字背后,应该有很长的故事吧。

保持很好的同事关系就可以了,如果不能区分朋友和很好的同事之间的界限,那我也帮不了太多,留一句话供参考吧,朋友,可以无话不谈;同事,少说话,尤其是心里话。

2,对于自己从事多重职业这件事,要低调,尤其,记得尤其是不要提你在多重职业赚钱这件事,你可以提认识很多人,但是不要提赚很多钱。

无论在职场,在学校还是在生活中,每个人都会有看到第一眼就不喜欢的人,回想一下自己是不是这样。

在职场中,如果你的非工作收入是其他人十倍以上,这些人基本不会嫉妒你,但是如果你的非工作收入是其他人一倍,两倍,三倍的时候,是招人恨的,对,有些人就是自己不努力,但是看不得别人好,人性的阴暗面,无法完全消除。

如果你处在以上两者的交集位置,会很惨的。一些人跟你没有直接的利益关系,但是,就是看你不顺眼,刚好你还有额外收入引发他们的嫉妒,在谈及你的时候顺便加点黑料就很正常了,而可怕的事情是,因为这些人跟你没有直接利益关系,他们的评价往往被别人认为是客观的!

假设A喜欢摄影,如果A的本职工作与工会,综合办,工会等宣传工作无关,那就不要在工作中摆弄与摄影相关的内容;如果B是极客或者数码爱好者,工作与最新硬件和测试无关,那就不要在工作中摆弄最新的数码产品,尤其是AB还偶尔指着爱好偶尔赚点银子,那就彻底放弃这些举动!

你可以在各种晚会年会运动会等需要的场合冲上去展示自己,平时尽量低调,记得树大招风的道理。千万千万不要跟同事谈自己做其他事情赚了多少,如果你的身家实力不能将对方远远甩在身后,对方会觉得你是在炫耀,尽管你的出发点只是聊聊天,背后给你负面评价就是分分钟的事情。

3,尽量不要有竞业从业行为,这个是要受到谴责和制裁的,尽量从爱好入手,这个前面说过了,这里再强调一下。当自己其他职业从业时遇到了熟人或者同事的时候,不要躲避,要大大方方的打招呼,对方问你在做什么的时候,大大方方回应:“朋友的事情,过来帮忙”。

现实中的人,朋友多是社交能力强的展现,这个是加分项。

在婚庆场合中,C做摄像师当兼职,遇到同事D,D跟主办方很熟,即使CD坐到一桌喝酒,都不要尴尬,毕竟朋友那么多,主办方的好朋友推荐C来帮忙,帮忙之后递个红包都是完全可以的。

无论在小城市还是大城市,一个人只要没有恶习(比如赌博、酗酒、打架、借钱不还等),可以为各种朋友的事情忙前忙后,是很有面子的。如果有人拿这个做文章,基本只会招来倾听方的质疑。

赚钱了可以给大家买点零食,或者请大家吃饭,也不要提自己赚钱一类的事情,煽煽情就好,“觉得跟大家在一起特别开心,觉得你们就像家人一样,就想跟你们一起吃饭……”只要你在职场,这种话在饭桌上肯定都听过,但是,这些话就是耐听!

这样,当你某一天因为兼职被人嚼舌根,也会有人替你抱不平,“XX天天请大家吃饭,不做点兼职还不得喝西北风啊,瞧你酸溜溜的样,你请大家吃过几次饭?!!!”

当场就怼回去了,懂吗?!然后还会有人同情你,请你吃饭。

4,如果你做的多重行业是实业,有摊位有门脸有公司那种,当有人问起的时候,不管生意多好,一律回应不赚钱!这句话记准喽。

E跟别人说自己公司赚了多少多少,F直接给舅舅打了电话,他舅舅是税务部门的小领导……这种狗血故事就不讲了,虽然剧情狗血,可这种案例,每天都在真实发生。

参考上面的观点,赚钱招人恨,不赚钱会博得同情,圣母心这东西,发作起来天大的错都可以容忍的!XX做错事,你们知道Ta有多可怜吗,你们知道ta有多努力吗……

如果有一天我被人黑,你们记得我有多努力打字就好,毕竟我开过的公司要么倒闭要么半死不活。

5,在职场,其实就一句话,人言可畏。如果你跟主管领导关系特别好,那么可以忽略上面所有内容,只要领导挺你,其他的人评价屁都不如。

但是,要考虑一件事,风水轮流转,领导总是要换的,一朝天子一朝臣这句话听过吧。

总而言之,自己是多重职业者这件事尽量低调处理,如果赶巧成名了,低调也不是错。据说《三体》作者刘慈航初露头角之时,也是顶着不少压力和绯言绯语的,起点上很多自己有工作,把写作当成爱好,结果成神的人,也有过同样的困扰。

这个世界上,没有任何职业可以彻底摆脱人际关系处理这件事,遇到问题时选择逃避是不对的,积极面对才是正道,这也是我写这个系列文字的初衷之一。总有人这山望着那山好,我来告诉你,那山跟这山一样,也住着很多人,如果你在这山生活不下去,那边也一样。

谈谈对 Web 安全的理解

作为一个前端 er,掌握必要的网络安全知识是必要,下面我整理了几种常见的网络攻击方式及防御技巧,本文内容来自网络,仅供参考。
CSRF 攻击

CSRF(Cross-site request forgery), 中文名称:跨站请求伪造,也被称为:one click attack/session riding, 缩写为:CSRF/XSRF

CSRF 可以简单理解为:攻击者盗用了你的身份,以你的名义发送恶意请求,容易造成个人隐私泄露以及财产安全。

如上图所示:要完成一次 CSRF 攻击,受害者必须完成:

登录受信任网站,并在本地生成 cookie
在不登出 A 的情况下,访问危险网站 B
举个简单的例子:

某银行网站 A,它以 GET 请求来完成银行转账的操作,如:

http://www.mybank.com/transfer.php?toBankId=11&money=1000
而某危险网站 B,它页面中含有一段 HTML 代码如下:

<img src=http://www.mybank.com/transfer.php?toBankId=11&money=1000>
某一天,你登录了银行网站 A,然后又访问了危险网站 B,这时候你突然发现你的银行账号少了 1000 块,原因是银行网站 A 违反了 HTTP 规范,使用 GET 请求更新资源。

B 中的 以 GET 方式请求第三方资源(指银行网站,这原本是一个合法的请求,但被不法分子利用了),由于你此前登录银行网站 A 且还未退出,这时候你的浏览器会带上你的银行网站 A 的 Cookie 发出 GET 请求,结果银行服务器收到请求后,认为这是一条合法的更新资源的操作,所以立刻进行转账操作,这样就完成了一次简单的跨站请求伪造。

银行发现这个问题后,决定把获取请求数据的方法改为 POST 请求,只获取 POST 请求的数据,后台处理页面 transfer.php 代码如下:

<iframe name="steal" display="none">             </iframe> 因为这里危险网站 B 暗地里发送了 POST 请求到银行,通过一个隐藏的自动提交的表单来提交请求,同样地完成了转账操作。 可以看出,CSRF 攻击时源于 WEB 的隐式身份验证机制!WEB 的身份验证机制虽然可以保证一个请求是来自某个用户的浏览器,但无法保证该请求是经过用户批准发送的。 那么如何进行 CSRF 防御呢? CSRF 防御可以从服务端和客户端两方面着手,防御效果是从服务端着手效果比较好,现在一般 CSRF 防御液都在服务端进行的。 关键操作只接受 POST 请求 验证码: CSRF 攻击的过程,往往是在用户不知情的情况下发生的,在用户不知情的情况下构造网络请求,所以如果使用验证码,那么每次操作都需要用户进行互动,从而简单有效地防御了 CSRF 的攻击。 但是如果你自啊一个网站作出任何举动都要输入验证码的话会严重影响用户体验,所以验证码一般只出现在特殊操作里面,或者在注册时候使用。 检测 Referer: 常见的互联网页面与页面之间是存在联系的,比如你在 腾讯首页 应该找不到通往 http://www.facebook.com 的链接的,比如你在某论坛留言,那么不管你留言之后重定向到哪里,之前的网址一定保留在新页面中 Referer 属性中。 通过检查 Referer 的值,我们就可以判断这个请求是合法的还是非法的,但是问题出在服务器不是任何时候都接受到 Referer 的值,所以 Referer Check 一般用于监控 CSRF 攻击的发生,而不用来抵御攻击。 Token:目前主流的做法是使用 Token 防御 CSRF 攻击 CSRF 攻击要成功的条件在于攻击者能够准确地预测所有的参数从而构造出合法的请求,所以根据不可预测性原则,我们可以对参数进行加密从而防止 CSRF 攻击,可以保存其原有参数不变,另外添加一个参数 Token,其值是随机的,这样攻击者因为不知道 Token 而无法构造出合法的请求进行攻击,所以我们在构造请求时候只需要保证: Token 要足够随机,使攻击者无法准确预测 Token 是一次性的,即每次请求成功后要更新 Token,增加预测难度 Token 要主要保密性,敏感操作使用 POST,防止 Token 出现在 URL 中 最后值得注意的是,过滤用户输入的内容不能阻挡 CSRF 攻击,我们需要做的事过滤请求的来源,因为有些请求是合法,有些是非法的,所以 CSRF 防御主要是过滤那些非法伪造的请求来源。 XSS 攻击: XSS 又称为 CSS,全程为 Cross-site script,跨站脚本攻击,为了和 CSS 层叠样式表区分所以取名为 XSS,是 Web 程序中常见的漏洞。 其原理是攻击者向有 XSS 漏洞的网站中输入恶意的 HTML 代码,当其它用户浏览该网站时候,该段 HTML 代码会自动执行,从而达到攻击的目的,如盗取用户的 Cookie,破坏页面结构,重定向到其它网站等。 例如:某论坛的评论功能没有对 XSS 进行过滤,那么我们可以对其进行评论,评论如下: <script> while(true) { alert('你关不掉我'); } </script> 在发布评论中含有 JS 的内容文本,这时候如果服务器没有过滤或转义掉这些脚本,作为内容发布到页面上,其他用户访问这个页面的时候就会运行这段脚本。 这只是一个简单的小例子,恶意着可以将上述代码修改为恶意的代码,就可以盗取你的 Cookie 或者其它信息了。 XSS 类型: 一般可以分为: 持久型 XSS 和非持久性 XSS 持久型 XSS 就是对客户端攻击的脚本植入到服务器上,从而导致每个正常访问到的用户都会遭到这段 XSS 脚本的攻击。(如上述的留言评论功能) 非持久型 XSS 是对一个页面的 URL 中的某个参数做文章,把精心构造好的恶意脚本包装在 URL 参数重,再将这个 URL 发布到网上,骗取用户访问,从而进行攻击 非持久性 XSS 的安全威胁比较小,因为只要服务器调整业务代码进行过滤,黑客精心构造的这段 URL 就会瞬间失效了,而相比之下,持久型 XSS 的攻击影响力很大,有时候服务端需要删好几张表,查询很多库才能将恶意代码的数据进行删除。 如何防御 XSS 攻击? 理论上,网站上所有可输入的地方没有对输入内容进行处理的话,都会存在 XSS 漏洞,漏洞的危险取决于攻击代码的威力,攻击代码也不局限于 script,防御 XSS 攻击最简单直接的方法就是过滤用户的输入。 如果不需要用户输入 HTML,可以直接对用户的输入进行 HTML 转义: <script> window.location.href="http://www.xss.com"; </script> 经过转义后就成了: <script>window.location.href="http://www.baidu.com"</script> 它现在会像普通文本一样显示出来,变得无毒无害,不能执行了。 当用户需要输入 HTML 代码时: 当我们需要用户输入 HTML 的时候,需要对用户输入的内容做更加小心细致的处理。 仅仅粗暴地去掉 script 标签是没有用的,任何一个合法 HTML 标签都可以添加 onclick 一类的事件属性来执行 JavaScript。 更好的方法可能是,将用户的输入使用 HTML 解析库进行解析,获取其中的数据。然后根据用户原有的标签属性,重新构建 HTML 元素树。构建的过程中,所有的标签、属性都只从白名单中拿取。 SQL 注入: 所谓 SQL 注入,就是通过把 SQL 命令插入到 Web 表单提交或页面请求的查询字符串,最终达到棋牌呢服务器执行恶意的 SQL 命令。 具体来说,它是利用现有应用程序,将(恶意) 的 SQL 命令注入到后台数据库引擎执行的能力,它可以通过在 Web 表单中输入 (恶意) SQL 语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行 SQL 语句。 SQL 防护: 永远不要信任用户的输入: 对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和双"-"进行转换等。 永远不要使用动态拼装 SQL,可以使用参数化的 SQL 或者直接使用存储过程进行数据查询存取。 永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。 不要把机密信息直接存放,加密或者 hash 掉密码和敏感的信息。 DDOS 攻击: 分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。 可以打个比方: 一群恶霸试图让对面那家有着竞争关系的商铺无法正常营业,他们会采取什么手段呢?(只为举例,切勿模仿) 恶霸们扮作普通客户一直拥挤在对手的商铺,赖着不走,真正的购物者却无法进入;或者总是和营业员有一搭没一搭的东扯西扯,让工作人员不能正常服务客户;也可以为商铺的经营者提供虚假信息,商铺的上上下下忙成一团之后却发现都是一场空,最终跑了真正的大客户,损失惨重。 此外恶霸们完成这些坏事有时凭单干难以完成,需要叫上很多人一起。嗯,网络安全领域中 DoS 和 DDoS 攻击就遵循着这些思路。 DDOS 攻击利用目标系统网络服务功能缺陷或者直接消耗其系统资源,使得该目标系统无法提供正常的服务。 DDoS 攻击通过大量合法的请求占用大量网络资源,以达到瘫痪网络的目的。 具体有几种形式: 通过使网络过载来干扰甚至阻断正常的网络通讯; 通过向服务器提交大量请求,使服务器超负荷; 阻断某一用户访问服务器; 阻断某服务与特定系统或个人的通讯。 SYN 攻击: 属于 DDOS 攻击中的一种具体表现形式。 在三次握手过程中,服务器发送 SYN-ACK 之后,收到客户端的 ACK 之前的 TCP 连接称为半连接(half-open connect)。此时服务器处于 SYN_RCVD 状态。当收到 ACK 后,服务器才能转入 ESTABLISHED 状态. SYN 攻击指的是,攻击客户端在短时间内伪造大量不存在的 IP 地址,向服务器不断地发送 SYN 包,服务器回复确认包,并等待客户的确认。 由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的 SYN 包将长时间占用未连接队列,正常的 SYN 请求被丢弃,导致目标系统运行缓慢,严重者会引起网络堵塞甚至系统瘫痪。 检测 SYN 攻击:检测 SYN 攻击非常的方便,当你在服务器上看到大量的半连接状态时,特别是源 IP 地址是随机的,基本上可以断定这是一次 SYN 攻击。 SYN 攻击防护: 缩短超时(SYN Timeout)时间 增加最大半连接数 过滤网关防护 https://zhuanlan.zhihu.com/p/25486768

php上传图片到微博图床

来自sf上一个问题
里面提到的python版本

def request_image_url(image_path):
    cookie = cookielib.MozillaCookieJar()
    cookie.load(cookie_file, ignore_expires=True, ignore_discard=True)
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
    image_url = 'http://picupload.service.weibo.com/interface/pic_upload.php?mime=image%2Fjpeg&data=base64&url=0&markpos=1&logo=&nick=0&marks=1&app=miniblog'
    b = base64.b64encode(file(image_path).read())
    data = urllib.urlencode({'b64_data': b})
    result = opener.open(image_url, data).read()
    result = re.sub(r"<meta.*</script>", "", result)
    image_result = json.loads(result)
    image_id = image_result.get('data').get('pics').get('pic_1').get('pid')
    return 'http://ww3.sinaimg.cn/large/%s' % image_id


def get_image(image_path):
    url = ''
    try:
        url = request_image_url(image_path)
    except:
        try:
            username = raw_input("输入新浪微博用户名:")
            password = raw_input("输入新浪微博密码:")
            nonce, pubkey, servertime, rsakv = pre_login()
            form_data = generate_form_data(nonce, pubkey, servertime, rsakv, username, password)
            login(form_data)
            url = request_image_url(image_path)
        except:
            print "登录失败,程序退出"
            exit()
    return url


if __name__ == '__main__':
    print get_image('/home/q/hexo/blog/source/img/angular-remove-table-item.jpg')

有2方式实现
你如果要用 http://picupload.service.weibo.com/interface/pic_upload.php?mime=image%2Fjpeg&data=base64&url=0&markpos=1&logo=&nick=0&marks=1&app=miniblog 这个 URL 的话
POST 参数必须是 b64_data,值为经过 base64 编码后的字符串

如果要使用 pic1 参数的话,则要用 multipart 方式进行上传,且 URL 中必须包含 cb 参数,cb 参数的值为 http://weibo.com/aj/static/upimgback.html?_wv=5&callback=STK_ijax_ 加(js)时间戳

###使用base64上传

$cookie = 'your cookie';//登录微博network获取
$ch = curl_init('http://picupload.service.weibo.com/interface/pic_upload.php'
    . '?mime=image%2Fjpeg&data=base64&url=0&markpos=1&logo=&nick=0&marks=1&app=miniblog');

curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_VERBOSE => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ["Cookie: $cookie"],
    CURLOPT_POSTFIELDS => ['b64_data' => base64_encode(file_get_contents('./img.jpg'))],
]);

$res=curl_exec($ch);

{"code":"A00006","data":{"count":1,"data":"eyJ1aWQiOjMyNDMwMjYyMzcsImFwcCI6Im1pbmlibG9nIiwiY291bnQiOjEsInRpbWUiOjE0ODc3NDIyMDYuMzIxLCJwaWNzIjp7InBpY18xIjp7IndpZHRoIjo1MTAsInNpemUiOjUyOTMzLCJyZXQiOjEsImhlaWdodCI6MzMwLCJuYW1lIjoicGljXzEiLCJwaWQiOiJjMTRjYTczZGx5MWZjejcxejNyN25qMjBlNjA5NnE1ZiJ9fX0=","pics":{"pic_1":{"width":510,"size":52933,"ret":1,"height":330,"name":"pic_1","pid":"c14ca73dly1fcz71z3r7nj20e6096q5f"}}}}
$data=base64_decode($res['data']['data'])
{"uid":3243026237,"app":"miniblog","count":1,"time":1487742206.321,"pics":{"pic_1":{"width":510,"size":52933,"ret":1,"height":330,"name":"pic_1","pid":"c14ca73dly1fcz71z3r7nj20e6096q5f"}}}
//c14ca73dly1fcz71z3r7nj20e6096q5f就是微博图片id,访问http://ww3.sinaimg.cn/large/c14ca73dly1fcz39h7mo3j20e6096q5f即可打开图片。

###multipart 方式上传

      $cookie = 'your cookie';//登录微博network获取
       $post_data['pic1']=new CURLFile(realpath('sf.jpg'));
       $time=substr(strval(microtime(true) * 1000), 0, 13) . 1;
        $url="http://picupload.service.weibo.com/interface/pic_upload.php?mime=image%2Fjpeg&data=base64&url=0&markpos=1&logo=&nick=0&marks=1&app=miniblog&cb=http://weibo.com/aj/static/upimgback.html?_wv=5&callback=STK_ijax_".time();
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_COOKIE, $cookie); 
        //curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
        //curl_setopt($ch, CURLOPT_HEADER, 1);
        // curl_setopt($ch, CURLOPT_NOBODY, 0);
        $output = curl_exec($ch);
        $rinfo=curl_getinfo($ch); 
        print_r($output);
        curl_close($ch);

{"code":"A20001","data":{"count":2,"data":"eyJ1aWQiOjMyNDMwMjYyMzcsImFwcCI6Im1pbmlibG9nIiwiY291bnQiOjIsInRpbWUiOjE0ODc3MzQzMzUuNDU3LCJwaWNzIjp7InBpY18yIjp7InJldCI6LTIsIm5hbWUiOiJwaWNfMiJ9LCJwaWNfMSI6eyJ3aWR0aCI6NTEwLCJzaXplIjo1MjkzMywicmV0IjoxLCJoZWlnaHQiOjMzMCwibmFtZSI6InBpY18xIiwicGlkIjoiYzE0Y2E3M2RseTFmY3ozOWg3bW8zajIwZTYwOTZxNWYifX19","pics":{"pic_2":{"ret":-2,"name":"pic_2"},"pic_1":{"width":510,"size":52933,"ret":1,"height":330,"name":"pic_1","pid":"c14ca73dly1fcz39h7mo3j20e6096q5f"}}}} 
//从结果中获取pid即可。

这里需要注意php上传图片的处理,参考这里

if (class_exists('\CURLFile')) {
    $field = array('fieldname' => new \CURLFile(realpath($filepath)));
} else {
    $field = array('fieldname' => '@' . realpath($filepath));
}

更多参考PHP实现的微博图床上传轮子

composer require consatan/weibo_image_uploader:~0.5
// 引入 composer autoload
require './vendor/autoload.php';

$weibo = new Consatan\Weibo\ImageUploader\Client();

// 默认返回的是 https 协议的图床 URL,调用该方法返回的是 http 协议的图床 URL
// $weibo->setHttps(false);

// 上传示例图片
$url = $weibo->upload('./example.jpg', '微博帐号', '微博帐号密码');

// 输出新浪图床 URL
echo $url . PHP_EOL;

php strtotime bug?

strtotime 计算时间很方便,当然也可以用DateTime
相隔几天$diffDay = (new \DateTime(date('Y-m-d', strtotime($webinars['start_time']))))->diff(new \DateTime(date('Y-m-d')))->d;

默认31天计算
echo date( "Y-m-d", strtotime( "2009-01-31 +1 month" ) ); // PHP: 2009-03-03

date( "Y-m-d", strtotime( "2009-01-31 +31 day" ) );
=> "2009-03-03"
echo date( "Y-m-d", strtotime( "2009-01-31 +2 month" ) ); // PHP: 2009-03-31
SELECT DATE_ADD( '2009-01-31', INTERVAL 1 MONTH ); // MySQL: 2009-02-28

var isLeapYear = function(year) { return (year % 4 == 0) && (year % 100 != 0 || year % 400 == 0) }

// Today is May 31st
//All the following return 2012-04-30
echo date('Y-m-d', strtotime("last day of -1 month"));
echo date('Y-m-d', strtotime("last day of last month"));
echo date_create("last day of -1 month")->format('Y-m-d');

// All the following return 2012-04-01
echo date('Y-m-d', strtotime("first day of -1 month"));
echo date('Y-m-d', strtotime("first day of last month"));
echo date_create("first day of -1 month")->format('Y-m-d');
"first day of +1 month" or "first day of next month" or even "last day of next month"

Example:

$date = '2015-12-31';

echo date("Y-m-d", strtotime($date ."first day of previous month"));

$the_date = strtotime('31.01.2011');
echo date('r', strtotime('last day of next month', $the_date));

$the_date = strtotime('31.03.2011');
echo date('r', strtotime('last day of next month', $the_date));

never use '+1 month' and '-1 month' in strtotime. It's just bugged

date('Y-m-28', strtotime("2016-12-31 -1 month"))
=> "2016-12-28"
date('Y-m-28', strtotime("2016-01-31 +1 month"))
=> "2016-03-28"
date('Y-m-d', strtotime("2016-01-31 first day of +1 month"))
=> "2016-02-01"
$d = new DateTime('2015-01-31');
$d->modify('first day of next month');
echo $d->format('Y-m-28');
$the_date = strtotime('31.01.2011');
echo date('Y-m-d', strtotime('last day of next month', $the_date));

当遇到月为31日是 date('Y-m',strtotime('-1 months'));求的月份还是当月的
正确使用方式
echo date('Y-m',strtotime('first day of last month'));

echo date('Y-m-d H:i:s', strtotime('-1 month', strtotime(date('Y-m'))));

返回上个月的月份:
echo date(‘Y-m’, strtotime(‘midnight first day of -1 month’));
或者:
echo date(‘Y-m’, strtotime(date(‘Y-m-01’)) – 86400);
date_default_timezone_set('Asia/Shanghai');

date('Y-m',strtotime('first day of this month',strtotime('2017-02-14')));
=> "2017-02"
$first_day_of_month = date('Y-m',time()) . '-01 00:00:01';
$t = strtotime($first_day_of_month);
print_r(array(
date('Y年m月',$t),
date('Y年m月',strtotime('- 1 month',$t)),
date('Y年m月',strtotime('- 2 month',$t)),
));

月份列表里怎么出现了两个3月份,代码是大概是这样的:

$month[]=date('Y年m月',strtotime('today'));
$month[]=date('Y年m月',strtotime('-1 month'));
$month[]=date('Y年m月',strtotime('-2 month'));
$month[]=date('Y年m月',strtotime('-3 month'));
$month[]=date('Y年m月',strtotime('-4 month'));
$month[]=date('Y年m月',strtotime('-5 month'));
利用strtotime来计算最近了六个月份,这个bug之前没有被发现因为只有在每月的29,30,31号才会发作:因为php默认取当前时间来做计算,比如今天7月29号减去5个月应该是2月29号,因为今年的2月份没有29号,所以就到了3月份了。于是修改了下:

$month[]=date('Y年m月',strtotime('today'));
$month[]=date('Y年m月',strtotime('first day of -1 month'));
$month[]=date('Y年m月',strtotime('first day of -2 month'));
$month[]=date('Y年m月',strtotime('first day of -3 month'));
$month[]=date('Y年m月',strtotime('first day of -4 month'));
$month[]=date('Y年m月',strtotime('first day of -5 month'));
echo date('d/m/Y', strtotime('2011-05-31 first day of +1 month')); // returns 01/06/2011
strtotime('- 1 month', strtotime('2014-05-31 23:59:59')) 返回的是5月份的时间
http://picasso250.github.io/2014/08/14/n-month-php-strtotime.html
5月31日往前一个月是什么时候呢?自然是4月31号。可是4月没有31号,只有30号,那么我们就把4月31号映射进5月份,那不就是5月1号吗。

function n_month($n, $now = null)
{
if ($now === null) {
$now = time();
}
return strtotime("$n month", strtotime(date('Y-m-01 00:00:01', $now)));
}
// test
list($year, $month) = n_month(-1, '2014', '05');

function n_month($n, $year = null, $month = null)
{
if ($year === null) {
list($year, $month) = explode(',', date('Y,m'));
}
$year = intval($year) + intval(floor(($month-1) / 12));
$month = intval($month) + $n;
if ($month > 0) {
$month = ($month - 1) % 12 + 1;
} else {
$month = 12 - ((12 - $month) % 12)
}
return array(strval($year), strval($month));
}
carbon
http://locutus.io/php/datetime/strtotime/ phpbestpractices.justjavac.com http://laravel-china.github.io/php-the-right-way/
http://www.kancloud.cn/thinkphp/php-the-right-way/3126http://php.net/manual/zh/function.strtotime.php https://www.gamereplays.org/reference/strtotime.php

http://bugs.php.net/bug.php?id=44073

真心喜欢一个人

作者:belleR
链接:https://www.zhihu.com/question/31176110/answer/146184156
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

我知道你喜欢吃葱油饼 羊肉汤和辣的牛蛙
我知道你喜欢吃橙子 喜欢吃孜然味儿的锅巴
我知道你喜欢喝酒 喝可乐 喝苏打水 喝椰子汁
我知道你总是想着健康点瘦一点 却不爱一个人运动也不太爱吃健康餐
我知道你换季就可能会感冒 感冒就有点想撒娇
我知道你喜欢听小电音 喜欢王菲 喜欢有些民谣
我知道你艺术细胞很好 审美很特别 你也骄傲于此
我知道你不喜欢意外发生 计划被打乱 别人走在你前面
我知道你喜欢一切视觉上的美 知道你喜欢搞怪的照片
我知道你睡觉的时候会用手托着下巴 知道你的脚趾总是扭在一起

我不介意总是很晚回复我微信,只要你记得回复
我不介意你收藏各种各样美妞,只要你对我忠诚

别人会觉得你龟毛,而我觉得你只是太讲究
别人告诉我你自私,而我觉得你只是没安全感
别人说你有点奇怪,而我觉得你只是有你独特的方式

我不介意你的迷糊和失误,反正我们的旅程更重要和漫长
也不介意你不记得过纪念日,反正我喜欢你每天每顿饭都是纪念

我能陪你吃美食,也能陪你进厨房
为了让你有个美好的周末,我在不上班的日子寒风中尽量满足你的豆腐脑
我搞得定工作,也搞得定家务
我知道你怪我睡觉怪我发呆,只是觉得我在你身上投入的时间和精力少了
你不是生气,你只是小孩子在倔强的撒娇
我长得好看,身材也不差
没能出国留学也在努力拿新的硕士学位
我想你放弃了一个研究生,我必须得给你补上一个

我不介意你没有一米八,
我也喜欢大长腿,但再长的腿也没你在我心里高大
我不介意你嘟嘟的肚子,
我会嘲笑别的胖子不懂自律,但看你的肚子格外可爱

我半真半假的说出爱慕的言语
轻轻抚摸你的手背
轻轻亲吻你的眉眼
我会忽然长大陪在生病的你身边
为你随身带着各种纸巾
为你准备万一就能用到的东西

世事无常,而我已经做好准备
在你得意时陪你看遍美景
在你失意时与你携手同行

可就算我知道的再多
敌不过我没有千万身家
敌不过我的方向感奇差
敌不过我在家真的也是小公主

我准备的再多
也换不来你一句 我爱你
也换不来你一句 我养你
也换不来你一句 就你了

我知道就算我说了这些
在你眼里也就是一堆奇怪的肤浅的没有看透生活真相的废话
对情感你有你的计算方式,我没有。

你不懂珍惜你喜欢的东西,也不知道怎么争取你想要的
你以为暴力、冷暴力、威胁、淡漠能换来别人的屈服和改变
可真正让人改变的永远不是暴力,而是更宏大的爱
可惜你连怎么爱护别人都不知道,别提爱了
你只懂得你想,你要,你需求
你不在乎别人要什么,别人疼不疼,别人心冷了一次又一次还能不能继续爱你,信任你,包容你
你不在乎世界上好不容易有个理解你保护你爱惜你的人
而你轻而易举的因为你无节制的脾气不分轻重的价值观摧毁这段关系

而我 在你眼里的我 穷,矮,懒,笨,硬的我
我在乎 我太在乎了 导致你每次都以为我会认错

对没错,这次我依然认错
我睡觉确实太早,我家务做的确实不够勤快,我精力不够用没能在你之前规划好我们的旅行。
你说的都对。

关于教养

很多人把体贴旁人的心思或礼仪当成教养,

但注重礼仪是一种可以训练的习惯,

高级感更是一个带着距离的赞美词。

什么是教养呢?

大概就是对着最熟悉最亲密的人还能保持一份对陌生人的忍耐和宽容。

当父母因为年代文化或者认知问题有不当言语行为时,不面露不屑口出恶言。

在和最亲密的人争执或分手的时候,都能忍住所有的痛苦,不说一句伤害的话。

在彻底分开以后,别人问起,不说一句诋毁的话。

自己回忆起,也尽量只想对方好的方面,真诚的在心里祝福。

当你在凝视深渊时,

深渊也在凝视你。

作者:宁静致远
链接:https://www.zhihu.com/question/31818264/answer/138910288
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

1.给别人剪刀的时候刀口朝向自己
2.关门的力度
3.如果丢的垃圾里边有碎玻璃啊大头针什么的一定要留心 我一般是用白布胶带缠一圈后再扔 个人觉得是个蛮不错的办法
4.可以不喜欢某个人 但不要因为那个人而去诋毁ta所喜欢的人和东西
5.洗手后不要四处甩干
6.知人不评人
7.有分寸的信任 有理由的怀疑
8.开玩笑之前先确定一下对方有没有心情惯着你
9.看电影的时候请自觉保持安静
10.别总拿男生当钱包 也别总拿女生当炮友 这真的是人品的问题 一点都不严重 一点都不
11.“举手之劳”是施助后的自谦 不是要求别人帮你的理由
12.不拿食指指人
13.分手后也别摸黑对方的形象
14.别抖腿别抖腿别抖腿!!!
15.别人睡觉的时候自觉保持安静
16.外借他人东西的时候一定要征得物品主人的意见
17.集体吃饭的时候 夹菜时筷子不要捡来捡去
18.这世上没人欠你 过的好是自己挣得 过不好也别觉得是谁欠你
19.不喜欢就保持距离 没必要恶言相向
20.向别人借钱 再少也要记得还 这不是钱的问题 是人品的问题
21.不在公共场合揭别人短处 可能你们私交甚好 但你要考虑他的外界形象
22.别拿你好朋友的秘密去交换与另一个人的交情
23.对待父母耐心一点,再耐心一点
24.不仅仅是吃面的时候不发出声音 而且在别人发出声音的时候也不去打量人家
25.照片不要左右翻 对待生人和善些
26.不讽刺男生矮 不嘲笑女生胖
27.别人对你说了谢谢 你也应该说句没关系啊 一声不吭的走掉算怎么回事
28.去电影院或外出郊游的时候 怎么去的你怎么走好吗 别把垃圾随地扔
29.把每一句“我不会”改成“我可以学” 把“随便”改成“听你的”
30.别整天谎话连篇的 一句真话都没有 不然我会怀疑你是不是有人格分裂症
31. 去别人家的时候不要乱动人家东西 让你坐着你好生坐着就可以了 别对什么都好奇 好奇人家抽屉里放了什么 好奇人家礼品盒里装了什么 好奇她用的香水是什么味道 好奇她用的口红好不好看 就算你真的很好奇 跟她关系也很好 人好歹是物品主人 你倒是事先问人家一句啊
32.有孩子的麻烦你管好你家孩子 万一碰坏主人的东西 你说尴尬的是谁
33.如果有考试 你过了而你的室友没过 你好歹考虑点人家的感受 别没心没肺的像中了彩票似的 毕竟是跟你生活在同一间屋子里过日子的
34. 借人东西记得还 别非得等到人家开口跟你要

真正的教养,并不是他天生就比别人懂规矩,而是,当他发现自己做的不够好的时候,愿意变得更好吧。

这种愿意改变自己行为的力量,就是教养
平常没见几位知识分子能在电影院吃好东西后带走垃圾;没见几位校友吃完食堂后整理好餐盘;没见几位同班同学捣腾干净自己的座位。
我一直觉得清洁工是清理地上的浮尘、天上的落叶的,不是来打扫你漏下的爆米花、翻倒的可乐、粘在地上的口香糖的!
不给任何人添麻烦,在我看来是最高级、最有教养的事情了。
可能同学说得没错,泡饭老板真是个绝世高人也说不定。
下雨天,开车路过水坑减速的司机是最让我刮目相看的一类。也许看不到他们的脸,但好感倍增
以后和别人出来吃饭,如果位置调不开的,记得把正对洗手间的那个座位留给自己,要不吃东西时一抬头就是卫生间,别人心里多少会感觉怪怪的。

简短一句话,真是于无声处见惊雷,没想到平日里大口吃肉大碗喝酒的父亲还有这等细腻小心思,顿时形象又丰满了两分。
无论男女,在酒桌上,能不频繁劝酒,不蛊惑开车的人喝酒,不讲老掉牙是个人就听了八百遍的荤段子,不当众拿竹签剔牙还不捂嘴,不故意刁难服务员,不借着酒劲儿张嘴必「想当年」,不把牛逼吹到天上去的,我都觉得蛮有教养的。

恋人间能适当克制自己,尊重对方的生活习性和卫生习惯的,也是蛮有教养的,比如对方吃不得香菜,就别满嘴香菜味儿索吻,不吻就是不爱你。

也别一嘴大蒜味儿不刷牙就准备关灯投入战斗,每次亲密前都洗个痛快澡,哪怕出门前才洗过,但洗澡这个行为会给对方一种心理上的洁净感,正常人都会感觉舒适些。

另外在外人面前,给恋人多留些颜面,不仅是教养,也是很聪明的恋爱方式。

有些人偏偏是反过来的,在家里跪键盘,到了外面,恨不得化身银枪小霸王,指东喝西的,恋人强忍了气,回家后当然要撒出来,于是由跪键盘升级为跪鼠标,恶性循环。
1.公共场所不喧哗。
比如早上坐地铁,身边有人睡觉,这时选择安静显得很有修养。

  1. 进门时注意身后,帮别人扶下门。上电梯时类似,帮别人按一下。

3.需要排队的场合,自觉分先来后到 。

4.和人交谈时,直视对方 。

5.对从事服务业的人礼貌客气,不倨傲。

6.人多时,不哗众取宠也不拼命争抢注意。在该说话时说有效的和有分量的话。

7.见前面有人摔倒,如能确定他无大碍,就当作没看到绕过去,避免别人尴尬。

8.帮了别人忙,不急着邀功和自以为特别了不起。

9.不轻蔑和胡乱议论同性,不盲从和追逐异性。一视同仁,就事论事。

10.在别人专心做事的时候,尽量不打搅。

11.爱美但不被美左右。对相貌不那么好的人,也能尊重礼貌。红颜枯骨,看透很难,可见修养。

12.借了别人的东西,像爱自己的东西一样珍惜爱护。及时归还,真诚道谢。

13.不肆意攻击他人的偶像,不自以为正确。

14.对孩子老人和动物,有耐心有爱心。

15.对强过自己的人,敬佩不谄媚,尊重不诋毁。

10个赚钱项目 月赚10000+

我依然坚信,我写的东西可以为无数个人,每月创造收入10000+

本文讲的就是这样的故事。

有好几个人问我最近写鸡汤怎么越来越多了,希望能更新点干货。其实缺少的不是干货,而是发现干货的眼睛和行动的双手。

我把无极领域写过的部分项目列举出来,每个项目都是一些朋友正在操作的,月赚1000~10W不等,很多操作项目的朋友在后续的反馈中甚至给了我不少的启发。

这些项目怎么来的?

我本身玩网络就10年了,写东西1年多时间也结识很多大神级的人物,交流中又发现N多项目。

以下排名没有先后。

一:店铺淘宝客

2016年我在无极领域博客更新了这个项目,目前为止依旧有很多人将此作为付费项目出售,因为这个项目稳赚,我很鼓励正在做此项目的人,收费教其他人怎么操作,帮助了别人,也能给自己带来收获。

预期收入:单店铺月收入1500元左右,运气好能达到5000~6000元(遇到大客户),项目可放大,开10个店,收入就能放大10倍。

项目原理:淘宝很多商品都有高额的佣金,你帮店家卖出去,店家给你5%~90%的分成。也就是卖100块的东西,你帮店家推广出去,他最高会给你90块钱。直接在阿里官网平台操作(阿里妈妈淘宝联盟),获取专属推广链接,用户通过你的推广链接购买,你就能获取佣金。

店铺淘宝客的具体原理是,我开个淘宝店,把那些高佣金的淘宝商品复制到自己的店,但是价格比他们低(售价100元的产品,佣金50%,即使我卖90元,比原店铺低10元还是有的赚),对于买东西的人来说也很有诱惑力,加上淘宝对新店铺的排名有扶持,所以用户很容易搜到我们的店。用户在我们店里买东西,我们就用带佣金的专属推广链接购买,收获地址填写用户的就行,这样倒个手,佣金就到了自己手里。

项目缺点:1.直接复制别人店的商品图片容易被扣分,扣到48分就会封店;2.需要垫资,用户在我这里买东西,我需要在原店铺店下单,假如我一周内出了20单,每单100元,我就要先垫资2000元,用户确认收货才能收回;3.淘宝如果政策变动 可能就无法操作了,虽然发生的概率不高。

风险规避:避免复制品牌店的产品,以及其他容易侵权的店铺,需要自己逐步总结。

二:灰色约炮

无极领域的好几篇文章都有写,操作简单,收入稳定。

预期收入:单个手机,平均日收入200左右,引流能力强的人,日收入上千,项目可无限放大。

项目原理:用各种交友软件(探探、派派、单身在线…)吸引色狼加微信,通过聊*之类的骗红包,或以提供上门服务为借口,骗色狼给你转账,单次能赚50~200元,转化率5%,具体的话术不难,就是想办法让对方给你转红包。

提高转化率的秘诀:找妹子录个声音(睡觉了吗?晚安!早上好!你在干嘛呢?吃饭了吗?我洗澡去了!)用微信语言转发发给色狼,视频也有办法搞定哦,主要还是让大家防骗,其他的就不多说了。

项目缺点:违法!不建议做,以防骗为主。

风险规避:控制金额

三:支付宝到位

有流量的地方就有钱,做支付宝到位需要找一个好的产品。

预期收入:赚个零花钱,1000左右,项目可放大。

项目原理:支付宝用户量很大,而且质量高,在到位发布服务(手绘、算命、商业咨询、图片设计、PS转手绘、LOL陪玩…)自己搞不定的就去淘宝或猪八戒网花钱找人弄,倒个手就能赚钱,可以刷一些好评,这样转化率会更高。

项目缺点:出单率普遍不高,用来赚零花钱不错。

四:付费Q群赚钱

QQ用户量大,同城群排名靠前,愿意付费入群的人很多

预期收入:日收入几十到几百,主要看群的数量,20个同城交友群,一天赚100~200元没问题。

项目原理:Q群有付费入群功能,他们想加群,就得付费,例如做西安地区,可以把群定位在人员聚集的小区或学校,同时拉大量的女号进群,这些女号的的归属地最好也是西安,这些都会在Q群资料中显示,例如:80%是女号,60%是90后,90%都在西安地区,对于一个交友群来说,这个数据太吸引人了,色狼们趋之若鹜。加群10元钱,10个群,每天每个群进1个人,日收入就上百了。

项目缺点:1.这么多小号不好操作,淘宝买的僵尸粉,资料填的一般不是一个城市,这个困难自己想办法克服;2.加群后5分钟内退群,这个钱就会原路退回,所以最好挂3~5个女号,有人进群就陪聊5分钟,扛过这几分钟,随便他退群,无所谓;3.Q群可能会被举报,这个不好说;

五:棋牌游戏项目

这是个大项目,做好了收入相当可观,陕西地区仅仅一款陕西麻将,月收入就能做到10万+ ,而且竞争对手很少。

预期收入:收代理费、卖房卡,月收入无法预计

项目原理:赌博是人类的天性,玩牌的人充值积分,积分可以提现;也可以平台直接卖房卡,用户买个房卡就可以开个房间玩牌。

项目缺点:投资大,单个游戏10000起,容易被同行攻击,有点法律风险。

风险规避:内容有点多,还是参考原文吧《棋牌游戏项目解析 规避潜在风险 暴利!》

六:网易考拉分销

微信分销一直都很火,自带病毒裂变的属性,这个模式是市场检验的,其他微信分销平台基本都被封杀了,网易推出微信分销很稳定。在加上跨境电商的风口,还是值得一搞。原文:2017网易版淘宝客项目解析,20%的永久收益-无极领域

预期收入:邀请别人加入分销赚200元,下线卖出去东西自己有永久提成,自己推销里面的商品能获取4%~20%的佣金,这点和淘宝客有点像。收入不好说,有用户基础的人,一天赚个几万很轻松,纯新手无任何基础一天出几单也赚不了多钱。我刚发布这个项目的时候,如果有人狠心去做,收入还是很可观的。适合长期做。

项目缺点:个别人不喜欢分销的这种模式,感觉和传销一样,这个无解。

七:微博日涨粉100+,真实引流

流量=钱,这个公式不用我多说,大家都懂,平时的文章都有渗透这个观念,微博每天涨粉100以上,而且具有递增效果,一年5W以上真实活粉很容易,接个广告最少赚几百块,长期项目。

预期收入:坚持1年,月收入5000起

项目原理:除了百度搜索外,微博搜索使用量也很大,用户搜#妈妈的朋友#,刚好就搜到你的微博,微博内容告诉他点赞后发私信,当他们发了私信后,微博会自动回复加微信索取电影,不说了,自己去感受,吸粉妥妥的。

项目缺点:做的人越来越多了,往后效果会越来越差。

八:微博超级话题引流

微博一些热门话题的阅读量都是好几亿,发微博的时候#王俊凯#,这样他的粉丝们在话题页面就会看到你的广告。

预期收入:根据你的产品以及转化率,日收入几十~几百都有可能。

项目原理:微博热门话题自带流量,最新微博优先靠前,能带来大量曝光,通常几百个浏览量还是很容易搞的。

项目缺点:貌似会被举报,如果微博话题和你的广告相关度不高,转化率会很低,低到让你怀疑人生。

九:火中取栗,风险赚钱

P2P平台、资金盘绝对是骗局,但是前期铺垫阶段都会给予稳定的分红,投入后赚一票,立马走人。

预期收入:月收益20%左右,例如你投了10万,一月能赚2万。

项目原理:骗子行骗也是有周期的,前几布局阶段骗子会投入很多,我们就在这个阶段入局。

项目缺点:不要入戏太深,你惦记人家的利息,人家惦记你的本金。前期需调查对方的胃口,大骗子的钱更好骗一点。原文:被骗还能谋取暴利的策略,Q群操作精准流量日收入破千-无极领域

十:募捐赚钱

细细观察你会发现,所有募捐比较成功的项目都有一定的共性,其文案、照片是经过专业处理,能最大化引发捐款人的同情心,你把别人感动了,别人就会给你钱。

预期收入:募捐金额的10%~20%,根据你的募捐数额收入不等,厉害的团队,每月搞几十万很轻松。

项目原理:穷人需要捐款,可是没有经过专业文字美化是难以感动捐款的人,我们帮穷人美化文案,帮他们发起募捐,收取一定的佣金。

项目缺点:我认为没缺点,利人利己的好事,但一些人可能会有道德负累。可以参考我这几篇文章《烈日灼心,做好事 收入颇丰的项目!》《攻心文案5天270万,比贩毒更暴利且合法》

十一:垂直细分领域网站赚钱

网站赚钱并不轻松,因为没多少技术门槛,做的人多,属于充分竞争市场。但还是有部分人闷声发财,那就是细分领域,门槛很低,盈利可观。

预期收入:月收入10000起,稳赚。

项目原理:百度搜“楼凤”“同志”“原味丝袜”“xx洗浴中心”,关键词前面可以加地区前缀,例如 上海楼凤,会发现这类网站全站几乎都是广告,部分网站只为付费会员开放,盈利可观,而且竞争度很低。

项目缺点:灰色擦边。

风险规避:用国外主机和域名做网站。

去年我还写了一篇关于群控文章,当时市面上还没有几家在做,售价很高,如今也已遍地开花。

还有这些文章:微信淘宝客、利用宗教赚钱、合理的欠钱不还、骗裸照并赚钱、Q群淘宝客、发起同城活动赚钱….

每一篇都发在我的博客,而且免费公开。

我不清楚什么是干货,难道要手把手教?

你已经毕业了,再也没人会像学校里老师那样教你,大家都很忙。

即便你花钱找人培训,但是培训你的人也很忙,他们大部分都不会耐心去回答你的每一个问题。

我搞网络的,懂他们。

我始终记初三中考前,成绩一塌糊涂,人生一片灰暗。

我迷上了网络,无意中接触到黑客,自此我未来的三年都在钻研黑客技术。

我发过无数个在吗、你好、大哥…

然而,大家都很忙,我的姿态已经够低了,但是没人理我。

确切来说只有一个人认真回复我了,至今我依旧加着他的QQ号,10年了,现在偶尔还有联系。

我还记得有个对我来说只能仰望的女黑客。

多年后的一天,以她的QQ为线索,我找到她住址、照片、性格特征,看到她结婚的照片…

我突然感觉,这个女人好平凡,当初真是瞎了狗眼。

人啊,总在成长。

总有一天,你会觉得自己曾经是个**。

值得庆幸的是,当你这么觉得的时候,一定是你成长了。

上人用道,中人用术,下人用力。以道驭术,方能长久。

道是规律,术是方法策略,力是蛮力。

一个大石头挡在路上,用蛮力硬推就属于下人,知道找根棍子做杠杆撬动的人属于中人,根据周围地势或挖坑、或填土、或杠杆,因地制宜,因势导利就是上人。

先秦时期“以道驭术”的观念就已经出现,我这算是抄袭古代大能的观点。

前几天写了降维打击在现代商业成功应用的文章《降维打击 谎言与真实 暴利与亏损》

有个人在文章评论说,这就是田忌赛马。

对啊,这就是田忌赛马。

你看,道理还是原来的道理,只是换了个名字罢了。

很多朋友好奇我平时看什么书,其实没什么。

这些根本不是大家想象中的赚钱秘籍,只是一些很质朴的道理。

说实话,我记不住多少东西,只是闲了就看看,陶冶情操。

能赚钱就好好赚,赚不到至少也要有个好心情。

上学的时候,尽量好好学习,实在学不好就玩好,别辜负的青春。

我最失落的事情是大学的时候,没能好好泡几个妹子…

以至于钱没赚下,也没玩好,学习也没弄好。

人,还是得偏执一点,什么都想要,就什么也得不到。

唯有偏执狂方可生存。

我之前的误区就是想过喜欢的生活,还想赚好多钱,我试图在这里找一个平衡点,最终却发现一切只是徒劳。

在偏执狂的的世界里,只要他还没有死,他便无敌。

做项目也一样,你不放弃,你就必定不会输。

写很多技巧,其实最大的技巧就是没有技巧。

大音希声,大象无形。

最近发生一件有趣的事,有人硬要给钱。

没人不爱钱,我也是。

如果有人给我钱,但我明确拒绝了,那肯定是钱不够多。

当有人告诉你不是钱的问题,事情往往就是钱的问题,这个规律适用于任何人。

当然,这些都不是重点,真正的微博运营秘籍就在对话中。

他们的新浪微博是@大魔宙,要付费转载我在知乎写的一个有关骗术的文章。

帖子中我就注明了,可以免费转载,对话中我也给他说,不用给钱,直接转载就行。

还是到账了150元。

对话中,他说的运营的秘籍是,不买粉不买转发评论点赞,扎扎实实做内容,相信内容本身的力量。

这个说法和我的想法完全一致。

你看,他的行为感召了我。

我给写出来,势必会有一部人关注,涨粉几百个不成问题。

换句话说,谁出150块让我给他打个广告,我必定不会干。

钱太少了…

当所有人都变得投机取巧,坑蒙拐骗的时候,你不妨做个好人。

不是为了良心,而是认真做事情,真的会有很多收获。

无极领域原创

所有被删掉的文章 都发在微信公众号:wujiyyy

个人博客:http://1230.la/2965.html https://zhuanlan.zhihu.com/p/25531259

互联网创业公司黑话指南

作者:刘飞
链接:https://zhuanlan.zhihu.com/p/25530313
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

  1. 老板黑话

你来我办公室一下 = 老子又想到了绝妙的idea
得专注用户体验 = 界面画的好看点
产品气质不够年轻 = 饱和度通通调最高
产品气质不够成熟 = 界面通通做成黑的
产品不够大气 = 我也不知道哪不好反正就是不好

要精致的感觉 = 抄苹果
要利用用户的固有习惯 = 抄同行
要追求流行设计趋势 = 抄微信/淘宝/滴滴…
你说的这是另一个问题=我说的才是对的
你说的跟我是一个意思=我说的才是对的
我们讨论的是两件事情=我说的才是对的(感谢 @silence

我们是弹性工作制 = 加班不给钱
我们是扁平化管理 = 公司没几个人
我们会给你很多期权 = 不会给你很多工资
我们每天都有果盘! = 可能是公司唯一的福利了

当务之急是抢占市场 = 快狂发补贴
快速建立用户群体的壁垒 = 快拉他们进微信群
要让用户产生自发传播 = 快让他们转发朋友圈

为了健康发展我们要启动下轮融资 = 公司没钱了
我们辞退了一些跟不上公司发展的同事 = 公司没钱了
打补贴战其实不符合我们公司的理念 = 公司没钱了

  1. 产品经理黑话

产品设计应该大道至简 = 复杂的我也不会
用户都应该用完即走 = 回不回来我不管
这是常规的典型的做法 = 我抄的微信/淘宝/滴滴…

需求要抓住人性 = 多放美女照片
得考虑用户的使用场景 = 加个夜间模式
商业模式要形成闭环 = 放东西线上卖
要搭建完善的用户运营体系 = 做个积分商城
要有社交元素促进活跃度 = 塞一个IM

没有用户是因为没有做好运营 = 不是我的锅
体验不好是因为技术实现问题 = 不是我的锅
界面难看是因为设计水平不行 = 反正都不是我的锅
这个我回去再确认一下 = 别说了,老子没想到(感谢 @benwang

在吗?= 要改需求了
哥哥最近累吗要不要喝奶茶 = 要改需求了
那个…有句话…不知… = 要改需求了
下次肯定不改了 = 这次先改了再说

你的建议很好我们已经想到了 = 我擦说得真有道理赶紧提需求
你的建议我们会考虑的 = 这建议好像有点蠢
你的建议很有启发性 = 哈哈哈什么杰宝玩意儿

  1. 程序员黑话

你这个需求不清晰 = 我不想做
目前技术实现不了 = 我不想做
现在服务器性能跟不上 = 我不想做
去找老板/项目经理排期吧 = 我不想做(感谢@矮米粒 )

你怎么老改需求啊 = X了个X
你怎么设计的这么复杂啊 = X了个X
你怎么就给这么短时间啊 = X了个X

在吗? = 要延期了
弟弟最近累吗要不要喝奶茶 = 要延期了
那个…有句话…不知… = 要延期了
下次肯定不延期了 = 这次先应付了再说

你退后点说话 = 口水别喷到我宝贝键盘上
你别把胸压到桌子上 = 我宝贝键盘会受不了的
你告诉我输什么我自己来 = 你别用脏手碰我的宝贝键盘

你怎么还用 Word 啊? = Markdown 才是最好的写作工具
你怎么还在用 ThinkPad 啊? = Mac 才是最好的电脑
你怎么还在自学 Python 啊? = PHP 才是最好的语言

老板:
我们已经建立了客户基础 = 我们拉了个微信群
我们已经建立了庞大的客户基础 = 一个群装不下,我们有两个微信群
已经实现了O2O模式 = 我们有几个送外卖的
从细分市场干起 = 我们的外卖只送这一片
采用了大数据技术 = 日志没清空过,都攒着呢,有什么用我不知道
采用了云技术 = 在IDC机房租了几台服务器
我们在寻找合伙人 = 就差一个程序员了
我们市场前景巨大 = 就差一个产品经理了
我们有绝妙的idea = 就差一个UI设计了
(上面3个都改成“就差一个程序员了”也毫无违和感)
我们已经准备好了 = 就差风投来撒钱了
我们正在全力占领市场 = 压根没想过怎么盈利
我们非常欣赏您的投资理念 = 风投你该来B轮了

产品经理:
你看我Axure画的 = 这个需求很简单
这个需求很简单 = 怎么实现我不管
怎么实现我不管 = 明天上线

不看约会指南,只能一个人睡

作者:柳柳
链接:https://zhuanlan.zhihu.com/p/24737923
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

1、约会之前,尽量通过多个途径去了解你的约会对象。

很多朋友,在约会之前,除了知道约会对象的姓名、年龄、工作外,其他的情况几乎一无所知。在这种完全不了解对方的情况下约会,稍有不慎,会很容易出现冷场,双方都迷之尴尬。

所以,约会前,需要尽可能多地地了解对方。这是至关重要的。知己知彼,才能百战不殆嘛。

怎么去了解约会对象呢?通常,分以下几种情况:

情况一,你们平时有聊过,能够看到对方的朋友圈。我们就可以通过对方朋友圈展示出来的信息,收集、分析她或者他的兴趣爱好、情感需求、自身价值、性格看法、开放程度等信息。

情况二,你们是同事、朋友、家人介绍认识的。这个就比较容易了,直接向朋友、同事、家人打听对方的情况,知道得越多越好。

2、约会之前,需要预先计划好约会的地点和内容。

约会地点,是需要花费一番心思的。如果是去吃饭,那么,就一定不能选比较吵的饭店就餐,哪怕它家的特色菜再好吃,也不要去。

在比较嘈杂的环境里,人们会变得比较烦躁不安,是没有太多心情进行谈话、交流的。

幽雅安静的茶座、咖啡屋是比较适合约会的地方。听着美妙的音乐,喝喝茶,聊聊彼此感兴趣的话题,顺便聊聊人生,谈谈理想。

如果约会对象跟自己之前就有一些来往,那么约会的地点和约会内容,就可以更多样了。

可以选择去爬山。既可以锻炼身体,也可以放松心情,欣赏风景。在爬山过程中,你将会有多次的表现机会,第一,你可以主动承担食物和水的包袱,第二,你还可以帮她拍照,第三,等她累得走不动了,你还可以名正言顺的拉着她走。

可以去公园散步。记得要让女生走内侧。大家可以边走边聊,也是蛮有意思的。切记,男生如果是第一次约会女生,尽量不要选择晚上来公园。这样会显得比较唐突。

还可以去游乐场。一些大人能玩的游乐项目,是助攻神器。

3、约会时,我们该怎么打扮呢?

第一次约会,女生当然要打扮得大方漂亮。但不要打扮得过于华丽、过于暴露。

身上的饰物有一两件点缀就好。不要到处都是饰品,也不要戴夸张的首饰。更不要为了彰显个性品味,打扮得另类、古怪。

男生也要收拾得干净整洁,发型清爽,衣服修身得体,鞋子要擦干净,不要留长指甲。

穿着要舒适,什么场合穿什么样的衣服。

有些女孩穿12公分的高跟鞋去约会,等到饭后大家一起散步时,走不了一会,就觉得脚疼痛难忍;还有些女孩为了穿衣服显瘦,在衣服里套了紧身衣,紧身衣太束缚,走一会就觉得勒得喘不上气;约会去爬山,脚蹬高跟鞋,身穿紧身衣,也是不合适的。

鞋子或者衣服让你感到疼痛不适,会分散你的注意力,会让你感到焦虑,同时会损耗你的自信心。找到一套即得体又舒适的服装,是必须的。

化妆要简单,以清新自然为宜。

有些女孩顶着大浓妆就出来了。还有些女孩喷的香水隔着十米都能闻到,味道浓得呛人。这些都是不合适的。

约会时,女孩需要适度的修饰。但是,妆容还是要以清新、自然为宜。有妆似无妆是最好的效果。

4、约会不要迟到。男女双方都不要迟到。

男生不要迟到,如果可以,可以提前一会到达约会地点。女生呢,也不要无故迟到。

有些女孩认为约会时让男性等待是女性的特权。有时为了自矜身份,还会故意迟到一会。

其实,这种**真的要不得。现代社会,都在提倡男女平权,无论男女,都应该互相尊重。

5、点菜时,先询问女方意见,或者有什么忌口的菜。如果女方没什么特别要求,男方主动点菜。

6、约会时,我们聊什么?

如果是在餐厅,可以聊聊各自喜欢的美食。通常,美食都会令人愉快。

谈论美食,你能了解对方的口味,找到双方的共同点。如果对方说在吃的方面有拿手绝活,你可以不失时机地夸一下,然后,接着问她,“听得我都流口水了,哪天让我一饱口福吧。”就算她知道你在恭维她,她也很受用。如果你也有一手,别忘了邀请她品尝你的手艺。

聊旅行。绝大多数人对旅行是很感兴趣的。你可以从自己最近去过的有意思的地方讲起,问对方去过什么美好的地方。相信她很乐于回答,也不会有什么戒心。为了让她打开话匣子,你再请她给你介绍一下,你只要做一个忠实的听者,她会很快对你产生好感。

这时你可以再主动一些,问她还想去什么地方,如果她说某某地方一直想去,你表现的机会就来了。可以勇敢地对她说“我也一直想去那。哪天有时间我们一起去吧。”如果她愉快地接受你的邀请,那么你们就有戏啦。

聊爱好兴趣。问问对方平时都喜欢做些什么,有什么爱好。这样的问题可以了解对方的业余爱好,也有助于挖掘双方的共同兴趣。喜欢唱歌,或是跳舞?喜欢运动吗?喜欢听什么音乐?喜欢看什么电影?诸如此类的问题,可以让你们增进彼此的了解。也可以给对方展示自己的机会。一举多得。

聊身边的朋友。如果你们有共同的朋友,可以聊聊共同的朋友。如果你不认识她的朋友,也可以聊朋友。有些女孩是很高兴谈她们的朋友的。

聊家乡风土人情。有些朋友说起自己的家乡,那就是打开了话匣子。气氛一下子就热烈了起来。

7、约会时,不适合聊什么呢?

不要谈论情史,也不要打听对方的情史。

不要聊健康问题。有些人刚开始约会时,就像在做个人报告。把自己的大病小病,身体状况,感冒发烧,来姨妈肚子疼等等一股脑都报告给对方,这样是很失礼的行为。

不要谈混乱生活方式,尤其是女孩。不要说什么约炮自由、曾经在酒吧买醉这类的话。

不谈政治、政策。第一次见面不适合讨论严肃,正经的问题。那些沉重的话题可能会升级为争吵,进而影响两人的关系。你也不想在餐桌上唇枪舌战吧。如果他和你的想法格格不入,那麽你可以转换一下话题,没有必要继续尴尬的辩论。

不谈金钱。不管你钱多钱少,都不要在约会时谈论这个话题。

不谈他人缺点。聊工作的时候很容易聊到老板、同事,不要说八卦,也不要抱怨,这会降低你自己的形象。

不谈父母。有些男孩在约会时,张嘴就说我妈说吃这个不好;我妈说这样的行为不合适;我妈说,我妈说,我妈还说。这样的语言,很容易招致女孩子的反感。约会时,少提,最好不提父母。

不要轻易谈论车子、房子。这些物质,少提为妙。车子那么大,不用显摆也能看到。更不要直接或者旁敲侧击地问对方,你家有没有房子,房子多大,车多贵。

9、约会时,态度要大方自然,谈吐要得体,不要过于紧张。

大家就是来互相了解的,没必要把自己搞得很慌张。更不要过分的装。约会时,有些朋友非得端着,让自己显得仪态万方。这样做,一是不自然,二是早晚被揭穿。

用八个字总结就是:用心、真诚、大方、自然。

最后,祝朋友们都能收获美好的爱情!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.