ARTS 07 - 使用 supervisor 配置 ngrok 内网穿透为守护进程
ARTS是左耳朵耗子提出来的一个打卡任务。每周一个 Algorithm,Review 一篇英文文章,总结一个工作中的技术 Tip,以及 Share 一个传递价值观的东西!我希望这个事可以给大家得到相应的算法、代码、技术和影响力的训练。
这是我的第七周打卡。这周在做文档的在线预览功能时用到了微软的 Office API,需要它能够访问到文件的地址,所以得在公网上才能使用这个功能。在本地调试的时候,就不太方便了。所以想到了使用 ngrok 来做一个内网穿透,并把它添加到操作系统的守护进程中,就可以一直使用了。
Algorithm
描述:
题解:
思路一:使用迭代
使用迭代的思路跟之前所有链表的解法大同小异,主要是通过画图的方式来理清节点之间的关系。遍历整个链表,将当前节点的 next 指向它的 prev 即可。
时间复杂度:O(n)
思路二:使用递归
递归的解法自己想半天没有想明白,官方的题解看了很久才看懂。主要感觉平时算法基本都是用迭代比较多,递归的思想并没有理解很透彻,练得也比较少。在网上找了一篇文章:为什么你学不会递归?告别递归,谈谈我的一些经验,里面刚好举了一个反转链表的例子,讲得比较通俗易懂。
时间复杂度:O(n)
Review
A Collection of Tips for Elixir’s Interactive Shell (IEx)
这篇文章讲的是关于 Elixir
里的 Iex
的一些小技巧。在日常使用中,掌握这些小技巧往往能让我们事半功倍。
目前接触比较多的有以下几个Tips:
获取帮助
Elixir 在 iex 中内置了语言的帮助文档,这种做法十分棒。开发者不用跳到外部去翻阅各种资料,直接敲一个命令就可以查看语法了。比如: h Enum
就可以显示 Enum
模块的语法。
重新编译项目或模块
.iex.exs 文件
在项目中新建一个 .iex.exs
文件,里面可以写一些 alias
、import
语句,在 iex
中就可以直接使用了
在 iex 中加载 module 或 script
使用 c/1
命令可以在 iex
中编译文件
多行写法
在命令行中,通常写一行再按 Enter
键就会直接执行了,对于多行的写法我们可以借助括号来实现
另外有一些之前没有接触过的,但感觉使用也蛮频繁的:
列出模块中所有的宏和函数
使用 exports
或者 module_info
列出模块中所有的类型
获取历史命令的值
如果上一个命令的结果没有赋值给一个变量,那么我们想获取它就比较麻烦了。 iex
提供了 v
,我们可以使用它来获取历史命令的值。
Tip
正则表达式在开发中偶尔会用到,所以平时这方面的知识比较欠缺。每次想写一个正则匹配,都是各种查资料,这次干脆花点时间重新学习了一下,主要是位置的匹配。
Share
分享文章:使用 supervisor 配置 ngrok 内网穿透为守护进程
这周做了一个使用 Office 在线预览文档的功能,需要 Office 的在线预览 API 能够访问到文件的地址。在本地调试的时候,可以使用 ngrok
来做一个内网穿透,就不用上到公网上去测试了。
版权声明: 本文为 InfoQ 作者【jerry.mei】的原创文章。
原文链接:【http://xie.infoq.cn/article/2d6daba6c73c69987b468b4e4】。文章转载请联系作者。
评论