整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

MacBook Pro开发环境配置指南

文章主要记录新购Mac,需要安装的必备软件,由于有多台Mac,用途不一样。

  • 公司主力开发电脑

  • 家中主力开发电脑

公司主力开发电脑,主要功能是开发公司软件研发有关。而且有一些私有的东西,需要符合公司规范。

家中主力开发电脑,主要参与开源社区开发以及个人创作,涉及社区和个人创作内容,软件栈相对自由。

故此,记录一下Mac做为主力开发程序电脑,必备提升效率软件利器,工具选得好,下班下得早。

安装Homebrew包管理工具

Homebrew 是Mac OS 下的包管理工具,类似于Ubuntu下的apt-get命令,通过这个工具我们可以快速获取所需要的软件而不需要像在Windows系统中那样打开浏览器,找到需要下载的安装包,然后才能进行下载。Homebrew拥有安装、卸载、更新、查看、搜索等很多实用的功能。通过一条简单的指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。

执行如命令安装:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

稍等片刻,看到successful说明安装成功,具体根据所处网络速度而定。

利用brew安装软件试试:

[1]、安装wget工具

brew install wget

[2]、安装git工具

brew install git

通过brew把我们平时使用的命令行工具都安装上,喜欢Mac的原因就是可以提供类似Unix/Linux体验,并且有简洁美观的界面设计。

工作空间

此处基本都是个人喜好,我个人比较喜欢控制,所以对工作空间有一些自己的规范。

对于Mac系统,我通常会在根目录下建立/data用来做为创作空间。

sudo mkdir /data
sudo chown xujiang:staff /data

如上,创建/data目录,并且授权给xujiang用户可以完全控制此目录,这里使用了sudo越权操作,熟悉Linux系统的同学应该都理解。

目录划分:

mkdir /data/gitlab 主要存储利用私有GitLab托管的代码

mkdir /data/github 主要存放利用GitHub托管的代码

mkdir /data/[your company name] 主要存放公司项目代码或MarkDown文档

安装软件

如下列出的都是提供dmg软件包或者AppStore直接安装,相对简单。

  • ShadowsocksX-2.6.3

  • sogou_mac_47b

  • VSCode-darwin-stable

  • jdk-8u111-macosx-x64

  • WebStorm-2016.3.4

  • ideaIU-2017.2.6

  • OmniGraffle-7.4

  • OmniPlan-3.7.2

  • SourceTree_2.2.4

  • googlechrome

  • Evernote

  • Beyond Compare

  • Docker.dmg

  • DockerToolbox.pkg

  • goland-2018.1.dmg

  • HipChat-4.30.1-754.dmg

  • licecap125.dmg

  • sketch-49.3-51167.zip

  • SketchBook_v8.5.1_mac.dmg

  • Shimo_4.1.5.1_8837.zip

  • Sublime Text Build 3103.dmg

  • Tunnelblick_3.7.4b_build_4921.dmg

  • Office for Mac 2016

  • ScreenFlow-5.0

  • Adobe-CC-2018-all

环境变量

开发类的一些软件需要配置环境变量,以便更好地控制与切换版本。

安装oh my zsh

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

安装完成,默认主题是robbyrussell,你可以通过修改~/.oh-my-zsh/themes/robbyrussell.zsh-theme定制主题显示信息。

local ret_status="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ %s)%{$fg_bold[red]%}[%{$fg_bold[blue]%}xujiang%{$fg_bold[yellow]%}@%{$fg_bold[cyan]%}MacBook-Pro"
PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[green]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}%{$fg_bold[red]%}]%{$fg_bold[cyan]%}$%{$reset_color%}% '
ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"

编辑~/.zshrc增加一些自定义配置:

alias cls='clear'
alias ll='ls -l'
alias la='ls -a'
alias vi='vim'
alias javac="javac -J-Dfile.encoding=utf8"
alias grep="grep --color=auto"
alias -s html=mate # 在命令行直接输入后缀为 html 的文件名,会在 TextMate 中打开
alias -s rb=mate # 在命令行直接输入 ruby 文件,会在 TextMate 中打开
alias -s py=vi # 在命令行直接输入 python 文件,会用 vim 中打开,以下类似
alias -s js=vi
alias -s c=vi
alias -s java=vi
alias -s txt=vi
alias -s gz='tar -xzvf'
alias -s tgz='tar -xzvf'
alias -s zip='unzip'
alias -s bz2='tar -xjvf'

插件安装:

可以在~/.oh-my-zsh/plugins目录下看到相关插件,默认提供了100多种插件。

启用插件配置~/.zshrc文件中找到plugins:

plugins=(
git textmate ruby autojump osx mvn gradle
)

例如 git:当你处于一个 git 受控的目录下时,Shell 会明确显示 「git」和 branch,如上图所示,另外对 git 很多命令进行了简化,例如 gco=’git checkout’、gd=’git diff’、gst=’git status’、g=’git’等等,熟练使用可以大大减少 git 的命令长度,命令内容可以参考~/.oh-my-zsh/plugins/git/git.plugin.zsh

autojump:zsh 和 autojump 的组合形成了 zsh 下最强悍的插件。

brew install autojump

安装完成autojump,使用命令 autojump --help获取使用方法。

安装Python通过brew

brew install python

如上,安装完成之后的Python会自带pip,setuptools等软件,很好的管理Python包。

默认安装的Python是最新稳定的3.x版本。如果需要安装2.x,使用命令brew install python@2

安装完成之后执行如下:

echo 'export PATH="/usr/local/opt/sqlite/bin:$PATH"' >> ~/.zshrc

我没执行这一句话,因为我默认使用Python 2.7。

注意:如果你使用pyenv管理你的Python版本,那么其实不需要通过brew安装Python,就不用执行此内容。

brew uninstall python

如上卸载命令,可以方便的卸载通过brew安装的软件包。

安装Python版本管理工具pyenv

Simple Python Version Management: pyenv

You can also install pyenv using the Homebrew package manager for Mac OS X.

brew update
brew install pyenv

在zsh中启用pyenv需配置如下内容到~/.zshrc

eval "$(pyenv init -)"

通过pyenv安装Python 2.7.15版本,通过命令pyenv install --list查看可支持安装的Python版本。

pyenv install 2.7.15

在安装一个Python 3.4.0版本,然后试试切换不同版本是否流畅。

pyenv install 3.6.5

查看安装的Python版本列表:

$ pyenv versions
* system (set by /Users/xujiang/.pyenv/version)
2.7.15
3.6.5

设置2.7.15为全局Python环境:

pyenv global 2.7.15 # 设置全局的 Python 版本,通过将版本号写入 ~/.pyenv/version 文件的方式。
pyenv local 2.7.15 # 设置 Python 本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式。通过这种方式设置的 Python 版本优先级较 global 高。

会话级别Python环境变量。

pyenv shell 2.7.3 # 设置面向 shell 的 Python 版本,通过设置当前 shell 的 PYENV_VERSION 环境变量的方式。这个版本的优先级比 local 和 global 都要高。–unset 参数可以用于取消当前 shell 设定的版本。
$ pyenv shell --unset
$ pyenv rehash # 创建垫片路径(为所有已安装的可执行文件创建 shims,如:~/.pyenv/versions/*/bin/*,因此,每当你增删了 Python 版本或带有可执行文件的包(如 pip)以后,都应该执行一次本命令)

pyenv 全部命令:

pyenv commands

通过pyenv可以很好的解决Python多版本管理问题,并且在各个不同版本间方便的切换,在VS code中,我就可以为不同Python项目配置使用不同Python版本。

Virtualenv

前面,我们介绍了基于pyenv设置全局Python环境为Python 2.7.15

现在我们在Python 2.7.15环境,安装Virtualenv支持基于此Python版本的多PY项目环境虚拟化。

安装 virtualenv

pip install virtualenv

提示升级pip

pip install --upgrade pip

使用virtualenv:

virtualenv env # 创建一个env虚拟Python环境。
source env/bin/activate # 激活env虚拟Python环境。
pip install pandas # 在激活的env环境下安装pandas包。

quickstart pandas测试:

>>> import pandas as pd
>>> import numpy as np
>>> s = pd.Series([1,3,5,np.nan,6,8])
>>> s
0 1.0
1 3.0
2 5.0
3 NaN
4 6.0
5 8.0
dtype: float64

如需退出env环境,可执行deactivate命令。

如果是Python 3.x环境,可以使用官方自带venv软件,达到同样的目的。

安装maven

brew install maven # /usr/local/Cellar/maven/3.5.3

配置环境变量:

cat ~/.bash_profile
# by xujiang 2018.05.11
export M2_HOME=/usr/local/Cellar/maven/3.5.3
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
export PATH=.:$JAVA_HOME/bin:$M2_HOME/bin:$PATH

下一步,准备写一写如何打造最强工作空间,保障身体健康,更轻松愉快的写代码,得从电脑、屏幕、键盘、鼠标、座椅方面展开。

参考地址:

[1] ZSH shell http://macshuo.com/?p=676

[2] http://einverne.github.io/post/2017/04/pyenv.html

[3] https://docs.python.org/3/library/venv.html

像传感器并非只有CMOS一种,目前大规模量产的影像传感器有CIS、CMOS和CCD三种,索尼与三星等影像传感器厂商对CMOS技术的大幅度投入,使CMOS影像传感器在技术规格上已领先于CCD图像传感器,且相同规格的CMOS影像传感器制造成本低于CCD影像传感器。而CIS影像传感器则因其更加低廉的成本,被用于扫描仪等专用设备。

手机厂商为何选CMOS作影像传感器

原因很简单:CMOS在提供接近CCD的绝对性能同时,价格具备绝对优势,这对拍照只是众多功能之一的智能手机而言再合适不过。由于智能手机的销量几乎可用爆炸来形容,因而成本进一步降低,在CMOS技术中拓展出了背照式CMOS传感器和堆栈式CMOS传感器两种传感器工作方式。

背照式CMOS传感器

堆栈式CMOS

背照式CMOS,其实是相对传统正照式CMOS而言。简单来说是将光电二极管和布线层进行对调,让光线首先进入感光电二极管,通过让更多光线接触到传感器提高低光照条件下的拍摄效果。目前,背照式传感器已不再是高端智能手机的配置,在千元机上也可以轻松找到对应的SONY CMOS型号。

堆栈式CMOS可被视作索尼的独家专利,目前仅有索尼一家可制造堆栈式传感器,它是背照式CMOS传感器的衍生产物,目前在高端智能手机CMOS产品中普遍使用。堆栈式CMOS使用信号处理电路芯片替代原背照CMOS基板,在芯片上重叠形成背照CMOS元件的像素部分,实现同样尺寸内更高的像素密度以及更好的画质。

当然,一颗CMOS的性能并不能完全决定拍照性能,手机厂商对镜片组的成本考虑,以及色彩等关键参数的标定,都会对拍照画质产生非常大的影响。

需要说明的是感光元件只是手机类摄像头组成中不可或缺的一部分,但不是成像质量的决定性因素,这其中还包括厂商通过软件对硬件的优化调校,使其让人感觉最好的效果,这也是目前各家厂商在手机摄像画质方面效果差异最大的决定性因素之一。目前,CMOS传感器已克服弱光环境下灵敏度低,噪点严重的问题。而如果想获得比较好的手机拍照效果,除了购买当季的旗舰机型号外,还可以参考以下文章:

【搞机百科】2000万像素真的好?告诉你优质拍照手机有哪些特性

http://bbs.zhiyoo.com/thread-13588980-1-1.html

【智友问答】手机感光元件厂家为何只有SONY知名

http://bbs.zhiyoo.com/thread-13567837-1-1.html

【智友问答】最近手机上很火的AI拍照是噱头吗?

http://bbs.zhiyoo.com/thread-13570714-1-1.html

【搞机百科】根据目前已知的消息,华为Mate20到底有多强大?

http://bbs.zhiyoo.com/thread-13583168-1-1.html

年伊始,极果举办了一场以“画出你的 2020”为主题的试用活动,活动吸引了大批插画师前来参加,插画师们通过华为 MatePad Pro平板电脑创作了一系列创意插画,其中不乏许多优秀作品,今天我们就通过这些作品来深入了解华为 MatePad Pro 给艺术创作带来的革新。

(图片来源:极果网 插画师:小小EE )


小小EE 是一名手绘插画师,在使用华为 MatePad Pro 之前,他一直使用传统的纸张、颜料和画笔进行绘画。事实上这也是许多对传统创作形式有偏爱的创作者现状,颜料和画笔能够给创作者带来安全感。但实际上,华为 MatePad Pro这样优秀的电子设备也能够带来专业级的绘画体验。

传统绘画方式之外,也有越来越多的创作者接受使用数位板+电脑的形式进行创作,一个精准的数位板配合效果优异的显示器也能够得到令人满意的作品。插画师禾亭呀就是这样的一位自由插画师,他日常使用数位板连接电脑输出作品,但当需要外出创作时,数位板与电脑的重量着实是一种负担,华为 MatePad Pro 的重量约为 460g,相对于电脑来说轻了很多很多,所以日常携带会更加方便。

当然他们能选择使用华为 MatePad Pro 进行创作,重量肯定不是唯一的原因,在继续下文之前,我们先来看一下这两位插画师带来的新年作品。

小小 EE 作品《喜气洋洋迎鼠年》(图片来源:极果网)


小小 EE 作品《喜气洋洋迎鼠年》(图片来源:极果网)


禾亭呀 作品《福》(图片来源:极果网)


禾亭呀 作品《福》(图片来源:极果网)


这两幅插画都是在华为 MatePad Pro 上面完成的,仔细观察插画的细节,在《福》中,可以看到老鼠与画面背景的交接、放在桌子上的花瓶和花朵、背景中嵌入的 2020 字样的边缘都非常顺滑,并没有因为是由平板电脑创作而导致边缘不明确、过渡不清晰的情况。


能有如此优秀的效果,主要是因为华为 MatePad Pro 配备了非常专业的 HUAWEI M-Pencil 手写笔,4096级的压感意味着能够带来与专业数位板几乎一致的使用感受,图像的勾勒、笔锋的雕琢等等都有突出表现,足以应对插画创作这样的专业需求。

小小 EE 作品《喜气洋洋迎鼠年》(图片来源:极果网)


《喜气洋洋迎鼠年》则是更复杂的作品,它有着细腻且丰富的色彩过渡,整个画面从上到下的色调以黄色为主,但是却区分出来了多达上百种颜色,仅仅是黄色的深浅就有超过几十种,在创作过程中,如此丰富的色彩非常难以控制。


华为 MatePad Pro 配备了2K分辨率全面屏,最高亮度达到 540nit,支持 DCI-P3 电影级色域,这几个重要参数让华为 MatePad Pro 的屏幕有着非常强大的色彩表现力,足以支持复杂色彩的内容输出,《喜气洋洋迎鼠年》这样的作品能够在平板电脑上生成,这块屏幕功不可没。


在消费电子领域,针对艺术创作的产品非常匮乏,华为 MatePad Pro 通过一块具有优秀显示效果的屏幕,以及 4096 级压感手写笔帮助插画师实现了随时随地轻松创作的梦想,在 2020 年的新年伊始以及猪年的岁尾,为我们带来了这些优秀的插画作品。这些作品让我们看到了技术与艺术的结合,也看到了华为 MatePad Pro在艺术领域的无限可能。

目前,华为MatePad Pro丹霞橙、青山黛、贝母白、夜阑灰四款配色均在热销中。其中,素皮版拥有8GB+256GB (含键盘、手写笔)、8GB+512GB(含键盘、手写笔)两个型号,售价4999元起;玻纤版拥有6GB+128GB、8GB+256GB 两个型号,售价3299元起。用户可通过华为官方商城、各大授权电商、华为体验店及线下门店进行抢购。

详情请戳:https://item.jd.com/100010137716.html