退休计划p1-为何讲起财产自由
财产自由的目标最近正在学习费曼学习法,其核心思想是以教代学,用输出倒逼输入,正好近期也看了也谈钱公众号的财产自由的一些文章,有所感悟,整理成了思维导图,用费曼学习法的方式输出,并不断回顾知识。 财产自由计划我觉得也可以作为退休计划去看待,其实生活中大部分的烦恼来自于工作,如果我们某一天不用为了生计去工作,就不用再被这些烦心事去约束,去把有限的时间投入到无限的热爱的事情中去。 当然,财产自由是不想干什么就可以不想干什么,而不是想干什么就干什么 财产自由对比财产富裕这里就直接引用也大的话来讲: 财务自由和财务富裕实际是两个概念。自由是个相对值,起点越低、欲望越少,自由也越容易,每个人都可以通过自我管理来实现;而富裕是个绝对值,严格来讲并非人人可及。这里我们只谈财务自由,不谈富裕。 关键点是自由是每个人都可及,并且通过自我管理就可以实现,每个人都有无限的可能。 我自己的财产自由计划看也大的文章过程中也等于学习知识的一种过程,学习不只是为了记住什么,而是我们通过学习建立自己行之有效的思维框架,并将知识运用到实践中,解决生活和工作中的实际问题。 所以将实践与知识结合尤为重要,我自己...
MIT6.824-Raft中使用锁的建议
Raft Locking Advicehttp://nil.csail.mit.edu/6.824/2020/labs/raft-locking.txt If you are wondering how to use locks in the 6.824 Raft labs, here are some rules and ways of thinking that might be helpful. 如果您想知道如何在6.824 Raft labs中使用锁,以下是一些可能会有所帮助的规则和思考方法。 规则1:go raceRule 1: Whenever you have data that more than one goroutine uses, and at least one goroutine might modify the data, the goroutines should use locks to prevent simultaneous use of the data. The Go race detector is pretty good at dete...
即使睡了7.5个小时,我仍然感觉不到精力充沛
翻译自《I Wasn’t Feeling Refreshed Even After 7.5 Hours of Sleep. Here’s How I Fixed It | by Samir S. | In Fitness And In Health | Medium》 https://medium.com/in-fitness-and-in-health/i-wasnt-feeling-refreshed-even-after-7-5-hours-of-sleep-here-s-how-i-fixed-it-f785a51fec15 Getting enough sleep is perhaps one of the most important things we can do for our health and body. Sleep is a chance for the body to repair itself and to reenergize. 充足的睡眠可能是我们能为我们的健康和身体做的最重要的事情之一。睡眠是身体自我修复和重新获得能量的机会。 Ever ...
火车头使用教程
声明:本教程无任何盈利目的,仅供学习使用,也不会对网站运行造成负担,请勿用于任何商业用途。 火车头简介火车采集器官网-网页抓取工具火车头采集器免费网站采集软件 火车采集器,一款专业的互联网数据抓取、处理、分析,挖掘软件,可以灵活迅速地抓取网页上散乱分布的数据信息,并通过一系列的分析处理,准确挖掘出所需数据。火车采集器历经十二年的升级更新,积累了大量用户和良好口碑,是目前最受欢迎的网页数据采集软件。 简单来讲,就是使用软件来简化我们的爬虫过程,在整一个过程中,不需要编写代码就能够实现爬虫逻辑。 举例爬取任务需要分页爬取所有页面,并对页面上所有感兴趣的条目进一步爬取二级URL 新建任务添加一个任务 网址采集规则-网址获取 起始网址填上【第一页的URL】 网址获取选项的意思:提取当前页面上想要爬取的条目的URL,比如xx网第一页上的符合条件的所有商品链接。 12345678910111213141516171819202122<div class="Z_list-box">...<div class="pic-box"...
uniapp微信小程序callMethod调研记录
官方模板项目搭建uni-app官网 这里搭建起来的是官方项目,便于研究自带的测试api 准备模板12345678# 全局安装vue-clinpm install -g @vue/cli# 创建项目,选择Hello uni-app模板vue create -p dcloudio/uni-preset-vue#alpha my-project# 安装测试依赖包npm install @dcloudio/uni-automator --save-dev 修改配置修改jest.config.js 中的testEnvironmentOptions ,添加以下配置 123456789101112testEnvironmentOptions: { "mp-weixin": { port: 9420, // 默认 9420 account: "", // 测试账号 args: "", // 指定开发者工具参数 cwd: "D:/software/微信web开发者...
MySQL慢查询优化
优化出发点大部分情况下一般是考虑索引,但是其他方面也值得考虑。 数据库级别 表的结构:列是否具有正确的数据类型?表的结构是否设计正确,例如,频繁更新的应用的表结构应该是少列多表,分析大量数据的应用应该是少表多列 是否创建索引?索引是否有用? 是否选择了合适的存储引擎,这个现在一般是InnoDB 表是否使用正确的行格式(ROW_FORMAT)?特别是ROW_FORMAT为COMPRESSED 的表使用较少的磁盘空间,因此需要较少的磁盘I/O来读写数据 应用程序是否使用了适当的锁策略?例如在某种情况下允许共享读(shared access),以便数据库操作能够同时进行 缓存大小是否设置正确?足够大的缓存能够容纳经常访问的数据,但是又不能过大,过大导致使用虚拟内存I/O性能下降 硬件级别磁盘种类、速度、CPU、内存等因素 数据类型优化几个简单原则: 更小的通常更好 应该尽量使用可以正确存储数据的最小数据类型。更小的数据类型占用更少磁盘、内存和CPU缓存,并且处理时需要的CPU周期更少。(确保没有低估,如果无法确定哪个数据类型最好,就选择不会超过范围的最小类型) 简单就好 简...
MIT6.824-Primary-Backup-Replication
What kinds of failures can replication deal with? “fail-stop” failure of a single replica fan stops working, CPU overheats and shuts itself down someone trips over replica’s power cord or network cable(电源线或网络电缆) software notices it is out of disk space and stops Maybe not defects in h/w(Hardware/Software) or bugs in s/w or human configuration errors Two main replication approachesState transfer Primary replica executes the service Primary sends [new] state to backups Replicated state mach...
MIT6.824-GFS
为什么我们要阅读这篇论文?在分布式系统中,分布式存储是关键的部分,我们该怎么去设计它,分布式存储的interface/semantics 应该怎么定义,它是怎么并行工作的等。 GFS paper涉及到了很多分布式系统主题:parallel performance, fault tolerance, replication, consistency 。从apps到network都有详细的介绍,并且在现实生活中有着成功的应用。 为什么分布式存储这么难? high performance→将数据拆分到很多服务器上面,通过很多台服务器并行读取数据 many servers→机器一多,机器发生故障的概率会变大,需要容灾机制,能够自动恢复 fault tolerance →最简单的方式就是通过复制得到多个副本,当一个副本出现问题时,其他副本还能用 replication →有数据不一致的风险 better consistency →如果需要更强的一致性的话,在网络中所有不同的服务器和客户端之间需要进行很多额外的工作和交流,那么这样性能就会降低,所以这个不是我们最初想要的 我们想要什么样的一...
MIT6.824-MapReduce
背景有时候我们需要从一批数据中得到一些结果,比如从最频繁查询的结果集,每个单词出现的次数。随着输入的数据越来越多,为了在合理的时间内完成,单台机器可能会完成不了这个任务,所以我们必须将这个计算压力分担到多个机器上面,并行计算。 但是解决计算的标准化,数据的分配,故障处理,负载均衡等问题是个大工程,让原本简单的代码变得复杂起来。 为此,Google发明了MapReduce系统,隔离了复杂的底层,让程序员能够容易使用这个系统进行大数据量的分布式计算。 编程模型将用户的计算分为两个函数处理:Map和Reduce 函数 Map函数:输入数据,处理后生成一组键值对(中间值) Reduce函数:处理前面得到的中间值,然后将这些值合并在一起,形成更小的值集。通常,每次 Reduce调用只生成零个或一个输出值。 简约模型: 123map (k1,v1) → list(k2,v2)//这里是指对应k2的结果有多个reduce (k2,list(v2)) → list(v2) 举个例子: 现有大量的文本数据,想统计每个单词出现的次数 123456789map(string documentN...
项目Golang优化点
一、前言最近接手的一个项目需要预先生成大量缓存(并不是一个好方案,最终ban掉了),在生成缓存处理数据中发现了一些优化点,可以提高速度,在此记录一下,首先可以了解一下如何利用工具找出代码中一些代码块的执行速度。 二、pprof2.1 简介google/pprof pprof 是用于可视化和分析性能分析数据的工具,这里主要用来定位性能问题 主要有以下数据: CPU Profiling:CPU 分析,按照一定的频率采集所监听的应用程序 CPU(含寄存器)的使用情况,可确定应用程序在主动消耗 CPU 周期时花费时间的位置 Memory Profiling:内存分析,在应用程序进行堆分配时记录堆栈跟踪,用于监视当前和历史内存使用情况,以及检查内存泄漏 Block Profiling:阻塞分析,记录 goroutine 阻塞等待同步(包括定时器通道)的位置 Mutex Profiling:互斥锁分析,报告互斥锁的竞争情况 这里我们主要用到第一点 2.2 结果分析这里使用的是web应用,可以使用 net/http/pprof库,它能够在提供 HTTP 服务进行分析 1go tool pp...