读《别让猴子跳回背上》

monkey book

最近买了这本猴子书,当然这里面的“猴子”并不是真的猴子,按书里面的定义是要我们工作中要做的下一步。拿到书那一刻,看到书的排版,吓了一跳,边距也太大了吧,估计内容也多不到哪去。然后我就花了两个多晚上就看完了,内容实在是少。

啰哩啰嗦的讲了一大堆,其实就是说你是领导,要时时刻刻作为监工,而不能出现和下属交换角色的情况。遇到下属有问题需要你帮忙,你最多和他一起讨论,最终还是要让下属去做,下属永远是做事的人,而领导永远是监督的职责。 日常工作中可能会出现下属请示领导工作,不知不觉就把自己的工作让领导给做了,还时不时询问领导事情的进展,这时猴子就爬到领导背上了,领导需要去喂养本来不属于他的猴子,而猴子的主人,由于没有猴子喂养,而出现怠工的状态。这时领导要做的是赶紧和下属谈话,把不属于自己的猴子还给下属,即使这样做会有些痛苦。为了避免出现这种痛苦,当下属找领导帮忙的时候,领导就应该和下属分清好职责,只能当面给些指导或者讨论意见,或者让下属出份内容报告和报告简要目录,找时间再和下属面对面谈话解决问题,而不是自己把猴子领养过来,最重要的一点就是不要出现下属反过来询问领导工作进度的情况。询问工作进度永远只是领导向下属询问,因为领导是监工的角色。

还有工作中发现的猴子可能会很多,应该做好计划,排好优先度,让下属清晰知道什么时候要做好,按照时间计划开会,无特殊原因不能修改会议时间,即使没做完或者根本还没开始做也要进行会议。猴子积压太多,可以适当杀掉一些猴子,不要让猴子腐烂发臭,影响工作。

另外一点就是不要越级领导下属,除非出现非常紧急的情况,没有办法的情况下才能越级领导。越级领导会造成很严重的后果,正确做法是直接领导向你汇报的下属,让他去领导好他的下属,达到事半功倍的效果。

The End

分享到 评论

Shell 的一些笔记

if -e and -n的意思?

如果目标不为 null 则返回 true
-e returns true if the target exists. Doesn’t matter if it’s a file, pipe, special device, whatever. The only condition where something may exist, and -e will return false is in the case of a broken symlink.

For example:

1
2
3
4
5
6
7
8
9
$ ln -s foo bar

$ [ -e foo ]; echo $?
1

$ touch bar

$ [ -e foo ]; echo $?
0

查看更多

分享到 评论

使用 go 进行 OpenCV 学习与开发

前言

记得开始使用 OpenCV 的时候是在大学时期,当时用的是 C 语言,OpenCV 版本好像是1.1,随着时间的推移,后面 C++逐渐代替了 C,iOS 也有整合好的 lib 可以使用 OpenCV,现在Python, go 等语言进行开发,今天主要是说一说如何使用 go 语言配置开发 OpenCV。

查看更多

分享到 评论

iOS 物理引擎实践之模拟粒子运动

最近看到一个使用 javascript 编写的模拟粒子运动的库verlet-js,效果很不错,于是就想把他移植到 iOS 上,花了点时间使用 swift 把代码移植了过来,最后还加了一个粒子系统的 demo,源代码已经放到 github 上了:

https://github.com/MellongLau/ParticleAnimation

下面放上Demo效果截图:

Shape

查看更多

分享到 评论

Swift 中定义单例

什么是单例

单例模式(Singleton Pattern),也叫单子模式,是一种常用的软件设计模式。 在应用这个模式时,单例对象的类必须保证只有一个实例存在。

单实例Singleton设计模式可能是被讨论和使用的最广泛的一个设计模式了,这可能也是面试中问得最多的一个设计模式了。这个设计模式主要目的是想在整个系统中只能出现一个类的实例。这样做当然是有必然的,比如你的软件的全局配置信息,或者是一个Factory,或是一个主控类,等等。

如何在 swift 中创建单例

查看更多

分享到 评论

Raspbian安装vscode

vscode是一个跨平台,轻量级,开源免费,具有强大插件支持编辑器,这不是微软的风格。经过长时间的使用,笔者现在已经爱上这款编辑器,之前一直用的是sublime text2, 现在基本舍弃之。

vscode应该是目前为止最适合开发angular的编辑器,安装上相关的插件后会有代码提示,代码检查,代码自动完成,自动模块导入,自动更正等。此外,我还喜欢使用vscode来写markdown文档,写shell scirpt, python, php等。安装相关的插件后,vscode简直是一款神器!

这篇文章暂时不会具体介绍vscode的用法,这里主要是介绍如何在树梅派上安装vscode。

查看更多

分享到 评论

写了个iOS下拉刷新控件

这个控件和LiteAutolayout一样也写了有一段时间了,使用swift实现,尽量做到简单易用,尽可能做到一行代码搞定。

先附上CocoRongPullToRefresh的源码地址:

https://github.com/MellongLau/CocoRongPullToRefresh

Thumbnail

查看更多

分享到 评论

Swift 之访问控制

访问控制对访问你的其他代码源文件和模块部分进行了约束。这个特性允许你隐藏你的代码实现,并且指定通过其可以访问和使用该代码的优选接口。

class,structure 和 enumeration 都可以指定访问级别,当然,property,method,initializer 和 属于这里类型的 subscript。protocol 可以限制到某个上下文,全局变量,变量和函数也可以。

另外,Swift 也提供默认的使用级别给典型的使用场景。确实,如果你编写一款单一目标的 app,你可能根本不需要明确地指定访问控制级别。

查看更多

分享到 评论

Swift 之泛型

泛型代码允许你编写灵活,可以重用适用于任何类型的函数和类型。
大部分的Swift标准库都是用泛型代码编写。Array和Dictionary事实上都是泛型集合。你可以创建Int值的数组,或者String值的数组,以及其他swift类型的数组。Dictionary也是类似的。

查看更多

分享到 评论

终端使用中遇到的问题

文件出现 ^M 问题

^M 是回车符,他是源于 DOS/Windows 的,但是在 Unix 的系统中这样的符号在执行的时候会报错,在使用 vim 查看文件的时候会直接看到^M 而不是换行。

想替换掉^M,换成\r或者\n, 千万不要直接打上符号^M 进行替换,^M 这个符号要使用 ctrl+v & ctrl+m 生成,在 vim 中使用

:%s/^M/\r/g

进行替换所有回车符。

查看更多

分享到 评论