slate

语雀的技术架构演进之路

拥有回忆 提交于 2020-08-17 17:59:41
作者 | 不四 来源 | 阿里巴巴中间件(ID:Aliware_2018) 每个技术人心中或多或少都有一个「产品梦」, 好的技术需要搭配好的产品 ,才能让用户爱不释手,尤其是做一款知识服务型产品。 本文从技术架构的视角,回顾了语雀的原型、内部服务和对外商业化的全过程,并对函数计算在语雀架构演进过程中所扮演的角色做了详细的介绍。 语雀是一个专业的云端知识库,用于团队的文档协作。现在已是阿里员工进行文档编写和知识沉淀的标配,并于 2018 年开始对外提供服务。 原型阶段 | 回到故事的开始。 2016 年,语雀孵化自蚂蚁科技,当时,蚂蚁金融云需要一个工具来承载它的文档,负责的技术同学利用业余时间,搭建了这个文档工具。项目的初期,没有任何人员和资源支持,同时也是为了快速验证原型,技术选型上选择了最低成本的方案。 底层服务完全基于体验技术部内部提供的 BaaS 服务和容器托管平台: Object 服务:一个类 MongoDB 的数据存储服务; File 服务:阿里云 OSS 的基础上封装的一个文件存储服务; DockerLab:一个容器托管平台; 这些服务和平台都是基于 Node.js 实现的,专门给内部创新型应用使用,也正是由于有这些降低创新成本的内部服务,才给工程师们提供了更好的创新环境。 语雀的应用层服务端,自然而然的选用了蚂蚁体验技术部开源的 Node.js Web 框架 Egg

Integrating Swagger UI to my a slate generated website

好久不见. 提交于 2020-07-06 04:58:20
问题 I want to integrate swagger UI into my ruby based slate generated API docs , for that I looked up here and did the directed changes to the layout.erb file adding the required head and body sections but upon building the webpage nothing shows up , these are the modified head and body section. <head> <meta charset="utf-8"> <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <title><%= current_page

Integrating Swagger UI to my a slate generated website

随声附和 提交于 2020-07-06 04:57:54
问题 I want to integrate swagger UI into my ruby based slate generated API docs , for that I looked up here and did the directed changes to the layout.erb file adding the required head and body sections but upon building the webpage nothing shows up , these are the modified head and body section. <head> <meta charset="utf-8"> <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <title><%= current_page

Integrating Swagger UI to my a slate generated website

妖精的绣舞 提交于 2020-07-06 04:56:32
问题 I want to integrate swagger UI into my ruby based slate generated API docs , for that I looked up here and did the directed changes to the layout.erb file adding the required head and body sections but upon building the webpage nothing shows up , these are the modified head and body section. <head> <meta charset="utf-8"> <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <title><%= current_page

Integrating Swagger UI to my a slate generated website

谁说胖子不能爱 提交于 2020-07-06 04:56:16
问题 I want to integrate swagger UI into my ruby based slate generated API docs , for that I looked up here and did the directed changes to the layout.erb file adding the required head and body sections but upon building the webpage nothing shows up , these are the modified head and body section. <head> <meta charset="utf-8"> <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <title><%= current_page

Anyway to multithread pdf mining?

只愿长相守 提交于 2020-05-27 12:39:10
问题 I have a code which is looking for a particular string sequence throughout a bunch of pdfs. The problems is that this process is extremely slow. (Sometimes I get pdf's with over 50000 pages) Is there a way to do multi threading? Unfortunately even though I searched, I couldn't make heads or tails about the threading codes import os import shutil as sh f = 'C:/Users/akhan37/Desktop/learning profiles/unzipped/unzipped_files' import slate3k as slate idee = "123456789" os.chdir(f) for file in os

诺奖得主称新冠病毒包含HIV序列,蒙塔尼“失足”伪科学

一个人想着一个人 提交于 2020-04-22 01:53:29
  新冠病毒来源是哪里?这是一个引起多方论战、至今众说纷纭未有清晰定论的问题。   4 月 16 日,法国病毒学家吕克 · 蒙塔尼(Luc Montagnier)在一次电视节目中再出争议言论: 新冠病毒含艾滋病毒的核酸序列,而病毒在人群中传播则是中国科学院武汉病毒所泄漏所致 。   蒙塔尼曾在 2008 年获得诺贝尔奖,在病毒学研究领域已经是全球顶尖的学者,但这一背景也并没有让他的争议言论在学界获得广泛的支持。   中国知名生物学家、首都医科大学校长饶毅发表文章《对某校引进诺贝尔奖得主的意见》批驳了 “病毒来源实验室” 的说法,称以蒙塔尼的身份,他的这番言论有很强的欺骗性。   蒙塔尼错在了哪里?作为 HIV 病毒发现者,他为何会迷信人工合成新冠病毒的说法?    图|现年 87 岁的蒙塔尼再次对新冠病毒发表了争议性言论,他认为这是人为操纵的产物(来源:APF)    比对新冠病毒和 HIV   蒙塔尼的原话是,他们得出结论,新型冠状病毒有人工操作的痕迹,有人添加了 HIV 的序列片段,“这是非自然的病毒,是分子生物学家的工作”。他还将并将矛头指向了武汉病毒所的 P4 实验室,认为新冠病毒是实验室中被人为造出,最终病毒意外泄漏导致了后来在人群中广泛传播。   事实上这并不是新观点。1 月份的一篇预印本网站 BioRxiv 论文就提出, 新冠病毒中特有的基因片段和 HIV 很像

“云”端的语雀:用 JavaScript 全栈打造商业级应用

巧了我就是萌 提交于 2020-02-26 16:15:53
作者| 不四(死马)蚂蚁金服 语雀产品技术负责人 语雀是什么? 语雀是一个专业的云端知识库,面向个人和团队,提供与众不同的知识管理,打造轻松流畅的工作协同,它提供各种格式的在线文档(富文本、表格、设计稿等)编辑能力,支持实时在线多人协同编辑,数据云端保存不丢失。而语雀与其他文档工具最大的不同是, 它通过知识库来对文档进行组织,让知识创作者更好的管理知识。 语雀技术架构演进 原型阶段 语雀诞生于 2016 年,当时蚂蚁金融云需要一个工具来承载它的文档。当时负责的技术同学利用业余时间,开始搭建这个文档工具。项目的初期,没有任何人员和资源支持,同时也为了快速验证原型,技术选型上选择了最低成本的方案。 底层服务完全基于体验技术部内部提供的 BaaS 服务和容器托管平台: Object 服务:一个类 MongoDB 的数据存储服务; File 服务:阿里云 OSS 的基础上封装的一个文件存储服务; DockerLab:一个容器托管平台; 这些服务和平台都是基于 Node.js 实现,专门给内部创新型应用使用,也正是由于有这些降低创新成本的内部服务,才给工程师们提供了更好的创新环境。 应用层服务端自然而然的选用了体验技术部开源的 Node.js Web 框架 Egg(蚂蚁内部的封装 Chair),通过一个单体 Web 应用实现服务端。应用层客户端也选用了 React 技术栈,结合内部的

Unreal Engine 4 中的 UI 优化技巧

大兔子大兔子 提交于 2019-12-03 14:42:41
转自: https://mp.weixin.qq.com/s/bybEHM9tF-jBPxxqXfrPOQ## Unreal Open Day 2017 活动上 Epic Games 开发者支持工程师郭春飚先生为到场的开发者介绍了在 Unreal Engine 4 中 UI 的优化技巧,以下是演讲实录。 1. UI的基本概念 1.1 名词解释 User Widget: 对应一个用户界面。 Widget Tree: 每一个 User Widget 都是存储成树状结构。 Panel Widget: 不会渲染出来,用于对 Child Widget 进行布局,如 Canva Panel, Grid Panel, Horizontal Box 等。 Common Widget: 用于渲染,会生成到最后的 Draw Elements 中,如 Button, Image, Text 等。 1.2 渲染流程 基本渲染流程示意图: 在游戏线程 ( Game Thread ),Slate Tick 每一帧会遍历两次 Widget Tree。 Prepass: 从下到上遍历树,计算每一个Widget的理想尺寸 (Desired Size)。 OnPaint: 从上到下遍历树,计算渲染所需的 Draw Elements 。这个过程中,会根据 Common Widget 的类型和参数生成相应的 Vertex