首先这篇文章是建立在有一些编程基础之上来展开的,做为一种效率学习编程语言的自我总结输出。把编程语言当做一个工具,而这些不同种类的工具有很多的共通之处,抓住其中的关键之处可以大大提升学习效率,也是一篇自我总结的学习方法论,里面有的方法可能不适合我,但也会讲讲。如果要学习一门编程语言,先要问一下为什么要学?学会了能做什么?要达到什么样的目标?只有把这些问题想清楚了再去做,不然稀里糊涂不知所以,很可能半途而废。想明白了就要坚持去做,不要再东望望西看看,想、做、坚持三位一体是学到的基本三要素。

学习途径分析

网上的学习资料纷繁复杂,各种培训课程满网都有,那么大致分为以下几种吧:

总结来说学习路径是这样的。

  • 入门:适合通过看视频和培训来实现,然后通过搜索引擎和博客文章论坛协助解决遇到的各种问题。
  • 提高:通过看书和大佬的博客文章交流论坛等来加深理解。
  • 实践:实践也是提高的一种方式,可以通过学习别人项目来仿写实践。

适合学习或交流的地方,Stack Overflow、博客园、简书、GitHub、官方论坛等等。关于搜索引擎,入门用百度就可以了,提高和实践建议用谷歌。

指定计划

这个也挺关键的,我就没有做好,也不太好定。

查问题的办法

学习过程中很关键的一点就是遇到问题如何解决问题,解决问题的速度和方法很大程度上决定我们后期学习的进度和自信心,那么我总结了几条比较关键的要素说明。

学会如何看异常信息

不论写 demo 还是实际项目开发中,肯定会遇到一堆异常情况,然后控制台打印一堆杂乱信息,首先要做的是理清楚其中的信息结构,其实就是日志啦,大致分为以下几种:

  • DEBUG:一般在开发调试期间开启,可以比较清楚的了解程序在运行过程中的各种状态和传参等。
  • INFO:正常运行日志信息,当程序访问量很大的情况下很多,会收集到日志系统。
  • WARN:对于程序可能出现的潜在问题的地方记录信息,或者不再支持的方法或库等。
  • ERROR:对于程序运行中的非预期异常访问、状态、请求需要记录错误信息和错误状态。
  • TRACE:这个在不同语言表的可能不同,主要是概括为带有调用堆栈信息的异常日志。

那么在测试过程中为了快速定位问题,还是要打印 TRACE 级别的异常日志,那么异常信息如何看呢?

Python 的异常信息示例

1
2
3
4
5
6
7
8
9
10
11
12
13
xyz-macdeMacBook-Pro:dev-demo xyz$ python mixin_demo.py 
Init people.
People can eat!
People can drink!
People can
Traceback (most recent call last):
File "mixin_demo.py", line 44, in <module>
people = People()
File "mixin_demo.py", line 39, in __init__
print "People can ", self.sleep()
File "mixin_demo.py", line 30, in sleep
raise NotImplementedError(u"can't sleep.")
NotImplementedError: can't sleep.

在执行 Python 脚本的时候执行异常报错,Traceback 是我们要看的异常堆栈信息,自顶向下从 "mixin_demo.py 的 44 行开始执行,执行到 mixin_demo.py 第 30 行报错,异常类型 NotImplementedError,异常内容为 can't sleep.。也就说我们看到报错信息后,然后可以看到对应报错的位置以及调用链,方便快速定位到问题。

Java 的异常结构展示顺序有点不同,它的信息最底部是调用入口,然后向上一直到报错点,还有报错信息也在上面。这里只是一个简单的示例,通常 Java 的异常堆栈信息很长,调用链很深,这就需要有一定的经验来判断问题实际产生的原因。

1
2
3
4
5
6
7
8
9
10
objc[20307]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/bin/java (0x1077344c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x10874d4e0). One of the two will be used. Which one is undefined.
Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'teacher2' available
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:775)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1221)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:294)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at org.springframework.beans.factory.support.CglibSubclassingInstantiationStrategy$LookupOverrideMethodInterceptor.intercept(CglibSubclassingInstantiationStrategy.java:290)
at com.noogel.xyz.lookup.GetBeanTest$$EnhancerBySpringCGLIB$$e79f57a6.getBean(<generated>)
at com.noogel.xyz.lookup.GetBeanTest.showMe(GetBeanTest.java:5)
at LookupTestMain.main(LookupTestMain.java:9)

使用IDE断点调试

IDE 可以帮我们做很多事,大大提高了我们的开发效率,那么如何用好这样一个工具也是很关键的,这里说一下利用 IDE 进行 debug 调试。

通过上图我们可以看出 IDE 的调试功能很丰富,如果用好对于提高学习编程效率很有帮助。

查问题打日志

在 Python 中有一个查问题很好的利器 iPython,可以很方便的直接传参执行函数,对于线上问题,这样虽然很方便但是不可取。像 Java8 这样版本下的语言又没有很好用的一个工具,那么可以通过打日志的方式来操作,需要对可能的问题点分析然后增加日志辅助判断,打日志是一个很合适的查线上问题的方式。

向有经验的人请教

老师傅一出手就知有没有,如果遇到问题没有思路或者自己憋住了,需要及时向有经验的人请教,才是一个正确的选择。

了解框架的运行机制

俗话说『打铁还需自身硬』,遇到了问题总不能一直向别人请教吧,还是要自己去搞定的,上面的介绍的方法搞不定怎么办,那就要平时花心思在使用的框架上学习了,因为你不可能直接裸写代码的,一些轮子直接搬过来用固然高效,但是不懂构造轮子还是用不好的,容易出问题,所以要平时多去积累了。

以上讲的都是一些可以提高学习效率的方法。先写这些,后续想到新的再继续更新。

实践一个项目

一般视频和图书的最后一部分都会有初级的实践项目,可以用来综合练习一下所学到的知识。可以看完再自己提需求自己实现一遍。

再有就是 GitHub 上有很多,不过要好好找找合适,可以拿来练手,最好是找一些多 star 的项目,对于技术提升很有帮助,发现问题还可以提 issue 交流,然后提 PR 解决。

另外一个就是某某公司意外泄漏或者开源的项目源码,这些都是经历生产环境反复验证的代码,具有很高的参考性。

举个例子就是在 Java 中 spring MVC 是一个很著名的项目,那么学习它,有的人就手敲 spring 项目,边学习边实现其中关键的代码。GitHub 地址:https://github.com/code4craft/tiny-spring

了解语言的技术栈

学习一门编程语言肯定是用来解决实际问题或找一份工作的,那么你要知道并不仅仅是学习这门编程语言,而是整个技术栈。了解一个语言的技术栈可以去招聘网站上看,一般都会写至少需要精通一门编程语言,熟练使用 MySQL 解决并优化问题,熟练使用并了解各种 MQ 原理等等。那么这些都是需要去了解的,起初学习可以为了用而用的去实践一个更完整的需求。

比如说我需要了解公司的微服务架构,那么我需要看它都用了哪些技术栈,然后自己再手敲一些项目,并且 docker 化,自动注册服务发现来管理多个 RPC 服务等等。。。

总之,一个是多看多实践多思考,然后就是多交流,闭门造车是不行的。

了解语言的运行机制

语言的内存模型?
语言的并发模型?
语言的垃圾回收机制?

基本概念

一个事务在进行数据变更时对另一个事务产生的可见性影响描述,表达为 脏读、幻读、不可重复读三个概念。下面具体解释下对应概念。

  • 脏读:当前事务能够读取其它事务未提交的数据。
  • 幻读:当前事务中在前后两次相同查询中读取的数据不一致,原因在第一次查询后第二次查询前提交了数据产生的。(侧重于插入了新的数据)
  • 不可重复读:当前事务中查询相同的范围数据,同一数据的内容发生了变化。(侧重于数据的更新)
    基于这三个现象描述,主要因为 MySQL 设置的隔离级别不同导致的。

ACID特性

  • 原子性(Atomicity),一个事务中的所有操作要么全部成功,要么全部失败,不能只成功一部分。
  • 一致性(Consistency),从一个一致性状态到另一个一致性状态的转换。(一致性和隔离性保证了数据的一致性)
  • 隔离性(Isolation),一个事务在提交之前对其它事务是不可见的。
  • 持久性(Durability),一个事务一旦被提交就会永久的保存到数据库中。

InnoDB中的事务隔离级别

  • 未提交读(Read Uncommitted),允许脏读,也就是可能读取到其他会话中未提交事务修改的数据。
  • 已提交读(Read Committed),只能读取到已经提交的数据。Oracle等多数数据库默认都是该级别。
  • 可重复读(Repeated Read),在同一个事务内的查询都是事务开始时刻一致的,InnoDB默认级别。在SQL标准中,该隔离级别消除了不可重复读,但是还存在幻读。
  • 串行化(Serializable),完全串行化的读,每次读都需要获得表级共享锁,读写相互都会阻塞。
隔离级别 脏读(Dirty Read) 不可重复读(NonRepeatable Read) 幻读(Phantom Read)
未提交读(Read uncommitted) 可能 可能 可能
已提交读(Read committed) 不可能 可能 可能
可重复读(Repeatable read) 不可能 不可能 可能
可串行化(Serializable ) 不可能 不可能 不可能
1
SELECT @@tx_isolation; 

查询 InnoDB 的默认隔离级别是 RR,按照四种隔离级别的关系来看是会出现幻读情况,但实际上 InnoDB 引擎下的两次查询是一致的,那么它是帮我们解决幻读了吗?

1
2
3
4
5
6
7
8
9
10
11
//设置read uncommitted级别:
set session transaction isolation level read uncommitted;

//设置read committed级别:
set session transaction isolation level read committed;

//设置repeatable read级别:
set session transaction isolation level repeatable read;

//设置serializable级别:
set session transaction isolation level serializable;

MySQL是如何解决幻读的?

  1. 在可重复读隔离级别下,普通的查询是快照读,是不会看到别的事务插入的数据的。因此,幻读在 “ 当前读 ” 下才会出现。
  2. update 语句的修改结果,被之后的 select 语句用 “ 当前读 ” 看到,不能称为幻读。幻读仅专指 “ 新插入的行 ” 。

产生幻读的原因是,行锁只能锁住行,但是新插入记录这个动作,要更新的是记录之间的 “ 间隙 ” 。因此,为了解决幻读问题, InnoDB 只好引入新的锁,也就是间隙锁 (Gap Lock) 。间隙锁和行锁合称 next-key lock ,每个 next-key lock 是前开后闭区间。next-key lock 可能会导致同样的语句锁住更大的范围,这其实是影响了并发度的,在 RR 隔离级别下,两个是事务同时锁住一个不存在的值,之后进行插入操作会引发死锁,因为间隙锁之间并不会冲突。如果设置成 RC 隔离级别的话间隙锁就不存在了,同时需要解决对应的数据和日志不一致问题,需要把 binlog 格式设置为 row 。

参考:

https://www.cnblogs.com/likui360/p/9632641.html
https://en.wikipedia.org/wiki/Isolation_(database_systems)#Phantom_reads

夏天来了,大半夜热的睡不着,最近看过一本书《极简主义》,罗列一下其中的观点,以及作用到生活中的尝试。

首先来引述原文介绍下什么是极简主义:

极简主义是一个工具,我们用它来获得人生的满足感。极简主义中没有规则。确切的说,极简主义只是去除生活中那些无关紧要的事物,从而使我们能够专注于最重要的东西——而它们事实上根本就不是实物。

这并不是它的定义,而是说明了从极简主义带给我们什么,让我们从杂乱的生活中抽离出来,让我们舍弃对于我们不那么重要却又不想割舍的人际关系或事物,专注于重要的事情中去。读这本书的起因是前一段时间对于工作和生活感到很沉重,工作一天带着疲惫身体回家后,面对堆满杂物的宿舍,心情更加烦躁,每天纷繁不断的微信消息偷走了大量的时间。每天都很忙,却又觉得并没做什么事情,睡觉的时间也越来越少。

当我意识到现在的问题,恰好在豆瓣看到这样一本书,下载下来读了一遍,对于书中的部分观点还是比较认可的,便有意识的改变自己的生活方式。这里作出改变只是在生活上,对于工作还是那样,甚至我认为工作是反极简主义的,就像书中的作者是辞去工作开始的极简主义实践。其中有很多讨论我并没有太在意,也是不适合我当下去作出改变,下面只是按照一条实践过的线去聊。

首先,是什么让我们感到不够快乐,让我们感到压力呢?作者确定了一个叫做『锚』的概念,代指我们想要的得到的大房子、高薪、物质财产、公司奖励等,这些欲望占据着我们,给我们带来压力。试想一下如果我们已经拥有或者舍弃掉这些,也许会轻松很多,可以有更多的时间精力专注于我们喜欢的事情上,让人生过得更有意义?好像我现在也无法做到舍弃。如果这个⚓️给你带来太多负担,那你是要舍弃了,而这里我所能做的不是上面那些,下面慢慢说。

首先我们要使人生有意义的五大价值明确:

  1. 健康
  2. 人际关系
  3. 热情
  4. 成长
  5. 奉献

这本书后面的章节也是在围绕着五个主题来开展说明的。这本书有个特点就是并不想书名那样极简,而是在不断赘述一些观点,以加强这些观点在读者心中的印象吧。

作出改变,如果你只是一味在想而没有实际付出行动的话并没有任何作用。首先是必须要作出改变,改变永远不会太迟,你需要的只是在知道该怎么做了之后付诸行动。这点很重要,所以作者也是提前说明。这里推荐去看拖延症相关的知识。

下决心总是困难的。而拖延却很简单——至少拖延一时很简单。但拖延得不到任何回报。

打包派对,打包你大量的闲置物品,保留生活中常用的,然后扔掉、转卖或捐赠。对于闲置物品不仅占用了你的空间,还浪费你的精力,平时你也想不起来用它,然后又要找半天,在生活如此便利的今天,你可以舍弃很多无用的东西了。还有注意不要囤货,日用品很容易买到,你就把楼下的便利店当做你的免费仓库好了。东西要少而精。推荐看一下《怦然心动的人生整理魔法》、《断舍离》还有日剧《我的家里空无一物》。看完书的当周我便清理出了几大袋子暗藏在屋里角落的无用物品,实际上在之前看书的时候就有意识的清理丢弃无用的东西,只是后来没做好,看来要周期性清理一番。

健康,这个老生常谈,却总被人忽视,没有健康,你连生活中最简单快乐都无法享受。这里我一直做不好的就是没能去改变熬夜的习惯。健康的从广义上来讲有以下几种:情绪健康、心理健康、精神健康、财务健康、身体健康等。这里只针对身体健康来讲,分为两个方面,饮食和锻炼。饮食上并没有去尝试改变,因为自己本身很瘦。而锻炼作出了一些,在这之前总是说要去健身房健身,却总是懒的去,读完这本书后努力去作出改变,从跑步开始,因为我觉得跑步是最容易开始的锻炼,现代科技带给人们很多的便利性,借着小米手环的帮助开始了每周三次的夜跑,精神状态也慢慢好转。另外说一句是跑步要是一件技术活,推荐看一下《运动改造大脑》、《跑步圣经》这两本书。平时多看看书还是有好处的,当你尝试作出改变的时候也是能知道如果改变。

讽刺的是,锻炼实际上给了你更多时间,而不是把时间夺走了。它不光能延长寿命,对我个人而言,它还让我跟我最好的朋友建立了更紧密的联系。当我一个人锻炼时,它又给了我独处的时间,留给自己的时间,而我们都知道这是很重要的。锻炼是一种意想不到的帮你重获时间的方式。

人际关系,你的人际关系有你的亲人、朋友、同事、配偶、恋人、室友等。人际关系处理这块是弱项,需要认真🤔一下。

建立关系的三种办法:

  1. 寻找超棒的新人际关系;
  2. 改造你现有的人际关系;
  3. 改变你自己。

必须要牢记的是:你的人际关系在你往后的人生中并不是固定不变的。随着年龄的增长,会有不同的人走入或走出你的生活,而他们与你的关系的重要程度也会改变。许多十年前与你关系紧密的人现在已经不再亲密了,对吧?同样,你未来的人际关系也会继续变化、成长。因此,在这个过程中积极行动就很重要。你主动选择自己的人际关系,而关于前两档人际关系的调整,往往要作出很艰难的抉择。
你唯一能改变的人是你自己。当你以身作则时,与你走得最近的人,往往也会跟着效仿。

断掉网络,这点对我的改变应该说是关键性的。每天下班回家都会有家人和朋友发来各种微信消息,填充了我整个晚上的时间,使我并没有一段固定且连续的个人时间了,也就导致我对于当下缺少反思,活在网络的世界中。还有各种 APP 新闻推送,一刷就停不下来的短视频等,我们的时间被大量的占据,这也是痛苦和拖延的关键,也是一个很重要的⚓️。然后我做了一些改变。

  1. 开始清理📱中那些功能重复的 APP,比如获取热点新闻微信足够了,我对时效性又没有那么高。
  2. 各种短视频 APP,这些起初我觉得有学到东西才装的,但是却背离了初衷,成了娱乐工具,然后果断卸掉。
  3. 还有各种能用微信小程序替代的常用 APP 基本都卸掉了。
  4. 有些保留了,QQ 被我用 Tim 替代,有些不得不看的群内容我也是订好提醒,每周看一周的内容。无关紧要的推送都被我禁掉了。
  5. 还有最重要的一点是每天非特殊情况下执行断舍离计划,晚上 10 点到 11 点断网一小时,感觉这个世界突然安静了起来,可以专心想和做一些事了。

这里多说一句,网络依赖确实像一种上瘾的症状,而且现在绝大多数人都是这样子,这个还是要从自身开始尝试摆脱这种依赖,呼吁身边的人同样去改变,我们的生活应该会有很大的改变。

认知,认知是我们最宝贵的自由。前几年我们一直在讲认知升级,确实,这就是一种让我们获得自由的方法。这里推荐去看《见识》这本书,不再多说。

回到最初,极简主义是一个工具,这个工具使我们摆脱那些闲杂冗余,从而更容易过上有意义的生活,这个工具使充斥着无尽装饰、看起来错综复杂的世界变得更简单、更容易、更真实。


第二天早起接的🐰主子,来自主子的凝视 qwq…

为什么是天津,一个是离得近往返方便,另一个是没有去玩过,想去好好转转,两天时间能玩个大概吧。

天津卫由来

去之前,对于天津的了解只知道是个直辖市,书本上的了解早已忘干净了。去了才知道天津又称天津卫,其中的『津』意为渡口,『天』意为天子,是明成祖朱棣赐的名,为『天子的渡口』含义。『卫』是明朝的军事建制,当时天津设有天津卫、天津左卫、天津右卫,是这个称呼的由来。

解放桥、世纪钟

解放桥和旁边的世纪钟👇

出了城际站做了一站天津地铁,也是因为不熟,绕了个小弯,出了地铁站就看到了解放桥,解放桥对面是世纪钟。解放桥旧城万国桥,始建于 1927 年,是天津标志性建筑之一,看历史挺波折的,和世纪钟挨着,有兴趣可以去了解一下。

九国租界的事

到了天津才知道战乱时期曾设立过九国租界,对天津的建筑风貌产生很大影响,而天津政府对于这些建筑风貌一定程度上进行了保留,所以在天津经常看到一个外国风貌建筑的背影是现代高楼。

意式风情街

到了天津一定要去的地方,保留了大量的意式风情建筑和名人故居,里面有一个免费的天津历史介绍展馆,可以了解一下天津的历史变革和人文风貌。然后是里面的几个景观建筑,但丁广场和马可波罗广场。再有就是逛了一下梁启超故居,里面介绍了梁启超的生平和贡献。其中的意大利兵营应该是某个部门的办公单位,只是在外面观望了一下。整个意式风情区不需要门票,可以骑着单车在里面随意闲逛,时不时会看到一些名人故居,意大利风情建筑在这里融为一体,颇有一些浪漫氛围,拍婚纱照可以来这里。

马可波罗广场👇

梁启超故居👇

意大利兵营👇

1919

出发前一天晚上看着《爱因斯坦传》入睡的,正好看到了,1919 年发生了一件事,使得几年前爱因斯坦在广义相对论中的预测得到了证实,从此爱因斯坦被推上神坛,想了解可以去看一下。同年梁启超参加巴黎和会,然后巴黎和会上中国外交的失败引发了五四爱国运动。发现今年恰好是这两个事件一百周年之际。

天主堂的故事

接下来的行程是计划去古文化街,在旁边看到一个天主堂,正赶上在看西方哲学故事,便进去听修女讲了一段耶稣受难的故事。

古文化街

古文化街也是网上推荐的打卡地,是一个天津著名小吃街,有着很浓厚的商业气息,就像北京王府井的小吃街,不约而同的都听到过是本地人基本不去的小吃街。在这里我觉得去看一下就行了,个人觉得东西不咋地,吃的也很难吃。

金汤桥的历史

金汤桥和解放桥一样也是架在海河之上的大型铁桥之一。建于清光绪年间,1949 年在平津战役中,解放军分为东西两个突击团对天津守敌发起总攻,在金汤桥胜利会师,所以称为了解放天津的标志性建筑。

站在金汤桥上拍海河👇

天津之眼

我想每个来过天津的人都会推荐去做一下天津之眼,它是一座跨河建设的摩天轮,推荐晚上去做可以欣赏整个天津的夜景,排队一个半小时,坐摩天轮半小时一圈,适合情侣去。
做完摩天轮可以去附近的码头做轮渡欣赏海河夜景,可惜的是人家关门早,没赶上。

海河夜景👇


瓷房子

瓷房子原来是一个座法式洋楼,后来才经人设计贴满了瓷片。里面有讲解主要说的是瓷房子的设计理念和寓意,也是为了弘扬中华文化。初次去看整个瓷房子很惊艳梦幻,因为对瓷器不懂,也只是作为一个门外汉草草欣赏了一番,其实里面有很多细节和故事可讲,也不知从何了解。

五大道

对于五大道的游览仅限于做了一趟观光马车,听了一遍讲解。看里面的景色和建筑很有异国风情,差不多也快百年历史了吧,春天适合情侣们来拍照。里面的建筑大部分都被一些公司租下来用来办公了。

西开教堂

西开教堂是天津最大的罗马式建筑,从外面看上去气势恢弘,说道这里,其实也想去通过天津了解各国的建筑风貌,但是并没有从当地的讲解中了解到,也是一个遗憾吧。对于建筑的讲解大部分还是偏向于外观独特地,比如瓷房子之类的,这样也许更适合游客的接受。

高达宏伟的西开教堂👇

劝业场

买买买,类似于北京的西单商业街,各种一二线衣饰品牌。

交通

上面所说的几个景点基本都挨着很近,所以整个游玩并没有做地铁,而是骑地随处可见的电助力车,可以走走停停自由把握节奏,当然也可以做公交。总之交通是很方便,比起偌大的北京城,可以很快的在景点之间切换。

最初规划要去的地方👇

关于吃这可就难到我了,古文化街的小吃真心不建议了,景点的东西贵倒无所谓,主要是不好吃。地道的小吃又找不到,所以也无法推荐,据说天津人特别重早餐,越小摊做的小吃越地道,可以去试一下,注意要避开景点附近。

这次的天津游玩,更偏重于了解城市文化和历史吧,吃上没怎么下功夫,玩上适合两个人春暖花开来拍照。单单了解一个城市两天肯定是不够的,这次也只是把课本上的历史一部分变成了身边的故事,至于剩下的故事,不知何时再去了解了。

最后附上一张🤳

今日寻得一个好地方,可以静下心来好好回忆下去年的经历与成长。在这一年中遇见了一个不错的领导同时经历了部门比较大的人事变动;谈了女朋友又分手了,改变了我某些观念和生活习惯;首付了一套老家的房子,漂泊的心得以暂时的安稳;认真读完吴军博士的《见识》、《具体生活》两本书,对于我的认知提升帮助很大。

工作的成长

lt4

第一次遇见这个领导,并没有特别的印象,只是他特别女性化的名字很容易让没见过他的人误解。后面慢慢工作中会发现带着之前学长的身影,是那种之前提到过的为了技术而做技术的人,会带着一种求知与好知的心态在工作与生活,在目前这样一家公司部门中很难再发现第二个这样的人,他的强大之处还有就是对于人的影响。我认为知识与观念之类的第一我们要做到的是输入,需要我们去主动学习;第二便是内化,如何将所看所听转化为自身的感悟,需要我们去多思考;第三便是输出,将我们自身的认知与见解传达给别人,从而影响和改变别人。所以能做到第三点的人真的是很厉害,当然这里所说影响一定要是积极的一面。他的影响力在周边同事相较是要高出很多。而我自评来说,第一和第二尚可,第三却是几乎没有了,所以表达力这一层也是我很缺失的一部分,再有就是过于习惯性做事,缺乏足够的思考。这里说的更多还是在于工作和技术方面。

失去的开始

lt2

失去了什么?时间还是人。有个深刻的体会就是失去便是成长的过程,想起电视剧《男人帮》中的一句颇有哲理性的一句话『有一些东西我们盼不到,有一些事情我们回不去。但每次想到你带给我的变化,我就充满感激。我想起你,就是想到现在变得更好的自己,这样的自己是你带给我的。』,你身边的恋人或每一个同学朋友,你们互相交谈一起玩耍,后来你们不再联系,彼此陌生,或许有一天你会突然回想起他(她)的一句话,你觉得有道理去改变了。其实在这些亲密关系中,一个很重要的角色就是你的恋人,因为熟悉,便可以心安理得地对自己的缺点置之不理,很容易忽略对方的吐槽,直到有一天过不下去了,你便开始察觉开始改变。也或者说,其实你一直在改变中,对方也一直在改变中,只不过之间有道无法逾越的鸿沟,或是没有留给时间足够的耐心。

改变的过程大部分情况下是很不舒服的,时常会抱怨,会拒绝,但有时如果你能从更长的时间范围去思考你现在所处的环境下,也许就会变得从容很多,我说的时间长度超越生命。很多事物我们不能掌控,比如时间、生命、人与人之间的关系,唯一能掌控的便是我们的心灵,所以外在的事物变得不那么紧要。

最近在看和听一些关于哲学方面的书,其中有些哲学学派的理念与我现在生活的状态有些契合,并且能带来新的观念认知,接下来还需要一个比较长时间的内化过程,过段时间想整理一篇关于哲学感悟的文章。

习惯与认知

lt3

去年带给我认知升级的一本书便是《见识》,有很多更高视角的观点与态度认识;另外便是我的领导,从他身上看到了求知好知的习惯;再有便是看到了前女友的行胜于言。每一个人每一本书都有我们值得学习与借鉴的地方。

保持一颗好奇心很重要,不知道从哪里有人提到过康德的《纯粹理性批判》这本经典哲学书,又听说过王思聪大学读的是哲学这种基础学科,加上身边很多人对于哲学的态度,便想一探究竟,咨询过朋友后便从个《苏菲的世界》这本西方哲学入门书开始了,加之樊登读书会中听了很多地关于东方哲学书,有些感悟,又有些混乱,这个过程又带来了很多快乐,有时间真的要好好整理一番。

可能因为我们领导是个数学谜,所以或多或少都会受到他的一些影响,印象深刻的便是他曾问我『如何证明存在 0 这个数?』这种奇怪的问题,还有要我们新系统都是以数学家的名字命名的,这些事情也改变了我对于数学的一些看法,发现数学之美,但是却难以实践其中真髓,这里推荐《费马大定理》、《数学之美》这两本书,你会发现你之前学的只是数学,数学之外的延伸才是真正的数学之道。

还有一点必须要的说的便是『知行合一』,是王阳明心学中的主要理念。我们经常说『知易行难』,说的是知道很容易但是做起来很难,其实按照王阳明的观点来说,知行必合一,你只有知道了才会去做,如果你不去做你肯定是没有真正知道。在这里前女友践行的是『行胜于言』,她的执行力与沟通能力都要高出周围人很多,也是我所见到过的。所以我最近养成的一个习惯是,周末不要宅在家里,多出去走走,看看不同的人,学习接受新的观念与知识,扩展自己不熟悉的领域。忽然发现『读万卷书,行万里路。』与『知行合一』有种异曲同工之妙。

在路上

lt1

今天又是一个周六,没有计划出去玩,偷了一个懒觉,下午便寻得一个安静的小地方,写完这篇文章,也是对去年和最近一段时间的总结与感悟。

对了,这个安静的小地方叫『三味书屋』,至于哪三味能让我如此安静的写完文章,待我下次再来问一问。

找到一份歌单,正如它的名字那样 看书学习必备轻音乐 ,调到适合的音量,一边放着音乐一遍学习,可以整个人专注到学习当中,减少学习带来的焦虑感。进而引发了一个理科生对于音乐的好奇心。

为什么平时难以持续的专注力在音乐的作用下却得到了提高呢?

好奇心的驱使下,看到知乎对于音乐的定义:

人们用音乐来抒发情感释放情绪,那么同时音乐也会影响我们的情绪。而当我把这些音乐分享给周边的朋友,他们听了却有不同的感受,基本觉得并没有效果,看来音乐带给每个人的感受都是不同的,音乐也有适合它的人吧。

今天边听音乐边学习,一边是新的技术知识,一边是熬人的英文教程,同时还琢磨出一套边看边学的方式,希望能养成习惯带给我英语的提升。先写到这里,如下是学习过程中的截图,仅此记录今天的感受。

情绪管理是自律的基础

每一件让你痛苦的人或事背后,都有不理性的『活该(沉溺其中)』
气质冷静,不要在该动脑子的时候动感情
减少依赖性,接受多样性,独立有主见

正确三观是自律之本

真诚坦荡(坚持一些正确的三观)
不要太在乎外在的评价(容易失去主见)
时间换金钱,专业(专业能力)换尊重
靠谱是最低成本的社交方式
mark:我觉得这里靠谱的前提是需要能客观的对待自己的能力,能力之内的事要努力做好,能力之外的事要方圆的处理掉。

新闻人眼中的『不自律』概念

研究自律需要知道什么是『不自律』,通过以下几点去分析:

『不自律』的恶性循环

励志鸡汤不要听

==

普通人怎样寻求进步

『观摩活法、研究自己、发现意义、踏上征程、循环往复 』
经历不可复制,但能受到启发
『与其艳羡那个人,不如成为那个人,自己发光,美丽。具备价值,才是正事』

自律先要接受平淡现实

没什么惊心动魄,多是平凡琐碎(保持良好的精神状态,保持比较好的体态,保持一项运动,实时看起来都是比较爽朗的状态)
『精良并非朝夕,而是长久坚持』
『终身学习』不是口号而是行动
恒毅力——持续的热情和付出

自律恒动力是自我选择

不被强迫,纯属自愿(需要从主观意愿上想坚持这件事)
自己选择的路,能够考虑到其中困难要坚持住。

自律必有优先级分类计划

重要紧急四象限

  • 重要且紧急
  • 紧急不重要(时间上的要求)
  • 重要不紧急(长线过程)
  • 不重要不紧急

时间管理摒弃死板、学会变通

为不确定性的事件预留时间
建立及时调整计划的意识
保持工作生活社交各方的平衡(计划交叉)

擅于使用工具记录计划

日记本——记录的仪式感
手机备忘录、印象笔记——备忘、提高效率
使用APP——倒数日、小米运动、咕咚、趁早、好轻

避免干扰自律因素出现

关闭手机不必要推送通知——保留电话、微信、权威新闻APP推送(新闻BBC、中文凤凰)
固定时间消遣——打游戏、刷社交、看直播
精简关注同类微博账号、微信公众号——内容分类,选取最优,劣质产品取关
屏蔽无聊无脑信息——不看他(她)的朋友圈、知乎关注话题分类

拒绝缺乏思考的拼命勤奋

从根本避免在错误规划的道路上越走越远
精力守恒,避免三分钟热度、虎头蛇尾
更改碎片化阅读习惯,随身携带书纸笔
(iPad蓝牙键盘)

金钱自律法则

钱是赚出来的,不是省出来的
努力赚钱不俗,打工攒钱不low
将知识与爱好变现是绝对快乐
不是买不起贵的,而是只买对的

用自律培养真正爱好

休闲消遣不是爱好
爱好不能浅尝辄止
get任何技能都需要付出时间和坚持

自律的体现

UGC

UGC是互联网术语,全称为User Generated Content,含义为用户生成内容,即用户原创内容。UGC的概念最早起源于互联网领域,即用户将自己原创的内容通过互联网平台进行展示或者提供给其他用户。UGC是伴随着以提倡个性化为主要特点的Web2.0概念兴起的,也可叫做UCC。

PGC

PGC互联网术语,指专业生产内容、专家生产内容。用来泛指内容个性化、视角多元化、传播民主化、社会关系虚拟化。也称为PPC,(Professionally-produced Content)。PGC,专业生产内容。经由传统广电业者按照几乎与电视节目无异的方式进行制作,但在内容的传播层面,却必须按照互联网的传播特性进行调整。

OGC

OGC(Occupationally-generated Content)职业生产内容,其内容生产主体是具备一定知识和专业背景的从业人员,他们从职业身份出发参与生产并从中获得报酬。OGC对于内容是生产者设置了更高的门槛,不仅要求具备知识或资历,还要求有职业身份,这最大成苏生对生产者进行了过滤,从而有助于生产出更多更高质量的内容。但这隔绝了网民的参与,互动性受限,生产成本也更高。

DAU

DAU 指日活跃用户数量。常用于反映一日内网站、互联网应用或网络游戏的运营情况。DAU通常统计一日(统计日)之内,登录或使用了某个产品的用户数(去除重复登录的用户),这与流量统计工具里的访客(UV)概念相似。

MAU

MAU 指月活跃用户人数。常用于反映一个月内网站、互联网应用或网络游戏的运营情况。MAU是一个用户数量统计名词,指网站、app等月活跃用户数量(去除重复用户数),数量的大小反应用户的活跃度。

TOTP

基于时间的一次性密码算法:TOTP 是一种根据预共享的密钥与当前时间计算一次性密码的算法。TOTP是散列消息认证码(HMAC)当中的一个例子。它结合一个私钥与当前时间戳,使用一个密码散列函数来生成一次性密码。由于网络延迟与时钟不同步可能导致密码接收者不得不尝试多次遇到正确的时间来进行身份验证,时间戳通常以30秒为间隔,从而避免反复尝试。

有限状态机(FSM)

有限状态机又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。

  • 米利型有限状态机是基于它的当前状态和输入生成输出的有限状态自动机。
  • 摩尔型有限状态机是指输出只由当前的状态所确定的有限状态自动机。

Kata (programming)

A code kata is an exercise in programming which helps programmers hone their skills through practice and repetition.

联机分析处理(OLAP)

On-Line Analytical Processing
需以大量历史数据为基础配合上时间点的差异并对多维度及汇整型的信息进行复杂的分析。

联机事务处理(OLTP)

On-Line Transaction Processing
是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。

ETL

在抽取、变换和装入(ETL)过程中,数据是从各种数据源抽取而来,通过编码的业务规则进行转换和规范化,然后装入数据集市的事实表和维表。

MapReduce

是Google提出的一个软件架构,概念“Map(映射)”和“Reduce(归纳)”,及他们的主要思想,都是从函数式编程语言借来的。当前的软件实现是指定一个 Map(映射) 函数,用来把一组键值对映射成一组新的键值对,指定并发的 Reduce(归纳) 函数,用来保证所有映射的键值对中的每一个共享相同的键组。

这篇文章是根据学习知乎 Live 提升专注力的四个方法 总结的学习笔记。

大纲

先放一个大纲,然后写出学习后会总结的点。

主要内容

主要分四个大块:

  1. 像设计游戏一样设计任务(目标、规则、障碍)

    • 我们要达成一个任务或者目标,首先将任务拆分成一个个小的、明确的小任务,每一个环节不用太难,也不用太简单,按照自己的专注力上限设计任务。
    • 每一个小环节可以设置一些障碍,来提升成就感,通过不断的成就感的提升驱使完成目标,在成就感与挫败感之间寻找一个平衡。
    • 这样可以在不断的达成目标时提升自己的专注力上限。
  2. 创造使用推理和类比的机会

    • 专注力应该是一种思维能力,而不仅仅是一种强制力。需要的是脑力的专注力,而不是身体的专注力。提升这些的方法是推理和类比。
    • 推理:通过一个点,去不断深挖,了解其本质。(推理解决 A ——> 什么是 A ?怎么产生的 A ? ——> 产生 A 的是什么?[是否有经验性的证据?] ——> 对这件事情我的理解是什么? ——> 我是否可以更深入的了解?)
    • 类比:相同事物的相关性思考。思考一个事物可以通过相关性的联系来帮助你理解。
    • 一件事情的训练需要可以的练习。
    • 创造和使用推理和类比的机会。
      • 费曼学习法则:如何把这个东西通俗易懂的讲解给别人?
      • 笔记整理和回顾
      • 输出:和别人分享你的经验、知识和见解(例如我写了这篇文章)
      • 反驳:养成反驳自己的习惯,站在相反的观点思考问题,左右互搏。通过自我辩论的方式。
  3. 学习之前寻找『困惑感』

    • 如何快速进入学习状态?积累困惑感。困惑感是你学习一个东西的源动力,当你找到足够多的困惑时,你学习一个东西的时候会更加专注。
    • 当你不知道自己有什么困惑的时候,需要先创造困惑感。
    • 根据主题寻找知识,更能提高你的兴趣。
      • 当你有问题的时候决定你如何看书,而不是被书牵着鼻子走。
    • 读一本书之前,先评估一本书是否适合你。
      • 首选根据作者选书。如果你觉得一本书写的很好,那么不妨看看这个作者的其它书。
      • 其次是看书的目录和简介,可以判断一本书的难易程度。
      • 看豆瓣和亚马逊的评分和评论。看其中的差评可以了解一本书的不足。
      • 通过以上三点来了解一本书是否适合你🌹时间去读。
  4. 抗干扰能力的养成 —— 学会和大脑相处

    • 做任何一件事情的时候不要过早退出循环。
    • 不要太习惯于失败的模式,要思考如何才能去成功。
    • 情绪控制
    • 选择控制
      • 不要给自己太多的选择。
    • 信息控制
    • 上面有部分的音频不能播放,不知道什么原因,👂不了

最后再贴一张图,是作者 PPT 中的一部分,觉得总结的很好,贴出来分享。

最后

这里提到的四块总结都是很实用的点,里面很多地方博主也是深有体会的。主要差在了刻意练习上面,不能很好的和自己的大脑相处,就像《象与骑象人》中描述的,骑象人无法很好的驾驭🐘,是因为不够了解🐘,缺乏足够的练习。

计划书单废弃,剩下的书并没有制定计划读下去,而是被工作需要左右了学习方向。

update at 2019-05-22


首先是书名,后面跟随的时间是读完的时间。

情商管理

《秘密-朗达.拜恩》

《情商套装6册-丹尼尔.戈尔曼》

《6秒钟改变你的情商-乔舒瓦弗理》

心理学

《社会心理学》

《象与骑象人》 2018.02

《最熟悉的陌生人》

《心理学与生活》

《裸猿三部曲》

软件工程

《代码大全》

《微服务设计》 2017.08

《程序员的自我修养:链接、装载与库》

散文随笔

《走到人生边上:自问自答》

语言文学

《蔡康永的说话之道(套装2册)》

经济管理

《金字塔原理1+2》

其它

《数学之美》 2016.xx

《天才在左疯子在右》 2015.xx

《最好的告别:关于衰老与死亡,你必须知道的常识》

《黄金时代-王小波》

《一九八四-乔治·奥威尔》