EagleBear2002 的博客

这里必须根绝一切犹豫,这里任何怯懦都无济于事

摘要

本文介绍了基于 NJU-Table 协同表格的新生车辆入校审批系统的需求明细、视图展示和部分设计细节,并记录了系统上线运行后得到的反馈。在新生学院七个书院十余位老师的共同支持下,该系统在开学两天内顺利调度一千二百余辆私家车错峰入校,展示了后疫情时代信息化行政的强大潜力。该系统的开发涉及到 NJU-Table 向非专业开发者提供的绝大多数功能,为学习使用 NJU-Table 提供了良好范例。

需求明细

系统视图展示

阅读全文 »

下载

Github 上的 clash 官方仓库已经删库跑路,本文介绍的是一个目前可行的解决方案。

https://github.com/doreamon-design/clash/releases 下载与自己系统架构符合的安装包。一般选择 [clash_2.0.24_linux_amd64.tar.gz](https://github.com/doreamon-design/clash/releases/download/v2.0.24/clash_2.0.24_linux_amd64.tar.gz)

安装

1
2
3
4
gzip -d clash_2.0.24_linux_amd64.tar.gz # 在安装包所在路径解压安装包
chmod +x clash_2.0.24_linux_amd64.tar.gz # 给解压后的文件赋予执行权限
mv clash_2.0.24_linux_amd64 /usr/local/bin/clash # 移动文件位置
clash -v # 查看是否成功安装
阅读全文 »

哪些人的理性会受挫?

进电影院前的我:

夫未战而庙算胜者,得算多也,未战而庙算不胜者,得算少也。多算胜,少算不胜,而况于无算乎!吾以此观之,胜负见矣。(《孙子兵法》)故曰:善战者无赫赫之功(曹操)。

看完电影后的我:

人算不如天算:行人是,知天命,可以无悔矣。

阅读全文 »

摘要

本文是 2023 年南京大学软件学院推免经验分享内容。

南软学硕基本信息

2024 年招生 学术硕士(软件工程 083500) 专业硕士(软件工程 085405,原电子信息)
学制 三年 两年(待定)
学费 5000 元/年 20000 元/年
招收总人数(考研+保研) 17(10 个保研) 227
住宿条件 2023 级提供鼓楼(23 级在陶一)或浦口宿舍 不提供宿舍
奖学金 奖学金比较多 奖学金比较少(而且基数大)
专业认可度 考公考编可选岗位较多 电子信息可选岗位受限,085405 和 083500 几乎相同
转博政策 2+4,硕士成果计入毕业要求 2+4,硕士成果不计入毕业要求

登录南京大学研招网查看当年权威信息:https://yzb.nju.edu.cn/main.htm

阅读全文 »

原文链接:通俗易懂 强一致性、弱一致性、最终一致性、读写一致性、单调读、因果一致性 的区别与联系 - 知乎 (zhihu.com)

提到分布式架构就一定绕不开“一致性”问题,而“一致性”其实又包含了数据一致性事务一致性两种情况,本文主要讨论数据一致性(事务一致性指 ACID)。

复制是导致出现数据一致性问题的唯一原因。

如果只用一台数据库来处理所有的写入和读取请求,就一定不存在数据一致性的问题。 但在中大型项目中,我们却经常需要将一份数据存储在超过一台数据库中(即复制),原因有三:

  1. 即使一部分数据库出现故障,系统也能正常工作(高可用)
  2. 使数据与用户在地理上接近(降低延迟)
  3. 扩展可以处理读请求的机器数量(可扩展性、提高读取吞吐量)
阅读全文 »

本文主要内容来自 SpriCoder 的博客,更换了更清晰的图片并根据新的课程设计做了补充和修正。

再读《没有银弹》

软件开发有很多困难,但是本质难题是:

  1. 不可见性:软件项目是一个逻辑实体
  2. 复杂性:实体数量众多
  3. 可变性
  4. 一致性

进一步分析:

阅读全文 »

本文主要内容来自 SpriCoder 的博客,更换了更清晰的图片并根据新的课程设计做了补充和修正。

引入

  1. 软件在改变(定义?颠覆?)我们的世界
  2. 软件自身的变化:
    1. 规模
    2. 比例

软件危机:四大本质难题

《人月神话》软件的四大本质困难和挑战: 1. 不可见性:软件项目是一个逻辑实体 2. 复杂性:实体数量众多 3. 可变性 4. 一致性

阅读全文 »

课程 MOOC:人机交互与用户体验设计。

本文主要内容来自 SpriCoder 的博客,更换了更清晰的图片并根据新的课程设计做了补充和修正。

什么是人机交互 Human-Computer Interaction

HCI is a discipline concerned with the design, evaluation and implementation of interactive computing systems for human use and with the study of major phenomena surrounding them

——ACM SIGCHI
  1. HCI 是一门涉及人类使用的交互式计算系统的设计、评估和实施以及围绕它们的主要现象的研究的学科
  2. 信息技术发展中交互的重要性:让信息技术的使用变得更自然、更便捷、更透明!
  3. 为什么要考虑用户?信息发展趋势
    1. 用户:热爱技术的专业人员 \(\to\) 缺乏耐心的消费者
    2. 场景:更多样的终端和任务、更频繁的人机对话
    3. 人机交互能够让计算机更懂“人”,让人机对话更加“自然”
阅读全文 »

\[ \def\po{\mathsf{\textcolor{\red}{po}}} \def\so{\mathsf{\textcolor{\purple}{so}}} \def\wr{\mathsf{\textcolor{\teal}{wr}}} \def\co{\mathsf{\textcolor{\orange}{co}}} \def\Swap{\mathsf{Swap}} \]

摘要

现代应用程序,如社交网络系统和电子商务平台,以大规模数据库为核心,用于存储和检索数据。对数据库的访问通常封装在事务中,允许对共享数据进行的计算与其他并发计算隔离,并具有容错性。现代数据库以性能为代价来交换隔离程度。隔离级别越低,数据库允许表现出的行为就越多,而开发人员需要确保他们的应用程序能够容忍这些行为。

在这项工作中,我们提出了一种基于动态偏序约减的无状态模型检查算法,用于研究依赖于多种常见弱隔离级别的应用程序的正确性,包括读已提交、因果一致性、快照隔离和可串行化。我们展示了这些算法在所有情况下都是完备的、正确的和最优的,并且在所有情况下都具有多项式内存消耗。我们报告了这些算法在 Java Pathfinder 环境中的实现,应用于分布式系统和数据库文献中的一些具有挑战性的应用程序。

作者:

阅读全文 »