ARST打卡第66周[66/521]

因为上周日晚骑已损坏的哈啰助力车遇到小坡飞出摔伤,右手舟状骨骨折,导致自己上周ARST打卡没有打

Algorithm

LeetCode/26_unique_删除排序数组中的重复项

Review

TED演讲:金钱能买来幸福吗?

这又是一个关于给予他人更加能收获感到幸福的故事

Tips

spec文件知识整理

Share

延迟加载配置项

有些时候我们需要对于一些常用变量提取到类变量,但是在__init__()的时候有些资源获取不到,这时我们就可以使用延迟加载,在第一个使用这个配置项的地方加载配置

非延迟加载

1
2
3
4
5
6
class XXXTask(task.Task):
def __init__(self):
self.node_client = NodeAgentClient(ip=self.__get_filestore_agent())

def __get_filestore_agent(self):
return clusterproxy.ClusterProxy().get_agent_work_ipaddr()

后来的延迟加载

1
2
3
4
5
6
7
8
9
class XXXTask(task.Task):
def __init__():
self._node_client = None

@property
def node_client(self):
if not self._node_client:
self._node_client = NodeAgentClient(ip=clusterproxy.ClusterProxy().get_agent_work_ipaddr())
return self._node_client