留给每个人的时间都是有限的,如何利用好时间是值得考虑和深入挖掘的。
时间管理法
参考番茄时钟工作法和24枚金币时间管理法,我把准备工作分为4大部分:1、活动清单;2、今日待办;3、计时器;4、时间记录表。下面分别说明用途和用法:
1. 活动清单
即To-do List。番茄时钟工作法将todo list拆分成活动清单和今日待办,是一个很好的设计。可以类比于计算机系统中内存和磁盘的设计。
在活动清单中,罗列自己计划要做的事情。可以在任何时间写入1条,正常是自己在计划时写上的,如果是在番茄时钟执行过程中由于中断而写上的,则添加一个计划外(u)的标记。
可以使用单独的纸记录,或者利用手头已有的各类软件工具。
2. 今日待办
即今日的To-do List,和活动清单的todo list的不同点:
- 这里记录的是今天计划完成的事项和计划外紧急事项
- 每一项需预估出所花费的番茄时钟数,先提前打上方框,在番茄时钟每执行完1次当前事项后在方框中画叉。如果发现完成事项预估的番茄时钟数不足,则需要标记+的数量;如果完成事项发现预留的方框没有用尽,则标记-的数量,用于后续时间记录表
- 在番茄时钟周期内被自我内部尝试打断的时候记录一个|,被外部尝试打断的时候记录一个—;然后将新增事项记录到计划外紧急事项或者活动清单的u标记事项。
- 每个番茄钟的执行具有原子性,如果真的发生的中断切换,当前番茄钟周期作废
推荐使用便签纸记录
3. 计时器
即番茄时钟。记录工作时间(25min)、小憩时间(5min),可以使用软件(我用的是tomatobar)或者物理钟。
4. 时间记录表
由24枚金币时间记录表和番茄时间工作法的记录表结合而来。
记录每天做的事情,完成/未完成的番茄钟数量,被打算的次数,平均任务处理时间
服务端系统设计
数据设计
一条记录:startTime endTime actionDesc actionType
每天的时间记录的最细粒度为半小时。
交互设计
使用B/S架构。
数据同步
支持数据导出、导入合并。
数据库表定义
先以root用户登陆创建timemanage数据库:
1 | create database timemanage; |
接着以wsd用户登陆数据库建表:
1 | mysql -u wsd -p |
报错与解决
MyBatis执行SQL报错:
1 | ### Error querying database. Cause: java.sql.SQLException: Unknown system variable 'transaction_isolation' |
原因:MySQL 8及以上版本使用’tx_isolation’替代了原先的’transaction_isolation’,而我正在使用的MariaDB 11则与MySQL 8之前版本对隔离级别定义变量名一致,因此报错。
修复:降级pom依赖中的mysql-java-connector版本:
1 | <dependency> |
评论
shortname
for Disqus. Please set it in_config.yml
.