轶哥

📚 Having fun with AI Agent. Always learning.

Electron 12+ 出现 require is not defined 报错解决
  •   更新:2021-03-18 09:52:18
  •   首发:2021-03-18 09:44:46
  •   教程
  •   6569

在 Electron 12 及更高版本,设置了nodeIntegration: truenodeIntegrationInWorker: truenodeIntegrationInSubframes: true,渲染进程仍然可能出现require is not defined的报错。

这个报错还跟随有module is not definedexports is not defined

同样的报错在Electron 5+曾出现过,原因是发布v5.0.0的时候,官方将nodeIntegration默认值设置为了false(与此同时还将webviewTag设置为了false)。

近期,Electron 12.0.0 发布。修复了诸多异常。同时也将contextIsolation的默认值更改为true(详见:https://github.com/electron/electron/pull/27949)。

SR300 F200 开启 Windows Hello 人脸登录
  •   更新:2021-03-15 10:46:08
  •   首发:2021-03-14 16:27:28
  •   教程
  •   9248

Intel RealSense SR300 F200 Windows10 开启 Windows Hello 人脸,可以实现人脸识别登录。速度很快,安全性很高。

3d.JPG

笔者有幸参与了第一批Intel RealSence设备的开发,至今家里还有不少F200、SR300的开发版本的设备。

CentOS8卸载podman安装docker
  •   更新:2021-03-14 22:18:31
  •   首发:2021-03-14 21:40:43
  •   教程
  •   12264

由于CentOS8默认安装了podman,因此在CentOS8中安装docker会导致冲突引发如下异常。

Error: 
 Problem 1: problem with installed package podman-2.0.5-5.module_el8.3.0+512+b3b58dca.x86_64
  - package podman-2.0.5-5.module_el8.3.0+512+b3b58dca.x86_64 requires runc >= 1.0.0-57, but none of the providers can be installed
  - package containerd.io-1.4.3-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-68.rc92.module_el8.3.0+475+c50ce30b.x86_64
  - package containerd.io-1.4.3-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-68.rc92.module_el8.3.0+475+c50ce30b.x86_64
  - cannot install the best candidate for the job
  - package runc-1.0.0-64.rc10.module_el8.3.0+479+69e2ae26.x86_64 is filtered out by modular filtering
 Problem 2: problem with installed package buildah-1.15.1-2.module_el8.3.0+475+c50ce30b.x86_64
  - package buildah-1.15.1-2.module_el8.3.0+475+c50ce30b.x86_64 requires runc >= 1.0.0-26, but none of the providers can be installed
  - package docker-ce-3:20.10.1-3.el8.x86_64 requires containerd.io >= 1.4.1, but none of the providers can be installed
  - package containerd.io-1.4.3-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-68.rc92.module_el8.3.0+475+c50ce30b.x86_64
  - package containerd.io-1.4.3-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-68.rc92.module_el8.3.0+475+c50ce30b.x86_64
  - package containerd.io-1.4.1-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-68.rc92.module_el8.3.0+475+c50ce30b.x86_64
  - package containerd.io-1.4.1-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-68.rc92.module_el8.3.0+475+c50ce30b.x86_64
  - package containerd.io-1.4.3-3.el8.x86_64 conflicts with runc provided by runc-1.0.0-68.rc92.module_el8.3.0+475+c50ce30b.x86_64
  - package containerd.io-1.4.3-3.el8.x86_64 obsoletes runc provided by runc-1.0.0-68.rc92.module_el8.3.0+475+c50ce30b.x86_64
  - cannot install the best candidate for the job
  - package runc-1.0.0-56.rc5.dev.git2abd837.module_el8.3.0+569+1bada2e4.x86_64 is filtered out by modular filtering
  - package runc-1.0.0-64.rc10.module_el8.3.0+479+69e2ae26.x86_64 is filtered out by modular filtering

在部分场景中却不得不使用docker,因为podman是新东西,即便命令和docker及其相似,也因为生态原因,各类API还无法完全兼容。例如《【视频教程】Electron自动编译及自动更新、分发》就对这个情况进行过说明,在使用Electron 应用分发系统的时候,由于使用了开源项目dockerode对docker进行控制,因此需要卸载podman改用docker

【视频教程】Electron自动编译及自动更新、分发
  •   更新:2021-03-14 21:43:10
  •   首发:2021-03-11 17:32:24
  •   教程
  •   4534

为了实现Electron的自动更新,曾撰文《Electron 应用分发系统(Electron自动更新)》,不少小伙伴反应说不知道正确的操作姿势。仔细想来,这个部署确实不简单,因此特意录制此视频。

视频从头开始讲解了如何搭建一个Electron官方示例,配置并实现push到git仓库后服务器端自动编译、自动上传编译后的文件到七牛对象存储、客户端捕获更新信息并且后台静默更新的配置全过程。

需要特别留意的是,每次发布新版本之前都需要修改package.json里面的version版本号,否则自动更新分发会失效。

OpenWRT 设置桥接交换机模式(AP模式)
  •   更新:2021-03-13 20:11:27
  •   首发:2021-03-13 18:27:35
  •   教程
  •   105549

OpenWRT / LEDE 设置桥接模式作为交换机,能够将路由器当无线AP使,同时有线网口作为交换机使用。

openwrtlan.png

先将原有的wan口删除,然后进入lan口设置页面物理接口选项,勾选桥接接口选项,将未勾选的/之前用于wan口的以太网适配器: "eth0.x"勾选桥接。

image.png

勾选lanDHCP服务器忽略此接口选项。设置完成后,所有的接口都可以作为交换机LAN口使用。无线设置不变。

路由器当交换机/AP用
  •   更新:2021-03-13 20:10:55
  •   首发:2020-08-06 23:14:57
  •   教程
  •   14004

所有的路由器都可以当做交换机使用。在现今WIFI6大放异彩的时代,家里可能淘汰了一些旧路由,同时又新增了一些网络设备。可以通过简单设置,将闲置路由器作为交换机使用。

进入路由器管理后台设置界面

将网线连接到路由器任意LAN口,或通过WIFI连接到路由器网络中。在电脑浏览器上通过192.168.1.1进入路由器管理后台,如果无法访问,可以查看网络设置属性中的网关地址,网关地址即为路由器设置界面的访问地址。

Redash导出仪表盘中所有数据为Excel文件
  •   更新:2021-03-10 18:38:50
  •   首发:2021-03-10 18:38:50
  •   教程
  •   4213

在《Redash刷新整个仪表盘API》一文中,提到了导出仪表盘中所有的Widget数据为Excel文件的需求。

实现该需求只需要调用官方的API,但是官方API文档对于使用的描述基本没有。

第一步:获取仪表盘数据,得到QueryID

通过请求

GET /api/dashboards/<dashboard_slug>?api_key=<API_KEY>

获取仪表盘数据。

Redash刷新整个仪表盘API
  •   更新:2021-03-10 18:38:37
  •   首发:2021-03-10 18:38:37
  •   教程
  •   3897

转眼间使用Redash已经两年多了,redash给我的感觉就是省心省事。基础需求都能实现,用户体验很好,升级版本也容易,二次开发也方便简单。

只不过有两个需求redash没有实现:

  • API刷新整个仪表盘
  • 导出仪表盘中所有的Widget数据为Excel文件

第二个需求,我在《Redash导出仪表盘中所有数据为Excel文件》一文进行了实现说明。

  上一页 下一页