WangBooth's Logbook

王布斯的网络日志

0%

今天在从本地往服务器传文件时,出现了一个诡异的问题:

1
2
3
> scp dist/test.tgz deploy@192.168.1.244:/opt/workspace/

scp: /opt/workspace/: Is a directory

这个命令我几乎执行过上千次了,同样的源文件,同样的目标路径,咋这次就出错了呢?

而且,目标服务器上 /opt/workspace/ 这个目录,是一直都约定好的目录,一直都用的这个,而且确实是 Is a directory,这 scp 的错误信息,我有点懵逼。。

于是登陆到远程服务器去看看,这个目录是咋回事,没权限了还是咋了?

登陆上去后才发现,他娘的这个目录被人重命名了,成了 /opt/workspace_4.3.0/,这个时候才恍然大悟,原来 scp 的错误信息没毛病:我是在将一个文件传输到远程服务器,传输到远程服务器上后对应的是一个目录,所以scp不干了。

不过,这种提示信息,我估计很多人都会懵逼,报错只报一半,不是个好的报错。

2018年,过得真是太快了!

想起过完农历年从老家回到杭州的前几天,都好像是不久前才发生的,中间几个月一下子只能回忆起不多的几件事了。

2018年大部分时间都是花在工作上的,而且是我工作以来强度最大的一年,从4月中旬开始到年底,没有不加班的时候,而且经常是到晚上11点~凌晨1点之间才下班,好在身体还算可以,没有垮掉:)

总结一下工作上的感受:

  1. 数栖平台v3.0发布

    这个版本是我从4月份开始参与的,到6月20日(数澜2周年)的时候正式发布,产品上的价值自然不小,但对于团队来说,主要的收获其实是把测试同学的责任心建立起来了,人做事靠谱了,在整个研发部才能有一些存在感,有一定话语权。

  2. 测试团队负责人

    忘记是几月份了,上一个负责人离职,下一个负责人还没入职,于是我就成了测试团队的负责人。管理方面的技能我没有专门学过,所以操作上几乎都是模仿我之前公司的主管,遇到棘手的问题就及时变通处理,可能一些宏观上或者细节上的管理能力还没有,但我觉得当前这个阶段自己通过思考解决管理上的问题还算够用。

    这期间我也体会到不少难受的滋味,比如当我被怼的时候,就想到自己以前怼王维的时候,只有身在其位才能感受到有多难受。

相对来说,生活上投入的时间少了很多,但也有不少值得纪念的事儿:

  1. 女儿出生

    从此就是3口之家了,多了一份责任,也添了不少乐趣。

    女儿刚出生时护士递到我怀里,不哭不闹,眼睛睁开看着我,小小的特别可爱,现在已经被老婆养成大胖妞了~~

  2. 车子

    本以为买辆车子没啥感觉,但买回来才发现,这东西你可以用,而且还得对它负责,上牌、年检、保养,是个持续的过程,需要花心思去做才行。元旦假期从杭州开回老家,之前错过的雪景,在高速上欣赏到了:)

    老婆怀孕的时候,去医院产检,打车很痛苦,尤其是冬天的时候,只有那会儿能体会到非有辆车不行,所以2018年就落实下来了。

  3. 身体

    10月份之前,体重还保持在65KG左右,10月份一个月,长了10斤多。老有人说加班会长胖,我不信,因为我之前也经常加班,没胖到哪里去;这次我大概懂得了,加班也分级别,10月份加班,有一段时间每天只能睡不到5个小时,没时间活动,而且为了能保持工作状态,得喝冰镇饮料才行,内分泌失调,容易饿,吃的多,排的少,体重自然就飙升了。

    身体的重要性在2019年会放到首位,一来,我已经处于「上有老下有小」的阶段了,这个阶段自己一定不能出问题;另外,在女儿刚出生那天,老婆在医院晕倒了,我居然扶不起来,特别无力。

回头看看年初立下的flag,该看的书没看,该写的博客没写,该学的技能也没学成~

不过,有得有失,忙碌的一年,信心暴涨的一年!

2019年,接着立flag~

为什么你访问不了 Google?

是因为 GFW 的不允许你访问.

为什么你可以访问 Apple?

是因为 GFW 允许你访问.

GFW 的大概原理, 大家可以查看这篇文章了解下.

如果你按照这篇文章购买了一台国外的服务器, 那就可以通过这台服务器作为跳板, 逃过 GFW 的法眼偷偷访问 Google 了.

Shadowsocks

Shadowsocks 其实就是个代理工具, 它有以下一些特点:

  • Shadowsocks使用自行设计的协议进行加密通信。
  • 加密算法有AES、Blowfish、IDEA、RC4等,除建立TCP连接外无需握手,每次请求只转发一个连接,因此使用起来网速较快,在移动设备上也比较省电。
  • 所有的流量都经过算法加密,允许自行选择算法,所以比较安全。
  • Shadowsocks通过异步I/O和事件驱动程序运行,响应速度快。
  • 客户端覆盖多个主流操作系统和平台,包括Windows、OS X、Android、Linux和iOS系统和路由器(OpenWrt)等。
  • 专为移动设备和无线网络优化。

安装 Shadowsocks 服务端

登录服务器

1
ssh ubuntu@ec2 -i xxx.pem

检查是否已安装 Python

1
python -V

如果打印出: Python 2.7.12 表明系统已安装 Python, 如果打印出The program 'python' is currently not installed... 则说明没有安装 Python. [注1]

如果没有安装 Python, 先按照这个教程来安装好 Python.

安装 ssserver

1
pip install shadowsocks

新建 ss 配置文件

1
vi /etc/shadowsocks.json

填写内容:

1
2
3
4
5
6
7
8
{
"server":"0.0.0.0",
"server_port":8388,
"local_port":1080,
"password":"设置一个代理访问密码",
"timeout":600,
"method":"aes-256-cfb"
}

此时, 运行 ssserver -c /etc/shadowsocks.json 其实就已经可以将 ssserver 运行起来了. 只不过这个时候, 服务器重启或者终端退出后, ssserver 这个进程都会退出, 为了让 ssserver 一直保持运行状态, 可以使用Supervisor 或者screen来辅助一下.

使用 Supervisor 的话, 可以参考这篇文章的末尾来进行配置.

安装 Shadowsocks 客户端

访问官方的下载页面下载对应平台的安装包进行安装好后运行

客户端配置

打开 服务器设定

新增一台服务器

填写好服务器的 IP 地址, IP 地址就是安装 ssserver 的那台机器的外网 IP; 端口号默认为的8388, 如果你在 ssserver 的配置文件里填写的server_port字段不是8388这里要相应地更换端口号; 加密方式默认为aes-256-cfb, 这个对应 ssserver 配置文件里的method字段; 密码就是 ssserver 配置文件里的password字段对应的值.

开启客户端

偷偷翻吧

注释

  • 注1: 也可能是 python 安装完成后, 当前用户的环境变量里没有配置 python 路径

参考资料

(全文完)

1. CodeIf: 帮你解决编程时最头疼的事—命名

原文链接

给函数起个名字, 要来来回回思考好几分钟才能确定下来… 用 CodeIf 可以少纠结一会了(用 CodeIf 帮你命名, 用 (Codota)[https://www.codota.com/]帮你抄代码...)

2. 七种电子邮件写作指南

原文链接

英文链接

写邮件是一项软技能, 工作中使用邮件, 要突出一个「稳」!

3. Git commit 规范参考

原文链接

很多开发(包括测试)的commit信息写得及其随意, 这个规范可以做个参考, 通过工具强制团队成员规范起来.

也可以参考这篇文章

4. 超级个体1-2: 未来哪些能力会增值?

原文链接 (需要通过微信客户端打开链接)

1. 性能测试应该怎么做?

原文链接

很多做性能测试的同学, 都只是简单的学会了性能测试工具的用法, 但对于性能测试的目的, 各个指标的含义都不清楚, 耗子哥的文章可以参考下.

一般来说,性能测试要统一考虑这么几个因素:Thoughput吞吐量,Latency响应时间,资源利用(CPU/MEM/IO/Bandwidth…),成功率,系统稳定性。

一,你得定义一个系统的响应时间latency,建议是TP99,以及成功率。比如路透的定义:99.9%的响应时间必需在1ms之内,平均响应时间在1ms以内,100%的请求成功。

二,在这个响应时间的限制下,找到最高的吞吐量。测试用的数据,需要有大中小各种尺寸的数据,并可以混合。最好使用生产线上的测试数据。

三,在这个吞吐量做Soak Test,比如:使用第二步测试得到的吞吐量连续7天的不间断的压测系统。然后收集CPU,内存,硬盘/网络IO,等指标,查看系统是否稳定,比如,CPU是平稳的,内存使用也是平稳的。那么,这个值就是系统的性能

四,找到系统的极限值。比如:在成功率100%的情况下(不考虑响应时间的长短),系统能坚持10分钟的吞吐量。

五,做Burst Test。用第二步得到的吞吐量执行5分钟,然后在第四步得到的极限值执行1分钟,再回到第二步的吞吐量执行5钟,再到第四步的权限值执行1分钟,如此往复个一段时间,比如2天。收集系统数据:CPU、内存、硬盘/网络IO等,观察他们的曲线,以及相应的响应时间,确保系统是稳定的。

六、低吞吐量和网络小包的测试。有时候,在低吞吐量的时候,可能会导致latency上升,比如TCP_NODELAY的参数没有开启会导致latency上升(详见TCP的那些事),而网络小包会导致带宽用不满也会导致性能上不去,所以,性能测试还需要根据实际情况有选择的测试一下这两咱场景。

是不是很繁锁?是的,只因为,这是工程,工程是一门科学,科学是严谨的。

2. 鸡汤: 商科背景, 5 周完成 deeplearning.ai 课程的过程、心得与总结

原文链接

5 周的时间(这个时间并不是全职完成课程,而是完成笔者大学的课程和作业的闲暇时间)

干了这碗鸡汤吧~

3. 工具: fkill, 优雅的杀进程

原文链接

跨平台, 优雅的杀进程工具~

4. 超级个体1-1: 你的身价, 被什么决定?

原文链接 (需要通过微信客户端打开链接)

1. 如何重构“箭头型”代码

原文链接

箭头型代码是指这样的代码:

关于箭头型代码的问题有如下几个:

1)我的显示器不够宽,箭头型代码缩进太狠了,需要我来回拉水平滚动条,这让我在读代码的时候,相当的不舒服。

2)除了宽度外还有长度,有的代码的if-else里的if-else里的if-else的代码太多,读到中间你都不知道中间的代码是经过了什么样的层层检查才来到这里的。

总而言之,“箭头型代码”如果嵌套太多,代码太长的话,会相当容易让维护代码的人(包括自己)迷失在代码中,因为看到最内层的代码时,你已经不知道前面的那一层一层的条件判断是什么样的,代码是怎么运行到这里的,所以,箭头型代码是非常难以维护和Debug的。

把“箭头型”代码重构掉的几个手段如下:

1)使用 Guard Clauses 。 尽可能的让出错的先返回, 这样后面就会得到干净的代码。

2)把条件中的语句块抽取成函数。 有人说:“如果代码不共享,就不要抽取成函数!”,持有这个观点的人太死读书了。函数是代码的封装或是抽象,并不一定用来作代码共享使用,函数用于屏蔽细节,让其它代码耦合于接口而不是细节实现,这会让我们的代码更为简单,简单的东西都能让人易读也易维护,写出让人易读易维护的代码才是重构代码的初衷!

3)对于出错处理,使用try-catch异常处理和RAII机制。返回码的出错处理有很多问题,比如:A) 返回码可以被忽略,B) 出错处理的代码和正常处理的代码混在一起,C) 造成函数接口污染,比如像atoi()这种错误码和返回值共用的糟糕的函数。

4)对于多个状态的判断和组合,如果复杂了,可以使用“组合状态表”,或是状态机加Observer的状态订阅的设计模式。这样的代码即解了耦,也干净简单,同样有很强的扩展性。

5) 重构“箭头型”代码其实是在帮你重新梳理所有的代码和逻辑,这个过程非常值得为之付出。重新整思路去想尽一切办法简化代码的过程本身就可以让人成长。

2. 在 Amazon 上洗钱

原文链接

英文原文

偷来信用卡,怎么提现?在 Amazon 上用盗来的身份出版书,书的内容都是随机字符串,每本书卖几百块钱;一手用信用卡买书,另一手从书的“作者”的角度取现金。

比买卖比特币提现要快得多 – 交易所都有提款上限。

3. Python2 在 2020 年元旦正式停止官方支持

原文链接

现在用 Python 做自动化测试的同学可以转向 Python3 啦~

4. 产品的质量问题来源都有哪些?

原文链接

现网问题

  1. 线上事故, 直接影响客户正常使用的问题
  2. 用户反馈的问题, 线上的小 BUG, 不影响正常使用, 但也是问题
  3. 运营度量数据, 产品发布后没有达到运营目标

研发过程的问题

  1. 测试过程中的bug, 有代码就会有 bug
  2. 研发过程的问题, 设计、需求、开发、测试、发布, 各个阶段的进度问题以及各个阶段之间衔接的问题
  3. 研发度量数据, 提交测试的延期时间、版本间隔时间等等

问题往往被很多繁杂的内容掩盖,而问题的根本原因又常常错综复杂。团队找到了问题还只是第一步,后面还需要借助各种根因分析方法,找到问题的根本原因,建设对应的规范和工具来规避问题的再次发生。

1.不要管理时间, 而是管理精力

金字塔的底层会影响上层的, 体能会影响情感, 情感会影响思维, 思维会影响意志.

所以, 要保持充足的体能. 为什么有些人看起来每天都像打了鸡血一样, 就是人家体力好.

2.钟摆型精力管理方式

体能, 情感, 思维, 意志, 这些都需要钟摆型管理, 用一点补充一点, 电量满满的才能高效运转; 如果直线型消耗经历, 耗尽了再恢复, 其实是恢复不满的.

每个小时的精力需要恢复: 干50分钟休息10分钟, 比干120分钟休息30分钟的恢复效果要好很多;

每天的精力恢复方式: 早上做计划性工作, 上午做创造性工作, 下午沟通性工作, 晚上学习型工作.

很多时候, 个人的直觉是不对的, 比如我以前总是直线型的消耗精力, 然后后面根本补充不回来, 经常发现效率不高, 精力不足.

3.提升精力的方法

首先, 精力金字塔底层的体能要提升, 吃, 睡, 运动, 这3方面都提升上去体能才能提上去: 少吃多餐, 血糖保持稳定高度; 忙里偷闲多休息, 快速回复体力; 有氧运动其实也是帮助大脑休息.

然后, 提升情绪能力, 寻找积极的正向反馈, 激励自己;

规律化生活, 人在做选择的时候会非常消耗经历, 所以要尽量少做选择来保持精力(有原则, 有规律会减少很多决策)

最后, 提升精神动力, 给自己打鸡血, 给自己画饼!

4.如何快速进入状态

仪式感.

自己设计一句话, 一个动作, 命令自己集中注意力. 这个需要重复练习养成习惯!

5.工具

每日三件事, 每天只做三件事, 每件事都要结果化, 产品化, 价值化!

还有一个小确幸, 让人生幸福一下.



亚马逊EC2 可以简单理解为一台运行在云端的虚拟机(注1), 或者说是云服务器. 云服务器的优势很多(可以参考官方的介绍), 对于国内的个人用户来说, EC2 最大的优势可能是:

  • 便宜(注册即可免费使用1年)
  • 服务器在国外(可做代理访问被墙的国外网站)

云服务器提供商现在有很多, 国内的阿里云目前规模最大, 全球范围内目前亚马逊的规模最大.

拥有云服务器, 可以在上面运行自己的计算任务, 可以搭建个博客, 可以 fan 墙上 Google 等等, 手中常备几台很有必要 :)

Read more »

上面这张图是我在之前的工作中总结了一套解决问题的思路,可以解决自己在工作中遇到的大部分问题(可以说我解决的都是些普普通通的问题,迄今为止我并没有遇到过什么大问题..),这套思路将随着将来的思考继续优化改进,先总结一下,后面用一些实际的例子来演示一下这套思路的用法。

问题是什么

把问题问清楚,是最基本的能力。

遇到问题,先要弄清楚问题是什么,如果连问题都描述不清楚,自己肯定解决不了,别人也帮不了你。

把问题写到纸上!

问题分解

弄清楚问题的过程,也是问题分解的过程。

一个大问题,要分步骤解,不要想着一口吞下去。把问题分解成一个个小问题,然后一一击破。

把步骤写到纸上!

是否是大众问题

一个问题自己解决不了,我首先不是去想着去研究它的原理,而是这个问题是不是一种大众场景。我遇到的绝大多数问题,站在一个高手的角度看,都不是问题,也就是说我遇到的问题,都是别人已经解决过的问题了,最简单的办法就是拿来用!

别人是否已经解决了相关问题

这一步需要掌握搜索引擎的用法,一来要能访问Google,二来是问题关键字的提取。

面向Google编程,就是这个意思…很多问题,只要熟练掌握上面两项技能,都能很快解决掉。

别人的办法能否完全解决你的问题

尝试!

要多尝试,代码拷下来跑一遍看看。但不要指望代码拿过来就能用,一定要大概弄清楚代码的意思再运行,然后稍作改动,一般就能解决问题了。

如果是小众问题呢

小众问题,比如一款很小众的软件出了问题,这款人家很少有人用,这样就很难查到解决方法了。不管怎样,搜索引擎还是要搜一把,如果恰好有人解决了这个问题呢~如果没有人解决过,首先要想想看周边有没有人可能遇到同样的问题,去问问那些踩过坑的人,他们经验丰富或许可以帮上忙;如果身边没有这样的人,找一些专业的人或者专业的地方,付费提问总是最高效的办法;实在没人帮你了,你可以考虑研究下这个问题的原理并尝试解决它,然后将解决思路分享给大家。

对问题再抽象

如果你学习了原理还是无法解决这个问题,可以考虑下这个问题,在其他领域有没有类似的问题。比如2013年左右想在Android实现图片识别,需要自己开发很多东西才能完成,以我的能力是解决不了的,而且这个问题在当时也属于小众需求。我想了想,图片识别在PC领域是很常见的需求了,于是我就按照PC上skuli软件的做法自己模仿着做了个简单版的Android图片识别工具。

所以,多接触些技术,多看些技术新闻,多跟人交流,总会有收获的。

还是解决不了?

费了九牛二虎之力还是没搞定,可能需要思考一下自己的目的,能否从其他途径解决,曲线救国的道理。

或者,再仔细想一想,这个问题是不是真的有必要花这么多时间解决。

2017年,真是折腾的一年

换了两次工作,并且又换了一座城市;期间忙碌于「辞职 - 找工作 - 入职」的循环之中,技术上没有多大长进,大数据、人工智能和区块链三大技术断断续续学了些皮毛,只能算是增长了些见识吧~好在最后找到了自己喜欢的节奏,生活习惯上也有了很大的改变,体重回到了久违的65kg~

工作篇

今年3月份离开深信服,4月份便入职了华为,本想在华为多待些日子,但最后只用了4个月时间便耗尽了耐心,8月底就匆匆赶到杭州在数澜科技工作了,真是够折腾的。

离开深信服

3月底离开了深信服,这是我人生中的第一次离职。深信服是我服务的第一个公司,从2013年2月份开始实习算起的话,我在这里工作了足足4年。4年时间里我学到了不少知识,也认识了很多可爱的同事和朋友。我从一个连计算机二级考试都考不过的菜鸟变成了什么都懂一点的软件测试「高级设计师」,从傻不拉几的理想主义青年变成了「骚气十足」的理想主义中年,也见识了公司从1000多人发展到3000多人的历程。最后选择了离开,一方面是由于自己不太喜欢管理上的一些问题,另一方面也是自己感觉在人工智能的大势下部门的桌面云业务发展方向有些跟不上时代。第一份工作,由衷感谢深信服。

路过华为

4月份入职深圳华为,先是去上海参加了一周公司所谓的「大队」培训,然后回深圳入职华为公有云部门,参加了又一个培训,叫「三营」培训(跟解放时期的叫法一样)。在华为我见识到了各种只有超大公司才具备的「正规」,比如各种「电子流」、培训交流以及邮件通知等等,及其正规(虽然深信服3000多人已经算是大公司了,但华为毕竟18万人,量级上差一些,管理方式上也差一些),同时也体会到只有超级大公司才会有的管理混乱以及及其低下的工作效率。最后觉得这里并不是我之前想象的那么合适,待到8月底就离开了。

来到杭州数澜

深圳的房价太高,在一两年内怎么看都没有希望买房,就换到杭州发展吧。数澜科技是我在一个测试论坛的招聘帖子里看到的,查了下公司的背景后觉得公司还可以,成立1年多,团队实力挺不错,就跟发招聘帖子的人(当时的测试组负责人)联系上了,经过几次面试后公司的CTO正好在广州出差,我们便约好在广州火车站附近面谈一下。

这个CTO给我留下了很深刻的印象,我从网上查到他之前是阿里高P,照片也是拍得高大上,但是那天我在火车站旁边的星巴克里面坐着等他的时候,他打电话说他到星巴克外面了,我往门外一看,有个人,背上背着双肩包,包里还鼓鼓的(我猜包里应该是放着笔记本电脑),耳朵上戴的是比较便宜的那种蓝牙运动耳机,发型也是工程师的屌丝发型… 没别人了,应该就是他,我出去跟他打招呼,特么的果然是他,第一次见这么屌丝的CTO,跟我的形象完全没什么差别…

我们找了个饭店吃饭,他说随便点,我就随便点了几个贵的,心想着毕竟人家从浙江来广东嘛,我算是「地主」了,得请客。边吃边聊,聊一些管理上的问题、技术上的问题还有其他各种吐槽,聊得很合我口味,最后他买了单,接着我入职了。

数澜科技是一家大数据公司,虽然我之前的工作经历跟大数据扯不上关系,但我一直都在关注这些技术(说白了就是会看这方面的新闻而已),学起来也不算费劲。由于公司才成立1年多,很多地方不会像大公司那样「正规」,比如测试方面,测试流程和测试工具等等都属于从头开始的,这样我就有了很大的发挥空间,而且公司的管理上也没有让我很反感的地方,大家都在尽量做对公司有实际意义的事情,不在其他邪门歪道的地方浪费时间,我已经很喜欢这样的节奏了~

打个广告,想要了解或者加入数澜科技的朋友可以访问我们的官网查看更多信息~

当然,深信服也是一家不错的企业,听说很快就要上市了,不少人已经购置了豪宅豪车,有兴趣的朋友也可以了解了解:http://www.sangfor.com.cn/

没有最好的公司,只有最适合自己的公司。

学习篇

2017年,大数据、人工智能和区块链算是最红火的三大技术了(我瞎说的,微信小程序也很火的啊今年)。

前几年大数据已经给大家洗脑洗得差不多了,现在大家都知道数据是有价值的,都很重视数据的价值,就差一个程序员来把这些数据的价值变现了(数澜正在做的事就是让企业的数据用起来),我来到数澜后才开始正儿八经学习相关的技术

AlphaGo火了之后,我就买了人工智能相关的书,甚至为了能看懂机器学习相关的理论知识,我又网购了一堆大学学过的高等数学的教材,结果一本也没看完,几十斤的书,又搬到杭州来了~

区块链随着各种「币」进入大家视线,可能到现在很多人还是对比特币、以太坊等等这些币了解的更多,而对区块链了解得少一些吧。我年中那一段时间开始真正接触这些「币」,砸进去一些钱体验了一下「缩放版的」人生大起大落,确实很带感,短期投机确实能赚不少钱,但我知道这种不太适合我,便找了一本《区块链:定义未来金融与经济新格局》看了看,我的学习过程就是这样:一项新技术来了,我可以不会用它,但是必须要了解它是什么,能做什么,以及它大概是怎么做的,在能用上它的时候知道去哪里学习它就好~

今年在技术上没有太多的长进,唯一还算值得庆幸的是在「得到」里订阅的「硅谷来信」听了不少,也算是增长了一些见识了,2018年要有计划地补充一些知识了

生活篇

在深圳的生活比较「紧张」,思想和身体都很少能放松下来;来到杭州后慢慢找到了自己的生活节奏~

之前在深圳的生活习惯很不好,熬夜、胡吃、不运动,体重维持在75kg左右,锻炼身体也是运动两次就放下不练了,身体素质跟上学的时候比真的是下降了不少;来到杭州后的前两个月,我还是维持这种不好的习惯,后来从11月份开始跑步,一开始只能跑2公里(每公里将近10分钟,跑完就喘得不行了),后面慢慢得每次跑个5、6公里也没什么感觉(5-6分钟一公里),周末再去西湖边上爬爬山,这样锻炼了不到两个月,体重总算降到了65kg,我个人算是比较满意了。锻炼的过程是需要一些技巧才能坚持的。明年继续锻炼,体重维持在65kg以下~

今年也认识了不少新的朋友。在深信服的时候,每天接触到的人反反复复都是一个小圈子的朋友,周末吃饭聊天吐槽的也还是这些老朋友;到杭州后逐渐认识了一些其他公司的人,交流的过程中给了我不少新的思路,价值观和人生观受到了一些影响(但可能并没有改变)。跟不同高度、不同圈子的人多交流总是好的,今年尝试再多认识些人!

今年也离开了一位亲人,我对城市生活的理解以及对美好生活追求过程的观念,很大一部分都受到他的影响,他也是第二个英年早逝离开我的亲人了。我有时候总以为科技在进步,医疗越来越发达,没有什么大病是治不好的,除非一些医学上确认没有办法治的病或者是人活到一定年纪了,但现实却是,医疗解决不了一切,它只是大体上在进步,即使是能治好的病,也要及早发现,趁早治疗。身体的细节情况还是要时刻掌握,每年的体检不能少,家人的体检也不能落下!


2017,感谢生活,感谢所有人~