1.Redmine同类软件
2.什么是源码云服务
3.Github被微软收购,这里整理了16个替代品
4.VS Code 的源码 7 个开源替代品 | Linux 中国
5.golangå端å¼åï¼
Redmine同类软件
在技术开发领域,Bug 追踪、源码Wiki 和版本控制的源码集成对于项目管理系统来说必不可少。本文将探讨 Redmine 及其同类软件,源码以便为项目团队提供最佳的源码大爆炸源码解决方案。众多系统中,源码Trac、源码Jira + Confluence、源码ActiveCollab 和 SaaS 方式的源码在线项目管理服务如 Comindwork、LiquidPlanner 等均具有各自的源码优点和局限性。 Trac 是源码一个基于 Python 的开源程序,以其最早将 Ticket 与项目结合的源码开发管理系统而著称。它支持 Wiki、源码Timeline、源码Report 和项目模块分级与里程碑定义,还能绑定查看 SVN 内容。然而,Trac 在团队开发速度方面有所限制,功能缺失,无法进行权限分配、多项目管理,配置不够灵活。 Jira + Confluence 组合是基于 Java 的 Bug 追踪和企业 Wiki 系统,虽然功能强大,但价格昂贵,且某些操作和体验显得有些过时。Jira 的 Bug 和事务流管理能力出众,而 Confluence 则是当前最佳的企业 Wiki 系统,扩展性极强。 ActiveCollab 是基于 PHP 的 Web 项目管理程序,曾为开源版本,后商业化。它简单易用,但需要购买,且与 Trac 和 Basecamp 类似,功能与 Redmine 相比有所差距。 SaaS 方式的在线项目管理服务如 Comindwork、LiquidPlanner、MyQuire、ProjectSpaces、Huddle、PlanHQ、Goplan 等,提供了方便快捷的云端项目管理解决方案。然而,鉴于中国的出口带宽状况和用户对数据安全的担忧,将重要项目数据存储于遥远的第三方平台可能并不现实。 综上所述,Redmine 成为了一个集 Trac 与 Basecamp 优点于一身的项目管理系统。作为基于 Ruby on Rails 框架开发、开放源代码的系统,Redmine 具有跨平台部署的能力,非常适合小型开发团队作为项目管理首选系统。扩展资料
Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统,据说是源于Basecamp的ror版而来,支持多种数据库,有不少自己独特的功能,例如提供wiki、新闻台等,还可以集成其他版本管理系统和BUG跟踪系统,例如SVN、CVS、TD等等。这种 Web 形式的项目管理系统通过“项目(Project)”的形式把成员、任务(问题)、文档、讨论以及各种形式的资源组织在一起,大家参与更新任务、文档等内容来推动项目的进度,同时系统利用时间线索和各种动态的报表形式来自动给成员汇报项目进度。什么是云服务
云服务是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是12堂的源码虚拟化的资源。云是网络、互联网的一种比喻说法。过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。云服务指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。它意味着计算能力也可作为一种商品通过互联网进行流通。
背景
云计算是继年代大型计算机到客户端-服务器的大转变之后的又一种巨变。
云计算(Cloud Computing)是分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。
2特点
通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将与互联网更相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。
好比是从古老的单台发电机模式转向了电厂集中供电的模式。它意味着计算能力也可以作为一种商品进行流通,就像煤气、水电一样,取用方便,费用低廉。最大的不同在于,它是通过互联网进行传输的。
3形式
IaaS:基础设施即服务
IaaS(Infrastructure-as-a- Service):基础设施即服务。消费者通过Internet可以从完善的计算机基础设施获得服务。
PaaS:平台即服务
PaaS(Platform-as-a- Service):平台即服务。PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户。因此,PaaS也是SaaS模式的一种应用。但是,PaaS的出现可以加快SaaS的发展,尤其是加快SaaS应用的开发速度。
SaaS:软件即服务
SaaS(Software-as-a- Service):软件即服务。它是一种通过Internet提供软件的模式,用户无需购买软件,而是向提供商租用基于Web的软件,来管理企业经营活动。
按需计算
顾名思义,按需(on—demand)计算将计算机资源(处理能力、存储等)打包成类似公共设施的可计量的服务。在这一模式中,客户只需为他们所需的处理能力和存储支付费用。那些具有很大的需求高峰并伴有低得多的正常使用期的公司特别受益于效用计算。当然,该公司需要为高峰使用支付更多,但是,当高峰结束,正常使用模式恢复时,他们的费用会迅速下降。
按需计算服务的客户端基本上将这些服务作为异地虚拟服务器来使用。无须投资自己的物理基础设施,公司与云服务提供商之间执行现用现付的方案。
按需计算本身并不是一个新概念,但它因云计算而获得新的生命。在过去的岁月里,按需计算由一台服务器通过某种分时方式而提供。
4应用
云物联
“物联网就是物物相连的互联网”。这有两层意思:第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信。
物联网的两种业务模式:
1.MAI(M2M Application Integration), 内部MaaS;
2.MaaS(M2M As A Service), MMO, Multi-Tenants(多租户模型)。
随着物联网业务量的增加,对数据存储和计算量的需求将带来对“云计算”能力的要求:
1.云计算:从计算中心到数据中心在物联网的初级阶段,PoP即可满足需求;
2. 在物联网高级阶段,抖音轰炸源码可能出现MVNO/MMO营运商(国外已存在多年),需要虚拟化云计算技术,SOA等技术的结合实现互联网的泛在服务:TaaS (everyTHING As A Service)。
云安全
云安全(Cloud Security)是一个从“云计算”演变而来的新名词。云安全的策略构想是:使用者越多,每个使用者就越安全,因为如此庞大的用户群,足以覆盖互联网的每个角落,只要某个网站被挂马或某个新木马病毒出现,就会立刻被截获。
“云安全”通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,推送到Server端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。
云存储
云存储是在云计算(cloud computing)概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。 当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统,所以云存储是一个以数据存储和管理为核心的云计算系统。
5优缺点
优势
云开发的优势之一就是规模经济。利用云计算供应商提供的基础设施,同在单一的企业内开发相比,开发者能够提供更好,更便宜和更可靠的应用。如果需要,应用能够利用云的全部资源而无须要求公司投资类似的物理资源。
说到成本,由于云服务遵循一对多的模型,与单独的桌面程序部署相比,成本极大地降低了。云应用通常是“租用的”,以每用户为基础计价,而不是购买或许可软件程序(每个桌面一个)的物理拷贝。它更像是订阅模型而不是资产购买(和随之而来的贬值)模型,这意味着更少的前期投资和一个更可预知的月度业务费用流。
部门喜欢云应用是因为所有的管理活动都经由一个中央位置而不是从单独的站点或工作站来管理。这使得员工能够通过Web来远程访问应用。其他的好处包括用需要的软件快速装备用户(称为“快速供应”),当更多的用户导致系统重负时添加更多计算资源(自动扩展)。当你需要更多的存储空间或带宽时,公司只需要从云中添加另外一个虚拟服务器。这比在自己的数据中心购买、安装和配置一个新的服务器容易得多。
对开发者而言,升级一个云应用比传统的桌面软件更容易。只需要升级集中的应用程序,应用特征就能快速顺利地得到更新,而不必手工升级组织内每台台式机上的单独应用。有了云服务,一个改变就能影响运行应用的每一个用户,这大大降低了开发者的工作量。
不足
也许人们所意识到的云开发最大的不足就是给所有基于web的应用带来麻烦的问题:它安全吗?基于web的应用长时间以来就被认为具有潜在的安全风险。由于这一原因,许多公司宁愿将应用、数据和IT操作保持在自己的掌控之下。
也就是说,利用云托管的应用和存储在少数情况下会产生数据丢失。尽管可以说,一个大的云托管公司可能比一般的企业有更好的数据安全和备份的工具。然而,在任何情况下,即便是感知到的来自关键数据和服务异地托管的安全威胁也可能阻止一些公司这么做。
另外一个潜在的不足就是云计算宿主离线所导致的事件。尽管多数公司说这是不可能的,但它确实发生了,亚马逊的EC2业务在年2月日经受了一次大规模的服务中止,并抹去了一些客户应用数据。(该次业务中止由一个软件部署所引起,它错误地终止了数量未知的一65的源码用户实例。)对那些需要可靠和安全平台的客户来说,平台故障和数据消失就像被粗鲁地唤醒一样。更进一步讲,如果一个公司依赖于第三方的云平台来存放数据而没有其他的物理备份,该数据可能处于危险之中。
6评估
云服务性能
企业考虑云计算的关注点之一就是性能。实现应用程序在云中的高速交付是一个涉及多方面因素的挑战性命题,其中包括一个整体的接入方法和一个对应用程序“请求-响应”路径的端到端查看。
性能问题包括:应用程序与数据相对于最终用户的地理位置,云中、云内外以及计算机层和数据存储多层次之间的I/O访问速度。当今,诸如CloudSleuth和CloudHarmony之类的众多服务研究报告试图通过从不同地理位置和采用不同应用程序的方法来度量和评估云计算供应商所提供服务的性能。
云服务技术堆栈
一直以来,一些云计算供应商都致力于提供特定软件堆栈的服务。通常,这就意味着他们从基础设施即服务(IaaS)转变至平台即服务(PaaS)。不同堆栈特定云可与其他的大多数流行软件堆栈相配合。
其典型代表包括:Heroku和Engine Yard的Ruby;VMforce和Google应用程序引擎(GAE)的Java/Spring(其中GAE还支持Python);PHP Fog的PHP以及微软公司Windows Azure的.NET。
如果你的应用程序使用以上堆栈之一进行构建,你可能需要考虑这些云计算平台。他们能够帮助你处理低层次基础设施的安装和配置工作,从而节省在时间和费用方面的巨大支出。另一方面,他们往往会要求开发商在进行架构和编写应用程序时遵循某些推荐的要求,以便于创建高等级的供应商级同步。
云服务服务级别协议
有些云供应商做出了提供更高等级服务的承诺,以示与其他行业竞争对手的不同。比如Rackspace提供更高等级云服务SLA,从而展开与云计算业内的巨头Amazon公司的竞争。
请注意,SLA通常只是当服务发生故障时结果的一个指示,而不是实际服务的可靠性。其典型代表是GoGrid %确保的SLA。换而言之,GoGrid做出了%正常运行时间的承诺。如果它无法满足这一级别的可靠性,它将赔偿用户倍停机时所需支付的费用。
虽然SLA是评估所有供应商承诺等级的一个有效指标,但了解特定云供应商的实际正常运行时间是一个更为棘手的难题。大多数供应商都提供了一个用于表明服务正常运行的状态页面,但是这些页面显示的数据通常只是数天前甚至更早时候的。为了获得实际具有可靠性和可用性的长期数据,用户最好依赖于客户反馈以及诸如CloudSleuth和CLoudHarmony的比较服务。
云服务API:同步、社区以及生态系统
选择合适云供应商的另外一个关键因素在于开放应用程序编程接口(API),它为访问基础设施和执行操作(例如配置服务器或解除服务器配置)提供外部调用方法。从很多方面来说,API都是重要的。
首先,一个API可得到多个供应商同时支持,同时供应商也为用户提供了更大的功能扩展自由度。因为当从一个供应商转向另一个供应商,或同时与多个供应商合作时,基本上不用对应用程序做重大修改,所以显得更为容易。
其次,API得到了社区开发人员的广泛支持,供应商可基于它构建一个具有配套服务和功能的完整生态系统。由Amazon web服务与应用(AWS)和Vmware云计算产品提供的API周围已形成庞大的生态系统,其中包括管理工具(如enStratus)、监控和管理工具(如Cloudkickh和RightScale)以及形成其完整云服务的其他服务。
Vmware本身不提供云服务,但是不同的供应商使用Vmware的堆栈和API,特别是vCloud。例如Terremark和Savvis。
Amazon公司和WMware公司以及Windows Azure都允许用户使用自己的堆栈和API实施内部云,从而使用户能够很容易地在混合云上管理和运行应用程序。所谓混合云是指由供应商托管,且在公司内部数据中心中运行的云。以Amazon公司为例,使用AWS启动通过Eucalyptus的API为私有云提供软件堆栈。
业内的一个最新发展是Rackspace公司与美国航天局(NASA)合作,两者协同众多厂商和云供应商在其一个称为OpenStack的溯源码可信么项目中对其软件堆栈公开了源代码。它最有可能被视为行业标准,因此此举将有助于创建一个有望替代Amazon和Vmware生态系统的实际可行标准。
云服务安全性和法规遵从
公司考虑实施据云计算的两大障碍依然是安全性与法规遵从。Zenoss公司在年第二季度进行的调查显示,接近%的受访者在被问及他们对云计算的最大关注问题时都选择了安全性。而紧随其后的选项是管理,它占受访者的.5%。Zenoss的调查结果与其他云计算相关调查的数字是一致的。
而企业真正关注的问题并不是实际的安全威胁,而是他们无法遵守与安全相关的标准,如PCI。作为回应,当今许多云供应商都在吹嘘和炫耀他们所拥有的SAS- II型审计、安全白皮书和其他标准的证书。
正在发展的云供应商Logicworks推出了具有法规遵从的云计算产品,即遵守一级PCI的云产品。
云服务成本
一个比较云供应商的简单直接方法似乎就是成本。问题在于考虑到客户实际使用的资源和支付的费用,在供应商中并不具备可比性。供应商提供虚拟机(VM)资源,但其内存容量、CPU时钟速度以及其他功能却各异。此外,实际提供给客户的部件也是虚拟的,这也造成难以对客户实际使用的资源进行度量以及其他同在云中客户如何影响这些资源。
Amazon公司拥有EC2计算部门,Heroku向Dynos提交而其它厂商则创建自己的度量部门。度量评估不同云供应商成本和性能比的唯一真正可靠方法是使用相同的应用程序对多个供应商的服务进行试验,并比较运行结果。
费用对比
云计算的安全和管理问题是众所周知的,除此之外,关于云服务的计费也是一个不小的挑战。云服务供应商们总是喜欢吹嘘说他们的服务使用起来有多么的简单,实际上,广大IT经理们都已发现云计算服务的计费并不简单。
云服务的计费是基于许多因素的,从所需的存储空间,到所使用的时间周期,再到每个月的流量分配,等等这些因素都可能成为计费参考。实际上还不止这些,一些云服务供应商还会基于SLA之内的一些隐性条款来收费。为了弄明白一项云计算服务的总费用,用户需要了解供应商账单上的每一项服务要素,以及其计费方式。
服务的计费项目
另一个决定服务真正费用的关键因素是所需的服务类型。对于一些企业而言,所谓的云服务可能只是服务器托管、专用服务器租赁,或是将应用运行在云中。而对于其它一些企业而言,云服务可能就是基于云的数据备份、业务持续性的维持,或是基本的存储托管。
对于广大用户而言,要弄明白云计算服务最简单的方式就是将注意力放在最主要的服务项目上。大多数云服务供应商都会将它们的服务分为三个基本类型:云中服务器、云存储、云工作站和云应用。每一项服务都有其自己的计费方式。
云中的服务器主要分为两种形式:虚拟服务器和物理服务器。换句话说,你既可以在虚拟服务器(与其他人共享物理硬件)上购买使用时间,也可以在专用服务器(你是该服务器唯一的租户)上购买使用时间。表1所示的就是云服务的计费方式:
三大主流IaaS云服务计费方式对比
整张实际上就是在对比不同云服务供应商的服务价格和计费方式。图中列出的每个供应商都会对一些额外的服务和功能征收额外的费用。此外,每项服务的价格也会随着协议长短、总的带宽需求或者所需存储规模的大小而有所变化。在许多情况下,用户是可以和供应商进行讨价还价的。
不同的服务类型
并不是说所有的云服务供应商都是一样的,如果你仔细观察一下供应商之间的区别以及他们各自处理用户需求的方式,就会发现这种差别是很明显的。为了给大家做一个对比,我们挑选了最为知名的三家云架构供应商:
GoGrid将负载均衡服务放在其服务器产品当中,而且不收取额外的费用,此外,他们还免费提供GB的存储空间;
Rackspace使用的是一种完全不同的计费机制,随着使用量的增长,他们会降低每十亿字节带宽的费用。此外,该公司还在一些虚拟服务器上提供免费的备份服务;
Amazon的大多数服务随着使用量的增加都提供打折优惠,但是对于存储服务的启用和终止都会收取一定费用。
如果你考虑一下最为简单的云存储服务概念,就会很明显地发现这几种计费方式及供应商业务的区别(图2)。再次强调一下,这张图只是对比不同供应商的计费方式。像其它云服务一样,云存储服务的价格也会受到协议时间长短、总的带宽需求或是说所需存储容量大小的影响。此外,这些服务的价格也有足够的讨价还价的空间。
三大主流IaaS云服务计费方式对比
对于使用其服务器托管服务的用户,GoGrid最初提供GB的免费存储空间,而且他们只为服务器托管用户提供云存储服务。独具特色的是,随着用户所购买的存储容量的增加,GoGrid的服务可以提供打折优惠。GoGrid的云存储服务是以一种定量的方式提供,目前为止还不提供用于启动或停止其它命令的Web服务应用程序接口。
Rackspace试图让它的存储服务计费方式变得尽可能的简单化。他们对于云存储服务的采购提供按比例增减的模式,随着总量的增加,服务的单价也会有所下降。此外,如果文件的大小超过KB,他们不会收取存取费用。
Amazon S3对于已删除数据不进行收费,根据所需存储总量的增加还会提供一定折扣。对于那些试图将价格稳定下来的公司,他们提供定价合同。对于一些规模较大的文件传输公司,他们建议使用其输入和输出服务,这样可以节省成本。
理想地讲,云计算服务的计费模式应该和选择所需的存储功能和服务器计算资源没什么差别。而事实上,大多数IT经理都发现这种理想很难实现。他们必须仔细去考虑一些“隐性成本”,或是计费标准的变化,从而确定某项服务的真正费用。
更大的挑战来自于一些“非技术”的因素,用户必须考虑到那些独立于谈判条款之外或是隐藏于SLA协议之中因素。
解决这一问题的技巧就是用清晰而又精确的语言将每个合同期内每项服务的总费用写在纸上,这样才能明白真正的总预算金额。[1]
7相关技术
1、编程模式
2、海量数据分布存储技术
3、海量数据管理技术
4、虚拟化技术
5、云计算平台管理技术
8相关问题
数据隐私问题:如何保证存放在云服务提供商的数据隐私不被非法利用,不仅需要技术的改进,也需要法律的进一步完善
数据安全性:有些数据是企业的商业机密没数据的安全性关系的企业的生存和发展。云计算数据的安全性问题解决不了会影响云计算在企业中的应用。
用户的使用习惯:如何改变用户的使用习惯,使用户适应网络化的软硬件应用是长期而且艰巨的挑战。
网络传输问题:云计算服务依赖网络,目前网速低切不稳定,使云应用的性能不高。云计算的普及依赖网络技术的发展。
缺乏统一的技术标准:云计算的美好前景让传统IT厂商纷纷向云计算方向转型。但是由于缺乏统一的技术标准,尤其是接口标准,各厂商在开发各自产品和服务的过程中各自为政,这为将来不同服务之间的互连互通带来严峻挑战。
Github被微软收购,这里整理了个替代品
在微软以亿美元的价格收购Github后,开发者们普遍感到担忧,担心微软会对开源社区产生不利影响。为此,我们整理了个替代品供开发者们参考。这些替代品涵盖了各种不同的功能和需求,旨在提供与Github类似或更好的服务。
首先,Bitbucket是一个由Atlassian公司提供的基于web的版本库托管服务,支持Mercurial和Git版本控制系统。它提供了免费账号和商业付费方案,免费账号可支持无限数量的私有版本库和5名用户。
GitLab是一个开源的版本库管理系统,支持Git作为代码管理工具,并在此基础上搭建起来的web服务。你可以直接使用其SaaS服务或在本地搭建一套GitLab系统。在GitHub发布消息后,GitLab的访问量显著增加,开发者们在GitLab.com上开设了大量新的存储库。
接下来,Gogs是一款易于搭建的自助Git服务,代码%开源且免费使用。所有源代码均通过MIT授权协议托管在GitHub上。
Beanstalk是一款支持代码Review、集成FTP、Shell、Heroku、第三方聊天报警等功能的Git、SVN代码托管网站。
AWS CodeCommit是AWS提供的源代码托管服务,与GitHub类似,完全兼容Git。AWS CodeCommit为付费服务,费用取决于每月活跃用户的数量。对于企业级需求,AWS CodeCommit提供了强大的解决方案。
GitBucket是一个由Scala驱动的Git项目管理平台,完全兼容GitHub API,并且可以自行部署到本地,使用方便。
Upsource是一款专注于代码浏览和审查的工具,提供了快速、高效的服务。它适合公司内部部署,但免费方案限制了使用人数。
RhodeCode是一款企业级开源代码管理工具,提供安全、可靠的服务。
BinTray是一个方便发布jar、二进制文件的工具,支持Maven、Gradle、Yum、Apt等。
Gitolite是一个本地部署的Git代码管理工具,提供了强大的权限管理功能。
Gitea是一个由Go编写的轻量级代码托管解决方案,具有与Gogs相似的功能,采用MIT许可证。
Perforce是一款适用于企业级使用、功能强大的版本控制系统。
Gitblit是一个项目多人开发代码管理工具,提供了一站式的解决方案。
Fossil是一款分布式版本控制系统,支持分布式错误跟踪和分布式维基,简单可靠。
OneDev提供了一个集成的代码浏览的Git项目管理工具,支持代码搜索和查询commit。
Apache Allura是一个开源的基于Web的集成软件工具和协作软件开发平台,最初由SourceForge在年推出,后在年6月贡献给Apache基金会。
总之,这些替代品各有特点,开发者可以根据自己的需求选择合适的平台。
VS Code 的 7 个开源替代品 | Linux 中国
为了避免使用微软版本的 VS Code,我们需要另行选择一个开源的代码编辑器。
Visual Studio Code,简称 VS Code,是一款跨平台代码编辑器,适用于 Linux、Windows 以及 macOS。它不仅可以编辑简单文本,还可以像集成开发环境(IDE)一样管理整个代码库。它可以通过插件进行扩展,并被证明是一个可靠的文本编辑器,轻松击败非开源的强大竞品编辑器。
微软以开源的方式发布了 VS Code,但下载的版本并非开源。不过,你仍有办法以开源方式使用 VS Code,或者选择其它的开源替代品。
以开源方式构建 VS Code
你可以在 GitHub 获得 VS Code 的源代码。然而,当你从微软下载 VS Code 时,你会发现它是基于微软软件许可证授权的。这并不是一个开源许可证。其区别在于构建过程。
Chris Dias 是微软 VS Code 项目开发者之一,他对 VS Code 作了一个对比,就像 Chrome 浏览器和其开源的“上游”项目 Chromium 一样。VS Code 确实是基于开源代码库构建的。微软官方发布的版本带有一些与微软相关的功能,包括一项商标、一个插件库、一个 C# 调试器以及遥测。但如果你克隆仓库然后自行编译,这些东西都不会被加入,所以你会得到一个名为 Code - OSS 的“干净”版本(OSS 代表开源软件)。
实际上,VS Code 与 Code - OSS 之间的差异很小。最值得注意的是,VS Code 包含遥测功能,它会记录使用数据。微软不可能监控你的一举一动,而且目前越来越多软件都在收集使用数据。是否在乎 VS Code 的遥测功能,完全取决于你自己。如果你不希望它追踪你的使用情况,这里有一些很棒的 VS Code(开源)替代品。
VSCodium
最简单的替代方案就是构建不带微软附属功能的 VS Code 版本。VSCodium 项目提供了可下载的 Code-OSS 可执行文件,它基于 VS Code 代码库编译,没有配置微软的 product.json 中的改变。VSCodium 的开发者还竭尽全力禁用了所有难以寻找的遥测选项,除非你自行编译,否则这已经是你能找到的最干净的 VS Code 版本了。
VSCodium 提醒说,VS Code 悄悄地包含了一些专有工具,这些工具无法与开源版本一起提供。这包括一个 C# 调试器和部分插件。如果你需要它们,可以在 [文档中] 找到解决办法。假如你依赖 VS Code 中某些特定的功能,你应该验证它在 VSCodium 中是否可以发挥功用。
此外,你还应该验证是否已禁用所有的遥测功能。
Code - OSS
如果不想用 VSCodium 的版本,你可以自己从头编译 VS Code,得到一样的版本。可执行文件叫做 Code - OSS,而不是 VSCode,适用于 VSCodium 的许可证限制也适用于你的构建,而工作方式也是一样。
如果通过编译源码构建应用,首次启动时你要确保 [所有遥测都已经被禁用]。
Atom
Atom 是一个类似于 IDE 的文本编辑器,当微软收购 Github 的同时也收购了它。和 VS Code 一样,你可以使用插件,扩展 Atom 编辑器,此外,你还能通过自己的工具和主题实现定制。它开源且与 Github 集成。简而言之,只要你能找到你想用的插件,或者你愿意自己动手写,那么 Atom 几乎可以满足你的一切需求。
跟 VS Code 一样,Atom 也默认包含遥测。你可以禁用这个功能,而且跟 VS Code 不同的是,使用插件不受任何限制,所以不必再因为隐私改变你的工作流。对写代码的人来说,毫无疑问 Atom 是很有用的工具,而对于使用电脑的任何人,它同样会是一个很赞的编辑器。如果你需要一个顺手的通用文本编辑器,请试试 Atom。
GNOME Builder
为 GNOME 桌面而开发的 IDE,GNOME Builder 是一个 Linux 平台的代码编辑器,专门用于构建 GNOME 应用。如果你为 Linux 构建应用程序,希望轻松解决兼容性问题,那么 Builder 就是最简单的选择。从 Flathub.org 安装 Builder;当你开启一个新项目,如果没有安装 GNOME SDK,它会提醒你。这意味着当维护你的应用时,你不必刻意关注 GNOME 的状态,因为 Builder 在替你做这件事。
然而,Builder 不仅能够构建 GNOME 程序。它还支持各种各样的编程语言,包括 Python、Rust、C/C++、Java、Go、JavaScript、TypeScript、VB.NET、Markdown 和几种标记语言等等。它对部分语言有全面的支持,包括自动补全以及弹出式函数定义,但是其它语言仅仅含有一些比较方便的功能,例如语法高亮跟自动匹配括号。不管你是不是一个专门的程序员,或者你只想要一个给力的 HTML 和 CSS 编辑器,这个 IDE 都能让你舒心使用。
Geany
Geany 是一个强大、稳定而轻量级的编辑器,它有很多有用的特性,能帮你写 Bash、Python、Lua、XML、HTML、LaTex,当然远不止这些。对 种各种编程及脚本语言、标记语言和各种文件类型(比如 .diff 和 .po),Geany 都有很好的支持。退一万步讲,Geany 还有括号匹配和语法高亮 —— 通常来说,它包含更多功能。
Geany 是一个小型编辑器,但是通过插件,你可以为它添加特性,例如项目视图面板、文件系统树、调试、终端等,直到它看起来像一个 IDE。当然,萝卜白菜各有所爱,你也可以尽量使它保持简洁易用。如果因为电脑 CPU 或者内存的限制而无法使用 VS Code,那么很明显 Geany 可以作为你的选择。它只占用少量内存,而且启动迅速。即便跟运行在终端里的 Vim 相比,Geany 稍显笨重,但就算在树莓派,它也能做到快速、灵活。
Brackets
Brackets 是一款面向网页开发者的文本编辑器和 IDE。对于 HTML、CSS、JavaScript、PHP 甚至 Python,它都有很强大的支持。而且跟 VS Code 一样,它也有一个很丰富的插件生态,所以你可以最大限度地扩展它,以适应你所有编程语言的工作。
有的插件用于辅助解析语言、运行脚本,甚至编译执行代码。Brackets 有一个传统的界面,不管你是否熟悉 IDE 或者像记事本一样简单的文本编辑器,都能驾轻就熟。如果稍微花点时间,添加几个相关插件,然后熟悉它们,你会发现 Brackets 真的是一个很精妙、很有用的编辑器,不管你输入什么,它都能通过自动补全、提示帮你避免低级错误。假如你是程序员,它能帮你加快测验和调试周期。
Che
如果你喜欢新技术,那你应当尝试 Che 编辑器。这是一个基于云的 IDE,所以它默认以软件即服务(SaaS)的形式运行,但它是完全开源的,如果你有 Kubernetes 实例,那就可以运行为你自己的 SaaS。
Che 不仅是一个在线 IDE,而且是一个为云开发而构建的 IDE。在 Che 的概念里,用户无需查看本地文件系统。由于它在云端工作,所以你也可以这么做。事实上,如果你有一台 Git 服务器,那就可以直接把它当作你的文件系统,在它的仓库中完成你的项目。当然,你也可以下载所有文件做本地备份。
但 Che 的主要特点,也是云开发者最为兴奋的一点,它是一个功能全面、带有 Kubernetes 感知功能的开源 IDE。如果你正在为云构建应用、网站或容器(或三者的组合),那么 Che 是一个你需要尝试的编辑器。
那么你的选择是?
你有没有在使用这些 VS Code 替代品中的某一个呢?想不想挑一个试试呢?欢迎在评论中分享你的见解。
golangå端å¼åï¼
æ没æç¨golangåçå¼æºERPç³»ç»
1ãè¿ä¸ªé¡¹ç®å¯ä»¥ç解为é对äºèç½IT人æé çä¸æçawesome-goãå·²æçawesome-go项ç®ï¼æ±æ»äºå¾å¤goå¼æºé¡¹ç®ï¼ä½åå¨çé®é¢æ¯æ¶éå¤ªå ¨äºï¼èä¸æ¯ä¸ªé¡¹ç®æ²¡æ详ç»æè¿°ã
2ãä¸çä¸åå¼æºERPæ¯è¾å¥½çï¼é¦æ¨Odooãä½ä¸ºæ¬§æ´²ä¸å°ä¼ä¸è½¯ä»¶å¸åºç¥åååï¼Odooæ¥ææççäºERP产ååå è¿çSaasç念ï¼æ¯æ¬§æ´²ä¸å°ä¼ä¸åºç¨æ广æ³çERP软件ã
3ãæ¨èäºï¼etcdãStarï¼ãetcdæ¯ç±CoreOSå¼å并维æ¤é®å¼åå¨ç³»ç»ï¼å®ä½¿ç¨Goè¯è¨ç¼åï¼å¹¶éè¿Raftä¸è´æ§ç®æ³å¤çæ¥å¿å¤å¶ä»¥ä¿è¯å¼ºä¸è´æ§ã
4ãçµæ´»çèªå¨ç¼ç åååè½æé£ERPæä¾èªå¨ç¼ç åååè½ï¼å¯äºå å°äº§åãææçåå·ç¼ç åå设置äºç³»ç»å½ä¸ãå½æ建ç«æ°çåå·éæ±æ¶ï¼å¯ä¾æ®ååèªå¨ç»åºæ°åå·ï¼é¿å åºç°ç¼ºå·ï¼éå·æè ç¼éçæ åµã
5ãOdooãOdooæ¯å ¨çæå欢è¿çERP解å³æ¹æ¡ä¹ä¸ï¼æ¥æè¶ è¿ä¸æ´»è·ç¨æ·ãOdooåºäºPythonï¼å§äºå¹´ãæ社åºçåä¼ä¸çä¹åï¼ç¤¾åºçå®å ¨å è´¹ï¼æºç å¼æ¾ã
6ãé¦å ï¼å¥½çå¼æºERPé½æ¯å½å¤çï¼ææ¡£å°ï¼ææ¯æ¯æå ä¹æ²¡æï¼å¼åçå·¥ä½éé¾ä»¥æ§å¶ãå ¶æ¬¡ï¼åæç»´æ¤å¾å¤´çï¼èµéæå ¥åè¿é两é¾ï¼â第ä¸ç¹ï¼å¼æºè½¯ä»¶é½ä¼æå¾å¤çæ¼æ´å缺é·ï¼å¯è½æ¯æ æçä¸çï¼ã
goè¯è¨å¯ä»¥åä»ä¹æå¡å¨ç¼ç¨ï¼ä»¥åä½ å¦æ使ç¨Cæè C++åçé£äºäºæ ï¼ç¨Goæ¥åå¾åéï¼ä¾å¦å¤çæ¥å¿ãæ°æ®æå ãèææºå¤çãæ件系ç»çãåå¸å¼ç³»ç»ãæ°æ®åºä»£çå¨ãä¸é´ä»¶ï¼ä¾å¦Etcdã
Goä½ä¸ºGoogleå¹´æ¨åºçè¯è¨ï¼å ¶è¢«è®¾è®¡æä¸é¨åºç¨äºæè½½Webæå¡å¨ï¼åå¨é群æ类似ç¨éçå·¨åä¸å¤®æå¡å¨çç³»ç»ç¼ç¨è¯è¨ã对äºé«æ§è½åå¸å¼ç³»ç»é¢åèè¨ï¼Goè¯è¨æ çæ¯å¤§å¤æ°å ¶å®è¯è¨æçæ´é«çå¼åæçã
Goè¯è¨ä¸»è¦ç¨ä½æå¡å¨ç«¯å¼åãå ¶å®ä½æ¯ç¨æ¥å¼åâ大å软件âçï¼éåäºéè¦å¾å¤ç¨åºåä¸èµ·å¼åï¼å¹¶ä¸å¼åå¨æè¾é¿ç大å软件åæ¯æäºè®¡ç®çç½ç»æå¡ã
èæ°å°å端webæ³å ¥æåå°è¯è¨,java,php,golangè¿ä¸ç§è¯¥éåªä¸ªJavaåºè¯¥åºç¨æ广ï¼ä¹å°±æ¯æ±æ¹ä¸è¯´çâ稳å¦çâãè¯è¨å¹²åèå°å¦äºç¹å§ãçæ丰å¯åè½é½å ¨æ以å¦ä¹ æ¶é´è±è´¹ä¸è²ãPHPæ¯ä¸æ³¨äºWebåºç¨å¼åçè¯è¨ï¼å·²ç»å¾è§èäºï¼åºç¨ä¹å¾å¹¿ã好çPHPç¨åºåä¸å¤ï¼éçåPHPç¨åºå太å¤ã
å端主è¦æ¯ç¨htmlãcssåJavaScriptï¼å ¶ä¸htmlæ¯ä¸ç§è¶ ææ¬æ è®°è¯è¨ï¼cssæ¯å±å æ ·å¼è¡¨ï¼ä¸»è¦è´è´£å页é¢æ·»å æ ¼å¼çï¼ï¼JavaScript主è¦è´è´£å¶ä½å¨æ页é¢åå¨ç»ææçã
æä¸ºå ³é®çä¼å¿æ¯çæå®æ´ï¼å ¨çæå ç¾ä¸äººå¨Javaè¿ä¸ªå¹³å°ä¸é¢åå¼åï¼å½¢æäºå®æ´ççæï¼è¿æ¯å ¶ä»ææè¯è¨é½ä¸å ·å¤çä¼å¿ãæ以建议å¦Javaã
phpä¸éåï¼æ¨èluaï¼ç¨openrestyï¼è½ç¶é½æ¯é«çº§è¯è¨ï¼ä½luaå¯ä»¥è·nginxæ ç¼ç»åï¼luaæ¯è·å¨nginxè¿ç¨ä¸çï¼è¿æ ·å°±å¾æææäºã
ææ¯æ¶æjavaæ¯çº¯é¢å对象å¼åï¼åè½å¼ºå¤§ï¼åæ¯ä¼å¤ï¼æ²¡æjavaä¸è½åç软件ãC/Sä¹å¥½B/Sä¹å¥½ãä»åè½ä¸è®²ï¼æ²¡æè¯è¨å¯ä»¥åjavaç¸æ¯ãPHPå±äºåèµ·ä¹ç§ï¼å¸æ¶äºjavaåc以åperlçè¯è¨ä¼ç¹ï¼ä¸æ³¨äºèç½é¢åã
goè¯è¨ä»¥åä¼ä¸ä¼æ为主æµwebå¼åè¯è¨?1ãç°å¨å·²ç»æ¯äºå§ï¼ç¼ç¨è¯è¨æè¡æ¦åå ä½äºï¼åªè¦è°·æå é¨å¤§é使ç¨å°±çäºæ¯ä»¥åç主æµã
2ãGoæåç项ç®nsqï¼bitlyå¼æºçæ¶æ¯éåç³»ç»ï¼æ§è½é常é«ï¼ç®åä»ä»¬æ¯å¤©å¤çæ°å亿æ¡çæ¶æ¯dockerï¼åºäºlxcçä¸ä¸ªèææå å·¥å ·ï¼è½å¤å®ç°PAASå¹³å°çç»å»ºã
3ãèä¸ä¸¤å¹´åå级å°äº.NETCOREçæ¬ä¹åï¼å®çé度æ¯GOæ´å¿«ãPythonï¼å¾å¤äººä»¥ä¸ºå®æ¯æ°å ´è¯è¨ï¼ä½å ¶å®å®ä»å¹´ä»£å°±åºç°äºãä¹æ¯ä¸ªèå¤è£äºã
4ãå¦æä½ ä¸çæèä¸é¡¹ç®å¨æå¾ç´§ï¼è¿æ¯å»ºè®®ä½ ç¨èªå·±æçæçè¯è¨ï¼å¦goæ¬èº«éè¦è±æ¶é´çãåäºæè¿ä¸ä¸ªweb项ç®æ¯ç¨Gorillaåçï¼ä¹æ¯è¾¹å¦è¾¹åGorillaï¼thegolangwebtoolkitï¼è¿ä¸ªGobyExampleæºæç¨ã
golangå¼åweb,æä¹å页é¢
1ãæ³è¦å®ç°è®¿é®èªå·±ç¬¬ä¸ä¸ªWeb页é¢ï¼myFamilyWebï¼ï¼ç¬¬ä¸æ¥æ¯è®¾ç½®è·¯ç±åå¨views.pyå¢å ä¸ä¸ªå¯ä»¥è®¿é®çå½æ°ï¼å¾3-å¾6ï¼ãé 置模æ¿åhtmlï¼å¾7-å¾ï¼é ç½®å好äºç¬¬ä¸ä¸ªæç®åçWeb页é¢ï¼å¯å¨æå¡å¨ãã
2ã好çæµè¯åºè¯¥æ¯å æç §å½æ°æ¥æµãæ¯å¦ä½ æä¸ä¸ªå ï¼ä¸é¢æä¸ä¸ªæ件å«a.goï¼å½æ°åå¨éé¢ï¼ä½ è¦å æµè¯å½æ°æ¯å¦æ¯å¯¹çï¼ä½ è¦å»ºä¸ä¸ªa_test.goæ¥æµï¼å¥½çIDEä¹å¾éè¦ã
3ãæ¹æ¡ä¸ï¼å©ç¨GOLANGèªå¸¦çHTTP模åï¼å¾å°ç代ç å°±è½å®ç°ä¸ä¸ªHTTPWEBæå¡å¨ãæ¹æ¡äºï¼èªå·±é è½®åé¦å ï¼æåºæ¬çæ¯ï¼name=gemå¯ä»¥éè¿è¯»åurlçåæ°nameè·å¾gemã
6ãå¦æèªå·±ä¸çæèä¸é¡¹ç®å¨æå¾ç´§ï¼è¿æ¯å»ºè®®ç¨èªå·±æçæçè¯è¨ï¼å¦goæ¬èº«éè¦è±æ¶é´çãå±æè¿ä¸ä¸ªweb项ç®æ¯ç¨Gorillaåçï¼ä¹æ¯è¾¹å¦è¾¹åGorillaï¼thegolangwebtoolkitï¼è¿ä¸ªGobyExampleæºæç¨ã