中文圈程序员的碎碎念
509 subscribers
3.52K photos
21 videos
129 files
28.7K links
嘿!你也来看码农又在写啥BUG了吗
Download Telegram
防止页面被 iframe 内脚本“打散”的两种方法

本文摘自 勾三股四 更早时期的 不老歌 博客。

----------------------

页面被 iframe 内脚本“打散”的情况越来越常见。比如,在百度的搜索结果页面中有这样的脚本:
if (top.location != self.location) {
top.location=self.location;
}
这时,如果我们把这个页面作为 iframe 放到另一个页面里,则外层页面会被直接跳转至搜索页面。这个代码对页面本身做了保护——即不会被其它页面引用,也给我们在需要引用这些页面时带来了一些困扰。下面介绍两种解决方法:

1. 通过掩盖 location 和 domain 变量,像下面的代码那样:
if(document.all){
var isIE = true;
var location = "";
var domain = document.domain;
}
再对 top.location 赋值就不会将页面“打散”了。
不过这个方法仅仅对 IE 浏览器管用,且会提示脚本错误。

2. 通过 onbeforeunload 事件监听,中断“打散”的动作。即:
window.onbeforeunload = function(evt) {
return '(请用户选择留在此页面的提示)';
};
这样,在页面跳转之前,会弹出一个确认对话框提示用户要不要继续执行页面跳转(即“打散”)的操作。如果用户选择了“否”,则页面会终止跳转操作, iframe 里的脚本也就不会“打散”整个页面。
这个方法也有弱点,就是它总是弹出确认对话框,有的时候这会让人很受不了。

介绍完毕,两种方法各有优劣,可视状况采用不同的方法。

via 囧克斯 (author: 勾三股四)
美国的西藏难民文化

Yeh, E.T., 2007. Exile meets homeland: politics, performance, and authenticity in the Tibetan diaspora. Environment and Planning D: Society and space25(4), pp.648-667.

在美国的西藏难民,大体上有三批人

1. 1959 年和达赖一起流亡到印度的藏民,和之后在南亚出生的流亡者。
2. 八十年代开始从西藏逃到印度和尼泊尔的藏人,和第一种人一起,陆续获取绿卡到达美国。
3. 从中国大陆的藏区直接逃到美国的人。

第三种人的受教育程度更高,也更为城市化,以至于他们的生活方式,被认为更接近于「中国人」,而不是传统的藏人。而第一种人的生活方式,多少受到了印度风格的影响。三种人都认为自己继承了正统的西藏文化,然后互相吐槽。

大陆藏民:你们那么多年都没在藏区待着,才不正宗呢。
印度藏民:你们那么多年被汉文化扭曲着,才不正宗呢。

2002 年,一次在湾区的西藏节日活动中,来自拉萨的歌舞团,表演了节目。虽然不是「北京的金山上」那么夸张的歌词,但也是我们熟悉的春晚西藏 style。

从大陆去美国的西藏人,看的很开心:这是我最高兴的一天!终于看到了熟悉的西藏文化。好像又回到了罗布林卡(拉萨版的颐和园,经常办联欢会的地方)……

老一辈西藏流亡者的后代:这是神马鬼东西……我受够了!我们去看印度电影吧~~

via fivestone
😁1
穿墙看 YouTube 也是一种 Rock'N Roll 的 Style!

本文摘自 勾三股四 更早时期的 不老歌 博客。

----------------------

Yeah!

大家好我是卢广仲!
Yeah!

我爱看 YouTube !
Yeah!

我现在终于知道怎么穿墙看 YouTube 了!
Yeah!

绑 hosts
Yeah!

C:\WINDOWS\system32\drivers\etc\hosts
203.208.39.104 www.youtube.com
就可以啦!
Yeah!

最后记得每天吃早餐!
Yeah!

via 囧克斯 (author: 勾三股四)
内心的猪

在巴布亚新几内亚 Southern Highland 行省的 Kaluli 族群,当地灵媒的两个主要职责,是:

给人治病
和找寻村民丢失的猪

这两件事有什么关联呢?在当地文化里,一个人之所以生病,是因为他内心的猪,走失了……

Séances maybe called for a variety of reasons, including entertainment, but most commonly are called to cure illness and to find lost pigs. One of the principlec ausesof illness, from the Kaluli point of view, is that a person’s invisible wild pig (or cassowary) aspect may be trapped or injured by hunters of the spirit world, resulting in pain and disability for the visible person. If the animal is taken from the trap and eaten by the spirits before it can be rescued, the person will die. An even more serious cause of illness (which may or may not be involved with the trapping of the wild pig aspect) results from an invisible attack on the victim’s body by a witch…
Schieffelin, E.L., 1985. Performance and the cultural construction of reality. American Ethnologist12(4), pp.707-724.
以 Kaluli 人的观点,导致疾病的主要原因之一,是一个人的不可见的野猪(或食伙计)可能被魂灵世界中的猎人困住或伤害,从而导致人可见的疼痛和残障。如果落入陷阱的动物,在被及时救出之前,被魂灵们捕获并吃掉,那么这个人将会死去。更严重的一种导致疾病的原因,是受害者的身体,被巫师进行不可见的攻击……

via fivestone
介绍我自己

本文摘自 勾三股四 更早时期的 不老歌 博客。

----------------------

勾三股四

本名赵锦江
英文名Jinks

Blog: http://bulaoge.net/?g3g4
QQ: 110 698 041
Email: zhaojinjiang爱他yahoo刀com刀cn (万恶的网络爬虫 - -)

SlideShare: http://slideshare.net/jinjiang/
GitHub: http://github.com/jinjiang/

酷爱编程
喜欢足球、音乐

目前在傲游(Maxthon)上班
写代码是我的专业
前端开发是我的老本行

崇尚简单生活而不失激情
信科学 信W3C

大概的人生规划是:

20岁~30岁写代码
30岁~40岁玩音乐
40岁~50岁当足球教练
听说程序员的平均寿命是47.5岁……
如果我还能活到50岁,就给自己写一篇个人自传——只写给我自己
如果我还能活到60岁,就把50岁写的书出版

总之我就是这么爱幻想……

我已回到现在

另外,每个Blog都是有过去的……

2010-08-21 更新——调戏凡客:

via 囧克斯 (author: 勾三股四)
关于 html dom table 的相关操作

本文摘自 勾三股四 更早时期的 不老歌 博客。

----------------------

[HTML DOM Table].cells[]
[HTML DOM Table].rows[]
[HTML DOM Table].insertRow(index)
[HTML DOM Table].deleteRow(index)

[HTML DOM TableRow].cells[]
[HTML DOM TableRow].rowIndex
[HTML DOM TableRow].insertCell(index)
[HTML DOM TableRow].deleteCell(index)

[HTML DOM TableCell].cellIndex
-----------------------------------
在部分“现代浏览器”中,table 的 innerHTML 是会引起错误的,而且再加上 tbody/thead/tfoot 这种幽灵般的标签的存在,个人认为上述的方法和属性无疑是控制 table 内容的更好选择。

最后是一则本人的最近引起小骚动的签名档:
一个厕所三个坑——W3C

via 囧克斯 (author: 勾三股四)
php 中的 json

本文摘自 勾三股四 更早时期的 不老歌 博客。

----------------------

用惯了 javascript 中的 json,格式很简单,很灵活。发现 php 中也有这个东西可以用。

通过 json_encode(obj) 和 json_decode(str, [bool=false]) 可以在 php 中实现 json code 与 json object/array 之间的转换。

比如:
var_dump(json_decode('{"title": "Blog", "catogery": "php"}'));

会输出下列内容:
object(stdClass)#1 (2) {
["title"]=>
string(4) "Blog"
["catogery"]=>
string(3) "php"
}


而第二个参数设为 true 后:
var_dump(json_decode('{"title": "Blog", "catogery": "php"}', true));

会输出下列内容:
array(2) {
["title"]=>
string(4) "Blog"
["catogery"]=>
string(3) "php"
}


最后有一点需要注意的是,json code 中的 key 必需要求使用双引号标注起来,而 javascript 中没有这个硬性要求,只要是符合变量名规则的 key 都不需要加双引号。

via 囧克斯 (author: 勾三股四)
当我跑完步,我谈些什么 – 5

突然发现,长跑时,到了跑得很累,大家都开始坚持的那个阶段,其中一些人,会产生很强烈的精神涣散 or 注意力减退。平时在操场跑道、路况很好、或者很熟悉的线路上,还不明显;到了陌生的、情况复杂的地方,就格外明显。他们会忽略路面上的凸起,甚至下台阶的时候都会数错,各种被绊到;在行人众多的地方,也不能及时地发现和躲避,出现在他们轨迹前方的行人,经常直直地撞上去。于是一起跑步的我,需要分出一缕心神,不时地提醒对方。

这些状况,在我身上很少出现。即使跑的很累了,我也在眼观六路耳听八方。——我觉得这不是什么先天基因差异,而是相对后天的因素吧。和那些习惯了心无旁骛、而不需要关注周围环境的人相比,我更常有的状态,是意识到自己走在各种陌生的路上,于是每一秒都在警惕有什么状况会发生,从而不允许自己有太多涣散。

也未必一定要用「警惕」这样的视角。通常我在路上,也能比别人更细微地观察着各种角落,发现更多有趣的东西。所以「不涣散」也可以从这种正向的角度去解释。——当然,这几件事哪个是因,哪个是果,我也分不清楚。

另一方面,那些能够随便就让自己跑到精神涣散的人,成绩、训练效果、进步速度……比我要好一些。当然这里面也存在幸存者效应。其中一些人,在旁边没人照料的时候,动不动就扭到脚、撞到人,受伤休息几个月;甚至伤情更严重一些,永远告别跑步这项运动。但幸存的那些人,确实运动效果比我要好。也有人选择从来不在路况不好的地方跑步,就可以一直涣散着跑得很好。——这里面也能看出各种 privilege,对那些能够心里完全不去顾及其它纷扰,单纯地投入地去做事的人,表示羡慕。但(也可能是我的观察样本有问题)这样的人也更偏向「岁月静好」,在自己的世界里,理所当然地不去关心远方的苦难。

via fivestone
浅浅浅谈公共厕所的用户体验设计

本文摘自 勾三股四 更早时期的 不老歌 博客。

----------------------

浅浅的 淡淡的

最近公司所在楼层的厕所进行了改装,传说中已经算是5星级的了(也不知道是怎么算出来5星的)。但真的比以前的厕所强么?我个人可不这么认为,如下:

1. 本公共厕所加装了一个扬声器,循环播放古典或传统民族音乐,这个问题不大;
2. 本公共厕所似乎采用了先进的声控(或红外控或正太控或萝莉控)系统,只要“控不到人”,就关灯关音乐关换气扇关空调,抛开控得准确不准确不说,那个换气扇和空调能不能多开一会儿?
3. 更何况“控”得还不准。有的时候人明明在,灯就关了,过一会儿立刻又好了,有人没人的技术判定很恶心……
4. 不管是坑还是斗还是池,都改红外控放水了(这些可以确定是红外控的),但是坑和斗都提供手动按钮了,池没有,有的时候天热想在池边洗把脸真是一件痛苦的事情……
5. 既然坑、斗、池都有红外控了,难道不能跟灯控、音乐控、出入气控结合一下么,不然怎么会在人家大便的时候就把灯给关了……
6. 地板劳驾不要铺那种太高级的,我的意思是,不要铺太反光的地板砖,不然隔壁的隐私会透过挡板与地板之间的缝隙……

7. 也是最后一点:
为什么周末还他妈的锁门?!丫算什么5星级厕所到底像不像让人家上啊还不如我们老家的茅坑呢24小时营业是骡子是马都可以随便去还环保……(终于语无伦次崩溃中)

via 囧克斯 (author: 勾三股四)
日全食有什么稀罕的,我们身边全食众多

本文摘自 勾三股四 更早时期的 不老歌 博客。

----------------------
明天上午9点,日全食,长江流域众多地区可以看到。
好多人想去看的样子,蠢蠢欲动。其实没什么稀罕的。

我们见过的全食还不够多吗?

比如优全食
比如推全食
比如维全食
比如非全食
比如饭全食
比如今天的科全食1科全食2

躲都躲不及呢,还凑什么热闹啊

via 囧克斯 (author: 勾三股四)
PasteNow 2.4 发布:快速将最近一个项目粘贴为纯文本

继 7 月的《PasteNow 2.3 发布:支持 Word、Pages 下多个项目粘贴》后,PasteNow 2.4 又带来了一个非常实用的功能,即「将最近一个项目粘贴为纯文本 」。

新特性:将最近一个项目粘贴为纯文本

在 PasteNow 的使用场景当中,复制粘贴文本是其中最常见的一个场景,而其中又有一部分的需求是将富文本以纯文本的形式粘贴出来,或者换句话说就是:去除文本的格式。

PasteNow 一直都有按需去除格式的功能,它可以按纯文本粘贴或原始格式(富文本)进行粘贴。不过这个过程会需要将 PasteNow 的界面唤起,并按下内置的快捷键来达到这个目标。如果需要多次处理较多的文本,处理起来就会相对比较慢了。

于是在 2.4 版本中,针对这一场景,PasteNow 引入了一个新的快捷键,即「将最近一个项目粘贴为纯文本 」。通过设置成自己习惯的快捷键,然后就可以非常迅速地以统一的形式在任何 App 里完成文本的去格式粘贴,这个过程甚至不需要将 PasteNow 的界面呼出来!

举个例子,比如要将一个网页富文本以纯文本形式粘贴至 Word,首先将「Option+Command+V」设置为快捷键后,接下去只需要这样操作:

在 Safari 里按下 Command + C 复制一段网页文本;
来到 Word,直接按下 Option+Command+V,那么这段网页文本就会以纯文本的形式粘贴至 Word 里面。

请看视频演示:

iframe (www.youtube.com)

相信通过新增这个快捷键,PasteNow 可以又快又好地完成纯文本粘贴这一场景的需求。

macOS 版本及 iOS 版本的其他更新

和以往版本一样,每个版本也会带来旧有功能的完善和修复,其他更新有:

调整音效的音量大小,使与系统当前音量匹配;
修复无法复制正在编辑的标题的问题;
修复无法显示其他应用保存的 JPEG 格式图像的问题;
修复 macOS 端修改列表名称后,没有同步至 iOS 端的问题;
修复暗色模式下,在一些白色背景的剪贴板文本下无法显示标题和快捷键标识的问题。

其中 iOS 版本最主要的变化是完善了对 iOS 16 的适配:

修复了在 iOS 16 Beta 版本中,底部工具栏会布局错乱的问题;
修复无法通过搜索标题找到对应项目的问题。

小结

目前 PasteNow 还有很多需求和功能有待去实现,我会继续保持节奏,将其不断完善下去。

附:App Store 链接

via I'm TualatriX

Invalid media: image
三重门 – 1

听【随机波动 134:一边做官一边自省是可能的吗】,来宾是《世上为什么要有图书馆》的作者杨素秋,作为陕西科技大学的一位老师,在某种政府轮值体系下,到西安市碑林区做了一年的文旅副局长,在这一年间,创建了碑林区的第一座图书馆。在布置图书馆,尤其是选书的过程中,坚持品味,拒绝了各种以回扣为主的劣质书商。这本书的很大一部分,就是她在建馆过程中,对整个官僚体系的吐槽。

听播客的时候,我一直在走神。思考的东西和播客内容关系不大:关于在体制内生存,同时还有「良知」的人,我对这样的人,是什么样的态度?态度有什么变化?他们和我,到底有着怎样的关联 or 距离呢?

随着进入体制成为一种,在利己乃至求生的维度上,越来越理所当然的选择。因为它太普及了,于是,它所伴随的(在我的同温层面上的)罪孽感、耻辱感,反而没有多年前那么重了。一些三观基本靠谱的人,也选择了进入体制工作。他们或者听家里安排、随波逐流,或者也有一些鸡贼谋利的心思,或者……在其它层面烦扰的事情太多了,在这一方面也就无所谓怎样了。然后,这群人在日常工作环境中,一方面确实承受了体制环境的痛苦;另一方面,会从他们所在的位置和视角,对体制进行更多的观察和感受。就像社交网络上看到的吐槽,就像播客里对《世上为什么要有图书馆》的评价:一本难得的,从自上而下的视角描绘官僚系统的田野笔记。

作者谈到自己在文旅局挂靠一年时的心态,和我的一些工作经历有点像,——知道自己只是一个过客,于是和那些必须依赖这个系统而生存的人,心态和生活方式都不一样的。在很多地方,我是抱着「围观顺便领一份薪水」的态度工作的,我知道过不了多久就会辞职离开,我不会迫于,为了让自己在这个系统里长久待下去,而去做一些更深的改变。于是我无所谓会哟一些个性张扬、或者相对于环境出格的表现,而这些表现,会获得那些在体制内生存而三观还 ok 的人的欣赏、赞扬、甚至共鸣。于是我们日常的聊天内容,也可以更多彩一些,即使在国委办公室里,也能找到这样的人。某种意义上讲,体制内这样的人多了,可能体制也会随之而改变吧?——打住!最后这句属于过分意淫了,不可能的。

然而,其实和这样的人,还是能够感到一种隔阂的。我不是在说政治观点的不同,而是(人生历险 vs 稳妥过日子)这样的方面。他们可能刚毕业就结婚,可能是妈宝男,或者老公家里有钱……虽然对方也会口头上感慨,说羡慕我的生活方式,但我能看出,那显然不会是对方的选择。——这些当然也不会影响我们在办公室日常闲侃,但有时遇到一些,不涉及立场,却展现出(激情 vs 保守)的小事时,大家的选择都不一样。

二三十年前,还没那么多被互联网揭露出的社会事件,大家还不怎么谈政治的时候,我和他们的各种生活方式上的分歧,就始终存在,渐行渐远。而这些年,只是在政治、性别意识……等方面,又新加了一层层滤网。大多数人,连这些新滤网都无法通过,于是,能够体会生活方式分歧的机会,反而越来越少了。我最近反思后发觉,自己似乎把政治、性别等这些方面的同温层,看得过于决定性了?这些确实很重要,是做朋友,不,是做人的基本标准,但满足了这些维度的人,也未必就能快乐地玩耍到一起。那些几十年间被掩盖的分歧,没什么机会去触碰的分歧,其实都还在。

----------------------

上面的想法,是我听播客时就有了的。但我坚持等到,把那本《世上为什么要有图书馆》读过,再来整理确认那些文字。不然,只凭播客里的访谈,就说和作者有共鸣,或者匆匆标榜出距离,感觉都很奇怪。因为我在听播客时,也能感觉出,作者和《随机波动》的主播们,有些微妙的频道差异,经常是这一方兴高采烈提起某个话题,另一方不感兴趣就岔开了。总之经常有不对劲的地方。

书写的不错。后半段塞了很多文化随笔,和主题关系不大,但前面那些吐槽官僚,和筹划图书馆的部分,很好看的,推荐去读。但我意识到不对劲的地方在哪了。作者经常反思,对于自己占据权力高位,是否会迷失的自省或自嘲。在遵照上级指示,去各种店面视察时,一边吐槽,一边也尽量应付了事。但在新冠疫情期间,检查酒店是否非法采买海外生鲜时,格外严格、敏锐,文中隐隐为自己能揪出不法商贩而自矜。大概作者是按部就班,家庭美满,于是比较惜命的人,遇到真正在乎的场合,潜意识就直接站在了权力的那一边。——我可以选择不使用手里的权力,但需要的话,可以随时把它拿起来。

via fivestone
玩转Qml(14)-动画特效-梯度

简介
关于文章
梯度效果预览
实现原理

简介

这是《Qml特效-进场动画》系列文章的第二篇,涛哥将会教大家一些Qml进场动画相关的知识。

源码

《玩转Qml》系列文章,配套了一个优秀的开源项目:TaoQuick

github https://github.com/jaredtao/TaoQuick

访问不了或者速度太慢,可以用国内的镜像网站gitee

https://gitee.com/jaredtao/TaoQuick

梯度效果预览

梯度效果,支持从四个方向梯度出现

实现原理

通过数值动画,控制百分比属性percent从0 到100变化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27


//AGrad.qml
import QtQuick 2.12
import QtQuick.Controls 2.12
ShaderEffect {
...
//枚举声明四种方向
enum Direct {
FromLeft = 0,
FromRight = 1,
FromTop = 2,
FromBottom = 3
}
property int dir: ASlowEnter.Direct.FromLeft
property int percent: 0
opacity: percent > 0 ? 1 : 0
NumberAnimation {
id: animation
target: r
property: "percent"
from: 0
to: 100
alwaysRunToEnd: true
loops: 1
duration: 1000
}
...
}


在Shader中,使用glsl片段着色器实现像素的控制:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23


in vec2 qt_TexCoord0;
uniform float qt_Opacity;
uniform sampler2D effectSource;
uniform int dir;
uniform int percent;
out vec4 fragColor;
void main()
{
vec4 color = texture2D(effectSource, qt_TexCoord0);
float p = float(percent) / 100.0f;
float alpha = 1.0f;

if (dir == 0 ) {
alpha = 1.0 - step(p, qt_TexCoord0.x);
} else if (dir == 1){
alpha = 1.0 - step(p, 1.0 - qt_TexCoord0.x);
} else if (dir == 2) {
alpha = 1.0f - step(p, qt_TexCoord0.y);
} else if (dir == 3) {
alpha = 1.0f - step(p, 1.0 - qt_TexCoord0.y);
}
fragColor = vec4(color.rgb, alpha);
}


效果比较简单,以从左向右为例(dir == 0), 说明一下:

先是把percent 归一化处理 (float p = percent / 100.0),

纹理坐标qt_TexCoord0.x的取值范围为 0 - 1,按照Qml的坐标系统,左边为0,右边为1。

之后纹理坐标与p进行比较,坐标小于p则显示(透明度为1),大于p则不显示(透明度为0). (也可以直接用discard丢弃片段)

step是glsl内置函数,step(p, qt_TexCoord0.x) 就是x小于p返回0,大于等于p返回1。 结果正好与上面分析的相反,用1 减去即可: alpha = 1.0 - step(p, qt_TexCoord0.x);

最终输出颜色即可:

fragColor = vec4(color.rgb, alpha);

via 涛哥的博客

Invalid media: animation
PasteNow + Manico,双十一优惠活动进行中

双十一马上就来了,有用户问我的产品会有优惠活动吗?当然会有!毕竟双十一已经变成中国人的「黑色星期五」一样的重要的日子了,在这期间不优惠,什么时候优惠呢?

这次优惠活动依然选择两款当下我花了比较多时间在维护和改进的产品,分别是 PasteNow 和 Manico。

PasteNow 是一款剪贴板工具(详见《PasteNow 1.0 正式发布:剪贴板工具的新选择》),它的第一个版本发布于 2021 年 4 月,过去一年半的时间,它越来越完善,并且在今年推出了 iOS 版本。

Manico 则是快速启动和切换工具,我的老产品了,今年已经是它在 2013 年诞生至今的第十年,并且仍然在保持更新和完善,比如今年新发布了 3.0 版本,以更好的适配了新系统。

关于这两款工具我就不详细介绍了,大家可以点击 App Store 链接去详细查看并试用:

PasteNow
Manico

关于优惠活动

PasteNow 和 Manico 将进行长达两周的优惠活动,其中 PasteNow 原价 50 元,目前 8 折至 40 元,而 Manico 原价 40 元,目前 7.5 折至 30 元。该价格将为期两周,到 11 月 15 日才会恢复原价。给新用户们足够的时间去体验产品再决定是否购买,这两款产品都有长达 14 天的免费试用期。当然你也可以直接购买以支持我。

希望大家能通过用这两款产品提升自己的日常效率,使用 macOS 的过程更加轻松愉快!

via I'm TualatriX

Invalid media: image
入手新手机一部

本文摘自 勾三股四 更早时期的 不老歌 博客。

----------------------

Nokia 1202

虽然型号很低,但拥有好多先进智能手机没有的优点:
1. 单色白屏,节能省电,待机时间超长;
2. 短小精干,操作简单,低辐射;
3. 铃声够大,字体够大,可以用到老年…… 囧rz;
4. 价钱便宜。

再搭配上我的小i~ 无敌鸟!
有谁想体验一下由 Nokia 1202 的 mic 传出去的声音的,可以给我打个电话感受一下~
每体验一次,您将为中国电信捐出一份爱心

via 囧克斯 (author: 勾三股四)
M1 Pro 的 MacBook Pro 之一年体验记

前天 Apple 发布了 M2 Pro/Max 的 14 寸/ 16 寸 MacBook Pro,这是继 2021 年底 M1 Pro/Max 系列更新后一年多后久违的更新。

作为在 2021 年 10 月买了 M1 Pro 的 16 寸 MacBook Pro(见《谈谈定购 M1 Pro 的 16 寸 MacBook Pro 后的一些想法》、并且已经用了一年多的用户,我准备谈谈过去一年多关于这台电脑的完整体验,以及对新出的 M2 Pro/Max 系列的看法。

先说结论,M1 Pro 的 16 寸 MacBook Pro 是我十多年来使用过最为满意的一台 Mac 电脑,主要有以下方面:

1、安静不打扰

极其安静的一台电脑,99.99% 的时间风扇都不会转,曾经夏天被 Intel Mac 风扇狂转支配的恐惧,已经彻底消失。

2、又省电又强劲

疫情前,经常外出办公,但是 Intel Mac 的续航之短,让我少了很多选择,一定要去有电源插座的场所,不然只能在两三小时的电池续航后结束工作。

自从用了 M1 Pro 的 MacBook Pro,即使是 CPU 工作繁重的开发编译型工作,不插电可以坚持一个下午(下午三~五小时,我的主要工作时间)并留有很多余电,再也没有电源焦虑。

关键是,在续航足够的情况下,M1 Pro 性能也没有打折,比起 Intel 时代的要强上很多。这个就不需要多提了,网络上关于这方面的评测已经非常多了。

3、高素质的 mini LED 高刷屏

新的 mini LED 屏幕也是我很满意的一个地方,偶尔会用它来看看电影或电视剧,素质非常高。120hz 的高刷屏在日常的使用也有行云流水的感觉。

4、基础功能的回归

过去五六年,MacBook Pro 为了追求轻薄,产品的基础功能都做得很差劲,比如蝴蝶键盘、没有足够的扩展口等等。

在 2021 款 MacBook Pro,SDXC 卡插槽的回归,让我导入相机拍摄的照片变得方便;HDMI 的接口的回归,让我偶尔需要用到电脑演示时,也非常方便;虽然键盘没有蝴蝶键盘那么轻了,但是再也不会「重复击键」了,能让我专心码字或码代码了。

当然,将第 4 点作为新系列让人满意的「优点」其实是不对的,但却是不得不提到的。

有缺点吗?

说了这些让我满意的地方,它有没有缺点呢?我觉得几乎没有,或者说,这些只是必要的 trade-offs。比如:

● 重:16 寸的它,肯定是相对有点重的,但是我觉得可以接受,接受不了这个重量的,就选择 14 寸或 MacBook Air 吧;
● 刘海屏:很多人讨厌刘海,我自己是完全可以接受的,唯一会在意的是它使得状态栏无法放下那么多图标了,但相对多出来的纵向像素以及整体较大的可视范围,是值得的。

总之,这台 2021 款 M1 Pro 的 MacBook Pro 是我用过最满意的一台 Mac,相比我用过 2017 款和 2018 款的 MacBook Pro,是真正不同世代的产品。

关于 M2 Pro/Max 的 MacBook Pro

再谈谈新出的 M2 Pro/Max 的 14 寸/ 16 寸 MacBook Pro,比如 M2 Pro 多了两个能效核心,总体性能提升了 20%,还更省电了,是一次能看到显著提升的常规迭代。很多人会说「提升不大」、「没有诚意」…

问题是,这些人对于「迭代」是不是有不切实际的期望?他们期望每年 Apple 都能来一个 M1 式的提升?或者每年机器的外观都来一次翻天覆地的「重新设计」?这自然是不可能的。

「别说废话了,就说值不值得买,你买不买吧!」

由于我已经是满意的 M1 Pro 的用户了,我会继续把手上这台 16 寸 MacBook Pro 好好地用下去,至少用个三年到五年,发挥它最大的价值。我不会为 20% 的性能提升再去更新设备,完全没有必要,因为日常使用中,只有极少情况是需要不断编译、能快一点就快一点的场景的。等到性能提升相对我现在用的有 80%、100% 以上了,我可能才会考虑更新设备。

如果你仍在使用 Intel 的 MacBook Pro,有我前面提到的一些困扰、对性能也有要求,那么当下自然是购买新款 M2 Pro/Max 的最好时机了。

那么到底要选 M2 Pro,还是 M2 Max,是 14 寸还是 16 寸呢?可以参考我去年写的《谈谈定购 M1 Pro 的 16 寸 MacBook Pro 后的一些想法》,这篇文章依然有效。

此文算是我迟到的一篇关于新系列 MacBook Pro 的体验,希望对读到这里的你有所帮助。祝所有人都能愉快的使用电脑来创造!

随便配张图:

via I'm TualatriX

Invalid media: image