容器技术近年来备受关注,作为一种轻量级、可移植的虚拟化技术,容器技术可以将应用程序和依赖项打包在一起,从而方便应用程序的部署和维护。云服务器作为一种灵活、可扩展的云计算服务,与容器技术相结合,可以发挥出强大的协同效应,释放云服务器容器技术的无限可能性。
容器技术在云服务器上的优势
- 轻量级:容器技术仅包含应用程序及其运行所需的基本组件,大大降低了资源消耗,提高了应用程序的部署密度。
- 可移植性:容器技术可以轻松地在不同云平台或物理服务器之间移植,从而提高应用程序的跨平台兼容性。
- 快速
电脑微信聊天记录能删除吗?
电脑微信聊天记录的删除并不会导致手机微信聊天记录的同步删除。
这是因为微信的设计逻辑是基于云端同步的,聊天记录会被保存在云端服务器上,用户无论是通过电脑还是手机登录微信,都可以访问到这些聊天记录。
因此,当你在电脑上删除聊天记录时,这些操作并不会影响到云端服务器上保存的聊天记录,手机端的聊天记录依然会保留。
需要注意的是,如果你在手机上删除了某个聊天窗口或者与某个好友的聊天记录,那么这些被删除的内容在电脑上也无法再查看到,因为它们已经从云端服务器和手机上都被删除了。
但是,反过来,电脑上的删除操作并不会影响到手机。
此外,为了保障自己的信息安全,建议用户定期备份重要的聊天记录,并谨慎处理删除操作,避免误删重要信息。
同时,也可以考虑使用微信的“阅后即焚”等功能来保护私密信息的安全。
现在什么区块链最稳定(哪种区块链好)
什么是区块链稳定币,主要有哪些稳定币?
在区块链世界建立了一套映射于真实世界的货币体系,这个体系中的货币,我们就从把它称之为稳定币(StableCoins)。
稳定币是一种以标的资产价值为抵押的加密货币。
通过抵押资产,锚定代币价值,使代币价值趋于稳定。
按照发行方式,稳定币大体上分为四个类型:
1、抵押法币发行的稳定币
USDT、USDC,由受监管的金融机构发行,并且拥有1:1兑换美元权利的代币,泰达币(USDT)由Tether公司推出,USDC是由Circle和Coinbase发行。
这两个代币都号称拥有100%的准备金率,作为现实世界美元的映射。
都是现在区块链上应用最广泛,同时也是市值最大的稳定币。
2、抵押数字资产铸造的稳定币
Dai是由MAKER设立的去中心化超额抵押铸造的稳定币,是通过抵押一些资产铸造出来的,它的抵押资产是MAKER认定可以抵押的资产,比如:ETH、BAT等,主要社区认可,就可以抵押铸造Dai出来。
注意这里是超额抵押,比如抵押了150美元的ETH到Dai的系统中,我们只能获取价值100美元的Dai。
它是如何保证Dai是1:1美元兑换的?当Dai低于抵押线的时候,会触发清算,比如ETH跌到120美元的时候,就会触发清算线,这时MAKER系统就会把ETH拿到市面拍卖,拍卖得到的Dai用于销毁,这样就保持了整个系统的动态平衡,也保持了Dai作为一美元价值的稳定性。
pUSD是Mixin项目组以BTC作为抵押发行的绑定美元的稳定币,原理和Dai类似。
因为抵押率为200%,且去中心化发行,抵押品由多团队多签共管,所以比中心化公司发行的稳定币的风险低。
3、算法稳定币1.0
Ampleforth(AMPL),没有抵押资产,也没有主体信用背书,纯粹依靠算法来实现在锚定的价格周围波动,AMPL锚定的价格是2019年的美元,会随着CPI起起落落,在一定范围内,当它高于锚定价格的时候,会引发增发,向所有AMPL的地址发送新的AMPL,当低于阈值的时候,比如低于0.95的时候,会触发通缩,所有AMPL的地址都会受到通缩影响。
4、算法稳定币2.0、3.0
Basis,AMPL的延伸,使用了rebase(可理解为代币供应量再平衡)的机制,又有了权力分离的特点,有一些机制来解决AMPL死亡螺旋的问题。
稳定币的优势:
一是提供法币与加密货币之间的出入金通道,也是最主要的应用场景。
受政策影响,一般交易所不支持法币(人民币/美元等)直接交易加密货币,目前主流的交易所法币交易支持人民币与USDT的兑换,用户通过人民币购入USDT后,就可以用USDT购买其他加密货币。
二是用于对抗传统加密货币下跌的风险,正如前文所述,稳定币的诞生正源于此,因此天然具有稳定的优势,由于币价稳定,因此,可以应用与日常的支付与交易场景,与常见的法币并无不同。
三是与一般的加密货币不同,稳定币由于有背后的抵押资产,因此具有价值基础。
四是可以为交易所提供充足的流动性。
相比于其他主流市场,加密货币仍然是一个偏小众的市场。
稳定币的诞生,有助于吸引大规模资金的进入。
稳定币的劣势:
中心化发行导致抵押资产不透明,比如每天都被传要暴雷的USDT。
去中心化发行抵押加密货币的发行方式又存在抵押物价格大幅波动的风险。
因此,未来稳定币依然有很长的路要走。
到底什么是区块链?区块链就是虚拟币?
我来通俗的给你讲一下区块链吧,不需用什么高深的专业术语,因为那样太难懂了,我给你打个比方吧,保证你一看就懂。
中国的麻将可以理解成区块链,假如你们四个ABCD要去打麻将,谁招呼的呢?A招呼的,那么A就是这个区块的发起者,A负责了找麻将馆,组织人员A可以邀请BCD,也可以是B邀请C、C邀请D,这没关系。
abcd凑在了一家麻将馆,开始打麻将,麻将机洗牌、abcd摸牌、打牌的过程可以理解成区块链中的类似于比特币的挖矿阶段。
每个人手里牌都是不一样的,就相当于区块里面的算法,但是有一个目标,都是为了胡去的,其中,A胡了,bcd啥也没说,一看就都知道A赢了,这叫区块链中的共识机制。
A胡了,A推倒麻将后,bcd都知道A怎么糊的,并且记在了心里,假如A这把赢了10块钱,其中AbCD都知道A赢了10块钱,这就叫区块链里面的分布式记账。
玩麻将的都知道怎样的麻将排列就可以胡,大家也都知道什么牌可以翻倍,那么这就可以理解为区块链中的智能合约。
A最后胡牌的牌面,在A推倒后大家都知道了,谁也不能篡改这个结果,因为大家都看着呢,这就可以理解成区块链之中的不可篡改性。
A宣布胡了之后,大家并没有再去找另外一个人,比如E、F、G…来验证,B赢了后也是这样…没有一个监管机构可以控制他们,都是他们自己管自己,这就是区块链里面的去中心化。
以此类推,abcd这四个哥们玩了一天的麻将,每一把的输赢abcd都记录了下来,不管他们用什么方式,脑子记忆也好,视频记录也好,笔记也好,他们打的越多,越能体现区块链的不可篡改性、去中心化性、分布式记账、共识性……
讲到这里,你基本上就懂了啥是区块链了吧,是不很简单!
第二个问题,区块链并不是虚拟货币,虚拟货币只是运用了区块链技术的一部分。
很多人认为虚拟货币就是区块链,比特币就是区块链,这其实是错误的。
只是比特币的闻名让区块链进入了大众视野而已。
中本聪运用区块链技术发明了比特币,并且他将比特币定义为一种点对点的电子现金系统,“电子现金”一词表明中本聪想要发明的并不仅仅是一个支付系统,而是一套有着独立货币哲学的货币系统。
如今炒的火热的虚拟货币,还有挖矿等,被很多部门和国家所抵制,其根本目的并不是说浪费资源、电力等,而是因为拥有区块链技术的虚拟货币已经颠覆了传统金融,很容易造成传统金融的奔溃,我之前的问答里有讲过这方面的内容,这里就不累赘了。
可以说,中本聪及他发明的比特币是区块链的先驱,是中本聪把区块链技术带进了大家的视野。区块链技术的应用还是很广泛的,金融、医疗、服务业、大数据安全…
说一说这个大数据吧,众所周知,因为大数据安全最近的滴滴事件影响还是蛮大的,如果是运用区块链技术里面的去中心化,个人数据可以通过区块链得到自己保存自己的数据,何来的数据泄露呢?现在社会,随着科技的进步,只要是你玩手机连网的,你就没有什么数据安全所言,你的个人信息早已经被泄漏的体无完肤了,所以说区块链技术是社会进步的必然趋势。
关于区块链就讲这些吧,希望你可以从中学到一些东西,大家平时也可以多关注关注区块链的技术,提高自己的认知水平。(个人纯手工码字)
区块链,是一种分布式存储解决方案。
虚拟币是推广这套方案,配套的奖励机制。
区块链是去中心化的,所以不会有idc机房,也不会有中心化的数据中心,所有数据的存储理论上都是零散的。
这就需要一种奖励,来吸引他人加入到项目里,这个奖励就是虚拟币。
区块链在理论上,可以形成动态稳定的并去中心化的类似云的计算资源提供渠道。
比特币是最早的区块链应用,而以太坊是第二代区块链,可以支持链上应用,这些应用所需要的硬件资源是矿工提供的,所以要支付给矿工一定的费用,这个费用使用的通用货币,就是以太币。
区块链最大的吸引力就是去中心化,理论上,链上应用是不会消失的,没有什么云容器丢失,没有什么数据中心被台风吹走,也不会有某个组织能决定它的去留。
然而,现实是,链上应用还存在大量的问题,高延迟,基础组建不完善,基于奖励的矿工吸引机制并没有如愿加快链上速度,以及虚拟币独自繁荣,去中心化回归中心化的交易所,等等问题。
还有黑钱的流入,都在让这个新兴行业充满了不确定。
但从技术角度出发,区块链技术确实是下一代计算机应用技术。
区块链是一种技术,是一种分布式去中心化的技术,这种技术可以应用到存储。
区块链并不是虚拟币,虚拟币只是用区块链技术做的数字货币,现在区块链与数字货币的联系打个比方,比如你在某链上做一个dapp的应用商城,那么你就可以发行一种关于这个商城的代币。
区块链与虚拟币真正的联系
现在追求的是区块链技术的应用,你开发一条公链,在这条公链上建设很多商城,金融,defi,房地产,旅游这样的dapp,这样这条公链才有了价值,随之这条公链发型的代币有了价值,就好比现在的以太坊,pinetwork
现在网上有太多的所谓“区块链数字货币”,我们看虚拟币是看它所在的公链可以解决什么问题,有什么价值,而不是盲目地去炒作,说区块链是底层技术的,我想是只知道区块链的皮毛。
如果你觉得这篇文章对你有帮助,就请你用发财的小手点一下关注
作者:冷冷的观点
区块链是一种技术,比特币这样的虚拟货币是区块链上应用产物。
我的主页有跟多的视频解释哦。
区块链是一种技术,虚拟币是应用区块链技术产生的产品。
比特币带出来区块链技术,让不明所以的人以为比特币等同于区块链了。
区块链是什么?
每一个电脑(手机)都是一个区块,通过互联网连接起来成为区块链。
和传统的互联网不同,传统互联网,比如玩抖音,我们每个人都是请求抖音服务器,抖音服务器给我们视频。
我们每个玩抖音的人都不能少了抖音服务器,抖音服务器就是我们的中心。
区块链是没有中心的,每个人(每个区块)都是服务器,当有一个区块产生了新内容,会通知大家,大家把这个新内容存到自己服务器,每个区块存的内容都是一样的,如果有新的用户(区块)加入进来,它需要同步一下区块链上数据,把数据先更新到自己服务器。
区块链优点,可以保证数据安全,没法更改数据,你把一个两个区块数据改了没用,一同步区块链数据就变成正确数值了。
传统中心服务器就不行了,黑客入侵了抖音服务器,所有用户全遭殃。
区块链缺点,低效率。
区块链需要每个区块同步区块链数据,区块链上有新变化就要整个区块链网络上用户的同步更新,效率低下。
区块链就是一个分布式数据存储,点对点传输,共识机制的一种计算机模型,在通俗一点理解,区块链就是一个去中心化的数据库,这一项技术怎么用价值体现出来?在共识机制下形成了一个对区块链这种技术的东西给一个特定的代币,就是BTC
区块链是一种新型互联网应用技术,其中运用分布式存储、密码学、智能合约、共识算法等新兴技术的应用,可以说是对现有的互联网协议进行创新的一种新的数据间的传输方法。目前区块链技术在不断迭代
1、区块链1.0,象征比特币的诞生;正式有了比特币才有了区块链技术的发展
2、区块链2.0,以太坊去中心化应用平台,以太坊引入智能合约的应用,代表着区块链技术新时代的开始;现在所有人的都可以在以太坊上创建项目,这几年也出现了不少好项目的落地
3、区块链3.0,DeFi开启去中心化金融时代,DeFi项目利用智能合约技术实现了传统金融机构的各种功能,如衍生品、借贷、交易、理财、资产管理、和保险等。目前对于DEFI的褒贬不一,这需要时间去验证
而区块链虽然起源于比特币,就像互联网刚出现时的第一台电脑,而比特币主要用于是矿工的挖矿奖励
区块链就是去中心化的记账方式。
虚拟币是区块链的产物。
区块链的TPS是什么
TPS英文全称是TransactionPerSecond,应用在数字货币,TPS指的是系统吞度量,也是每秒系统处理的数量。
假如TPS每秒并发太低,很容易造成网络拥堵严重,从而使得区块链在高价值的高并发业务领域无法落地。
比如,由于TPS每秒并发太低,比特币和以太坊都存在交易费用高、确认时间长、扩展性差的问题,比特币社区因此产生分裂,硬分叉成为常态。
目前很多币在TPS上做文章,希望能避开比特币的劣势。
比如说ULAM、USDT、USC、几种货币,他们的吞吐量分别是最低1万TPS确认、7TPS确认、100TPS确认,我们可以对比他们TPS的高低来辨别他们的速度。
众所周知,比特币每秒只能进行大约7笔交易
以太坊稍微好一些,也就10-20笔。
作为一个支付系统,这是远远远远不够的,经常也有人拿这点来说事,认为区块链效率低云云。
最近发现了一个非常不错,并且高TPS的公链:ULAM公链。
ULAM是继POW、POS、DPOS、PBFT类共识算法之后的第五个在共识算法上有重大创新的区块链项目。
ULAM共识算法其利用哈希函数的特性创造出超低能耗、完全去中心化、高度稳定的区块链系统;是目前唯一一个成功打破区块链“不可能三角”的全新共识算法。
ULAM不需要进行哈希计算竞赛,可以允许低功耗的手机、智能手表、路由器等参与“挖矿”。
ULAM设计的全新非交互式交易验证算法(NITCV),可以使TPS最低达到1万。
ULAM使用知识证明的方法构造出非交互式交易验证算法。
ULAM具有超级碎片化节点;完全去中心化;抗算力集中;49%容错率;抗量子攻击;
区块链、数字货币这块有靠谱的平台吗?
绝对靠谱的,只有一个:国家主权数字货币!
什么是货币?货币的核心是信用。你用什么来做信用背书?
数字货币和支付、比特币等,有什么区别?
其实数字货币和前面说到的那些形式是有本质区别的,完全不是一个物种。
Q币,就类似兑换劵,好像你开了个超市,然后发一些兑换劵,类似。
是以人民币为基准,只有自己的超市里可以使用的一个东西。
但是如果你拿着这个去别的超市,别的超市是不会承认的。
比如华联超市的低价卷,华润是不会承认的,类似的道理。
而华联其实根本不是印刷了货币,而是一种记账行为而已。
Q币就是类似的原理,因此和人民币没任何冲突。
支付宝,就是类似要替代POS机,就是支付用的工具。
所以和你超市的Q币不冲突,和人民币更不冲突,只是一种支付工具。
比如你的华联超市可以用POS机,但同时也可以用支付宝,当然也可以用现金,这个和人民币还是没直接关系,只是一种支付用的工具罢了。
比特币是一种货币,和前面说的俩都不一样。
某种角度上比特币是和人民币、美元等对标的一种新物种。
采用的技术是区块链技术(可以理解成区块链是电子印钞的技术一部分)。
但是缺陷也比较明显,就是和人民币等比较,缺乏主权信用背书,仅仅技术和算法背书,在童话世界里面的确很美妙,但是现实社会很残酷。
原因是什么?一个国家要想稳定,必须要让其货币稳定,如果货币不稳定就容易引起社会不安定。
那么
主权货币,就是一个国家发行的法定货币。
这里有一个概念很重要,就是现代货币的核心不是金银(和政治书上的会有点不同),而是国家信用。
国家在超额印刷的时候某种角度是在用其信用,所以,国家要保护货币。
假设某个国家的政局有不确定性,那么他的货币还值钱么?所以我们去看美元的货币坚挺,不只是其和石油之间的关联性,重要的是美国的实力和军队做背书的。
欧元是一个非常特殊的区域货币,但是就是因为背后不是国家主权,所以在和美元博弈的过程中会有一些吃亏。
国家主权数字货币,就是国家发行了新的货币,类似第七套人民币,但是是用数字货币来表达。
那么和过去的人民币,是同等类型。
所以,也是要中央银行统筹发行的。
所以,会说:按计划,今后两到三年时间,全国会有30%至50%的M0被央行数字货币替代,基本实现央行数字货币全国范围推广。
这句话的意思很多人搞不明白,所谓M0就是流通中的现金。
很多人惊呼是否印钞更快了,这是太外行了,这和印钞速度根本没关系,只是换了一种货币形式而已。
可以理解为,我们现在用的是纸币,为了使用方便换种别的,比塑料货币更靠谱的,就是电子货币。
这样说是比较通俗一些。
所以我们可以看到,这和过去什么比特币等,是有本质区别的。
比特币是没有国家主权的信用背书。
如果有一天比特币宣告断崖式跌,谁来负责?没人能来负责,最多说是市场的信心不足。
但是,国家主权数字货币,是由国家信用做背书的,和我们钱包里的纸币是一个属性。
打字不容易啊。
手疼。
要说有靠谱的交易平台,在国内是没有的。
因为,这平身就不能直接使用人民币交易,和这种平台交易在国内是禁止的。
知道三年前这些区块链数字货币交易平台有几个较靠谱的,但是,二年前,在国家政策的管制下,都下马了。
当然,也有几个是在外国注册而运作的。
不靠谱吧!就像赌博一样,投进去赢了还想赢,输了还想赢过来,这样容易陷进去,是无底洞的,所以要远离好点。
先观察,后行动。
交易方面有火币,币安,ok;
媒体方面有火星财经,陀螺财经,链得得;
社区方面有币乎,财路,力场;
钱包方面有imtoken,tp钱包,mykey。
一般都是用3大交易平台,火币ok币安,都是老平台了,运营时间长,交易量大,都是全球排在前五位的,币安出过几次黑客攻击,安全性可以差点,其它两个平台没出过问题。
还有一些2线平台也可以,如zbbibox抹茶,总之数字货币是高风险投资,倒闭的平台也很多,之前很火的fcoin都跑路了。
pi币若按他的白皮书计划,做成功后会有前途,至于值多少钱,要看pi项目方能做到什么程度。
找个靠谱的平台很重要,这是本人身边朋友的经历,他19年10月份被骗了几万。
当时接了一个女孩子电话自称是国泰君安的客服,然后把他拉进一个推股票群里,群里每天都有推股信息,前面推的股票蛮准确确实挣点钱,5.1前他推的股我朋友买了很多,这一次没有像前几次运气好,股票大跌,他被套了。
这时群里的阳明说带他们通过另一个方式把亏的钱给挣回来,毕竟他推的股让他们赔了,心里面过意不去。
然后把他们引导到另一个平台开户买5GCS数字货币,刚开始平台也能提现,于是放松警惕,大概一个月时间平台开始不能提现,他们账户里的钱都提不出来,这才清醒被人r骗了。
前几年比特币相当火爆,算是最大平台之一了,但这种交易方式受政策法规影响非常大,目前没有一个可以全球通行执行标准,存在一些灰色链条太多,当前非常靠谱的平台还真没有。
国内开发区块链哪家好?
安徽乐微就挺好的呀,这是全球领先的区块链技术服务商,可以为各位提供安全、稳定、?可靠的一站式服务。
现在Fil暴涨后,在区块链的各个项目中,哪一个是最值得参与?
Filecoin在3月26日出现大涨后,封装成本突然大增,很多矿商减少封装,当天新增有效算力下降到15.62P,但3月27日再度回升,大增到47.94P,平均每天的有效算力继续维持在30P左右。
按照目前Filecoin币价1000元左右,质押币大概10个Fil,Gas费大概3到5个,加上营销成本,单T算力成本已到1.5万左右。
接下来,FIL市场将无币可流通,供不应求,还可能会推高FIL币价。
Filecoin首年的全网规模。
按着每日的增速,今天开始到10月中旬,能达到6.7EB。
现在全网的总规模是3.4EB.按照这个增速,预计在10月中旬,全网首年的增速可达到10.17EB,可见Filecoin全网的增速是多么快速,也从正面反应出,Filecoin的热度以及共识度是多么的高。
首年每日对FIL币的需求。
截至3月22日,到10月中旬,按照平均每天增速达到32.74PB,来计算,按照单T需要10个FIL质押,GAS需要3个FIL,总需求量达到8800万FIL。
再加上截止3月22日全网质押5113万FIL,销毁为1943万FIL,合计首年Filcoin挖矿的需求FIL的量达到5859万FIL。
4月中旬投资人释放量每天减少28万FIL。
首年的总流通量按照四月中旬减半,到10月减半前,市场每天供应为32万FIL,10月中旬之前,预计全网总流通量为5760万,这只是4月中旬到10月中旬的一个总流通量。
如果在加上4月减产之前的流通量,按照每天60万的产量,并为期180天释放,那么到4月中旬总流通量为一亿零八百万,市场总流通量为一亿六千五百六十万。
按照市场供需关系,市场上的流通的FIL币,首年的流通量,只会不断的进行通缩,市场上的FIL币只会越来越少,目前市场流通的FIL币为3000多万。
根据以上供需数据计算,到10月中旬,投资人释放量每天减少8.8万,市场流通的FIL币只有700多万,并且还有一个关键点,目前市场上越来越多的持币大户,都将他们的FIL币进行抵押挖矿,并且,这些都是作价值投资,因为他们非常看好Filecoin的前景,那么,只会导致市场上的FIL币进一步加缩。
最终可能会导致市场上根本无币可流通,从而引发市场供需严重不足,促使币价上涨。
以上足以证明全球顶级机构,及全球政府,对IPFS技术的高度认可,更表现出全球人民对数据存储的安全长久稳定,以及高性价比的刚性需求。
现在Filecoin暴涨后,在区块链的各个项目中,哪一个是最值得参与?
第二,高性能公链,也就是高TPS公链。这其中浑水摸鱼的太多了,99%的项目都是假的!稍有不慎就被割韭菜,所以,最好远离!
第三,波场,我真不愿意推荐孙割的项目,它只是一个EOS构架的类中心化项目,但是它有USDT通道又是以太坊生态外溢最大受益者,你看以太坊搞layer2就是眼馋波场,没办法,形势比人强啊!
因此,即使现在Filecoin门槛不断提高,单T产量也会不断下降,Filecoin网络每日增速,仍然维持在30PB左右。
而且,越来越多的大机构、大公司会利用自身大资金的优势,通过批发式的大量的采购,摊低进场成本,涌入Filecoin。
但是,对于个人投资者而言,很难做到降低成本,所以,趁现在还比较低的门槛和红利期较高的收益,加入Filecoin挖矿,越早进入越有优势。
投资,不要以自己的好恶来做生意。比如,你做帽子卖给美国,你喜欢特朗普,给他做帽子,但是,你也要给拜登做帽子,不能因为自己的好恶而影响生意,并且,万一猜错了呢?再说,对于比特币,巴菲特与比尔盖茨都不看好,但并不代表他们就不采取行动,坚信他们一定会有行动,作为基本的风险对冲,因万一自己判断错误了呢?
观点和态度是一码事,但从理性上来说,该干什么就要干什么,这才是理性经济人的合理做法。
如果把自己的好恶观念,与所做的事混在一起,结果是很悲惨。
因为自己的命运被自己的认知牢牢锁定,没有一丝突破的可能性,看似少了很多风险,但却少了无限可能,也就说只要把风险划定一个边界,其实就可能会拥有无限变数。
从本质上说,确定性是人性中深刻追求的东西,有些人也称之为安全感,但是,他们根本没有意识到,在未来充满不确定的世界中,充满变化的世界中,不敢冒风险才是最大的风险。
所谓的“冒险”,只是接受信息的密度不足,导致认知的偏颇,所以,在认知的范围外,就是认为冒险。
比如2009年的比特币,你不敢冒险,到现在已成结果,看看自己在这场风险中,损失之巨大。
同理,今天的Filecoin给带来的历史机遇,也会稍纵即逝,为抓住机遇,用空杯的心态,认知Filecoin,Filecoin拥有众多顶级投资机构,顺着成功的投资者脚步走,让投资不再迷茫。
#欧易OKEx##比特币[超话]##以太坊##数字货币#
为什么我不再用 NET 框架
平台很棒。
真的很棒。
直到它不再那么棒。
我为什么不再用?简单来说,它限制了我们选择的能力(对我来说很重要),转移了我们的注意力,使得我们向内认知它的安全性,替代了帮助我们认知外面广阔世界的所有可能性。
[系好安全带:这个文章的长度几乎成了一本书…]优点首先让我开始说说做得对的许多事吧,尽管这其中的大多数并不来自本身,但却是由社区而来。
C#C#令人惊叹。
我认为它是一个令人惊叹的编程语言。
从强大的C语言背景而来,我彻底地喜欢其语法,流和这门语言的所带来的感觉。
当然有我可能改变的事,但总体来说它是一门扎实的语言。
并且基于开发人员使用的编程语言如此巨额的百分比和Windows操作系统的优越性,它是一门众所周知的语言。
ReSharper我也很喜欢Resharper。
在JetBrains工作的开发者们都是奇迹般的人。
如果没有ReSharper和一些相关的工具,我可能并不会如此喜欢C#。
BDD and MSpec我也很喜欢简称为机器规格(mspec)的BDD风格的框架。
它是一个令人惊叹的测试框架,真正支持在测试中使用正确的语言测试本身。
在使用mspec之前,我的测试真是一团糟并且很碍我的事。
另外,当我们创建GoConvey—基于Golang的BDD测试框架的时候,Mspec对于我的组织来说是一个巨大的灵感和激励。
多语言运行时我认为多语言的CLR(公共语言运行时)的观念真得使得JVM的世界思考着。
我不知道任何非Java的JVM语言在CLR之前,但随着“公共语言运行时”的到来,我的理解是这使得使用JVM的人们向前进并且最终创造了如Scala和Clojure这样伟大的JVM编程语言。
如果我错了请纠正我。
再者,CLR使得Sun公司的人们坐下来并关注它,因为Java有一点陈旧并且随着Java 8的到来,仅仅现在才在多个方面追赶着。
竞争是一件非常好的事。
NuGet另一个显著的例子是NuGet。
这个包在Windows中作为一个整体特别是在Windows的开发中,它的管理轶事是糟透的。
NuGet解决了很多问题,他们也通过从Python和Ruby借用了很多东西去做了很多正确的事。
有改进的余地吗?当然。
但比起其他一些选择在这儿或那儿的包升级来说,我还没有感到使用NuGet有这许多痛楚。
Mono对于Mono的开发者们,我不能不说太棒了。
他们所创造的太惊奇了。
没有任何官方支持和不顾潜在的悬在他们头上的法律问题,他们向前推进并创造了一个居然能替代官方运行时的实现。
我已经有一些运行在产品中应用程序,在Mono下运行了几乎一年而没有任何问题。
它的产品准备好了吗?这可能取决于你的应用程序(见下文“Mono”)。
CQRS 和事件溯源可以认为,关于最好事之一是,它是CQRS的诞生地并有相关的技术:事件溯源。
就算这样,CQRS+ES本身并没有什么很新的东西。
正如Greg Young将会告诉你的,这是由一堆40年历史原料为我们重新打包并更名的。
对于大型代码库我有些非常严重的问题,当我5年前使用CQRS+ES的时候,它完全释放了我的域。
CQRS+ES现在是命名模式的并且其成长是显而易见的。
这可能是因为已经能够和其他的开发平台交互共享的原因。
除了这个之外,大多数的创新是从外部来的。
缺点优点先放在一边,让我们看看什么出错了和我为什么不再用框架。
关于我最近开发平台的迁移,最能激励我的事是我可以利用许多最好的部分而丢下不好的部分(如下文所说)。
Windows正如前文所述,当面对基于网络的服务器软件时,Windows并不是一个好的选手。
在我看来,Windows的另一个真正的大问题是传统的Windows开发者是通常仅仅擅长于Windows,当他们离开安乐窝之后就会很快迷失,这对于Linux开发者来说却不是问题。
计算远不止是Windows。
开发者仅仅能操作单一的操作系统的一个问题是它不可避免得导致Windows的激增。
换句话说,Windows生了Windows。
没办法打破这个循环。
另一方面,*NIX的开发者通常熟悉多操作系统(Linux,Unix,OSX,Windows等等),一个操作系统的内部工作原理,不同的分布(基于Debian和基于Fedora),窗口管理器,桌面管理器,文件系统,包管理,编译,重新编译,重新打包,命令行“fu”等等。
我的一个心病是文件系统。
NTFS并不是系统唯一的文件系统,对于任何给予的任务它几乎都不是最好的选择。
ZFS,BTRFS,ReiserFs,ext*等等,有一些很酷的特性。
我也很喜欢为了各种高速/透明的磁盘操作,能从BASH创建回路设备或者创建RAM设备。
这在Windows中不会发生—如果没有第三方软件的话。
在AWS云服务中,启动一个Windows机器要花掉足足10多分钟。
我大约15-20秒就能启动一个简单的Linux机器。
当涉及到云计算规模,它能够迅速扩展是很重要的,因为当扩展很重要时,10-15分钟就像是永恒的。
Visual Studio在我这另一根刺,当属Visual Studio。
我需要一个大大超出预期的 IDE 去做任何开发,这个想法困扰着我。
它只是如Windows一样庞大的资源猪。
我有一个内核i7 3770K 3.5GHZ的台式机,以16GB的内存和最大4512GB的固态硬盘去编译。
它差不多刷爆了Windows体验指数,但Windows+VS仍然很慢。
(是的,ReSharper使得它更慢了,但是ReSharper对这来说是值得的。
)现在我在MacBook Pro上开发,它比起我的强大的台式机来说只有更少的CPU马力,但运行明显更快,在一个短小的学习曲线之后,UX(用户体验)变得无限美好了。
事实上,我甚至不再用鼠标了—我的双手一直在键盘或触控板上,我可以用手势操作我的电脑并让它回应—不像在Windows。
关于VS很酷的一个事是调试器。
它的查看和使用,令人难以置信得方便。
每隔一段时间会在监视窗口报告错误的值,导致花费更多时间去调试。
同时,这也是很大的负面,因为CLR默认的,多线程的世界使得我一开始就需要一个调试器。
没有调试器是一个解脱的体验,因为它迫使你以另一种方式编程。
VS同样也有创建“csproj”和“sln”文件的坏毛病。
我恨这些。
当然,C#必须知道编译什么和何时编译。
我理解这点。
在Golang中,引用在代码中使用了很重要的语句。
如果它不是中用到的工程文件,我可能使用简单的文本编辑器编码C#,并且对这门语言更流畅。
使用git rebase操作时,这些文件也有导致合并冲突。
别让我开始说换行符的差异。
我不能相信直到今天我们还在处理这样的事。
如果VS解决方案文件以Linux行结束符结束,通过双击它并不能载入该解决方案,因为VS解决方案文件分析器读不出它来。
源代码管理幸运的是,我早就跳出了微软阵营的源代码管理(版本控制系统VSS)。
我早在2000年初,在VSS无数次丢失了我的提交之后,就使用了Subversion(译者注:Subversion是开源的版本控制系统)。
之后git(译者注:git是开源的版本控制系统,内容管理系统等)出现了,我又迷上了它。
不幸的是,没有Windows的接口—对我来说是典型的遭遇。
最终有人创建了一个接口,我就用了那个并且没有回头。
Git是一把非常锋利的刀,但当你正确运用它的时候,它是一个强大而高效的工具。
我曾经在一个小工程中用过TFS(译者注:Team Foundation Server,工作流协作引擎),它是一个怪物—和所有来自Redmond(译者注:美国微软总部)的产品一样。
它感染了我的项目文件并且污染了我的源代码目录。
真可恶。
不,还是谢谢你。
给了我任意一天用命令行git…或者可能是SourceTree,如果你需要从GUI得到一点关爱。
Mono是的,这是第二次提及Mono。
正如Mono本身如此惊艳一样。
在的世界,它仍然二等公民。
无论什么时候我尝试在Mono上运行任何重要的东西,我通常都在和漏洞作斗争。
幸运的是,对下载代码,查找问题,发送请求和在Linux上编译代码我没有感到不舒服。
但是这件事我都记不清做了多少遍了。
是的,CLR是个巨大的怪物,并且对一个非官方的应用在不同的操作系统都有相同的行为,简直是个类似于分开红海的奇迹。
但事实是,我不得不花费如此多的时间来填补漏洞以使我的代码能够正确运行,实在是很难为其辩护。
Mono的特定区域也慢。
也许它不是在慢在过载,但对我来说Web服务器是关键所在。
并且它非常慢,最后,慢到了最底下—即使是微不足道的东西。
我想好消息是它只能从这儿得到更好的。
我也应该提及Mono的开发者可能忘了Linux,比起我可能知道的还多,所以我不能太挑剔。
IIS也许IIS在尝试着为太多的应用程序做太多的事情。
它从作为一个web服务器变为像J2EE应用程序容器一样的应用程序宿主。
它也站在慢速这一边。
我猜如果我需要更高的性能,我应该编写我自己的web服务器,但我真的很想只关注我应用程序的代码。
可能利用Windows事件服务器将是好的,但nginx(译者注:一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器)和其他服务器只是不喜欢在Windows中生产。
虚拟的以JVM为基础的实现,例如Netty(译者注:JBOSS提供的一个java开源框架),很容易处理每秒650K+/的请求量。
IIS在运行一个简单的CLR应用程序“Hello,World!”,处理大约每秒50K的请求量时就会壅塞。
(有趣的题外话,参考基准开发者通过TCP套接字创建了一个简单的C#的web服务器,它能处理大约每秒120K的请求量。
)狭隘的心理前些年有个运动叫做。
该运动是全部是关于寻找我们自身之外的更广阔的开发社区以作为一个整体,并汇聚不同的部分。
有趣的是,那是StructureMap、Autofac、NuGet、 MVC和许多其它工具的灵感来源。
在传统的的圈子里,这个运动受到了很多的不屑和鄙视。
我把这看作是,作为一个整体的社区普遍的狭隘心理和怠惰的一个极大的例证。
(的确,它们中的一些可能会消失,进而以包括Redis,MongoBD还有其它的不同的技术而出现。
)有这么多很棒的方案在那里。
假定微软已注定是唯一正确之路的想法是荒谬的。
如果是这样的话,我们就都还在使用Visual Studio的设计工具去拖放按钮和链接元素到一个WebForm的界面上,我们会设定了该按钮并且依赖ViewState以帮助我们与可怕的HTTP所带来的恐惧隔开。
我从我的一个部署的代码库中最后一个WebForm中摆脱的那一天,是个光荣的值得庆贺的日子。
谁又曾想过“网络控制”是个好主意?很显然我考虑过因为我喝了Kool-Aid(译者注:卡夫公司出品的饮料,这里意指明知是注定的或有危险的仍然去做,有负面涵义)并且完全接受它。
它狠咬了我。
见过2MB的ViewState吗?[注:当我写这篇文章的时候,原来的标题,“为什么我不再用”,意味着整个生态系统。
标题感觉有点短于是我更新为“为什么我不再用框架”。
我想作为一个生态系统,包括了所有的工具,工程,平台,组织还有很多开发者。
这就是为什么有些更广泛的社区的元素在我的这篇文章中受到抨击原因。
]性能杀手C,Java和C#中典型的多线程范例都强烈推荐使用锁和互斥。
对于锁来说有个隐藏的开销:它们慢得难以忍受。
使用Disruptor(JVM中的无锁的环形缓存[译者注:实际上就是拥有一个序号指向下一个可用元素的数组]),你可以很容易得每秒处理20M以上的事件。
在中使用规定的“最佳实践”等任何超过每秒十几次的传输,都被认为是体面又好的性能表现,在这一点上来说你仅仅需要更大/更好/更多的硬件设备。
事实上,我见过第三方客户端库(Rabbit,Couch,Mongo等等)中锁语句遍布整个代码。
即使在我的代码中没有任何的并发,默认的和首选的方法都用了锁。
无锁的、事件驱动的方法允许你大幅降低硬件和资金支出。
大部分应用程序可以轻易地运行在两台机器上,第二台机器仅仅在冗余和失效备援时是必须的,以防因为硬件相关的问题导致第一台机器不可用的时候起作用。
这个问题的另一个方面是调用网络和磁盘子系统的传统方式:同步,阻塞代码。
如果你需要多个并发的HTTP请求,你需要更多的线程。
大多数人不知道的是,为维持线程多出的1-2MB和上下文切换线程的需求,使得CPU内核消耗所有的时间颠簸在上下文切换上而不是做真正的工作。
所以现在我们得到了在一个应用程序中数百或数千的线程,占用了RAM,并造成CPU停滞不前。
还有个更好的方式。
Netty/NIO (JVM),Erlang,Node,Gevent (Python)和Go都支持使用事件驱动的子系统操作(选择/epoll[译者注:Linux内核中的一种可扩展IO事件处理机制]/kqueue[译者注:FreeBSD的可扩展的事件通知接口])。
这就意味着当等待数据包被tx/rx跨网络的时候,CPU可以自由地去做其它,重要的工作。
因为JVM的成熟,Netty可以认为是做这项工作最快的,但我喜欢Go用Goroutines操作这个的方式—它简单,优雅,很容易推理,没有像意大利面条一样的回调。
SQL Server作为一开发者,当你开始一个新的工程时,有一些事是你通常会去做的:创建一个新的solution将其部署到Team Foundation Server(译者注:Microsoft 应用程序生命周期管理 (ALM) 解决方案的核心协作平台)IIS中建立相应的网站入口创建一个新的SQL Server数据库在solution中关联Entity Framework(通常是2010年之后创建的工程)开始设计你的数据库和ActiveRecord实体在大多数情况下这不是编写代码的正确方式。
当然它可能在某些情况下有效,但是作为一个“默认的架构”它并不是你想要的。
为什么在我们甚至还没理解问题领域之前已经做了任何技术上的选择?这简直是本末倒置了。
微软的生态系统鼓励每个人使用SQL Server。
在Visual Studio中和SQL Service进行交互或者使用SQL Management Studio(和它的前身,SQL查询分析器)是如此令人难以置信的容易。
这种以数据库为中心的重点,是钦定的或唯一正确的方式的一部分。
它使你更加迷恋微软。
厂商锁定始终对厂商来说是好的。
为什么我们要如此开发?为什么我们不更多地考虑应用程序的行为而不是它如何存储的?现在我所有的项目都使用基于JSON的键/值存储。
有了这种功能,我可以选择任何我想要的存储引擎,包括SQL Server,Oracle,PostgreSQL,MySQL,Cassandra, CouchDB, CouchBase, Dynamo, SimpleDB, S3, Riak, BerkeleyDB, Firebird, Hypertable, RavenDB, Redis, Tokyo Cabinet/Tyrant, Azure Blobs,文件系统中的明文JSON文件等等等等。
突然之间,我们能够开始根据其优点而不是仅仅对其熟悉来选择存储引擎了。
题外话:在AWS RDS的云上运行过SQL Server吗?别这么做。
当然它会工作,但是一些例如复制这样最简单的事是不存在的。
文章充斥着对SQL Server不能在AWS RDS上工作的引用。
结论也许我在软件开发中学到的两件最重要的教训是:边界和封装的重要性(以多种形式)付出代价以得到正确的模型和抽象许多年前我恨“模型”这个词。
每个人都会把它到处扔,它是一个如此过载的术语,很难理解它的含义和它为什么这么重要。
就这点来说,我仅仅会说模型是对你想要封装的现实的一个有限的表示。
也许最简单的例子就是地球仪的墨卡托投影了。
这很确切得说明了一件事:导航。
如果你在其他的事情上使用它,它并不毫无价值。
如果你不专注于付出代价去使模型正确,去封装商业现实,那么没有任何技术能够拯救你。
我对最大的抱怨是,“唯一正确的方式”引导你远离理想的模型并把你推向关注实现细节和技术缺陷的方向。
这样的关注导致技术实施渗血并且感染模型,最终导致它腐烂变质,因为它不能适应不断变化的商业需求。
当这发生的时候,开发者挣扎着并蹬踢着,如同吸毒者一样,他们从一个新技术转向另一个,以期望下一个强大的技术能够治愈他们的病痛。
技术本身并不是灵丹妙药,相反地,它是关于取舍和选择。
只有正确地理解了商业行为并把它们封装进结构良好的,易于理解的模型中,以帮助保持技术堆栈在属于它的地方—作为一个实现细节。
这就是我为什么不再用 框架,因为它不断地重申自己(的主张),不断地想要比它的本身更多的:一个实现细节。