标签 中间件 下的文章

前言

注:文中所说观点,系个人胡扯观点。观看如有不适,既可私信阿甘本人删文。

星球同学提问

halo甘哥,想问问

1⃣️双非本适合走自动驾驶的开发方向吗

2⃣️如果想去一个比较知名的车企实习,开发岗如果进不去,投系统研发怎么样。往智能座舱、网关开发、ota或者自动驾驶的中间件深耕的话,会不会35岁之后还能混口饭吃捏

(感觉算法岗招挺多的,论能力和压力感觉还是会吃不消。)

感谢甘哥!!

阿甘回答

双非本走智驾还是难度比较大, 概率极其的小。

像国内智驾比较好的公司无非就是:

卖智驾服务的公司:华为、moment、大疆还有其他等

以及车企自研的

然后针对发展,薪资,年终,福利来说,个人认为能去像这种卖智驾服务的,还是别去那些车企自研的

为什么呢,我们可以想一想。

研发智驾,需要招聘大量的人才,需要大量的研发成本。像自研的这种车企,那它的利润哪里来的,无非就是自家车的销量。

一旦自家车的销量不好,企业现金池减少,研发成本就需要降本增效了。可以理解成,就是智驾的研发成本都分摊在自家销售的每一台车上。高度依赖自己的销量,成本不能分散,有种梭哈的意味

而像华为这种卖服务的呢,不断的向各个车企打单,研发成本分撒在各个车企的销量上,这种风险就会小很多,成功的概率就很大,个人收益就会很明显。

那能不能搞智驾的,就看自己感觉这学历能进去像moment,大疆这样的公司吗

智能座舱,以及新能源整体怎么说呢。目前个人不是特别推荐的,也可能是自己以前也在里面工作过,深刻感觉到这行在逐渐走向末落的。

你可以去看看汽车的一些报告,市场渗透率几乎都不增长了,这行工程师应该目前上百万了吧,极具内卷。

你看看某来年终奖能有多少呢?今年好像某想的也不太行。

智能座舱里的网络开发方向,可以看看星球网络知识的总结,以及那个智能网络检测项目,以及安卓里网络部分代码。基本工作就是这套技术栈。

35岁能不能混口饭吃,这个想的太长远了,没有意义。先想想怎么毕业能找到一个高薪的好工作,然后在工作中怎么快速涨薪把自己的base提升上来吧

本文由mdnice多平台发布

流量统计功能文档


仓库地址:https://gitee.com/teanary/teanary_service

目录

功能概述

流量统计功能用于统计网站前台的访问数据,包括真人访问和爬虫访问。系统会自动区分访问者类型,并记录详细的访问信息,帮助管理员了解网站的访问情况。

主要功能

  • ✅ 自动统计前台访问流量
  • ✅ 区分真人访问和爬虫访问
  • ✅ 识别爬虫来源(Google、Bing、Baidu等)
  • ✅ 缓存数据,批量写入数据库(每5分钟)
  • ✅ 自动清理过期数据(默认保留90天)
  • ✅ 提供统计看板和详细列表页面

功能特性

1. 智能过滤

系统会自动排除以下请求:

  • ❌ 管理后台(/manager/*
  • ❌ 个人中心(/user/*
  • ❌ API 路由(/api/*
  • ❌ 静态资源(.css, .js, .jpg, .png 等)
  • ❌ 非 GET 请求

2. 爬虫识别

系统能够识别以下类型的爬虫:

搜索引擎爬虫:

  • Google (Googlebot)
  • Bing (Bingbot)
  • Baidu (Baiduspider)
  • Yandex (Yandexbot)
  • Yahoo (Slurp)
  • DuckDuckGo (Duckduckbot)
  • Sogou (Sogou)

社交媒体爬虫:

  • Facebook (Facebookexternalhit)
  • Twitter (Twitterbot)
  • LinkedIn (Linkedinbot)
  • Pinterest (Pinterestbot)

其他爬虫:

  • Semrush (Semrushbot)
  • Ahrefs (Ahrefsbot)
  • Majestic (Mj12bot)
  • Dotbot
  • 以及其他通用爬虫(bot、crawler、spider等)

3. 数据记录

每条流量记录包含以下信息:

  • 路径 (path): 访问的页面路径
  • 方法 (method): HTTP 方法(通常为 GET)
  • IP 地址 (ip): 访问者的 IP 地址
  • 用户代理 (user_agent): 浏览器或爬虫的用户代理字符串
  • 来源页面 (referer): 来源页面的 URL
  • 语言 (locale): 访问时使用的语言代码
  • 是否爬虫 (is_bot): 是否为爬虫访问
  • 爬虫来源 (spider_source): 爬虫的具体来源(如 google、bing 等)
  • 访问次数 (count): 同一分钟内相同路径的访问次数
  • 统计时间 (stat_date): 统计日期(精确到分钟)

技术架构

数据流程

用户访问 → TrackTraffic 中间件 → 缓存数据 → 批量写入队列 → 数据库

核心组件

  1. 中间件 (TrackTraffic)

    • 位置:app/Http/Middleware/TrackTraffic.php
    • 功能:拦截请求,记录流量数据到缓存
  2. 批量写入任务 (BatchWriteTrafficStatsJob)

    • 位置:app/Jobs/BatchWriteTrafficStatsJob.php
    • 功能:每5分钟批量将缓存数据写入数据库
  3. 数据清理命令 (CleanOldTrafficStats)

    • 位置:app/Console/Commands/CleanOldTrafficStats.php
    • 功能:清理超过指定天数的历史数据
  4. 数据模型 (TrafficStatistic)

    • 位置:app/Models/TrafficStatistic.php
    • 功能:定义数据结构和查询方法
  5. 管理界面

    • 统计看板:app/Filament/Manager/Pages/TrafficStatistics.php
    • 详细列表:app/Filament/Manager/Resources/TrafficStatisticResource.php

缓存机制

  • 使用 Laravel Cache 存储临时流量数据
  • 缓存键格式:traffic:queue:Y-m-d-H-i
  • 缓存过期时间:1小时
  • 每5分钟批量写入一次数据库

配置说明

1. 中间件注册

中间件已在 routes/web.php 中注册:

Route::prefix('{locale}')->middleware([
    SetLocaleAndCurrency::class, 
    \App\Http\Middleware\TrackTraffic::class
])->group(function () {
    // 前台路由
});

2. 定时任务配置

routes/console.php 中已配置:

// 流量统计批量写入任务(每5分钟执行一次)
Schedule::command('app:batch-write-traffic-stats --queue')
    ->everyFiveMinutes()
    ->withoutOverlapping()
    ->runInBackground();

// 流量统计数据清理任务(每天凌晨2点执行,清理90天前的数据)
Schedule::command('app:clean-old-traffic-stats')
    ->dailyAt('02:00')
    ->withoutOverlapping();

3. 数据库表结构

表名:traffic_statistics

主要字段:

  • id: 主键(雪花ID)
  • path: 访问路径(索引)
  • method: HTTP 方法(索引)
  • ip: IP 地址(索引)
  • user_agent: 用户代理
  • referer: 来源页面
  • locale: 语言代码(索引)
  • is_bot: 是否为爬虫(索引)
  • spider_source: 爬虫来源(索引)
  • count: 访问次数
  • stat_date: 统计时间(索引,精确到分钟)

使用方法

1. 查看统计看板

  1. 登录管理后台
  2. 导航到 统计流量统计看板
  3. 可以查看:

    • 总访问量、页面浏览量、独立IP、独立页面
    • 真人访问和爬虫访问的对比
    • 热门页面 Top 20
  4. 支持筛选:

    • 日期范围:今天、昨天、最近7天、最近30天、最近90天
    • 访问者类型:全部、真人访问、爬虫访问

2. 查看详细列表

  1. 登录管理后台
  2. 导航到 统计流量明细
  3. 可以查看每条访问记录的详细信息
  4. 支持筛选:

    • 访问类型(真人/爬虫)
    • 爬虫来源
    • 日期范围

3. 手动触发批量写入

如果需要立即将缓存数据写入数据库,可以执行:

php artisan app:batch-write-traffic-stats

4. 手动清理数据

清理超过指定天数的数据:

# 清理90天前的数据(默认)
php artisan app:clean-old-traffic-stats

# 清理30天前的数据
php artisan app:clean-old-traffic-stats --days=30

# 清理180天前的数据
php artisan app:clean-old-traffic-stats --days=180

数据管理

数据保留策略

  • 默认保留时间:90天
  • 清理时间:每天凌晨2点自动执行
  • 清理方式:分批删除,每批1000条记录

数据统计方法

获取指定时间范围内的统计数据
use App\Models\TrafficStatistic;
use Illuminate\Support\Carbon;

// 获取最近7天的所有数据
$startDate = Carbon::today()->subDays(6);
$endDate = Carbon::today()->endOfDay();
$stats = TrafficStatistic::getStatsByDateRange($startDate, $endDate);

// 只获取真人访问数据
$humanStats = TrafficStatistic::getStatsByDateRange($startDate, $endDate, false);

// 只获取爬虫访问数据
$botStats = TrafficStatistic::getStatsByDateRange($startDate, $endDate, true);
获取热门页面
// 获取最近7天的热门页面 Top 10
$topPages = TrafficStatistic::getTopPages($startDate, $endDate, 10);

// 只获取真人访问的热门页面
$topHumanPages = TrafficStatistic::getTopPages($startDate, $endDate, 10, false);

// 只获取爬虫访问的热门页面
$topBotPages = TrafficStatistic::getTopPages($startDate, $endDate, 10, true);

常见问题

Q1: 为什么有些访问没有被统计?

A: 系统会自动排除以下请求:

  • 管理后台和个人中心的访问
  • API 路由
  • 静态资源文件
  • 非 GET 请求

如果您的访问路径符合以上条件,将不会被统计。

Q2: 数据多久写入一次数据库?

A: 系统每5分钟自动批量写入一次。如果需要立即写入,可以手动执行 php artisan app:batch-write-traffic-stats 命令。

Q3: 如何修改数据保留时间?

A: 有两种方式:

  1. 修改定时任务:编辑 routes/console.php,修改 --days 参数
  2. 手动执行:执行 php artisan app:clean-old-traffic-stats --days=天数

Q4: 爬虫识别不准确怎么办?

A: 可以修改 app/Http/Middleware/TrackTraffic.php 中的 isBot()getSpiderSource() 方法,添加或修改爬虫识别规则。

Q5: 如何查看缓存中的数据?

A: 可以使用 Laravel Tinker:

php artisan tinker

然后执行:

// 查看某个时间点的队列
Cache::get('traffic:queue:2026-01-17-14-30');

// 查看所有流量相关的缓存键(需要 Redis)
Redis::keys('traffic:*');

Q6: 数据量很大,会影响性能吗?

A: 系统采用了以下优化措施:

  • 使用缓存暂存数据,减少数据库写入频率
  • 批量写入,每5分钟写入一次
  • 使用索引优化查询性能
  • 自动清理过期数据,控制数据量

如果数据量仍然很大,可以考虑:

  • 缩短数据保留时间
  • 增加批量写入频率
  • 优化数据库索引

Q7: 如何禁用流量统计?

A:routes/web.php 中移除 TrackTraffic::class 中间件即可。

Q8: 可以统计其他路径吗?

A: 可以修改 app/Http/Middleware/TrackTraffic.php 中的 shouldTrack() 方法,调整过滤规则。

相关文件

  • 中间件:app/Http/Middleware/TrackTraffic.php
  • 批量写入任务:app/Jobs/BatchWriteTrafficStatsJob.php
  • 清理命令:app/Console/Commands/CleanOldTrafficStats.php
  • 数据模型:app/Models/TrafficStatistic.php
  • 统计看板:app/Filament/Manager/Pages/TrafficStatistics.php
  • 详细列表:app/Filament/Manager/Resources/TrafficStatisticResource.php
  • 数据库迁移:database/migrations/2026_01_17_204550_create_traffic_statistics_table.php

更新日志

2026-01-17

  • ✅ 初始版本发布
  • ✅ 支持真人/爬虫区分
  • ✅ 支持爬虫来源识别
  • ✅ 自动批量写入和清理

文档版本:1.0
最后更新:2026-01-17

我使用 Koa 很多年了,一直很喜欢它简洁的设计哲学。近几年在 Cloudflare Worker 上开发较多,接触到了 Hono 。Hono 也是一个不错的框架,但在深入使用后,我对它的一些设计理念并不是很认同,于是萌生了自己造个轮子的想法。

我为新框架设定了三条核心原则:

  1. 微内核架构:与 Koa 类似,保留了洋葱模型的中间件设计,同时还补充了插件系统
  2. 符合直觉的 API 设计:摒弃 Koa 的 delegates 思路,API 严格区分 ctx/ctx.req/ctx.res ,更加符合语义
  3. 环境无关性:可在 Node.js 、Bun 、Deno 以及 Cloudflare Worker 、Vercel 等边缘环境运行

于是 Hoa 诞生了。目前我跟另一个维护者已经为 Hoa 补充了近 30 个常用中间件,我也已经将手头大部分项目从 Koa 迁移至 Hoa 。今天分享出来,希望更多人去使用,也期待收到更多反馈,共同把 Hoa 框架打磨得更好。

特点

  • ⚡ Minimal - Only ~4.4KB (gzipped).
  • 🚫 Zero Dependencies - Built on modern Web Standards with no external dependencies.
  • 🛠️ Highly Extensible - Features a flexible extension and middleware system.
  • 😊 Standards-Based - Designed entirely around modern Web Standard APIs.
  • 🌐 Multi-Runtime - The same code runs on Cloudflare Workers, Deno, Bun, Node.js, and more.
  • ✅ 100% Tested – Backed by a full-coverage automated test suite.

安装

npm i hoa --save

快速开始

import { Hoa } from 'hoa'
const app = new Hoa()

app.use(async (ctx, next) => {
  ctx.res.body = 'Hello, Hoa!'
})

export default app

License

MIT

我先介绍一下自己,目前大四即将毕业,在某普通双非学校读网络空间安全专业,22 年开始做了一些公益的服务同学的一些服务或网站,那时候技术还没现在这样,只会一些简单的数据整理。积累了一些用户量

大三学会了教务系统模拟登录,逐渐开始扩展到教务系统查询中间件开发了,主要是学校官方的教务系统,年代比较老,移动端上使用体验很差,很不方便,就做了个查询中间件,方便同学使用,也提供了一些扩展功能。有个微信公众号,关注量有 1w,实际用户几千吧

最近几天被教务处下要求了,要求关停相关所有服务,也是教务处那边老师通知到学院,学院再通知我,把我喊办公室谈话。不过学院的老师都挺好的,认可我的技术和为同学服务的心,不过教务处有相关要求也不能不听,毕竟也是爬的,本来也涉及一点灰色,就只能全都下线了。公众号停服通知刚发几秒就十几个转发

但是同学们不乐意了,当晚校园论坛炸锅,热榜话题前十有 9 个是 “痛斥” 学校这种要求,好用的工具没了同学们可能是不乐意(其实还有个原因是官方的 app 服务宕机很久了),甚至有对学校的负面言论。

本来以为关停就啥事没有了,结果第二天导员喊我去办公室,舆情出现了,有人把一些负面言论发到网络平台了,被校里通知下来了找我了解情况,甚至有谣传我被处分,学院又写了澄清通告,关于服务下线的通知,又让去我写一份服务是如何获取教务系统数据的,做了哪些安全措施,加密,防火墙之类的。

学院老师都挺好的,鼓励肯定我的技术,给我一种一直在保护我鼓励我的感觉
一去办公室好几个老师都来问我聊天好奇是怎么实现的

下面是事发之后写了一个回忆,记录了一下从大二到现在经历的事情,其实本来就想写的一致没时间写,正巧被要求停服了,顺便写的,发完之后,下面留言区收到 100 + 留言 “送行” 的,一个人能做到现在也算是成功了(应该)

总结

其实前几周就想写一下了,本来打算是过几天再写这个的,不过现在曲奇教务也停运了,今天有空明天上实训就没什么时间,顺手写写吧,这篇是单纯抒情,大家老师们不要误解,曲奇停运,对我来说倒是没什么,无非就是不能运行了,代码会一直在,可能等我闲着没事,再翻出来品品,看看有什么陈年老 bug 没修

我和曲奇是我大二认识的,那时候还没有曲奇这个东西,那时候叫 “选课指北”

故事发生于 2023 年 8 月 23 日 7 点 11 分,依稀记得也是选课的前一天,当时我正在学习搭建技术博客,用来记录自己的一些技术学习的(CTF 圈几乎每个人都有的一个东西),选课前一天看到 QQ 群很多同学问,xxx 老师咋样啊,xxx 老师给分高不高啊,上 xxx 课需要准备什么啊。
QQ 群的信息是分散的,没一会儿,消息就被刷屏了。我灵机一动想到了一个鬼点子,把这些信息收集起来,汇总一下放到网站上,这样信息比较集中,找起来也很方便。但当时我也不知道有没有人愿意提交,感觉 “填问卷” 这件事本身就是被反感并且占用时间的事情,就给自己拟了一个指标,超过 50 个人投稿我就一直做下去。最开始也没想到会建公众号这种东西,就在 QQ 空间发了个动态,没想到收到了 60 + 的转发,投稿也很快到了 50,非常令我意想不到。于是就整理整理放到网站上一直做了,不过只涉及选课推荐的内容。第二天又灵机一动,既然有选课了,为什么不试试扩大范围,把在校生活可能涉及到对方方面面都可以写写,于是借着 “上海交大生存手册” 的名字东施效颦取了个名叫 “xxxx 生存手册”

那时候还挺沾沾自喜哦,发个朋友圈满足一下,我们社团老师哥评论说,用自己所学技术改变生活就是成功,到现在都记得,现在看来那时的我真小儿科,有点小成就嘴角就压不住了

后来,东西做出来了,没有知名度,大家都不知道,那还是相当于没有,遇到了两个师哥,他们帮我宣传了几个群,了解的人也比以前多了,网页浏览日活从几十个上升到 1k,投稿量也变多了,数据整理也是小心翼翼的,一般只会放一些推荐内容,避雷一般不放,也很少有避雷投稿,大家也都投稿的推荐,我记得这个时间,大概是大二下了,学院的老师就已经知道有这么个事了,也还挺好的,老师也提醒了一下注意把握好内容尺度。

后来,建了个 QQ 群,选课的时候大家群里讨论选什么怎么选,认识到数学科学学院一位师哥,应该是在学院做过很多选课相关培养方案相关解读的,数院 22 级 23 级应该都认识,跟着师哥了解到很多选课相关的信息,那段时间,我成了 “选课客服”,铺天盖地的私聊问我啥啥啥该选啥,啥啥啥那那个不能选,啥啥啥算不算学分,能不能代替学分啥的。那两天几乎没停手,键盘都敲烂了,在家里我妈问我啪嗒啪嗒干啥呢一敲敲一天。后来越来越熟悉之后,我也是班委嘛,也在学校教务官方群里,有些同学群里问,我看到有我知道的就顺手回复了,不知道的就装看不见免得说错了,还被我们学院教务老师夸过(呲牙),后来牵扯到教务培养方案变化我也跟不上版本就不再接触这方面的解答了

再后来,刷表白墙看到有人投稿了一个 word 版本的,性质类似的手册,我联系到了原作者,那是一个 17 级的师哥,很久远了,经过了本人同意,不过年代比较久远了,信息最讲究时效性,挑拣了其中的一些内容整合到 “生存手册” 里面,再后来又遇到了同学分享了自己整理的快递点汇总,一些不起眼的教学楼的地图汇总,也是联系到了本人征求了同意,整合到了 “生存手册” 里面,后来他成为我们内容的一大部分投稿者。后来有个同学私聊我说我(我也不认识他),生存手册是生存手册,和上海交大的比,我这根本算不上是生存手册,于是就改名 “速通指南” 了,正好跟 “选课指北” 呼应一下

大二那段时间,整日泡在空教室,图书馆,实验室里面研究折腾怎么调整页面优化页面,选合适的技术框架,怎么更方便的查询,那时候没有 ai,那种学到知识的满足感成就感,是最快乐的时光,有时候一个很简单的问题,甚至是解决不了的问题,能研究两个星期,虽然效率低下,但是很充实很快乐,我自己有查空教室的需求,这可能也为以后埋下了一颗种子,“选课指北” 和 “速通指南” 也合并成了一整个站点,买了个域名 easy-qfnu.top,取名为 easy-qfnu,寓意更简单的 qfnu

也是大二这个时候,对技术上瘾(现在也是),专业课也不怎么听课,上课就拿个平板远程电脑捣鼓代码,期末周突击一下好在没挂科,感谢我的计组老师,在划重点划的非常饱满的前提下,还捞了这个烂泥扶不上墙的我一把,给了我 60,也是大二开始学习成绩成了倒数,说后悔,也算有点,因为成绩掉下来错过了很多本应该有的东西,也不后悔,至少学到了技术,打了几场比赛拿了寥寥几张证书罢,所谓鱼和熊掌不可兼得,现在想想还有点可惜的,成绩倒数,加上综测竟然变前十了,大三学习靠前了点加上综测更是到了 No1,不过成绩没在前 50%,没得用,这东西就该有成绩有综测的别人拿

大二结束那段暑假,偶然了解到 QQ 机器人,一个现代化的消息端框架,由于社区规范这里就不点名是哪个了,不适合公开传播,很方便,通过 http or websocket 建立连接,就可以调用内部 api 实现自动化处理消息,这也圆了我小时候的梦想 “自己开发自己需要的 QQ 机器人”,想当年我是初中了解到 qq 机器人这个东西的,第一次接触到的是酷 Q,也是目前 onebot 协议的的根基,想起酷 Q 来了,也是因为鹅厂律师函,社区停运了,和曲奇教务真是差不多同病相怜一个大点一个小点。但好在有无数开发者前赴后继,QQ 机器人社区生态并没有完全死亡,到现在依然很活跃,大家都约定俗成,管住嘴,不传播。

那段暑假留校,每天就在宿舍库库写代码写机器人,在新生群活跃,24 级 25 级可能是印象最深的,24 级应该熟悉,这时候正值 24 级入学那时候,诶嘿还因此认识了几个师弟师妹

然后到大三吧,这时候是 ai 发展速度突飞猛进的时候,赶上了 Gemini,Claude,ChatGPT 这种代码编辑能力很强的大模型的时代,借助他们的力量才让我的开发效率直接 plusplusplus,要不然光学一个新的技术栈就够喝几壶的学个一两个月的,最大的感受就是 ai 的发展,降低了简单技术的门槛,但也消磨了一部分学习积极性,我就深受其害,再也体会不到大二那种因为一个小问题琢磨两周的充实感了,现在只有 “不会就问 ai” 这种碎片化学习的习惯,实则对系统性学习一点帮助都没有,唯一的好处就是提高了开发效率。

从大二到大三到现在,最开始用的 hexo 博客框架,这是雏形,后来受到 helloctf 启发,换了 mkdocs 这种系统性对 wiki 框架,再后来换了 vuepress,还跟 vuepress 框架的维护者有过一些技术交流,没记错的话应该是一位 92 的物理学专业的硕士 or 博士?,兼职开发(真厉害啊)
再到后来尝试调用教务系统查空教室,最开始是用的 QQ 机器人(卷卷),后来因为加好友频繁加不上,准备做网页端,首选的是 fastapi 加 vue 前后端分离,奈何我只会后端,前端全靠 ai 写,写着写着写不动了,就废弃了,后来换了微信公众号作为交互媒介,勉强能用,不过依赖固定格式的命令来交互,比较笨拙不方便,恰好了解到轻量级的 vuejs 和 flask 这两个技术栈,也就是曲奇现在这个样子,原来的 wiki 站点其实用了一个给那个前沿技术的 pandawiki,内置 ai 搜索,只不过没放出来

我也忘了啥时候想到的开个公众号了,最开始说方便发网站的更新通知的,见证了关注者从一个 0 变成四个 0,QQ 群从 1 个人变成了 7000 人

曲奇教务这个名字是怎么来的呢,有一天,我朋友跟我说,你可以改个名,你现在这个名(easy-qfnu),一长串英文,大家都记不住,你看夫子校园大家都看几眼就记住了,正好有个认识的朋友的朋友,太原理工的,他们两三个人也做了他们学校的第三方教务,叫 “呆梨教务” 听名字还挺可爱的,于是我也以 “零食” 入手取个名字,又想到跟 “曲” 碰碰瓷,“曲奇教务” 应运而生。

其实我网名是 W1ndys,也是打 ctf 比赛常用的名,不过在圈外看来,这名字并不好记,也不好读,就干脆用机器人的名字了,我就叫卷卷了,机器人叫卷卷这个名字源自于大家都说我卷( 于是写的机器人就叫卷卷还有其他称呼,硕神是最开始初中同学称呼我都,再后来我舍友也这么称呼,然后慢慢传开了,反正称呼啥都行只要别骂我就行,还有喊我师姐的也默认了,当场澄清显得对方还怪尴尬,毕竟我的社交账号都比较偏卡通风格也难以区分性别

这两次来来回回导员也 call 了我 n 个电话,也给我两个导添麻烦了,我导都很和蔼可亲,去办公室做了下相关工作,回来我该删的删就完事了

我去,怎么写了这么多,现在是 01:48,回忆也回忆的差不多了,有些事情想不起来了,想到再评论区补充吧,曲奇也成为历史了,很荣幸能够帮到大家,成为大家大学时光一段记忆,其实感觉,早就料到会有这一天了,第三方工具本来也活不久。宣布停运之后,校园墙一晚上霸占热榜,直接刷屏了,第一次切身感受到一个人的力量竟然这么大

哎还是想劝劝师弟师妹们,备考期间千万管住手,兴趣爱好上瘾的,控制一下,不要像我一样,写个代码没完,到最后学不完了,复习不扎实,可能连国家线都考不到,哈哈哈哈,明年见明年我们(和 23 级,22 级的别来读你的研去)还在一起备考

想到的大概也就这么多了吧,晚上大脑不清醒想到啥再评论区补充,就当日记本写了

国有国法家有家规,教务也有教务的规定,既然教务下了要求了,就该怎么处理就怎么处理。

曲奇的使命也到此为止了,祝大家期末顺利,学习进步,天天开心,新年快乐 (´ω`)♪祝看到的老师们工作顺利身体健康 o (^▽^) o
晚安,曲奇


📌 转载信息
原作者:
W1ndys
转载时间:
2026/1/8 10:13:59