掌控时间的尝试:基于Flask的自卷系统设计与实现

Gitee源代码仓库:Strong: 一个自卷系统 (gitee.com)

长期苦于自己的时间如脱缰野马,难以掌控,无法投入到我认为自己想做的事情中去。纯粹的自律实在不可靠,我希望借助一些外力来帮助自己挣脱泥潭,于是我制作了这个实验品。

限于技术水平与时间成本等问题,它仍较为简陋。截至今日,我是唯一的用户。

仓库中包含了如何运行该项目的一些简单介绍。此外,我很期待会有人为这个项目提供一些想法,无论批评或建议。

文章目录

  • 一、项目背景
  • 二、功能实现
    • 2.1 主干功能:任务模块
    • 2.2 灵魂功能:数据展示
    • 2.3 时间去向:书架模块
    • 2.4 辅助功能:登录模块
  • 三、下一步的路

一、项目背景

想要快速地进步,就必然要

  1. 在正确的道路上
  2. 以正确的方式
  3. 投入足够多的时间

本项目目前聚焦于第3点,即:投入足够多的时间

时间的管理是一门复杂的学问。如何管理自己的时间,让自己充分投入到学习中去?人们很容易想到:制定计划,执行计划。其中,“制定计划”和想到这一点同样容易,但“执行计划”一步,就好似泥沼、似深渊、似天堑,不知道多少人倒在这里。

于是,本项目又聚集于后者,即:执行

计划为什么会停留于计划,执行为什么总是失败?因为,我没那么爱学习,或者至少是没那么爱学习的过程。对知识与更好的未来令我心生向往,心生渴望。与此同时,学习的过程常常令我感觉有些枯燥,无聊,甚至是痛苦。 因为书本本身是枯燥的,代码同样也是枯燥的。

我相信,喜欢写代码的人,喜欢的也绝不是代码本身,而是它背后的某些东西。是它所带来的成就感,我可以亲手构建出一个有用的、或者有意思的东西;又或者是它所带来的利益?我可以以此拿到一份薪水不错的工作。它们的共同点是,这种收益是长期的,我难以在敲下键盘看见屏幕上字符跃起的那一刻,在几秒、几分钟、又或是几小时内,就享受到收获的喜悦。令人讨厌的是,这种喜悦常常被藏在了时间的下游,藏到几天、数月乃至积年的付出与忍耐之后。

当我的目光聚焦到当下,开始考虑现在是学习还是玩耍时,我的心情是什么?是矛盾。玩耍的快乐与学习的枯燥,此刻在我心中形成鲜明的对比。学习的收益隐在远处,玩耍的快乐却唾手可得,你如何选择?况且,我本是一个爱玩的人啊。

也从不乏有坚持到底的人,枯燥无聊的日子与他日夜相对,可他却不会就此摆脱枯燥,因为未来的火光还在其眼中闪烁未灭。能够做到延迟满足,真是一个令人羡慕的能力。

不过,本项目聚焦于另一个方向:增加即时满足

当下学习或玩耍的矛盾像一杆天平,那么让我为学习的一侧加上更多的砝码——而不是总想着用手摁住它。嗯…让我们想一想,这砝码从哪里来呢?不妨,将日常的学习过程记录下来,将点滴的汗水收集起来。让我们在心中保留一个简单的信念:学习使人进步。半小时的学习不会使我感到高兴,但,“我又学了半个小时”会。

我试图将累日付出后才能看见的进步,拉到了近前,成为”看得见的进步”。经过了刚才半小时的学习,我就知道自己进步了,从而得到我所预支的喜悦——而即使这进步看不出来,“我认为自己又进了一步”也是可以的,因为我的付出明明白白地摆在那里。以此将长短期的目标统一起来,而不是每次都陷入矛盾与纠结。

至此,我愿称之为“画饼充饥术”。然而与纯纯的画饼不同,因为在尚可预见的一天,我手里真的会接到那一摞饼。

依赖及时的正面反馈与成就感的塑造,我希望能让学习从内心的被迫走向主动,乃至成为渴求。

以上,即为本项目的基本任务需求。显然从需求到实现很难一步到位,因为需求比较抽象。本项目应当在实践中积累经验,灵活迭代,而得以不断改进。

二、功能实现

技术栈:Bootstrap + Flask + MySQL。

Bootstrap是一个简单易上手的前端框架,可以利用现成的组件,快速实现一些简洁且看着还不错的样式。

Flask是一个轻量级的python后端框架,前后端采用不分离的架构,对于小网站而言开发更加方便,且学习成本低,可以更快地开始搭起一个简单的架子,然后在小步迭代中不断改进。

2.1 主干功能:任务模块

该程序从本质上,仅仅是一个记录工具。在任务模块中,你可以新建一个要做的事情,并在做完后提交它,记录做得怎么样、花了多少时间。

故任务模块包含了两个列表:待做任务列表和已完成任务列表。

在这里插入图片描述
图1:待做任务列表页面

2.2 灵魂功能:数据展示

人们时常容易陷入一种状态:整日忙碌而不知道自己在忙什么。然而,记录后仅仅提供一个任务列表并不足以对这个问题产生什么缓解作用,通常只会看看最近几日的碎片——在更大时间尺度上,才能看见趋势。这也是一种心理上的需求,如果我们看见在过去的一段时间内,自己的学习状态还不错,而且还在变好。那我们就有理由相信,将来还会继续变好。于是更有动力,于是真的在继续变好——让趋势裹挟着自己前进。

为此,我实现了简单的数据的统计与可视化页面,将本月的总学习时间与上月进行对比展示,以达到自己卷自己(自我超越)的效果。

在这里插入图片描述
图2:学习时间统计页面

2.3 时间去向:书架模块

上面的折线图仅仅展现了一个总体的趋势,有时我们仍然希望以比较直观的方式*(而不是为细节所淹没)* ,看见更多的细节,以便及时地对自己的学习状态或方向进行调整

为此,我们设计实现了书架模块,可以创建书籍,通过词条匹配和绑定任务中的提交信息,统计并展示展示每本书的阅读进度与所花费的时间。此后,每次提交相关的任务时,书架页面的数据会随之更新。

在这里插入图片描述
图3:书架页面

2.4 辅助功能:登录模块

对于一个提供给多个用户访问的网站,如果每个用户需要存储自己的数据,那么登录模块是必不可少的啦!

在这里插入图片描述
图4:登录与注册页面

我们在个人信息页面,提供了简单的信息编辑功能。并根据提交任务的信息,统计当前的学习经验值与等级。其中等级的计算采用等差数列,从1开始,没提升1级,升到下一级所需要的经验就加1。由高斯的算法可得,升到200级需要 1 + 2 + 3 + . . . + 200 = 200200 1+2+3+...+200=200200 1+2+3+...+200=200200,假设你平均一次学习任务的时间是30分钟,那么200级时你的学习总时长约为1万小时

如果能一直坚持到那一天,如果这些天里你学习的同时也一直在思考如果改进方法——而非单纯消费时间,你就有理由相信,时间的力量将会推你至山峰。

在这里插入图片描述
图5:个人信息页面

三、下一步的路

1、移动端支持

目前本网站主要是面向电脑浏览器开发的,因为对相关的技术更加的熟悉,为了更快地开始。然而无可争辩的是——手机app会比打开电脑访问网站要方便地多。

此时可以采用前后端分离架构,一套后端的API可以支持多个平台的前端使用。

2、功能丰富

任务调度:有时待做的事情有很多,如何决定下一步做什么?每次做事情之前都去花脑子去思考这个问题,这会对我们是一种负担。我们知道,操作系统对进程是有调度算法的。我们同样可以为这些待做的任务设计一个调度算法,根据截止时间、等待时间、重要程度等因素,对任务的执行顺序给出推荐的排序,以减少我们这部分的心理负担。同时,可以对即将截止的任务以邮件等方式发送提醒

数据展示与挖掘:目前我们的数据展示页面仅只有一个折线图。此后还可以添加每日各个时间段利用率的可视化等等,更加细致地挖掘自己的习惯。

······

我一直希望,写下的程序将成为思想与理念的凝练,而非只是代码的一次次堆砌。它将能为生活中一些具体的、虽然小小的问题带来帮助。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/235346.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring MVC控制层框架

三、Spring MVC控制层框架 目录 一、SpringMVC简介和体验 1. 介绍2. 主要作用3. 核心组件和调用流程理解4. 快速体验 二、SpringMVC接收数据 1. 访问路径设置2. 接收参数(重点) 2.1 param 和 json参数比较2.2 param参数接收2.3 路径 参数接收2.4 json参…

旅游景区项目信息化建设运营方案:PPT47页,附下载

关键词:智慧景区解决方案,智慧景区建设,智慧景区开发与管理,智慧景区建设的意义,智慧景区管理 一、旅游景区项目信息化建设背景 1、旅游业发展迅速:随着旅游业的不断发展,游客对旅游体验的需求…

Flink(十)【处理函数】

前言 冬天学习成本太高了,每天冻得要死,自习室人满为患,确实是辛苦。学校基本的硬件条件差的一批(图书馆贼小贼偏僻、老教室暖气还没有地板热、空教室还得自己一个一个挨着找),个体无法改变环境只能顺应了&…

【ARM Trace32(劳特巴赫) 高级篇 21 -- Trace 系统性能分析 Performance Analyzer】

请阅读【Trace32 ARM 专栏导读】 文章目录 Performance AnalyzerPerf 操作步骤采样对象PC采样对象Memory采样对象 TaskPerformance Analyzer sample-based profiling 通常也叫做Trace32 的性能分析(Perf), 这个功能是通过周期性的采样来实现的。被采样到的数据可以被用于统计…

Apache Flink(十七):Flink On Standalone任务提交-Standalone Application模式

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录

flink sql1.18.0连接SASL_PLAINTEXT认证的kafka3.3.1

阅读此文默认读者对docker、docker-compose有一定了解。 环境 docker-compose运行了一个jobmanager、一个taskmanager和一个sql-client。 如下: version: "2.2" services:jobmanager:image: flink:1.18.0-scala_2.12container_name: jobmanagerports:…

基于RocketMQ实现分布式事务

前言 在上一篇文章Spring Boot自动装配原理以及实践我们完成了服务通用日志监控组件的开发,确保每个服务都可以基于一个注解实现业务功能的监控。 而本文我们尝试基于RocketMQ实现下单的分布式的事务。可能会有读者会有疑问,之前我们不是基于Seata完成了…

AIGC:阿里开源大模型通义千问部署与实战

1 引言 通义千问-7B(Qwen-7B)是阿里云研发的通义千问大模型系列的70亿参数规模的模型。Qwen-7B是基于Transformer的大语言模型, 在超大规模的预训练数据上进行训练得到。预训练数据类型多样,覆盖广泛,包括大量网络文本、专业书籍…

百度侯震宇:AI原生与大模型将从三个层面重构云计算

12月20日,2023百度云智大会智算大会在北京举办,大会以「大模型重构云计算,Cloud for AI」为主题,深度聚焦大模型引发的云计算变革。 百度智能云表示,为满足大模型落地需求,正在基于「云智一体」战略重构…

ubuntu qt 源码编译

官方源码下载地址 : 源码地址 选择要下载的版本 dmg结尾的是MacOS系统里使用的Qt库,qt-everywhere-opensource-src-4.7.0是Qt源码包,有zip和tar.gz两个压缩格式的,两个内容是一样的,只是zip一般在Windows下比较流行,…

Java:语法速通

参考 菜鸟教程 java 继承 class 父类 { }class 子类 extends 父类 { }继承的特性: 子类拥有父类非private的属性和方法子类可以对父类进行扩展子类可以重写父类的方法使用extends只能单继承,使用implements可以变相的多继承,即一个类继承…

无人机支持的空中无蜂窝大规模MIMO系统中上行链路分布式检测

无人机支持的空中无蜂窝大规模MIMO系统中上行链路分布式检测 无人机支持的空中无蜂窝大规模MIMO系统中上行链路分布式检测介绍题目一. 背景(解决的问题)二. 系统模型2.1 信道模型2.1.1 信道系数2.1.2 进行标准化 2.2 信道估计 和 数据传输2.2.1 信道估计…

在Windows系统平台下部署运行服务端Idea工程的jar服务

前言 目前云原生docker等技术,加上部署流水线大大的简化了各种流程,我们后端开发的人员只需要提交代码后,构建、部署、测试、发布等环节都无需人员接入,完全的自动化交付了。那么你肯定不禁想问,如题的需求不是点击一…

Web 前端—HTML+CSS系列

HTML、CSS 一、HTMLCSS1.1什么是HTML、CSS1.2宇宙第一编辑器VS Code1.3Chrome浏览器1.4、深入了解网站开发 一、HTML基本操作1.web前端三大核心技术2.HTML初始代码3.HTML注释4.HTML语义化5.标题与段落6.文本修饰标签7.图片标签与图片属性8.引入文件的地址路径9.跳转链接10.跳转…

Leetcode—75.颜色分类【中等】

2023每日刷题&#xff08;六十五&#xff09; Leetcode—75.颜色分类 实现代码 class Solution { public:void sortColors(vector<int>& nums) {int red 0, white 0, blue 0;for(auto num: nums) {if(num 0) {red;} else if(num 1) {white;} else {blue;}}for…

机械、电气、自动化与人工智能融合:发展历程、问题与前景

导言 机械、电气、自动化行业与人工智能的结合&#xff0c;推动了工业革命的新浪潮。本文将深入研究这一融合的发展历程、遇到的问题、解决过程&#xff0c;以及未来的可用范围&#xff0c;着重分析在各国的应用现状和未来的研究趋势。同时&#xff0c;探讨在哪些方面能够取得胜…

环境搭建及源码运行_java环境搭建_idea版本下载及安装

1、介绍 Idea是一款被广泛使用的Java集成开发环境&#xff0c;它提供了丰富的功能和工具来帮助开发人员更高效地编写和调试代码。作为一款开源软件&#xff0c;Idea不仅提供了基本的代码编辑、自动完成和调试功能&#xff0c;还支持大量的插件和扩展&#xff0c;可为开发人员提…

MySQL基本操作 DDL DML DQL三大操作介绍

DDL 数据(结构)定义 创建表DML 数据操作 增删改DQL 查询语句 DDL 数据(结构)定义 创建表 创建 删除数据 注释 --空格内容 创建数据库 CREATE DATABASE [if not exists] 数据库名 [ CHARSET utf8]eg:CREATE DATABASE IF NOT EXISTS school CHARSET utf8如果对应school不存在,…

【NextJS】API请求执行两次的原因及解决方法

实验环境 next&#xff1a; 14.0.4react&#xff1a; ^18 实验代码 // file: app\page.tsx use client;export default function Home() {console.log(test)return (<></>) }原因 测试发现创建默认工程上面代码会输出两次test&#xff0c;其原因是为了模拟立即卸…

智慧安防视频监控EasyCVR如何通过回调接口向第三方平台推送RTSP视频通道离线通知

安防视频监控系统EasyCVR能在局域网、公网、专网等复杂的网络环境中部署&#xff0c;可支持4G、5G、WiFi、有线等方式进行视频的接入与传输、处理和分发。平台能将接入的视频流进行汇聚、转码、多格式输出和分发&#xff0c;具体包括&#xff1a;RTMP、RTSP、HTTP-FLV、WebSock…