没有选择是痛苦的,有太多的选择却更加痛苦。而后者正是目前前端领域的真实写照。新的框架层出不穷:它难吗?它写得快吗?可维护性怎样?运行性能如何?社区如何?前景怎样?好就业吗?好招人吗?组建团队容易吗?

每一个框架都得评估数不清的问题,直到耗光你的精力。这种困境,被称为“布利丹的驴子” —— 一只驴子站在两堆看似完全相同的干草堆中间,不知道如何选择,最终饿死了。

当然,那只是一个哲学寓言。现实中,大多数人采用了很简单的策略来破解它:跟风,选择目前最流行的那个。这是一个低成本高收益的策略,不过也有风险:成为现实版的《猴子下山》。最理想的方案还是要看出这两堆“干草”之间的差异,选择更适合自己的那个。

本文就将带你了解Angular 2这个“干草堆”的各种细节。

ALL-IN-ONE

不管是1还是2,Angular最显著的特征就是其整合性。它是由单一项目组常年开发维护的一体化框架,涵盖了M、V、C/VM等各个层面,不需要组合、评估其它技术就能完成大部分前端开发任务。这样可以有效降低决策成本,提高决策速度,对需要快速起步的团队是非常有帮助的。

让我们换一种问法吧:你想用乐高搭一个客厅,还是买宜家套装?

Angular 2就是前端开发领域的“宜家套装”,它经过精心的前期设计,涵盖了开发中的各个层面,层与层之间都经过了精心调适,是一个“开箱即用”的框架。

当然,你可能还记着Angular 1带给你的那些快乐以及……痛苦。这是有历史原因的。由于它是从一个用来做原型的框架演化而来的,加上诞生时间很早(2009年,作为对比,jQuery诞生于2006年),当时生态不完善,连模块化机制都得自己实现(这就是angular.module的由来,也是Angular 2中抛弃它的理由)。在长达七年的演化过程中,各种进化的遗迹非常明显,留下了不少“阑尾”。

但Angular 2就不同了,它的起点更高,整合了现代前端的各种先进理念,在框架、文档、工具等各个层面提供了全方位的支持。比如它的“组件样式”能让你在无需了解CSS Module的前提下获得CSS Module的好处,它的Starter工程能让你在无需了解Webpack的前提下获得Hot Module Replacement等先进特性,它能让你从Web Worker(你知道这是什么吗?)中获得显著的性能提升。

你只管在前台秀肌肉吧!剩下的,让Angular在幕后帮你搞定!

模块化的技术

虽然Angular是一个ALL-IN-ONE的框架,但这并不妨碍它同时是一个灵活的框架。还记得OCP(开闭原则)吗?一个好的设计,对扩展应该是开放的,对修改应该是关闭的。

Angular 2很好的践行了OCP原则以及SoC(关注点分离)原则。

它非常有效的分离了渲染与交互逻辑,这就让它可以很好的跟包括React在内的渲染引擎搭配使用,除此之外,它还可以使用内存渲染引擎,以实现服务端渲染;还可以使用Native渲染引擎,以编译出真正的原生程序(NativeScript)。

它还分离了数据供应与变更检测逻辑,从而让它可以自由使用包括RxJS以及ImmutableJS在内的第三方数据框架/工具。

不仅如此。

在Angular 1和Angular 2中最具特色的应该算是依赖注入(DI)系统了,它把后端开发中用来解决复杂问题、实现高弹性设计的DI技术引入了前端。Angular 2中更是通过引入TypeScript赋予它更高的灵活性和便利性。

不过,Angular 2并没有敝帚自珍,把它跟框架本身紧紧黏结在一起,而是把它设计成了一个独立可用的模块。这就意味着,无论你正在使用什么前端框架,甚至NodeJS后端框架,都可以自由使用它,并从中获益。

全生命周期支持

除非你打算写一个一次性应用,否则软件的生命周期会很长。宏观来看,真正的挑战来自多个方面,而且在不断变化。

开始的阶段,我们需要非常快速的建立原型,让它跑起来,引入最终用户来试用,这个时候,挑战来自开发速度以及可复用资产。

之后,会建立一个逐渐扩大的项目组,来完善这个原型的功能。主要的挑战是让这个原型通过重构不断进行演化,特别是在演化的后半个阶段,产品需要保持随时可以上线的状态。但技术上的挑战那都不是事儿!关键是人。

如何让新人快速融入项目组,贡献生产力?这可没那么简单。“你先去学xxx 0.5、yyy 0.9、zzz 5.3...还要了解它们前后版本之间的差异,我再给你讲代码”,这种话,我可说不出口。一个优秀的框架需要对分工提供良好的支持,每个人都可以先从一些简单任务开始,逐步的从修改一个文件扩大到修改一个目录再到独立实现一个特性。

有了这种分工,每个团队成员就可以从一个成功走向一个更大的成功。这就需要框架在设计上具有良好的局部性:你可以放心大胆的修改一部分,而不用担心影响另一部分。你可以只修改CSS,可以只修改HTML,可以只修改TS/JS,而不用担心自己的修改破坏了其他部分。而Angular 2通过声明式界面、组件样式以及独立模板文件等对这种安全感提供了有力的保障。

再然后,如果你的软件顺利的进入了线上维护阶段,那么恭喜你,你终于迎来真正的大Boss了!这个大Boss就是可维护性。Angular开发组有很多程序员来自Google,如果要问谁的软件维护经验最丰富,Google和微软必然名列前茅。微软通过TypeScript的强类型机制体现了自己的经验,而Google则通过将OCP、SoC、SRP等一系列软件设计原则融入Angular体现了自己的经验。具体技术上则体现为:DI、生命周期钩子、组件等等。

最后,如果你的软件完成了历史使命需要逐步退出,是不是就能松口气了?不行,你还得继续留人维护它。如果你选择的是一个闭源的或某个社区很羸弱的开源技术,你就把以前的主力架构师、资深程序员留下来继续维护它吧。或者你就得鼓起勇气跟用户说:你们玩儿,我先走了。而Angular是一个大型开源项目,并得到了Google的鼎力支持。即使经历过Angular 2项目组初期的公关失败,它仍然有着其它竞品无法企及的繁荣社区 —— 无论在全球还是在中国。显然,无论是对传统社区资源的继承,还是对新社区资源的开拓,我们都有理由相信,Angular社区仍将一如既往地繁荣。至少,如果你不想让自己的软件建立在一大堆由个人维护的核心库上,那么Angular毫无疑问是最好的选择。

逃离“版本地狱”

如果是一两个人开发一个预期寿命不到一年的系统,那么任何框架都可以胜任。但,现实中我们都把这种系统称之为“坑”。作为一个高度专业、高度工程化的开发组,我们不能把“坑”留给友军。这些坑中,最明显的就是“版本地狱”。

想象一下,你仅仅升级了库的次版本号,原来的软件就不能用了,损坏了N处单元测试以及M个E2E场景。这种情况对于开发组来说简直是一个噩梦 —— 毕竟,谁也不想做无用功,更何况是一而再、再而三的。或者,它每次小的改动都会修改主版本号 —— 对,我就是不向后兼容,你能咋地?你所能做的就是每一次决定升级都如临大敌,不但要小心翼翼的升级这个库本身还要升级与它协作的几乎所有库。

可见,乱标版本号可能会让使用者付出巨大的代价。这不但体现在工作量上,还会体现在研发团队的招募与培养上,想象一下,对小版本之间都不兼容的框架,研发团队都需要记住多少东西?那简直是噩梦!

但是,版本号的问题在业内早就有了事实性标准,那就是SemVer语义化版本标准。唯一的问题是,作为框架/库的作者,遵循SemVer标准需要付出的努力是巨大的。是否愿意付出这些代价,是一个框架(及其开发组)是否成熟的重要标志。

Angular就是这样一个框架,其开发组曾作出的努力是有目共睹的。如果你是从Angular 1.2开始使用的,那么你为1.2所写的代码都可以毫无障碍的迁移到最新的1.5版,新的版本只是引入了新特性,而没有破坏老特性。这是因为Angular开发组写了大量单元测试和E2E测试,借助CI来保障这种平滑过渡。只有在从1.0到1.2的迁移过程中(1.1一直是beta,忽略不计),出现了一系列破坏性变更,这些变更被明确的记录在文档中,并且解释了做出这些变更的理由 —— 大多数是因为提升前端代码安全性。即使你恰好遇到了这些破坏性变更,它也会给出明确的错误提示。

这些必要而无聊的工作,正是帮助我们逃离“版本地狱”的关键。是否愿意做这些无聊而琐碎的工作,是一个框架的开发组是否成熟、专业的关键特征。而Angular的开发组已经证明了它值得你信任!

遇见未来的标准

编程领域,创新无处不在。但对一个工程团队来说,最难得的是标准。标准意味着:

  • 招人容易。因为标准的东西会的人最多,而且人们愿意学它 —— 因为知道学了就不会浪费。
  • 养人容易。因为网上有很多教程可用,即使不得已自己做教程,性价比也是最高的。
  • 换人容易。标准就意味着不是私有技术,一个人离开了,就能用另一个人补上,而不会出现长期空缺,影响业务。

但是,标准永远会比创新慢一拍或N拍。这就意味着如果你追新,那么在获得技术上的收益的同时,也要付出工程上的代价。固然,两者不可兼得,但是还是有一些策略能够调和两者的。最简单的策略就是:遇见未来的标准。

所谓未来的标准,就是某个标准的草案,它很有希望成为未来的标准,这代表了业界对某项技术的认可,于是,即使它还不成熟,人们也愿意为之投资。比如虽然Google曾经提出过N种自有技术,包括SPDY、Gears、OGG等,但却并没有把它们变成私有技术,而是对社区开放以及并入W3C的标准草案。

Angular 2采用的就是这种策略。它所参照的标准草案比较多,一个是WebWorker,它借助WebWorker来把繁重的计算工作移入辅助线程,让界面线程不受影响;另一个是WebComponents,Angular 2的组件化体系就是对WebComponents的一种实现;最后是CSS scoping,现在虽然市面上有了很多CSS模块化技术,但事实上最终还是会被统一到CSS Scoping标准上,届时,如果:local等关键字无法进入标准,就会成为私有技术。而Angular 2选择的方式是直接实现CSS scoping标准草案,比如:host、:host-context等。显然,采用这种策略,“遇见未来的标准”的成功率会高得多。

可以看到,Angular 2的设计哲学中贯穿着对标准化的热烈拥抱,这是我判断它将赢得未来的另一个信心来源。

速度与激情

Angular 2终于摆脱了旧的技术框架束缚,开始了对速度的极致追求。在Angular 1中,虽然绝大多数场景下性能都不是问题,不过还是因为其代码中存在的一个用来实现脏检查的三重循环而饱受抨击 —— 似乎真有人能感受到30毫秒和100毫秒的差异似的。

不过,有软肋总是不太好。于是,在Angular 2中,通过重新设计和引入新技术,从原理上对速度进行了提升,据官方以前提供的一个数据说是把“变更检测”的效率提升了500%。

它在“变更检测”算法上做了两项主要的改进:

  • 在设计上,把以前的“多轮检查、直到稳定”策略改成了“一轮检查、直接稳定”策略。

    当然,这会对自己的代码产生一定的限制,但实际上只在有限的少数几个场景下才会遇到这个限制,而且官方文档中也给出了明确的提示。

  • 在实现上,把“变更检测”算法移入了由WebWorker创建的辅助线程中执行。

    现代的家用电脑很多都已经是多核超线程的,但是浏览网页时实际上无法充分利用全部线程,而WebWorker提供了一个新的机制,

    让一些相对繁重的计算工作运行在辅助线程中,等执行完了再通知主线程。即使你不明白WebWorker的工作原理,

    至少也能知道Ajax请求是不会阻塞界面响应的,WebWorker也一样。

除此之外,Angular还对数据源进行了抽象,你完全可以用ImmutableJS来作为Angular的数据源,获得其在提升“变更检测”速度方面的所有优势。

除了“变更检测”外,Angular以及所有前端SPA程序,都有一个通病:首次加载太慢,要下载完所有js和css才能渲染出完整的界面来。React通过虚拟DOM解决了此问题,而Angular 2则通过独立的服务端渲染引擎解决了这个问题。我们前面说过,Angular 2把渲染引擎独立了出来,因此可以在NodeJS中实现服务端的内存渲染。所谓内存渲染就是在内存中把DOM结构渲染出来并发回给浏览器,这样,客户端不需要等JS代码下载完就可以显示出完整的界面了。这种分离还带来了另一个好处,那就是SEO。SEO同样是传统SPA的一个难点,它和服务端渲染是同一个问题的两个方面,因此随着服务端渲染的完成,SEO问题也被顺便解决了。

让你无缝升级

Angular 2开发组在早期阶段曾犯下一个严重的公关错误:过早宣布不兼容Angular 1,也不提供从Angular 1到2的升级方案。

这让Angular 2开发组付出了沉重的代价,可谓伤透了粉丝的心。作为技术人员,这种失误固然是可以理解的,但却需要付出更多的努力来弥补它。而Angular 2确实这么做了。

在Angular 2中,开发组提供了一个UpgradeAdapter类,这个升级适配器让Angular 1.x的所有部件都能和Angular 2.x中的所有部件协同工作。

而最牛的地方在于,它让你可以一个文件一个文件的逐步升级到Angular 2,而在整个升级过程中,应用可以继续在线上跑!看着神奇吗?其实也算不了啥,Google做这种事早就是轻车熟路了。这只不过是对Angular开发组出色的工程化开发能力的一点小小证明而已。

不过,既然如此,当初又何必急匆匆宣布不兼容呢?可见,再出色的工程团队,如果缺少了和社区沟通的产品运营技巧,也会付出巨大代价。希望Angular开发组以后能谨言慎行,多用行动来平息质疑。

幕后 —— 当Google牵手微软

当年的浏览器大战,让人记忆犹新,Chrome的出品商Google和IE的出品商微软正是浏览器大战的两大主角。

俗话说:没有永远的朋友,也没有永远的敌人,只有永远的…… 精益求精。

正是在这样的“俗话”指导下,Google与微软相逢一笑泯恩仇,撤销了很多针对彼此的诉讼,甚至在一些领域开始合作。而实际上,在他们公开和解之前,就已经开始公开合作了,其契机就是Angular 2。

这就要扯出一点小八卦了。

在Angular 2开发的早期阶段,由于传统JS(ES5)以及当时的ES6草案无法满足项目组的开发需求,项目组有点烦。后来有人灵机一动开发了一种叫做AtScript的新语言,它是什么呢?一个带类型支持和Annotation支持的升级版JS。其实在类型支持方面,TypeScript早就已经做了,而且那时候已经比较成熟,唯一的遗憾是不支持Annotation,也就是像Java中那样通过@符号定义元数据的方式。

Angular开发组就这样孤独的走过了一小段儿时间,后来也不知道怎么这两个欢喜冤家就公然牵手了。总之,最后的结果是:TypeScript中加入了与Annotation相似的Decorator特性,而Angular放弃了AtScript改用TypeScript。

这次结合无论对两大厂商还是对各自的粉丝,都是一个皆大欢喜的结局,称其为世纪联手也不为过。此后,Google与微软不再止于暗送秋波,而是开始了一系列秀恩爱的动作。无论如何,对于开发者来说,这都是一个好消息。

软粉们可能还记得在6.1的微软开发者大会上,微软曾公开提及Angular 2。事实上,TypeScript目前虽然已经相当完备,但应用度仍然不高。就个人感觉来说,Angular 2将是TypeScript的一个杀手级应用。TypeScript如果当选TIOBE年度语言,Angular 2的推出功不可没。

为什么我要特意插播这段儿故事呢?那是因为我认为一个产品的未来最终取决于开发组的未来,而不是相反。软件的本质是人!一个心态开放、讲究合作、勇于打破陈规陋习的开发组,才是框架给人信心的根本保障。

后端程序员的终南捷径

前端程序员自不必说,因为有很多人就是靠Angular进入专业前端领域的。下面这段话主要写给后端程序员。

不管是想学习新技术还是出于工作需要,都有很多后端程序员对前端技术跃跃欲试。但面对前端让人眼花缭乱的大量候选技术以及未知的概念,他们往往感觉感觉无所适从。如果你是其中的一员,那么Angular可以“治愈”你的选择恐惧症。

正如前面所说,Angular是一个“ALL-IN-ONE”的框架,这就意味着你只要掌握了Angular就可以完成大量的前端工作了。

这首先得益于它对各种技术的封装,让你不用关心它的实现细节。Angular隔离了浏览器的细节,大多数工作你甚至都不需要知道DOM等前端知识就可以完成。

其次,Angular选择了TypeScript作为主语言。如果你是个C#程序员,一定会对它的语法感觉似曾相识。没错,TypeScript和C#、Delphi有同一个“爹” —— 传奇人物Anders Hejlsberg。即使是Java程序员,也不会觉得陌生:强类型、类、接口、注解等等,无一不是后端程序员们耳熟能详的概念。说到底,并没有什么前端语言和后端语言,在语言领域耕耘多年的Anders太熟悉优秀语言的共性了,他所做的取舍值得你信赖。

再次,Angular在前端实现了服务与依赖注入的概念。随着前端需求的进一步膨胀,即使只算逻辑代码,其需求复杂度也即将甚至已经赶上了大部分后端程序。所以,后端遇到过的挑战前端也迟早会遇到,这正是后端程序员弯道超车的好机会,而依赖注入正是后端程序员的看家本领。

最后,Angular对团队作战提供了良好的支持,比如模板与代码的分离、样式表的局部化、组件化的设计、服务与依赖注入体系等。这些特性让后端程序员可以先专注于跟后端代码最像的模型和交互逻辑部分,而把诸如样式、模板等自己不擅长的部分交给队友。

转载于:https://www.cnblogs.com/airen123/p/9051086.html

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 社区选择的10个最佳Angular技巧

    angular技巧Waterplea and I took an interesting challenge this June: we wrote an Angular tip every day on Twitter. It was warmly welcomed by the Angular community.今年6月, 我和Waterplea遇到了一个有趣的挑战:我们每天在Twitter上写一个Angular技巧。 A…...

    2024/4/28 4:34:37
  2. [乐意黎原创] chrome 关闭自动更新

    一不小心,把chrome更新成了37, chrome 37不支持模态窗口【 window.showModalDialog() 】,折腾死人了。 实在抵不住,只好降级成36.0.1985.143m至 2014-09-04日为止的chrome 版本: http://pan.baidu.com/s/1ntA1BTZ下载了Standalone 的chrome 36来安装,安装好后, 打开各个…...

    2024/4/20 19:48:27
  3. Angular回顾 - 基础知识概况

    一.Angular概况 1.什么是Angular Angular是谷歌开源的JavaScript库,采用TypeScript进行开发 2.Angular掌握技术 TypeScript的基本使用ES6语法 二.TypeScript 1.什么是TypeScript TypeScript是JavaScript的超集,JavaScript的内容和ES6都可以在Type…...

    2024/4/20 19:48:27
  4. Angular6 路由及子路由配置

    第一步:在module.ts里配置 先引入import { Routes, RouterModule, Router } from angular/router; 然后创建一个路由,path是路径 可以自定义在页面上调用用的,component是我们自己写的组件。 module.ts里面的配置: 子路由就…...

    2024/4/20 8:36:25
  5. angular4路由跳转-代码跳转

    路由跳转分为两种:代码跳转和指令跳转,个人感觉代码跳转比较简单一些,也相对的容易操作一些。首先呢,需要写一个事件~我就把他写在了一个button里边的单击事件中: 当然了button按钮也就是写在HTML中了,然后…...

    2024/4/20 19:48:29
  6. Angular——路由跳转

    前言 在Angular的学习使用过程中,路由跳转支撑了项目的全过程,所以路由跳转是一个很常见也是一个很容易忽略的点,所以现在咱们一起来了解一下吧。 叙述 Web应用中的页面跳转,指的是应用响应某个事件,从一个页面跳转到…...

    2024/4/21 4:28:31
  7. Angular中ControlValueAccessor的用法实例

    以下代码是使用Angular中的ControlValueAccessor去重新定义input的输入值。 最终效果&#xff1a; 将数字格式化成金额表示&#xff0c;[1234567] > [1,234,567] html代码&#xff1a; <input type"text" appMoneyInput [formControl]"money">…...

    2024/4/21 4:28:30
  8. ng 命令解析之webWorker(实现多线程)

    ng g webWorker webWorkerName 用于创建一个Worker 线程,不知道Worker的同学可以看看阮一峰老师的解释 先创建一个webWorker /// <reference lib"webworker" /> //监听事件 addEventListener(message, ({ data }) > {const response worker response to…...

    2024/4/21 4:28:29
  9. Angular4 实现多图片上传预览

    之前写了一个angular1x的实现&#xff0c;但手痒痒于是就搞了一下angular4的实现方式&#xff0c;不BB直接上代码了。样式里用到了fontawesome的图标 首先我们直接看如何调用 别忘了我们还要在父元素的component.ts上创建previewImgFile这个变量&#xff0c;否则就会报错&…...

    2024/4/21 4:28:29
  10. angular实现列表按钮的权限控制(ng-if)

    1、angular实现权限控制。 区别于传统方式&#xff1a;例如ajax获取session,保存在客户端&#xff08;ps不推荐&#xff1a;1.安全性 2.因为session在用户离开页面仍可以保存&#xff0c;会增大服务器的压力 &#xff09; 2、前提条件&#xff08;个人亲身体会&#xff09; 1…...

    2024/4/21 4:28:28
  11. angualrjs中的多个样式显示怎么解决?-ng-class多个条件

    第一种&#xff1a;ng-class多个条件 <span ng-repeat"dictionaryItem in dataShowList" ng-class"setStyle(judgetype)" ng-if"dictionaryItem.codejudgetype">{{dictionaryItem.name}}</span> js中 $scope.setStyle function (c…...

    2024/4/21 4:28:26
  12. angular ng2-file-upload 上传多视频、多图片,并本地预览;后端C#接收

    做好的效果展示&#xff1a; 1、 安装ng2-file-upload npm install ng2-file-upload --save2、集成到module中 在appmodule中&#xff1a; import { FileUploadModule } from ng2-file-upload;NgModule({imports: [BrowserModule,FormsModule,HttpModule,FileUploadModule, …...

    2024/4/21 14:05:53
  13. 什么是Asp.net core web

    1&#xff1a;什么是.Net Core ASP.NET Core 是一个开源的、跨平台的 .NET 实现。而 .NET Framework 是基于 Windows 的 .NET 实现&#xff0c;Mono 是 .NET Framework 的一个开源、跨平台的实现。   ASP.NET Core分为两大块&#xff1a;1&#xff09;.NET Core Framework&a…...

    2024/4/21 4:28:25
  14. 使用ASP.NET Core MVC的Vue.Js

    目录 内容主题 VUE.JS简介 DOT NET Core 下载和安装Visual Studio 2017 ASP.NET Core Spa模板 基础知识和设置 Node.js 节点包管理&#xff08;NPM&#xff09; Bower, Yarn Web-pack,Grunt或Gulp Gulp/Grunt Web-Pack与Gulp / Grunt Type-Script Babel 安装VUE…...

    2024/4/21 4:28:24
  15. 如何在ASP.NET Core中使用SignalR构建与Angular通信的实时通信应用程序

    图片假设我们要创建一个监视Web应用程序&#xff0c;该应用程序为用户提供了一个能够显示一系列信息的仪表板&#xff0c;这些信息会随着时间的推移而更新。第一种方法是在定义的时间间隔&#xff08;轮询&#xff09;定期调用API 以更新仪表板上的数据。无论如何&#xff0c;还…...

    2024/4/24 23:13:52
  16. asp.net core 学习

    背景 最新版本的 ASP.NET 叫做 ASP.NET Core (也被称为 ASP.NET 5) 它颠覆了过去的 ASP.NET。 什么是 ASP.NET Core? ASP.NET Core 1.0 是一个开源跨平台的开发框架&#xff0c;用于构建基于云的现代 Web 应用 。它是从底层开始重新构建来提供性能优良的Web应用开发框架&…...

    2024/4/21 4:28:22
  17. ASP.NET ZERO 学习 —— (11) 应用开发Demo之创建应用服务

    创建Person的应用服务 应用服务是用来被客户端&#xff08;表现层&#xff09;调用执行逻辑操作。 应用服务是放在.Application项目中。我们创建第一应用服务用来从服务端获取Person信息。 首先在Application项目中创建一个叫Person的文件夹&#xff0c;再在Person文件夹下创…...

    2024/4/21 4:28:21
  18. ASP.Net Core应用部署到Linux服务器

    ASP.Net Core应用部署到Linux服务器 注&#xff1a;本文测试基于Deepin Linux系统 1、发布 将项目文件发布到windows系统的某个目录底下&#xff0c;详细操作可参考ASP.Net Core程序发布&#xff1b; 2、上传服务器 将发布好的项目文件打包上传到Linux服务器&#xff0c;可…...

    2024/4/27 12:31:53
  19. angular +asp.net 时间戳问题

    在构建程式的时候发现前台时间戳转日期比较麻烦&#xff0c;所以改写在后台转换&#xff0c;因为前后台都是我写就是这样任性 前台angular 日期转时间戳 var date (new Date().getTime()) 后台时间戳转日期 DateTime dtStart TimeZone.CurrentTimeZone.ToLocalTime(new Dat…...

    2024/4/20 6:58:00
  20. asp.net core 2.2 +SignalR开发实时聊天

    1&#xff1a;前期准备可以参考官网下载对应sdk及js&#xff0c;地址如下&#xff1a; https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/signalr?viewaspnetcore-2.2&tabsvisual-studio 2&#xff1a;参考官网自己写一遍代码&#xff0c;并且加上注释&#xff0…...

    2024/4/21 4:28:17

最新文章

  1. 艾宾浩斯记忆曲线记忆法,艾宾浩斯遗忘曲线计划表

    一、资料前言 本套遗忘曲线复习计划表&#xff0c;大小59.22M&#xff0c;1个压缩文件。 二、资料目录 00 艾宾浩斯视频介绍 01 艾宾浩斯表格&#xff08;智能电子版&#xff09; 02 艾宾浩斯表格&#xff08;可编辑可打印&#xff09; 03 日周月计划表 04 一些好用的表…...

    2024/4/28 13:21:32
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. Android Studio学习15——多页面情况下再看Activity生命周期

    按返回键退出APP时&#xff1a; 走正常页面的退出流程&#xff1a;onPause–>onStop–>onDestroy(会Destroy,因为它从任务栈中退出了) 再点击图标回来时&#xff1a; 走正常页面的创建流程&#xff1a;onCreate–>onStart–>onResume 按Home键退出App时&#xff1a…...

    2024/4/26 8:58:11
  4. 腾讯云轻量服务器流量不够用了会怎么样?

    腾讯云轻量应用服务器是限制月流量的&#xff0c;如果当月流量不够用了&#xff0c;流量超额了怎么办&#xff1f;流量超额后&#xff0c;需要另外支付流量费&#xff0c;如果你的腾讯云账号余额&#xff0c;就会自动扣除对应的流量费&#xff0c;如果余额不足&#xff0c;轻量…...

    2024/4/23 6:15:09
  5. 贪心算法|376.摆动序列

    力扣题目链接 class Solution { public:int wiggleMaxLength(vector<int>& nums) {if (nums.size() < 1) return nums.size();int curDiff 0;int preDiff 0;int result 1;for (int i 0; i < nums.size() - 1; i) {curDiff nums[i 1] - nums[i];if ((pre…...

    2024/4/27 10:05:45
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/26 18:09:39
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/28 3:28:32
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/26 23:05:52
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/27 4:00:35
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/27 9:01:45
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/28 1:22:35
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/26 19:46:12
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/27 11:43:08
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/27 8:32:30
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57