EagleBear2002 的博客

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

摘要

本文梳理了数据库事务的发展史。在 SQL 标准规定的 SER、RR、RC 和 RU 之外,重点介绍了 SI 隔离级别。本文还介绍了提高事务隔离级别的几种方式,并展望了未来可能出现的高效 SER 的实现方式。本文是 数据库事务发展史+SSI 隔离级别原理 课程笔记。

1992 年:ANSI SQL92 事务隔离级别

Isolation Level Dirty Read Fuzzy Read Phantom
Read Uncommitted 允许 允许 允许
Read Comitted 不允许 允许 允许
Repeatable Read 不允许 不允许 允许
Serializable 不允许 不允许 不允许

Dirty Read、Fuzzy Read 和 Phantom 分别表示脏读、不可重复读、幻读三种异象(phenomenon)。

阅读全文 »

摘要

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

需求明细

  • [x] 新生扫描二维码或点击链接,在移动端或 PC 端通过表单提交姓名、学号、所在书院、车牌号,选择停泊时间
  • [x] 新生只能在书院规定的报道时间内选择停泊时间
  • [x] 仅书院负责审核的辅导员可在相应视图(如“健雄书院审核视图”)对本书院的提交完成审核
  • [x] 要求填写者承诺在填写的停泊时间结束前离开学校
  • [x] 申请被审核后新生可在系统中收到通知(目前无法使用微信、邮件等第三方通知)
  • [x] 新生可查看已提交的申请的审核情况
  • [x] 可以自动检测一人多填,保证每个人最多只能填写一个有效表单
  • [ ] 系统自动限制每个时间段的停泊数量

系统视图展示

阅读全文 »

下载

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. 比例

软件危机:四大本质难题

《人月神话》软件的四大本质困难和挑战:

阅读全文 »

课程 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. 人机交互能够让计算机更懂“人”,让人机对话更加“自然”
阅读全文 »