8 月 8 日,谷歌宣布推出 AI 代码编辑器 Project IDX,这是一个基于浏览器的开发环境:集成 AI、支持全栈编程语言、跨平台真机预览、一键部署,用于构建全栈网络和多平台应用程序。
一直以来,从 0 开始构建应用,都是一项复杂的工作。尤其是跨越手机、Web 和桌面平台的程序。
这是一片无尽的复杂海洋,需要把技术堆栈融合在一起,来引导、编译、测试、部署、监控应用程序。

相关信息
永远不要过早优化,优化也有相应的代价
- 开发时间变长
- 开发成本增加
- 代码难以阅读
- 增加维护成本
何时优化,因地制宜,是一门艺术,尽量把优化的思想带入写代码的过程中
本文章的优化手段基于vue2

前言
首先要知道vue2 是2013年 基于 ES5开发出来的,我们常说的重渲染就是重新运行render
函数
vue2 的响应式原理是利⽤ES5 的⼀个 API ,Object.defineProperty()
对数据进⾏劫持结合发布订阅模式的⽅式来实现的。

Dart 通过 async-await、isolate 以及一些异步类型概念(例如 Future
和 Stream
)支持了并发代码编程。本篇文章会对 async-await、Future
和 Stream
进行简略的介绍,而侧重点放在 isolate 的讲解上。
在应用中,所有的 Dart 代码都在 isolate 中运行。每一个 Dart 的 isolate 都有独立的运行线程,它们无法与其他 isolate 共享可变对象。在需要进行通信的场景里,isolate 会使用消息机制。很多 Dart 应用都只使用一个 isolate,也就是 main isolate。你可以创建额外的 isolate 以便在多个处理器核心上执行并行代码。

Flutter 工作原理
本文档解释了使 Flutter API 正常工作的 Flutter 工具包内部工作原理。由于 Flutter widget 是以积极组合的形式构建的,所以使用 Flutter 构建的用户界面含有大量 widget。为了支撑这些负载,Flutter 使用了次线性算法来布局和构建 widget,这些数据结构使树形结构优化更加高效,并且具有很多常量因子优化。通过一些额外的机制,该设计也允许开发者利用回调(用于构建用户可见的 widget)来轻松创建无限滚动列表。
积极可组合性
组合性是 Flutter 最为出众的一个特性。widget 通过组合其他 widget 的方式进行构建,并且这些 widget 自身由更基础的 widget 构建。比如,Padding
是一个 widget 而非其他 widget 的属性。因此,使用 Flutter 创建的用户界面是由多个 widget 组成的。

相关信息
这是一个GitHub Actions
的配置文件,整体思路是,获取本次更新的url
(通过对比两次提交的sitemap.xml文件),所以触发条件是deploy分支有推送并修改了sitemap.xml
文件,再利用python脚本进行url推送到百度、Bing、Google
脚本代码请看这里👉提交URL到搜索引擎(百度、Bing、Google)

相关信息
这是一个利用GitHub Actions
自动触发的工作流进行解析更新的url并推送到搜索引擎的python脚本,除了之前介绍过的bing api之外,还增加了百度和Google的相关内容
关于GitHub Actions
的介绍可以看这里👉GitHub Actions
关于GitHub Actions
的配置可以看这里👉如何利用GitHub Actions推送URL到搜索引擎

GitHub Actions 是什么?
Github Actions 是 Github 官方出的持续集成服务, 挺早之前就推出了。类似的还有如微软的DevOps、GitLab CI、Circle CI、Travis CI等等。大家知道,持续集成由很多操作组成,比如抓取代码、运行测试、登录远程服务器,发布到第三方服务等等。GitHub 把这些操作就称为 actions。
很多操作在不同项目里面是类似的,完全可以共享。GitHub 注意到了这一点,想出了一个很妙的点子,允许开发者把每个操作写成独立的脚本文件,存放到代码仓库,使得其他开发者可以引用。
相关信息
素材、设计相关好用的网站