如果你是水瓶座
如果你是水瓶座
你一定是迷人的
水瓶座的人有着高贵的灵魂
这样的灵魂表现在执着
并且绝不屈服
很多情况下
你是直接的
正因为你的直接
所以你朋友甚少
这个是源于你苛刻的挑剔
其实也不仅仅是挑剔
你对于不屑的事物绝对不会多看一眼
你讨厌自私的人
却总被别人形容为自私的人
对此
你一笑而过
你出生在冬季
因此你性格坚毅
不从不为爱情低头
却可以为心爱的人做任何事情
在你的世界里没有金钱可以买到的幸福
如果不爱对方
你会直接说出来
尽管冰冷拒绝
你说出的那一瞬,就注定了
要么和水瓶座做朋友
要么什么都不是
水瓶座爱好广泛
像是旅游、书籍、宗教、艺术并且在很多方面有着惊人的造诣
不要误会
水瓶在这些方面仅仅是爱好
很难有一个水瓶座把这些爱好扩大为嗜好
内容的丰富和自身的充盈是水瓶座一生的愿望
水瓶座选人的入口很小
但是一旦长久接触之后你就会发现
他可以包容你的很多事情
尽管他对撒娇和装嫩极为反感
但是只要他爱你
那么你就是他世界里的baby
水瓶座没有反感的星座
但是只对一个星座的爱情不是特别感兴趣
这个星座来源于天秤座
水瓶座不喜欢天秤座的含蓄和思考
认为做任何事情不能简单直接是对诚实的最大的挑战
天秤座同样拥有美貌
会认为水瓶座相当的自恋
的确如此
水瓶座有多少自恋
其实是太自爱的表现
双子和双鱼都会执迷于水瓶座
大概是因为美貌的缘故
双子在水瓶座的眼中轻浮并且事故
双鱼太过纠缠
水瓶座很少选择以上两个星座来成就自己的爱情
白羊和狮子也会追求水瓶座
在爱情中水瓶座一直是被追求方
并且掌握着爱情的主动权
如果水瓶座觉得某个星座是不适合结婚的对象
这点主要来源于对方不成熟缺乏品位的印象
那么连约会的机会都不存在
除此之外的所有星座都可以接近水瓶座
只要是性格上的互补和生活上的关心
水瓶座会释放出居大的热情
水瓶座会是家庭中的好妻子好丈夫
家庭生活是他们追逐的唯一目标
很多人说天蝎座和摩羯座是很自我的星座
但是,在水瓶座面前
这两个的星座的自我显得多少有些迎合了世俗的味道
多少会根据世俗进行改变
但是水瓶座却从不为任何事情轻易的改变自己
心地纯洁的从来和天使一样
如果一个水瓶座爱上了你
他一定会大声的说出他喜欢你
大大咧咧却又小心翼翼的开始和你的约会
并且会对自己在约会中的小失误而揪心不已
他会用尽一切办法引起你的注意
想知道一个水瓶座是不是真的爱你
就看他有多么在意你对他的看法
如果他爱你
那么他会想尽一切办法占有你
并且营造一个只有你和他的空间
水瓶座的聪颖也是星座中少见的
这样的聪颖不同于天蝎的狡邪
不同于摩羯的世俗
是一种本质上的聪明
但是水瓶并不会因为这样的聪明去掌控别人
这点又是和狮子的本质区别
水瓶座是行走在世界边缘的人
沉醉在自我世界里的人
他们与世无争
但是也不允许世界伤害他们
如果你身边有水瓶座的朋友
你会发现
他们所说的话全部是真实的
他们的关心也来的那么直接
这样的直接超过白羊座和金牛座
因为在他们心中只有你
最后送给所有水瓶座的朋友们一句话
因你爱的小心
所以世界变得冰冷
你可以热情一些
但是不会改变你对爱情的执着
对于你来说
爱情就是生命和整个世界
全球最大BT网站海盗湾(Pirate Bay)提前回归
Pirate Bay(海盗湾)是全球最大的 BT 种子分享下载网站,去年 12 月因为遭到瑞典当局查封关闭服务长达 7 周时间。近日海盗湾以熟悉的 thepiratebay.se 域名继续上线运行,数据丢失情况并不严重。
Pirate Bay 在 BT 分享界(盗版界)“声誉卓群”,因为瑞典比较宽松的监管法律而获得了长久生命力。但在去年 12 月瑞典警方以违反版权法之名突然上门,查缴了数台服务器。
在被查抄后,thepiratebay.se 上线了一个临时网页,显示 thepiratebay.se 将在 2 月 1 日正式上线。不过这次他们提前了一天回归上线,并在网站上用凤凰取代了海盗旗。
10款Github上最火爆的「国产」开源项目
衡量一个开源产品好不好,看看产品在Github的Star数量就知道了。由此可见,Github已经沦落为开源产品的「大众点评」了。
一个开源产品希望快速的被开发者知道、快速的获取反馈,放到Github上面就可以了。
Github上有无数大牌产品:Bootstrap、JQeury、bower、Nginx……可惜都是歪果人搞出来的,他们都有一个共同的特点:全英文。
中国人普遍认为,英语和高数是这个世界上最难的学科。即使这个国家每天都向美国欧洲澳洲等国家地区输出大量的中国人,并且一直在中学奥数上保持让人抓狂的奖牌截获率。
于是就有了这篇文章的出发点。说实话,在动手之前我并不自信这篇文章能写出多少东西。毕竟一直以来中国人都是以「腼腆」著称,中国传统文化也不鼓励(我觉得说「打压」可能比较贴切)分享,而是鼓励藏着腋着。但是当我真正开始动手之后,所有顾虑完全取消了。
感谢Github,让我们有了一个优秀的共享平台,享受思想碰撞、参与优秀项目的激情。下面我跟广大的程序猿们,分享一下Github上最热的10款国产开源软件。(本人纯手动计算,按照星数点评,有些熟悉就说的多,不熟悉就少说。失误之处你给我指出来,我下次补上)
——————————————————————————–
Echarts
Echarts 是基于Canvas,纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。
所属公司:百度
Star:5204
https://github.com/ecomfe/echarts
提交时间:5/26/2013
优势:echarts提供商业产品常用图表库,底层基于ZRender,创建了坐标系,图例,提示,工具箱等基础组件,并在此上构建出折线图(区域图)、柱状图(条状图)、散点图(气泡图)、饼图(环形图)、K线图、地图、和弦图以及力导向布局图,同时支持任意维度的堆积和多图表混合展现。
劣势:在功能上比hightchars还是稍弱。对手机浏览器支持不是十分理想。
——————————————————————————–
Cocos2d-x
触控科技旗下产品,国内最火的2D游戏引擎,国内市场超过60%,国外也有非常好的市场占有率。跨平台框架,主业是2D游戏引擎,兼职有互动电子图书、Demo演示以及其他图形化应用。主要开发语言是C++。
所属公司:触控科技
Star:5050
https://github.com/cocos2d/cocos2d-x
提交时间:6/4/2010
优势:社区发达,便于初学者上手和解决问题;性能高体积小;后续开发难度曲线比较平滑;spine、TexturePacker、Cocostudio等工具让引擎方便的处理各种资源和UI问题。开发者很方便的研发出适合自己项目的编辑器。
劣势: Cocos2d-x兼容性会差一些,如果团队更改了引擎代码,则可能导致不同的环境不兼容。上手难度相对较高。
——————————————————————————–
pomelo
pomelo 是由网易开发的基于node.js开发的高性能、分布式游戏服务器框架, 也可作为高实时web应用框架。
所属公司:网易
Star:4136
https://github.com/NetEase/pomelo
提交时间:11/18/2012
优势:开发高实时web应用也合适, 而且伸缩性比其它框架好。pomelo拥有完善的独立网站,Mailing List,文档社区一应俱全。提供多个开发案例,而且还有多种客户端代码。
劣势:不适合大型的MMO rpg游戏,多人在线,尤其是3D网游。
——————————————————————————–
SeaJS
SeaJS是一个遵循CommonJS规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制。
所属公司:阿里巴巴
Star:3503
https://github.com/seajs/seajs
提交时间:12/26/2010
优势:可以加载js,tpl,css。采用模块级管理,代码易于维护,管理,复用,以及并行开发。减少代码的锁冲突。
劣势:模块合并麻烦。需要配套使用SPM工具,JS的打包和管理工具。文档较混乱。
——————————————————————————–
Tengine
Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。
所属公司:阿里巴巴
Star:2419
https://github.com/alibaba/tengine
提交时间:11/27/2011
优势:Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。代理存活检查较好。动态模块加载(DSO)支持。输入过滤器机制支持。Web应用防火墙的编写更方便。动态脚本语言Lua支持。扩展功能非常高效简单。显示对运维人员更友好的出错信息,便于定位出错机器。
劣势:希望更加稳定吧。
——————————————————————————–
Amaze UI
Amaze UI 是基于社区开源项目构建的一个跨屏前端框架,以移动优先(Mobile first)为理念,从小屏到大屏,最终实现所有屏幕适配,适应移动互联潮流。用户可以在 Amaze UI 的基础上进行二次开发。
所属公司:云适配
Star:2125
https://github.com/allmobilize/amazeui
提交时间:8/10/2014
优势:Amaze UI以移动优先(Mobile first)为理念,从小屏逐步扩展到大屏,最终实现所有屏幕适配,适应移动互联潮流;组件丰富,模块化,Amaze UI 含近 20 个 CSS 组件、10 个 JS 组件,更有 17 款包含近 60 个主题的 Web 组件;相比国外框架Bootstrap,Amaze UI 也很关注中文排版,根据用户代理调整字体,实现更好的中文排版效果,兼顾国内主流浏览器及 App 内置浏览器兼容支持,同时对微信、百度、微博等广义上的WebView同样完美兼顾,本地化支持做的很不错;轻量级,高性能,Amaze UI 面向 HTML5 开发,使用 CSS3 来做动画交互,平滑、高效,更适合移动设备,让 Web 应用更快速载入。
劣势:相比国外Bootstrap等成熟的开源项目, Amaze UI的开发者社区还比较小, 著名案例也比较少。
——————————————————————————–
fastjson
fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器。
所属公司:阿里巴巴
Star:1700
https://github.com/alibaba/fastjson
提交时间:7/31/2011
优势:fastjson有效提升parse速度,支持http://json.org的标准。支持各种JDK类型。包含基本类型、JavaBean、Collection、Map、Enum、泛型等。支持循环引用。
劣势:本地化做的还不够好。
——————————————————————————–
Kissy
Kissy 是一款跨终端、模块化、高性能、使用简单的 JavaScript 框架。
所属公司:阿里巴巴
Star:1532
https://github.com/kissyteam/kissy
提交时间:7/10/2012
优势:跨终端、模块化、高性能、使用简单的 JavaScript 框架。除了完备的工具集合如 DOM、Event、Ajax、Anim 等,它还提供了经典的面向对象、动态加载、性能优化解决方案。作为一款全终端支持的 JavaScript 框架,KISSY 为移动终端做了大量适配和优化,让你的程序在全终端均能流畅运行。
劣势:你可能需要重新学习Kissy API。
——————————————————————————–
DPark
DPark 是 Spark 的 Python 克隆,是一个Python实现的分布式计算框架,可以非常方便地实现大规模数据处理和迭代计算。
所属公司:豆瓣
Star:1142
https://github.com/douban/dpark
提交时间:10/9/2011
优势:DPark对底层依赖较轻,不使用Java语言不受JVM拖累,启动任务快。有效的减少Map和Reduce人物之间传递的数据,适合反复迭代的机器学习场景。
劣势:推出时间虽然不短了,但还不是很成熟。扩展性不是很好。
——————————————————————————–
Mars
腾讯移动Web前端知识库。
所属公司:腾讯
Star:934
https://github.com/AlloyTeam/Mars
提交时间:7/21/2013
优势:搭建在Github上便于下载和维护;有腾讯背景,拥有大量实战实例。
劣势:目前文档内容太少,不够详细。
IT男最不解风情的12个瞬间,欲哭无泪!
1.化完妆问IT男:“我漂不漂亮?”IT男说:“亲爱的,闭眼别动。”我羞涩地闭上眼等待他的kiss,结果他说:“这里有个脏东西。”然后撕下了我的双眼皮贴。。
2.感冒了很难受,我闷在被窝里给男朋友发短信”我感冒了”并决定如果对方回答”多喝点水”就一脚踹了他。过一会儿手机振动起来,短信内容:”开门。”……这个大笨蛋!谁让他来的啦!我起身用最快的速度冲去门口,此时手机再次振动,我一手开门一手兴奋的点开:”多呼吸点新鲜空气,运动运动。”
3.心情不好的时候喷了点儿香水,gucci木兰那个。我男朋友回家来趴到我脸上闻闻,说,哎呀这味儿真好闻,像小时候后院李子树上的大李子!你知道那李子多大吗?这么大的大李子!哈哈哈哈哈这么大的大李子!<( ̄) ̄)>
4.和某一任牵手过马路的时候,他说“你手好凉啊”,我说“是啊手凉没人疼啊 ”,他说“别瞎说”。我以为他要说(不是有我疼你吗 之类的),结果他说“手凉的人死得快”┳_┳
5.我说“我好冷”,他把他身上的衣服裹得更紧了。
6.跟IT男视频,一点开他就笑的很开心,这边我正娇羞呢,他说哈哈哈你的头好大都占了整个屏幕了哈哈哈。。。
7.前任说喜欢可爱的女生,特地头发扎成双马尾,穿着蕾丝领口的衣服去见他,他看到我说我后脑勺像被劈开了,蕾丝边像他家的窗帘。。
8.我说我今晚要自己去看电影,他说,注意安全。
9.看略带恐怖的电影,我拽住他的袖子。他轻轻拨开我的小手,说:“你手汗太多,我白衣服留印子就不好了”。呵呵
10.“你干嘛呢?”过了几分钟他没回我又问“睡了吗?”过了几分钟依旧没回我气绝说“我睡了”那货秒回:“晚安宝贝。”
11.刚在一起的时候去约会,他突然摸我的脸说好久没摸过了,我以为他是太久没摸过女生的脸,然后他居然说自从他的痘痘好了以后,好久都没摸过这么凹凸不平的脸了。
12.异地恋,某次分别前在车站依偎着聊天,他说:“我以前一直想着要找个腿细的女朋友,因为我忌讳女孩腿粗。遇到你以后我觉得腿粗根本不是什么问题。”“喔…”“胸小才是。”
代码调一天,妹纸滚一边

从输入URL到页面加载完的过程中都发生了什么事情
一个HTTP请求的过程
为了简化我们先从一个HTTP请求开始,简要介绍一下一个HTTP求情的网络传输过程,也就是所谓的“从输入 URL 到页面下载完的过程中都发生了什么事情”
●DNS Lookup 先获得URL对应的IP地址
●Socket Connect 浏览器和服务器建立TCP连接
●Send Request 发送HTTP请求
●Content Download 服务器发送响应
如果下到物理层去讲就有点耍流氓了,如果这些你还认可这几个步骤的话,我们就来讲一下这里面存在的性能问题。
●如果你对DNS的查询还有印象的话现在反思一下,DNS Lookup就是为了获取一串IP地址要和无数个DNS服务器进行通信,这要消耗多少时间?别忘了你查询完了的时候你还没和那边的服务器通信呢。
●TCP连接要三次握手,如果服务器很远的话这三次握手要花多少时间?别忘了建立连接之后你还没发请求呢。(通常到这里0.5秒就出去了)
●发送HTTP请求的时候你要知道一点就是我们的网络带宽上行和下行通常是不一样的,通常上行的带宽会小一些,一个的话还好,但是现在的网页通常都会后续请求很多资源,带宽小的时候上行拥塞怎么办?别忘了已经到第三步了,服务器还没给你发响应呢,现在你的浏览器还什么都画不出来。
●终于到了服务器发响应了,不巧你访问的这个服务器比较忙,好几万个人都要这个资源,服务器的上行带宽也是有限的,怎么办?
我觉得我出了几道还不错的面试题。顺便提一下,前两步的延迟和网络带宽的影响不大;后两步加带宽是能一定程度缓解,不过你要有钱,而且很贵。虽说博主做过Webkit本地渲染的优化,但是深知网页加载的主要时间还是浪费在网络通信上,所以在这些步骤上的优化会比你在浏览器内核的优化省力且效果明显。
网络方面的主要优化手段,博主总结一下不外乎缓存,预取,压缩,并行。以后如果再有面试问性能优化之类的问题,大家都可以照着这个思路去考虑,下面就分阶段介绍一下现有的优化手段。
DNS 优化
对于DNS优化,缓存无疑是最简单粗暴且效果明显的了。说到缓存就一定要提到缓存层级:
●浏览器DNS缓存,chrome可以看 chrome://net-internals/#dns
●系统DNS缓存
●hosts文件,墙里的小伙伴们应该有印象
●各个DNS服务器上的缓存
当然DNS缓存失效期通常都比较短,很多情况下都要再去查找,为了降低用户体验到的延迟(注意这里不是网络延时)预取是一个不错的方法。比如说你敲网址的时候还没有敲完,但是浏览器根据你的历史发现你很有可能去访问哪个网站就提前给你做dns预取了,比如你打了一个“w”的时候,chrome已经帮你去找weibo.com的ip地址了。chrome用户可以看一下 chrome://predictors/ 你就知道了。
此外浏览器还会记录你过去的历史知道每个域名下通常还会有哪些其他的链接建立起网站的拓扑结构,当你访问这个域名下的网站他就会预先对其他链接的域名进行DNS解析可以参照 chrome://dns/。
TCP 优化
看到前面的DNS的具体优化这么繁杂,知道这简单的一步没那么简单了吧。结果到TCP这一步优化反而简单了,因为刚才dns已经把ip都预先弄到了那么我们顺着刚才的步骤再建立连接就好了。所以在你敲第一个字母的时候dns解析完了就去建立连接了,这时候你可能网址还没敲完。当你刚访问一个网站的时候浏览器刷刷刷的帮你把到别的服务器的TCP连接给你建好。
HTTP传输优化
写到这里可能有人会想,既然已经把TCP连接建立好了,那我干脆预取更进一步,把所有的链接内容直接预取下来不就好了,这样我网址还没敲完网页就已经加载完成了。这个想法是好的,但现实却是残酷的。因为要记住我们的带宽是有限的,DNS和TCP连接量级都比较轻,对网络带宽不会占据太多,但是HTTP传输就不一样了如果你所有链接都去预取的话你的带宽很快就被占满了,这样你正常的请求无法得到满足,性能反而会严重下降。
缓存就又出现了,提缓存必提层次结构。
●PageCache 这个是最快的了,直接在内存中缓存了现有网页的dom结构和渲染结果,这就是你为什么在点前进后退的时候会这么快。
●HTTP Cache 文件级别的Cache存在本地的文件系统上按照RFC2616实现。
●代理Cache 如果是通过代理服务器上网的话,代理服务器通常也会按照缓存标准
●CDN 一个地理上离你很近的内容服务器,比如说你在北京请求杭州淘宝的一个图片,结果在北京的一个CDN上有这个图片,那么就不用去杭州了。
●DMOC(distributed memory object caching system)CDN主要存放的是静态数据,但是网页中通常有很多动态的数据需要查数据库,流量多了压力就会很大,通常服务器外围还会有一层内存缓存服务器,专门缓存这些数据库中的对象,据《淘宝技术这10年》称可以减少99.5%的数据库访问。
●Server 其实真正落在服务器上的请求已经不多了。
大家看到这里有没有想到能在什么地方再加一层缓存呢?其实可以在2和3之间加,也就是在路由器上加缓存。小米的路由器和搜狗合作的预取引擎其实就相当于是在路由器上加一层缓存款顺便智能预取一下。博主为什么在这里另起一段专门谈小米呢,难不成是小米的水军?才不是呢,是因为博主看到这个消息的时候心都凉了,和博主的毕设撞车了有木有。去年在360刚出随身WiFi的时候博主想到了这么个点子,还想着把这个东西做出来之后用这个创业和360谈合作。结果最近刚做完,论文也投出去了,幻想着开启人生巅峰,颠覆行业结果就发现小米和搜狗出了这么个一样的东西还都商业化了。说好的人生巅峰就这样没有了,早知道去年就先申请个专利了。
另一个HTTP常用的优化就是压缩了,网络传输时间 = 消息大小/网速 既然网速比较贵那么就压缩一下吧,大部分服务器都会对HTTP消息进行gzip压缩。可以在Http Header中看到,具体的就不细说了。
未来协议 SPDY
上面的都是传统做法,下面讲一个未来的技术。由于HTTP协议是上个世纪制定的协议了,已经不能很好的适应现在Web的发展,所以Google提出了SPDY协议目前是指定中的HTTP2.0标准的一个底版。SPDY主要有下面的特点:
●一个TCP连接上并行多个HTTP连接,减少连接的建立时间
●请求优先级(目前还没看到具体实现)
●HTTP头部压缩,上文提到的HTTP压缩是对HTTP body的压缩,并没有对头部压缩。对于小的HTTP消息,头部的比重还是很大的,而现在的web中存在大量小消息。
●Server push/hint 服务器主动推送对象(可以想象成服务器帮客户端预取)
业界目前对SPDY是有赞有弹,博主也持谨慎的态度。主要在1和4上,4其实和之前提到的HTTP直接预取的矛盾点一样,万一推送的不需要又占据了带宽怎么办,hint到底该如何实现都有困难。第一条潜在的风险就是TCP连接中途断开,那么所有的连接就全部停掉了,PC互联网这种情况可能会少一些,但是移动互联网中TCP连接断开的情况还是比较常见的。不过作为一个未来的技术还是有必要关注一下。
Taylor swift全部歌曲
red:http://pan.baidu.com/share/link?shareid=105032&uk=4112146694
speak now :http://pan.baidu.com/share/link?uk=1493798068&shareid=176143
TAYLOR SWIFT:http://pan.baidu.com/share/link?shareid=90731&uk=1493798068
1989:http://pan.baidu.com/s/1o6FQ77G
fearless:http://pan.baidu.com/s/1i3qsF8x
Web性能优化:图片优化
HTTP Archieve有个统计,图片内容已经占到了互联网内容总量的62%,也就是说超过一半的流量和时间都用来下载图片。从性能优化的角度看,图片也绝对是优化的热点和重点之一,Google PageSpeed或者Yahoo的14条性能优化规则无不把图片优化作为重要的优化手段,本文覆盖了Web图片优化的方方面面,从基本的图片格式选择、到尚未被广泛支持的响应式图片均有所提及。
Google Web Fundamentals的说法我很喜欢:
图片优化既是一门艺术,也是一门科学,图片优化是一门艺术,是因为单个图片的压缩不存在最好的特定性方案,而图片优化之所以是一门科学,是因为许多开发得很出色的方法和算法可以明显减小图片的大小。要找到图片的最优设置,需要按照许多维度进行认真分析:格式能力、编码数据内容、像素尺寸等。
传送门:跳过理论直达自动优化图片 点这里
真的要用图片吗?
要实现需要的效果,真的需要图片吗?这是首先要问自己的问题。浏览器和Web标准的发展速度极快,记得数年前我在用微软Silverlight 1.0写视频播放器的时候,中文还不能使用自定义字体显示,所以那时候写了很多糟糕的代码把需要的文字在服务器上生成图片并缓存起来。用户下载起来很慢,搜索引擎也完全无法检索这些文字。
但是现在不一样了,很多特效(渐变、阴影、圆角等等)都可以用纯粹的HTML、CSS、SVG等加以实现,实现这些效果少则寥寥数行代码,多则加载额外的库(一张普通的照片比非常强大的效果库也大了许多)。这些效果不但需要的空间很小,而且在多设备、多分辨率下都能很好的工作,在低级浏览器上也可以实现较好的功能降级。因此在存在备选技术的情况下,应该首先选择这些技术,只有在不得不使用图片的时候才加入真正的图片。
备选技术
●CSS效果、CSS动画。提供与分辨率无关的效果,在任何分辨率和缩放级别都可以显示得非常清晰,占用的空间也很小。
●网络字体。现在连很多图标库都是用字体方式提供,保持文字的可搜索性同时扩展显示的样式。
前端工程师最好能和设计师、产品经理保持沟通,帮助他们了解到什么样的效果比较“简洁、高效、可维护”,毕竟对于CSS来说改变圆角矩形的Radius可以实时看到效果,用图片的话至少要重新生成图片、切图并替换资源。Retina、高分辨率屏幕、多尺寸的设备,这些都加快了非图片特效的发展,想想在高分辨率屏幕下Windows 7的惨不忍睹,就知道原生的图片资源绝对不是多多益善。
图片格式的选择
如果效果真的需要图片来表现,那么选择图片格式是优化的第一步。我们经常听到的词语包括矢量图、标量图、SVG、有损压缩、无损压缩等等,我们首先说明各种图片格式的特点
| 图片格式 | 压缩方式 | 透明度 | 动画 | 浏览器兼容 | 适应场景 |
|---|---|---|---|---|---|
| JPEG | 有损压缩 | 不支持 | 不支持 | 所有 | 复杂颜色及形状、尤其是照片 |
| GIF | 无损压缩 | 支持 | 支持 | 所有 | 简单颜色,动画 |
| PNG | 无损压缩 | 支持 | 不支持 | 所有 | 需要透明时 |
| APNG | 无损压缩 | 支持 | 支持 |
Firefox Safari iOS Safari |
需要半透明效果的动画 |
| WebP | 有损压缩 | 支持 | 支持 |
Chrome Opera Android Chrome Android Browser |
复杂颜色及形状 浏览器平台可预知 |
| SVG | 无损压缩 | 支持 | 支持 | 所有(IE8以上) |
简单图形,需要良好的放缩体验 需要动态控制图片特效 |
其中APNG和WebP格式出现的较晚,尚未被Web标准所采纳,只有在特定平台或浏览器环境可以预知的情况下加以采用,虽然均可以在不支持的环境中较好的功能降级,但本节暂不讨论这两种格式。图片格式选择过程如下:
颜色丰富的照片,JPG是通用的选择
●人眼的结构很适合查看JPG压缩后的照片,可以充分的忽略并在脑中补齐细节
●JPG在压缩率不高时保留的细节还是不错的
●WebP能够比JPG减少30%的体积,但目前兼容性较差
如果需要较通用的动画,GIF是唯一可用的选择
●GIF支持的颜色范围为256色,而且仅支持完全透明/完全不透明
●GIF在显示颜色丰富的动画时可能出现颜色不全、边缘锯齿等问题
如果图片由标准的几何图形组成,或需要使用程序动态控制其显示特效,可以考虑SVG格式
●SVG是使用XML定义的矢量图形,生成的图片在各种分辨率下均可自由放缩
●SVG中可以通过JavaScript等接口自由变换图片特效,可以完成其中部分元素的自由旋转、移动、变换颜色等
如果需要清晰的显示颜色丰富的图片,PNG比较好
●PNG-8能够显示256种颜色,但能够同时支持256阶透明,因此颜色数较少但需要半透明的情景(如微信动画大表情)可以考虑PNG-8
●PNG-24可以显示真彩色,但不支持透明,颜色丰富的图片推荐使用(如屏幕截图、界面设计图)
●PNG-32可以显示真彩色,同时支持256阶透明,效果最好但尺寸也最
图片尺寸的选择
尺寸,曾经是最不需要讨论的话题,但自从Retina出现之后世界就变得复杂多了。关于移动设备上的像素和尺寸,展开说足够写一篇论文,我建议想详细了解的同学参考下面的文章:
浅谈移动Web开发(上):深入概念
这里只说我们关心的部分和结论,我们需要分清不同类型的像素:CSS像素和设备像素。一个 CSS像素可能包含多个设备像素。对于图片来说,在高DPI的屏幕上需要使用分辨率更高的图片,如果我们讨论的是Retina,那么就需要2倍分辨率(几乎4倍尺寸)的图片。这几乎没有取巧的空间,屏幕就是那么大,需要的图片也就是那么大。(鸽子为什么那么大?^_^)
我们能够控制的地方是“恰好”显示所需尺寸的图片。例如在屏幕中通过CSS或者标签的wihth/height属性,将一副200×200的图片调整为100×100大小,那么这其中就有(200×200)-(100×100)=30000个像素是浪费的,这占到了图片尺寸的75%!
之所以有这么大的浪费,是因为图片的尺寸与面积基本成正比,与宽高的平方成正比。因此良好的计算客户端实际显示的图片尺寸,能够大大减小图片的大小。即使只有长和宽都只有10px被浪费,但是当图片足够大时,这部分也将产生很大影响。
响应式图片
上面提到“恰好”显示客户端所需大小的图片,听上去很容易不是吗?但当响应式布局出现后,这就变得极其困难。我们要支持上至1920宽度,下至320宽度的无数种设备,如果使用1920宽度的图片,那么在小型设备(这类设备往往对网速和流量更加敏感)上每个用户都要付出额外的带宽和等待时间,如果使用320宽度的图片,那么在1920的屏幕上就像是在高清屏上使用DOS那么让人难以接受。
很自然的,我们需要图片也能“响应式”加载,根据所在设备的不同,加载不同尺寸的图片。响应式图片尚没有写入Web标准,实现起来也有诸多不便和兼容性限制。我建议参考百度EFE团队的这篇文章:
实战响应式图片
响应式图片虽然尚未成为标准,但这是Web图片优化的一柄利器,一旦被广泛支持,再没有比缩小图片尺寸更有效的优化方法了。
优化JPG和PNG
选择了正确的图片格式,按照正确的大小生成了图片后,我们还需要对图片进行进一步优化,这种优化一般分两步进行:
1、有损优化,删除没有出现或极少出现过的颜色,合并相邻的相近颜色。这一步并不必须,如PNG格式就直接进入下一步
2、无损优化,压缩数据,删除不必要的信息
JPG和PNG格式的图片生成后,一般还有进一步优化的空间,例如JPG格式的照片中,可能携带有相机的Exif信息,PNG格式的图片中可能带有Fireworks等软件的图层信息等。去除这些额外信息后,还可以通过减小图片的调色板,去除没有出现过的颜色,以及合并相邻的相同颜色等手段来进行优化。原理性的内容这里不再赘述,仅介绍工程中可用的优化工具。
不同格式的图片有一系列工具,这些工具有有更多种参数调节方案,常见的几种调节工具有:
| 工具 | 用途 |
|---|---|
| jpegtran | 优化JPG图片 |
| OptiPNG | 无损PNG优化 |
| AdvPNG | 无损PNG优化 |
| PNGQuant | 有损PNG优化 |
如果你真的需要追求各种图片的极限压缩,可以参阅这些工具的文档,但是对于一般的Web应用,面对的图片种类多样,几乎不可能在工程中实现对每种工具的独立配置,因此推荐使用以下工具来进行优化。这些工具往往使用了上表中的一种或几种优化工具。
ImageOptim (Mac)
主页:https://imageoptim.com/
Mac平台下非常赞的图片优化工具,只需要把需要优化的图片拖拽进ImageOptim,就能够完成对图片的优化。设置选择的也很丰富,目前支持JPG和PNG的优化。这是我在写文章时最常用到的工具,把网站用到的图片拖进去,优化就完成了~
Kraken (Web)
主页:https://kraken.io/
在免费模式下可以上传图片,优化后打包下载,很多国外企业也选择了它的收费服务。亲自测试Kraken的图片优化结果比ImageOptim一般要小3%左右,效果不错,当然价格也不错。适合偶尔有图片优化需求,或者不在开发机上没有优化软件可以使用的情况。
智图 (Web)
主页:http://zhitu.tencent.com/
腾讯ISUX团队有篇文章介绍智图:http://isux.tencent.com/zhitu.html
国货当自强,腾讯的智图工具推出不久,但实测效果很好,而且提供了Gulp的自动化支持,这部分会在后面自动优化章节介绍。只想建议一句,Kraken的首页比智图美好几百倍…… 而且把压缩前的PNG和压缩后的JPG放在一起对比大小,真的没关系么~
优化SVG
所有较新的浏览器都支持可缩放矢量图(SVG),SVG是基于XML的图片格式,适用于二维图片。可以将SVG标记直接嵌入网页,也可以作为外部资源嵌入。可以通过大多数基于矢量的绘图软件创建SVG文件。这是一段简单的SVG图形:
这个圆形轮廓为黑色,背景为红色,从Adobe Illustrator直接导出。可以从中看到大量元数据,例如图层信息、注释和XML名称空间等等,在浏览器中呈现资源时,通常不需要这些数据。因此我们需要使用一些工具去除这些不必要的元数据,仅保留必须的标记。
SVGO工具可以缩减SVG文件的体积,在这个的例子中,SVGO能够将Illustrator生成的SVG文件大小减小58%,从470字节缩减到199字节。
由于SVG是基于XML的格式,本质上是纯文本,所以,还可以采用GZIP压缩来减小传输大小,当然这需要一些服务器配置,例如在apache服务器中设置:
AddType image/svg+xml .svg AddOutputFilterByType DEFLATE image/svg+xml
来对SVG文件启用GZip压缩(当然你还需要先加载deflate模块并进行适当配置,GZip的配置超出了本文的范畴,这部分内容请自行Google)
优化GIF和APNG
GIF有很多好处,在颜色数较低的时候能够大幅减小图片体积,而且他也是唯一能够较为通用的展示动画的图片格式。关于GIF格式的优化原理我并不熟悉,只是在工程中直接使用成型的压缩工具,在后文自动优化章节的Grunt中,会介绍通过Grunt Task进行自动优化的方法。
关于APNG,目前浏览器对他的支持还不够好,不过在支持HTML5的场景中,有成熟的开源工具apng-canvas可以用于支持APNG。
腾讯ISUX团队有篇文章介绍iSparta工具:http://isux.tencent.com/introduction-of-apng.html。这是目前几乎唯一能够批量处理APNG文件的工具,感兴趣的同学可以在那篇文章里得到更多地了解。
自动优化
前面说了太多关于如何优化各种不同格式图片的方法和工具,优化图片需要大量重复性的劳动,作为工程师显然不会忍受这一点,因此也产生出了很多工具对图片进行自动优化,这里主要介绍CDN、Grunt/Gulp、Google PageSpeed三种方式。
自动优化:CDN
使用CDN对图片自动进行优化,我在国外的CDN提供商处很少见到这类服务,倒是国内的两大新秀CDN七牛和又拍在这方面都做了大量工作。其工作方式为,向CDN请求图片的URL参数中包含了图片处理的参数(格式、宽高等),CDN服务器根据请求生成所需的图片,发送到用户浏览器。
七牛云存储的图片处理接口极其丰富,覆盖了图片的大部分基本操作,例如:
●图片裁剪,支持多种裁剪方式(如按长边、短边、填充、拉伸等)
●图片格式转换,支持JPG, GIF, PNG, WebP等,支持不同的图片压缩率
●图片处理,支持图片水印、高斯模糊、重心处理等
七牛云存储的图片处理接口使用并不复杂,例如下面这张原图:
我们通过如下URL请求,裁剪正中部分,等比缩小生成200×200缩略图:
http://qiniuphotos.qiniudn.com/gogopher.jpg?imageView2/1/w/200/h/200
自动优化:Grunt/Gulp
这里介绍用于图片优化的Grunt组件:grunt-image。前端工程师的重复性工作,例如合并静态资源、压缩JS和CSS文件、编译SASS等都可以使用Grunt等自动化工具批量完成,图片优化也是如此。
grunt-image非常强大,按照作者的介绍,其内部加载的图片优化工具包括了pngquant, optipng, advpng, zopflipng, pngcrush, pngout, mozjpeg, jpegRecompress, jpegoptim, gifsicle和svgo。支持批量自动优化PNG, JPG, SVG和GIF,速度也不错,配置方式支持单图片优化和全目录优化:
module.exports = function (grunt) {
grunt.initConfig({
image: {
// 指定单独的图片优化 static: {
options: {
pngquant: true,
optipng: true,
advpng: true,
zopflipng: true,
pngcrush: true,
pngout: true,
mozjpeg: true,
jpegRecompress: true,
jpegoptim: true,
gifsicle: true,
svgo: true
},
files: {
'dist/img.png': 'src/img.png',
'dist/img.jpg': 'src/img.jpg',
'dist/img.gif': 'src/img.gif',
'dist/img.svg': 'src/img.svg'
}
},
// 指定图片目录进行优化 dynamic: {
files: [{
expand: true,
cwd: 'src/',
src: ['**/*.{png,jpg,gif,svg}'],
dest: 'dist/'
}]
}
}
});
grunt.loadNpmTasks('grunt-image');};
自动优化:Google PageSpeed
Google做事风格比较彻底,看见哪个软件不好用就拿来直接fork出新版本或者干脆重写,对于Web优化,Google发布了了Google PageSpeed这个服务器模块,可以在apache或ngnix中加载,通过在服务器配置文件中进行设置来进行自动化的优化。对于图片格式转换、图片优化甚至图片LazyLoad都有相关选项。这部分展开会非常长,请感兴趣的同学参考Google的手册。
❤收藏到百度云
❤收藏到百度云方法
javascript:void (function(d) {var e = d.createElement('script');e.byebj=true;e.src = 'http://s.wenzhang.baidu.com/js/pjt/content_ex/page/bookmark.js?s=bm&t=' + (+new Date());var b = d.getElementsByTagName('body')[0];b.firstChild ? b.insertBefore(e, b.firstChild) : b.appendChild(e);}(document));
拖动 ❤收藏到百度云 到 浏览器书签
添加到百度搜藏
javascript:u=location.href;t=document.title;t=t.substr(0,76);c=""+(window.getSelection?window.getSelection():document.getSelection?document.getSelection():document.selection.createRange().text);c=c.substr(0,180);location="http://cang.baidu.com/do/add?it="+encodeURIComponent(t)+"&iu="+encodeURIComponent(u)+"&dc="+encodeURIComponent(c)+"&fr=ieo";void 0
把上边代码 添加到书签,点击,可以方便吧当前网页添加到百度收藏夹
把 添加到百度搜藏 拖到浏览器书签位置,点击,可以方便吧当前网页添加到百度收藏夹
解决微信内置浏览器上传图片-html5将图片转换base64进行上传
有些安卓的微信浏览微网站,不能通过file上传文件、图片,但是ios系统的都是可以上传图片。
传统的通过 $_FILES 方式上传在微信浏览器下失败。
这里可以换个思路:
我们可以先现将图片转成base64的字符,在把字符通过POST方式上传给服务器,在服务器端把POST过来的base64字符,还原出图片保存在服务,完成图片上传过程。
html5有个功能就可以将图片转换base64,那就是FileReader。
实现:
function readFile(obj){
var file = obj.files[0];
//判断类型是不是图片
if(!/image\/\w+/.test(file.type)){
alert("请确保文件为图像类型");
return false;
}
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function(e){
alert(this.result); //就是base64
}
}
<input type="file" id="picFile" onchange="readFile(this)" />
一维空间到十维空间
——————————
你是程序员吗?
一、
程序猿问科比:“你为什么这么成功? ”
科比:“你知道洛杉矶凌晨四点是什么样子吗? ”
程序猿:“知道,一般那个时候我还在写代码,怎么了?”
科比:“额…….”
二、
女神:你能让这个论坛的人都吵起来,我今晚就跟你走。
程序猿:PHP语言是最好的语言!
论坛炸锅了,各种吵架。
女神:服了你了,我们走吧,你想干啥都行。
程序猿:今天不行,我一定要说服他们,PHP语言是最好的语言。
三、
我是一个苦b的程序员,今晚加班到快通宵了,困得快睁不开眼了,女上司很关心,问我要不要吃宵夜。我没好气地说,宵夜就算了,能让我睡一觉就行了。女上司红着脸说了句讨厌啊,然后坐在我身边不动,好像距离我很近,搞得我很紧张,难道她发现我的程序出了bug?
原来写程序的人有两种分类,一种称为程序猿,一种称为程序媛。我觉得他们一定能够相亲相爱,因为他们有太多的共同语言(比如说C ,Java,C#,PHP,Python,Ruby,cdth……)
程序员相亲,说:我是程序员。美女:程先生你好。程序员:叫我序员就好了
架构师相亲,说:我是架构师。美女:贾先生你好。架构师:叫我狗屎就好了
老公一定要找程序员!!!!!!
钱多话少死的早
四、
老婆给当程序员的老公打电话:“下班顺路买一斤包子带回来,如果看到卖西瓜的,就买一个。”
当晚,程序员老公手捧一个包子进了家门……
老婆怒道:“你怎么就买了一个包子?!”
老公答曰:“因为看到了卖西瓜的。”
五、
A:你们用盗版的时候有想过做出这款软件的程序员吗?!他们该如何养家糊口?
B:哈哈哈,别逗了,程序员哪有家要养啊!
六、
连IE都有勇气问你是否将它设为默认浏览器,你他妈的却想跟我说你没勇气和你喜欢的人表白!
电脑装了五个浏览器,加上IE一共六个。每次当它们哀怨地问我,是否把它们设成默认浏览器的时候,我都找到了古代男人心满意足地看三妻四妾争宠的感觉……
七、
某人发帖子:“各位JR,我想做一个程序猿,请问有什么要注意的……”
某猿:“等我下班跟你细说……”
然后……就没有然后了
八、
我问程序员朋友借了1000,他说再多借你24吧,凑个整
九、
程序员A: “我吃鱼香肉丝盖饭, 你吃什么?”
程序员B: “宫保鸡丁盖饭.”
程序员A 在点菜单写上:
鱼香肉丝盖饭 1
宫保鸡丁盖饭 1
程序员B: “我还是要牛肉面吧!”
程序员A 更正点菜单:
鱼香肉丝盖饭 1
// 宫保鸡丁盖饭 1
牛肉面 1
十、
我是一个程序猿,一天我坐在路边一边喝水一边苦苦检查bug,这时一个乞丐在我边上坐下了,开始要饭,我觉得他可怜,就给了他一块钱,然后接着调试程序。他可能生意不好,就无聊的看看我在干什么,然后过了一会,他幽幽说,这里少了一个分号。
我惊奇的问:“你也懂这行啊” 乞丐说:“我以前就是做这个的。”
十一、
某程序员退休后决定练习书法,于是重金购买文房四宝。一日,饭后突生雅兴,一番研墨拟纸,并点上上好檀香。定神片刻,泼墨挥毫,郑重地写下一行字:hello world!
十二、
搞IT太辛苦了,想换一行怎么办?”“敲一下Enter键。”
十三、
程序员不喜欢乾隆的第八个儿子,因为八阿哥 bug
十四、
程序员的读书历程:x 语言入门 —> x 语言应用实践—> x 语言高阶编程 —> x 语言的科学与艺术—> 编程之美 —> 编程之道 —> 编程之禅—> 颈椎病康复指南。
十五、
上课听见毛概老师给我们讲沈从文,”沈从文你们不知道么?你们怎么能不知道呢?《边城》的作者啊!”大家听完都把C++的书拿了出来,看了眼封面,半天才反应过来==、谁让我们是新一代编程者
DIV+CSS教程第一期需要的软件和质料
明天晚上上课 需要用到的一些东西,希望大家体现下载
我都放到我的qq微云里的,大家转进时间下载。
Adobe Dreamweaver CS3
http://pan.baidu.com/share/link?shareid=318434&uk=1010090726
Adobe Photoshop CS3
http://url.cn/KnRuv8
photoshopcs8.01_完整版
http://pan.baidu.com/share/link?shareid=348858&uk=1010090726
W3School离线电子书2013.09.chm
http://url.cn/Liwtr3
网站实例jpg+html
http://url.cn/cgoDCM
——————–
——————–
伟大的灵魂都是雌雄同体
伟大的灵魂都是雌雄同体
先看两组追女孩时的常见对话
对话1
男:周末打算怎么过?
女:在家休息。
男:这么好的天气应该出门呀,我和朋友们正商量去郊游,听说xxx挺不错。
女:那祝你们周末愉快了。
对话2
男:终于下班了,你在做什么?
女:感冒了,刚从医院回家。
男:最近是流感高发期,要多加小心,我们办公室不少同事也中招了,今天公司还给我们发口罩呢。
女:没事的,谢谢关心。
……
以上对话的结尾,“周末愉快”和“谢谢关心”是追女孩不顺时经常会遇到的回答,稍微有点儿情商的人都能体会到,一旦女孩说出这样的话,就好像主人要“端茶送客”一样,今天的会客就到此为止了。
当我意识到这类口号式的语言有结束谈话的效果时,我曾经打算尽量不用在自己的朋友那里。可是有一次我正准备出门赴约,一个很久没有联系过的朋友突然在QQ上跟我打招呼,他兴致勃勃地讲起了自己的创业计划,我刚开始还挺有兴趣地听,并且问了些简单的问题,但他越讲越详细,话题越来越收不住,眼看时间来不及了,我打算结束谈话,可直觉告诉我如果此刻对他说我要迟到,恐怕会显得突兀,于是我试着不再说话,只用表情符号回复,但这样并没有抑制住他的表达欲,突然间我发现口号式的语言才是这种情况下最好的选择,于是我在他讲完又一段宏伟蓝图时及时插入一句“那就祝你成功了”,朋友的情商倒也不低,他立马回答:“嗯,但愿如此,有空再详聊吧。”于是我这才终于下线。
这次经历让我有一个发现,那就是在交谈的时候,愿意聊天的人总喜欢把话题说得更具体,而不想聊天的人则会顺着话题的方向直接概括出结论,言下之意是“我已经都知道,你不用再多说。”
在魔鬼约会学里,我们把概括化的语言模式称之为上堆,把具体化的语言模式称之为下切。上堆就像在对话中升起一个防护罩,拉开了你和对方之间的距离,而下切则能传达出更友好更信任的态度。
需要强调的是,上堆并不一定是因为不愿交流,比如宅男面对自己的女神,内心虽然很想多聊,但由于过分紧张,说出来的话经常却是上堆的,结果导致交流冰冷生硬。所以更准确些说,上堆的原因应该是内心的不安全感。
例子
男:你下班后喜欢做什么?
女:最近在学瑜伽。
男:哦,瑜伽很好。(评价总结式的上堆)
男:今天一起吃饭吗?
女:要加班。
男:哦,那改天再约。(解决问题式的上堆)
反之,人在安全感高的时候表达往往都是下切的。比如有些阅历丰富的女孩,即使面对自己不喜欢的男人,她们也能从容不迫游刃有余的应付,如果仔细分析她们的语言模式,就会发现关键时刻她们说话都会带有下切。
例子
男:周末打算怎么过?
女:在家休息。
男:这么好的天气应该出门呀,我和朋友们正商量去郊游,听说xxx挺不错。
女:太羡慕了(下切感受),可惜我还要收拾屋子(下切原因),祝你们周末愉快了。
那么为什么人在安全感低的时候语言模式会上堆,而在安全感高的时候语言模式就会下切呢?
因为上堆属于男性思维的一种,下切属于女性思维的一种,男性思维是人在低安全感(应激状态)时下意识会采用的思维方式,女性思维是人在高安全感(自然状态)时下意识会采用的思维方式。
之所以把应激状态时的思维方式叫男性思维,是因为男人的生活多处于这种状态;之所以把自然状态的思维方式叫女性思维,是因为女人的生活多处于这种状态。但是,当女人处于应激状态的时候她也会使用男性思维(职场上咄咄逼人的女人);当男人处于自然状态的时候他也会使用女性思维。(酒桌上喋喋不休的男人)
所谓应激状态通常都有一个明确目标,或是进攻或是防御,或是获取或是逃避。为了有效地完成任务,我们只关心跟目标相关的事物,并且尽量找出它们之间的因果关系,我们需要经常预测未来的走向,即使关注过去也是为了探寻动机以便进行推理。面对一个现象,我们会马上抽象出它与目标相关的特质,设想它的各种可能性,并且让自己做出相应选择。
作为适合应激状态的男性思维,其语言模式具有如下特征:上堆、抽象概括、做出评价、解决问题、探求动机、预测未来、建立因果、推理总结、防御否定、目的优先、结果导向,以客观为标准。
所谓自然状态则是一段与目的无关的过程,我们会关注情境中的每一件事物,收集它们的信息,但这样做并不是为了下一步,而是为了保持眼前的和谐。面对一个现象,我们会了解它的细节,以便把握它与整体环境的关系。我们也会关注过去,但那只是为了从以往的经验中获得参照来确认当下的状态。自然状态并非拒绝事物的发展和变化,只不过不去人为干涉而已。
作为适合自然状态的女性思维,其语言模式具有如下特征:下切、具体细节、表达感受、描述问题、关注过去、对照眼前、罗列现象、就事论事、开放肯定、忘却目的、活在当下、以自我为标准。
同样一个情境,对于有些人可能属于应激状态,对于另一些人却可能属于自然状态,这取决于当事者的生活经验与性格个性。我们既可以通过别人采用的语言模式来判断他们属于哪种状态,也可以通过主动选择语言模式向别人传递出我们处于哪种状态。
以搭讪为例,搭讪对很多人都属于应激状态,所以那些缺乏经验的人往往会表现出典型的男性思维。
例子1
男:认识一下可以吗……
女:为什么呀?
男:因为我们很有缘(抽象概括的男性思维)【或者,因为你很特别(做出评价的男性思维)】
例子2
男:留个电话可以吗?
女:这样感觉好唐突……
男:人不都是从不认识到认识的吗?(防御否定的男性思维)
例子3
男:你在等人吗?
女:在等我男朋友。
男:那咱们可以做个普通朋友吗(解决问题的男性思维)
例子4
男:我想认识你
女:可以呀
男:那留个电话吧(目的优先的男性思维)
接下来再看看有经验的人在搭讪时是如何使用女性思维来传递安全感的。
例子1
男:认识一下可以吗……
女:为什么呀?
男:刚才在电梯旁看见你,突然觉得如果不过来跟你说句话的话我今天一定会后悔的。(具体细节的女性思维)
例子2
男:留个电话可以吗?
女:这样感觉好唐突……
男:我也觉得有点儿唐突,但实在很想认识你,找不到其他办法了(表达感受的女性思维)
例子3
男:你在等人吗?
女:在等我男朋友。
男:你男朋友真有福气,能让女朋友等着(就事论事的女性思维)
例子4
男:我想认识你
女:可以呀
男:我今天恰好路过这里买些东西,你也是专门来逛街的吗?(活在当下的女性思维)
…………
多数人在交谈时都是通过下意识选择语言模式,并且还很容易受到自己情绪的左右。比如一个单相思男士讲述他的失败邀约,如果只是陈述事实(事实就是:他发出邀请后女孩拒绝了),那么会很容易得出人家不喜欢他的结论,因此为了回避这个倒霉的认知、逃避负面的情绪,他会使用因果关系的男性思维语言模式(他会这样说:“因为上周我约她的时候,她说看看这周有没有时间,所以我昨天约她下班后一起吃饭,但她好像心情不太好,所以最后我只好放弃了。”)——因果关系的语句看似增加了行为的合理性,但可惜当事者只在那些符合自己愿望的事实之间去建立联系,人经常就是这样自己骗自己的。
有这样一种习惯认识:就是遇到事情的时候男人比较理智而女人比较情绪化。从两性思维的角度来理解,所谓“遇到事情”就是处于应激状态,而所谓“情绪化”,就是本该用男性思维的去冷静分析客观现象的时候,却由于自己的情感惯性把注意力固着于个别事物上。这种情况在女性身上比较常见,但男性也不是没有,比如上面的单相思男,所以那种男人也会被认为“不男人”。
应激状态与自然状态既是我们应对外界的姿态,同时也决定着我们的心理状态,所以语言模式与心理状态也有着一定的相关性。
拿缺乏经验的说谎者来说,比如被妻子盘问的出轨丈夫,掩盖真相的目的再加上紧张的心态,会让他们的语言模式呈现出明显的男性思维。
妻子:昨晚干什么去了?
丈夫:跟个朋友吃饭。(抽象概括的男性思维,如果是女性思维表达,会把那个朋友的信息讲得具体一些——“我跟我们部门的xxx一起去吃饭了”)
妻子:真的吗?
丈夫:骗你我天打雷轰。(转到未来的男性思维,如果是女性思维表达,会回到过去——“真的呀,我们昨晚在yyy吃的”)
妻子:还敢撒谎,昨晚我就在yyy,根本没看到你!
丈夫:你竟然这么不信任我!(探求动机、否定防御的男性思维,如果是女性思维表达,会进一步针对客观事实进行解释——“亲爱的,yyy最近新开了分店,你去的是哪家呢?”)
需要强调的是,一个被冤枉的好人由于极度紧张会也会导致男性思维,而一个有经验的说谎者因为训练有素却可能会使用女性思维,所以我们并不能单凭语言模式就去断定真伪,语言模式只是我们了解说话者心理状态的一个途径。
名人应对公关危机,同样可以看到语言模式跟心理状态的关系,比如当年韩寒被质疑代笔,在事件爆发的初期,赛车手是这样男性思维地——
寒:没有作家可以自证(上堆的男性思维)
寒:如果代笔,我看不到孩子长大(因果关系+未来时)
寒:他们就是想搞臭我(动机论)
事后韩寒自己也承认当时的表现太冲动了,男性思维的应对方式给他带来了更多的麻烦。
不仅名人如此,网民骂架的语言模式经常也有同样套路:
——这个傻x(做出评价的男性思维)
——有本事你去如何如何(因果关系+未来时,完整句式——如果你对,那么你应该如何如何。姊妹句是——如果我错,那么我将会如何如何。但由于这里描述的未来一般是不会发生的,所以——我没错&你不对)
——一看就是为了炒作(动机论)
如果一个人在网上经常这样发言,那么同样会泄露他的生活可能比较缺乏安全感。
社会学有一派认为,群体心理也具有女性思维特征,应对公众就像应对女人。你看那些老练的政客个个都是下切高手,好莱坞电影经常让总统冒着生命危险去救条小狗。我一向觉得对泡妞最有启发的电影不是言情片而是政治片,外交辞令中经常会有极致的暧昧语言。
在对付女性思维的对象时(女人或群体),男性思维也并非毫无用处,不过既然是应激状态的工具,就应该用在刀刃上。我个人十分喜欢的一部电影《福斯特对话尼克松》里有这样一场戏,记者福斯特现场采访尼克松,福斯特先声夺人地质问道:“你承认把美国带入深渊吗?”紧跟着就播放大段灾民流离失所的战地录像,按说如此下切的内容已经把总统钉死在案板上了,但老奸巨猾的尼克松一个出乎意料的上堆——“全都是我们的对手干的,这就是战争的残酷性。”,他把对画面解读完全引向了相反的方向,接着总统又是一个漂亮的下切,他说出了一大堆缴获敌军枪支武器的具体数字,最后再充满深情地讲了一个故事:“我在匹兹堡遇到一个断臂的退伍军人,他用剩下的一条胳膊握着我的手说,如果你们再早一点出兵,我弟弟就不会被那帮暴徒杀死了。”——就这样,政客用上堆下切的组合拳把记者打得落花流水。
所以如果是使用男性思维,那么最好要具备鲜明的观点或者独特的视角,而那些人云亦云的道理或者显而易见的结论其实不讲也罢,但宅男跟女孩子的乏味聊天却往往都是在重复这个毛病。
比如在找女孩要电话的时候,女孩问:“为什么要给你电话呀?” 即使同样做上堆式男性思维的回答,——“因为我不是坏人”就比较俗套,——“因为你不是坏人”则比较有趣。
作为听话者,语言模式的最大用处是帮我们判断说话者的心理状态,但前提是对方并不打算刻意欺骗,所以这个方法尤其适用于男女关系的初期阶段。因为在没有厉害关系的交往初期,女人没必要对追求者口是心非,尽管她们也经常有话不直说,但那是因为你对她而言还不具备个体意义,你只是她某一种社交关系的成员之一,她要用对那一类人说话的方式对你说话。可是缺乏经验的追求者却往往由于错误定位自己在对方心目中的位置,而曲解女孩所说的话。所以在这种情况下,语言模式是我们进行理智判断的好帮手。
例子
女:不要再喜欢我了,喜欢我会让你受伤,我现在不想伤害任何人。
听到追求的女孩这样对自己说话,很多男人的第一反应是表忠心的时刻到了,于是各种赴汤蹈火的豪言壮语外加故作轻松的俏皮话就奔涌而来。但是,还是先冷静地分析一下女神的语言模式:
1,不要再喜欢我了(明确的指令)
2,喜欢我会让你受伤(未来时+警告)
3,我不想伤害任何人(上堆)
显而易见全是男性思维,人家充其量是在跟你坦诚相待有话直说,千万不要以为女神是有苦难言,在用反语暗示你来英雄救美。。。这时候最合适的回应可以是:“好吧,我都听你的,你好好保重,等想伤害人的时候从我开始。”
而作为说话者,恰当选择语言模式可以让我们在交流的时候发挥更好的效果。对此我的粗浅经验是:在没有冲突(或者灵感)的时候,多使用女性思维,至少可以气氛友好;在有冲突(或者灵感)的时候,要使用男性思维,这样才能确保优势(或者有趣)。
最后总结一下:男性思维适合解决问题矛盾,女性思维适合处理人际关系。仔细观察生活,你会发现那些厉害的人物往往都能两种思维方式切换自如。西方有句谚语说:伟大的灵魂都是雌雄同体的(西方的表述方式很男性思维)。而咱们古老的东方智慧则是这样形容:男人上年纪后长老太太模样是福相(东方的表述方式很女性思维吧)。……不理解老祖宗的话什么意思吗?去天安门城楼下面往上瞧。
后记:
曾经有人问我,热恋中的情侣常常会说“让我们永远在一起吧!”,不知这个表达属于男性思维还是女性思维?经过了长时间的思考,我认为这依然属于男性思维,这句话同样暴露了害怕失去眼前美好的不安全感。因为曾经拥有,所以想要更多,这本质上也是一种贪婪,而贪婪正是男性思维的一种。
追求更多更大更好,这一直都是男性社会的价值观。只有在宗教世界,我们才会听到相反的声音,不管财富还是名利,不论亲情还是爱情,珍惜眼前享受当下,平和地看着它来,平和地看着它去……这些智者的箴言,不正是女性思维的体现吗?
文/魔鬼咨询师 原题《下意识的语言模式》
jquery highcharts图表库支持的图表类型有曲线图、区域图、柱状图、饼状图、散状点图和综合图表
Highcharts是一个制作图表的纯Javascript类库,主要特性如下:
- 兼容性:兼容当今所有的浏览器,包括iPhone、IE和火狐等等;
- 对个人用户完全免费;
- 纯JS,无BS;
- 支持大部分的图表类型:直线图,曲线图、区域图、区域曲线图、柱状图、饼装图、散布图;
- 跨语言:不管是PHP、Asp.net还是Java都可以使用,它只需要三个文件:一个是Highcharts的核心文件highcharts.js,还有a canvas emulator for IE和Jquery类库或者MooTools类库;
- 提示功能:鼠标移动到图表的某一点上有提示信息;
- 放大功能:选中图表部分放大,近距离观察图表;
- 易用性:无需要特殊的开发技能,只需要设置一下选项就可以制作适合自己的图表;
- 时间轴:可以精确到毫秒;
利用jquery Highcharts网页图表插件绘制直线图例子:
下载地址:http://pan.baidu.com/s/1jG8z4FW
官方网站:http://www.highcharts.com/
RunJS 查看在线演示:http://runjs.cn/code/ih5xzoeb
致同学聚会装逼的人,看完你想说什么?
转:
一年一度的装逼盛宴,隆重上演。一帮人模狗样、猪头狗脸的装逼犯们粉墨登场,共同上演一场人间喜剧。
情节大同小异,在混的好的从北京上海或国外回来的同学的怂恿下,班长负责组织,几个当年班上的盲流分子积极协助。勤勤恳恳的班长一个个的打电话,把男女同学忽悠到一起。有的人为能见到老相好兴奋得彻夜难眠;有的人怕见到初恋忐忑不安;有的混得好的火急火燎;有的混得差的如丧考妣……反正是各怀鬼胎。
在酒店大包厢,先到的一般都是班长和一些当年混得一般的同学,在包厢里寒暄,这帮人虽然也装逼,但毕竟还都是普通人,也装不出什么花样,男生最多也就是聊聊车、股票、房市、政治;女生就最近做了什么美容美甲,老公又买了LV、香奈儿……虽然膈应人,但也是对人畜无害。
迟到的都是资深的装逼犯,一进屋就满脸堆笑,一边打电话一边把貂绒大衣一挂,入座,随意摸出iphone5和车钥匙往桌上随手这么一扔,显得是那么的随心、随性。起初大多数装逼犯还能以寒暄为主,谈谈同窗往事,酒过三巡菜过五味,装逼犯们就开始了。
A刚从美国回来,带着一股浓浓的田纳西州的农民口音:“唉?你们不知道我在那边有多么的想回国啊,美国的煎饼果子做完后也不撒点芝麻粒,根本吃不惯。可是一回国,空气质量就太差了,跟美国那边简直没法比啊,愁死我了,你们说我到底要不要回国发展呢?”说完,摸索出火柴点一颗白杆的别人叫不出名字的烟。其实他在美国啥屌学位都没拿到,在那里帮人家农场主喂了三年鸡。
B从事证券投资,轻描淡写不屑地说:“去年行情不行,股市投了500多万,套了,好在年底做股指赚回来点,明年还是得主攻期货……唉,你们知道大宗商品不?我给你们讲讲……”哔哔半天,其实呢,他就是证券公司成天给人打骚扰电话,劝人从他那儿开户的合同工。
C混娱乐圈的,一副有屎拉不出又憋得难受的样子,故作深沉:“嗯,《白鹿原》看了么?我们公司投资拍的,片场上我跟王安全和张绮雨聊了……”有人插话:“你见到他们本人了?”C这逼:“嗯,我们挺熟的,王安全挺平易近人,聊得挺好的!”C在众人一副艳羡的目光中完美的装了一次大大的逼。真相是,他正巧路过拍戏的片场,然后挤在人群外想看一眼我们的德州美女张雨绮,就被人群挤到外面了,然后就撅哒撅哒地走了。
D创业了,大肉瘤脑袋,小平头,脑满肠肥的,吧唧着满嘴油的大香肠嘴:“天天手下几百人张嘴吃饭,不好养活,都给我愁死了,你们说说,钱不好赚啊。我打算明年A股上市呢,看来又要泡汤了。”众人听了无一不感叹“牛逼、牛逼”!殊不知,这个B,就是加盟了一家金得利快餐,雇了三个盲流子买菜、蒸包子、上菜,他本人兼老板、颠勺和切墩。
E是个地摊文学杂志非签约记者,专门写星座感悟和人性物语,据说走了好多城市,已经基本不会说人话了,开口就是:“丽江是一位豆蔻年华,含羞带臊的少女,带着纯朴、清雅和绝美,从母亲玉龙雪山的怀抱中款款走来,一步一步践踏着你尘封已久的心……”我也就是个人素质太高了,不然我非得拿酒瓶子砸死这个逼。
F上学的时候是个标准的骚货,入学一个礼拜就找到了一个高年级老乡意中人。经过几年的社会磨练,已经成长为一个资深的老骚货了,婚已离过三次。一讲起荤笑话,一点不害臊。看哪个当年的男同学混的风生水起了,马上就一副崇拜的小表情听他吹牛逼听的津津有味,时不时来一句:“好厉害哦……好崇拜你哦……好羡慕你哦~”好后悔嗷?他吹牛逼能分你点钱怎么滴?你说你,挤着两个下垂的奶子,冬天露着半拉屁股,穿的跟他妈头几年纬一路站街得似的,转着圈找男的喝酒,还不断暗示一下:“我现在还是单身哦,找老公还是老同学好,知根知底。”怎么的?玩嗨了还指望哪个弱智能收了你做妾啊?都是老同学,你就别霍霍人家了。
其余的各种形形色色的装逼犯你们自己对号入座一下吧,当三年兵的回来给你分析钓鱼岛形势;在政府看大门的给你讲解国家政策;代理假药的教你怎么养生;搞IT的告诉你如何拉风投IPO……总之就是稍微贴边的你就可着劲的吹吧,公安局不抓你。装逼犯们互捧臭脚,小蹄子们羡慕连连。只要感情联络到位,也许散场就能去快捷酒店,重温一下当年的同窗情谊。
最后一个一个的装逼犯们都喝得五迷三道,还得抢着结账,你不让他结,他高喊着:“操,是不是瞧不起我?咱哥们这么多年的情谊,我结,怎么了?谁也他妈别跟我争!”说完趴桌子上就睡着了。跟他抢结账的另一装逼犯见势不好,赶紧摸兜,边摸边说:“哎,操,钱包哪去了?出门明明带了啊?。。。”我说:“操你妈,你到底掏啥玩意?你兜里就是揣了个保险柜。掏半小时也掏出来了!用不用哥从蓝翔理工学院给租台挖掘机来啊?!”
本来好好的一场大家聊聊天谈谈心的同学聚会,让你这帮装逼犯们搞成了大金庄农贸大集,传销洗脑演讲,美容化妆拉皮,世界宏观经济研讨,军事大讲堂。张着个大逼嘴,逮谁就往死里吹。你们能不能消逼停一会,非得往死里折磨和你同窗三五载的老同学,你们还是个人么?
这样密集的负能量段子,看起来实在是太爽了!
1、又一天过去了。今天过得怎么样,梦想是不是更远了?
2、只要是石头,到哪里都不会发光的。
3、我有位家境一般的朋友,一直觉得如果自己有钱一定会更幸福。后来他妈做婴幼教育发财了。快十年后我见他,问:现在你倒是有钱了,你真的幸福吗?他回答:爽翻啦!我默默地走开了。
4、只有能力强会被当成纯技术人员;而光会社交拍马又会被认为没有真才实学;所以,要想在单位中脱颖而出,最重要的是有关系。
5、我发现没有任何一个煤矿工人靠挖煤多又快当上了煤老板。
6、我有个朋友,在几年前停止了抱怨和自怨自艾,开始努力改变自己。到今天,他的物质生活和精神状态都没有什么改善。
7、很多时候,乐观的态度和好听的话帮不了你。
8、回首青春,我发现自己失去了很多宝贵的东西。但我并不难过,因为我知道,以后会失去的更多。
9、秋天是收获的季节。别人的收获是成功与快乐,你的收获是认识到并不是每个人都会成功与快乐。
10、父母一直注重对我的品德教育。到了社会上,我按照父母教我的接人待物,却发现自己并不受人待见。
11、最靠得住的是金钱,最靠不住的是人心。
12、对今天解决不了的事情,也不必着急。因为明天还是解决不了。
13、青年靠什么混日子?头等青年靠出身,二等青年靠关系,三等青年靠天资,四等青年靠努力,五等青年耍文艺,六等青年打游戏,穷游,看美剧。
14、每次看到穷游日志的感受都是:那么穷就别TM出去浪了。
15、“不去努力然后告诉自己我根本就不想要”的痛苦,比“拼命努力后失败”的痛苦,要小得多。
16、没有钱包的充实,哪来内心的宁静。很多人都本末倒置了。
17、一些年轻人通过美剧、旅游和Youtube视频拥有了朴素的自由民主和人权观念;他们觉得自己工作烂,人缘差,没对象,都是中国的体制害的。
18、你只需看着别人精彩,老天对你另有安排。
19、普通人一生的四个阶段:心比天高的无知快乐与希望——愧不如人后的奋斗与煎熬——毫无回报的愤懑与失望——坦然的平凡和颓废。你走到哪一步了?
20、大部分成功靠得既不是厚积薄发的努力,也不是戏剧化的机遇,而是早就定好的出身和天赋。
21、小孩问富翁:叔叔为什么你这么有钱呢?富翁说:我给你讲个故事吧。很小的时候,
我注意到楼下的矿泉水卖一块钱,而三站地外的篮球场上,要卖一块五。我拿着一个大书包,从楼下买水带到球场去卖,卖一块二。一个月我挣了十块钱。小孩说:我好像明白了。富翁说:你明白个屁。后来我爸死了,把钱留给我了。
22、“为什么我总是感觉自己特别普通?”“可能是因为你确实比较普通吧。”
23、很多人不是心理疾病,而是心理残疾,治不好的。
24、我发现很多混得不好的人看得都很开。也不知道他们是因为看得透彻而不屑于世俗的成功,还是因为不成功而不得不看得开。
25、除了有钱人,世上还有两种人:其一是省吃俭用买奢侈品装逼,其二是省吃俭用也买不起奢侈品的。
26、一场说走就走的旅行归来后,除了该做的事情被拖延的更久了,什么都没有改变。
27、你努力后的成功,不能弥补你成功前的痛苦。
28、假如今天生活欺骗了你,不要悲伤,不要哭泣,因为明天生活还会继续欺骗你。
29、要是有个地方能出卖自己的灵魂换取物质享受就好了。
30、好身材的因素很多。不是节食和锻炼就能拥有好身材的。
31、每天显得无聊或寂寞了,去找朋友一起吃饭和逛,只不过是为了满足自己与人交往的需求,算不上是社交。
32、优秀的女生在脆弱的时候(比如分手,工作不如意),会需要比平时更多的关爱,于是会和更多的人交流。如果她在恢复正常后,回到了自己原来的圈子,不再理你,请你不要奇怪。
33、朋友,那不是懒,懒是可以克服的。你只是脑子比较弱(笨),没办法长时间经受高强度的思考,去搞逻辑太复杂的东西和处理太多的信息量。
34、有些年轻人,一毕业就到某些大型国企和机关中工作。每天没什么事儿,就是吃饭喝酒,福利好得不得了。人生还没有奋斗过就开始养老,自己的理想被丢在一旁,用民脂民膏来享受特权。对于这样的年轻人,我只想问你们四个字:哪投简历?
35、所有抱怨社会不公和制度的人翻译过来只有一句话:请给我金钱,女人和社会地位。
36、常听到别人说:我希望他/她有什么话当面说,不要在别后中伤人。一些人信以为真,而实际上,我的实践证明,当面说别人坏话,别人会非常愤怒,难堪。所以中伤别人一定要在背后。
37、其实找谁做女朋友都差不多,都是在不停地争吵。只不过一些人是和比较漂亮的女孩子在争吵。
38、爱情开始时都差不多。但当两个人平淡到左手牵右手时,是加班挤地铁还房贷然后给他农村父母寄钱假期在屋里大眼瞪小眼,还是开小车朝九晚五住大房子周末采购装点自己的小家出国旅游,区别就非常大了。
39、坏女人爱男人的钱和权;好女人爱男人因有钱和有权儿产生的自信、宽大、精力充沛、乐观进取。还好,殊途同归。
40、精神追求应当是物质追求得到满足后的自然反应。而不是在现实受挫后去寻求的安慰剂。
41、我的梦想就是一手拿着相机,一手拉着你,四处旅行。每天日落时的歇脚处都是我们的家。然后在三十多岁的时候还在初级职位上拿着微薄的薪水,和刚毕业的年轻人一起被呼来喝去。
42、那些能够彼此帮忙托关系的友谊,比那些天天在一起就是扯淡吃喝旅游的友谊,要强得多。
43、一些人追求卓越是因为他们天性如此,且能力出众。很多其他人却也喜欢跟着凑热闹。
44、那些人人羡慕的精英,其实过得并不如你想象的那样好。但肯定比你是强得多。
45、幸亏当事者迷,不然真的看清事实真相,很多人是承受不来的。
46、没钱没事业的人,才有时间去提高自己的人生境界。
47、年轻时总是缺乏对自己的正确认识。时而觉得自己能力超群,海阔天空,时而觉得一无是处,平凡无能。长大后,经历得多了,逐渐认清自己,才发现自己原来是一无是处,平凡无能。
48、成语造句:很多年轻人想要从工作中找寻快乐和人生的意义,真是缘木求鱼。
49、路上看到两个长得不好看也看起来很穷的男女热吻。我说两个物质生活质量很差的人,彼此相伴。朋友立刻反驳我:物质生活质量不行就不会幸福吗?他们如此相爱,比那些有钱又美但离婚的名人强多了!我说我根本没说他们不幸福呀,你努力反驳的,可能是你自己内心的声音吧。
50、社会学家研究表明:难看和没钱的男人,并不比高帅富更加靠谱。
51、普通人结婚的另一半其实并不欣赏自己,只不过找不到更好的人。他们真正欣赏喜欢的,另有其人。
52、爱情就是,如果没有更好的选择了,我才陪你到天荒地老。
53、他给你的爱会消逝,他给你的TIFFANY却不会贬值。
54、我问过很多女大学生这个问题:出国旅游和用名牌,真的这么重要吗?第一种回答是:不重要,但男朋友愿意而且能够给我买,很重要。第二种回答是:对啊,很重要啊!
55、错把放纵当潇洒,把颓废当自由,把逃避责任当做追求自我价值。不过是懒,怕吃苦,哪来那么多好听的理由。
56、有些女生觉得说自己是吃货能显得可爱,其实并没有这样的效果。
57、女生的冷暖自知什么的,在长得好看面前弱爆了。
58、一些女生在背后议论长得美家境好的女生,说对方生活轻浮,道德不高。她们说得有根有据,也很有道理,但听起来总是显得酸溜溜的。
59、我有一些漂亮又受过教育的姐妹,本来有机会嫁给官富二代,但很多被那些长得不错、有名校高学历、刚毕业在知名外企工作、加班到很晚还健身的男生所吸引。觉得人家上进又有潜力。五六年后,她们悔得肠子都青了。
60、我大学宿舍的一个女生,每天要花半个小时拌狗粮拿到外面去喂流浪狗。可她半个月才给家里打一次电话。她家是三线城市的工薪阶层。同学们都说她是爱心小天使。
61、几年前BBS有女生写道:不知为什么,每次有丑男看我,我都感觉他很猥琐,特别反感;但帅哥看我就感觉很好。今日又看到有男生写:我发现我老是喜欢抢着给漂亮的女生帮忙,不自觉地就会问她需要什么;但每次丑女让我帮忙,我就感觉:你自己不会干吗?——一些很明显的实话说出来,显得格外可爱。
62、美国人的生活就是像你在电影电视剧看的那样好。天天玩儿,随便搞搞就挣大钱,到处都是感人的细节,帅哥美女随便搞。导演们把这些日常生活拍下来,送到电视台电影院播放。
63、口中的道德和原则虽然重要,却总是要给手里的利益让道。
64、一提到钱,大家就不是那么亲热了。
65、你这么努力,忍受那么多寂寞和纠结,我们也没觉得你有多优秀。
66、人生就是这样,有欢笑也有泪水。一部分人主要负责欢笑,另一部分人主要负责泪水。
67、很多人不断地规划自己的人生,每天压力很大。其实不管你怎么过。都会后悔的。想想你这前几十年就明白了。
68、三十岁时,大部分人都卡在初级职位上。现有的工作升不上去,又无法承担转行的时间成本,更来不及再去读书。父母开始多病;自己收入有限,也没有存款。更大的痛苦,是看到身边没有背景但努力又聪明的人已经小有成就,有背景的人已经开始过上贵族生活了。
69、这个世界没有错,谁让你长得不好看又没钱。
70、有些妹子喜欢带上墨镜自拍。其实再戴上口罩,会显得更美。
71、多照照镜子,很多事情你就明白原因了。
72、我从来不会脑残地在网上晒自己买的名牌,因为我买不起。
73、小时候以为有钱人都很跋扈,心都是黑的。长大后才发现,很多有钱人都懂得很多,经历很丰富,做事儿很认真,为人很宽厚,理性,比穷人更好相处。
74、长相不行的人,为人也未必好。只不过由于长久寂寞的折磨,有时会发疯似地对人好。
75、26岁的他辞掉工作,和朋友建了支乐队,到各民办大学演出,反响平淡。30岁钱花完了,父亲得病要很多钱。“唱完这场就放弃,青春就到这里了。”甘肃七里河大学演唱会前,他留下眼泪说。一位女学生递上纸条:我喜欢你的歌,要坚持梦想。他把纸条攥紧决定坚持梦想。34岁,他欠了十几万的债,父亲也病逝了。
76、“老师您好,请问像我这样的,没有背景的北大毕业生应该如何定位自己?”“社会底层群众中受教育程度最高的一批人。”
77、如果你每天干的活明显多于别人,但自己很高兴还感觉得到器重,那么与其说你很有才干,不如说你的领导很会管人。
78、当别人和你说忙,是他/她要留时间给更重要的人。
79、“那些出身好能力强的人努力是为了成功,因为人家有可能会成功。我们努力是为了啥呢?”“为了活下去。”
80、基因是你给的,成长环境是你给的,社会阶层是你给的——还有脸埋怨自己孩子没出息。
81、有些人努力了一辈子,就是从社会的四流挤入了三流。
82、弱者都是这样,觉得生活中的无奈太多,自己又无力改变。
83、学术能力的缺乏并不意味着你就擅长混社会,说不定还不如在学校的表现。
84、你全力做到的最好,可能还不如别人随便搞搞。
85、如果你知道一些事情有意思,但不能去做而失落,那还好;要是觉得什么都没意思,应该就是抑郁症。
86、我要是有钱或者长得好看就好了。那样,即使我性格有点儿怪,也会有人愿意倾听我的想法和感受,跟我做朋友。
87、出身不好的限制也不光是平台问题。出身不好,说明你父母混的也不怎么样,也许你基因里就写着“不行”两个字。
88、经过十年的不断奋斗和磨砺,我终于从一个懵懂无知、敏感脆弱的少年,成长为了一个懵懂无知、敏感脆弱的青年。
89、为什么有些人要把追求精神满足和追求物质上的富足对立起来呢?你不幸福是因为你境界不高,你物质生活差是因为你能力不行。这完全是两回事儿。
90、成败是评判英雄的唯一标准。
91、优秀幸福的人是喜欢撒娇的,告诉别人自己这儿过得不好,那儿过得也不好。有些人当真的了,觉得别人天天是在宝马车中哭泣。
92、如果外貌好能够获得他人的关注,又有钱能够支持各种娱乐活动,谁会愿意每天呆在家里打游戏,刷微博,看电视剧。
93、如果你很忙,除了你真的很重要以外,更可能的原因是:你很弱,你没有什么更好的事情去做,你生活太差不得不努力来弥补,或者你装作很忙,让自己显得很重要。——史蒂夫·乔布斯
94、很难想象让敏感多变的年轻人去做Leader,进行重大的决策。这些人睡一觉起来,被别人说了几句,或者吃了顿好饭,人生观世界观就可以发生翻天覆地的变化。
95、尽量不要和比自己生活质量高的人起冲突,不论你是假装若无其事、努力争辩或者破口大骂,在别人看来,都是自己很可笑并且已经输了。
96、有些人,社交能力很差。只能和那些志同道合,彼此欣赏的人做朋友。而那些性格不随和,不喜欢自己,但是能给自己带来提升的人,他们没有能力搞定。
97、老板和领导很清楚哪些人能够得到晋升。对于那些不能的人,他们也会不断地鼓励和给她们希望。
98、以前每次看到网上的青年在微博校内大谈国事,我担心他们会干出些什么事情来。后来我发现他们还同时说着“明天一定要早起”,“这个假期要多看几本书”,“再也不能多吃了”,于是我放心了。
99、一些人的情商比较低,没法扮演好自己的社会角色,只能一直以最真实的自己面对世界。
100、人生的自由和无限可能性都是错觉。每个人都被社会压力,亲近的人和自己束缚的死死的,每天做着自己一定会去做的事情。
101、社会精英阶层一边啃着心灵鸡腿和心灵鸡胸,一边为我们送上了心灵鸡汤,说人生的价值并不在于你挣了多少钱和外在是否美。
102、出卖自己的灵魂和原则并不丢人,丢人的是没能卖一个好价钱。
103、我们所咒骂的那些品德败坏的人,其实不过是直接或间接地损害了我们的利益。
104、直到三十岁才知道,和不同的人说不同的话,表现出不一样的态度,是一种非常可贵的能力,而不是虚伪。
105、别减肥了,你丑不仅是因为胖。
106、有些人感慨:“自己岁数不小了,还没有成熟起来。”其实你们已经成熟起来了,你们成熟起来就这样。
107、只有拥有找男女朋友的能力和很多备胎,才能真正享受单身生活。
108、女生们宁肯做高帅富的备胎,也不肯接受屌丝的行为,从基因上保证了人类的进步。
109、Loser面对生活比自己好的人,心中生出了怨恨。
110、我去找心理医生看抑郁症。他听完我的陈述,说道:如果你说的都真的话,为什么你不去自杀呢?你这不是抑郁症;抑郁症是看事情悲观,本来好,却认为不行。你是本来就过得不如别人。
111、很多人发现自己在钱、权、女人的问题上比不过别人,于是开始试着在道德和人生境界上做文章。
112、碰到一个认识的人,想一起聊聊天。她说自己去香港和希腊玩了,又买了苹果和化妆品;我不知道怎么回应,因为我很久没有出去玩和买东西了。我又说我最近思考了人为什么活着和出身的问题,她也沉默,因为很久没有思考这样的问题。此后再也无话。
113、我追逐自己的梦想,别人说我幼稚可笑,但我坚持了下来。最后发现,原来还真是我以前幼稚可笑。
114、你年轻时一事无成;时而自怨自艾颓废堕落,时而咬紧牙关拼命努力,经营关系,但你的生活一直没有改善,你一直很痛苦,直到三十岁。”他听后兴奋地问:那三十岁之后呢?有转机吗?算命先生微微抬起头:三十岁后……你就开始习惯了。
115、很同情那些名校毕业生。这些人中的绝大多数,一生最大的成就就是高考的成功,一下超越了社会中的各种阶层,仿佛升到顶端。之后一辈子都在走下坡路。
116、哪怕抛掉出身的因素,我觉得你也未必干得过别人。
117、吹牛逼是一些人的天性。当对于一些话题自己乏善可陈时,就会搬弄外援:我有个朋友,拥有比你们更牛逼的经历。讲完后洋洋得意,潜台词是作为其朋友,自己肯定也不会差到哪去。
118、有时我们觉得别人误会了自己,其实是我们误会了自己。
119、所谓人生理想,就是支持你捱过每天的无聊与痛苦,最终没有实现的那个愿望。有了它,临死前是无穷的空虚和痛苦;没有它,这辈子都熬不下来。
120、好多重要又紧迫的事情,先干哪一件都会感觉别的事情被耽误了。所以还是先上会儿网吧。
121、很多时候别人对你好,并不是因为别人喜欢你,而是因为他们喜欢对人好。
122、女生有这样的梦想:某一天辛苦工作之后,在客户处认识一位优秀男人。他自信、Self-centered、成熟、幽默,又对人很caring。你们坠入爱河。他对你说:别工作了,我帮你开家咖啡馆吧!于是你的生活变了,每天在充满情调的咖啡馆里钻研咖啡甜点。你又开始相信爱情了。后来你发现男朋友开了十几家咖啡馆了。
123、年轻的男孩只希望自己的女朋友是美丽的。而随着他不断长大,阅历的不断积累,他终归会认识到:美丽并不是选择伴侣的全部,性感也很重要。
124、如果你是长得好看的话,在公车地铁上睡着了,头靠在旁边人的肩上,旁边的人会一直陪着你直到醒来。你要是长的丑的话,头一旦靠在旁边的人肩上,他会立即拍醒你,并温馨提醒你保管好财物。
125、“妈不是说你,你看你找那个对象,长得那么丑,话也说不明白,我要是和别人说这是我女婿我都觉得丢人”“他家有十几个亿。”“当然了,人也没必要活得那么虚荣,为什么非要在意别人的看法呢?更何况爱情本来就是盲目的,妈支持你!”
火狐浏览器截屏网页保存为图片插件Pearl Crescent Page Saver
火狐浏览器截屏网页保存为图片插件Pearl Crescent Page Saver
Pearl Crescent Page Saver
是一款火狐浏览器的截屏插件,他可以抓取屏幕可见区域以及整个网页保存为图片。
Pearl
Crescent Page Saver 便可帮你轻松完成网页保存为图片。
Pearl Crescent Page Saver
可选截取当前可见区域或是整个网页页面,并保存为图片,支持保存为 PNG 和 JPG
格式你可以通过设置来对截图功能、范围进行设置。值得一提的是,使用 Pearl Crescent Page Saver
截全屏时,只会截取网页部分,浏览器上的个人书签不会截取。安装完毕后,可以看到在 Firefox
浏览器的右上方有一个照相机形状的小按钮,
点击边上的三角箭头便可选择截取整个页面或是可见页面,还可在Page Saver
设置中更改截图热键、图片文件保存的路径、和默认的文件保存格式等等。
这款插件安装和使用都很方便,经过测试,安装后并没有对 Firefox
浏览器的运行速度有太大影响,推荐使用。
官方网站:http://pearlcrescent.com/
微信公众账号开发教程之微信浏览器HTTP_USER_AGENT判断
在微信公众平台的开发过程中,我们有时需要开发网页并判断是否是是来自微信浏览器访问,本文介绍如何做出这一判断。
一、$_SERVER数组
$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。
在 $_SERVER 中,你也许能够,也许不能够找到下面的这些元素。注意,如果以命令行方式运行 PHP,下面列出的元素几乎没有有效的(或是没有任何实际意义的)。
‘PHP_SELF’
当前执行脚本的文件名,与 document root 有关。例如,在地址为 http://example.com/test.php/foo.bar 的脚本中使用 $_SERVER[‘PHP_SELF’] 将得到/test.php/foo.bar。__FILE__ 常量包含当前(例如包含)文件的完整路径和文件名。 从 PHP 4.3.0 版本开始,如果 PHP 以命令行模式运行,这个变量将包含脚本名。之前的版本该变量不可用。
‘argv’
传递给该脚本的参数的数组。当脚本以命令行方式运行时,argv 变量传递给程序 C 语言样式的命令行参数。当通过 GET 方式调用时,该变量包含query string。
‘argc’
包含命令行模式下传递给该脚本的参数的数目(如果运行在命令行模式下)。
‘GATEWAY_INTERFACE’
服务器使用的 CGI 规范的版本;例如,“CGI/1.1”。
‘SERVER_ADDR’
当前运行脚本所在的服务器的 IP 地址。
‘SERVER_NAME’
当前运行脚本所在的服务器的主机名。如果脚本运行于虚拟主机中,该名称是由那个虚拟主机所设置的值决定。
‘SERVER_SOFTWARE’
服务器标识字符串,在响应请求时的头信息中给出。
‘SERVER_PROTOCOL’
请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。
‘REQUEST_METHOD’
访问页面使用的请求方法;例如,“GET”, “HEAD”,“POST”,“PUT”
‘REQUEST_TIME’
请求开始时的时间戳。从 PHP 5.1.0 起可用。
‘REQUEST_TIME_FLOAT’
请求开始时的时间戳,微秒级别的精准度。 自 PHP 5.4.0 开始生效。
‘QUERY_STRING’
query string(查询字符串),如果有的话,通过它进行页面访问。
‘DOCUMENT_ROOT’
当前运行脚本所在的文档根目录。在服务器配置文件中定义。
‘HTTP_ACCEPT’
当前请求头中 Accept: 项的内容,如果存在的话。
‘HTTP_ACCEPT_CHARSET’
当前请求头中 Accept-Charset: 项的内容,如果存在的话。例如:“iso-8859-1,*,utf-8”。
‘HTTP_ACCEPT_ENCODING’
当前请求头中 Accept-Encoding: 项的内容,如果存在的话。例如:“gzip”。
‘HTTP_ACCEPT_LANGUAGE’
当前请求头中 Accept-Language: 项的内容,如果存在的话。例如:“en”。
‘HTTP_CONNECTION’
当前请求头中 Connection: 项的内容,如果存在的话。例如:“Keep-Alive”。
‘HTTP_HOST’
当前请求头中 Host: 项的内容,如果存在的话。
‘HTTP_REFERER’
引导用户代理到当前页的前一页的地址(如果存在)。由 user agent 设置决定。并不是所有的用户代理都会设置该项,有的还提供了修改 HTTP_REFERER 的功能。简言之,该值并不可信。
‘HTTP_USER_AGENT’
当前请求头中 User-Agent: 项的内容,如果存在的话。该字符串表明了访问该页面的用户代理的信息。一个典型的例子是:Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586)。
‘HTTPS’
如果脚本是通过 HTTPS 协议被访问,则被设为一个非空的值。
‘REMOTE_ADDR’
浏览当前页面的用户的 IP 地址。
‘REMOTE_HOST’
浏览当前页面的用户的主机名。DNS 反向解析不依赖于用户的 REMOTE_ADDR。
‘REMOTE_PORT’
用户机器上连接到 Web 服务器所使用的端口号。
‘REMOTE_USER’
经验证的用户
‘REDIRECT_REMOTE_USER’
验证的用户,如果请求已在内部重定向。
‘SCRIPT_FILENAME’
当前执行脚本的绝对路径
‘SERVER_ADMIN’
该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。如果脚本运行在一个虚拟主机上,则该值是那个虚拟主机的值。
‘SERVER_PORT’
Web 服务器使用的端口。默认值为 “80”。如果使用 SSL 安全连接,则这个值为用户设置的 HTTP 端口。
‘SERVER_SIGNATURE’
包含了服务器版本和虚拟主机名的字符串。
‘PATH_TRANSLATED’
当前脚本所在文件系统(非文档根目录)的基本路径。这是在服务器进行虚拟到真实路径的映像后的结果。
‘SCRIPT_NAME’
包含当前脚本的路径。这在页面需要指向自己时非常有用。__FILE__ 常量包含当前脚本(例如包含文件)的完整路径和文件名。
‘REQUEST_URI’
URI 用来指定要访问的页面。例如 “/index.html”。
‘PHP_AUTH_DIGEST’
当作为 Apache 模块运行时,进行 HTTP Digest 认证的过程中,此变量被设置成客户端发送的“Authorization” HTTP 头内容(以便作进一步的认证操作)。
‘PHP_AUTH_USER’
当 PHP 运行在 Apache 或 IIS(PHP 5 是 ISAPI)模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。
‘PHP_AUTH_PW’
当 PHP 运行在 Apache 或 IIS(PHP 5 是 ISAPI)模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。
‘AUTH_TYPE’
当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型。
‘PATH_INFO’
包含由客户端提供的、跟在真实脚本名称之后并且在查询语句(query string)之前的路径信息,如果存在的话。例如,如果当前脚本是通过 URLhttp://www.lrxin.com/php/path_info.php/some/stuff?foo=bar 被访问,那么 $_SERVER[‘PATH_INFO’] 将包含 /some/stuff。
‘ORIG_PATH_INFO’
在被 PHP 处理之前,“PATH_INFO” 的原始版本。
chrome谷歌浏览器模拟手机伪造地理位置设置教程
新建标签页,按“F12”打开控制台,点右下角的小齿轮,在弹出的窗口选择Overrides选项卡,把User Agent勾上,在下面的下拉框选择你喜欢的手机UA,这样你就能把Chrome伪装成手机浏览器了。
如果再把把右边的Override Geolocation也勾上,就可以模拟位置了,但需要我们自己设置位置坐标。步骤如下:
打开https://maps.google.com/ 找到你假冒的地点,右击鼠标,选择“这儿是什么?”? 然后搜索框就会显示当前的纬度和经度。(前一个是纬度,后一个是经度,我选了 18.292018 ,109.348437,是海南三亚的坐标)。根据刚才得到的经纬度设置成Lat = 18.292018, Lon = 109.348437。
PS:千万不要关闭控制台哦!
直接在上边的标签页登录手机QQ空间,切换到触屏版,然后在发布说说的时候试着添加位置坐标,看坐标是否假冒成功了。我经过测试发现,国内的位置基本上都能正确识别,但国外的坐标就不行了。比方我尝试了Google山寨城总部以及目田女神像的位置坐标,均未能识别。如果识别成功了,赶紧写点“旅游”后的感受吧,不然功夫就白费了。