跳到主要内容
左猫娘右猫娘

上班第一课

· 阅读需 8 分钟
Heng_Xin
ここから先は一方通行だ!

今天第一天上班, 7:40 出发, 规划的地铁路线没有想象的那么挤, 8:30就到了 =-=

通勤时间大概是 1h

上班时间是 09:00 ~ 12:00, 13:30 ~ 18:00

上班

早上主要是熟悉环境, 公司电脑都是麒麟os, 用的是 apt; 因此包管理就和ubt那些一样, 版本太旧了...

cmake 版本太旧了, 得从官网下载, 然后自己放到 bin目录 (我是解压, 然后建立了软链接)

然后还自己编译了几个库, 然后把项目跑起来了, 但是具体不知道怎么使用, 是根据启动参数的; 但是我一启动, 指定了几个参数后, 弹出系统密码框然后就 EasyDB 报错了? 可能需要密码吗?

gcc 也是 10.x, 好像最高是支持 C++17; 我看代码的第三方库有使用 C++20 那些

不过似乎编译的时候没有编译到?

使用的是 vscode, 我自己下了点插件 =-=

他们项目还是需要多方适配的, 多种linux发行版 和 x86/arm 架构

开肝

下午就被叫去了 qwq

学习了如何写需求:

Note

需求是把要求说清楚

  • 清楚等于无歧义

  • 字需要尽可能少, 但不能丢失原义

学习了两种版本:

  1. 从技术角度的描述中提取出需求

我需要一个程序, 可以只让ABC可以 看 文件D, 其他的都不行. 怎么解决?

我言: 加密

对曰: 那还有呢? 是否有不加密的办法?

我答: 设置权限?

对曰: 这谁都可以设置; 那能不能做到就是只让我看, 其他都不能看?

我忘记是我回答的还是他解答的了...

然后就引到了操作系统提供的接口, 允许我们这样干.

总之, 先写需求嘛

我一开始写的是:

  • 用户希望仅自己可以查看指定文件

但是不行, 总之最后变成:

# 文件监控服务 - 用户需求

## 一、需求
### 1.1 文件清单

用户可以选择文件, 加入`文件清单`; 程序会记录选择的文件的 **绝对路径**, 以确保无歧义.

### 1.2 指定进程

用户可以指定进程, 加入`白名单`; 程序会记录选择的进程的 **启动路径****绝对路径** 作为唯一进程标识.

### 1.3 可拦截读写系统调用

`文件清单` 内的文件进行读写操作时, 需要拦截 **** 白名单 的进程.

### 1.4 日志系统

日志记录:

> [触发时间] [触发进程(全路径)] [该进程操作对象(文件)] [该进程操作内容] [本程序处理结果]
md

Tip

其中还有细节: 为了确保没有歧义, 我们需要使用文件的绝对路径, 以防止混淆.

同理, 进程也不能使用pid, 而应该使用 进程的启动路径 的绝对路径

  1. 从不懂技术的角度中提取需求

一个老板, 看到员工上班在打游戏, 炒股票, 你们不要给我摸鱼!

现在需要设计应该程序, 你怎么写需求?

这里我想得太复杂了, 以为需要监控工位上的玩手机等... 这怎么用程序写嘛~ 只能想到 py + yolo

然后我否定了, 太复杂了, 然后憋了个:

上班时间, 可监控员工打开的进程, 如果该进程不是指定白名单进程, 则判定为摸鱼.

实际上我这里很多问题, 对曰: 我不应该添油加醋, 应该只是把内容翻译为需求. 而且, 我们要的不是判定; 而是直接拦截.

然后我还提出了疑问: 如果有些技术我暂时不知道怎么办? 是不是写不了需求了?

答曰: 你就假装你是万能的; 或者你只管写, 万一到时候不是你实现呢?

然后我就改了版:

上班时间, 禁止员工做与上班无关的事情

然后依旧大错特错了, 完全没有技术涵盖! qwq

中间还有一版, 也被指出了

最后:

# 网络请求监控服务 - 用户需求

## 一、需求
### 1.1 上班时间

用户可以定义 `上班区间`; 其输入格式示例: `09:00~12:00, 13:30~18:00` (使用二十四小时制; 如果有多个区间, 需要使用`英文逗号`隔开)

> (注意: 需要判断区间是否为合法区间 如 `23:00~04:00` 应该写为 `23:00~24:00, 00:00~04:00`)

### 1.2 指定合法网络请求

用户可以指定 `黑名单` 网址 (以 `ip:端口` 的格式指定, 多的可分行 (符合用户习惯))

### 1.3 拦截非法网络请求

程序会监听所有的网络请求; 在 `上班时间` 内, 对于所有网络请求, 程序需要拦截 `黑名单` 的请求.

### 1.4 日志系统

日志记录:

> [触发时间] [触发进程(全路径)] [请求目标(网址)] [请求内容] [程序处理结果]
md

注意, 格式无歧义; 以及日志内容 [触发进程(全路径)] [请求目标(网址)] 这个很重要!

总结

大概的模板模式是:

定义A, 定义B 让他们都没有歧义, 并且清晰, 就和写代码一样

然后是 定义操作, 定义条件, 与 之前定义的AB进行交互


然后是如何查找,

  1. 先使用自己思考的关键词查找

  2. 对于比较不错的文章, 使用它的一些关键词, 以优化自己的关键词, 进行查找

  3. 什么时候可以停下来? 当搜索到的内容都是说得一样的时候


今日问题

  • lqb国二给我水了个...

  • 把公司插座搞坏了, 我的笔记本电源适配器太紧了, 它太脆了, 我一拔直接连根拔起了 ... (而且这个插座很老, 进去时候还有电火花awa...)


补充:

当天还开了几十分钟的组会, 每个人汇报一下进度和问题~

请作者喝奶茶:
Alipay IconQR Code
Alipay IconQR Code
本文遵循 CC CC 4.0 BY-SA 版权协议, 转载请标明出处
Loading Comments...