0%

计算机教育中缺失的一课

我将针对这门课中的课后作业,和薄弱的部分做个记录,以便日后复习。

课程概览与 shell

这一部分没啥难得。

课后作业

阅读全文 »

在开始学习与实践之前,需要准备相关环境。
因为Github Codespaces的免费额度用满了,所以我选择了在Ubuntu22.04.1安装Hyperledger Fabric的开发环境。

环境准备

所需工具版本

Ubuntu 22.04.1
go version go1.19.3 linux/amd64
fabric 2.4.7
docker 20.10.21
docker-compose version 1.29.2

安装Go语言环境

阅读全文 »

前言

因为Django的效率问题,以及Python冷启动可能会比Node要慢。
所以把我现有的Django项目用Express重构,重构过程中遇到zlib解压缩爱奇艺弹幕数据的问题。
在网上能找到的Node解压爱奇艺数据的只有下面这篇博文。
《中国新说唱2020》不完全数据大屏
但可惜的是博主没有公开相关源码,所以我自己瞎试找到了解决方案。
核心代码如下:
稍微解释一下:promises是我用循环把用axios包装所有的弹幕地址,axios返回的是Promise。
再用Promise.all去异步请求所有的弹幕文件,就能得到二进制的压缩后的弹幕文件数据。
想要解压就要用到pako.inflate(value, {to: "string"})
我是参考了两篇stackoverflow上的回答,才找到了这个方法。具体请看文末的参考资料。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const api_url = `https://cmts.iqiyi.com/bullet/${tvid.slice(-4, -2)}/${tvid.slice(-2)}/${tvid}_300_${i + 1}.z`;
const params = {
rn: "0.0123456789123456",
business: "danmu",
is_iqiyi: "true",
is_video_page: "true",
tvid: tvid,
albumid: albumid,
categoryid: categoryid,
qypid: "01010021010000000000"
};
promises.push(axios({method: "get", url: api_url, params: params, responseType: "arraybuffer"}));
const values = await Promise.all(promises);
const pako = require("pako");
const datas = values
.map(value => value.data)
.map(value => pako.inflate(value, {to: "string"}));

参考资料

Use zlib.js to decompress python zlib compress
Python’s zlib decompresses data, but Pako (JavaScript zlib) fails

阅读全文 »

前言

众所周知有诸多平台可以实现定时任务,像:阿里云函数,Github Actions,服务器中的crontab。
如果不希望定时任务过于分散,我们可以全部写在一个文件里,然后用nodejs来加载这个文件,统一调用,实现定时任务。
大多数定时任务改写成Node代码并不复杂!而且可以直接与我的Express项目放一起运行,节省资源开销。

代码

node-cron:是一个非常好用的定时任务库,可以很方便的实现定时任务。
使用起来非常简单,由如下代码所示:

schedule.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const cron = require("node-cron");
module.exports = (app) => {
//TODO 添加自动删除一个月前的日志
console.log("schedule.js loaded");
cron.schedule("0 */8 * * *", () => {
subcache(app);
});
cron.schedule("*/15 * * * *", () => {
cf2dns().then((result)=>{
leancloud.add("Schedule", {
name: "cf2dns",
result
});
});
});
};
阅读全文 »

原文标题

A Cross-Chain Trusted Reputation Scheme for a Shared Charging Platform Based on Blockchain
发表于 IEEE 物联网期刊,第 9 卷,第 11 期,2022 年 6 月 1 日
阅读链接

为啥选择看这篇文章

  1. 与当前研究方向(跨域数据跨链解决方向)契合。
  2. 选取顶会顶刊来看,IEEE Internet of Things Journal是SCI I区的。
  3. 最近几年的文章
  4. 页数(12页)不多,看起来不费劲

文章中名词解释

阅读全文 »