首页
学习
活动
专区
圈层
工具
发布

每周分享第 1 期

新闻 1、Instagram 和 Twitter 限制第三方调用 API 4月4日,Instagram 无预警地宣布,立即废止一大批 API,像用户的 follower、like 等数据都无法再拿到了。...实在看不到成功的可能性。 2、为什么我们不用 Git?,by SQLite SQLite 不使用 Git 版本控制系统,而是使用 Fossil。...好多人说美国人很富有,确实,如果你找到了一个好职业,你的收入会很高很高。但是实际上,绝大多数美国人很穷,只能靠救济和福利过活。一半的美国人,他们的年平均收入低于25000美元。...4、DNS Performance Test DNS 响应时间的命令行比较脚本。 5、merge-images 多张图片合成一张图片的浏览器 JS 库,使用了 Canvas。...6、Tabler 一个基于 Bootstrap4 的面板(dashboard)组件库。 7、Etherpad 老牌的多人实时编辑协同工具。 新奇 1、Braille Neue ? ?

67930

每周分享第 1 期

新闻 1、Instagram 和 Twitter 限制第三方调用 API 4月4日,Instagram 无预警地宣布,立即废止一大批 API,像用户的 follower、like 等数据都无法再拿到了。...实在看不到成功的可能性。 2、为什么我们不用 Git?,by SQLite SQLite 不使用 Git 版本控制系统,而是使用 Fossil。...好多人说美国人很富有,确实,如果你找到了一个好职业,你的收入会很高很高。但是实际上,绝大多数美国人很穷,只能靠救济和福利过活。一半的美国人,他们的年平均收入低于25000美元。...4、DNS Performance Test DNS 响应时间的命令行比较脚本。 5、merge-images 多张图片合成一张图片的浏览器 JS 库,使用了 Canvas。...6、Tabler 一个基于 Bootstrap4 的面板(dashboard)组件库。 7、Etherpad 老牌的多人实时编辑协同工具。 新奇 1、Braille Neue ? ?

76620
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    连接微信群、Slack 和 GitHub:社区开放沟通的基础设施搭建

    例如: 邮件列表交流模式是我个人很偏爱的方式,但在中文社区背景下,因为邮件列表不是所有用户都能够 access,其作为中文社区单一沟通渠道可能会带来沟通的不对等性(一定程度只有部分的人有特权表达自己),...为此,实践过程中采用 etherpad.opendev.org 来记录社区会议文档。 但是,还是存在一些特例的情况,我们不能盲目追求异步、绝对的开放。...但在国内,它是社区中所有人都可以访问的唯一平台。几乎每个人都有一个微信账号,几乎每天都会查看微信信息。但与之相反的是,几乎上每个人都有不止一个邮箱,且只有很少一部分人会每天查邮件。...图片 万万没想到,当我做到把消息从微信同步到 Slack 之后,随之而来的问题是,通过 Slack API 发出的消息 Linen 并不会收录。...结论 有效的沟通是成功的开源社区的基石,因为它让协作、分享思想与知识、以及所有成员的参与成为可能。

    1.2K20

    深感一无所长,准备试着从零开始写个富文本编辑器

    编辑器是个非常注重细节的工程,很多时候都需要深入研究浏览器的API,例如document上的caretPositionFromPoint方法,用以获取当前某个点所在的选区位置,通常用于拖拽文本后的落点定位...,例如Quill、EtherPad、Google Doc等等。...即在DOM树的基础上抽离出来的数据结构,相同的数据结构可以保证渲染的HTML也是相同的,配合自定义的命令直接控制数据模型,最终保证渲染的HTML文档的一致性。...而如果我们想唤醒内容输入,特别是需要唤醒IME输入法的话,浏览器给予的常规API就是借助来完成,因此我们就必须要实现隐藏的来实现输入,实际上很多代码编辑器例如 CodeMirror...此外,Canvas绘图替代繁重的DOM操作,通过逐帧渲染和硬件加速可以提升渲染性能,从而提高用户操作的响应速度和整体使用体验。

    75810

    适用于渗透测试不同阶段的工具收集整理

    https://github.com/xillwillx/skiptracer ScrapedIn:用于爬取LinkedIn的工具,不受API数据侦察的限制。...https://github.com/DanMcInerney/icebreaker WSUSpendu:该脚本是由法国研究人员开发的,有了它渗透测试人员可以自主创建恶意更新,并将其注入到WSUS服务器数据库中随意的分发这些恶意更新...https://github.com/AlsidOfficial/WSUSpendu Evilgrade :一个模块化的脚本框架,使攻击者可以通过注射”evil”更新到不知道用户的更新。...https://rocket.chat/ EtherPad:多人即时文件协作平台。...基于ATT&CK(对抗战术、技术与常识)知识库的端点检测和响应(EDR)产品进行评估,以加强行业和客户的网络攻击对策。

    4.1K01

    Google Docs系统设计

    与此同时,不同区域的用户应看到文档的更新状态。对于连接到同一区域和不同区域的用户来说,保持一致性都是重要的。 可用性 该服务应该一直可用,并展示出对故障的鲁棒性。...4.2 异步操作 通知、电子邮件、查看次数和评论都是可以通过像 Kafka 这样的发布-订阅组件排队的异步操作。API 网关生成这些请求并将它们转发到发布-订阅模块。...4.3 建议 建议以类型提前服务(typeahead service)的形式出现,该服务提供通常使用的单词和短语的自动完成功能。类型提前服务还可以从文档中提取属性和关键词并向用户提供建议。...由于用户在本地有文档的副本,服务器上的最终文档状态可能与用户在他们端看到的不同。在服务器推送更新版本后,用户会发现意外结果。...尽管众所周知的在线编辑平台如 Google 文档、Etherpad 和 Firepad 使用 OT,但 CRDT 使协作文档编辑中的并发和一致性变得容易。

    70710

    Google Docs系统设计详解(协作文档编辑)

    4.2 异步操作 通知、电子邮件、查看次数和评论都是可以通过像 Kafka 这样的发布-订阅组件排队的异步操作。API 网关生成这些请求并将它们转发到发布-订阅模块。...4.3 建议 建议以类型提前服务(typeahead service)的形式出现,该服务提供通常使用的单词和短语的自动完成功能。类型提前服务还可以从文档中提取属性和关键词并向用户提供建议。...文本或文档编辑器的作用是在文档中的字符上执行插入()、删除()、编辑()等操作。下面是文档的描绘以及编辑器将如何执行这些操作。...由于用户在本地有文档的副本,服务器上的最终文档状态可能与用户在他们端看到的不同。在服务器推送更新版本后,用户会发现意外结果。...尽管众所周知的在线编辑平台如 Google 文档、Etherpad 和 Firepad 使用 OT,但 CRDT 使协作文档编辑中的并发和一致性变得容易。

    1.4K10

    让 HTML 向 Vue.js 华丽转身:如何把 `wangEditor` 仿腾讯文档项目整合进 Vue.js

    Vue.js 的模板语言本质上是增强版的 HTML,所以你几乎可以原封不动地把 HTML 代码放进 Vue 组件的 template 标签中。...在 HTML 代码中,wangEditor 是通过 标签直接引入并初始化的,但在 Vue.js 中,我们需要在组件的 mounted 钩子中进行初始化。...在这个例子中,我们可以使用 v-model 来绑定输入框的内容,并在 wangEditor 的内容发生变化时更新我们的 Vue 数据。...由于编辑器可能需要在不同尺寸的屏幕上使用,因此确保编辑器的响应式设计也是非常重要的。...总结与展望:从 HTML 到 Vue.js 的蜕变 经过这些步骤,我们已经成功地将原始的 HTML 代码转变为一个功能完备的 Vue.js 组件,并通过一系列优化确保了它的易用性和美观性。

    51110

    让 HTML 向 Vue.js 华丽转身:如何把 `wangEditor` 仿腾讯文档项目整合进 Vue.js

    Vue.js 的模板语言本质上是增强版的 HTML,所以你几乎可以原封不动地把 HTML 代码放进 Vue 组件的 template 标签中。...在 HTML 代码中,wangEditor 是通过 标签直接引入并初始化的,但在 Vue.js 中,我们需要在组件的 mounted 钩子中进行初始化。...; align-items: center;}.weditor { display: flex; justify-content: center;}3.2 响应式设计的优化由于编辑器可能需要在不同尺寸的屏幕上使用...,因此确保编辑器的响应式设计也是非常重要的。...总结与展望:从 HTML 到 Vue.js 的蜕变经过这些步骤,我们已经成功地将原始的 HTML 代码转变为一个功能完备的 Vue.js 组件,并通过一系列优化确保了它的易用性和美观性。

    1.4K20

    最近迷上了富文本编辑器!

    ,其实是得益于 HTML contenteditable 属性 正是由于有了它我们才能实现在标签里面编辑内容。...) {  const { setHtml } = modele  ARR_LIST.push(setHtml) } let modele = {  setHtml(vdom) {    //假设插入...html 逻辑,调用vdom渲染dom }, } registerModule(modele) // 假设有某些menu 需要setHtml直接取出执行即可 ARR_LIST.forEach(setHtml...MutationObserver API 可以用来监视 DOM 的变化,包括属性的变化、节点的增减、内容的变化等。..., 高阶函数的用法,在此不在赘述 架构方面 所谓架构方面,就是为了让代码分层,具有清晰的结构,和解耦的功能 架构方面,其实需要,其实是需要功底的,比如说,在上文中提到的怎样设计,视图更新,怎样设计模型同步

    4.2K30

    Qt开源作品28-邮件发送工具

    其实说白了,无非就是smtp协议的使用,这个是国际通用的标准,所以QQ邮箱和163邮箱都可以用,都可以互发,来自百度百科的解释:SMTP目前已是事实上的在Internet传输E-Mail的标准,是一个相对简单的基于文本的协议...如果是QQ邮箱发送的话,前提要在QQ邮箱设置中将smtp协议开通,否则发送不成功,我就困在这里半个小时,结果收到QQ邮箱发过来的一封邮件,你妹啊,默认QQ邮箱没有开启SMTP服务。...主要功能: 持主流邮箱例如163邮箱QQ邮箱的发送。 支持富文本发送,可以发送带有HTML格式的文本。 支持多个附件发送,附件可以是图片。...message.setSubject(emialTitle); //构建邮件正文 MimeHtml text; text.setHtml...msleep(100); } stopped = false; } 三、效果图 [emailtool.jpg] 四、开源主页 以上作品完整源码下载都在开源主页,会持续不断更新作品数量和质量

    1.1K40

    大数据全栈工程师之一文快速上手vue3

    , 更新渲染快133% 内存减少54% … 2.源码的升级 使用Proxy代替defineProperty实现响应式 重写虚拟DOM的实现和Tree-Shaking … 3.拥抱...官方文档: https://v3.cn.vuejs.org/guide/composition-api-introduction.html 1.拉开序幕的setup 理解:Vue3.0中一个新的配置项...但在setup中不能访问到Vue2.x配置(data、methos、computed…)。 如果有重名, setup优先。...setup不能是一个async函数,因为返回值不再是return的对象, 而是promise, 模板看不到return对象中的属性。...使用场景:用于读取响应式对象对应的普通对象,对这个普通对象的所有操作,不会引起页面更新。 markRaw: 作用:标记一个对象,使其永远不会再成为响应式对象。

    1.8K31

    ❤️大数据全栈工程师之一文快速上手vue3❤️

    , 更新渲染快133% 内存减少54% … 2.源码的升级 使用Proxy代替defineProperty实现响应式 重写虚拟DOM的实现和Tree-Shaking … 3.拥抱...官方文档: https://v3.cn.vuejs.org/guide/composition-api-introduction.html 1.拉开序幕的setup 理解:Vue3.0中一个新的配置项...但在setup中不能访问到Vue2.x配置(data、methos、computed…)。 如果有重名, setup优先。...setup不能是一个async函数,因为返回值不再是return的对象, 而是promise, 模板看不到return对象中的属性。...使用场景:用于读取响应式对象对应的普通对象,对这个普通对象的所有操作,不会引起页面更新。 markRaw: 作用:标记一个对象,使其永远不会再成为响应式对象。

    1.8K30

    【计网】HTTP协议详解

    204 No Content 删除文章后,服务器返回“无内容”表示操作成功 301 Moved Permanently 网站换域名后,自动跳转到新域名;搜索引擎更新网站链接时使用 302 Found...示例:PUT /example.html HTTP/1.1 特性:不太常用,但在某些情况下,如 RESTful API 中,用于更新资源。...HEAD 方法: 用途:与 GET 方法类似,但不返回报文主体部分,仅返回响应头。 示例:HEAD /index.html HTTP/1.1 特性:用于确认 URL 的有效性及资源更新的日期时间等。...而POST方法上传参数,是以正文形式进行参数上传的, content-length + request body,有人会说,POST比GET更安全,更加保护用户的信息,因为我们在浏览器的网址上看不到,我要说的是...因为POST方法虽然在浏览器层面看不到用户信息,但是如果你会抓包,实际上所有的用户信息都会被暴漏出去,所以这两种方法都不能称为安全方法。

    91410

    从零实现富文本编辑器#2-基于MVC模式的编辑器架构设计

    即在DOM树的基础上抽离出来的数据结构,相同的数据结构可以保证渲染的HTML也是相同的,配合自定义的命令直接控制数据模型,最终保证渲染的HTML文档的一致性。...我们的选区更新是需要标记叶子结点,以便于能够正确计算选区需要落在某个DOM节点上。...操作合并则是指我们可以通过API来实现合并,例如用户上传图片后,执行了其他输入操作,然后上传成功后产生的操作,最后这个操作应该合并到上传图片的这个操作上。...在下面的这个例子中,输入英文和数字是不会有响应的,但是中文却是可以正常输入的,这也是很多编辑器选择自绘选区和输入的原因之一,例如VSCode、钉钉文档等。...但是设计上还是存在不方便的地方,因此参考了EtherPad的数据实现,在此基础上改造了部分实现,我们后续会详细讲述数据结构设计。

    34410
    领券