作为一名Python开发,我谈Linux和mac的使用体验
我是一名Python开发,在2018.7~2021.6使用的是Linux系统 Deepin OS 作为自己的开发系统;在2022.7~至今使用的是 mac OS 系统作为开发系统。
Deepin OS是我使用过的最好的Linux系统没有之一,各种适配的软件让工作变得高效。作为一个中国人打造的系统,我深感骄傲。而mac OS中有着开发者的血统,也见过很多大神把mac OS配置的无比高效。刚好手头上两种系统都有,在公司用mac做Python开发,在家里用Deepin学习办公,所以就想做一件自觉有趣的事情,就是将这种系统来做一个对比。
Deepin 系统的图标换成了mac系列(我很喜欢mac的图标,生动而优雅),所以看起来有点类似mac。前方多图预警。
系统基本信息
Deepin OS
版本
:Deepin 20.1
硬件
:thinkpad x1 Carbon
cpu
:i7-3667u
内存
:8 GB
mac OS
版本
:10.15.7 (19H1615)
硬件
:MacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports)
cpu
: 2.3 GHz 双核Intel Core i5
内存
:8 GB 2133 MHz LPDDR3
Deepin OS
系统信息
程序坞
Deepin的经典一代是15.11,那时的程序坞不是独占一排,和mac有点类似。20之后可以选择高效模式或时尚模式,目前就是高效模式,和window的任务栏类似,但是更好看。由于我将图标都替换成了mac风格的,所以系统的图标和mac os类似。
文件管理器
deepin的文件管理器拥有Linux桌面系统经典的文件夹,家目录、视频、音乐、图片、文档、下载等一个不少。除此之外还多一个计算机和系统盘,里面是整个文件系统的概览。从window切换到linux系统的使用者一开始可能对文件系统不习惯,因为看不到整个文件系统。而这个计算机就是方便概览全局。
程序
Deepin 的程序展示和mac是一致的,点击启动器或win键就可以唤程序界面,15.11是上下滑动,20之后是左右滑动。从15.11升级到20.1时还真有点不习惯,还是觉得上下滑动更符合视觉特点。
app 商店
不得不夸奖一下Deepin 的app store,适配了很多软件,完全能覆盖日常需要。比如办公软件类的qq,微信,TIM,钉钉等。不过并非原生适配,是通过wine程序作为兼容层,比起原生适配肯定更容易出现卡死和延迟。
系统好用软件
Deepin系统自带了很多好用的软件,特别针对中国人开发的。下面罗列一下好用的软件。
日历
标记了阴历,节气,节假日,特殊节日等,还可以安排日程定时提醒。分别从年月周日来展示。
日历
个人觉得颜值最高的邮件软件
计算器
颜值依然在线
文本程序
Deepin 的文本程序很好用,当然Linux上的文本程序都很好用,比起windows的记事本和mac的文本编辑器都好用。
设备管理器
提供了详细的设备管理信息
开发工具
终端
使用过Linux的知道 Ctrl + Alt + T 可以召唤出终端。Deepin的终端颜值不低,自带多种主题。
不仅如此,还带有一个叫做雷神终端的便捷式终端。有时候需要一遍看网页,一边终端输入,只有一个屏幕时不方便,这时如果终端固定在屏幕最上方就能很好解决这个问题,这就是雷神终端。
Pycharm
作为一名python开发者,Pycharm当然是开发首选工具。对于挑选开发工具我认同一种说法,如果是只写Python就使用Pycharm,如果要在多种语言之间来回切换VS code是最好的选择。在使用了将近一年的mac os之后,我发现Deepin下的pycharm的最上面,也就是额头似乎有点宽。在快捷方式上两者也有一定差距,会让我感到困扰。
在日常开发中使用两块屏幕,一块用来在Pycharm上写代码,另一块打开终端调试。这样的配合效率很高,除了复制粘贴,这个实在不方便,只能使用Ctrl + Alt + C 从终端里复制,然后使用Ctrl + Alt + V来粘贴。其实在终端里判断Ctrl +C 是复制粘贴还是终止程序并不难,在网页版编辑器上就可以实现这个功能,然后到目前为止Linux系统上并没有改进,但是mac OS是可以做到的。
mac OS
从20年的7月开始使用mac作为我的开发系统。说实话在使用Deepin 两年之后我觉得Deepin是对开发最友好的系统,比起mac真的人性化太多了,不说别的,mac的复制粘贴 command + C 和 command + V 对于从window开始的用户来说就很不习惯。但是在逐渐习惯(键盘映射成Ctrl + C)之后我发现mac也真的挺好用的。
系统信息
程序坞
mac的程序坞类似于浮在桌面之上,不像Deepin20.1的独占一列屏幕,从空间上来说就感觉节省很多。而且是打开多少就展示多少,更符合我的使用理念。
文件系统
mac的文件系统有优点也有缺点,当然这个缺点可能是我不精通。优点是:文件系统支持的配置很多,比如文件夹背景色可以自选,也可以是图片,排列方式有很多种。缺点是:左侧默认的文件夹似乎不够用,不像Deepin给了10多个文件夹。当然左侧文件夹也是支持添加的,只是对新手来说不友好。
app
mac中app的管理确实更加方便。比如安装app就把安装包往程序里一拖就ok了,或者点击程序包拖动就ok。比如window安装实在智能太多,比起Deepin也方便很多。Deepin在安装时可能还要选下一步,完成等。
实用插件
mac系统屏幕的顶栏是一个很有亮点的地方,这里能够放置很多小工具,我特别喜欢这个地方。在使用的过程中放了小工具。下面来介绍一下
系统监控
这可是每一个mac系统必备的软件,监控cpu,内存,磁盘,网络等,让使用者实时能够掌握到系统的状态。Deepin由于没有顶栏,所以就看不到。
滴答清单
用来记录每时每刻的想法,有什么想法直接点击顶栏小图标就记录下来,十分方便。
docker
开发中需要使用docker,一个docker的监控
截图
截图app保留在顶栏的图标。这里要说一下mac系统自带的截图完全不能用,需要额外下载一个。而Deepin系统自带的截图不仅能截图还能录屏,差距可不小。
日历
一个日历小插件,点开就能看到。mac自带的日历简直不能看。
实用系统工具
mac系统中自带了很多方便的小工具,能够体验到黑科技带来的效率。特别是建造设备生态,这是其他系统都没有做到的,我觉得就有如下:
搜索
Deepin下也有一个好用的utools工具,可以媲美搜索。
预览
在选中文件之后,使用空格就可以预览内容。不用打开文件就能看,简直是节省时间的大杀器,而且是不管是什么文件,图片啊,音频啊,视频啊,word等等。能够切实的提高效率。
隔空投送
在mac电脑上复制一段话,直接在手机中粘贴,设备之间无缝切换,嗖嗖的提升工作效率。特别是我在工作时经常要用手机调试,更能节省时间。
开发工具
Pycharm
mac上的Pycharm感觉更紧凑一些,额头也很窄,工具栏的工具更多。
终端
使用mac,第一件事就是下载一个iterm2终端。比起mac自带终端,iterm2颜值和功能高出一大截。配合zsh和Oh-my-zsh,配色上又提升不少。
此外还有两个高效插件:z和zsh-autosuggestions。zsh-autosuggestions是根据历史命令自动补全,z是不需要写全路径的跳转。两个插件都能节省终端里输入命令的时间。
标签颜色。在使用终端时一直觉得当前终端不够突出,后面找了一个能够改变当前标签颜色的代码。在本地输入命令之后标签的颜色就变成红色,当远程到别的机器上去时标签的颜色就编程蓝色。这样就能很方便的分辨出当前的终端的工作环境,不会在远程机器上输出错误命令。
配置脚本如下,一看就能命令如何使用。
if [[ -n "$ITERM_SESSION_ID" ]]; then
tab-color() {
echo -ne "\033]6;1;bg;red;brightness;$1\a"
echo -ne "\033]6;1;bg;green;brightness;$2\a"
echo -ne "\033]6;1;bg;blue;brightness;$3\a"
}
tab-reset() { echo -ne "\033]6;1;bg;*;default\a" }
function iterm2_tab_precmd() {
tab-reset
}
function iterm2_tab_preexec() {
if [[ "$1" =~ "pin" ]]; then
tab-color 204 255 229
else
tab-color 255 160 160
fi
}
autoload -U add-zsh-hook
# 注释了默认颜色
#add-zsh-hook precmd iterm2_tab_precmd
add-zsh-hook preexec iterm2_tab_preexec
else
tab-reset
fi
总结
两种系统都是类Unix系统,都可以使用终端完成高效率的开发。在刚使用mac时发现其文件系统和Linux文件系统有很多不一致的地方,比如说系统相关的目录有些不一样,没有库文件/lib,新增了Volumes等。后面发现这些在开发中也根本不会用到,home目录的配置是一模一样的,环境变量,shell配置都是相同的。
从系统的流程度来说,mac比Deepin要好一些,Deepin切换或最小化时是有生硬的感觉,而mac就很流畅,这一点确实存在。
给两个系统做一个对比:
- 系统稳定
mac比Deepin更加稳定,在使用Deepin开发的过程中崩溃过几次,虽然使用mac也崩溃过但只有一次。 - 系统流畅
mac 系统更加流程 - 系统舒适
如果是从window切换到两个系统,Deepin肯定更容易上手,mac有一定的使用磨合期。 - 系统定制化
如果喜欢折腾系统,Linux系统毫无疑问是最佳选择 - 系统自带软件
Deepin自带的软件更加实用,而且是适应国人习惯。mac往往要寻找更好的第三方替代,比如shell要用iterm2,截屏也要安装第三方 - 第三方工具
mac 的顶栏能够集成很多第三方工具,极大的提高生产效率。Deepin原生界面不带顶栏。 - 系统生态
这个毫无疑问是mac的优势,苹果的生态系统可以说是最好没有之一。mac和iphone,ipad可以无缝交互。
如果要用人来形容两个系统,我觉得mac就像是书香门第的翩翩公子,颜值高,家庭关系(生态环境)极好,家里亲戚都是达官显贵,和这种人相处可能会觉得冷漠(不容易上手),但是真的成为交心朋友之后能给你的事业和生活带来提升,当然和富家公子深交是需要银子的(好用软件需要花钱)。
而Deepin就是穷苦人家的书生,贫贱不可改其志,虽然出生不光鲜靓丽但是自身品质闪闪发光(自带软件好用)。求学刻苦努力(版本迭代快,bug修复快),寄托着左邻右里同样清贫邻居的希望,而且是读书人的榜样(国人支持,政府采购),未来不可限量,不是所有的事情他都能处理(软件不适配),但是与之交可共同进步。
作为一名Python开发,我谈Linux和mac的使用体验的更多相关文章
- 作为一名Java开发工程师需要掌握的专业技能
在学习Java编程完之后,学员们面临的就是就业问题.作为一名Java开发工程师,企业在招聘的时候,也是有一定的标准的. 为了帮助大家更好的找到适合自己的工作,在这里分享了作为一名Java开发工程师需要 ...
- 作为一名SAP从业人员,需要专门学习数学么
最近和SAP成都研究院的开发同事聊到过这个话题,Jerry来说说自己的看法. 先回忆回忆自己本科和研究生学过的数学课程.Jerry的大一生活是在电子科技大学的九里堤校区度过的,本科第一门数学课就是微积 ...
- 作为一名IT从业者,你在工作和学习中,遇到哪些问题
版权声明:襄阳雷哥的版权声明 https://blog.csdn.net/FansUnion/article/details/28448975 大家都是IT从业者,遇到的问题多少与类似. 假设能把这些 ...
- 作为一名Android开发者,你有过迷茫吗?
前言 经常听新进的小白问道,Android是不是饱和了?想写一篇关于Android开发者忧虑的文章很久了,今天才提起勇气写.最近不管是在微信.QQ群,还是在各大博客网站,都随处听得到Android开发 ...
- 作为一名JAVA程序员应该有怎样的就业思维
想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,在面试之前到底需要准备哪些东西呢?面试时面试官想了解你的什么专业技能,以下都是一个合格JAVA软件工程师所要具备的. 一.专业技能 1.熟 ...
- 作为一名Android APP开发者的自我总结
每当接近年尾,最痛苦的工作无疑是写年终总结,写总结的同时不禁感叹这一年过得不容易阿.突然想起这一年也是自己开发Android APP的第一年,于是觉得应该给自己的APP来一个年终总结. 一.开发方面严 ...
- 作为一名GIS从业人员,这些网站你应该关注
前言:今年工作的第二年,端午节后,入职新公司.总算是回归本行,从事GIS相关工作.这个系列算是对在公司工作和学习成长的记录吧. 数据篇: 作为遥感的商业应用,首先考虑的是遥感数据的产品化. ...
- 作为一名CEO
你 不能怕得罪人 不能奢望完成工作的时候 有太多的愉悦感 你 必须要去做左右为难但左右亦可的 操蛋决策 你 得脸皮够厚 肚囊儿宽超 什么事情都能快速消化 哪怕 是 一坨屎 你 还得 决不放弃 永不言败 ...
- 2020年,如何成为一名 iOS 开发高手!
2020年对应程序员来说,是一个多灾的年份,很多公司都进行了不同比例的优化和裁员.等疫情得到控制后,将会是找工作的高峰期,从去年的面试经历来看,现在只会单纯写业务代码的人找工作特别难,很多大厂的面试官 ...
随机推荐
- VBA如何实现筛选条件之“排除某些值”
小爬一般习惯使用Python来解决爬虫和某些办公自动化场景问题,不过最近却需要实现一个VBA需求:从一堆人员处理的Excel数据记录中,排除某些"用户名称"处理的数据.整个思考过程 ...
- java_JDBC,连接数据库方式,RestSet结果集,Statement,PreparedStatement,事务,批处理,数据库连接池(c3p0和Druid)、Apache-DBUtils、
一.JDBC的概述 1.JDBC为访问不同的数据薛是供了统一的接口,为使用者屏蔽了细节问题.2. Java程序员使用JDBC,可以连接任何提供了JDBC驱动程序的数据库系统,从而完成对数据库的各种操作 ...
- logger模块和re模块总结
很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,loggin ...
- 04 js
js 1. JavaScript概述 JavaScript(简称"JS") 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言.虽然它是作为开发Web页面的脚本语言而出名,但 ...
- suse 12 二进制部署 Kubernetets 1.19.7 - 第03章 - 部署flannel插件
文章目录 1.3.部署flannel网络 1.3.0.下载flannel二进制文件 1.3.1.创建flannel证书和私钥 1.3.2.生成flannel证书和私钥 1.3.3.将pod网段写入et ...
- c++ struct enum union加typedef与不加typedef
struct/enum/union加typedef与不加typedef 匿名结构体 struct { int a; int b; } v; // 这里表示定义了一个结构体的变量v,且结构体类型没有名字 ...
- Dubbo基础三之配置方式简述
Dubbo基础一之实战初体验 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中,体验了两种配置方式一种注解一种xml.其中xml是在注解配置失败没有找到解决方法后选择xml替代体验的.那 ...
- 关于tomcat 访问80端口失效 阿里云问题版
可能有朋友在配置完阿里云 配置好服务器发现 使用默认80端口访问网址失效 用8080依然失效 - -放心你用什么都会失效 并且你怎么杀接口也没用 答案就是 你的里面绝对没有80 和8080 你没 ...
- vmstat监视内存的使用情况
vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可实时动态监视操作系统的虚拟内存.进程.CPU活动. vmstat的语法 vmstat [-V] [-n] [ ...
- python开启httpserver