ARTS 第一周

用户头像
Forelax
关注
发布于: 2020 年 05 月 24 日

A - Algorithm

题目链接:Implement Stack using Queues

解题思路:Implement Stack using Queues

R - Review

Modern Flutter Plugin Development - Flutter - Medium



简单来说,全文主要涉及了三个方面的内容:

  • Flutter 引入了 Android 2.0 Plugin API,Plugin 的 API 不再只有一个 registerWIth() 这么简单的功能了,而是能够感知到对应的 Engine 以及 Activity 的生命周期

  • flutter 对 pubspec 增加了新的 flutter.plugin.platforms 字段来更好的支持不同平台的 Plugin

  • plugin 现在可以以 Federation Plugin 的形式开发,也就是说不同平台的实际实现代码可以不放在一个 package 中实现

T - Tips

用 direnv 来区分不同目录下的工作环境

很多开发工具都会使用环境变量来设置一些全局设置,例如 flutter 的 pub 地址就是通过 PUBHOSTEDURL 来设置 pub get 的地址的。但是很多时候公司内部环境的内部源可能和外部不同。所以我们需要有一个工具,针对不同目录设置不同的环境变量。

direnv 就是这样的一个工具,利用它我们可以非常方便的利用设置在某个目录下的 .envrc 来设置对应的环境变量。

使用起来:

# 创建一个目录
$ mkdir ~/my-project
$ cd ~/my-project
# 此时 FOO 还是什么都没有
$ echo ${FOO}
# 创建一个新的 .envrc 文件, 不过出于安全考虑,此时的 .envrc 还不会自动被加载
$ echo export FOO=foo > .envrc
.envrc is not allowed
# 所以我们需要使用 direnv allow 命令来允许加载这个配置文件
$ direnv allow .
direnv: reloading
direnv: loading .envrc
direnv export: +FOO
# 这个时候 FOO 环境变量就被设置上了
$ echo ${FOO}
foo
# 退出目录后环境变量自动被消除
$ cd ..
direnv: unloading
# 现在 FOO 环境变量就又没有了
$ echo ${FOO}

S - Share

本文来自于一次内部分享,主要针对 Cocoapods、Homebrew、Gem 这一类十分相似的包管理器进行了对比和研究,尝试从一个更高维度、更抽象的层面去汇总这些包管理器的内部思路。





包管理器的前世今生

用户头像

Forelax

关注

不想当个音乐家的程序员不是好猫奴 2016.03.26 加入

个人博客:https://forelax.space/ ,欢迎各种交流

评论

发布
暂无评论
ARTS 第一周