首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

搞定GTD - 掌控流程之四:回顾

GTD的初学者经常会认为这一步太麻烦,每周都要做,而不愿去做,但实际上这五步流程是一个整体,单单学会某一步,只是改善了某一个薄弱环节,只有这五步连接成为一个整体,并且形成一个闭环时,的功效才更会显现。...具体来说,每周回顾的意义在于: 1、把本周的工作一个小结,看看时间都去哪了?本周主要专注于某几个领域,完成了几个小项目? 2、把收集箱再彻底清理一遍。...通过这些年的摸索,把每周回顾要做的事项整理出一个列表,放在Evernote,回顾时打开这个列表,一项一项地执行,从而更新的GTD系统。...回顾检查表如下: 回顾时要注意:确保是回顾,而不是做事,如果事情超过2分钟,就记下来,而不是完成。...清除以前完成的,并不需要记录的项目(通常是周期性项目)。 把OmniFocus的INBOX的内容也清空。 看看未来1周的日程表,看看是否有需要提前准备的,或者需要提前处理,或者还不能转化为行动?

1K80

笨办法学 Python · 续 练习 12:复习

限制你自己 45 分钟一次,但不要把这个最终的项目当作一个黑魔法。相反,这是你正在开发的黑魔法的下一步。 完成一些快速的 Hack ,来测试一个想法之后,将删除清理。...如果黑魔法没有那么糟糕,那么要做的就是扩展之前进行清理。 将黑魔法转化为健壮的程序的一种有效技术是,使用自动化测试套件,将它的关键元素提取到库。这迫使你将代码视为将在其他代码中使用的代码。...一旦清理和运行完毕,和之前一样,但是带有函数,将这些函数放进模块,并确保原始代码保持有效。 记住,不要在清理过程改变事情,只需要重新组织并修复。...你是否通过清理找到错误?是否还有其他改进? 如果黑魔法和清理后的代码在行为上几乎相同,那么你真的需要清理黑魔法?为什么你需要清理黑魔法,即使工作正常,并且可能更简单?...在你经常运行的命令列表,尝试一个新的命令(参见练习 11),并尝试这个完整的流程。完成一个快速的 Hack,然后清理,使变得正式。

18910
您找到你想要的搜索结果了吗?
是的
没有找到

笨办法学 Python · 续 第二部分:简单的黑魔法

不会坐下来写作,或者担心语法。不会问,“很聪明?”只是写出如何说话,并将其输入键盘,然后当我完成了几个段落,我会看一看。它是否有意义?需要清理?这样的确有效,并继续下去。...也许在你开始编程之前,你需要做大量无意义的事情,这样你才能够溢出所有障碍。 第一部分说过,如果你每次去做一件事的时候,你必须清理一小时,并修复一堆工具,你就不会有创造力。...你文本编辑器输入命令时似乎有问题?花时间学习来更好地使用它,或学习盲打。你不知道基本的命令和 API ?去获取一些书来学习吧,的朋友。 然后删掉代码并重新开始。从头开始。...如果一个内心的声音告诉你,你这样做错了,就告诉那个愚蠢的声音来闭嘴。这才是 Hack。保持放松并全力以赴,就像你只是把代码扔给一个朋友,知道你是傻瓜但仍然很有趣。...这就是你需要做的所有事情。如果可以用你的中文(或任何自然语言)来表达你想要的代码,那么你可以轻松地实现代码,而不必考虑代码。最终你不需要先写注释再写代码,但是当我卡住的时候还是这样做的。

35820

程序员的50大MongoDB面试问题及答案

36.数据什么时候才会扩展到多个分片(shard)里? 37.可以把moveChunk目录里的旧文件删除? 38.分片(sharding)和复制(replication)是怎样工作的?...39.如果块移动操作(movechunk)失败了,需要手动清除部分转移的文档? 40.mongodb是否支持事务 41.哪些语言支持MongoDB?...如果每个集合有一个索引(比如默认的_id索引),那么最多可以创建12000个集合。如果索引数更多,则可创建的集合数就更少了。同时,如果集合数太多,一些操作也会变慢。...32.如何执行事务/加锁? MongoDB没有使用传统的锁或者复杂的带回滚的事务,因为设计的宗旨是轻量,快速以及可预计的高性能。可以类比成MySQL MylSAM的自动提交模式。...MongoDB知道这样denormalize and embed做很好,但是不想embed人们看电影,从逻辑上讲这没有任何意义。因为人们不一定只属于电影。

26220

InnoDB隔离模式对MySQL性能的影响

MySQL手册提供了一个关于MySQL支持的事务隔离模式的恰当描述 – 在这里并不会再重复,而是聚焦到对性能的影响上。   ...如果有人想测试,可以重复下面用的查询集合:   READ UNCOMMITTED – 觉得这是最难理解的隔离模式(悲催的只有2条文档),只描述了的逻辑观点。...有一些用例虽然不需要我们100%准确的数据,在这种情况下,这种模式就变得非常方便。   ...理论上,InnoDB 可以清除行版本,READ UNCOMMITTED模式下即便是该语句已经开始执行之后,也可以创建。在实践,由于一个bug或者一些复杂实现的细节做不到,语句开始仍然是行版本。...关系到InnoDB 的历史版本,似乎好有好多工作要做希望未来的MySQL能解决。

65540

Redis常见问题答疑

rehash相关 Redis里的hash容量到一定程度的时候,会做渐进式的rehash,Redis有没有提供一些可以配置,可以指定hash的大小,这样可以防止hash较大的情况下,发生多次rehash...buffer:别纠结这个名字,它就是master给client分配的一个buffer,因为是用于主从同步,所以大家才这么叫的意义在于master和slave保持数据一致的传播通道 2、backlog...不需要清理? 不会清理。这个buffer大小是可配置的,如果超过了配置的大小,主库会强制断开这个从库的连接,这就会导致主从同步中断。...的疑问是,这个全局队列命令处理期间,始终只有一个socket如果不是的话,那么最后清空全局队列,会不会把其他没完成的socket也清理了呢。 所有请求处理完成后,才会清理的。...布隆存在,查缓存,查DB,同时布隆里设置标记数据存在。查缓存和查DB,看你缓存是否有数据,有的话只查缓存就可以不需要DB

67610

「译」代码整洁之道的 7 个方法

organizer 对象有一个名字,你可以解构。这样做没什么问题。 这段代码可以正常运行。但是为什么属性名还是 name? 那将是整个范围唯一的 name 属性?属性名又来自哪个对象?...童子军规则 听过这样一句话:“永远保持离开时的露营地比你发现时更整洁”? 这就是童子军的规则。代码比发现时更好。你发现代码异味 code smell?重构!你发现一个未使用的变量?删除!...你会钟意肯定答案是 NO。所以如果每个人都立即清理房间的小部分,星期天的工作量会小一些。 代码库同理。...而且代码库将会有很多清洁工作要做,但是如果每个人都承担起自己的责任并遵守童子军法则,很多问题将会得到解决。 代码风格 同样重要的还有确定团队的代码风格。...但作为一名全职开发人员,不同的代码库上工作。这些规则的重要性只有较大的代码库才会突显。但这并不意味着你不应该将这些方法用在小项目中,提高你的代码质量小项目更高效。

64320

《搞定》第1章 新情况,新做法

清除杂念、保持清净和适当反应是关键所在 你能在需要时使自己进入“高效状态”如果你的大脑空空如也,总是处于一切就绪的状态,那么它就会向一切事情敞开大门。...任何一件你认为还没有完成的事情,都必须被置于一个客观、可靠的体系或者称为“文件夹”的工具之中——必须经常回访并予以清理 明白你的工作到底是什么后,你还必须做出判断:需要采取什么行动来推动工作进程...你可以工作和生活各个层面的事务都收集起来,完成更多的工作,同时消耗更少的精力 然而,在你达到这个境界之前,你首先需要培养一个习惯:清除大脑中的全部事务。...的焦点聚集某一事务、状况或某一个人身上,勾勒出执行过程的一切(至少对目前来说)必要想法、细节、重要环节,以及事情的先后次序 ---- 最重要的技巧:把一切事务赶出大脑 通常,盘踞在你脑中问题的数量与解决问题的效率成反比...然后,你会觉得生活或工作更有重点,也更容易掌控 对一件事情不需要进行两次相同的思考,除非你喜欢重复思考 实际行动过程尽量自己凭直觉去挑选要采取的行动,而不是重新思考那些事务的来龙去脉。

48320

直播回顾 | 数据库运维不再难,数据库“自动驾驶”技术已到来

如果是面对一个普通的小表,那么可以直接做DDL,但是如果面对的是一个数据量比较大的表,比如几十G甚至几百G,要做一个表结构变更怎么办?这个时候很有可能影响业务请求,所以我们提出要做在线DDL。...第一个,日常我们很常见的场景是,切表前有一个大的事务访问这张表,查询了半个小时还没有跑出来。...我们可以看一下这边的故障特征,这类的故障特征是会话2更新的表超时了,或者结余时间比较久。的时间超时T1,或者很久T1执行完了都有可能。...A:如果终止会话事务也会持续比较长的时间,如果一直等事务持续也是一个比较长的时间。这个时候建议把杀掉,如果不放心,刚才提到的有大事务极有可能触发主备切换。我们会强制做切换来保证高可用。...Q:死锁检测是通过定位? A:这里不是死锁,是锁等待,是两个事务都无法执行,我们刚才的例子是可以提交,只是长时间未提交的事务

58020

【Dev Club 讨论】聊一聊微信“小程序”

小程序是一种不需要下载安装即可使用的应用,实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。...有些小团队 维护 iOS 和 Android 两个端,还要保持同步更新,很难做的很好的。 @张楷: 1.对于用户:觉得那种小应用或者相对于原来的公共账号可能用户体验会好很多。而且获取成本也低一些。...但是如果使用其他 App,可以切回来继续聊,或者用通知条去快捷回复。如果能进入小程序的时候,给人感觉是个独立的 App 就好了。在任务管理器里看着像两个 App,可以分别清理。...微信下多个小程序可以多开还是独占?相互间有无影响呢。 @就是啊:假如小程序崩溃了或者有严重的性能问题会影响到微信本身的体验? @juliandai:对哦,小程序会导致微信crash?...个人的理解是: 刚高频的应用,用户可以应用号,体验到应用的核心价值,然后引导下载原生应用。 刚低频的应用,应用号应该就够用了。 非刚又低频的应用,做个应用号,还能少浪费点投资人的钱。

1.2K60

MySQL读写分离

一个单机数据库的多实例来组成一个集群,提供分布式数据库服务非常困难。 部署集群的时候,需要做很多额外工作,很难做到对应用透明,那你的应用程序也要为此做较大调。...读写分离带来的数据不一致 读写分离的一个副作用:可能存在数据不一致。DB的数据主库完成更新后,是异步复制到每个从库,即主从同步延迟。正常不超过1ms。但也会导致某刻,主、从库数据不一致。...读写分离的方案不需要对系统做太大的改动,就可以系统支撑的并发提升几倍到十几倍。...更复杂一点儿的,可以在请求带上一个刷新标志位,如果用户查看订单的时候,手动点击刷新,那就不走缓存直接去读数据库,也可以解决一部分问题。...sharding可以做到同一个线程内更新后的查询主库进行,其他的情况也是交互上做改进。 读写分离后,是否可以满足高并发写呢,比如秒杀系统,能够满足瞬间大量订单创建写数据库

2.2K30

Kubernetes 上运行有状态应用的最佳实践

从集群 pod 的角度来看,有状态应用会作为一个外部的集成。 这种方式的好处在于,允许我们按照原样运行现有的有状态应用,无需重构或重新架构。...如果应用能够根据 Kubernetes 集群工作负载的需要进行扩展,那么我们就不需要 Kubernetes 复杂的自动扩展和资源供应机制。...如果 Kubernetes 需要扩展和伸缩的话,它会保持与外部用户或者集群其他应用的现有连接。...我们可以借助持久化卷,运行在同一个 pod 的多个服务使用同一个挂载的文件系统。...Kubernetes 的常规存储卷会有一个确定的生命周期:每个卷都与 pod 的生命周期绑定。当 pod 处于活跃状态的时候,卷会保持 pod 内,如果重启 pod 的话,卷会被重置。

87820

全站缓存时代

纯静态页面的访问量一般不会很大,程序直接响应也是可以的。 2. 纯动态页面 都说是动态页面了,那就不要做页面缓存了。可以考虑做数据缓存,或者是 redis、DB 缓存。 3. 短时静态页面 1....A 服务器生成了一个文件,还需要实时同步到 B 和 C。当然也可以 A、B、C 挂载同一个磁盘。问题又来了,这个文件要不要备份呢? 2....响应 如果更新缓存,只需要删掉对应的redis 值 4. 动静结合的页面 这种页面实际情况更常见。原则:静态页面缓存,动态部分异步请求。 ?...实际情况非常复杂,我们的系统,出现过一个页面出现在 七 个平台,每个平台的显示效果会不一致。...对于 /api/xxxx 的接口,自然不需要做 PC 和移动端或者其他平台的区分,一个 action 就可以解决了。这样就避免了维护两套系统的问题。 结语 以上,全站缓存基本完成。

1.3K80

Leaf—Segment分布式ID生成系统(Golang实现版本)

信息安全:如果ID是连续的,恶意用户的扒取工作就非常容易做了,直接按照顺序下载指定URL即可;如果是订单号就更危险了,竞对可以直接知道我们一天的单量。所以一些应用场景下,会需要ID无规则、不规则。...ID号单调自增,可以实现一些对ID有特殊要求的业务。 缺点: 强依赖DB,当DB异常时整个系统不可用,属于致命问题。配置主从复制可以尽可能的增加可用性,但是数据一致性特殊情况下难以保证。...符合我们定义的号段标准,对于这个例子来说就是第一台以后只能产生奇数。扩容方案看起来复杂?貌似还好,现在想象一下如果我们线上有100台机器,这个时候要扩容该怎么做?简直是噩梦。...为此,我们希望DB取号段的过程能够做到无阻塞,不需要DB取号段的时候阻塞请求线程,即当号段消费到某个点时就异步的把下一个号段加载到内存。而不需要等到号段用尽的时候才去更新号段。...waiting这里使用的是map+chan的结合,这里的作用就是当我们当前缓存池的号段消耗的比较快或者预加载失败了,就会导致现在没有缓存池可用,所以我们可以去等待一会,因为现在有可能正在做预加载,这样可以保持系统的高可用

41910

携程异步消息系统实践

这时候很多时候不需要做升级客户端这个操作,只要升级broker就可以了,而broker升级也很方便。 但是的缺点在于,当初没有考虑到的绑定关系。...原来MySQL有一个很大的问题是说,数据清理很烦。目前的版本可以支持一个表里面可以按ID或者按date等等去做一些partition,然后这个数据不要了,就drop掉一个partition就可以了。...那么索引就不需要了,这张表也可以变成只有ID的索引。这样你做一些优化,一种是从技术上,一种是从业务上考虑,这是消息系统需要解决的核心问题?...如果不是但是又影响的性能,那么你可以从业务的需求上想一些办法。 批量写入比较简单,大家都会想到,从broker端都会做一些批量化,很多producer写过来,我们broker这边做一些批量。...写入事件,可以截获你,你不需要做轮询,可以做Long Pulling,很多事情是可以缩短整个因为写到DB再拿出来的时间的延迟。另外一个集群管理方面,我们是借助这个lease来做。

71830

95道MongoDB面试题(含答案),1万字详细解析!

MongoDB没有使用传统的锁或者复杂的带回滚的事务,因为设计的宗旨是轻量,快速以及可预计的高性能。可以类比成MySQLMylSAM的自动提交模式。...25、如果一个分片(shard)停止或者很慢的时候,发起一个查询会怎样? 如果一个分片(shard)停止了,除非查询设置了“Partial”选项,否则查询会返回一个错误。...如果一个分片(shard)响应很慢,MongoDB则会等待的响应。 26、可以把moveChunk目录里的旧文件删除?...但目前清理工作是需要手动的,所以请小心地考虑再释放这些文件的空间。 27、怎么查看 Mongo 正在使用的链接? db....29、如果使用复制技术(replication),可以一部分使用日志(journaling)而其他部分则不使用? 可以。 30、当更新一个正在被迁移的块(Chunk)上的文档时会发生什么?

8K30

DBA上班也能轻松喝咖啡,数据库“智能驾驶”技术全解密

如果是面对一个普通的小表,那么可以直接做DDL,但是如果面对的是一个数据量比较大的表,比如几十G甚至几百G,要做一个表结构变更怎么办?这个时候很有可能影响业务请求,所以我们提出要做在线DDL。...第一个,日常我们很常见的场景是,切表前有一个大的事务访问这张表,查询了半个小时还没有跑出来。...我们可以看一下这边的故障特征,这类的故障特征是会话2更新的表超时了,或者结余时间比较久。的时间超时T1,或者很久T1执行完了都有可能。...A:如果终止会话事务也会持续比较长的时间,如果一直等事务持续也是一个比较长的时间。这个时候建议把杀掉,如果不放心,刚才提到的有大事务极有可能触发主备切换。我们会强制做切换来保证高可用。...Q:死锁检测是通过定位? A:这里不是死锁,是锁等待,是两个事务都无法执行,我们刚才的例子是可以提交,只是长时间未提交的事务

69431

DDD -- 领域驱动设计 -- 6步成诗法

(5)数据驱动:所有数据一个DB或者中央存储里面, 所有工作以对数据的“增删改查”为中心。。 上面的分类方法呢,并不是完全的“正交分解“,很多时候做开发,是同时糅和了好几个套路。...“领域”是你最重要的部分 换句话说,如果你做的软件,领域不是最重要的部分。比如做底层系统,你的最重要的部分或者是存储,或者是解决分布式一致性,或者解决高并发问题。那可能你就不需要搞DDD。...比如现在有一个业务流程,需要多个老大,每个老大带的团队都要做一部分事情。你可以某个老大负责协调,也可以一个”协调者“,由统一协调多个老大。 这个“协调者”,就是领域服务。...拆了之后,不是查询的慢,那可以实现读写分离,比如把所有的写的DB数据,全部进入到搜索引擎里面,所有的查询都在搜索引擎里面解决,领域模型只负责写入问 题。 不用搜索引擎,用DB也是一样的思路。...分布式事务 消息的不丢不重是解决分布式事务一个关键,关于分布式事务的问题,另一篇博客 “分布式消息队列RocketMQ–事务消息–解决分布式事务的最佳实践”里面有详细探讨,此处不再详述。

48410

如何使用消息队列的事务消息

订单模块创建订单的过程实际执行了俩操作: 订单DB插一条订单数据,用来创建订单 发消息给MQ,消息内容即刚创建的订单 购物车模块订阅相应主题,接收订单创建的消息,然后清理购物车,购物车删除订单的商品...所以分布式事务更多是分布式系统事务的不完整实现。不同场景有不同实现,都是通过一些妥协解决问题。 常见分布式事务实现有2PC、TCC和事务消息。...Kafka简单粗暴,直接抛异常,用户自行处理 我们可在业务代码反复重试提交,直到提交成功 或者删除之前创建的订单进行补偿。 我们这里例子里面,本地事务就是创建订单这个数据库事务。...要支持事务反查机制,业务代码实现一个反查本地事务状态的接口,告知RocketMQ本地事务是成功还是失败。 如果反查的服务器数据不一致,它是认为本地事务失败还是继续多次反查呢?...回查时间和次数怎么设置 如果发布者本地事务执行太久还没执行完,消息中心就来回查是不是有问题,所以应可以把发消息放本地事务的后面吧,另外次数定义也是经验值吧 反查一般是定一个事务超时时间,超时之前会不定期回查

2K10

软件架构师的12项修炼—个人技能修炼(2)—激情

如果这些问题有一个答案是“不”,你就要严肃考虑,取得此职位的蜜月期过后,开始转入日常的繁琐事务时会发生什么情况。如果你丧失了做此工作的激情,你干好工作的能力就会下降。...试着找出新的兴趣是否真的是你希望的,或者你喜欢的哪个方面。如果此兴趣真的能吸引你,设法将其变成更多时间的一种追求。 一旦你做出这种改变,你就会吃惊于激发出多大的能量,它又是怎样你振作起来的。...你会想“还有更重要的事情要做,这个当然不会列的优先级清单”。稍等片刻后,你不情愿地同意做这件事, 你现在不得不找出精力来完成这项要求。...每天都找个小步骤来往你的目标努力,下面是一些主意: 有可以读或听的书本每年要听5~6本书,每天上下班的路上。虽然只有五分钟的车程,但我仍然把这段时间很好地利用了。 有无可上的培训班?...通常你可以参加一些“物以类聚”的聚会,遇到和你有类似兴趣的人。 有没有人已经在做你想追求的事物了?他能当你的良师益友如果本地有某个俱乐部或组织致力于你感兴趣的领域,你可以加入

35820
领券