20230107每周周报---你只是懒惰而已

主要项目跟踪

其实自己已经完全清楚了,当前最重要的项目就是让自己毕业,写毕业论文。也不能说没有什么进展,至少是将参考文献更新了。但是进度实在是感人。
为了逃避写论文,我甚至愿意学习:)

自己潜意识其实一直在伪装受害者,假装自己的课题不好,假装自己的课题对自己以后没有作用。但是很显然,自己的论文不写完自己就会延毕,会影响自己早日投身工作中,为什么还说对自己没有作用呢?
所以根因还是懒惰吧。

什么是延迟满足感,延迟满足感就是在自己想要懒惰想要逃避的时候,可以将懒惰和逃避带来的瞬间快乐给延迟掉----因为这种瞬间的快乐代价是惨痛的,比如延毕。
与延迟满足配合的是番茄工作法。番茄工作法相当于在一段时间里继续开了保护罩。

不过有时候挺无奈的。如果洗脑工作做得很好,几乎脑子无时无刻被一件事情占据的话,好像也不会被干扰吧。

所以,有什么办法能够无时无刻想着自己毕业的事情呢?

情绪

恐惧是第一生产力。不良情绪其实对于整个工作流影响其实是恶劣的。时刻让自己处于安宁平静的状态,但是内心有“进取的力量”才能克服困难,而不能依赖于负面情绪。因为负面情绪真的会损害毁灭一个人。

很神奇,居家就几乎没有对其他人的思念之类的情绪。所以激情之爱确实是廉价的东西。只要隔离不要见到就会消失。对我来说还挺好的。不过喜欢的人真的是很好的人,感觉可惜。

非常认同情欲是对年轻男性的诅咒。不受情欲的影响,可以做更多正确的事情。

不过我实在太懒散了,懒散到长期的危机一直没有能力去解决。
希望自己能够心怀恐惧前行。毕业论文写不完,就要延毕。虽然问题也不大,但是不能让这件事情发生。

回顾毕业论文,其本质就是论文内容中加入了一个根本不存在的项目,所以就相当于在没有老师推动的情况下需要我自己组织协调推动,而这恰恰碰到了我自己的盲区。
想想挺好,如何组织协调推动恰恰是我欠缺的。
一定要厚脸皮。我自己本身也不会对他人造成多大的困扰。

然后就是延迟满足。
一定要延迟满足。
论文是最重要的事情,必须弄完它。

如果真有思想钢印就好了,将“论文是最重要的事情”刻在脑子里。

本周学习到的内容

比特币原理了解

交易的账单被打包成区块,区块间形成链条,称为区块链。

一个比较有意思的问题是,当比特币的持有者发出交易的请求,即准备将交易信息上链的时候,如何保证该请求不是伪造的?

比如A给B 10个币,那么在将该消息广播准备上链的时候,针对该消息做两个处理:
1.对消息进行哈希。
2.对哈希结果利用私钥加密,然后将加密结果广播。
3.广播公钥。
那么其他人就可以利用公钥解密加密结果,与公开消息的摘要进行对比,如果相同就认为该消息为真。

不过其实更细节的内容还是不明白。比如这里如果说有人在比特币链上传递假消息怎么办呢?这里是公钥和对应的钱包或者用户一一对应吗?
非对称加密可以继续了解一下。

浙大软件工程课程

一些对个人的建议:

  • 先做计划
  • 然后做overview 的design
  • 然后对自己执行编码的过程进行复盘,看优化的空间

浙大面向对象的课程

如果一个方法不写修饰符:
默认这个方法是friendly,即一个包内可以访问。
一个编译单元(在java中就是一个class文件)中只能有一个被public修饰的类。当然可以有其他不被public修饰的类,但是不被public修饰的类只能在包内部被访问。

面向对象的目的:关键是考虑程序的拓展性。此外要关注程序中的重复代码,如果遇到程序中的重复代码就要考虑是否可以进行封装。
去耦合的一个思路是利用接口来实现类之间的联系。
为了拓展性,应该巧妙利用容器。

final关键字复习修饰基本类型、引用类型、方法和类:
1.基本类型。值不变
2.引用类型:不能指向其他对象
3.修饰方法则不能被子类重写。
4.修饰类则不能被继承。

MIT软件工程课程

编码的两个原则:让计算机看懂让人看懂。

所以编码养成以下的习惯:
1.写一点测试一点(把事情一步到位是反人性的但是是重要的)
2.在注释里写下自己的代码依赖的假设
3.防御性编程。

文档化你的测试:

/*
 * Testing strategy
 *
 * Partition the inputs as follows:
 * text.length(): 0, 1, > 1
 * start:         0, 1, 1 < start < text.length(),
 *                text.length() - 1, text.length()
 * text.length()-start: 0, 1, even > 1, odd > 1
 *
 * Include even- and odd-length reversals because
 * only odd has a middle element that doesn't move.
 *
 * Exhaustive Cartesian coverage of partitions.
 */
// covers test.length() = 0,
//        start = 0 = text.length(),
//        text.length()-start = 0
@Test public void testEmpty() {
    assertEquals("", reverseEnd("", 0));
}

// ... other test cases ...

数据库的存储结构

从设计的角度思考索引结构的要求:

  • 为了应对磁盘存储,所以要IO次数少,要尽可能连续读
  • 允许并发操作

B+树的基本结构。叶子结点含有全套数据。B+树本身其实只是做指向叶子节点的作用。SMO(结构修改操作)导致并发性能有限。
LSM树结构:分为多层追加写。读的时候分层读。靠Compaction操作整理LSM树的结构。减少读IO次数。

LSM树使用背景:
1.分布式文件。追加的一致性强于改写。
2.固态SSD。读快,不能覆盖需要擦除。
3.多核CPU场景下基于锁的机制存在额外代价。

B-Link树:优势是不用锁住父节点,可以自底向上加锁。
1.非叶子节点有指向兄弟节点的指针。
2.分裂模式是满的时候分给兄弟节点。
3.每个节点增加一个high key值,记录当前节点最大的key。

一周收集

"我现在觉得个人成长路线应该是:技术,产品,商业,资本。"

下周的计划和迭代

发现porn对我的影响仍然存在并且确实在伤害我。还是得稍微克制一点。健康守护密码还是删除掉吧。。。。

然后是注意一下学习的内容就不要太分散了哈。
这周还好,主要是以软件工程为主。然后软工记忆知识点少。数据库有些东西还是要稍微记忆一下。

下周要争取将联锁部分的内容完成,然后关注一下过年的时间。
状态不好确实可以先学习。

感觉今年就真没怎么写日报,不能因为滴答清单不写日报啊。还是得写。
番茄工作法还是挺好用,希望坚持。

下周重点项目仍然是论文。学习的话重点看一下软工相关的内容吧。

posted @   SlowSail  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示