#![no_main]
#![no_std]
use panic_halt;
use microbit::hal::nrf51::{interrupt, GPIOTE, UART0};
use microbit::hal::prelude::*;
use microbit::hal::serial;
use microbit::hal::serial::BAUD115200;
use cortex_m::interrupt::Mutex;
use cortex_m::peripheral::Peripherals;
use cortex_m_rt::entry;
use core::cell::RefCell;
use core::fmt::Write;
use core::ops::DerefMut;
static GPIO: Mutex<RefCell<Option<GPIOTE>>> = Mutex::new(RefCell::new(None));
static TX: Mutex<RefCell<Option<serial::Tx<UART0>>>> = Mutex::new(RefCell::new(None));
#[entry]
fn main() -> ! {
if let (Some(p), Some(mut cp)) = (microbit::Peripherals::take(), Peripherals::take()) {
// 引入两个版本的外设
cortex_m::interrupt::free(move |cs| {
/* 开启外部设备的 GPIO 中断 */
cp.NVIC.enable(microbit::Interrupt::GPIOTE);
microbit::NVIC::unpend(microbit::Interrupt::GPIOTE);
/* 切分 GPIO 口,方便使用 */
let gpio = p.GPIO.split();
/* 将 Button 的 IO 口作为输入 IO 口 */
let _ = gpio.pin26.into_floating_input();
let _ = gpio.pin17.into_floating_input();
/* 当 GPIO 17 ( A 键)出现了下降沿的时候,触发中断 */
p.GPIOTE.config[0]
.write(|w| unsafe { w.mode().event().psel().bits(17).polarity().hi_to_lo() });
p.GPIOTE.intenset.write(|w| w.in0().set_bit());
p.GPIOTE.events_in[0].write(|w| unsafe { w.bits(0) });
/* 当 GPIO 26 (B键)出现了下降沿的时候,触发中断 */
p.GPIOTE.config[1]
.write(|w| unsafe { w.mode().event().psel().bits(26).polarity().hi_to_lo() });
p.GPIOTE.intenset.write(|w| w.in1().set_bit());
p.GPIOTE.events_in[1].write(|w| unsafe { w.bits(0) });
*GPIO.borrow(cs).borrow_mut() = Some(p.GPIOTE);
/* 根据需要,设置 GPIO 口作为输入输出口 */
let tx = gpio.pin24.into_push_pull_output().downgrade();
let rx = gpio.pin25.into_floating_input().downgrade();
/* 将准备的 GPIO 口作为串口来使用 */
let (mut tx, _) = serial::Serial::uart0(p.UART0, tx, rx, BAUD115200).split();
let _ = write!(
tx,
"\n\rWelcome to the buttons demo. Press buttons A and/or B for some action.\n\r",
);
*TX.borrow(cs).borrow_mut() = Some(tx);
});
}
loop {
continue;
}
}
// 定义一个中断(如果函数出现了错误,就会触发中断),当我从按钮按下接收到了一个中断,这个函数就会被调用。
#[interrupt]
fn GPIOTE() {
/* 进入中断内部的内容 */
cortex_m::interrupt::free(|cs| {
if let (Some(gpiote), &mut Some(ref mut tx)) = (
GPIO.borrow(cs).borrow().as_ref(),
TX.borrow(cs).borrow_mut().deref_mut(),
) {
let buttonapressed = gpiote.events_in[0].read().bits() != 0; // 识别出 A 键按下
let buttonbpressed = gpiote.events_in[1].read().bits() != 0; // 识别出 B 键按下
/* 将按钮打印到串口中 */
let _ = write!(
tx,
"Button pressed {}\n\r",
match (buttonapressed, buttonbpressed) {
(false, false) => "",
(true, false) => "A",
(false, true) => "B",
(true, true) => "A + B",
}
);
/* 清空事件 */
gpiote.events_in[0].write(|w| unsafe { w.bits(0) });
gpiote.events_in[1].write(|w| unsafe { w.bits(0) });
}
});
}
Code language: PHP (php)《金字塔原理》书摘
中文版序
结论先行,以上统下,归类分组,逻辑递进。先重要后次要,先总结后具体,先框架后细节,先结论后原因,先结果后过程,先论点后论据。
前言
金字塔原理不仅仅是一个指导写作的原理,更是指导组织思想的原理
虽然有很多关于如何写句子和段落的书,却几乎没有关于如何组织思想的书,而思想才是句子和段落要表达的内容!
虽然有很多关于如何写句子和段落的书,却几乎没有关于如何组织思想的书,而思想才是句子和段落要表达的内容!
第1篇 表达的逻辑
先了解主要的、抽象的思想,然后了解次要的、为主要思想提供支持的思想。因为主要思想总是从次要思想概括总结得出,文章中所有思想的理想组织结构也必定是一个金字塔结构
很像小时候上学的时候的议论文,总分总结构。
先了解主要的、抽象的思想,然后了解次要的、为主要思想提供支持的思想。因为主要思想总是从次要思想概括总结得出,文章中所有思想的理想组织结构也必定是一个金字塔结构
第1章 为什么要用金字塔结构
金字塔结构,颇像思维导图 & 软件工程中的树结构
大脑自动将信息归纳到金字塔结构的各组中,以便于理解和记忆。● 预先归纳到金字塔结构中的沟通内容,都更容易被人理解和记忆。● 你应有意地将沟通内容组织成金字塔结构,包括口头表达和书面表达——说话、培训、演讲、报告、述职和写文章、总结、申请、方案、计划等。
归类分组,将思想组织成金字塔
● 一次记忆不超过7个思想、概念或项目。● 找出逻辑关系。
这个思想在我们做思维导图也可以应用
● 一次记忆不超过7个思想、概念或项目。● 找出逻辑关系。
所有的思维过程(如:思考、记忆、解决问题)显然都在使用这种分组和概括的方法,以将大脑中的信息组成一个由互相关联的金字塔组成的巨大的金字塔群。如果你需要与习惯用这种思维方式的人交流,你要做的就是确保你所说的内容符合其金字塔体系中的某一部分。
自上而下表达,结论先行
受众的大脑只能逐句理解作者(演讲者、培训讲师)表达的思想。他们会假定一同出现的思想在逻辑上存在某种关系。如果你不预先告诉他们这种逻辑关系,而只是一句一句地表达你的思想,读者就会自动从中寻找共同点,将你所表达的思想归类组合,以便了解各个组合的意义。
你可以通过有效的方法表达你的思想,减少读者用在前两项活动上的时间,从而使读者能够用最少的脑力理解你表达的思想。
自下而上思考,总结概括
得出这个概括性的句子后,你思维的抽象程度就提高了一个层次,可以将得出概括性句子的段落看做只包含一个思想,而不是6个思想。通过这种有效的方法,你可以接着将3个段落(每个段落都包含一个抽象程度比单个句子高一个层次的单一思想)组织成一个章节。
文章中的思想必须符合以下规则:1.纵向:文章中任一层次上的思想必须是其下一层次思想的概括。2.横向:每组中的思想必须属于同一逻辑范畴。3.横向:每组中的思想必须按逻辑顺序组织。
组织思想基本上只可能有4种逻辑顺序:● 演绎顺序:大前提、小前提、结论● 时间(步骤)顺序:第一、第二、第三● 结构(空间)顺序:波士顿、纽约、华盛顿● 程度(重要性)顺序:最重要、次重要,等等
纵向关系
。一般的文章都是一维的(one-dimensional):一个句子接着一个句子,在纸面上基本呈现出纵向向下的结构。但是这种文字的纵向延伸却掩盖了一个事实,即思想是位于不同的抽象层次上的。根据这一事实,大主题下的任何思想都同时与文章中的其他思想发生着纵向及横向的联系。
通过纵向联系,你可以引导一种疑问/回答式的对话,从而使读者带着极大兴趣了解你的思路进展。为什么可以肯定读者会感兴趣?因为这种纵向联系会迫使读者按照你的思路产生符合逻辑的反应。
要想吸引读者的全部注意力,作者就必须在做好回答问题的准备之前,避免引起读者的疑问;也必须在引起读者疑问之前,避免先给出对该问题的答案。例如,只要你发现某篇文章在提出主要观点之前先写出了题为“我们的假设”的章节,你就可以肯定,作者根本没有给读者提出疑问的机会,就先给出了对疑问的答案。这样,在作者与读者对话的相应阶段,就不得不重复传递(或重复阅读)以上信息。
序言的结构
除非引发这种疑问/回答式对话的话语与读者有相关性,否则这种疑问/回答式对话也很难吸引读者的注意力。保证出现相关性的唯一办法,就是使这个句子直接回答你所发现的读者头脑中已存在的某一疑问。
自上而下法
自上而下法构建金字塔的步骤:1.提出主题思想。2.设想受众的主要疑问。3.写序言:背景-冲突-疑问-回答。4.与受众进行疑问/回答式对话。5.对受众的新疑问,重复进行疑问/回答式对话。
ref:scqa
这种方法迫使作者在写作构思时仅从头脑中获取与读者的疑问有关的信息。但是在具体操作中,这种方法能够迫使作者全面地考虑该疑问,而不是像表3-1中的例子那样只考虑了疑
自下而上法
自下而上思考:1.列出你想表达的所有思想要点。2.找出各要点之间的逻辑关系。3.得出结论。
第4章 序言的具体写法
文章的序言必须用讲故事的形式,也就是说,序言必须先介绍读者熟悉的某些“背景”,说明发生的“冲突”,并由此引发读者的“疑问”,然后针对该“疑问”给出“答案”。
序言的讲故事结构
你应当通过向读者讲述一个与主题有关的“故事”,引起读者对该主题的兴趣。每一个好的故事都有开头、中间和结尾,相当于引入某种“背景”、说明发生的“冲突”,并提出解决方案
如果你确实想给读者讲一个“好故事”,你就应该给他们讲一个他们已经知道的“故事”,或者是他们应当知道的“故事”(如果读者具有这方面的背景知识)
如果你要写的文章针对的读者面很广,比如是准备发表在杂志上或者出版图书,那么你的任务更多的就是“培养”读者产生某种疑问,而不是“提醒”读者想起已有的某种疑问。
关键句要点必须表达文章的思想
你最好永远不要用“背景”或“介绍”作为某一章节的标题,因为这种标题所含的信息与其他标题所含的信息肯定不在同一个抽象层次上,或者说抽象的程度不同。而且,仅列出主语而不列出完整的思想,可能会存在一种危险,即关于该主语的思想无法形成明确的归纳或演绎逻辑论证关系。
序言需要2~3段,其结构如前面的图4-2所示。说明“背景”和“冲突”的文字可以长达3~4段,但是不能再长了
关键句的每一个要点,都应该按照与全文的序言相似(但简单得多)的背景—冲突—疑问结构逐个引出。也就是说,当读者对任何一个关键句要点提出疑问时,你应当告诉读者一个简单的“故事”,以保证读者与你站在同一位置上。
序言的目的是“提示”读者而不是“告诉”读者某些信息
序言必须包含讲故事的3个要素,即“背景”、“冲突”和“答案”
序言的长度取决于读者和主题的需要
演绎推理
我建议在关键句层次上尽量避免使用演绎法论述,尽量用归纳法取而代之。为什么?因为归纳法更便于读者阅读和理解。
生命需要敬畏
昨天晚上回来的时候,在楼下看到了一只死去的猫咪,看起来不大,估计也就几个月大。
不知道为什么,死在这里,想来是自己跳出来?或者是被虐待了跑出来的?又或者是被虐待后遗弃在这里的?

把时间当作朋友 – 李笑来 书摘
“没有时间了”,是“时间恐慌症”患者脑子里唯一反复闪现的一句话。巨大的压力,极度的恐惧,使患者的身上集结并综合了一切矛盾:他们既勤奋又懒惰,既聪明又愚蠢,既勇敢又懦弱,既满怀希望又时时刻刻面临绝望,既充满自信又随时随地体会卑微……
无论我讲得多么有趣、多么有用或多么有道理,暂时还跟你一点关系都没有——当且只当你按我说的做了之后,对你来说,才算是真的有趣、真的有用、真的有道理。
猎头也肯定有自己的办法。一个相对比较简单的办法就是锁定二流人才。道理也比较简单。任何一个团队里的一流人才,通常很难产生流动的愿望。他们的薪水很高,甚至过高;他们因为他们已经被承认而享有更多的福利待遇,同时也常常被同事和领导尊重;他们有更多的满足感、责任感;他们更加爱惜自己的名誉……另外,就算他们有一天产生了离开的愿望,往往并不是要去另外一家公司,而是想要出去单干。所以,一流人才往往对猎头来讲其实没有什么可开发的价值。
只要一件事儿你能做好,并且做到比谁都好,或者至少比大多数人好,你就不会对那件事情没兴趣。
所有学习上的成功,都只靠两件事:策略和坚持,而坚持本身就应该是最重要的策略。坚持,其实就是重复;而重复,说到底就是时间的投入,我是说,大量的时间投入。
记得过去老师曾讲解论语中曾子说的“吾日三省吾身”有两种解释,第一种是我每一天都自我反省三(多)次;第二种是我每一天都以下列三件事来自我反省;而……..在我那次被自己突然弄清楚的意识吓坏了之后的顿悟是,管他每天到底是“反省三次”,还是“列出三件事来反省”,都并不重要。重要的是,他每天都在“反省”。作为一个真正意义上的人,好像没有什么比这个更重要了。
这世界上有些事情或道理,大抵可以分为以下4种情况:1.实际上是正确的,我们也以为是正确的;2.实际上是错误的,我们却以为是正确的;3.实际上是正确的,我们却以为是错误的;4.实际上是错误的,我们也以为是错误的。
耐心有着神奇的力量。当每个人都在拖延,最后又手忙脚乱的时候,你的生活却非常从容。
当我们决心改变的时候,“懒惰”便会指使我们的那个“大脑的自我保护功能”——“遗忘”——起作用,让我们不知不觉停止改变。
养成任何一个新的习惯都不容易。需要多久才能真正成为习惯,与天生的一样自然呢?我的经验告诉我,一般需要五年的时间。对,是五年的时间。我看到过很多书籍上说,两个星期就可以养成一个习惯;我想,也许是我笨吧。
《奈飞文化手册》书摘
推荐序一 文化,奈飞成功的原动力
思考如何对自己的企业文化进行颠覆和创新
企业文化就是帮助奈飞打造出极具创新能力与内容生产能力的高绩效团队、推动公司指数级发展、在市值上超越迪士尼的最终力量。
奈飞的企业文化主要是由“自由”与“责任”这两个关键词构成的
现代企业文化的核心还是人管人,但这个管人的人不是企业的管理者,而是员工自己
人们最希望从工作中得到的东西,是加入到让他们信任和钦佩的同事团队中,大家一起专注于完成一项伟大的任务,所以如果企业能够为员工提供这样的机会,那么他们就会更愿意加入到企业中来。
前言 自由与责任,奈飞文化的核心
勇于尝试新鲜事物、敢于犯错、不惧重新出发,最终收获成果
21世纪的企业VS.20世纪的管理方法
即对于大部分人而言,要让他们全力投入自己的工作中,必须对他们进行激励
像管理创新那样管理员工
管理者的本职工作是建立伟大的团队,按时完成那些让人觉得不可思议的工作。只有这一项工作是管理应该做的
01 文化准则1 我们只招成年人
建立伟大的团队不需要靠激励、程序和福利待遇,靠的是招聘成年人,渴望接受挑战的成年人,然后,清晰而持续地与他们沟通他们面对的挑战是什么
每个人都渴望与高绩效者合作
尽可能简洁的工作流程和强大的纪律文化远比发展速度更重要
你能够为员工做的最好的事情,就是只招聘那些高绩效的员工来和他们一起工作
不要让规章与制度限制了高绩效者
如何做到只招成年人1.只雇用、奖励和容忍完全成熟的成年人。2.让员工加入到让他信任和钦佩的同事团队中。3.打造尽可能简洁的工作流程和强大的纪律文化。4.不要让规章和制度限制了高绩效者。
双向沟通,注入好奇文化
双向沟通至关重要。员工必须能够提出问题、批评和其他意见。在理想情况下,员工应该可以对上至CEO在内的所有管理者提问。
永远不要低估问题与想法的价值,无论它们是哪一个层级的员工提出的。
员工的无知,是管理者的失职
就像跟你妈妈解释一件事情一样去解释一个问题
和客户有直接联系的员工必须理解,他们和客户的每一次互动都会导致这个客户告诉下一个人要不要使用公司的产品或服务,而这种宣传还是免费的
让员工学习冲突管理,不如让他们学习业务运作
他们最想从工作中获得的是持续学习的机会
思考一下你能做的每一件事,基于现有资源,为员工提供尽可能多的信息,这样才能帮助他们更好地为企业助力。
人前人后言行一致
奈飞文化的支柱之一是如果谁对某个员工有意见,对本部门的某个同事或公司里其他同事的工作方式有意见,他们就应该和当事人开诚布公地沟通,最好是当面沟通。
学会给出受欢迎的批评
给予反馈最重要的是要针对行为,而不是笼统地给一个人定性,比如“你不够专心。”反馈的内容必须是可操作的,反馈对象必须理解他们的行为需要做出哪些特定的改变
自上而下树立坦诚的榜样
我们会在团队会议上做一个名叫“开始、停止和继续”的练习。在这个练习中,每个人都要告诉一名同事一件他应该开始做的事、一件他应该停止做的事,以及一件他做得非常好且应该继续保持的事。我们非常相信透明带来的价值,因此会在会议中大声地做这个练习
坦承成绩,更要坦承问题
信任是建立在坦诚沟通的基础之上的,我发现当员工听到半真半假的话时就会开始冷嘲热讽。冷嘲热讽就像是癌细胞,它容易扩散、转移成牢骚和不满,并导致阿谀奉承和背后中伤等不良风气。
领导者能够坦承错误,员工就能畅所欲言
鼓励员工把问题摊开来说的一个最好办法,就是让员工看到那些畅所欲言的人都安然无恙
透明文化,让错误无处遁形
如果你想知道员工在想什么,没有比直接询问他们更好的方法了,而且最好是当面询问
坚持你的观点,用事实为它辩护
有自己的意见,坚持自己的立场,在大多数时候让自己意见正确
商业上的一个巨大危险就是,有人因为自己强大的说服力赢得争论,而不是依靠观点本身
数据并不带有观点
他们已经看到,即使有各种支持数据,项目依然会失败
基于真实数据来做决定会令人们感到更自在,部分原因是:如果决定是错误的话,就可以把责任推到数据上面。
基于事实≠真实,对观点进行不断审视
热情地认可别人为解决问题做出的贡献也能让人们知道你倡导无私。
要解决观点分歧,就将辩论公开化
奈飞聘用和晋升人员时要求他们具备的核心素质之一,就是拥有良好的判断能力,从本质上讲就是能够在复杂环境下做出正确决策、深挖问题的根源,以及拥有战略性思维并可以清晰地表达出来的能力。
你建立的是团队,不是家庭
究竟是从公司内部提拔还是从外部招聘一名高绩效者,我们的经验是看这项有待完成的工作是否需要内部人员所不具备的专业技能,或者在这项工作所属的领域,我们自己是否就身处创新前沿
员工的成长,只能由自己负责
保持灵活,不断学习新技能,不断考虑新机会,经常接受新挑战,这样可以保持工作的新鲜感和延展性
人才保留不是团队建设的目标
我心目中理想的公司就是那种离开之后仍然觉得它很伟大的公司,就像早些年的苹果或微软一样
我们压倒一切的人才管理任务必须是,为我们正在创建的未来打造一支最佳团队。
不与面试者谈薪酬
在候选人接受我们的工作邀请之前,不和他们讨论薪水问题。我们会讨论我们的薪酬理念,但不会讨论具体的数字
简历之外,更能看出匹配度
他重新定义了什么是“我的团队”,“我的团队”就是由我创建的足够好的团队,好到即便没有我,团队也能继续前行。
永远在招聘
候选人在评估你,就像你在评估他们一样,但人们很容易忘记这一点。
保证每个人都获得市场最高水平的薪水
根据我的经验,如果你有意招聘你能发现的最佳人选、给他们支付最高的薪水,你会发现,他们为业务增长带来的价值总是会大大超过他们的薪水。
08 文化准则8 离开时要好好说再见
我们都应该做好准备,时不时地换一份工作,不论是在公司内部还是去一家新公司,目的就是以我们喜爱的方式工作,做那些让我们充满激情的事情。同时,假如我们的表现不够好,也应该有人告诉我们,要么快速纠正过来,要么去一家新公司。
取消绩效评估流程
如果你无法找到可靠数据来证明评估流程有助于实现一些重要业务指标,那么我强烈建议你去争取废除它
废除绩效提升计划
关键在于,要以现实的眼光来看待重大提升在多大程度上有可能实现。同时,确保提升才是真正的目标,而不是以此为理由让某人离开
高敬业度不代表高绩效
错误的承诺只会让接受承诺的人们感觉自己被背叛了。
员工评估的一个算法
:这个人喜欢做的、极其擅长做的事情,是不是公司需要有人擅长做的事情
为什么要做共读会?
最近一个月,我做了两场线上的共读会,一场是3 月 1 日开始的 7 天;一场是从今天开始的 7天。
很多人不能理解,为什么你要做共读会?你明明是个程序员
对于我来说,做这个事情的理由还挺简单的:
- 因为我想读这本书,所以我就搞一个共读会,拉人和我一起读,确保我能把这本书给读了。
本来其实也没有太多的目的,所以我不会太在意有多少人和我一起读,我更在意的是,我自己有没有读过瘾。
一个没有技术追求的工程师
我自己的 TITLE 变了几次,从「全栈工程师」到「全流程工程师」,始终没有变化的是, 是我对于技术的看法。
在过去TITLE是全栈工程师的时候,我认为技术是一个工具,因此我不希望以某一种技术来作为自己的 TITLE,我不是 PHP 工程师,也不是 Node.js 工程师,我就是一个工程师,我面向问题设计方案,解决问题。至于具体的技术是什么,并不重要,重要的是要把问题给搞定。
到了现在 TITLE 是全流程工程师的时候,我依然认为技术是一个工具,不同的是,我又向上抽了一层,现在不仅仅是技术是工具,产品、运营都是工具,对于我来说,只要能够让我解决问题,是不是我自己开发的工具并不重要。
我对技术没有追求么?有的,不然也不会这么折腾。
我对技术有追求么?没有的,因为我视技术为工具,并不太过在意它。
2020 年 2 月月度总结
TL;DR
2月是远程工作的一个月,前面半个月在老家工作,后面半个月在深圳工作。希望疫情早日结束,我的很多事情都耽误了。
工作
腾讯工作
这个月其实还蛮早就开始工作了,因为腾讯的假期一直延长到了 10 号,所以从 10 号开始就在家远程工作,回到深圳后,也因为需要隔离,所以又在家呆了一周。
但工作上的事情的确都做的差不多了。以后可能对于远程工作更加有信心了。
面试
这个月没有面试,因为没有办法出去面试。
学习
读书
- 一禅小和尚
- 失衡:为什么我们无法摆脱肥胖与慢性病
- 摄影笔记
- 每周健身4小时
- 4小时明白保险:保险理财入门书
学习
- 在知乎上看了一些摄影课,但是没有看完,需要注意一些,近期要看完。以及买的摄影书也需要配套看完。
生活
Side Project
- 2 月份做了一场直播,做了个小程序的项目。感觉还可以。
- 2 月份签了一个新的合作,做视频课程的,合同金额在6万左右。搞完以后,应该会在 10 万。再加上现在已有的一些其他的项目,今年课程总收入 15 万应该问题不大。
财务


娱乐
电影 & 电视剧
- 《齐木楠雄的灾难》动画版:假期在家的时候,把两季都追完了。
- 《齐木楠雄的灾难》电影版
播客
- 未更新。
影响力
- 知乎的粉丝数达到了 2000 + ,希望今年底之前能够突破 1W粉丝。
要不要考公务员?
突然有一个想法,我应该去考公务员来着。
原因是
- 我自己还年轻,有足够的时间在公务员体系里闹腾。
- 我的目标是不上班,达成这个目标有两条路,一个是财务自由,但考工资比较难,无论我是在大公司,还是在小公司。都一样。工资对于原始资本的积累速度是十分慢的。另一个是远程工作,有一个远程工作的事情可以让我到处出去溜达。
- 我并不一定需要一份互联网企业、软件企业的工作,因为我一直在研究是独立软件开发。所做的事情也大多不一定需要一个企业。如果需要企业的话,我有合适的伙伴企业来进行资金周转。
- 公务员的业余时间足够多,很适合我去做。
2020 年 1 月月度总结
TL;DR
一月注定不平凡。 2019nCoV 的肆虐,让这个开年,做到了最坏。应了那句话“2019 年是过去十年最坏的一年,却是未来十年最好的一年”
工作
腾讯工作
- 日常工作,有不开心,有开心。
- 有朋友来面同一个 Team 的工作,和他介绍了一下。
面试
本月受假期及 2019nCoV 影响,无面试。
学习
读书
- Head First Go (英文原版)
- 软件开发之殇
学习
- 暂无
生活
- 因为 2019nCoV 的问题,在老家待了很久,大概率体重回升了一部分。开年的减肥需要继续。
- 因为滞留老家的原因,2020 年必须逼着自己把驾照拿了。不希望这样的事情重新发生。
Side Project
财务
- 这个月的总体支出超了。
- 本月给朋友抹了帐,所以有一大笔的人情支出。当然,去除掉人情支出,总的支出也不少。话费在 12k 左右,需要做一下自己的支出分析,优化支出结构。

娱乐
电视剧 & 电影
- Tidying.Up.with.Marie.Kondo
- 百事通 Know it All Guide of XXX
- 弱点 The Blind Side
播客
- 无更新
影响力
- 知乎粉丝达到了 1000 人。向正记录请教了知乎经验。
- 写了一篇文章,莫名得到了微信的推荐,阅读量达到了 7W 多。