MacBook Pro 2017 不支持 32GB 内存的原因

引言

我现在的笔记本电脑已经用了好几年的时间了,需要更新换代了。
首选是最新款 MacBook Pro 15”,但有一个原因阻碍了马上购买,就是它不支持 32GB 内存。 自认为 Pro 用户的我,还是想等待 32GB 内存版本。
那为什么它不支持 32GB 内存呢?网上有很多文章分析了,深入分析可以得出好些原因,我附在 Ref 中。
我把最可能的本质原因简要总结一下,如下。

原因

用于笔记本电脑的 LPDDR3 单颗容量现在最大只有 32Gb(4GB)

MacBook Pro 2017 上配置板载内存是 4 颗 32Gb(4GB) 的 LPDDR3 内存芯片, 现在 LPDDR3 单颗容量最大为 48Gb(8GB),三星家出的,但它是用于智能手机的,不能用于笔记本电脑,
现在能用于笔记本电脑的 LPDDR3 单颗容量最大只有 32Gb(4GB),4 颗上限就是 16GB。 要实现 32GB,只能采用 8 颗粒的方案,可以在背面多放 4 颗 DRAM,这需要更改现有的 PCB 布局,但苹果并没有这么做。 另外,如果使用 LPDDR4 内存呢,现在能量产的 LPDDR4 内存可以达到单颗粒 64Gb(封装方式支持问题暂不考虑), 但 Intel Kaby Lake CPU 并不支持 LPDDR4 内存。

个人期望

苹果现在把 MacBook Pro 重点放在轻薄上,更改笔记本内部布局,增加更多 DRAM 的可能性并不大。
用于笔记本电脑的 LPDDR3 单颗容量现在最大只有 32Gb(4GB),增加到 64Gb 的可能性也不大。
所以现在大概只能期望更换 LPDDR4 内存才能达到 32GB 内存目标,进一步,这个只能期望 Intel 的 CPU 能够支持 LPDDR4 内存。
关于 Intel CPU 什么时候能支持 LPDDR4 内存又是一个不可预期的问题(估计从下一个 10nm Cannon Lake 系列开始,Intel 给出的时间是在 2017 年底)。

总结: MacBook Pro 什么时候能支持 32GB 内存很大程度上依赖 Intel CPU 什么时候能支持 LPDDR4 内存。
所以这段时间也一直在关注 Intel CPU 的一些新闻。

Ref

如何看待苹果 2017 款 MacBook Pro 仍然使用 LPDDR3 内存?
Samsung Mobile DRAM
Hynix DRAM
Micron DRAM

CentOS 下安装 Python 3.X/PIP/Git 2.X

安装依赖

yum install -y gcc openssl openssl-devel sqlite-devel xml2 libxml2-devel libxslt libxslt-devel python-pyasn1 libffi-devel python-pyasn1-modules

安装 Python 3.X 和 PIP (Python 3 自带 PIP)


wget https://www.python.org/ftp/python/3.5.3/Python-3.5.3.tgz
tar xzvf Python-3.5.3.tgz
cd Python-3.5.3
./configure 
make
make install

python3
pip3 --version

安装 Git 2.X


## 安装依赖(依据实际需求,这里我要使用)
yum install libcurl-devel -y
yum install expat-devel perl-ExtUtils-MakeMaker -y

wget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
tar xzvf git-2.9.5.tar.gz
cd git-2.9.5
./configure 
make
make install

mv /usr/bin/git /usr/bin/git-1.7    # 备份旧版本 Git 
git --version   # Git 默认编译安装在 /usr/local/bin/

Ref

Redhat/Centos/Fedora 下 Python, Pip 和 Git 的安装

4K 相关概念了解

4K 相关概念了解

引言

2008 年左右,我对数字高清视频感兴趣,记得当时厂家在大力宣传 FullHD 全高清显示设备,
当时我也是购入了一台 FullHD 1920*1080 分辨率的显示器,当时 1080p 的内容还并不是那么多,全高清设备也并没有普及。
高清视频标准发展到现在,出现了 4K 标准,和当年的 FullHD 的情况很类似,标准已出,厂家大力宣传 4K 相关的显示设备。 这几年听得最多的就是 4K 电视了。我所了解到的 4K 内容渠道:4K BD, Youtube/Netflix 4K Streaming, 4K 电视频道(有线或卫星方式)。但是现在上面这些渠道上的 4K 内容还并不多。 由于我也有几年没有仔细了解 4K 概念,只是听了下 4K 这个名词,花了点时间了解了下 4K 概念,参考 Wikipedia。

Ref

4K_resolution

Python 基础 11-Python 技术领域

Python 技术领域

  • 网站 Web 开发
  • App 后端开发
  • DevOps 运维开发:运维专业知识、一些第三方工具的使用
  • 爬虫开发:beautiful soap/Scrapy
  • 黑客技术: 计算机基础原理、黑客工具使用
  • 数据科学:取数据、展示数据

Python-Technology-Field

Python 基础 10-异常处理

异常处理

  1. 编写错误的代码会导致异常
  2. 为了让我们了解发生了什么,Python 会抛出一个异常对象。
  3. 异常对象也有类型,它的类型也有父类型,最终继承于基类 Exception。

Python-Exception-Class

try except else 语句


try:
    一段可能出错的代码             # 一般容易出错的场景:网络请求、读写写入、处理与外部系统的交互
except ValueError as e:           # 把 ValueError 类型的异常对象赋值给变量 e
    print(e)                      # 处理这个异常,当使用 print 打印 e 这个异常对象时,e 这个变量变成字符串,包含描述信息
except Exception:
    处理其余所有的异常
else:
    没有异常时的处理代码

except 捕获异常的语句可以有任意多个,同 else 语句一起是互斥的。

try finally 语句


try:
    一段可能出错的代码
finally:
    最后一定会执行的代码,         # 无论前面代码是否出错,最后一定会执行的代码,
    例如 f.close()                # 常用场景是关闭网络、关闭文件等
    

抛出异常 rasie 语句

rasie e

捕获到异常时,如果不想处理,想让更外层代码知道(因为代码是通过函数一层层调用的), 可以使用 rasie 语句来抛出异常到外层。


try:
    int("a")
except ValueError as e:
    print(e)
    raise(e)