我的2020上半年总结

其实几个月前就有打算六月底写一个上半年总结,也算是从工作中学到的技巧。之前是只写整年总结的(其实就写过两年,中间还空了一年)。这样做的结果就是,在定完新年目标之后的365天里,可能有很多变化影响到了这些目标的实现,甚至先决条件不在了。年底就会觉得这一年又是碌碌无为,于是不再定新目标,只是顺延完成上一年剩下的事情。

在工作中也是类似,每年都会对未来18月做一个展望,然后制定下一年的目标。这些目标又根据优先级被分配到了不同季度,最终细化到软件敏捷开发的Sprint里面。但客户需求、竞争者的行为、人力资源以及这些目标的优先级也是会变化的。所以在每个季度之中和对下一个季度做计划的时候,也会对整年的目标做一些微调,也就提高了灵活性。

把这个应用到个人目标里,也可以让我在更短的周期里做一些调整。去掉一些因为先决条件变化而不可能完成的目标,增加新的目标或者提高现有目标的标准。

Read more...

软技能——代码之外的生存指南 职业方面

以下是我读完本书职业方面整理、归纳后结合自身经历得出的一些建议。

#1 远离苛性碱

有时候你会发现,有的人不管怎么样就是无法相处,有的人就是抓住一切机会贬低别人,对生活中的一切抱有消极态度。我把他们称为“苛性碱”,你最好避开他们。 如果你意识到某个人就是所谓的“苛性碱”,不要试图去改变他们,也不要试图去和他们打交道,就让他们停留在自己的轨迹上,你所要做的只是尽量限制自己与他们互动。你会发现“苛性碱人”所过之处痕迹明显,他们似乎总是卷入某种形式的悲剧之中,总是有不幸的事件发生在他们身上,他们老是把自己扮成受害者。如果你发现这种迹象,赶快跑——有多快跑多快。

对这部分人也包括一些并没有贬低别人只是无法正常沟通的人,我一直是执行三分钟原则。我只跟你聊三分钟:要么你说服我,要么我说服你。如果超过三分钟没有任何结果,我会停止无用功。因为我们当前的认知可能不在同一水平,甚至差距很大。或许几年之后我们才会意识到,当初对方或是自己是对的。

如果在这基础上还有贬低别人的习惯或是各种负能量,还是远离比较好。

Read more...

2017实习生面经

50多天,15份简历,3次面试机会,一张offer。 说实话,这个结果我既满意又不满意(跟没说一样…)。满意的是在投简历之前,我定了几个目标公司,终极目标是Google和Amazon,目标达成。不满意的是,只拿到了一张offer。

Read more...

我的2016

观影和读书

先说说2015年底定的观影和读书目标。

计划看120部电影,读20本书;实际看了108部电影,读了10本书。 两项都没有完成。观影量已经很接近了,而且这个量也可以接受。而这一年真正从头到尾读完的书不过10本,跟目标差距非常大,当然还有很多技术书籍只是按需读相应的章节,后面我整理一下短评再发书单。这10本里,按阅读方式分,9本在Kindle上读完,1本在车上听完;按时间段分,暑期实习的3个月读了5本,其它时间读了5本。 阅读方式上没说的,Kindle是主力。在阅读时间上,实习期间每天上午下午各15分钟的Tea Time是我固定用来喝咖啡读书的;在校期间,基本都是午餐间隔、睡觉前、等人等等这种碎片化时间。 这一年也在网上看了一些读书方法的分享,需要做一些改进。一是读书方法上,2017年要读的第一本书就是How to read a book,并不是每一本书都要从头到尾一字一句的读。二是减少碎片化阅读时间,制定固定的阅读时间。阅读就像看剧一样,是需要前情回顾的,也好比计算机的Context Switching,频繁地在两个上下文环境切换,有效的程序执行时间并不多。

2017计划看90部电影,读24本书。

Read more...

Introduction to Git & Github

What’s git

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

What’s github

GitHub is a web-based Git repository hosting service. It offers all of the distributed version control and source code management (SCM) functionality of Git as well as adding its own features. It provides access control and several collaboration features such as bug tracking, feature requests, task management, and wikis for every project.

Read more...

Alternative syntax in PHP

In PHP, there are a lot of alternative syntax. It can improve the legbility of your code.


if, while, for, foreach, switch

The alternatice syntax in control structures is to remove the openning brace instead of a colon and closing with endif, endwhile, endfor, foreach, and endswitch.

if, endif

<?php if ($a == 5): ?>
A is equal to 5
<?php endif; ?>

while, endwhile

<?php while ($a < 5): ?>
<?php print $a++; ?>
<?php endwhile; ?>

Output:

01234

Remember, do not use any indent in this case.

Read more...

如何在Ubuntu Server16.04上安装Nginx1.10.0 PHP7 MySQL5.7

本教程以运行在vagrant上的ubuntu-16.04-server为例。


安装PHP7

sudo apt-get install php-fpm

[Optional] 通过php -v命令确认安装版本为PHP7

[Test] 在/var/www/html目录下新建index.php文件

sudo vi /var/www/html/index.php

按i进入编辑模式,左下角出现insert。使用phpinfo()输出php环境信息。

<?php
    phpinfo();
?>

按ESC键退出编辑模式,左下角insert消失。输入:wq命令保存并退出,或连续按两次Z使用快捷键保存并退出。

Read more...

Hexo3同时发布到多个仓库

博客很久没有更新,最近看到Hexo的最新版本已经是3打头了,决定升级继续写博客。然而升级的过程像大部分新产品一样,新特性往往用不到,真正用到的坑又多了一些。折腾了近一周,终于又可以像往常一样使用Hexo g -d同时发布到两个git平台。下面记录一下遇到的坑和solution。

Problem 1. Hexo deployer报错

文章Generate正常,进行Deploy时报错。

ERROR Deployer not found: git

Solution:

npm install hexo-deployer-git --save

具体可以查看Hexo3 WikiIssue#1013

Read more...