最近朋友推荐GitHub Copilot,开放心态尝试下。在使用一段时间后,觉得很不错,这里就share下。

介绍

  • 基于OpenAI 的结对编程工具 Copilot

资费

阅读全文 »

最近本地docker构建node项目时报错Cannot use import statement outside a module”,”event”:”uncaughtException。排查解决后,这里mark下。

环境说明

  • NodeJS版本为v12
  • 整个项目是CommonJS规范

错误含义

根据错误栈最后查到是node_modules/axios/lib/core/buildFullPath.js位置。本地开发环境下查看文件并没有问题,但进入docker容器中查看果然该文件中采用的ES import写法。由此确定根本问题。

阅读全文 »

SSH登录失败如遇到kex_exchange_identification: read: Connection reset by peer,可以根据如下步骤排查

ssh时,v参数用于调试信息打印,从信息里可以看到,服务端并没有发送任何消息,如果第一步通讯正常应该或发送远程协议版本信息。

大致可能会有几个地方影响

  1. /etc/ssh/sshd_config

    排查端口是否正确,可能并不是22,如果修改配置,需要重启服务生效service sshd restart

  2. /etc/hosts.allow/etc/hosts.deny

    默认两个文件配置会是空状态,没有任何生效配置

阅读全文 »

启动WEB服务时需要绑定IP,日常开发,我们往往这么做,填写0.0.0.0或者127.0.0.1。都work,但两者是不同的,这里总结下两者的不同及注意事项

如下为ExpressJS的一段代码

1
2
3
app.listen(conf.server.port, '0.0.0.0', function () {
console.log(`Example app listening on port http://0.0.0.0:${conf.server.port}!`);
});

127.0.0.1

  1. 该地址为环回IP地址,假如服务绑定该地址,那么使用外网IP,或局域网IP都是不可访问的。

  2. 假如把机器网断了,当执行ping命令时是有返回的,原因是该地址并不会真的走网卡发送请求出去

  3. 当绑定该地址时,访问的话,经常也会使用localhost,但严格来说两者并不对等,因为1个是IP地址,另一个是域名,查看hosts文件也会发现一般会有127.0.0.1 localhost,之所以可以使用localhost,原因在这里

阅读全文 »

最近使用北京易通行扫码坐公交地铁,为了更高效些,开始调研是不是能够做到一键弹出地铁码/公交码,毕竟每次找到App=>启动App=>切换到对应乘车码,这样一套操作还是很麻烦的。

一键唤起App的具体页面功能,该需求能实现的本质就是个URL Scheme,因此关键就是能不能拿到这个信息了。

先说结论,最终我只能实现一键唤起易通行App,即RuubyPay://,而具体地铁码/公交码页面并不行,原因是查不到具体功能/页面的介绍SDK,或者没有猜出来。虽然没有彻底解决,但至少搞清楚了寻找指定App URL Scheme的一般方法了,以后有此需要就这么来搞。

基本方法

  1. Google/GitHub检索

    首先还是万能搜索大法,毕竟别人很多都想到和找到了,比如微信扫码weixin://scanqrcode

  2. 官方文档

    好点的软件对其URL Scheme支持是有系统介绍的,比如Surge/Things等,通过官方文档就可以了解能支持到什么程度。这点微信,美团之类的都没系统的介绍,基本都靠网友自己去找了,这点差评。

  3. iMazing等软件查看app中的info.plist,如果是Mac App的话,直接finder中查看app内容即可,不需要第三方App

    info.plist中检索CFBundleURLSchemes关键词,具体数组值即Scheme

阅读全文 »
0%