Hexo内嵌PDF.js

作者:Sw_Zap https://www.bilibili.com/read/cv22329422/ 出处:bilibili

由于hexo-pdf插件在移动端只能显示第一页,所以我之前只能再给PDF文件多放一个下载按钮,否则移动端就没法看谱子了。

今天偶然看到mozilla的PDF.js项目(演示:https://mozilla.github.io/pdf.js/web/viewer.html),就冲着它带着“js”的后缀,感觉是可以整合进网站的,于是啥也不懂的我开始拷问chatGPT,让它教我怎么把PDF.js用于个人的网站,最后感觉效果还不错,所以特此分享如下。

去项目主页下载整个项目:https://mozilla.github.io/pdf.js/   (我下载的版本是:Stable (v3.4.120))

在\source下建立一个文件夹(我建了个文件夹叫“pdfjs”),把解压出来的文件放进去

在.md文件的适当位置写入:

Read More

leetcode150逆波兰表达式

//TODO:等待完善PDF

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Solution {
public:
    int evalRPN(vector<string>& tokens) {
        stack<long long> st;
        for (int i = 0; i < tokens.size(); i++) {
            if (tokens[i] == "+" || tokens[i] == "-" || tokens[i] == "*" || tokens[i] == "/") {

                long long num1 = st.top(); st.pop();
                long long num2 = st.top(); st.pop();
                long long result = 0;

                //这里是先 num2 再 num1
                if(tokens[i] == "+") result = num2 + num1;
                if(tokens[i] == "-") result = num2 - num1;
                if(tokens[i] == "*") result = num2 * num1;
                if(tokens[i] == "/") result = num2 / num1;
                st.push(result);
            }else{
                st.push(stoll(tokens[i]));//将字符串转换为long long
            }
        }
        return st.top();
    }
};

leetcode232用栈实现队列

//TODO:等待完善PDF

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class MyQueue {
public:
    stack<int> stIn;
    stack<int> stOut;
    MyQueue() {

    }
    void push(int x) {
        stIn.push(x);
    }
    int pop() {
        //这里之前写成了 if(!stOut.empty())
        if(stOut.empty()) {
            //push进stOut;
            while(!stIn.empty()) {
                stOut.push(stIn.top());
                stIn.pop();
            }
        }
        int result = stOut.top();
        stOut.pop();
        return result;
    }
    int peek() {
        int result = this->pop();
        stOut.push(result);
        return result;
    }
    bool empty() {
        return stOut.empty() && stIn.empty();
    }
};

6-每帧最大消息分发数

接收数据

在之前的客户端程序中每帧都只处理一条信息,如果是60FPS,那么每秒只能处理60条信息,

每次Update处理多条数据

Unity每一帧执行一次Update,一般每秒会执行30到60帧,也就是说第3章的网络模块每秒最多只能处理60条消息。如果游戏场景比较复杂,会增大渲染时间,说不定每秒只能处理30条消息。对于某些实时性要求高的游戏,客户端与服务端之间的通信频率可能很高,超过网络模块的处理能力。本章的程序会给NetManager定义只读变量MAX_MESSAGE_FIRE,指示每一帧处理多少条消息,如图6-22所示。

— 引用自 《Unity网络开发实战》罗培羽

Read More