0%

最近我在 EDK II 环境下折腾 UEFI 开发,发现原生的 UEFI Shell 采用纯命令行交互,在进行频繁的文件复制、移动和目录切换时效率很低。为了改善体验,我决定手搓一个类似于 Midnight Commander (mc) 的**双面板、纯文本可视化文件管理器 (Visual File Manager)**。

在开发过程中,我遇到了不少 UEFI 底层的坑和“玄学” Bug。这篇文章将记录整个开发过程以及遇到各类问题的解决思路。

阅读全文 »

Hexo 博客迁移部署

    今天翻github仓库,偶然发现我竟然还有个Hexo博客项目被我丢弃在里面,刚好最近感觉年纪大了记性不太行了,遂重新拾起部署起来做项目的记录,顺便记录迁移过程以便以后复制粘贴

阅读全文 »

这两天帮朋友爬抖音的评论,爬的时间长了cookie失效导致从接口返回不到数据,故尝试模拟登录抖音进行爬虫记录一下。

阅读全文 »

前言

​ 前几天给朋友的朋友的公司写了个企业官网,全部搞定就差部署在服务器上了,构思的是NameSilo+阿里云,于是快速的在NameSilo上买了域名,阿里云买了上海节点的服务器,为啥要在Namesilo上买呢?因为买的是”.com”的顶级域名,首先价格便宜,其次最最主要的还是域名不用备案!当时天真的以为只需要备案一个服务器就可以了,随后快速上传源码搭建环境,开80端口,一切准备就绪访问主页,不出意外,提示无法访问要备案。

阅读全文 »

先序遍历

伪代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
vector<int> inorderTraversal(TreeNode* root) {
vector<int> ret;
stack<TreeNode*> st;
TreeNode* p = root;
while (p||!(st.empty())) {
if (p)
{
printf("p:%d\n", p->val);
st.push(p);
p = p->left;
}
else {
p = st.top();
st.pop();
p = p->right;

}
}
return ret;
}
阅读全文 »

将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。

比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下:

1
2
3
P   A   H   N
A P L S I I G
Y I R

之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"

阅读全文 »

给你一个字符串 s,找到 s 中最长的回文子串。

示例 1:

1
2
3
输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。

示例 2:

1
2
输入:s = "cbbd"
输出:"bb"

示例 3:

1
2
输入:s = "a"
输出:"a"

示例 4:

1
2
输入:s = "ac"
输出:"a"
阅读全文 »