但是原作者的代码需要在服务器上运行,成本较高。后来又有一位大佬找到了不用服务器也可以运行的的办法。而后者的方法是建立在前者的基础上的,因此我将他们的教程融合了起来,并对其中的个别词语进行了微调。...,notebook,site等 创建系api: 自动发送邮件,上传文件,修改excel等 步骤 准备工具: E5开发者账号(非个人/私人账号) 管理员号 ———— 必选 子号 ———— 可选 (不清楚微软是否会统计子号的活跃度...,应用名字随意填写,然后选择任何组织目录(任何 Azure AD 目录 – 多租户)中的帐户,重定向url选web,填入http://localhost:53682/,最后点注册即可 复制应用程序(客户端...secret页面直接粘贴进去,不用做任何修改,只需保证前后没有空格空行 MS_TOKEN 微软密钥(第二步获得的refresh_token) CLIENT_ID 应用程序ID (第一步获得) CLIENT_SECRET...流程 -> build -> run api 就能看到每次的运行日志 (必需点进去build里面的run api.XXX看下,api有没有调用到位,操作有没有成功,有没有出错) image 再点两次星星
本来今天要讲讲 API 系统的配置和 CLI 等子系统,但是很多同学对我上一篇文章 再谈 API 的撰写 - 架构 中所述的「编译时」和「运行时」有不少困惑。这篇文章先讲讲这两个概念。...这些副产品带啦的好处是显而易见的:我们不用为了一些特定的目的而做一些额外的事情。 回到我们这几天说的 API 系统。我提到了这样的一个接口: ?...action:API 具体做些什么事情。 flags:API 有哪些属性(需不需要验证,支不支持某些特定的操作等)。...每当用户撰写一个 route 的时候,我们实际上在往一个 list 里 push 这个 route 的数据。...很多同学看到这里会想,有没有搞错,我还以为是什么高深的东西呢,这代码我也会写啊。的确,这里没有任何高深的东西。
这是因为 Discourse 的数据调用使用的是 API,在你的页面载入后,如果继续访问网站,那么网站使用的是 API 调用程序。 这个调用在 Google Analytics 中没有办法被跟踪到。...相对准确的记录就是 Discourse 自带的内部页面记录,这个因为能够记录每次 API 和后台的调用情况,更能够准确反映网站的使用情况。 我们说的就是在后台上使用的这个数据。...有没有解决办法 上午考古了不少内容,貌似这个问题从 Discourse 的最早期版本就已经存在了。 有人说就这个问题已经存在了超过 4 年多了都没有办法解决。...这个主要还是和 Discourse 的数据存储和调用机制有关,很难通过跟踪页面的实际载入情况来获得网站的真实页面载入数量。...可以使用其他的分析工具,例如 DNS 上面的用户 DNS 解析数量,独立用户 IP 访问数量来大致知道网站访问用户的数量。 至于具体的 API 和数据调用情况,也只能依赖内部的报表了。
traceur在线代码转译页面输入代码来查看效果。...JS本身就是面向对象的,ES6中提供的类实际上只是JS原型模式的包装。现在提供原生的class支持后,对象的创建,继承更加直观了,并且父类方法的调用,实例化,静态方法和构造函数等概念都更加形象化。...具体表现在: 可以在对象字面量里面定义原型 定义方法可以不用function关键字 直接调用父类方法 这样一来,对象字面量与前面提到的类概念更加吻合,在编写面向对象的JavaScript时更加轻松方便了...比如若一个函数要返回多个值,常规的做法是返回一个对象,将每个值做为这个对象的属性返回。但在ES6中,利用解构这一特性,可以直接返回一个数组,然后数组中的值会自动被解析到对应接收该值的变量中。...一下子让我们对一个对象有了很强的追踪能力,同时在数据绑定方面也很有用处。
通常在以往的页面渲染中,无论是服务端渲染还是客户端渲染都无法逃过数据与页面交互造成用户体验迟钝的关系。...往往大部分页面中真正具有意义的页面元素都需要等待数据加载完成后重新渲染才可以直接展示给用户,所以优化发起数据请求的时机对于用户看到页面真正有意义的内容来说是必不可少的方式。...Client Side Render 首先,在客户端渲染中由于我们的页面是由一个一个静态资源构成并不存在服务端的概念。...显而易见,在进行数据请求的过程中用户访问我们的页面只能得到一片白。这段时间是非常糟糕的用户体验。 那么,这部分的用户体验我们当真就没有办法了吗? 在 React 18 之前的确是没有好的办法。...要么就是给用户在客户端渲染时展示 Loading 将数据仍然和渲染进行挂载,显然这并不是一个两全的办法。更像是一种取舍,在用户白屏和 Loading 态之间做选择。
一开始我以为需要挨个匹配页面中对应的部分,但我查看源码的时候发现知乎把用户数据集集中放到了源码的一个地方,那就是 id="data" 的 div 的 data-state 属性的值中,看下图: ?...从上图我们可以发现,date-state 的属性值中藏有用户的信息,比如我们可以依次找到用户的教育经历(educations)、简介(headline)、参与的 Live 数量(participatedLiveCount...= BS(html,'html.parser') # 获得该用户藏在主页面中的json格式数据集 data = s.find('div',attrs={'id':'data'})['data-state...和获取个人信息同样的方法,我们可以在该页面源码的 date-state 属性值中找到关注他的用户(一部分): ?...微软的工作貌似很闲,看轮子哥(vczh)整天刷知乎…… 我们再来加上这几位用户在知乎的获得的赞数,看看“回答问题的数量”和“获得的赞数”之间有没有什么联系: ?
而是框架在javascript层面上,调用自身实现的render方法,生成一个普通的对象,这个对象保存了真实dom的属性,也就是常说的虚拟dom。本文会用组件渲染和页面渲染对两者做区分。...在老的架构中,节点以树的形式被组织起来:每个节点上有多个指针指向子节点。...假设遍历发生了中断,虽然可以保留当下进行中节点的索引,下次继续时,我们的确可以继续遍历该节点下面的所有子节点,但是没有办法找到其父节点——因为每个节点只有其子节点的指向。...为了方便理解,我把刷新时的状态做了一张图: 上面是使用旧的react时,获得每一帧的时间点,下面是使用fiber架构时,获得每一帧的时间点,因为组件渲染被分片,完成一帧更新的时间点反而被推后了,我们把一些时间片去处理用户响应了...我把该项目的代码仓库 down下来,看了一下它的动画实现:组件动画效果并不是直接修改width获得的,而是使用的transform:scale属性搭配3D变换。
这些模块关联到 YouTube、Assistant、Books、视频搜索、链接、网页文档、爬取架构、一个内部的日历系统,以及 People API 的组件。...这表示所有的代码都汇集于一处,任何网络中的机器都可能成为谷歌系统的一部分。 泄漏的文件详细描述了 API 的各个模块,并把它们按照摘要、类型、函数和属性进行分类。...我们主要看到的是各种协议缓冲区(或 protobufs)的属性定义,这些定义通过排名系统进行访问,用以生成 SERPs(搜索引擎结果页面,即谷歌在用户查询后展示的结果)。...长时间点击不仅仅是搜索成功的指标,尽管文档中没有提到“逗留时间”这一功能,长时间点击实际上与之测量的是同一个概念,这与 Google 的声明形成了对比。...它主要通过用户行为和外部链接相关的分布式信号来构建一个评分修正器,这种修正器可以应用在整个域、子域或子目录级别。 “系统从独立链接和参考查询的数量中,为资源组生成一个修正因子(步骤 306)。
traceur在线代码转译页面输入代码来查看效果。...JS本身就是面向对象的,ES6中提供的类实际上只是JS原型模式的包装。现在提供原生的class支持后,对象的创建,继承更加直观了,并且父类方法的调用,实例化,静态方法和构造函数等概念都更加形象化。...具体表现在: 可以在对象字面量里面定义原型 定义方法可以不用function关键字 直接调用父类方法 这样一来,对象字面量与前面提到的类概念更加吻合,在编写面向对象的JavaScript时更加轻松方便了...比如若一个函数要返回多个值,常规的做法是返回一个对象,将每个值做为这个对象的属性返回。但在ES6中,利用解构这一特性,可以直接返回一个数组,然后数组中的值会自动被解析到对应接收该值的变量中。...一下子让我们对一个对象有了很强的追踪能力,同时在数据绑定方面也很有用处。 以下例子借用自这里。
之前讲了RESTful API的统一资源接口这个约束,里面提到了资源是通过URI来进行识别的,每个资源都有自己的URI。...需求:我们看这样一个需求的例子:“我想获得系统里所有的用户”。 常见错误做法:你可能把API的URI设计成这样:api/getusers。这样的设计是不好的,因为里面出现了一个动词get。...人类能读懂 还是上面那个需求:“我想获得系统里所有的用户”。 我们可以把uri设计成 api/u 或者 api/ur。...需求:“我想获取系统里所有用户的数量”。 妥协的做法:我们确实可以先通过 GET api/users来获取系统里所有的用户信息,然后再算出用户的数量,但是这样做也太浪费资源并且效率也太低了。...但是如果你的Controller需要同时支持MVC Web页面和Web API,那么这时候就应该继承于Controller这个类。
、people资源、用户标识(邮箱)、收件箱,而且很容易获知——这是jdoe的收件箱的API。...想要为最终用户公开合适消息的服务必须通过annotation注释或其他自定义属性来公开。服务不应该为最终用户本地化“message”,因为这样对于开发者变得非常不友好并且难以处理。...例如,用户集合可能包含多个地址的用户资源: GET https://api.contoso.com/v1.0/people/123/addresses { "value": [ { "street...可以通过逗号分隔的属性名称列表以及可选方向限定符来指定子排序。 例如: GET https://api.contoso.com/v1.0/people?...在常规表示中返回添加/修改的项,允许客户端使用基于“id”字段的标准合并概念将它们合并到现有的“缓存”中。 从定义的集合中删除的条目必须包含在响应中。
“原型对象”是核心概念。原型对象是新对象的模板,它将自身的属性共享给新对象。一个对象不但可以享有自己创建时和运行时定义的属性,而且可以享有原型对象的属性。 ...初始化内部属性 :这一步骤不是必要的。通俗点说,就是,对”复制品”不满意,我们可以”再加工”,使之获得不同于”模板”的”个性”。 所以在JavaScript的世界里,万物皆对象这个概念从一而终。...JavaScript里面没有类这个概念,es6中class虽然很像类,但实际上只是es5上语法糖而已 function People(name){ //属性 this.name = name ...并将原型 __proto__ 指向了父类的原型对象 Woman.prototype.name = 'haixia';//子原型的属性 Woman.prototype.name = ()=>{};//子原型方法...解释原型重定向: Woman.prototype= new People(); 自己开辟的堆内存中没有constructor属性,导致类的原型构造函数缺失(解决:自己手动在堆内存中增加constructor
行内元素和块元素的区别 概念 块元素:默认独占一行,页面中垂直排列,宽高和内外边距可控 行内元素:默认同行排列,宽高由内容决定 行内元素和块元素举例 块元素:、、、...对边界塌陷的理解 边界塌陷的概念: 父元素包裹子元素,给子元素设置margin-top,只想让子元素距离父元素边框有一段距离,而却出现了父元素的顶端距离body这个边框出现了位移 边界塌陷的解决办法 给父元素加边框...计算BFC的高度时,浮动子元素也参与计算 BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面元素,反之亦然 对语义化标签的理解 语义化标签的概念 具有含义的标签,它可以清晰的展示标签的作用和用途...语义化标签的优势 语义化标签具有可读性,使得文档结构清晰 浏览器便于读取,有利于SEO优化 展现在页面中时,用户体验好 便于团队开发和维护 H5的语义化标签有:header,nav,footer,section...,会影响性能,在IE中,可能造成内存泄漏,解决办法:使用完变量,再赋值给该变量null。
影响代码监控数据的因素有以下几种: 浏览器渲染机制; 浏览器对API的实现程度,比如performance API; 工具监控不用将统计代码部署到页面中,一般依托于虚拟机。...2.1 常规统计方案 使用注入代码监控的方式统计以上指标,在没有一些浏览器新API(如下文将提到的timing API)的支持下,得到的数据大都是估值,虽然不准确,但也有一定的参考价值。...这种方案比较适合首屏元素数量固定的页面,比如移动端首屏不论屏幕大小都展示相同数量的内容,响应式得改变内容的字体、尺寸等。...domContentLoadedEventEnd:代表DOMContentLoaded事件完成的时间节点,此刻用户可以对页面进行操作,也就是jQuery中的domready时间; domComplete...但是即使script标签可以请求到异域的js文件,此文件中的信息也并不能暴露到当前域内,这也是浏览器的安全措施所致。 那么有没有办法获取到异域资源的异常信息呢?
(/hystrix) scraper - 如何使用 scrape-it 从网站上抓取数据的示例 (/scraper) 使用 swagger UI 以获得示例 API 的完整列表 metrics - 为所有...) 在开发过程中添加了用于遥测的 Node 仪表板视图 增加了 NodeJS 集群模式(负载均衡 worker) 启动服务器时,它会根据 CPU 数量添加 worker Master cluster setting...)来获取有效用户的 jwt 令牌。...“Authorization” header 中必须使用以下语法:Bearer xxxxxx.yyyyyyy.zzzzzz 使用 swagger ui 测试 点击 “Authorize” 按钮,设置上面提到的...Query ( { examplesWithAuth { id name } } - 这是对 JWT GraphQL APIs 部分中提到的示例查询的一种变体。
二、Vue 概述 1、what 是一个渐进式的构建用户界面的 js 框架 2、where 小到的简单的表单处理,大到复杂的数据操作比较频繁的单页面应用程序 3、why 方便阅读的中文文档 容易上手 (学习曲线比较缓和...触发 子组件内部: this.$emit(‘customEvent’,100); 3、ref(reference 引用/参考 外号) 帮助在父组件中 得到子组件中的数据、方法。 1....1、SPA 的基本概念和工作原理 SPA:single page application 单一页面应用程序,只有一个完整的页面;它在加载页面时,不会加载整个页面,而是只更新某个指定的容器中内容,比如 Gmail...工作原理: 解析地址栏:完整的页面地址、路由地址 根据路由地址从路由词典中找到真正的要加载的页面 发起 ajax 请求:请求要加载的页面 像指定的容器中插入加载来的页面 2、路由模块的基本使用 专业术语...我们选择了 IT 行业,大家都希望能够在自己所处的行业以及所处的领域中有所建树。而如果要实现这个目标,在成长的过程中,不可避免的会踩坑、走弯路,那有没有办法可以少踩一些坑、少走一些弯路呢?
可以通过以下方式来从维基百科中获取所需的内容:通过文章页面(Article Page)抽取各种实体;通过重定向页面(Redirect Page)获得这些实体的同义词(又称Synonym);通过去歧义页面...(Disambiguation Page)和内链锚文本(Internal Link Anchor Text)获得它们的同音异义词(又称Homonym);通过概念页面(Category Page)获得各种概念以及其上下位...选择查询作为抽取目标的意义在于其反映了用户最新最广泛的需求,从中能挖掘出用户感兴趣的实体以及实体对应的属性。而选择页面的标题作为抽取目标的意义在于标题往往是对整个页面的摘要,包含最重要的信息。...搜索引擎通过高效的图搜索,在知识图谱中查找连接这些实体及属性的子图并转换为相应的图查询(如SPARQL )。这些翻译过的图查询被进一步提交给图数据库进行回答返回相应的答案。...这就进入了所谓的“失联”状态,使得催收人员也无从下手。那接下来的问题是,在失联的情况下,我们有没有办法去挖掘跟借款人有关系的新的联系人? 而且这部分人群并没有以关联联系人的身份出现在我们的知识图谱里。
wnd_root:使用者者ID,通常为root window,其子窗口自动获得该surface的使用权。 max_z_order:该surface拥有的图层数量 draw_pixel 渲染一个像素点。...get_wnd_ptr 获得指定窗口ID的窗口指针。id:窗口ID set_attr 设置窗口属性,包括:普通、失效、可见。...attr:属性值 is_focus_wnd 判断自己(this)是否可以获得焦点 set_wnd_pos 设置自己(this)相对于父窗口的窗口位置。...focus_child:获得焦点的子窗口 add_child_2_tail 把一个子窗口添加到自己(this)的子窗口链表的尾部。...child:被添加的子窗口 get_last_child 获得自己(this)子窗口链表尾部的子窗口指针。 unlink_child 将自己(this)的子窗口从子窗口链表中脱离出来。
还有一种锁的变体,允许多个线程同时访问单个资源,不过仍将访问限制为只读。我强烈建议你去查阅一些文献,理解操作系统中锁的概念。...Tab 从 example.com[1] 获得的锁对 Tab 从 example.org[2] 获得的锁没有影响,因为它们不同源。 浏览器中单个用户配置被视为独立的用户代理,视为在作用域之外。...打开在同一个用户代理的同源页面和 Workers(agents)共享锁管理器,即使他们不在相关的浏览上下文中。 假设如果 脚本 A 属于 锁管理器 A,脚本 B 属于 锁管理器 B。...如果用户使用其中一个打开的 Tab 购买了一定数量的股票,则两个 Tab 必须保持同步,以避免出现客户错误地再次进行交易的情况。一个简单的选择是一次只允许应用程序的一个 Tab 或窗口。...这些或多或少是由于锁本身的概念,而不是由于 API 中的任何错误。 死锁 死锁的概念与并发关联。当进程由于每个部分都在因请求无法满足而等待,导致的无法继续执行时,就会发生死锁。
**林子涵**:比如在用户管理模块中,前端通过Axios发送GET请求获取用户列表,后端通过Spring Data JPA查询数据库,返回JSON格式的数据,前端再将其渲染成表格。...**面试官**:那你有没有在项目中使用过JPA的延迟加载? **林子涵**:有,比如在用户实体中,关联的订单信息可以使用`@LazyToOne`进行延迟加载,避免一次性加载大量数据,提高性能。...客户端在登录后获得JWT,后续请求中携带该令牌,服务器验证其有效性后授权访问资源。 **面试官**:非常好,那你知道如何防止JWT被篡改吗?...**林子涵**:有,我们使用Kafka处理异步任务,比如订单创建后的通知、库存更新等。 **面试官**:那你知道Kafka的基本概念吗?...,使用`axios`发起GET请求获取用户列表,然后通过`v-for`指令遍历渲染到页面上。