Browse Source

Gitbook Auto Published

willin 8 years ago
parent
commit
90c9168eb2
4 changed files with 95 additions and 5 deletions
  1. 6 2
      INTRO.md
  2. 6 2
      SUMMARY.md
  3. 3 1
      basic/README.md
  4. 80 0
      basic/solving.md

+ 6 - 2
INTRO.md

@@ -17,12 +17,16 @@
 
 包括自动化测试、持续集成(CI)等。
 
-四、基础知
+四、能力培养及基础常
 
-网络通讯、开发环境、运维测试等基础常识
+各方面能力的培养及网络通讯、开发环境、运维测试等基础常识
 
 ---
 
 源码:<https://coding.net/u/willin/p/leader.js.cool/git>
 
 欢迎Coding上进行反馈交流。
+
+&copy; Willin Wang
+
+

+ 6 - 2
SUMMARY.md

@@ -42,5 +42,9 @@
   - [CI工作流](operation/workflow.md)
   - [重启服务](operation/restarter.md)
   - [版本回退](operation/rollback.md)
-- [基础](basic/README.md)
-  - [HTTP](basic/http.md)
+- [能力](basic/README.md)
+  - [问题处理能力](basic/solving.md)
+  - 基础常识
+    - [HTTP](basic/http.md)
+
+

+ 3 - 1
basic/README.md

@@ -1,3 +1,5 @@
-# 基础常识
+# 能力培养及基础常识
 
 贡献知识: <https://coding.net/u/willin/p/leader.js.cool/git>
+
+

+ 80 - 0
basic/solving.md

@@ -0,0 +1,80 @@
+# 问题处理能力
+
+包括问题解决和问题规避两大方面。
+
+## 问题解决能力
+
+> 举个例子:在公交站有清楚明白的站牌、而且有其他等车的人可以帮你解答的情况下,却非要拦住一辆2路汽车,问司机这个站过不过8路。
+
+我是完全没法理解这种人脑子长了是有什么用处的。独立思考、独立解决,不依赖他人。要培养自己独立解决问题的能力,而不是培养别人解决问题的能力。别人帮你是情分,不帮你是本分。所以解决问题首要的原则应该是:***靠自己,少烦人***。
+
+### 问题定位
+
+发现问题第一步应该是***思考问题产生的原因***,可以通过日志记录、错误信息着手。多动手,少动口,不能瞪一眼没看到问题所在就立马张嘴问别人,这不仅会使自己的能力丧失,也会浪费其他人的时间。
+
+在开发过程中,最常见的问题就是应用崩溃。往往这类问题,很容易找到源头。
+
+举个例子,以下是命令行报错信息:
+
+```
+module.js:474
+    throw err;
+    ^
+
+Error: XXX '/Users/xxx/xxx.js'
+    at Function.Module._resolveFilename (module.js:472:15)
+    at Function.Module._load (module.js:420:25)
+    at Module.runMain (module.js:607:10)
+    at run (bootstrap_node.js:420:7)
+    at startup (bootstrap_node.js:139:9)
+    at bootstrap_node.js:535:3
+```
+
+这是最浅显的错误信息,出错的文件位置、出错的行列号、出错的原因全部都一览无余,找出对应部分问题即可。
+
+
+另外还有一些,如:
+
+```
+Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
+    at Object.exports._errnoException (util.js:1022:11)
+    at exports._exceptionWithHostPort (util.js:1045:20)
+    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
+  code: 'ECONNREFUSED',
+  errno: 'ECONNREFUSED',
+  syscall: 'connect',
+  address: '127.0.0.1',
+  port: 6379
+```
+  
+只知道错误信息,不知道具体出错位置的,也可以根据错误信息很快定位到问题。
+
+其他一些问题,如语法问题、死循环、逻辑错误,在调试过程中很难排查,则需要耐下心来单步跳入检查。
+
+### 解决问题
+
+大多数能遇见的问题都不是什么难题。即便觉得是难题也无非是经验的不足。所以,要善于利用搜索引擎,多记录,多整理,多总结。
+
+有一些顽固问题可能会牵一发而动全身,则需要考虑成本最小化,不能捡了芝麻丢了西瓜。
+
+另外,切忌拆东墙补西墙。要么根治,要么不治。
+
+## 问题规避能力
+
+### 1.避免犯相同的错误
+
+>  很多年轻人工作起来似乎从来不多加思考,不分析,也不想象,只会跟着别人的指示去做事,凭着自己的感觉去工作。结果,上次做过的事情,这次还是不会做。就像那些路盲一样,一个地方去过很多次,永远也不记得如何走。
+
+你犯的错误,大多数都在反复,学会思考总结,避免总是在犯相同的错误。
+
+### 2.举一反三
+
+再进一步,在思考总结的基础之上,学会举一反三,能够有效规避相似的错误。
+
+### 3.科学严谨
+
+严谨是不犯错的前提。
+
+
+
+