深度学习是机器学习的分支,是一种以人工神经网络为架构,对数据进行表征学习的算法。深度学习在搜索技术,数据挖掘,机器学习,机器翻译,自然语言处理等多个领域都取得了卓越的成果,可见其重要性
熟悉深度学习的人都知道,深度学习是需要训练的,所谓的训练就是在成千上万个变量中寻找最佳值的计算。这需要通过不断的尝试识别,而最终获得的数值并非是人工确定的数字,而是一种常态的公式。通过这种像素级的学习,不断总结规律,计算机就可以实现像人一样思考。因而,更擅长并行计算和高带宽的GPU,则成了大家关注的重点。
很多人认为深度学习GPU服务器配置跟普通服务器有些不一样,就像很多人认为做设计的机器一定很贵一样。其实只要显卡或者CPU满足深度学习的应用程序就可以进行深度学习。由于现在CPU的核心数量和架构相对于深度学习来说效率会比GPU低很多,所以大部分深度学习的服务器都是通过高端显卡来运算的。
这里谈谈关于深度学习GPU服务器如何选择,深度学习服务器的一些选购原则和建议:
1、电源:品质有保障,功率要足够,有30~40%冗余
稳定、稳定、还是稳定。一个好的电源能够保证主机再长时间运行不宕机和重启。可以想象一下,计算过程中突然重启,那么又要重来,除了降低效率,还影响心情。有些电源低负载使用的时候可能不出问题,一旦高负载运行的时候就容易出问题。选择电源的时候一定要选择功率有冗余品质过硬,不要功率刚刚好超出一点。
2、显卡:目前主流RTX3090,最新RTX4090也将上市
显卡在深度学习中起到很重要的作用,也是预算的一大头。预算有限,可以选择RTX3080 /RTX3090/RTX4090(上月刚发布,本月12日上市)。预算充足,可以选择专业深度学习卡Titan RTX/Tesla V100 /A6000/A100/H100(处于断供中)等等。
3、CPU:两家独大,在这要讲的是PC级和服务器级别处理器的定位
Intel的处理器至强Xeon、酷睿Core、赛扬Celeron、奔腾Pentium和凌动Atom5个系列,而至强是用于服务器端,目前市场上最常见的是酷睿。当下是第三代Xeon Scalable系列处理器,分为Platinum白金、Gold金牌、 Silver 银牌。
AMD处理器分为锐龙Ryzen、锐龙Ryzen Pro、锐龙线程撕裂者Ryzen Threadripper、霄龙EPYC,其中霄龙是服务器端的CPU,最常见的是锐龙。当下是第三代 EPYC(霄龙)处理器 ,AMD 第三代 EPYC 7003 系列最高 64核。
选择单路还是双路也是看软件,纯粹的使用GPU运算,其实CPU没有多大负载。考虑到更多的用途,当然CPU不能太差。主流的高性能多核多线程CPU即可。
4、内存:单根16G/32G/64G 可选,服务器级别内存有ECC功能,PC级内存没有,非常重要
内存32G起步,内存都是可以扩展的,所以够用就好,不够以后可以再加,买多了是浪费。
5、硬盘:固态硬盘和机械硬盘,通常系统盘追求速度用固态硬盘,数据盘强调存储量用机械盘
固态选择大品牌企业级,Nvme或者SATA协议区别不大,杂牌固态就不要考虑了,用着用着突然掉盘就不好了。
6、机箱平台:服务器级别建议选择超微主板平台,稳定性、可靠性是第一要求
预留足够的空间方便升级,比如现在使用单显卡,未来可能要加显卡等等;结构要合理,合理的空间更利于空气流动。最好是加几个散热效果好的机箱风扇辅助散热。温度也是导致不稳定的一个因素。
7、软硬件支持/解决方案:要有
应用方向:深度学习、量化计算、分子动力学、生物信息学、雷达信号处理、地震数据处理、光学自适应、转码解码、医学成像、图像处理、密码破解、数值分析、计算流体力学、计算机辅助设计等多个科研领域。
软件: Caffe, TensorFlow, Abinit, Amber, Gromacs, Lammps, NAMD, VMD, Materials Studio, Wien2K, Gaussian, Vasp, CFX, OpenFOAM, Abaqus, Ansys, LS-DYNA, Maple, Matlab, Blast, FFTW, Nastran等软件的安装、调试、优化、培训、维护等技术支持和服务。
————————————————
版权声明:本文为CSDN博主「Ai17316391579」的原创文章,遵循CC 40 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:>
那看你是做什么服务器了,BT下载服务器,用ATOM很好,能耗低,噪音小。如果小型一点的局域网服务器,P4 28也不是不可以,但不理想。
如果做大型一点的服务器,游戏服务器之类的。建议还是用志强,稳妥些。
著名的代码编辑器:Microsoft Visual Studio Code、Github Atom、Sublime text、Adobe Brackets
最推荐的一种:Atom
推荐理由:
链接:如何评价 GitHub 发布的文本编辑器 Atom?
作者:韦易笑
用过不少编辑器:UltraEdit / EditPlus / (G) Vim / GEdit / NotePad++ / TextMate / ProgrammerPad / Sublime 。确实是工作上用他们写过代码的。而 VSC / Emacs 只是体验了一下基本使用方法,算不上真用。用下来的结论是:Atom 比 Vim 更 Vim,比 Emacs 更 Emacs,同样,比 Sublime 更 Sublime。
Atom 唯一的槽点就是“卡”,不过那是去年的情况了,10后性能数次大提升,比起sublime/vsc之类虽不算流畅,但同时编辑20个数千行的文件没有压力。如今让人感觉慢的地方主要是启动loading(也大大短于eclipse, idea),使用时并没察觉它比其他编辑器慢再哪。而文本编辑器的快慢,更重要的是“让你工作更快更有效率”。下面说说为何 Atom比其他更有效率:
兼容VIM模式
这无疑团结了一大班 Vim过来的用户,Sublime虽然也有VIM模式,但是Sublime在 mac下面的vim模式有bug,我习惯用 hjkl来移动光标,sublime再mac下hjkl移动有问题,且我习惯CTRL_[来返回NORMAL,手指不离开主键盘区,而sublime的vim模式只支持ESC返回,加上其作者经常神秘消失,最稳定的2x版本已三年没有更新,这些问题一直得不到修正。
由于Atom的定制程度直追 Vim/Emacs,它的vim模式能够使用插件来实现,而不像sublime必须builtin,Atom的VIM模式除了官方实现外还有很多用户实现,各有所长,你不喜欢可以换,Sublime就傻逼了,觉得builtin的不行,你就没办法了,而且作者不更新你也没办法。
Atom里的Vim模式并不是强制的,你可以用也可以不用,这样入门用户也不会觉得困难,但是如果你用惯Vim的话,使用Vim模式可以取得更好的效率,我觉得Vim/Atom-VimMode能够提升效率的地方有以下三方面:
1 手指不离开主键盘区:
所有功能皆能在主键盘区完成,不用去按方向键,不用把手挪去按Home/End,更不用动鼠标。就像咏春中强调中线理论,认为一切动作围绕中轴线开展,守护自己中轴线的同时攻击别人的中轴线。Vim/Atom-VimMode中,双手不但从不离开主键盘,并且八根手指随时守护再HOME位(ASDF, JKL;)有动作就移动,然后马上归位。
2 细粒度微 *** 作:
星际/dota玩的好,微 *** 基本功,微 *** 又快又精确,Vim/Atom-VimMode一样,比如:
if (xxxx) {}
很多人编码时习惯“成对编码”,写了申请资源的代码,先把释放资源写了,写了左括号,先把右括号给补充完,当你写完第二行代码时,需要用到“再1-2行中间插入一行”,此时你的光标停留在第二行,传统编辑器你需要:按上箭头移动光标到第一行 -> 按END键去到第一行末尾 -> 按回车插入一行,mac下的END键还需要用CMD+右来组合出来,而Vim/Atom-VimMode中,你只需要shift+o即可,手指完全不离开主键盘区,不用像传统编辑器那样,右手先移动到箭头区又移动到HOME的小键盘区,再移动回主键盘区这么麻烦,类似还有:
使用o直接再下一行插入,避免 END/回车
使用I再行首插入,避免移动半天光标。
向前/后移动一个单词到单词头、尾。
快速更改当前单词,用/来快速搜索移动光标。
dd+p来快速移动代码块,取代shift+方向键半天。
shift-j 来两行合并成一行,代替 HOME, back 若干次。
。。。
你再编辑代码的时候,90%的情况可以直接一步完成,这就叫细粒度微 *** ,而且整个过程手都不需要离开主键盘,不像传统编辑器那样,若干笨重的 *** 作组合再一起, *** 作不够细步骤多的同时手还要再:主键盘区,方向键区,扩展键区 来回移动,效率奇低。而Vim/Atom-VimMode下,手指随时守护在home区(ASDF JKL;),所有微 *** 都是围绕HOME区进行,不会移动到任何主键盘以外的区域,更别说用鼠标、触摸板。
3 批量 *** 作:
比如要给下面代码每行后面加一个分号:
var x = 1var y = 2var z = 3consolelog('result is ' + (x + y + z)toString())
一般做法是:移动光标到行末->END->分号->移动光标到下一行,Vim里面不需要移动光标到行末,只需循环敲入:“A;<ESC>j” 即可,本来 *** 作就少很多。这还不是最少 *** 作,更少 *** 作是利用Vim里面的句号“”功能重复上一次 *** 作,即第一行“A;”补充了一个分号后,第二行只需要按一下""即可重复,于是最后 *** 作变为:
第一行:A;<ESC>
后面所有行:J
超级爽快的 *** 作,这样的 *** 作还很多,你还可以单条命令对一万行代码重复上述步骤,或者把c代码拷贝到go里面先一句话把所有分号给删除了。Vim下面的名言:绝不重复。
总之如果你熟悉 VIM模式,用 Atom能感到完全自由的方式,随心所欲的书写代码,而不是被书写这件事情费脑筋,解放大脑完全用于思考而不用于打字。但是同时对不习惯VIM的人照样友好,或者对想使用VIM的便利却又痛恨VIM这个软件的简陋的人带来了福音。
脊椎记忆
“同样动作重复300次,肌肉就会有记忆,而一个动作重复600次,脊椎就会有记忆”
-- 李小龙
编辑器就是关于脊柱记忆的东西,所以多投入一些时间去了解你使用的编辑器,掌握他们的各种快捷 *** 作和高级功能是一个能让你事半功倍的好主意。
格斗游戏玩的好的人有很多,下等高手靠熟练,中等高手靠反应,上等高手靠意识。更熟练的掌握你的编辑器,让更多日常工作固化成记忆记录再你的脊椎上,使用的时候,脊椎这枚协处理器就能完成代码编写,一个 *** 作,刚一想到,脊椎就自动执行出来了,小脑腾出空间来组织判断,大脑腾出空间来思考更重要的东西,就像你走路,你不用思考迈腿那么自然,别人一拳过来,你潜意识一动,一连串动作就出去了,一只飞蛾飞过来,你潜意识的闭上眼睛保护眼部,这就是脊椎记忆,如果还要经过大脑绕一圈,反应慢不说,大脑这颗cpu都用在这些琐事上了,思考的时间自然少了不少。
所以从内到外的了解你的编辑器,并且熟练掌握他们,是对你提高工作效率的最佳投资,Atom的全平台支持,开放源代码,深度可定制等三个特点,比起其他闭源的,平台支持不全的,扩展少的编辑器来说能让你有不同层面的了解机会,同时为你提供足够的空间。
深度可定制系统
Vim/Emacs的精髓在于:“可以调教”,本来不顺手的东西,只要容易调教,假以时日,都会慢慢变得越来越顺手,越来越“懂你”,越来越“贴心”,以至于后面大家都离不开它了。而 Atom 也同样是一款容易被你调教的编辑器。先前给vim写过插件,给sublime写过插件,如今给Atom写过插件,横向对比下来,几个结论:
插件能做事情多少:Atom > Vim >> sublime
插件开发学习门槛:Vim > Atom > sublime
插件开发文档丰富:Atom > sublime >> Vim
Atom 的定制化程度远远高过sublime之类(不用实际看法,看看双方开发文档即可),直追 Vim / Emacs,sublime的大部分定制无外乎改改json,插件能做的事情相当有限。
Atom 的定制化系统主要有三方面:
1 细致:
设计之初就考虑的事情,方方面面都能定制,见官方文档,以及插件:vim-mode,minimap (稍微了解下这两个类似的功能再 Atom 和 sublime的实现就能知道 sublime被甩了多少条街了)。可以细粒度的控制编辑器内所有行为,小到移动一下光标,删除当前一个字符,大到打开一个面板,比如 “core:more-up” 可以向上移动一行光标,“window:focus-pane-on-left” 可以把焦点设置到左边的面板,atom内核和大量第一方第三方packages 都是以命令的方式把基础功能提供出来,你可以随意互相调用或者设置热键。
除去命令外的API层面,几乎每个部件每个像素点都可控,比如这样的插件你永远无法再 Vim / Emacs / Sublime 下面见得到:activate-power-mode。
2 直观:
由于使用 javascript/coffee进行开发,但 javascript/coffee是属于即便你没写过他们,读都能读得懂,VimScript就不一样了,虽然也能做相同的事情,但实话实说,晦涩难写,比如我要取得当前文件的路径和文件名,在 VimScript里面需要这么写:
let l:path = expand('%:p:h')let l:name = expand('%:t:r') 或者 let l:name = expand('%<')
而在 Atom 里我们用atom自己的功能直接取出路径来,然后进行切割:
var fullpath =atomworkspacegetActiveTextEditor()getPath();var filename = pathbasename(fullpath);var filepath = pathdirname(fullpath);
就问大家一下?哪段代码更友好直观?你一眼就知道在做什么?你更愿意用按照哪段代码进行插件开发?是上面的VimScript?还是下面的 javascript ?
结论是很清晰的,Atom的 javascript开发插件更简单直观,即便没文档,看别人怎么写的自己也会了,同时灵活性大大高于VmScript,各种事件处理回调,javascript天生擅长做这些事情,还有第二行,第三行,我们用到了 nodejs 的 path模块,进行文件路径切割。这样的写法,再VimScript 里面基本是无法想象的。
Vim是强大,但是毕竟是30年前的东西了,即便最熟练的 Vimer 也都承认 VimScript 的晦涩难懂,阻碍了很多人为其开发插件。而给Atom开发插件,只需要掌握javascript,掌握 javascript的人很多,学习了javascript你也可以用在很多地方。不像VimScript那样只能用在Vim里面,而正因为其晦涩,Vim新版本开始支持内嵌 python的写法:
python << EOF
import random
print randomrandint(0,10)EOF
VimScript中 Python等动态的支持正是说明其开发维护者也承认 VimScript本身的古老,对比现代编程语言已经有些格格不入了,缺乏强大的描述能力,难以构建复杂的功能模块,才会去支持Python内嵌这样的写法。可大量的工作还是需要再Python之外完成,同时,并非所有平台自带的Vim都支持python,除了mac外,所有debian / ubuntu 发行版自带的Vim都不支持 Python。导致你想写一个通用的扩展还得判断下是否 has('python') 没有的话老老实实用 VimScript 去实现它,这不是折磨人么?
Sublime里面可以用原生 Python 写扩展,比 VimScript爽,但是 sublime 的插件能做的事情还不及VimScript的一半,所以怎么能指望他们能写出高端的功能来呢?
3 强大:
Atom的内核 Electron (原来的 Atom-shell)可以理解成:Chromium + NodeJS,而整个Atom的界面,你可以理解成就是一颗 HTML 的 DOM 树结构,这意味着你可以这样:
var div = documentcreateElement("div"); divinnerText = "abc"; atomworkspaceaddBottomPanel(div);
就可以简单的在 atom 里面增加一个显示对象,这意味着再给div加个 html的 onclick就可以实现GUI交互,界面上的对象随便写点html代码就可以控制效果,意味着你可以使用 jQuery 来为atom增加新面板,意味着你只需要写一个简单的 css 文件就可以把 Atom 整个编辑器的外观给修改了。这在 Vim/Emacs 中是几乎不可想象的事情,sublime基本就别提了。
大量的前端开发技术和 NodeJS 基础模块供你任意使用,正是由于近年 Chromium / nodejs 系列技术的成熟,和 Atom / Visual Studio Code 这类基于前端技术的客户端软件的成功,让我看到了客户端(桌面+移动)软件开发的新方向。
做VIM/Emacs不能做的事情
Vim/Emacs过去给人的映像是:几乎能做任何事情,确实如此,但毕竟是二三十年前的东西了,而他们一直坚挺到现在一方面是 *** 作便利,更重要的是这么长时间还没有出现一款又开源又具备同样 *** 作便利性和可扩展性的编辑器,所以Vimer, Emacser 们最乐意展示给别人看的就是他们又安装了什么插件,急于展示可以把 Vim / Emacs 装扮成了一个多像 IDE 的东西,而今天这个“可以做任何事情”的高度可定制特性已经被Atom所吸收并完全超越,就像 Atom 的开发blog:“ Introducing Atom” 上说的一样,对易用性和可展性 “决不妥协” :
We think we can do better Our goal is a zero-compromise combination of hackability and usability: an editor that will be welcoming to an elementary school student on their first day learning to code, but also a tool they won't outgrow as they develop into seasoned hackers
抛开易用性的这个 Atom 的明显优势不说,前面其实已说了不少 Atom 比 Vim/Emacs 更灵活强大的地方,可能有些人还有疑惑,不是说 Emacs “没有不能做的事情” 么?你看 Atom的面板里面可以嵌入一个 Terminal,Vim/Emacs一样可以嵌入啊,为何还说 Atom 比它强啊?
没错,Vim用久了会产生心理舒适区,多模式编辑使人神清气爽,命令化文本处理让你赏心悦目,但是受限于本身机制用久了会容易痛苦挣扎:虽然vim的各种扩展似乎什么事情都能做,但每个扩展却只能做到70分,总有那么30%的地方做不到位。所以用的时间长了,上半身爽的要死,下半身痛不欲生。。。。
Vim/Emacs即便大部分扩展功能也都可以称为“能用”,可几十年的历史包袱太沉,很多事情对他们来讲就是禁区,比如诡异的标签功能,容易误 *** 作的buffer/窗口切换,缺乏异步机制,编译时间长只有傻等着,无法跟Atom一样边读代码,边运行程序看结果,对照输出结果和源代码找问题,连实现个内嵌终端都用了若干年,还实现的那么别扭。。。。。。。。。
这类硬伤有许多,再举个最简单的例子,minimap,就是 sublime那种大家喜欢的文档缩略图,这个现代编辑器必备的功能,谁能用 Vim/Emacs 实现一下看看?Atom 可以衍生出 Visual Studio Code 这样漂亮的编辑器,Vim/Emacs能衍生么?Atom可以随便用各种先进的前端技术,不当可以嵌 Terminal我甚至可以再 Atom 嵌入一个 js版本的 DOSBOX 玩老游戏《命令与征服》:
>
Play DOS games online
当然这样并没有任何卯用,但是如果在 Atom里面内嵌一个浏览器,方便的实时预览html/css的效果呢?或者 Atom 里面内嵌一个 Markdown Previewer ,实时查看 Markdown 的效果呢?请问 Vim/Emacs 里怎么实现法?
Atom插件演示:markdown实时预览,左边写右边即时更新,100%兼容github的markdown语法
Atom插件演示:正则表达式图形化,鼠标移动上去自动显示
十分期待未来各种免费开源数学计算库同atom稍微集成下,就可以让你左边写一个等式,右边图表就能出来,是多麽爽的一种体验啊?
Atom插件演示:color picker,快捷键打开取色面板,取完后直接生成代码插入光标之后
Atom插件演示:代码中表示颜色的语句直接用该颜色上色,可以根据文件扩展名,对特定文件打开
短短两年的时间,这么多优秀的插件,只想说,如今 Atom 作为 Vim/Emacs 的继承者和超越者出现了,所以社区对 Atom 的反应也是热烈的,看看下面一组数据,截止今天(2016年3月15日),Atom共有扩展插件 3500+ 个,发布不到两年的时间,这是什么概念呢?
Sublime的插件(Stats - Package Control)大概 3500+个,但是sublime发布了5年的时间。
Emacs 的插件大概有2900个,可Emacs发布到今天已经过去 25+年的时间。
Vim 的各种插件虽然有9000个,但是Vi/Vim系列的历史长达 30+年,是atom的15倍。
这就叫社区的活跃度的区别,为什么短短两年那么多开发者先后给atom贡献了各种高质量的扩展,为什么大家对atom的热情那么高?为何好多人接触了atom一段时间后都深深的爱上了它?这是有原因的。
再谈性能优化
很多人错误的觉得 Atom慢是因为使用了 JavaScript/Coffee 等 Web 技术,所以先天慢,其实这是个误区,即便使用 Web 技术它也还能快很多,同时再慢可以往C++层的 Electron 挪啊,这也是这几个版本优化的一些方向,基于 Atom 开发的 Visual Studio Code 可以那么流畅, Atom 性能优化空间还很大,了不起多参考下自己的儿子,同样开源的 vscode怎么做的。
同时 Atom编辑器10版本以来性能得到了很大的提升,主要是两个方面,一方面是js层的各种渲染优化,控件优化,延迟绘制,延迟加载,只绘制当前需要的东西等,另外一方面是将一些核心数据结构移动到 Electron 的 C++层,如今154版本性能较去年版本已经有了本质区别,运行时加载是慢些(但也比eclipse快很多),实际使用并没觉得不如别的编辑器,况且,js层的优化和C层的优化未来还有很大的空间可以进步。
不过我不太喜欢 vscode 使用 Typed Script 进行开发,用点标准技术不行么,Atom使用 JavaScript/Coffee 写的多爽,如今 Atom 正在准备慢慢的切换到 JavaScript 的新标准 ES6 上。其次 vscode 快是快在“做的事情少”,主要是可扩展性方面的努力远不及 Atom,插件机制相对弱智,所以 vscode 的社区如今还不是特别活跃,扩展也少,发布一年多只有差不多300+个扩展,远不如 Atom 的情况,如果 vscode 还是按照现有结构开发下去,可能永远不会拥有 Atom的灵活度,这样再未来就无法拥有各种丰富多彩的插件。
再说开源免费
UltraEdit 单用户版本价格: 79 美刀
UltraEdit 服务器版价格: 229 美刀(多人登录同一台服务器的桌面使用),企业版更贵
EditPlus 单用户版价格: 35 美刀,而且还只有windows版本,
Sublime 单用户版价格:70 美刀
TextMate 单用户版价格:48 欧元,而且还只有mac版本。
这些都是钱啊,可能你会说可以免费试用或者破解啊,是的个人可以,但正常来说sublime这些试用指不能拿来搞生产不能拿来工作的,个人你用用可以,但国外人家守规矩,不会乱用,这意味着失去一大批为其开发扩展的国外开发者,同时站在公司考虑IT方案的角度,免费试用和破解将来都是潜在的麻烦,现在上百人的公司微软都会来收windows的钱了,版权问题越来越严肃,你得把这笔潜在费用考虑进去,同时这些闭源的或者单平台的东西,并不值得再上面花费过多精力和投资。
抛开扩展性问题和价格问题,我们再来看各个热门的免费编辑器的试用情况:
Notepad++:免费,开源,只能运行于windows
PSPad:免费,不开源,只能运行再 Windows
Gedit:免费,开源,只能跑再 GNome下,Ubuntu用用,Windows/mac版本简直是残缺的。
Programmer's Notepad : 免费开源,只能跑 Windows
Notepad2:免费bu不开源,只能跑 Windows
更关键的是:闭源的东西个人作者可能失去兴趣不再更新,商业公司的话,你需要一个功能,就只能无限期的等待他们发慈悲加入进去。而免费开源的很多其他编辑器除去平台兼容性问题外,更重要的时扩展性差。
而同时满足:免费+开放+强扩展性的编辑器如今就只出现过三个:Vim / Emacs / Atom。他们是真正属于使用者的编辑器,他们能变成使用者希望变成的样子。这些曾经出现过得收费的或者免费的编辑器,凭借着一两个自身独有的 “卖点”,再某些时间段内都曾经流行过,可就像流星一样一闪而过,如今他们都统统完成了自己的历史使命,新的一页可以翻开了。终端环境的话确实 Vim / Emacs 继续下去,但桌面环境的话,Atom将会继续向前,走出新的一步。
Atom d525双核心/四线程,主频18GHz,1MB二级缓存。
E5-2620
六核心十二线程,主频2GHz,15MB三级缓存。
很明显无论是在核心数,主频,缓存哪个方面,都是E5-2620比较强大ATOM是一种订阅网志的格式。它与RSS相比来讲,有更大的d性。
atom 是一种基于XML的文档格式以及基于>可以明确的说跟 Sublime 没有关系。Sublime 是原生界面,脚本用的是 python;Atom 应该是基于 Chromium Embedded Framework,基本上就是个 web app,源码都是 CoffeeScript 写的,连界面都可以用 CSS 来自定义。
除了基本的 *** 作和界面外,和 Sublime 最大的差别在于扩展性。Atom 非常强调模块化,很多默认功能也都是开源的模块。自带友好的模块管理界面,相比之下 Sublime 需要自己手动安装,或是依赖第三方的 package control。Atom 的扩展也是用 JS 或者 Coffee 在 Node + webkit 的环境下开发,并且可以使用 npm 的包,这对于前端和 Node 开发者是很有诱惑力的,需要的话完全可以把 Atom 打造成一个 IDE。
一个明显的缺点是,启动和开文件速度明显不如 Sublime 3。
GitHub 创始人 Mojombo 在论坛上说 Atom 正式发布以后是要收费的,内核将会是以限制性的协议开源,可以看了学习,但是不能拿来商用。其他所有官方模块都是 MIT 协议开源。从策略上来讲,GitHub 以后肯定会通过官方模块把 Atom 和 GitHub 进行深度整合。收费我估计不会贵到哪里去,说到底让开发者因为 Atom 而用 GitHub 用得爽,进一步加强用户黏度才是目的吧。这和 Google 做浏览器是一个道理。
补充一些技术实现上的细节:打开 Package Content 看了下,可以看到内部的由 CoffeeScript 编译过来的 JavaScript。内部的一些模块在 GitHub 上也能找到源码。核心的两个库,一个是界面库 Space Pen ( >
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)