What does “–” (double-dash) mean?
比较合理的解释是 – 可以将后面的字符标记成字符串,而不是 -
例如:
1 | npm run build -- -v |
Angular 路由跳转
1 | <a routerLink="/heroes/{{id}}">点击查看文章详情</a> |
1 | //110 是 rest 参数 |
Stencil
Stencil - 生成 Web Components 的框架
也是一种框架,语言类似于 Angular+React,用它写的组件可以编译成 Web Component 在任何框架运行。
SOA 、ESB、微服务
SOA
Service Oriented Architecture,一种指导理念
微服务
微服务是一种通过多个小型服务组合来构建单个应用的架构风格,这些服务围绕业务能力而非特定的技术标准来构建。各个服务可以采用不同的编程语言,不同的数据存储技术,运行在不同的进程之中。服务采取轻量级的通信机制和自动化的部署机制实现通信与运维。
ESB
一种实现 SOA 实现的方案/框架
资料
什么是康威定律
organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations
设计系統的架构受制于产生这些设计的组织的沟通结构。
为什么不用 token 代替 cookie 防止 xss 攻击
cookie 可以让前端不需要关注登录逻辑
前后端不分离的话,后端代码不方便操作 localStorage 等浏览器储存库存取 token
怎么扣微信阅读的 API
1 | // web 上获取 API |
[generate_204](web - I regularly see gstatic.com in the status bar, what is that domain? - Super User)
谷歌储存静态资源的地址,分离静态资源减少带宽的占用,为终端用户提升网络性能。
好处:
浏览器一般会限制与单个服务器的建连数,一般是 2 个,虽然可配置但是一般用户不去关心,所以如果静态资源分离到不同域名(不同服务器),可以提交建连数
通过禁用 cookies 和其他 HTTP 请求头部来减少网络传输占据的带宽
分离动静态资源可以更方便的将资源托管到 CDN,只托管静态资源。
微服务和微前端
微服务
后端将应用拆分成一个能独立运行的服务,通过 RPC(例如 HTTP)进行通信。
好处:
技术栈无关
可以独立运行、独立部署
代码拆分,减少复杂度,只关注自己负责部分的代码
微前端
微服务在前端应用的概念,前端将应用拆分成多个微小应用,可以在同一个运行环境下运行,通过自定义的通信手段进行服务间的通信。
好处和微服务一致。
依赖倒置/依赖注入原则
把原本的高层建筑依赖底层建筑“倒置”过来,变成底层建筑依赖高层建筑。高层建筑决定需要什么,底层去实现这样的需求,但是高层并不用管底层是怎么实现的。这样就不会出现前面的“牵一发动全身”的情况。
所谓依赖注入,就是把底层类作为参数传入上层类,实现上层类对下层类的“控制”。
https://www.zhihu.com/question/23277575
单元测试的意义
测试驱动开发
保证代码质量
重构的定海神针
使用示例
关注质量的意识
如何删除所有的Git Tag
1 | git tag -d $(git tag -l) |
什么是 Git LFS?
Git 是分布式 版本控制系统,这意味着在克隆过程中会将仓库的整个历史记录传输到客户端。对于包涵大文件(尤其是经常被修改的大文件)的项目,初始克隆需要大量时间,因为客户端会下载每个文件的每个版本。
Git LFS(Large File Storage)是由 Atlassian, GitHub 以及其他开源贡献者开发的 Git 扩展,它通过延迟地(lazily)下载大文件的相关版本来减少大文件在仓库中的影响,具体来说,大文件是在 checkout 的过程中下载的,而不是 clone 或 fetch 过程中下载的(这意味着你在后台定时 fetch 远端仓库内容到本地时,并不会下载大文件内容,而是在你 checkout 到工作区的时候才会真正去下载大文件的内容)。
Pass、Sass、IaaS 区别
SaaS 是软件的开发、管理、部署都交给第三方,不需要关心技术问题,可以拿来即用。普通用户接触到的互联网服务,几乎都是 SaaS,下面是一些例子。
PaaS 提供软件部署平台(runtime),抽象掉了硬件和操作系统细节,可以无缝地扩展(scaling)。开发者只需要关注自己的业务逻辑,不需要关注底层。**下面这些都属于 PaaS。
IaaS 是云服务的最底层,主要提供一些基础资源。它与 PaaS 的区别是,用户需要自己控制底层,实现基础设施的使用逻辑。下面这些都属于 IaaS。
ISV 和 SI 是什么?
ISV 是 Independent Software Vendors 的英文缩写,意为“独立软件开发商”,特指专门从事软件的开发、生产、销售和服务的企业,如微软(Microsoft)、甲骨文(Oracle)等。
SI 系统集成商(英文System Integrator),是指具备系统资质,能对行业用户实施系统集成的企业。系统集成包括
设备系统集成(硬件系统集成商、弱电集成商)
智能建筑系统集成商
计算机网络系统集成商
安防系统集成商(安防工程商)
应用系统集成(行业信息化方案解决商)
Salesforce.com has two partner programs. Select your primary program of interest.
- The Independent Software Vendor (ISV) program is for partners who want to build and sell apps.
- The System Integrator (SI) program is for partners who plan to deliver services related to salesforce.com.
还有另外的说法,ISV 是自产自销的,SI 是协助售卖 salesforce.com 上的应用