[{"data":1,"prerenderedAt":1236},["ShallowReactive",2],{"\u002Fblog\u002F2026.1":3,"article-nav-posts":1177},{"id":4,"title":5,"body":6,"category":1163,"cover":1164,"date":1165,"description":1166,"draft":1167,"extension":1168,"meta":1169,"navigation":1170,"path":1171,"seo":1172,"stem":1173,"tags":1174,"updated":1164,"__hash__":1176},"blog\u002Fblog\u002F2026.1.md","毕业",{"type":7,"value":8,"toc":1122},"minimark",[9,13,21,24,30,33,36,39,43,46,49,65,70,73,76,102,105,110,113,123,125,129,132,135,161,164,169,172,175,177,181,184,186,215,218,224,227,229,233,236,239,264,267,272,278,281,290,292,296,299,302,328,331,336,339,341,344,347,350,355,357,361,368,371,412,415,421,424,426,430,433,468,471,477,479,482,486,489,527,530,535,538,541,543,547,550,552,575,578,584,586,589,592,595,603,605,609,612,615,652,655,661,663,667,670,672,698,701,707,709,712,715,720,722,726,728,751,754,765,771,773,776,779,781,785,787,810,813,819,821,825,828,830,850,853,855,859,862,864,890,893,898,904,906,909,911,915,917,947,950,956,958,962,965,967,999,1005,1007,1011,1015,1018,1021,1056,1059,1070,1076,1079,1081,1084,1087,1090,1093,1096,1099,1102,1104,1107,1110,1113,1116,1119],[10,11,12],"p",{},"转眼之间，本科阶段已经结束了。",[10,14,15,16,20],{},"回头看这几年的学习经历，很多课程、项目、熬夜调试代码的瞬间，已经慢慢构成了自己对计算机这个领域最初的理解。从写第一行 ",[17,18,19],"code",{},"printf(“Hello World”);"," 开始，到后来接触算法、系统、AI、工程化开发，再到毕业项目——很多东西不再只是「课程」，而是一个逐渐建立技术世界观的过程。",[10,22,23],{},"有些课学得很痛苦，赶 due 赶到崩溃，也会在某个深夜突然意识到：",[25,26,27],"blockquote",{},[10,28,29],{},"软件系统是由无数细节堆积起来的。",[10,31,32],{},"这篇文章算是对本科阶段的一个简单总结，也记录一下这些年接触过的方向与内容。",[10,34,35],{},"写这些课程的时候其实很难完全客观。每门课背后都有一些很具体的画面：COMP1521 早八 Andrew 在 Lecture 总会说一些和课没关系的内容（很喜欢和我们吹水）；COMP2521 一直编译 assignment，autotest 怎么都跑不过；COMP1531 和 COMP3900 组会里大家盯着同一个 bug 绷不住地笑；还有考前翻 notes 翻到怀疑人生的晚上。现在看来真的有点搞笑——它们不只是课程代码和成绩单上的几行字，更像是我一点点被计算机这门学科改变的过程。",[37,38],"hr",{},[40,41,42],"h2",{"id":42},"编程与软件开发方向",[10,44,45],{},"这一部分是本科阶段最核心、接触时间最长的内容。",[10,47,48],{},"从最基础的编程入门，到软件工程、面向对象设计、代码架构、工程协作，其实一直在学同一件事：",[50,51,52,56,59,62],"ul",{},[53,54,55],"li",{},"如何把想法真正变成软件",[53,57,58],{},"如何让代码可维护",[53,60,61],{},"如何和别人一起开发",[53,63,64],{},"如何面对复杂系统而不失控",[66,67,69],"h3",{"id":68},"comp1511-programming-fundamentals","COMP1511 Programming Fundamentals",[10,71,72],{},"最开始接触编程的一门课。",[10,74,75],{},"主要学习了：",[50,77,78,81,84,87,90,93,96,99],{},[53,79,80],{},"C 语言基础",[53,82,83],{},"条件语句与循环",[53,85,86],{},"函数",[53,88,89],{},"指针",[53,91,92],{},"数组",[53,94,95],{},"链表",[53,97,98],{},"基础数据结构",[53,100,101],{},"测试与 Debug 思维",[10,103,104],{},"也是从这里开始第一次真正理解：",[25,106,107],{},[10,108,109],{},"编程不仅仅是“写代码”，而是训练逻辑表达能力。",[10,111,112],{},"刚开始写 C 的时候很痛苦，一个分号、一个括号、一个数组越界都能让程序崩掉。后来慢慢习惯了，发现编程其实就是把问题拆成机器能懂的步骤——条件、循环、函数、数组、链表，都是基础但重要的东西。",[10,114,115,116,122],{},"那段时间还用 C 写了一些数据结构和算法的小练习，录成视频传到了 B 站：",[117,118,119],"a",{"href":119,"rel":120},"https:\u002F\u002Fspace.bilibili.com\u002F252530235\u002Fupload\u002Fvideo",[121],"nofollow","。",[37,124],{},[66,126,128],{"id":127},"comp1531-software-engineering-fundamentals","COMP1531 Software Engineering Fundamentals",[10,130,131],{},"第一次正式接触软件工程。",[10,133,134],{},"包括：",[50,136,137,140,143,146,149,152,155,158],{},[53,138,139],{},"Git 协作",[53,141,142],{},"RESTful API",[53,144,145],{},"团队开发",[53,147,148],{},"Agile \u002F iterative development",[53,150,151],{},"Testing",[53,153,154],{},"CI \u002F deployment 基础",[53,156,157],{},"后端系统设计",[53,159,160],{},"文档编写",[10,162,163],{},"这门课让人第一次意识到：",[25,165,166],{},[10,167,168],{},"工程化开发和个人写小程序完全是两回事。",[10,170,171],{},"个人写代码的时候很多东西可以随便来，变量名乱一点、测试少一点也能跑。但团队开发不行——你的代码会被别人调用、修改，merge 的时候也可能出问题。Git、API 文档、测试、CI 这些东西，就是为了让一群人合作的时候不至于乱掉。",[10,173,174],{},"这门课主讲了前端 JavaScript 和 TypeScript，重点在测试和协作，初步养成了「前端是什么、后端是什么、它们如何配合」的意识。",[37,176],{},[66,178,180],{"id":179},"comp2041-software-construction-techniques-and-tools","COMP2041 Software Construction: Techniques and Tools",[10,182,183],{},"更偏向于工具链与工程实践。",[10,185,134],{},[50,187,188,191,194,197,200,203,206,209,212],{},[53,189,190],{},"Unix filters",[53,192,193],{},"Shell scripting",[53,195,196],{},"Python scripting",[53,198,199],{},"Linux 环境",[53,201,202],{},"Git",[53,204,205],{},"Docker \u002F package managers 基础",[53,207,208],{},"自动化处理",[53,210,211],{},"正则表达式",[53,213,214],{},"软件构建与部署思想",[10,216,217],{},"也是第一次开始真正习惯命令行开发环境。",[10,219,220,223],{},[17,221,222],{},"COMP2041"," 教的是工具链：shell、管道、正则、Python 脚本、Linux、Git、Docker、package manager。都是很碎的东西，但组合起来能解决很多实际问题。这门课之后我开始习惯用命令行处理重复劳动，不用什么都手动点来点去。",[10,225,226],{},"内容很实用，但考试真的很抽象，要手写大量正则表达式。",[37,228],{},[66,230,232],{"id":231},"comp2511-software-design-and-architecture","COMP2511 Software Design and Architecture",[10,234,235],{},"面向对象设计与软件架构。",[10,237,238],{},"核心内容包括：",[50,240,241,244,247,250,253,256,259,262],{},[53,242,243],{},"OOP 思想",[53,245,246],{},"Java",[53,248,249],{},"设计模式",[53,251,252],{},"SOLID Principles",[53,254,255],{},"UML",[53,257,258],{},"Refactoring",[53,260,261],{},"软件设计与架构",[53,263,151],{},[10,265,266],{},"这门课最大的收获并不是 Java 本身，而是：",[25,268,269],{},[10,270,271],{},"如何组织一个大型代码库。",[10,273,274,277],{},[17,275,276],{},"COMP2511"," 教的是怎么组织代码。代码能跑是一回事，代码能维护是另一回事。OOP、SOLID、设计模式、refactoring——刚开始觉得这些很抽象，后来项目大了才发现，没有这些东西代码真的会乱到没人想碰。",[10,279,280],{},"重构是真的费时费力。这门课让我们从头设计一个火车站记录程序，然后直接上手重构一个两千行的小项目。",[10,282,283,284,289],{},"大学期间也试着用 TypeScript 做过一些前端项目，比如这个只有六十多分的作业：",[117,285,288],{"href":286,"rel":287},"https:\u002F\u002Fgithub.com\u002FAyanamizzz\u002FH16A_TeamWork",[121],"H16A_TeamWork","。分数不高，代码也很乱，但踩着坑走一遍之后，对类型系统和工程协作的理解确实深了一些。",[37,291],{},[66,293,295],{"id":294},"comp6991-solving-modern-programming-problems-with-rust","COMP6991 Solving Modern Programming Problems with Rust",[10,297,298],{},"非常有特色的一门课。",[10,300,301],{},"通过 Rust 学习：",[50,303,304,307,310,313,316,319,322,325],{},[53,305,306],{},"Ownership",[53,308,309],{},"Borrow Checker",[53,311,312],{},"Memory Safety",[53,314,315],{},"类型系统",[53,317,318],{},"并发与并行",[53,320,321],{},"Testing \u002F documentation",[53,323,324],{},"Cargo 工具链",[53,326,327],{},"函数式编程风格",[10,329,330],{},"虽然过程很折磨，但也第一次真正开始理解：",[25,332,333],{},[10,334,335],{},"底层内存管理与高级语言抽象之间的关系。",[10,337,338],{},"Rust 很难，borrow checker 折磨人。但它逼你认真想清楚：数据属于谁、谁在用、什么时候释放。以前写 C 的时候这些问题也存在，只是语言不帮你检查。写 Rust 会慢，但慢下来之后确实写出来的东西更稳。",[37,340],{},[40,342,343],{"id":343},"数据结构与算法方向",[10,345,346],{},"这是整个 CS 基础中最“硬核”的部分。",[10,348,349],{},"很多时候会觉得抽象、困难，但后来会慢慢发现：",[25,351,352],{},[10,353,354],{},"算法训练其实是在训练分析问题的能力。",[37,356],{},[66,358,360],{"id":359},"comp2521-data-structures-and-algorithms","COMP2521 Data Structures and Algorithms",[10,362,363,364],{},"经典核心课程。刚学这门课的时候 Lecturer 和我们说：",[365,366,367],"strong",{},"「之前的课，你只是一个初级的程序员，但是现在你需要像一个计算机科学家一样思考。」",[10,369,370],{},"学习了：",[50,372,373,376,379,382,385,388,391,394,397,400,403,406,409],{},[53,374,375],{},"Recursion",[53,377,378],{},"Algorithm analysis",[53,380,381],{},"Abstract Data Types",[53,383,384],{},"Sorting",[53,386,387],{},"Tree",[53,389,390],{},"Balanced Search Tree",[53,392,393],{},"Graph",[53,395,396],{},"BFS \u002F DFS \u002F Dijkstra 及衍生算法",[53,398,399],{},"Hash",[53,401,402],{},"Heap",[53,404,405],{},"Queue",[53,407,408],{},"Priority Queue",[53,410,411],{},"Trie",[10,413,414],{},"也是第一次真正理解数据结构和简单的算法。",[10,416,417,420],{},[17,418,419],{},"COMP2521"," 是一道分界线。之前的课主要问「能不能写出来」，这门课开始问「为什么这样写」。数组、链表、树、哈希表、图——选哪个不是随便决定的，要看数据怎么存、怎么查、时间和空间怎么换。学了之后，程序为什么会慢不再是模糊的感觉，可以用复杂度来解释。",[10,422,423],{},"这门课真的很难，理论理解和代码编写都不轻松。",[37,425],{},[66,427,429],{"id":428},"comp3121-algorithm-design-and-analysis","COMP3121 Algorithm Design and Analysis",[10,431,432],{},"相比于数据结构，这门课更加偏向：",[50,434,435,438,441,444,447,450,453,456,459,462,465],{},[53,436,437],{},"算法证明 \u002F 数学分析",[53,439,440],{},"Correctness",[53,442,443],{},"Time Complexity",[53,445,446],{},"DP",[53,448,449],{},"Greedy",[53,451,452],{},"Divide and Conquer",[53,454,455],{},"Graph algorithms",[53,457,458],{},"Strings",[53,460,461],{},"NP 问题",[53,463,464],{},"流问题 Max Flow Min Cut",[53,466,467],{},"LaTeX 技术写作",[10,469,470],{},"很多题目都非常抽象，但训练了严谨思维。",[10,472,473,476],{},[17,474,475],{},"COMP3121"," 和写代码不太一样。写代码错了至少能 debug，算法设计错了你可能根本不知道。DP、greedy、divide and conquer、graph algorithms、NP、flow——每一个都要写证明，而写证明的时候脑子经常一片空白。但熬过来之后，确实学会了更严谨地思考问题。",[37,478],{},[40,480,481],{"id":481},"数学课程",[66,483,485],{"id":484},"math1131-mathematics-1a-math1231-mathematics-1b","MATH1131 Mathematics 1A \u002F MATH1231 Mathematics 1B",[10,487,488],{},"主要包括：",[50,490,491,494,497,500,503,506,509,512,515,518,521,524],{},[53,492,493],{},"微积分",[53,495,496],{},"多变量微积分",[53,498,499],{},"线性代数",[53,501,502],{},"向量",[53,504,505],{},"矩阵",[53,507,508],{},"线性方程组",[53,510,511],{},"Vector spaces",[53,513,514],{},"Linear transformations",[53,516,517],{},"Eigenvalues \u002F Eigenvectors",[53,519,520],{},"ODE",[53,522,523],{},"Series",[53,525,526],{},"Probability distributions",[10,528,529],{},"虽然当时经常会想：",[25,531,532],{},[10,533,534],{},"“这玩意以后真的有用吗？”",[10,536,537],{},"但后来在 AI、图形学、优化问题里都会重新遇到。",[10,539,540],{},"数学课在当时显得很遥远——矩阵、积分、级数、特征值、ODE，做的时候不觉得有什么用。但后来学 AI、computer vision、optimisation 的时候，线性代数和微积分反复出现。当时觉得没用，其实是还没学到需要它们的地方。",[37,542],{},[66,544,546],{"id":545},"math1081-discrete-mathematics","MATH1081 Discrete Mathematics",[10,548,549],{},"离散数学几乎是整个 CS 理论的基础。",[10,551,134],{},[50,553,554,557,560,563,566,569,572],{},[53,555,556],{},"Logic",[53,558,559],{},"Set Theory",[53,561,562],{},"Number Theory",[53,564,565],{},"Proof",[53,567,568],{},"Recurrence",[53,570,571],{},"Graph Theory",[53,573,574],{},"Combinatorics",[10,576,577],{},"也让自己第一次正式接触数学证明。",[10,579,580,583],{},[17,581,582],{},"MATH1081"," 和计算机很近。Logic、set、proof、graph、combinatorics——这些东西表面上不写代码，但条件判断是逻辑，状态转移是图，递归和 recurrence 是同一个东西，算法正确性要靠证明。这门课让我开始习惯「证明」这件事，虽然烦，但有用。",[37,585],{},[40,587,588],{"id":588},"人工智能与计算机视觉方向",[10,590,591],{},"这是后来逐渐开始感兴趣的方向。",[10,593,594],{},"相比传统开发，这部分内容更加偏向：",[50,596,597,600],{},[53,598,599],{},"“让机器理解”",[53,601,602],{},"“让系统具有推理能力”",[37,604],{},[66,606,608],{"id":607},"comp3411-artificial-intelligence","COMP3411 Artificial Intelligence",[10,610,611],{},"AI 基础课程。",[10,613,614],{},"涉及：",[50,616,617,620,623,626,629,632,635,638,641,644,646,649],{},[53,618,619],{},"Search",[53,621,622],{},"Autonomous Agents",[53,624,625],{},"Knowledge Representation",[53,627,628],{},"Problem Solving",[53,630,631],{},"Machine Learning 基础",[53,633,634],{},"Neural Networks",[53,636,637],{},"Reinforcement Learning",[53,639,640],{},"Optimisation",[53,642,643],{},"Reasoning under uncertainty",[53,645,556],{},[53,647,648],{},"Planning",[53,650,651],{},"Vision \u002F Language Processing 基础",[10,653,654],{},"第一次真正理解 AI 并不只是“调用模型”。",[10,656,657,660],{},[17,658,659],{},"COMP3411"," 讲的是 AI 的底层：搜索、知识表示、推理、机器学习基础。不是直接学怎么调用模型，而是学模型背后在做什么。学完之后意识到，定义问题、表示数据、设计目标、评估结果——这些比模型本身更重要。",[37,662],{},[66,664,666],{"id":665},"comp9517-computer-vision","COMP9517 Computer Vision",[10,668,669],{},"计算机视觉相关课程。",[10,671,134],{},[50,673,674,677,680,683,686,689,692,695],{},[53,675,676],{},"Image Processing",[53,678,679],{},"Feature Extraction",[53,681,682],{},"Object Detection",[53,684,685],{},"Scientific \u002F statistical \u002F engineering approaches to vision",[53,687,688],{},"Computer vision algorithms",[53,690,691],{},"CNN 基础",[53,693,694],{},"OpenCV",[53,696,697],{},"Group project \u002F larger vision application",[10,699,700],{},"也是第一次真正处理图像数据。",[10,702,703,706],{},[17,704,705],{},"COMP9517"," 处理的是图像，和文本、数字很不一样。人对图像太熟悉了，很容易忘记机器看到的只是像素和噪声。边缘检测、特征提取、目标识别——光照变一点、角度偏一点，结果就完全不一样。OpenCV 和 CNN 上手快，但真想做好还是要理解图像本身的结构。",[37,708],{},[40,710,711],{"id":711},"系统与底层方向",[10,713,714],{},"这一部分课程让人意识到：",[25,716,717],{},[10,718,719],{},"高级语言背后，其实隐藏着大量底层机制。",[37,721],{},[66,723,725],{"id":724},"comp1521-computer-systems-fundamentals","COMP1521 Computer Systems Fundamentals",[10,727,488],{},[50,729,730,733,736,739,742,745,748],{},[53,731,732],{},"Assembly",[53,734,735],{},"Memory",[53,737,738],{},"CPU",[53,740,741],{},"Binary Representation",[53,743,744],{},"C 与 Assembly 的关系",[53,746,747],{},"Operating System 基础",[53,749,750],{},"Concurrency 基础",[10,752,753],{},"第一次真正开始理解：",[50,755,756,759,762],{},[53,757,758],{},"程序到底是怎么运行的",[53,760,761],{},"指针为什么危险",[53,763,764],{},"内存为什么会出问题",[10,766,767,770],{},[17,768,769],{},"COMP1521"," 学的是计算机底层：汇编、内存、CPU、二进制、系统调用。以前写 C 崩了就是崩了，学完这门课能大概知道崩在哪里。指针也不那么玄了——它就是直接操作内存地址，危险但透明。",[37,772],{},[40,774,775],{"id":775},"数据库与信息系统方向",[10,777,778],{},"除了纯技术之外，也接触了一些偏商业与信息系统管理的内容。",[37,780],{},[66,782,784],{"id":783},"infs1603-introduction-to-business-databases","INFS1603 Introduction to Business Databases",[10,786,370],{},[50,788,789,792,795,798,801,804,807],{},[53,790,791],{},"SQL",[53,793,794],{},"Relational Database",[53,796,797],{},"Conceptual \u002F relational database modelling",[53,799,800],{},"Schema Design",[53,802,803],{},"Normalisation",[53,805,806],{},"Database implementation",[53,808,809],{},"数据库相关的 professional \u002F ethical issues",[10,811,812],{},"也是第一次真正接触数据库设计。",[10,814,815,818],{},[17,816,817],{},"INFS1603"," 教的是数据库设计。SQL、关系模型、schema、normalisation——把现实业务里的东西抽象成表、字段和关系。模型设计得好，后面查询和维护都顺；模型一开始就别扭，业务逻辑会跟着乱。",[37,820],{},[66,822,824],{"id":823},"infs2602-managing-information-systems","INFS2602 Managing Information Systems",[10,826,827],{},"更偏向企业与组织中的信息系统管理。",[10,829,134],{},[50,831,832,835,838,841,844,847],{},[53,833,834],{},"企业系统",[53,836,837],{},"IT 管理",[53,839,840],{},"信息流",[53,842,843],{},"系统规划",[53,845,846],{},"组织中的信息系统",[53,848,849],{},"信息系统带来的业务、管理和伦理问题",[10,851,852],{},"这类课不关心代码怎么写，而是把系统放回组织里看：谁在用、谁付钱、谁维护、改变了什么流程。内容没有代码课那么「硬」，但软件落地之后确实要面对这些问题。技术方案再好，和实际业务流程脱节也没用。",[37,854],{},[66,856,858],{"id":857},"infs2603-business-analysis-and-agile-product-management","INFS2603 Business Analysis and Agile Product Management",[10,860,861],{},"偏向需求分析、业务建模与产品管理。",[10,863,134],{},[50,865,866,869,872,875,878,881,884,887],{},[53,867,868],{},"Requirement Analysis",[53,870,871],{},"Stakeholder Communication",[53,873,874],{},"Process Modeling",[53,876,877],{},"Agile \u002F Scrum",[53,879,880],{},"Product roadmap",[53,882,883],{},"Prototyping",[53,885,886],{},"Customer needs",[53,888,889],{},"Group work",[10,891,892],{},"也让自己意识到：",[25,894,895],{},[10,896,897],{},"软件开发很多时候并不只是技术问题。",[10,899,900,903],{},[17,901,902],{},"INFS2603"," 教的是需求分析和产品管理。之前写代码习惯把需求当成一句描述，但这门课让你追问：谁提的、解决什么、不同人的期待是否冲突。Agile、Scrum、roadmap、prototype——听起来管理，本质是在处理不确定性。很多项目失败不是因为写不出代码，而是没搞清楚到底要做什么。",[37,905],{},[40,907,908],{"id":908},"人机交互与职业素养方向",[37,910],{},[66,912,914],{"id":913},"comp3511-human-computer-interaction","COMP3511 Human Computer Interaction",[10,916,370],{},[50,918,919,922,925,928,931,933,935,938,941,944],{},[53,920,921],{},"UI\u002FUX",[53,923,924],{},"Visual Design Principles",[53,926,927],{},"User-centered Design",[53,929,930],{},"用户研究",[53,932,868],{},[53,934,883],{},[53,936,937],{},"可用性设计",[53,939,940],{},"Usability Evaluation",[53,942,943],{},"Accessibility",[53,945,946],{},"用户行为分析",[10,948,949],{},"第一次开始从“用户”的角度思考软件。",[10,951,952,955],{},[17,953,954],{},"COMP3511"," 让我意识到不能只从开发者视角看软件。你知道按钮在哪、知道流程为什么这样设计，但用户不知道。UI\u002FUX、accessibility、usability evaluation 就是在解决这个问题——让用户不需要解释就能用。",[37,957],{},[66,959,961],{"id":960},"comp4920-professional-issues-and-ethics-in-information-technology","COMP4920 Professional Issues and Ethics in Information Technology",[10,963,964],{},"偏向行业与职业伦理相关内容。",[10,966,134],{},[50,968,969,972,975,978,981,984,987,990,993,996],{},[53,970,971],{},"软件工程伦理",[53,973,974],{},"Normative ethics",[53,976,977],{},"Research ethics",[53,979,980],{},"职业责任",[53,982,983],{},"Privacy",[53,985,986],{},"Trust \u002F accountability",[53,988,989],{},"AI ethics",[53,991,992],{},"Bias \u002F fairness",[53,994,995],{},"Transparency \u002F explainability",[53,997,998],{},"行业案例分析",[10,1000,1001,1004],{},[17,1002,1003],{},"COMP4920"," 不教技术，讨论的是伦理：privacy、bias、fairness、accountability、AI ethics。技术不是中立的——你怎么收集数据、怎么排序内容、怎么做自动化决策，都会影响真实的人。写代码的人不能永远说「我只是实现需求」。",[37,1006],{},[40,1008,1010],{"id":1009},"毕业设计-实战项目","毕业设计 \u002F 实战项目",[66,1012,1014],{"id":1013},"comp3900-computer-science-project","COMP3900 Computer Science Project",[10,1016,1017],{},"本科阶段最接近真实开发的一门课。",[10,1019,1020],{},"需要：",[50,1022,1023,1026,1029,1032,1035,1038,1041,1044,1047,1050,1053],{},[53,1024,1025],{},"团队协作",[53,1027,1028],{},"Requirement analysis",[53,1030,1031],{},"项目规划",[53,1033,1034],{},"前后端开发",[53,1036,1037],{},"沟通",[53,1039,1040],{},"演示",[53,1042,1043],{},"文档",[53,1045,1046],{},"迭代开发",[53,1048,1049],{},"Progress checkpoints",[53,1051,1052],{},"Final demo \u002F report",[53,1054,1055],{},"Peer assessment",[10,1057,1058],{},"很多时候比起“技术”本身，更考验：",[50,1060,1061,1064,1067],{},[53,1062,1063],{},"如何推进项目",[53,1065,1066],{},"如何协调团队",[53,1068,1069],{},"如何在有限时间里完成目标",[10,1071,1072,1075],{},[17,1073,1074],{},"COMP3900"," 是本科最后一次团队项目。需求会变、时间会不够、队友节奏不同、demo 前总会出问题。以前学的工程协作、系统设计、文档、展示全用上了。最后做的是一个网页应用，功能不算多，但前后端都跑通了。peer assessment 的时候队友给我打了还不错的分，挺开心的。",[10,1077,1078],{},"最后做出来的东西不一定完美，但确实是大家一起一点点推出来的。",[37,1080],{},[40,1082,1083],{"id":1083},"一些感想",[10,1085,1086],{},"本科阶段其实很难说自己真正精通了什么。",[10,1088,1089],{},"更多的是：接触了很多方向，建立了一些基础，知道了计算机世界大概长什么样。",[10,1091,1092],{},"后来慢慢会发现，CS 真正困难的地方不是某一门语言，也不是某一个框架，而是抽象能力、学习能力、以及面对复杂问题时的耐心。",[10,1094,1095],{},"很多课程结束后，知识可能会忘记。但那些训练思维的过程，最终还是会留下来。",[10,1097,1098],{},"毕业之后打算先休息一段时间，然后把博客继续做下去。这个网站从大三开始陆陆续续改到现在，已经不只是个作业或者项目了——它有点像我在互联网上的一个小房间，想放什么就放什么。",[10,1100,1101],{},"之后可能会找一份前端或者全栈的工作，也可能先自己做一些小东西。没想好，但不急。",[37,1103],{},[40,1105,1106],{"id":1106},"结束",[10,1108,1109],{},"至此，本科阶段正式结束。",[10,1111,1112],{},"有遗憾，也有收获。很多事情当时觉得痛苦，但现在回头看，似乎也都成了经历的一部分。",[10,1114,1115],{},"感谢这几年里一起做过 project 的队友、讲过课的老师、还有考试前互相借 notes 的朋友。",[10,1117,1118],{},"未来会继续学习，也会继续写代码。",[10,1120,1121],{},"希望很多年以后再回来看这篇文章的时候，仍然会记得自己最开始为什么会喜欢计算机。",{"title":1123,"searchDepth":1124,"depth":1124,"links":1125},"",2,[1126,1134,1138,1142,1146,1149,1154,1158,1161,1162],{"id":42,"depth":1124,"text":42,"children":1127},[1128,1130,1131,1132,1133],{"id":68,"depth":1129,"text":69},3,{"id":127,"depth":1129,"text":128},{"id":179,"depth":1129,"text":180},{"id":231,"depth":1129,"text":232},{"id":294,"depth":1129,"text":295},{"id":343,"depth":1124,"text":343,"children":1135},[1136,1137],{"id":359,"depth":1129,"text":360},{"id":428,"depth":1129,"text":429},{"id":481,"depth":1124,"text":481,"children":1139},[1140,1141],{"id":484,"depth":1129,"text":485},{"id":545,"depth":1129,"text":546},{"id":588,"depth":1124,"text":588,"children":1143},[1144,1145],{"id":607,"depth":1129,"text":608},{"id":665,"depth":1129,"text":666},{"id":711,"depth":1124,"text":711,"children":1147},[1148],{"id":724,"depth":1129,"text":725},{"id":775,"depth":1124,"text":775,"children":1150},[1151,1152,1153],{"id":783,"depth":1129,"text":784},{"id":823,"depth":1129,"text":824},{"id":857,"depth":1129,"text":858},{"id":908,"depth":1124,"text":908,"children":1155},[1156,1157],{"id":913,"depth":1129,"text":914},{"id":960,"depth":1129,"text":961},{"id":1009,"depth":1124,"text":1010,"children":1159},[1160],{"id":1013,"depth":1129,"text":1014},{"id":1083,"depth":1124,"text":1083},{"id":1106,"depth":1124,"text":1106},"devlog",null,"2026-05-13","现在已是毕业之时 回忆过去 思绪良多 写下一些内容吧",false,"md",{},true,"\u002Fblog\u002F2026.1",{"title":5,"description":1166},"blog\u002F2026.1",[1175],"note","JGZh06AVPgWnM5-t3PBGiGRp5INmNJk_0NlZmH31JFM",[1178,1185,1194,1201,1203,1211,1221,1228],{"path":1179,"title":1180,"description":1181,"date":1182,"updated":1164,"category":1183,"tags":1184,"draft":1167,"cover":1164},"\u002Fblog\u002F2026.3","随笔 1","突发奇想的一些话：关于求学、压力，以及寻找适合自己的出路。","2026-09-07","notes",[1175],{"path":1186,"title":1187,"description":1188,"date":1189,"updated":1164,"category":1190,"tags":1191,"draft":1167,"cover":1164},"\u002Fblog\u002F2026.2","My Game Life","记录这些年玩过的 CS、Valorant、R6、Deadlock 等游戏，以及一路积累的体验与碎碎念。","2026-06-18","games",[1192,1193],"game","timeline",{"path":1195,"title":1196,"description":1197,"date":1198,"updated":1164,"category":1183,"tags":1199,"draft":1167,"cover":1164},"\u002Fblog\u002Fxiaoji","小记","一篇关于博客设计、个人风格与“门”的小记：网站不只是组件和功能，也应该留下正在生活的痕迹。","2026-05-19",[1200,1175],"site",{"path":1171,"title":5,"description":1166,"date":1165,"updated":1164,"category":1163,"tags":1202,"draft":1167,"cover":1164},[1175],{"path":1204,"title":1205,"description":1206,"date":1207,"updated":1164,"category":1183,"tags":1208,"draft":1167,"cover":1164},"\u002Fblog\u002Fnothing","Nothing here","愚人节的一篇短记：这里真的什么都没有，只有一句玩笑。","2026-04-01",[1209,1210],"joke","short",{"path":1212,"title":1213,"description":1214,"date":1215,"updated":1216,"category":1190,"tags":1217,"draft":1167,"cover":1164},"\u002Fblog\u002Fset-10-on-tft","Set 10 On TFT","返厂 S10 之后，记录几个我自己玩下来的阵容思路，包括真伤塞纳、心之刚 Flex 和赌亚索。","2025-05-17","2025-05-19",[1218,1219,1220],"tft","guide","set-10",{"path":1222,"title":1223,"description":1224,"date":1225,"updated":1164,"category":1190,"tags":1226,"draft":1167,"cover":1164},"\u002Fblog\u002Fmy-osu-life","My osu! life","记录了一些，也迷失了一些。这里是我从 2019 到 2025 的 osu! 时间线。","2025-04-27",[1227,1193],"osu",{"path":1229,"title":1230,"description":1231,"date":1232,"updated":1164,"category":1163,"tags":1233,"draft":1167,"cover":1164},"\u002Fblog\u002Fhello-world","第一篇 BLOG","来自刚创建网站的邶风。这是我 2025 年的第一个网站，顺手记录一下当时的建站来源、域名选择和一点踩坑感想。","2025-04-26",[1200,1234,1235],"astro","nuxt",1790251587204]