-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontent.json
More file actions
1 lines (1 loc) · 229 KB
/
content.json
File metadata and controls
1 lines (1 loc) · 229 KB
1
{"meta":{"title":"Anders Jing's site","subtitle":"AndersJing's site","description":"this is the site of AndersJing.","author":"Anders Jing","url":"http://andersjing.com"},"pages":[{"title":"关于","date":"2018-06-30T17:12:38.000Z","updated":"2019-04-20T02:37:02.909Z","comments":true,"path":"about/index.html","permalink":"http://andersjing.com/about/index.html","excerpt":"","text":"联系我 HomePage: andersjing.com Email: andersjing AT gmail.com"}],"posts":[{"title":"Learn to Rank 简介","slug":"2019-04-20-LearningToRank","date":"2019-04-20T17:00:00.000Z","updated":"2019-04-22T03:08:04.771Z","comments":true,"path":"2019/04/20/2019-04-20-LearningToRank/","link":"","permalink":"http://andersjing.com/2019/04/20/2019-04-20-LearningToRank/","excerpt":"","text":"Learning to Rank (LTR)是指一系列基于机器学习的排序算法,最初主要应用于信息检索领域,最典型的是解决搜索引擎对搜索结果的排序问题。除了信息检索以外,Learning to Rank 也被应用到许多其他排序问题上,如商品推荐、计算广告、生物信息学等。目前主流的 Learning to Rank 在排序的过程中通过文档与文档之间的比较,在很多问题上比只基于文档自身特征的分类和回归策略更加有效。当然,Learning to Rank 因此也需要更大的计算量。 Learning to Rank 典型场景Learning to Rank 典型应用在信息检索问题上,对于一个“给定查询”和“一系列文档”,Learning to Rank 需要构建一个排序策略,给出每个文档的打分,这个打分代表该文档与“给定查询”的相关性,基于打分对文档进行排序,打分越高(或越低)的文档排序越靠前,表示其与“给定查询”的相关性越高(需要说明的是,这里的打分只表示这些文档在“给定查询”下的排序关系,如果查询不同,同一文档的得分很可能不同)。 输入特征 文档自身特征 其他排序模型对该文档的打分 输出 表示每个文档排序关系的打分 Learning to Rank 算法分类及核心思想按照排序策略的构建方式,Learning to Rank 通常可以分为三类,分别是:Pointwise、Pairwise 和 Listwise。 PointwisePointwise 方法只考虑”给定查询“下,单个文档的绝对相关度,而不考虑其他文档与”给定查询“的相关度。即对于一个给定查询$q$和一系列文档($d_1, d_2, …, d_n$),每次选择一个文档$d_i$,基于该文档的特征给出打分,表示该文档的与”给定查询$q$“的相关程度。对于损失函数的构建,可以采用多分类、回归、有序回归等,因此,Pointwise可以直接基于排序和回归算法实现。 输入:文档的特征向量 输出:每个文档的相关性分数 损失函数: 回归loss、分类loss、有序回归loss(Ordinal Regression) Pointwise 方法的相关算法:Pranking (NIPS 2002), OAP-BPM (EMCL 2003), Ranking with Large Margin Principles (NIPS 2002), Constraint Ordinal Regression (ICML 2005)。 Pointwise 方法存在的问题 Pointwise 方法仅考虑了单个文档的绝对相关度,没有考虑文档之间的排序影响。 排在最前的几个文档对排序效果的影响更加重要,而 Pointwise 没有考虑这方面的影响。 Pairwise与 Pointwise 不同,Pairwise 方法考虑”给定查询“下,两个文档的相对相关度。 即对于一个给定查询 $q$ 和一系列文档($d_1, d_2, …, d_n$),每次选择2个文档$d_i \\& d_j$,考虑这两个文档的相对相关度: $d_i>d_j$,或者$d_i<d_j$。每次将2个文档的特征组合成一个特征向量,基于相对相关度给出打分,从而将排序问题转化成了对于文档对的分类或者回归问题,从而可以采用各种分类或者回归算法进行求解,比如SVM、Neural networks、Gradient Boosting Tree 等等。 以基于SVM的 Learning to Rank 方法为例(SVMRank),我们用特征向量$Φ(q,d)$表示文档$d$与给定查询$q$相关程度,由此可以得到一个排序函数列表: (d_i, d_j)∈f_ω(q)⇔ω \\cdot Φ(q,d_i) > ω \\cdot Φ(q,d_j)其中$f$是排序函数,$d_i$和$d_j$表示不同的文档,$ω$是在学习期间优化的权重向量。 然后,参考支持向量机分类问题引入松弛变量,可以得到如下优化问题: 最小化: V\\left(\\omega ,\\xi \\right) = \\dfrac {1}{2} \\omega \\cdot \\omega +C\\sum \\xi _{ijk}约束为: \\forall (d_i,d_j) \\in r_1: \\omega \\cdot \\Phi \\left(q_1, d_i\\right) \\geq \\omega \\cdot \\Phi \\left(q_1, d_i\\right) + 1-\\xi _ {i,j,1} \\\\ \\cdot \\cdot \\cdot \\\\ \\forall (d_i,d_j) \\in r_n: \\omega \\cdot \\Phi \\left(q_n, d_i\\right) \\geq \\omega \\cdot \\Phi \\left(q_n, d_i\\right) + 1 - \\xi _ {i,j,n} \\\\ \\forall i \\forall j \\forall k : \\xi _ {i,j,n} \\geq 0其中$V$是目标函数,$C$是对训练误差的惩罚因子,$\\xi$是松弛变量,$k$是约束的下标,$r$是所有可能的文档对集合。 通过调整约束可以得到一个新的优化问题,而这个问题和支持向量机分类问题是等价的: \\omega \\cdot \\Phi \\left(t_1, d_i\\right) - \\omega \\cdot \\Phi \\left(q_1, d_i\\right) \\geq 1-\\xi _ {i,j,k}可以使用解决支持向量机分类的分解算法来求解这个问题。 Pairwise 相关算法有:SVMRank(T. Joachims, KDD 2006)、RankNet(C. Burges, et al. ICML 2005), FRank(M.Tsai, T.Liu, et al. SIGIR 2007)、RankBoost(Y. Freund, et al. JMLR 2003)、GBRank (Zheng Z, Chen K, Sun G, et al., SIGIR 2007)。 Pairwise 方法存在的问题 Pairwise 方法只考虑了两个文档对的相对先后顺序,却没有考虑文档出现在整个搜索列表中的位置,而通常排在前边的文档更为重要。针对这个问题的改进思路是引入代价敏感因素,即每个文档对根据其在列表中的顺序具有不同的权重,越是排在前列的权重越大。 另外一个可能的问题:不同査询,其相关文档数量差异很大,有的查询对能有几百个文档对,而有的查询只有十几个对应的文档对,这会对机器学习系统的效果评价造成困难。例如两个查询,査询$Q_1$对应500个文档对,查询$Q_2$对应10个文档对,假设排序模型对于査询$Q_1$的文档对能够判断正确480个,对于査询 $Q_2$能够判新正确2个文档对,从总的文档对数量来看,这个排序模型的准确率是 $(480+2)/500+10)=0.95$,即 95% 的准确率。但是从査询的角度,两个査询对应的准确率分别为:96% 和 20%,两者平均为58%,与纯粹从文档对判断的准确率相差甚远,这对如何继续调优排序模型会带来困扰。(个人认为这个不是问题,不同查询之间没有直接的可比性,合理的做法就是基于单个查询优化排序模型,而不是整体。) ListwisePointwise 将一个文档当做一个实例,缺少对其他文档的考虑, Pairwise 将两个文档作为一个实例,在一定程度上考虑了其他文档,但是缺少对整体排序的考虑,而 Listwise 则做了进一步改进,对于一个给定查询 $q$ 和一系列文档($d_1, d_2, …, d_n$),将所有文档的排序结果整体作为一个实例,从而学习整体排序结果上的最优策略。 如前文所述,Pointwise 和 Pairwise 最终的目标函数都和传统的分类和回归方法类似,而 Listwise 方法面临的主要问题是如何定义目标函数,进而获得训练阶段的梯度。 对于排序问题的评价指标一般有 NDCG、ERR、MAP、MRR等,这些指标的特点是不平滑、不连续,无法直接求梯度,因此无法直接用梯度下降法求解。针对整个排序列表定义一个可导的损失函数,从而求得优化模型需要的梯度,或者直接根据排序结果得出梯度,是 Listwise 方法需要解决的问题。 其中一个方案是基于不同排序结果的概率分布定义目标函数,如对于文档A、B、C,其可能出现的排序结果有6种:ABC、ACB、BAC、BCA、CAB和CBA,在文档A、B、C真实得分已知的情况下,可以计算6种排序结果的概率分布,这个概率分布对应的是真实打分下的概率分布$P$,在训练阶段,基于训练得到的模型对文档A、B、C进行打分,可以获得6种排序结果新的概率分布$Q$,计算$Q$与真实打分的概率分布$P$的 KL距离(Kullback-Leibler Divergence),从而获得当前排序结果的误差,进而获得优化模型所需要的梯度。 Listwise 相关算法有:LambdaRank (NIPS 2006)、 AdaRank (SIGIR 2007)、 SVM-MAP (SIGIR 2007)、 SoftRank (LR4IR 2007)、 GPRank (LR4IR 2007)、 CCA (SIGIR 2007), RankCosine (IP&M 2007)、 ListNet (ICML 2007)、 ListMLE (ICML 2008)、LambdaMART [1]。 LambdaMART 算法LambdaMART [2] 是目前最热门的 Listwise 算法,模型采用的是MART(Multiple Additive Regression Tree),梯度是 Lambda,其物理含义是一个待排序的文档下一次迭代应该排序的方向(向上或者向下)和强度。LambdaMART即Lambda和MART的组合。 LambdaMART 是 LambdaRank 的提升树版本,而 LambdaRank 是基于 RankNet 改进而来的 [1],因此按照顺序依次介绍 RankNet 、 LambdaRank 、 LambdaMART。 RankNetRankNet [3] 是一个典型的 Pairwise 方法,对于一个给定查询$q$和一系列文档($d_1, d_2, …, d_n$),RankNet 把排序问题转换成比较所有两个文档排序概率问题,即比较排在$d_i$ 排在$d_j$前的概率。首先计算每个文档的得分,然后根据得分计算文档对的排序概率。 RankNet 证明了如果知道一个待排序文档的排列中相邻两个文档之间的排序概率,则通过推导可以算出每两个文档之间的排序概率。并且对于一个待排序文档序列,只需计算相邻文档之间的排序概率,不需要计算所有文档对,可以减少计算量。RankNet 采用神经网络模型优化损失函数, 采用梯度下降法求解,而前文所述的 SVMRank 则基于SVM进行求解。 LambdaRank由于 RankNet 是一个 Pairwise 方法,在训练过程中以 pairwise error 的方式计算损失,缺少对整体排序结果的考虑,而通常我们更关注靠前位置的相关文档的排序位置的提升。 LambdaRank [4] 对此进行了改进,是一个 Listwise 方法。 LambdaRank 的主要贡献在于对梯度(即 Lambda)的提出。如前文所述,在模型训练的阶段,我们最终需要的是优化模型所需要的梯度,甚至可以没有损失函数,因此 LambdaRank 提出了基于整个排序结果的梯度计算方法,具体公式推导可以参考文献[1],其主要思想是每一个文档下一次调序的方向和强度取决于所有同一查询下其他的文档,同时 LambdaRank 还在 Lambda 中引入评价指标Z(如NDCG、ERR等),把交换两个文档的位置引起的评价指标的变化 作为其中一个因子。 LambdaRank 相比 RankNet 考虑了排序评价指标,直接对排序问题求解,效果更明显。 LambdaMARTLambdaRank 重新定义了梯度,赋予了梯度新的物理意义,因此,所有可以使用梯度下降法求解的模型都可以基于这个梯度学习排序模型,MART(Multiple Additive Regression Tree)就是其中一种模型,将梯度 Lambda 和 MART 结合就是 LambdaMART 。关于 MART 的具体实现可以参考 LambdaMART 不太简短之介绍,这里对其核心思想进行介绍。 MART 是基于 Boosting 思想的多重增量回归树(Multiple Additive Regression Tree),其主要特点是: 使用多个决策树做迭代预测 通过加法模型,将每次迭代得到的子模型叠加起来 每个决策树都比之前的决策树改进一点点,最终拟合到真实结果。 LambdaMART 基于 LambdaRank 所定义的梯度对 MART 模型进行训练,获得最终的排序模型。 XGBoost 中有对 LambdaMART 的实现,可以用于处理各种排序任务。 参考资料链接 LambdaMART 不太简短之介绍 机器学习算法-L2R进一步了解 机器学习算法-初识Learning to Rank Learning To Rank之LambdaMART的前世今生 文献[1]: Burges C J C. From ranknet to lambdarank to lambdamart: An overview[J]. Learning, 2010, 11(23-581): 81. [2]: Wu Q, Burges C J C, Svore K M, et al. Adapting boosting for information retrieval measures[J]. Information Retrieval, 2010, 13(3): 254-270. [3]: Burges C, Shaked T, Renshaw E, et al. Learning to rank using gradient descent[C]//Proceedings of the 22nd International Conference on Machine learning (ICML-05). 2005: 89-96. [4]: Burges C J, Ragno R, Le Q V. Learning to rank with nonsmooth cost functions[C]//Advances in neural information processing systems. 2007: 193-200.","categories":[{"name":"Machine Learning","slug":"Machine-Learning","permalink":"http://andersjing.com/categories/Machine-Learning/"}],"tags":[{"name":"Rank","slug":"Rank","permalink":"http://andersjing.com/tags/Rank/"},{"name":"Machine Learning","slug":"Machine-Learning","permalink":"http://andersjing.com/tags/Machine-Learning/"}]},{"title":"Anaconda 使用笔记","slug":"2018-11-30-anaconda","date":"2018-11-30T18:00:00.000Z","updated":"2020-04-14T20:50:10.180Z","comments":true,"path":"2018/11/30/2018-11-30-anaconda/","link":"","permalink":"http://andersjing.com/2018/11/30/2018-11-30-anaconda/","excerpt":"","text":"Anaconda是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。 总的来说,Anaconda是一个可以便捷地对各种包进行管理的工具,可以实现对包的安装和环境的管理,更详细的介绍见:Anaconda介绍、安装及使用教程 Anaconda是基于Pytho的,但是可以对多种语言的包进行管理,本文主要针对Python下的应用进行总结。 安装前往官方下载网址:https://www.anaconda.com/download/ ,下载对应的安装包,并按照提示进行安装即可。 需要说明的是,不管是哪个Python版本(Python3 或 Python 2.7)下的安装包,安装之后都可以创建各种Python版本的环境。 命令行安装 前往官方下载页面下载安装文件,如: https://repo.anaconda.com/archive/Anaconda3-5.3.1-Linux-x86_64.sh 。 下载完成后,打开命令终端。 安装命令: bash ~/Downloads/Anaconda3-5.3.1-Linux-x86_64.sh 同意许可证、选择安装路径、安装路径添加到bash_profile即可。 安装完成,当前终端输入source ~/.bashrc使新的环境生效,或者重新打开一个新的终端。 输入conda --version,验证安装结果。 环境管理更新conda至最新版本1conda update conda 查看conda帮助信息1conda -h 创建新环境1conda create --name <env_name> <package_names> 注: 如果要安装指定的版本号,则只需要在包名后面以 = 和版本号的形式执行。如: conda create --name py36 python=3.6,即创建一个名为“py36”的环境,环境中安装版本为3.6的python。 安装Python时没有指定Python的版本,那么将会安装与Anaconda版本相同的Python版本,即如果安装Anaconda第2版,则会自动安装Python 2.x;如果安装Anaconda第3版,则会自动安装Python 3.x。 切换环境 Linux 或 macOS 1source activate <env_name> Windows 1activate <env_name> 退出环境至root Linux 或 macOS 1source deactivate Windows 1deactivate 显示已创建环境1conda info -e 复制环境1conda create --name <new_env_name> --clone <copied_env_name> 删除环境1conda remove --name <env_name> --all 包管理安装包添加 Anaconda 镜像源国内下载有些包速度比较慢,可以到 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 下载。 或者:https://mirrors.ustc.edu.cn/anaconda/pkgs/free/ 添加 Anaconda 仓库的镜像,运行以下命令:123conda config --add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'conda config --add channels 'https://mirrors.ustc.edu.cn/anaconda/pkgs/free/'conda config --set show_channel_urls yes 即可添加 Anaconda Python 免费仓库。 在指定环境中安装包1conda install --name <env_name> <package_name> 如: conda install —name python2 pandas 即在名为“python2”的环境中安装pandas包。 在当前环境中安装包1conda install <package_name> 使用pip安装包当使用 conda install 无法进行安装时,可以使用pip进行安装。例如:see包。 1pip install <package_name> 注: pip只是包管理器,无法对环境进行管理。因此如果想在指定环境中使用pip进行安装包,则需要先切换到指定环境中,再使用pip命令安装包。 从 http://Anaconda.org 安装包当使用 conda install 无法进行安装时,可以考虑从http://Anaconda.org中获取安装包的命令,并进行安装。 首先搜索,然后复制“To install this package with conda run:”下方的命令,并粘贴在终端中执行即可。 卸载包卸载指定环境中的包1conda remove --name <env_name> <package_name> 如conda remove --name python2 pandas 即卸载名为“python2”中的pandas包。 卸载当前环境中的包1conda remove <package_name> 更新包更新所有包1conda update --all 或1conda upgrade --all 建议:在安装Anaconda之后执行上述命令更新Anaconda中的所有包至最新版本,便于使用。 更新指定包1conda update <package_name> 或1conda upgrade <package_name> 注: 更新多个指定包,则包名以空格隔开,向后排列。如: conda update pandas numpy matplotlib 即更新pandas、numpy、matplotlib包。 参考 Anaconda介绍、安装及使用教程 更改Anaconda下载源,提高下载速度","categories":[{"name":"Python","slug":"Python","permalink":"http://andersjing.com/categories/Python/"}],"tags":[{"name":"Anaconda","slug":"Anaconda","permalink":"http://andersjing.com/tags/Anaconda/"},{"name":"Python","slug":"Python","permalink":"http://andersjing.com/tags/Python/"}]},{"title":"Hexo 支持数学公式","slug":"2018-11-27-hexo-math","date":"2018-11-27T18:00:00.000Z","updated":"2019-04-20T02:37:02.906Z","comments":true,"path":"2018/11/27/2018-11-27-hexo-math/","link":"","permalink":"http://andersjing.com/2018/11/27/2018-11-27-hexo-math/","excerpt":"","text":"Hexo支持Latex格式的数学公式需要做一些配置,因为环境不同,网上的很多教程无法生效,后来找到一个生效的方法,这里对其中的核心内容进行转载,原文见:如何在 hexo 中支持 Mathjax? 1. 使用Kramed代替 Marked12npm uninstall hexo-renderer-marked --savenpm install hexo-renderer-kramed --save 然后,更改/node_modules/hexo-renderer-kramed/lib/renderer.js,更改:12345// Change inline math rulefunction formatText(text) { // Fit kramed's rule: $$ + \\1 + $$ return text.replace(/`\\$(.*?)\\$`/g, '$$$$$1$$$$');} 为:1234// Change inline math rulefunction formatText(text) { return text;} 2. 停止使用 hexo-math首先,如果已经安装 hexo-math, 需要卸载: 1npm uninstall hexo-math --save 然后安装 hexo-renderer-mathjax 包: 1npm install hexo-renderer-mathjax --save 3. 更新 Mathjax 的 CDN 链接首先,打开/node_modules/hexo-renderer-mathjax/mathjax.html 然后,把 script 部分更改为:1<script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML\"></script> 4. 更改默认转义规则因为 hexo 默认的转义规则会将一些字符进行转义,比如 _ 转为 , 所以我们需要对默认的规则进行修改。 首先, 打开path-to-your-project/node_modules/kramed/lib/rules/inline.js, 然后,把:1escape: /^\\\\([\\\\`*{}\\[\\]()#$+\\-.!_>])/, 更改为: 1escape: /^\\\\([`*\\[\\]()# +\\-.!_>])/, 把1em: /^\\b_((?:__|[\\s\\S])+?)_\\b|^\\*((?:\\*\\*|[\\s\\S])+?)\\*(?!\\*)/, 更改为:1em: /^\\*((?:\\*\\*|[\\s\\S])+?)\\*(?!\\*)/, 5. 开启mathjax在主题 _config.yml 中开启 Mathjax, 找到 mathjax 字段添加如下代码 12mathjax: enable: true 这一步可选,在博客中开启 Mathjax,, 添加以下内容:123456---title: Testingcategory: Uncategorizeddate: 2017/05/03mathjax: true--- 通过以上步骤,就可以在 hexo 中使用 Mathjax 书写数学公式。 参考:如何在 hexo 中支持 Mathjax?","categories":[{"name":"hexo","slug":"hexo","permalink":"http://andersjing.com/categories/hexo/"}],"tags":[{"name":"Hexo","slug":"Hexo","permalink":"http://andersjing.com/tags/Hexo/"},{"name":"math","slug":"math","permalink":"http://andersjing.com/tags/math/"}]},{"title":"生物序列比对算法简述","slug":"2018-11-25-sequence-alignment","date":"2018-11-25T18:00:00.000Z","updated":"2019-04-20T02:37:02.906Z","comments":true,"path":"2018/11/25/2018-11-25-sequence-alignment/","link":"","permalink":"http://andersjing.com/2018/11/25/2018-11-25-sequence-alignment/","excerpt":"","text":"在生物信息学研究中,序列比对是一个非常基础的问题,在很多研究中都会用到。本文对其中涉及到的全局比对(Needleman-Wunsch算法)、局部比对算法(Smith-Waterman 算法)、Blast、PSI-Blast、PSSM、HMM的原理进行总结和介绍。 Needleman-Wunsch算法——基于动态规划的序列全局比对Needleman-Wunsch算法是序列全局比对的核心算法,具体实现如下。 打分表对于不完全匹配的序列,会存在空位或者不匹配的位点,打分表是表示一种氨基酸(或核苷酸)变为另外一种氨基酸(核苷酸)的打分,对于空位则要罚分,最终综合所有位点的打分结果,获得两个序列的匹配分值,分值越高的表示两个序列相似度越高。 对于蛋白质序列,常用的打分表有PAM250和BLOSUM62,其中PAM250是基于高同源序列构建,BLOSUM62基于远程同源序列构建,因此寻找远程同源序列一般用BLOSUM62。 计算步骤为便于计算和表示,以核苷酸序列为例。 1. 定义打分表 空位罚分为 -5。 2. 待比对序列的表示对于长度为3的两个序列“AAG”和“AGC”,设计一个5*5的表用于序列比对。 3. 打分规则对于表格中的空格, 依据下列打分规则进行填充: f(0,0) = 0 f(i,j) = max \\left\\{\\begin{matrix} f(i-1,j-1)+s(x_i,y_j) \\\\ f(i-1,j)+d\\\\ f(i,j-1)+d \\end{matrix}\\right.其中,$s(x_i,y_j)$表示打分表中对应氨基酸替代情况的打分。 (1): $f(i-1,j-1)+s(x_i,y_j)$ 表示 $x_i$ 比对到 $y_j$ (2): $f(i-1,j)+d$ 表示 $x_i$ 比对到缺失“-” (3): $f(i,j-1)+d$ 表示 $y_j$ 比对到缺失“-” 4. 打分结果按照上一步的打分结果,整个比对的打分结果为: 5. 回溯获得比对结果根据上述打分结果进行回溯,即可得到比对结果: 这里得到两个得分为“-6”的全局比对结果,分别为:12AAG--AGC 12AAG-A-GC 这两个即最好的全局比对,而得到为“-6”。 Smith-Waterman 算法——基于动态规划的序列局部比对Needleman-Wunsch算法是对两个目标序列进行全局比对,但是局部比对也非常重要,因此后来在其基础上,Smith和Waterman提出了Smith-Waterman 算法。 1. 打分规则的修改Smith-Waterman 算法对Needleman-Wunsch算法的打分规则做了改进,使之适用于局部序列比对,具体为: f(0,0) = 0 f(i,j) = max \\left\\{\\begin{matrix} f(i-1,j-1)+s(x_i,y_j) \\\\ f(i-1,j)+d \\\\ f(i,j-1)+d \\\\ 0 \\end{matrix}\\right.2. 打分结果 相当于将其中负值的打分情况终止了,重新开始比对,获得了局部比对。 3. 回溯结果 由此获得了两个局部比对: 12AGAG 12AA BLAST 算法——启发式近似算法BLAST是速度比Smith-Waterman快50倍,不如Smith-Waterman算法精确的序列局部比对算法。具体流程如下: 1. 序列预处理移除待比对序列的低复杂度区域或重复序列。 2. 构建待查询的K-元 词表对于待比对序列,从序列第一个元素开始,对每个位置开始的连续K个字母作为一个词(word),将其key和位置存入hash表。 对于数据库中的序列做同样的“分词”工作。 对于DNA序列,通常选择长度为11的核苷酸链,对于蛋白质序列,通常选择3个氨基酸作为一个词。 3. 比对打分根据打分矩阵为所有待比对序列的“word”和数据库中的“word”的比对打分,找出所有打分高于T的比对,作为“种子”(seed)。 4. Seed优化减少seed的数目可以减少下一步extend的消耗,可以将距离相近的seed合并为一个seed。 5. 基于“种子”扩展(extend)对于每一对选择出来的种子,将其向两边延伸,使其在尽可能长的距离得到尽可能多的分数。具体方法是逐渐向两边扩展,规定常数D,在扩展到分数为HighestScore-D时停止,如果最终得分大于得分阈值S,则将其设为高分区域HSP(high-scoring segment pair)。 6. 合并相邻的或距离较近的HSP7. Smith-Waterman局部比对结果对于每部分HSP使用Smith-Watermans算法进行局部比对,为每部分打分,作为最终结果。 PSI-BLAST 算法1. 初始序列比对用初始的一条蛋白质序列作为query,用BLAST基于BLOSUM62在蛋白质数据库中搜索,获得初始结果 2. 构建PSSM基于初始的多序列比对(MSA,multiple sequence alignments)结果构建初始profile,即PSSM(position-specific score matrice) 3. 基于PSSM的再搜索用PSSM作为新的打分矩阵,搜索数据库,发现较远的相似性序列,并给出E-value 4. 基于PSSM的迭代搜索根据新的MSA,构建新的PSSM,再迭代搜索过程,直到没有符合要求(E-value threshold,比如0.005,有时可放宽至0.01)的新序列,或者达到指定的迭代次数,一般为3。 PSSM——position-specific score matricePSSM是从MSA中构建的,其典型计算过程为: 1. 计算MSA中每个位点不同氨基酸的出现次数 2. 基于氨基酸次数计算频率第1列:$f{A,1} = \\frac{0}{5} = 0, f{G,1} = \\frac{5}{5} = 1, …$ 第2列:$f{A,2} = \\frac{0}{5} = 0, f{H,2} = \\frac{5}{5} = 1, …$ $… … $ 第15列:$f{A,15} = \\frac{2}{5} = 0.4, f{C,15} = \\frac{1}{5} = 0.2, …$ 为了解决有些氨基酸类型出现为0的情况,给分子、分母增加pseudo-counts: 第1列:$f{A,1}^{‘} = \\frac{0+1}{5+20} = 0.04, f{G,1}^{‘} = \\frac{5+1}{5+20} = 0.24, …$ 第2列:$f{A,2}^{‘} = \\frac{0+1}{5+20} = 0.04, f{H,2}^{‘} = \\frac{5+1}{5+20} = 0.24, …$ $… … $ 第15列:$f{A,15}^{‘} = \\frac{2+1}{5+20} = 0.12, f{C,15}^{‘} = \\frac{1+1}{5+20} = 0.08, …$ 3. 计算对数似然S_{i,j} = log \\frac{f_{i,j}^{'}}{q_{i}}$q_{i}$为相应氨基酸类型在随机序列中出现的期望频率,比如可以取平均值,对于氨基酸为$\\frac{1}{20}=0.05$,对于核苷酸为:$\\frac{1}{4}=0.25$。 说明以上为典型的PSSM计算步骤,但是在具体实践上,不同的软件可能会对细节进行修改,从而得到的PSSM并不一样,如PSI-BLAST会采用BLOSUM62处理pseudo-counts问题。 另外,PSSM不处理MSA中位点插入和删除的情况。 基于HMM的序列比对由于PSSM不能处理位点插入和删除的情况,因此后来开发了基于HMM(Hidden Markov Models)的序列比对,采用HMM对所有情况进行建模,这里对其基本原理进行介绍。 下面是对于一个序列比对的示例: 如果采用PSSM或其他类似的Profile方式,都无法对位点的插入和删除进行建模,而HMM则可以。这里不对HMM的原理进行介绍,进对其在序列比对中的应用方式进行简要介绍。 1. 初始的HMM 2. 增加对插入的处理 3. 增加对删除的处理 4. 完整的用于序列比对的HMM 5. HMM的表现形式最终,对于一个氨基酸位点的HMM为包含20种氨基酸和7种转移状态(M->M、M->I、M->D、I->M、I->I、D->M、D->D )概率的数组。 其中M、I、D的含义分别为,M:match,I:insertion,D:deletion。 参考: 生物信息学:导论与方法(北京大学) BLAST 算法 生物序列局部比对之Blast算法 PSI-BLAST寻找同源蛋白 An introduction to Patterns, Profiles, HMMs and PSI-BLAST Profile HMMs for Sequence Alignment","categories":[{"name":"Bioinformatics","slug":"Bioinformatics","permalink":"http://andersjing.com/categories/Bioinformatics/"}],"tags":[{"name":"Needleman-Wunsch","slug":"Needleman-Wunsch","permalink":"http://andersjing.com/tags/Needleman-Wunsch/"},{"name":"Smith-Waterman","slug":"Smith-Waterman","permalink":"http://andersjing.com/tags/Smith-Waterman/"},{"name":"Blast","slug":"Blast","permalink":"http://andersjing.com/tags/Blast/"},{"name":"PSI-Blast","slug":"PSI-Blast","permalink":"http://andersjing.com/tags/PSI-Blast/"},{"name":"PSSM","slug":"PSSM","permalink":"http://andersjing.com/tags/PSSM/"},{"name":"HMM","slug":"HMM","permalink":"http://andersjing.com/tags/HMM/"}]},{"title":"Linux 常用工具和命令总结","slug":"linux-common-commands-tools","date":"2018-07-28T21:20:58.000Z","updated":"2020-04-14T21:04:28.155Z","comments":true,"path":"2018/07/28/linux-common-commands-tools/","link":"","permalink":"http://andersjing.com/2018/07/28/linux-common-commands-tools/","excerpt":"","text":"前言Linux日常操作中经常会用到一些工具和命令,这里对一些进行总结。 文件和文件夹大小以/home/目录为例:1du -h /home/* --max-depth=0 —max-depth参数可以指定查看的深度,0为当前目录,1为当前目录及下一级目录,剩下依次类推。 统计目录下文件数目利用 ls1ls | wc -l 在这个基础上, 可以衍生出: 统计文件或文件夹文件: ls -l | grep "^-" | wc -l文件夹: ls -l | grep "^d" | wc -l 递归统计文件或文件夹:文件: ls -lR | grep "^-" | wc -l文件夹: ls -lR | grep "^d" | wc -l 利用 find1find ./ -type f | wc -l ls -l 可以列出详细信息, 列出后第一大列是文件权限和文件/文件夹. 第一列文件是-, 文件夹是dgrep "^-"用正则匹配开头wc -l 统计行数 Screen平时经常会遇到一些需要长时间执行的程序,但是如果关闭终端,则会导致程序运行终止。如果让程序在后台运行,又不方便查看程序运行状态和管理,这种情况可以采用Screen工具来解决。 Screen 是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。Screen 中有会话的概念,用户可以在一个 Screen 会话中创建多个 Screen 窗口,在每一个 Screen 窗口中就像操作一个真实的telnet/SSH连接窗口那样。 简单来说,使用 Screen 可以创建多个伪终端(会话),即使我们关闭了自己本来的终端, 甚至不小心断开了远程连接,Screen 也可以保持这些伪终端处于打开状态,从而保证程序运行。 安装 screen可以使用apt或者yum在对应的Linux发行版中安装screen。 查看运行中的会话1screen -ls 创建新的会话1screen -S newscreen 执行命令后即处于新会话的伪终端界面,直接执行命令即可。 退出当前会话而保持其运行在对应会话中,同时按下control+a+d三个键。 重新连接到后台运行的会话1screen -r newscreen 关闭当前会话同时按下control+d两个键。 文件同步与备份文件同步和备份是经常用到的一个功能,尤其是本地和服务器数据的交互,以及本地文件的备份,简单的需求用scp命令也能实现,但是复杂的就需要rsync了。 同步两个文件夹的文件及子目录下的文件1rsync -zarvh source_dir/ object_dir/ 此处,source_dir可以是本地文件夹也可以是远程文件夹,如 user@123.456.78.9:~/,所以利用该命令可以方便地实现文件同步和备份,并且每次只同步有改动的文件。 另外需要注意的是,如果文件夹末尾不加/,则会将当前文件夹整体同步,即会出现object_dir/source_dir/这样的结果。 具体的参数可以参考:https://linux.die.net/man/1/rsync 参考 Linux下统计文件或文件夹数量: http://gohom.win/2016/01/11/countfilesBash/ linux 技巧:使用 screen 管理你的远程会话: https://www.ibm.com/developerworks/cn/linux/l-cn-screen/index.html","categories":[{"name":"linux","slug":"linux","permalink":"http://andersjing.com/categories/linux/"}],"tags":[{"name":"linux","slug":"linux","permalink":"http://andersjing.com/tags/linux/"}]},{"title":"Mac zsh 安装简介","slug":"mac-zsh","date":"2018-07-27T19:52:35.000Z","updated":"2019-04-20T02:37:02.908Z","comments":true,"path":"2018/07/27/mac-zsh/","link":"","permalink":"http://andersjing.com/2018/07/27/mac-zsh/","excerpt":"","text":"前言Mac 下默认的终端界面比较简单,并且不支持自动补全功能,用起来不太方便。可以安装 zsh 取代原有的终端界面,获得丰富的显示效果和功能。 本文提供一个基本的安装和主题配置简介,更进一步的配置请参考其他相关文章。 安装 Oh My Zsh在默认终端中使用如下命令来安装: 1curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh 配置 Oh My Zsh 主题Oh My Zsh 的配置文件为 ~/.zshrc,主题列表在:https://github.com/robbyrussell/oh-my-zsh/wiki/Themes 打开~/.zshrc文件:1vi ~/.zshrc 找到ZSH_THEME所在行,将主题设置为自己喜欢的主题。 重启终端,即可看到新的效果。 参考 Mac OSX终端安装主题(oh my zsh):https://blog.csdn.net/u013310075/article/details/62585826 oh my zsh Themes:https://github.com/robbyrussell/oh-my-zsh/wiki/Themes","categories":[{"name":"uncategorized","slug":"uncategorized","permalink":"http://andersjing.com/categories/uncategorized/"}],"tags":[{"name":"mac","slug":"mac","permalink":"http://andersjing.com/tags/mac/"},{"name":"oh my zsh","slug":"oh-my-zsh","permalink":"http://andersjing.com/tags/oh-my-zsh/"}]},{"title":"Linux 主机之间 ssh 免密码登录","slug":"ssh-nopass-login","date":"2018-07-26T18:24:52.000Z","updated":"2019-04-20T02:37:02.908Z","comments":true,"path":"2018/07/26/ssh-nopass-login/","link":"","permalink":"http://andersjing.com/2018/07/26/ssh-nopass-login/","excerpt":"","text":"前言对于经常需要互联或者传送文件的Linux主机,可以配置ssh免密码登录。 以 192.168.0.1 和 192.168.0.2 下的root用户为例。 生成ssh-key在两台机器上,使用root或者对应用户下执行ssh-keygen生成本机针对当前用户的ssh-key: 1ssh-keygen -t rsa 一路默认即可。 此时在当前用户下的~/.ssh/文件夹中生成 id_rsa 和 id_rsa.pub 两个文件,其中 id_rsa 为私钥, id_rsa.pub 为公钥。 配置认证权限将主机A的公钥追加到主机B的 authorized_keys 中,相当于主机B对主机A的公钥进行了认证,即可实现主机A免密码登录到主机B。 步骤一:192.168.0.1 认证 192.168.0.2在192.168.0.1上,复制192.168.0.2 的公钥文件,此时还需要输入密码:1scp root@192.168.0.2:~/.ssh/id_rsa.pub ./2_id_rsa.pub 将 192.168.0.2 的公钥加入到 192.168.0.1 的authorized_keys:1cat 2_id_rsa.pub >> ~/.ssh/authorized_keys 此时,192.168.0.2 的对应用户已经可以免密码登录192.168.0.1。 步骤二:192.168.0.2 认证 192.168.0.1在192.168.0.2上,复制 192.168.0.1 的公钥文件,此时已经不需要输入密码:1scp root@192.168.0.1:~/.ssh/id_rsa.pub ./1_id_rsa.pub 将 192.168.0.1 的公钥加入到 192.168.0.2 的authorized_keys:1cat 1_id_rsa.pub >> ~/.ssh/authorized_keys 此时,192.168.0.1 的对应用户已经可以免密码登录192.168.0.2,实现了双向免密码登录。 如果再增加其他主机,采用类似的添加公钥的方案即可。 参考 ubuntu下ssh免密码登录配置:https://blog.csdn.net/spring292713/article/details/14000737","categories":[{"name":"uncategorized","slug":"uncategorized","permalink":"http://andersjing.com/categories/uncategorized/"}],"tags":[{"name":"linux","slug":"linux","permalink":"http://andersjing.com/tags/linux/"},{"name":"ssh","slug":"ssh","permalink":"http://andersjing.com/tags/ssh/"}]},{"title":"Ubuntu 16.04 下 TensorFlow-gpu 环境配置与安装","slug":"tensorflow-gpu","date":"2018-07-25T20:03:19.000Z","updated":"2019-04-20T02:37:02.909Z","comments":true,"path":"2018/07/25/tensorflow-gpu/","link":"","permalink":"http://andersjing.com/2018/07/25/tensorflow-gpu/","excerpt":"","text":"前言跑深度学习的任务,在GPU下明显会比CPU下加速很多,本文对Ubuntu下 TensorFlow-gpu 运行环境的安装进行介绍。 环境介绍操作系统:Ubuntu 16.04CPU: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHzGPU:NVIDIA GeForce GTX 1070显卡驱动版本: 384.111CUDA 版本:9.0cuDNN 版本:7.0.5.15TensorFlow 版本:tensorflow-gpu 1.9.0Python 版本:Python 3.5.2 1. 显卡驱动安装apt 安装123sudo add-apt-repository -y ppa:graphics-drivers/ppasudo apt-get updatesudo apt-get install -y nvidia-390 安装结果验证,输入:1nvidia-smi 如果返回显卡相关信息,即表示已经安装成功。 手动安装手动安装比较麻烦,如果apt安装无问题,则不需要手动安装。手动安装流程如下: 下载安装文件首先需要安装显卡对应的驱动,前往Nvidia官网:https://www.nvidia.cn/Download/index.aspx?lang=cn ,根据自己的操作系统、显卡信息手动选择对应的选项,然后点击搜索,确认无误后点击下载。 此处下载到的安装文件是:NVIDIA-Linux-x86_64-384.111.run 卸载原有驱动如果原驱动是用apt-get安装的,卸载命令:1sudo apt-get remove --purge nvidia* 如果原驱动是用runfile安装的,就用–uninstall命令卸载:12sudo chmod +x *.runsudo ./NVIDIA-Linux-x86_64-384.59.run --uninstall 禁用nouveau驱动执行:1lsmod | grep nouveau 如果没有屏幕输出,说明nouveau驱动没有启用,可以忽略以下禁用nouveau步骤。 创建或更新blacklist-nouveau.conf,有的教程中会更新blacklist.conf123sudo vi /etc/modprobe.d/blacklist-nouveau.conforsudo vi /etc/modprobe.d/blacklist.conf 在文本最后添加:12blacklist nouveauoptions nouveau modeset=0 然后执行:1sudo update-initramfs -u 重新生成 kernel initramfs 重启后,执行:1lsmod | grep nouveau 如果没有屏幕输出,说明禁用nouveau成功。 禁用X-Window服务执行命令:1sudo service lightdm stop 这会关闭图形界面,按Ctrl-Alt+F1进入命令行界面,输入用户名和密码登录即可。 在命令行输入:sudo service lightdm start,然后按Ctrl-Alt+F7即可恢复到图形界面。 安装下载的驱动文件给驱动run文件赋予执行权限,然后安装:12sudo chmod +x NVIDIA-Linux-x86_64-384.111.runsudo ./NVIDIA-Linux-x86_64-384.111.run –no-opengl-files 驱动测试:1nvidia-smi 若列出GPU的信息列表,表示驱动安装成功。 2. CUDA 安装CUDA 官方安装指南见:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html 下载安装文件前往nvidia开发者网站(https://developer.nvidia.com/nvidia-drive-downloads )下载CUDA安装文件,需要用邮箱注册、激活账户后才可以下载。 这里下载的是 cuda_9.0.176_384.81_linux-run ,当然也可以选择其他版本,但是需要保证上一步所安装的驱动满足cuda对应版本的要求,不然会报错,具体要求见:https://github.com/NVIDIA/nvidia-docker/wiki/CUDA#requirements。 执行安装下载之后执行安装:1sudo sh cuda_9.0.176_384.81_linux-run 运行之后会跳出readme文件,然后按住Ctrl + C跳过。然后会出现提示,对于INSTALL NVIDIA Accelerates Graphics Driver for Linux-x86_6 要选择n,因为已经安装过Driver了,此处选择不安装。其他的都接受即可。 CUDA 加入环境变量打开环境变量配置文件1vi ~/.bash_profile 将下列内容追加到文件末尾:12export LD_LIBRARY_PATH=\"$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64\"export CUDA_HOME=/usr/local/cuda 执行以下命令使得环境变量生效:1source ~/.bash_profile 测试安装完成,进入Samples目录,进入$PATH/NVIDIA_CUDA-9.0_Samples/1_Utilities/deviceQuery/,输入make进行编译,然后./deviceQuery测试安装结果,如果最后输出Result = PASS,表示测试通过,如下所示:12345678910111213141516171819202122232425262728293031323334353637383940414243./deviceQuery Starting... CUDA Device Query (Runtime API) version (CUDART static linking)Detected 1 CUDA Capable device(s)Device 0: \"GeForce GTX 1070\" CUDA Driver Version / Runtime Version 9.0 / 9.0 CUDA Capability Major/Minor version number: 6.1 Total amount of global memory: 8114 MBytes (8507752448 bytes) (15) Multiprocessors, (128) CUDA Cores/MP: 1920 CUDA Cores GPU Max Clock rate: 1683 MHz (1.68 GHz) Memory Clock rate: 4004 Mhz Memory Bus Width: 256-bit L2 Cache Size: 2097152 bytes Maximum Texture Dimension Size (x,y,z) 1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384) Maximum Layered 1D Texture Size, (num) layers 1D=(32768), 2048 layers Maximum Layered 2D Texture Size, (num) layers 2D=(32768, 32768), 2048 layers Total amount of constant memory: 65536 bytes Total amount of shared memory per block: 49152 bytes Total number of registers available per block: 65536 Warp size: 32 Maximum number of threads per multiprocessor: 2048 Maximum number of threads per block: 1024 Max dimension size of a thread block (x,y,z): (1024, 1024, 64) Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535) Maximum memory pitch: 2147483647 bytes Texture alignment: 512 bytes Concurrent copy and kernel execution: Yes with 2 copy engine(s) Run time limit on kernels: Yes Integrated GPU sharing Host Memory: No Support host page-locked memory mapping: Yes Alignment requirement for Surfaces: Yes Device has ECC support: Disabled Device supports Unified Addressing (UVA): Yes Supports Cooperative Kernel Launch: Yes Supports MultiDevice Co-op Kernel Launch: Yes Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0 Compute Mode: < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.0, CUDA Runtime Version = 9.0, NumDevs = 1Result = PASS 3. cuDNN 安装TensorFlow的运行需要cuDNN库的支持, cuDNN 的安装可以参考官方指南:https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html 简单来说,cuDNN需要下载两个文件,一个是运行库,一个是开发者库,下载地址:https://developer.nvidia.com/rdp/form/cudnn-download-survey 。 下载好之后,执行下列命令进行安装:12sudo dpkg -i libcudnn7_7.0.3.11-1+cuda9.0_amd64.debsudo dpkg -i libcudnn7-dev_7.0.3.11-1+cuda9.0_amd64.deb 4. TensorFlow-GPU 安装以上环境都配置好之后,TensorFlow的安装就简单多了,官方指南:https://www.tensorflow.org/install/install_linux?hl=zh-cn 这里贴出pip3安装命令:1pip3 install tensorflow-gpu 5. 验证安装1234567891011root@desk:/home/# python3Python 3.5.2 (default, Nov 23 2017, 16:37:01)[GCC 5.4.0 20160609] on linuxType \"help\", \"copyright\", \"credits\" or \"license\" for more information.>>> import tensorflow as tf>>> tf.__version__'1.9.0'>>> hello = tf.constant('Hello, TensorFlow!')>>> sess = tf.Session()>>> print(sess.run(hello))b'Hello, TensorFlow!' 6. 问题及tipsCUDA driver version is insufficient for CUDA runtime version不同版本的CUDA对显卡驱动要求不一样,见下表: CUDA toolkit version Driver version GPU architecture6.5 >= 340.29 >= 2.0 (Fermi)7.0 >= 346.46 >= 2.0 (Fermi)7.5 >= 352.39 >= 2.0 (Fermi)8.0 == 361.93 or >= 375.51 == 6.0 (P100)8.0 >= 367.48 >= 2.0 (Fermi)9.0 >= 384.81 >= 3.0 (Kepler)9.1 >= 387.26 >= 3.0 (Kepler) 来源:https://github.com/NVIDIA/nvidia-docker/wiki/CUDA#requirements libcudnn.so.7: cannot open shared object file: No such file or directory没有安装cudnn,安装cudnn即可。 查看GPU使用情况nvidia-smi 解除指定进程的GPU占用kill -9 PID 参考 Tensorflow基础知识—-ubuntu下安装安装CUDA、cuDNN和tensotflow-gpu版本流程和问题总结:https://sthsf.github.io/wiki/Algorithm/DeepLearning/Tensorflow%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/Tensorflow%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86---Tensorflow-gpu%E7%89%88%E6%9C%AC%E5%AE%89%E8%A3%85.html CUDA 官方安装指南:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html cudnn官方安装指南:https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html tensorflow官方安装指南:https://www.tensorflow.org/install/install_linux?hl=zh-cn CUDA对驱动版本要求:https://github.com/NVIDIA/nvidia-docker/wiki/CUDA#requirements","categories":[{"name":"deep learning","slug":"deep-learning","permalink":"http://andersjing.com/categories/deep-learning/"}],"tags":[{"name":"tensorflow","slug":"tensorflow","permalink":"http://andersjing.com/tags/tensorflow/"},{"name":"cuda","slug":"cuda","permalink":"http://andersjing.com/tags/cuda/"},{"name":"GPU","slug":"GPU","permalink":"http://andersjing.com/tags/GPU/"}]},{"title":"Angular 之顶层理解","slug":"AngularJS","date":"2018-07-07T00:49:57.000Z","updated":"2019-04-20T02:37:02.907Z","comments":true,"path":"2018/07/06/AngularJS/","link":"","permalink":"http://andersjing.com/2018/07/06/AngularJS/","excerpt":"","text":"前言个人认为自顶而下学习各种开发知识有事半功倍的效果。第一步,理解目标知识的核心思想和概念,形成整体的认识,知道其出现的背景和采用的解决方案;第二步,学习相关基础语法;第三步,结合使用手册进行实际项目开发,同时不断体会其核心思想,基本就可以把该技术转化为自己的知识。 目前关于 Angular 的教程各种各样,本文是学习 Angular 过程中的个人对其核心思想和概念的理解,如有错误之处欢迎指出。 核心思想目前比较火的几个 JavaScript 开发框架有 Angular, Vue, 和 React,这些框架都是在提供一个方便操作HTML DOM元素(HTML DOM 简介)的工具。不用这些框架直接用 JavaScript 操作完全可行,只是比较繁琐,这些框架把基本的轮子都给实现了,用起来相对比较方便而已。因此,这些框架的核心功能就是如何便捷地操作HTML DOM元素,并因此衍生了很多概念,如Angular的指令(directive)、模型(ng-model)、Scope、controller等,都是围绕着操作 DOM 服务。 核心概念MVC (浅谈 MVC、MVP 和 MVVM 架构模式)永远是软件开发的核心思想,Angular 也依赖于该思想。对应于MVC的三个模块,我将Angular的概念划分如下:Scope是数据(Model),包含了数据及其作用域的概念,HTML是视图(View)当然也可以加上CSS一起扮演视图的角色,而扮演控制器(Controller)角色的组件比较多,如controller、service、factory、provider等各种JavaScript函数,这些组件对数据和视图进行操作。指令将普通的 HTML 与 Angular 各种对象连接起来。 HTML DOM & 指令HTML DOM 指 HTML 中的各种元素,是基本概念,只是目前普遍结合一些常用的框架以美化视图,同样是减少造轮子的花销,比如 Bootstrap 等。 指令是将 Angular 各种对象 和 HTML DOM 连接的桥梁,是网页动态性和响应能力的基础,指令是绑定在DOM元素上的函数,它可以调用方法、定义行为、绑定controller及$scope对象、操作DOM等等。常见的指令如:ng-app、ng-model、、ng-init、ng-click等等等等,可以参考:https://docs.angularjs.org/guide/directive 。 当一个 Angular 应用启动,Angular 编译器就会遍历DOM树(从有ng-app指令属性的那个DOM元素开始),解析HTML,寻找这些指令属性函数。当在一个DOM元素上找到一个或多个这样的指令属性函数,它们就会被收集起来、排序,然后按照优先级顺序被执行。 ScopeScope 直接解释为“范围;余地;视野;眼界;导弹射程”,这里一般称之为作用域。我的理解是 Scope 扮演数据(数据+函数,javascript 中函数也是对象)承载者的角色,是一个用来保存 Angular 中 Model (模型)和函数等的对象。 注:JavaScript 中的所有事物都是对象,布尔型、数字型、字符串、日期、数学和正则表达式、数组、甚至函数,都可以是对象。 $scope 提供双向绑定的功能,“双向”意味着如果view改变了属性值,model就会“看到”这个改变,而如果model改变了属性值,view也同样会“看到”这个改变。Angular 自动搭建好了这个机制。 为了更好地操作数据,Scope 有其作用域,类似于全局变量/局部变量的概念,有一个根作用域 $rootScope ,作用于整个应用中。 modulemodule,模块,其实就是一系列函数的集合,当应用被启动时,这些函数就会被执行。比如1var app = angular.module('myApp', []); 定义了一个模块,在HTML页面中实例化该应用(模块):1<html ng-app=\"myApp\"> 可以把ng-app设在任何DOM元素上,然后该元素就会成为AngularJS启动运行指定应用的地方。123<div ng-app=\"embeddedApp\"> <h3>Inside an AngularJS app</h3></div> constant常量,不能修改其值。 value变量,可以修改值。 controller控制器,简单说就是 Angular 的主函数,其中实现了对数据或者HTML DOM元素的操作,其他各类函数(factory、service等)都可以在这里用。 factoryfactory 是一个函数,必须有返回值。 serviceservice是服一个函数或对象,与factory区别在于可以没有返回值。Angular 在调用 service 时会用 new 关键字,而调用 factory 时只是调用普通的 function,所以 factory 需要返回,而 service 可以不返回。 Angular 本身内置了很多服务,比如 $http 服务向服务器发送请求并响应服务器传送过来的数据、 $timeout 服务在规定的毫秒数后执行指定函数等。 providerprovider是value、service、factory的底层,其他都是provider的封装。因此,可以通过 provider 创建 service、factory等。 filter过滤器,可用于转换数据,比如 currency 过滤器格式化数字为货币格式、lowercase 格式化字符串为小写等。 系统内置了一些过滤器,也可以自定义过滤器。 依赖注入依赖注入的思想到处都在用,wiki 上的解释是:依赖注入(Dependency Injection,简称DI)是一种软件设计模式,在这种模式下,一个或更多的依赖(或服务)被注入(或者通过引用传递)到一个独立的对象(或客户端)中,然后成为了该客户端状态的一部分。 简单来说,就是在下层需要上层服务的时候,上层做修改的时候不需要管下层,下层直接用就好了,从而使得程序设计变得松耦合。 这个思想不太容易一下子理解,可以参考说说依赖注入。 总结感觉本来操控DOM是一个简单的事情,Angular把这个问题搞得挺复杂,尤其是搞了很多概念,导致学习曲线比较陡峭。 参考 AngularJS 教程:http://www.runoob.com/angularjs/angularjs-tutorial.html [译] 2017 年比较 Angular、React、Vue 三剑客:https://juejin.im/post/5a0d5df1f265da43062a542f AngularJS中的Provider们:Service和Factory等的区别:https://segmentfault.com/a/1190000003096933 AngularJS – from beginner to expert in 7 steps series:http://www.ng-newsletter.com/posts/beginner2expert-how_to_start.html","categories":[{"name":"前端","slug":"前端","permalink":"http://andersjing.com/categories/前端/"}],"tags":[{"name":"Angular","slug":"Angular","permalink":"http://andersjing.com/tags/Angular/"},{"name":"web开发","slug":"web开发","permalink":"http://andersjing.com/tags/web开发/"}]},{"title":"Hexo基本用法","slug":"hexo-basic-usage","date":"2018-06-30T20:49:29.000Z","updated":"2019-04-20T02:37:02.907Z","comments":true,"path":"2018/06/30/hexo-basic-usage/","link":"","permalink":"http://andersjing.com/2018/06/30/hexo-basic-usage/","excerpt":"","text":"什么是 Hexo?Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。 安装前提安装 Hexo 相当简单。然而在安装前,您必须检查电脑中是否已安装下列应用程序: Node.js Git 如果您的电脑中已经安装上述必备程序,那么恭喜您!接下来只需要使用 npm 即可完成 Hexo 的安装。 1$ npm install -g hexo-cli 如果您的电脑中尚未安装所需要的程序,请根据以下安装指示完成安装。 Note warn Mac 用户:您在编译时可能会遇到问题,请先到 App Store 安装 Xcode,Xcode 完成后,启动并进入 **Preferences -> Download -> Command Line Tools -> Install** 安装命令行工具。 安装 Git Windows:下载并安装 git. Mac:使用 Homebrew, MacPorts :brew install git;或下载 安装程序 安装。 Linux (Ubuntu, Debian):sudo apt-get install git-core Linux (Fedora, Red Hat, CentOS):sudo yum install git-core 安装 Node.js安装 Node.js 的最佳方式是使用 nvm。 cURL: 1$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh Wget: 1$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh 安装完成后,重启终端并执行下列命令即可安装 Node.js。 1$ nvm install stable 或者您也可以下载 安装程序 来安装。 安装 Hexo所有必备的应用程序安装完成后,即可使用 npm 安装 Hexo。 1$ npm install -g hexo-cli 安装hexo-serverHexo 3.0 把服务器独立成了个别模块,您必须先安装 hexo-server 才能使用。 1$ npm install hexo-server --save 安装 hexo-deployer-git1$ npm install hexo-deployer-git --save 创建 Hexo 项目安装 Hexo 完成后,执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。0 123$ hexo init <folder>$ cd <folder>$ npm install 新建完成后,指定文件夹的目录如下: 12345678.├── _config.yml├── package.json├── scaffolds├── source| ├── _drafts| └── _posts└── themes _config.yml网站的 配置 信息,您可以在此配置大部分的参数。 package.json应用程序的信息。EJS, Stylus 和 Markdown renderer 已默认安装,您可以自由移除。 package.json12345678910111213{ \"name\": \"hexo-site\", \"version\": \"0.0.0\", \"private\": true, \"hexo\": { \"version\": \"\" }, \"dependencies\": { \"hexo\": \"^3.0.0\", \"hexo-generator-archive\": \"^0.1.0\", \"hexo-generator-category\": \"^0.1.0\", }} scaffolds模版 文件夹。当您新建文章时,Hexo 会根据 scaffold 来建立文件。 Hexo的模板是指在新建的markdown文件中默认填充的内容。例如,如果您修改scaffold/post.md中的Front-matter内容,那么每次新建一篇文章时都会包含这个修改。 source资源文件夹是存放用户资源的地方。除 _posts 文件夹之外,开头命名为 _ (下划线)的文件 / 文件夹和隐藏的文件将会被忽略。Markdown 和 HTML 文件会被解析并放到 public 文件夹,而其他文件会被拷贝过去。 themes主题 文件夹。Hexo 会根据主题来生成静态页面。 参考 Hexo主题同步","categories":[{"name":"hexo","slug":"hexo","permalink":"http://andersjing.com/categories/hexo/"}],"tags":[{"name":"Hexo","slug":"Hexo","permalink":"http://andersjing.com/tags/Hexo/"}]},{"title":"Hexo主题同步","slug":"hexo-theme","date":"2018-06-30T17:27:29.000Z","updated":"2019-04-20T02:37:02.908Z","comments":true,"path":"2018/06/30/hexo-theme/","link":"","permalink":"http://andersjing.com/2018/06/30/hexo-theme/","excerpt":"","text":"问题为了方便维护 gitpages 项目,我们可以把整个 gitpages 项目作为一个git项目管理,而 Hexo 主题一般也都是用 git 项目进行管理,我们从远程 git 仓库 clone 一份下来,放到 themes/ 文件夹下。每个主题是一个包含 .git/ 的子项目仓库。所以在 push 主项目的时候不会上传子项目。 解决采用用 fork + subtree 的方案进行解决,这里以 miho theme 为例。 首先要 fork 主题,然后拉取到本地做修改,修改好后push到远程仓库。 然后用 git subtree 把 themes/miho/ 当做子项目来统一管理。subtree 的用法可以参考其他相关教程。 1. 删除现有的主题1234rm -rf themes/mihogit add -Agit commit -m \"delete miho\"git push origin master 2. 绑定子项目12git remote add -f miho https://github.com/WongMinHo/hexo-theme-miho.gitgit subtree add --prefix=themes/miho miho master --squash 3. 更新子项目12git fetch miho mastergit subtree pull --prefix=themes/miho miho master --squash 4. 把项目push到远程仓库1git push origin master 现在远程仓库的themes/miho/就有内容了,并且跟子项目的远程仓库可以保持更新,在主项目中修改也可以push到子项目的远程。 参考 Hexo主题同步","categories":[{"name":"hexo","slug":"hexo","permalink":"http://andersjing.com/categories/hexo/"}],"tags":[{"name":"Hexo","slug":"Hexo","permalink":"http://andersjing.com/tags/Hexo/"},{"name":"git","slug":"git","permalink":"http://andersjing.com/tags/git/"}]},{"title":"Hello World","slug":"hello-world","date":"2018-06-30T17:00:00.000Z","updated":"2019-04-20T02:37:02.907Z","comments":true,"path":"2018/06/30/hello-world/","link":"","permalink":"http://andersjing.com/2018/06/30/hello-world/","excerpt":"","text":"Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new \"My New Post\" More info: Writing Generate and Publish1$ hexo g -d Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment","categories":[{"name":"hexo","slug":"hexo","permalink":"http://andersjing.com/categories/hexo/"}],"tags":[{"name":"Hexo","slug":"Hexo","permalink":"http://andersjing.com/tags/Hexo/"}]},{"title":"Centos 6.5 升级 glibc","slug":"2018-01-13-Centos_6.5_glibc","date":"2018-01-13T18:00:00.000Z","updated":"2019-04-20T02:37:02.905Z","comments":true,"path":"2018/01/13/2018-01-13-Centos_6.5_glibc/","link":"","permalink":"http://andersjing.com/2018/01/13/2018-01-13-Centos_6.5_glibc/","excerpt":"","text":"Centos 6.5 的glibc默认为2.12版本,而TensorFlow等程序的运行要求2.14或者更高版本,因此需要对系统的glibc进行升级。 一般的报错为:libc.so.6: version GLIBC_2.14 not found。 注意:glibc为很多功能的依赖库,更新存在风险, 需要小心操作。 查看当前glibc版本可使用如下命令查看系统glibc库版本: # strings /lib64/libc.so.6 |grep GLIBC_ 12345678910111213141516GLIBC_2.2.5GLIBC_2.2.6GLIBC_2.3GLIBC_2.3.2GLIBC_2.3.3GLIBC_2.3.4GLIBC_2.4GLIBC_2.5GLIBC_2.6GLIBC_2.7GLIBC_2.8GLIBC_2.9GLIBC_2.10GLIBC_2.11GLIBC_2.12GLIBC_PRIVATE 一:rpm 安装方法(比较简便) 依次执行以下命令即可: # wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-2.17-55.el6.x86_64.rpm # wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-common-2.17-55.el6.x86_64.rpm # wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-devel-2.17-55.el6.x86_64.rpm # wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-headers-2.17-55.el6.x86_64.rpm # sudo rpm -Uvh glibc-2.17-55.el6.x86_64.rpm \\ glibc-common-2.17-55.el6.x86_64.rpm \\ glibc-devel-2.17-55.el6.x86_64.rpm \\ glibc-headers-2.17-55.el6.x86_64.rpm 如果遇到dependences faild的报错,则可以在最后的安装命令加上—force —nodeps参数: sudo rpm -Uvh glibc-2.17-55.el6.x86_64.rpm \\ glibc-common-2.17-55.el6.x86_64.rpm \\ glibc-devel-2.17-55.el6.x86_64.rpm \\ glibc-headers-2.17-55.el6.x86_64.rpm\\ --force --nodeps 二:本地编译安装方法 1.下载glibc压缩包 下载地址:https://ftp.gnu.org/gnu/glibc/ 可以从这里找到自己想要升级的目标版本,下载到本地,如:https://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz 2、解压 # tar -xzvf glibc-2.17.tar.gz 3.更改工作目录 # cd glibc-2.17 4.安装 # mkdir build // 在glibc-2.17目录下建立build文件夹 # cd build // 进入build目录 # ../configure --prefix=/opt/glibc-2.17 // 配置glibc并设置当前glibc-2.17安装目录 # make && make install // 编译安装glibc-2.17库 5.设置软连接 # rm -rf /lib64/libc.so.6 // 先删除先前的libc.so.6软链 # LD_PRELOAD=/opt/glibc-2.17/lib/libc-2.17.so ln -s /opt/glibc-2.17/lib/libc-2.17.so /lib64/libc.so.6 // 建立信息的libc.so.6软链 6.升级失败还原方法 # LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6 // libc-2.12.so 是系统升级前的glibc版本 7.重新检验 glibc 版本 # strings /lib64/libc.so.6 |grep GLIBC_ 123456789101112131415161718192021GLIBC_2.2.5GLIBC_2.2.6GLIBC_2.3GLIBC_2.3.2GLIBC_2.3.3GLIBC_2.3.4GLIBC_2.4GLIBC_2.5GLIBC_2.6GLIBC_2.7GLIBC_2.8GLIBC_2.9GLIBC_2.10GLIBC_2.11GLIBC_2.12GLIBC_2.13GLIBC_2.14GLIBC_2.15GLIBC_2.16GLIBC_2.17GLIBC_PRIVATE 参考: http://movingon.cn/2017/05/05/CentOS-6-x-%E5%A6%82%E4%BD%95%E5%8D%87%E7%BA%A7-glibc-2-17/ http://hardog.net/2016/03/06/Centos6-5-glibc-%E5%8D%87%E7%BA%A7/","categories":[{"name":"Linux","slug":"Linux","permalink":"http://andersjing.com/categories/Linux/"}],"tags":[{"name":"centos","slug":"centos","permalink":"http://andersjing.com/tags/centos/"},{"name":"glibc","slug":"glibc","permalink":"http://andersjing.com/tags/glibc/"},{"name":"tensorflow","slug":"tensorflow","permalink":"http://andersjing.com/tags/tensorflow/"}]},{"title":"Centos 6.5 安装python 3","slug":"2018-01-11-Centos_6.5_python3","date":"2018-01-11T18:00:00.000Z","updated":"2019-04-20T02:37:02.905Z","comments":true,"path":"2018/01/11/2018-01-11-Centos_6.5_python3/","link":"","permalink":"http://andersjing.com/2018/01/11/2018-01-11-Centos_6.5_python3/","excerpt":"","text":"1.下载Python-3 #wget http://python.org/ftp/python/3.5.4/Python-3.5.4.tar.xz 2.解压 #xz -d Python-3.5.4.tar.xz #tar -xvf Python-3.5.4.tar 3.更改工作目录 #cd Python-3.5.4 4.安装 #./configure #make all #make install #make clean #make distclean 5.查看版本信息 #/usr/local/bin/python3 -V 6.建立软连接 #ln -s /usr/local/bin/python3 /usr/bin/python3 7.重新检验Python 版本 #python3 -V","categories":[{"name":"Python","slug":"Python","permalink":"http://andersjing.com/categories/Python/"}],"tags":[{"name":"centos","slug":"centos","permalink":"http://andersjing.com/tags/centos/"},{"name":"python","slug":"python","permalink":"http://andersjing.com/tags/python/"}]},{"title":"QML/QT 发布后运行无界面问题","slug":"2017-05-11-qt_release","date":"2017-05-11T17:00:00.000Z","updated":"2019-04-20T02:37:02.905Z","comments":true,"path":"2017/05/11/2017-05-11-qt_release/","link":"","permalink":"http://andersjing.com/2017/05/11/2017-05-11-qt_release/","excerpt":"","text":"QT/QML 程序release之后,用官方的打包工具“windeployqt.exe”导入依赖后,运行程序,程序没有界面,但是已经在后台运行。 这种情况一般是缺少某些依赖导致的,windeployqt.exe不是非常智能,尤其是处理qml依赖的时候,因此需要自己手工查找缺失的依赖,复制到程序所在目录。 下面介绍一下QT尤其是包含了qml的程序的打包步骤。 操作系统:Win 10 64bit 开发环境:QT Creator 4.2.1 (Community) QT版本:Qt 5.8.0 1、获取release程序 在release模式下,运行程序,然后从release目录下获取可执行程序,如test.exe,复制到独立的文件夹下 2、用windeployqt.exe获取依赖 执行 $PATH\\Qt5.8.0\\5.8\\mingw53_32\\bin目录下的windeployqt.exe,导入依赖(…代表对应程序所在真实路径) $PATH\\windeployqt.exe --qmldir $PATH\\Qt5.8.0\\5.8\\mingw53_32\\qml $PATH\\test.exe windeployqt会将大部分依赖导入进来,但是很可能有所缺失。 3、debug模式下查看程序依赖 在QT Creator中,用debug模式可以查看程序运行过程中所加载的模块,因此可以在release下,用debug查看依赖,与现有的文件对比,从qt安装目录下复制缺失的依赖到可执行文件路径即可。 4、关于依赖问题的几点说明 可执行程序所在目录与qml、plugins目录在同一级别,因此需要qml、plugins目录下模块的时候,直接复制到可执行程序所在目录即可,当然要保持原有的子文件夹结构。 复制qml模块的dll需要将该模块下的qmldir文件一起复制过去,不然依然找不到对应的模块。 参考:http://www.qtcn.org/bbs/read-htm-tid-55046.html","categories":[{"name":"QT","slug":"QT","permalink":"http://andersjing.com/categories/QT/"}],"tags":[{"name":"qt","slug":"qt","permalink":"http://andersjing.com/tags/qt/"},{"name":"qml","slug":"qml","permalink":"http://andersjing.com/tags/qml/"}]},{"title":"Linux 磁盘增加分区","slug":"2016-09-09-linux_disk","date":"2016-09-09T17:00:00.000Z","updated":"2019-04-20T02:37:02.904Z","comments":true,"path":"2016/09/09/2016-09-09-linux_disk/","link":"","permalink":"http://andersjing.com/2016/09/09/2016-09-09-linux_disk/","excerpt":"","text":"在Linux下,有些时候要给现有的磁盘增加一个分区,当然前提是磁盘还有未分区空间,这里介绍一下基本的分区过程。 操作系统:CentOS 6.5 (64bit) 1、查看磁盘分区情况 先查看一下当前的磁盘空间情况: [root@localhost ~]$df -lh Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_localhost-lv_root 50G 42G 5.2G 90% / tmpfs 5.9G 0 5.9G 0% /dev/shm /dev/sda1 485M 39M 421M 9% /boot /dev/mapper/vg_localhost-lv_home 42G 26G 14G 65% /home 磁盘加上后,用1fdisk -l 查看一下当前磁盘情况: [root@localhost ~]$fdisk -l Disk /dev/sda: 214.7 GB, 214748364800 bytes 255 heads, 63 sectors/track, 26108 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000a75cc Device Boot Start End Blocks Id System /dev/sda1 * 1 64 512000 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 64 13055 104344576 8e Linux LVM Disk /dev/mapper/vg_localhost-lv_root: 53.7 GB, 53687091200 bytes 255 heads, 63 sectors/track, 6527 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/mapper/vg_localhost-lv_swap: 8405 MB, 8405385216 bytes 255 heads, 63 sectors/track, 1021 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/mapper/vg_localhost-lv_home: 44.8 GB, 44753223680 bytes 255 heads, 63 sectors/track, 5440 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 从这里可以看出,当前磁盘空间1/dev/sda: 214.7 GB 从当前的使用情况看,明显还存在100G左右的空间没有使用,说明可以增加分区。 2、增加磁盘分区 输入1fdisk /dev/sda ,根据提示输入命令新建分区,这里把所有的剩余空间分成了一个分区1/dev/sda3 ,然后输入w保存分区表。 [root@localhost ~]$fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 3 First cylinder (13055-26108, default 13055): Using default value 13055 Last cylinder, +cylinders or +size{K,M,G} (13055-26108, default 26108): Using default value 26108 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks. 再次查看分区表: [root@localhost ~]$fdisk -l Disk /dev/sda: 214.7 GB, 214748364800 bytes 255 heads, 63 sectors/track, 26108 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000a75cc Device Boot Start End Blocks Id System /dev/sda1 * 1 64 512000 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 64 13055 104344576 8e Linux LVM /dev/sda3 13055 26108 104854910 83 Linux Disk /dev/mapper/vg_localhost-lv_root: 53.7 GB, 53687091200 bytes 255 heads, 63 sectors/track, 6527 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/mapper/vg_localhost-lv_swap: 8405 MB, 8405385216 bytes 255 heads, 63 sectors/track, 1021 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/mapper/vg_localhost-lv_home: 44.8 GB, 44753223680 bytes 255 heads, 63 sectors/track, 5440 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 新的分区1/dev/sda3 已经出现。 3、格式化新磁盘分区‘/dev/sda3’ 此时,由于系统没有识别到新的分区表,因此无法直接对新分区进行格式化,需要重启系统(也有其他让系统直接识别新分区表的方法,但试了一下没有生效,因此采用重启系统的方法) [root@localhost ~]$reboot Broadcast message from root@localhost.zhaowy01 (/dev/pts/0) at 16:31 ... The system is going down for reboot NOW! 重启之后,可以对新分区进行格式化: [root@localhost ~]$mkfs.ext4 /dev/sda3 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 6553600 inodes, 26213727 blocks 1310686 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 800 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 36 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. 4、挂载新磁盘分区‘/dev/sda3’ 新分区格式化之后,挂载到指定目录上,即可以正常使用: [root@localhost ~]$mount /dev/sda3 /home/data 查看当前磁盘空间: [root@localhost ~]$df -lh Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_localhost-lv_root 50G 42G 5.2G 90% / tmpfs 5.9G 0 5.9G 0% /dev/shm /dev/sda1 485M 39M 421M 9% /boot /dev/mapper/vg_localhost-lv_home 42G 26G 14G 65% /home /dev/sda3 99G 188M 94G 1% /home/data 新分区已经加入。","categories":[{"name":"Linux","slug":"Linux","permalink":"http://andersjing.com/categories/Linux/"}],"tags":[{"name":"linux","slug":"linux","permalink":"http://andersjing.com/tags/linux/"},{"name":"disk","slug":"disk","permalink":"http://andersjing.com/tags/disk/"}]},{"title":"Linux screen 程序后台运行","slug":"2016-06-24-linux_screen","date":"2016-06-24T17:00:00.000Z","updated":"2019-04-20T02:37:02.904Z","comments":true,"path":"2016/06/24/2016-06-24-linux_screen/","link":"","permalink":"http://andersjing.com/2016/06/24/2016-06-24-linux_screen/","excerpt":"","text":"在Linux下,有些程序需要执行较长时间,为了不影响其他工作的处理,同时为了避免连接中断导致任务中断,可以执行程序的时候采用后台执行的方式,这里介绍其中的screen方式,基本可以解决日常使用中的各种情况。 screen采用的是模拟程序终端的方式,可以启动程序后退出,也可以随时切入某个模拟终端查看执行情况,即使连接中断任务也不会被终止。在系统上安装screen之后,主要用法如下: 1、启动一个伪终端,并将其命名为task1: 1screen -S task1 2、退出当前伪终端: 1Ctrl+A+D 3、查看后台程序列表: 1screen -ls 4、进入某个伪终端(screen -ls会显示伪终端的编号id和名字name): 1screen -r id 或者 screen -r name 5、可以在启动screen的时候同时执行命令: 1screen -S task1 vim file 6、可以给一个screen伪终端发送命令直接执行(在脚本中应用较多),如给一个名字为test的伪终端发送top指令: 1screen -r test -p 0 -X stuff $’top\\n’","categories":[{"name":"Linux","slug":"Linux","permalink":"http://andersjing.com/categories/Linux/"}],"tags":[{"name":"linux","slug":"linux","permalink":"http://andersjing.com/tags/linux/"},{"name":"screen","slug":"screen","permalink":"http://andersjing.com/tags/screen/"}]},{"title":"Scrapy 报错Unhandled error in Deferred","slug":"2016-03-12-scrapy_Unhandled_error_in_Deferred","date":"2016-03-12T18:00:00.000Z","updated":"2019-04-20T02:37:02.903Z","comments":true,"path":"2016/03/12/2016-03-12-scrapy_Unhandled_error_in_Deferred/","link":"","permalink":"http://andersjing.com/2016/03/12/2016-03-12-scrapy_Unhandled_error_in_Deferred/","excerpt":"","text":"安装好scrapy ,按照官方例程运行,报错如下: 12345678910E:\\casp\\tutorial\\tutorial>scrapy crawl dmozE:\\casp\\tutorial\\tutorial\\spiders\\dmoz_spider.py:3: ScrapyDeprecationWarning: Module `scrapy.spider` is deprecated, use `scrapy.spiders` insteadfrom scrapy.spider import Spider2016-03-12 19:26:54 [scrapy] INFO: Scrapy 1.0.5 started (bot: tutorial)2016-03-12 19:26:54 [scrapy] INFO: Optional features available: ssl, http112016-03-12 19:26:54 [scrapy] INFO: Overridden settings: {‘NEWSPIDER_MODULE’: ‘tutorial.spiders’, ‘SPIDER_MODULES’: ['tutorial.spiders'], ‘ROBOTSTXT_OBEY’: True, ‘BOT_NAME’: ‘tutorial’}2016-03-12 19:26:54 [scrapy] INFO: Enabled extensions: CloseSpider, TelnetConsole, LogStats, CoreStats, SpiderStateUnhandled error in Deferred:2016-03-12 19:26:54 [twisted] CRITICAL: Unhandled error in Deferred:2016-03-12 19:26:54 [twisted] CRITICAL: 其中一个原因是pywin32的版本问题,Python版本分为32bit和64bit,pywin32需要用对应的版本才可以。","categories":[{"name":"Python","slug":"Python","permalink":"http://andersjing.com/categories/Python/"}],"tags":[{"name":"python","slug":"python","permalink":"http://andersjing.com/tags/python/"},{"name":"scrapy","slug":"scrapy","permalink":"http://andersjing.com/tags/scrapy/"}]},{"title":"Centos 6.5 python 2.6 升级到 2.7","slug":"2016-01-02-Centos_6.5_python","date":"2016-01-02T18:00:00.000Z","updated":"2019-04-20T02:37:02.902Z","comments":true,"path":"2016/01/02/2016-01-02-Centos_6.5_python/","link":"","permalink":"http://andersjing.com/2016/01/02/2016-01-02-Centos_6.5_python/","excerpt":"","text":"查看python的版本 #python -V Python 2.6.6 1.下载Python-2.7.3 #wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2 2.解压 #tar -jxvf Python-2.7.3.tar.bz2 3.更改工作目录 #cd Python-2.7.3 4.安装 #./configure #make all #make install #make clean #make distclean 5.查看版本信息 #/usr/local/bin/python2.7 -V 6.建立软连接,使系统默认的 python指向 python2.7 #mv /usr/bin/python /usr/bin/python2.6.6 #ln -s /usr/local/bin/python2.7 /usr/bin/python 7.重新检验Python 版本 #python -V 8.解决系统 Python 软链接指向 Python2.7 版本后,因为yum是不兼容 Python 2.7的,yum不能正常工作 我们需要指定 yum 的Python版本 #vim /usr/bin/yum 将文件头部的 #!/usr/bin/python 改成 #!/usr/bin/python2.6.6 参考: Centos 6.4 python 2.6 升级到 2.7","categories":[{"name":"Python","slug":"Python","permalink":"http://andersjing.com/categories/Python/"}],"tags":[{"name":"linux","slug":"linux","permalink":"http://andersjing.com/tags/linux/"},{"name":"centos","slug":"centos","permalink":"http://andersjing.com/tags/centos/"},{"name":"python","slug":"python","permalink":"http://andersjing.com/tags/python/"}]},{"title":"Python scipy 模块安装问题解决办法","slug":"2016-01-02-python_scipy","date":"2016-01-02T18:00:00.000Z","updated":"2019-04-20T02:37:02.903Z","comments":true,"path":"2016/01/02/2016-01-02-python_scipy/","link":"","permalink":"http://andersjing.com/2016/01/02/2016-01-02-python_scipy/","excerpt":"","text":"CentOS 6.5默认为Python 2.6.6,升级Python 2.7之后(参考:Centos_6.5_python),因为yum只支持Python2.6.6,如果用yum安装scipy,会安装到Python2.6.6上,因此需要下载scipy安装包手动安装,进入目录执行: 1python setup.py install 但是会报错: 1blas_mkl_info: libraries mkl,vml,guide not found in ['/usr/local/lib64', '/usr/local/lib', '/usr/lib64', '/usr/lib'] NOT AVAILABLE openblas_info: libraries not found in ['/usr/local/lib64', '/usr/local/lib', '/usr/lib64', '/usr/lib'] NOT AVAILABLE atlas_blas_threads_info: Setting PTATLAS=ATLAS libraries ptf77blas,ptcblas,atlas not found in ['/usr/local/lib64', '/usr/local/lib', '/usr/lib64/atlas', '/usr/lib64/sse2', '/usr/lib64', '/usr/lib'] NOT AVAILABLE atlas_blas_info: libraries f77blas,cblas,atlas not found in ['/usr/local/lib64', '/usr/local/lib', '/usr/lib64/atlas', '/usr/lib64/sse2', '/usr/lib64', '/usr/lib'] NOT AVAILABLE /usr/local/lib/python2.7/site-packages/numpy/distutils/system_info.py:1521: UserWarning: Atlas (http://math-atlas.sourceforge.net/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [atlas]) or by setting the ATLAS environment variable. warnings.warn(AtlasNotFoundError.__doc__) blas_info: libraries blas not found in ['/usr/local/lib64', '/usr/local/lib', '/usr/lib64', '/usr/lib'] NOT AVAILABLE /usr/local/lib/python2.7/site-packages/numpy/distutils/system_info.py:1530: UserWarning: Blas (http://www.netlib.org/blas/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [blas]) or by setting the BLAS environment variable. warnings.warn(BlasNotFoundError.__doc__) blas_src_info: NOT AVAILABLE /usr/local/lib/python2.7/site-packages/numpy/distutils/system_info.py:1533: UserWarning: Blas (http://www.netlib.org/blas/) sources not found. Directories to search for the sources can be specified in the numpy/distutils/site.cfg file (section [blas_src]) or by setting the BLAS_SRC environment variable. 但是系统中明明已经安装了blas等,并且用yum安装blas会提示已经安装,其实是blas-devel和lapack-devel没有安装,因此执行: 1yum install blas-devel lapack-devel 即可顺利安装scipy。 参考:install-scipy-module-on-centos","categories":[{"name":"Python","slug":"Python","permalink":"http://andersjing.com/categories/Python/"}],"tags":[{"name":"centos","slug":"centos","permalink":"http://andersjing.com/tags/centos/"},{"name":"python","slug":"python","permalink":"http://andersjing.com/tags/python/"},{"name":"scipy","slug":"scipy","permalink":"http://andersjing.com/tags/scipy/"}]},{"title":"centos 6.5 sklearn ImportError 处理","slug":"2015-06-06-centos6.5_sklearn_ImportError","date":"2015-06-06T17:00:00.000Z","updated":"2019-04-20T02:37:02.901Z","comments":true,"path":"2015/06/06/2015-06-06-centos6.5_sklearn_ImportError/","link":"","permalink":"http://andersjing.com/2015/06/06/2015-06-06-centos6.5_sklearn_ImportError/","excerpt":"","text":"最近在centos 6.5上使用 sklearn做一些数据处理,安装的sklearn 版本为0.16.1,python版本为2.7.6,numpy版本为:1.9.2,scipy版本为:0.7.0。 一、 在引入svm模块:from sklearn import svm,的时候,会报错: ImportError: cannot import name factorial 从错误追踪来看是scipy模块的问题: “File “/usr/lib/python2.7/site-packages/scipy/interpolate/polyint.py”, line 2, in <module>from scipy import factorial” 与sklearn的安装指导对比发现scipy版本太低,于是升级到0.14.0,但是问题依旧。后来在这里找到一个解决办法: 将scipy的polyint.py中的“from scipy import factorial”改为:“from scipy.misc import factorial” 这是因为安装scipy的时候,会用到numpy,而numpy在分配模块的时候出现了问题,factorial原本在scipy.misc下,结果错误地设置成了scipy。 二、 解决了factorial引入的问题,又出现了新问题: ImportError: cannot import name line_search_wolfe2 提示信息为: ”File “/usr/local/lib/python2.7/site-packages/sklearn/utils/optimize.py”, line 18, in <module>from scipy.optimize.linesearch import line_search_wolfe2, line_search_wolfe1“ 于是找到scipy下的linesearch文件,发现的确没有line_search_wolfe2和line_search_wolfe1,但是原本的scipy安装文件中linesearch的是包含这两个函数的,根据上个问题,推测应该还是安装scipy用到numpy时出现的问题,但是scipy已经升级过了,不应该是scipy的问题。 对比在windows上python版本为2.7.6,numpy版本为:1.8.2,scipy版本为:0.14.0,于是卸载numpy 1.9.2,安装numpy1.8.2,再卸载重装scipy 0.14.0,问题一、二均解决。 由此看来,应该是numpy版本比较高,导致scipy安装时出错。 参考:https://code.google.com/p/pymf/issues/detail?id=3","categories":[{"name":"Linux","slug":"Linux","permalink":"http://andersjing.com/categories/Linux/"}],"tags":[{"name":"centos","slug":"centos","permalink":"http://andersjing.com/tags/centos/"},{"name":"sklearn","slug":"sklearn","permalink":"http://andersjing.com/tags/sklearn/"}]},{"title":"centos 6.5 64bit 安装libstdc++.so.6出错解决","slug":"2015-05-19-centos6.5_libstdc++.so.6","date":"2015-05-19T17:00:00.000Z","updated":"2019-04-20T02:37:02.901Z","comments":true,"path":"2015/05/19/2015-05-19-centos6.5_libstdc++.so.6/","link":"","permalink":"http://andersjing.com/2015/05/19/2015-05-19-centos6.5_libstdc++.so.6/","excerpt":"","text":"一般在64bit的系统上运行32位程序需要安装glibc.i686和libstdc++.so.6。 如果报错为: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 则需要安装glibc.i686: 1yum install glibc.i686 然后会提示缺少libstdc++.so.6,安装: 1yum install libstdc++.so.6 如果报错: Protected multilib versions: libstdc++-4.4.7-11.el6.i686 != libstdc++-4.4.7-4.el6.x86_64 则: 1yum update libstdc++-4.4.7-4.el6.x86_64 更新之后,则可以正常安装: 1yum install libstdc++.so.6","categories":[{"name":"Linux","slug":"Linux","permalink":"http://andersjing.com/categories/Linux/"}],"tags":[{"name":"linux","slug":"linux","permalink":"http://andersjing.com/tags/linux/"},{"name":"libstdc","slug":"libstdc","permalink":"http://andersjing.com/tags/libstdc/"}]},{"title":"在CentOS 6.5上安装yum工具","slug":"2015-05-07-CentOS6.5_yum","date":"2015-05-07T17:00:00.000Z","updated":"2019-04-20T02:37:02.901Z","comments":true,"path":"2015/05/07/2015-05-07-CentOS6.5_yum/","link":"","permalink":"http://andersjing.com/2015/05/07/2015-05-07-CentOS6.5_yum/","excerpt":"","text":"在CentOS 6.5上安装yum工具: 1、下载yum文件 主要下载3个rpm安装包(以64bit系统为例): yum-3.2.29-60.el6.centos.noarch.rpm yum-metadata-parser-1.1.2-16.el6.x86_64.rpm yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm 64位系统前往:http://centos.ustc.edu.cn/centos/6/os/x86_64/Packages/ 32位前往:http://centos.ustc.edu.cn/centos/6/os/i386/Packages/,(文件名与64bit的关键词对应即可,依次为3.2.29、metadata-parser、fastestmirror) 2、安装 rpm -ivh yum-* 3、配置yum的配置源 wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo 下载到 /etc/yum.repos.d/ 目录下 4、安装之后输入yum测试,如果提示python中不包含这个模块,如我安装了python2.7,但是yum默认装在了python2.6的模块下,则会报错: There was a problem importing one of the Python modules required to run yum. The error leading to this problem was: No module named yum Please install a package which provides this module, or verify that the module is installed correctly. It’s possible that the above module doesn’t match the current version of Python, which is: 2.7.6 (default, Jan 19 2015, 22:40:16) [GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] If you cannot solve this problem yourself, please go to the yum faq at: http://yum.baseurl.org/wiki/Faq 可以修改yum配置文件: 1vim /usr/bin/yum ,将第一行“#!/usr/bin/python”改为“#!/usr/bin/python2.6”或者对应版本(centOS6.5默认安装python2.6)","categories":[{"name":"Linux","slug":"Linux","permalink":"http://andersjing.com/categories/Linux/"}],"tags":[{"name":"linux","slug":"linux","permalink":"http://andersjing.com/tags/linux/"},{"name":"yum","slug":"yum","permalink":"http://andersjing.com/tags/yum/"},{"name":"CentOS","slug":"CentOS","permalink":"http://andersjing.com/tags/CentOS/"}]},{"title":"CentOS 6.5 64bit 使用中的问题及解决办法","slug":"2015-05-01-CentOS_6.5_64bit","date":"2015-05-01T17:00:00.000Z","updated":"2019-04-20T02:37:02.900Z","comments":true,"path":"2015/05/01/2015-05-01-CentOS_6.5_64bit/","link":"","permalink":"http://andersjing.com/2015/05/01/2015-05-01-CentOS_6.5_64bit/","excerpt":"","text":"1、安装f77 如果用FC5,安装软件包:compat-gcc-32-g77(命令: 1yum install compat-gcc-32-g77 ) 如果用FC6及以上,安装软件包:compat-gcc-32-g77(命令:1yum install compat-gcc-34-g77 ) 2、error while loading shared libraries: libstdc++.so.5 yum install libstdc++.so.5 3、error while loading shared libraries: libmysqlclient_r.so.15: wrong ELF class: LFCLASS64 该问题是由32bit的程序读取64bit的so.15引起的,此处是以32bit的fgn_switch.new程序读取64bit的mysql模块libmysqlclient_r.so.15为例,其他程序读取其他模块引起的wrong ELF class: LFCLASS64可按照此思路做类似调整。 A.确认当前运行的程序是32位还是64位 [root@localhost fgn_switch]# file fgn_switch.new fgn_switch.new: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped B.确认当前程序是否正常调用的动态链接库 [root@localhost fgn_switch]# ldd /fgn/fgn_switch/fgn_switch.new linux-gate.so.1 => (0xffffe000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x006d7000) libdl.so.2 => /lib/libdl.so.2 (0xf7f65000) libpthread.so.0 => /lib/libpthread.so.0 (0xf7f4e000) libnsl.so.1 => /lib/libnsl.so.1 (0x0080b000) libresolv.so.2 => /lib/libresolv.so.2 (0x0070b000) libutil.so.1 => /lib/libutil.so.1 (0xf7f4a000) libcap.so.1 => /lib/libcap.so.1 (0xf7f45000) libmysqlclient_r.so.15 => not found libz.so.1 => /usr/lib/libz.so.1 (0x00bf4000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xf7e5a000) libm.so.6 => /lib/libm.so.6 (0xf7e33000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00a0f000) libc.so.6 => /lib/libc.so.6 (0×00592000) /lib/ld-linux.so.2 (0×00574000) C.查看当前现有可用的动态链接库 [root@localhost fgn_switch]# ldconfig -p| grep mysql libmysqlclient_r.so.15 (libc6,x86-64) => /usr/lib/libmysqlclient_r.so.15 libmysqlclient.so.16 (libc6,x86-64) => /usr/lib64/libmysqlclient.so.16 发现当前调用的动态链接库是64 bit,这是导致问题发生的根本原因 解决办法: 从mysql lib目录下找到 [root@localhost fgn_switch]# file /usr/lib/mysql/libmysqlclient_r.so.15 /usr/lib/mysql/libmysqlclient_r.so.15: symbolic link to `/usr/lib/mysql/libmysqlclient_r.so.15.0.0′ [root@localhost fgn_switch]# file /usr/lib/mysql/libmysqlclient_r.so.15.0.0 /usr/lib/mysql/libmysqlclient_r.so.15.0.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped 参考:http://my.oschina.net/captaintheron/blog/3974?from=rss","categories":[{"name":"Linux","slug":"Linux","permalink":"http://andersjing.com/categories/Linux/"}],"tags":[{"name":"linux","slug":"linux","permalink":"http://andersjing.com/tags/linux/"},{"name":"centos","slug":"centos","permalink":"http://andersjing.com/tags/centos/"}]},{"title":"WGET命令详解","slug":"2015-04-23-wget","date":"2015-04-23T17:00:00.000Z","updated":"2019-04-20T02:37:02.900Z","comments":true,"path":"2015/04/23/2015-04-23-wget/","link":"","permalink":"http://andersjing.com/2015/04/23/2015-04-23-wget/","excerpt":"","text":"使用如下的命令下载https链接: wget -r -np -nd --accept=gz --no-check-certificate https://www.xxx.com/dir/ --http-user=username --http-password=password 此命令含义为:下载’dir’目录下的所有gz文件 -np 没有父目录 -nd 不要构建本地目录结构 –accept=gz 只下载gz文件 1、下载单个文件 wget url+filename 下载过程中同时可以看到四项信息 已经下载的比例 已经下载的大小 当前下载的速度 剩余的时间 2、使用一个大写O做参数表示另存为 wget -O save_name url 这种方法适用于对应链接中没有显式文件名的情况。例如: 1wget -O xx.zip http://www.vim.org/scripts/download_script.php?src_id=7701 再用不带-O参数的下载一次。 ls -al 总计 132 drwxr-xr-x 2 root root 4096 07-12 10:43 . drwxr-xr-x 4 root root 4096 07-11 16:26 .. -rw-r–r– 1 root root 50243 07-12 10:43 download_script.php?src_id=7701 -rw-r–r– 1 root root 50243 07-12 10:43 xx.zip 我们发现,下载的大小都是一样。但是不带-O参数的,文件名还要转换一次。不如用-O参数方便。 mv "download_script.php?src_id=7701" yy.zip 3、指定下载速率 方法是使用 1wget –limit-rate wget程序默认是使用所有的带宽,如果是在生产服务器上下载很大的文件就不可接受了。为了避免这种情况使用–limit-rate参数: wget --limit-rate=200k http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2 4、断点下载 使用wget -c完成未完成的下载 下载到一半需要停下来干别的事情,用^c就可以停顿住。回来后,继续下载可以加一个-c参数。 注意:如果不加入-c,那么下载的文件会多出一个.1的后缀。 5、后台下载 方法:加一个-b的参数 1wget -b url/filename 为后台下载。下载经过写入到wget-log文件中。 用 1tail -f wget-log 查看下载日志 6、模拟在浏览器下下载 有的网站不允许客户在非浏览器环境下下载。使用–user-agent来设置 wget --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092416 Firefox/3.0.3" URL-TO-DOWNLOAD 7、测试下载链接 方法:使用–spider 试图做计划下载时候,需要先检查一下下载链接是否有效。 wget --spider DOWNLOAD-URL 如果返回OK,则表示下载链接是正确的! 例如 wget –spider “http://ip138.com/ips.asp?ip=58.251.193.137&action=2″ Spider mode enabled. Check if remote file exists. –2010-07-12 11:36:32– http://ip138.com/ips.asp?ip=58.251.193.137&action=2 正在解析主机 ip138.com… 221.5.47.136 Connecting to ip138.com|221.5.47.136|:80… 已连接。 已发出 HTTP 请求,正在等待回应… 200 OK 长度:7817 (7.6K) [text/html] Remote file exists and could contain further links, but recursion is disabled — not retrieving. 8、增加尝试次数 方法:–tries=1000 如果网速有问题,下载大文件的时候可能会发生错误, 默认wget尝试20次链接。 如果尝试75次,可以 wget --tires=75 DOWNLOAD-URL 9、下载多个文件使用wget -i 将多个下载链接写入到一个download-file-list.txt文件中,而后用 wget -i download-file-list.txt 10、下载整站 方法:用–mirror参数 要下载一个完整站点并实现本地浏览的时候, wget --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL 参数讲解: –mirror:设置这个参数用来建立本地镜像 -p:下载所有html文件适合显示的元素 –convert-links:下载完成后,将文档链接都转换成本地的 -P ./LOCAL-DIR:保存所有的文件和目录到指定文件夹下 11、下载时候禁止下载指定类型的文件 例如下载站点时候,不打算下载gif动画图片。 wget --reject=gif WEBSITE-TO-BE-DOWNLOADED 12、记录下载日志 方法:使用小写字母o wget -o xx.html.log -O xx.html "http://ip138.com/ips.asp?ip=58.251.193.137&action=2" 检查一下日志: [root@localhost opt]# cat xx.html.log –2010-07-12 11:57:22– http://ip138.com/ips.asp?ip=58.251.193.137&action=2 正在解析主机 ip138.com… 221.5.47.136 Connecting to ip138.com|221.5.47.136|:80… 已连接。 已发出 HTTP 请求,正在等待回应… 200 OK 长度:7817 (7.6K) [text/html] Saving to: `xx.html’ 0K ……. 100% 65.5K=0.1s 2010-07-12 11:57:22 (65.5 KB/s) – `xx.html’ saved [7817/7817] 13、是第9条的增强版。可以限制下载容量 wget -Q5m -i FILE-WHICH-HAS-URLS 当下载的文件达到5兆的时候,停止下载。 注意:如果不是对一个文件下载链接清单,对单个文件,这个限制不会生效的。 14、和第11条正好相反 这条技巧是讲述如何仅仅下载指定类型的文件,从一个网站中下载所有的pdf文件 wget -r -A.pdf http://url-to-webpage-with-pdfs/ 15、使用wget完成ftp下载 匿名ftp下载类似于http下载 1wget ftp-url 即可。 如果是需要输入用户名和密码,则是 wget --ftp-user=USERNAME --ftp-password=PASSWORD DOWNLOAD-URL 转自:http://www.cnblogs.com/inteliot/archive/2012/06/01/2530843.html","categories":[{"name":"Linux","slug":"Linux","permalink":"http://andersjing.com/categories/Linux/"}],"tags":[{"name":"linux","slug":"linux","permalink":"http://andersjing.com/tags/linux/"},{"name":"wget","slug":"wget","permalink":"http://andersjing.com/tags/wget/"}]},{"title":"CentOS 6.5安装Theano问题解决方案","slug":"2015-01-20-CentOS_Theano","date":"2015-01-20T18:00:00.000Z","updated":"2019-04-20T02:37:02.899Z","comments":true,"path":"2015/01/20/2015-01-20-CentOS_Theano/","link":"","permalink":"http://andersjing.com/2015/01/20/2015-01-20-CentOS_Theano/","excerpt":"","text":"最近要在系统上跑GSN(Yoshua Bengio, Li Yao, Guillaume Alain, Pascal Vincent. Generalized Denoising Auto-Encoders as Generative Models. NIPS, 2013. (PDF, BibTeX))的代码,配置运行环境的过程中要在Python中安装Theano模块,中间遇到了很多问题,最后终于解决,在此做个记录,给同行做参考。 1、安装Theano之前,需要安装python-devel、python-nose、python-setuptools等模块,按照官网说明安装即可 sudo yum install python-devel python-nose python-setuptools gcc gcc-gfortran gcc-c++ blas-devel lapack-devel atlas-devel sudo easy_install pip sudo pip install numpy==1.6.1 sudo pip install scipy==0.10.1 sudo pip install Theano 安装过程中还会遇到一些需要安装的模块,按照错误说明安装即可。 2、按照官网的说明测试安装好的模块是否正常 NumPy (~30s): python -c “import numpy; numpy.test()” SciPy (~1m): python -c “import scipy; scipy.test()” Theano (~30m): python -c “import theano; theano.test()” 前两个模块一般都没问题,主要是Theano 测试的时候,很容易出现如下两种情况: a)error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory b)ImportError: cannot import name gof 我安装的时候,第一次运行:import theano,出现错误a,再运行一下:import theano,就开始出现错误b,之后不管运行多少次,都是错误b。 其实本质还在于问题a,解决了问题a,就可以正常引入Theano了。 3、解决:error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory 这个问题的出现主要是由于在编译Python的时候,没有正确指定共享库位置导致的,网上一般有两种解决办法,当然前提是找到libpython2.7.so.1.0真正所在的位置,不同的系统位置不一样,有的在/usr/local/,有的在/usr/local/lib/,当然运行命令:whereis libpython2.7.so.1.0,即可找到所在文件夹。下面介绍两种解决办法: 一、设定动态链接库的路径:vi /etc/ld.so.conf(需要root权限) 然后把libpython2.7.so.1.0所在路径加入进去,保存后,执行:/sbin/ldconfig -v(需要root权限),使其生效,即可解决问题。我的ld.so.conf原内容为:include ld.so.conf.d/*.conf,我不太清楚如何将路径加入,不管加不加include,保存生效后都没用,我采用的是第二种解决方案。(后来发现可以:echo “/usr/local/lib” >> /etc/ld.so.conf,然后再执行:ldconfig) 二、重新编译python 1、进入python源码目录,删除python源码目录下Object目录下所有的 .o 文件。(此步骤不做应该也行,我最初直接删除了,所以不删除是否可以有待验证) 2、编译python源码(此处是关键):./configure –prefix=/usr/local/ –enable-shared CFLAGS=-fPICprefix为动态链接库的路径,按照系统的实际情况进行修改。另外如果直接粘贴代码不能运行,将上边的命令手动敲进去,就可以了。接着依次运行:make、make install(需要root 权限)如果没有意外,此处会顺利编译完成。 3、再次import theano,应该会成功引入。问题解决。 后记:最初就采用的第二种解决方法,但是刚开始没意识到不同系统的libpython2.7.so.1.0所在路径不同,导致重新编译了好几遍都没解决问题。后来正确设置路径之后,问题就解决了。 参考链接: python安装时 -fPIC问题的解决:http://taoo.iteye.com/blog/1826912 libpython2.7.so.1.0 cannot open的解决方法:http://www.360doc.com/content/12/0322/18/6938655_196712249.shtml 解决error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No su:http://blog.csdn.net/wanyanxgf/article/details/8021641 CentOS下编译安装Python2.7.6:http://blog.useasp.net/archive/2014/05/07/compile-and-install-python-2-dot-7-dot-6-on-centos.aspx https://groups.google.com/forum/#!topic/theano-users/idznDsFkvtA","categories":[{"name":"Linux","slug":"Linux","permalink":"http://andersjing.com/categories/Linux/"}],"tags":[{"name":"Theano","slug":"Theano","permalink":"http://andersjing.com/tags/Theano/"},{"name":"centos","slug":"centos","permalink":"http://andersjing.com/tags/centos/"}]},{"title":"Linux 一次解压多个文件","slug":"2015-01-19-linux_tar","date":"2015-01-19T18:00:00.000Z","updated":"2019-04-20T02:37:02.898Z","comments":true,"path":"2015/01/19/2015-01-19-linux_tar/","link":"","permalink":"http://andersjing.com/2015/01/19/2015-01-19-linux_tar/","excerpt":"","text":"解压当前目录下的所有 .tar.gz 结尾的文件: for ARK in ./*.tar.gz; do tar -xvf $ARK; done 把当前目录下所有的 .tar.gz 文件的文件名逐一赋给变量 ARK,让 tar 来引用 ARK 变量 .gz:gunzip *.gz for ARK in ./*.gz; do gunzip $ARK; done .bz2:bunzip2 *.bz2 .tar.gz:for file in *.tar.gz; do tar -zxf "${file}"; done .tar.bz2:for file in *.tar.bz2; do tar -jxf "${file}"; done .zip:for file in *.zip; do unzip "${file}"; done 转自:http://blog.163.com/chen_dawn/blog/static/112506320116229154467","categories":[{"name":"Linux","slug":"Linux","permalink":"http://andersjing.com/categories/Linux/"}],"tags":[{"name":"tar","slug":"tar","permalink":"http://andersjing.com/tags/tar/"},{"name":"linux","slug":"linux","permalink":"http://andersjing.com/tags/linux/"}]},{"title":"本科读书笔记(三十五、《空谷幽兰》、《禅的行囊》)","slug":"2012-04-03-note_35","date":"2012-04-03T17:00:00.000Z","updated":"2019-04-20T02:37:02.898Z","comments":true,"path":"2012/04/03/2012-04-03-note_35/","link":"","permalink":"http://andersjing.com/2012/04/03/2012-04-03-note_35/","excerpt":"","text":"——三十五、《空谷幽兰》、《禅的行囊》这两本书的名字起得太优美,我能想到的名字在它们面前都显得黯然失色,所以就用“无题”吧。 有一次无意间在手机上看到,一个美国人探访了中国当代的隐士,并把整个过程写成了一本书,中译本的名字叫《空谷幽兰》。这让我瞬间想起陶潜“采菊东篱下,悠然现南山”的惬意生活。去图书馆一搜,还真有这本书,于是就借来感受一下。 刚看没多少,我发现自己受骗了…… 这与想象中的隐士完全是天壤之别,没有闲云野鹤般的自在生活,也没有鹤发童颜的滋润面孔,他们只是一群普通人,同样要为了一日三餐而劳作。如果被我们见到,应该只会把他们当做山间的采药人或者农人,怎么也想象不到这是一群为了追求精神强大而远离人间烟火的隐士。他们有的是道教徒,有的是佛教徒,为了追求参悟的境界,有的甚至不远千里游行到终南山中,选择一个人迹罕至的地方,盖一座简易的茅棚,就过起了粗茶淡饭、日日劳作的隐居生活。 刚开始我对这些行为非常不解,尤其是这些隐士中还有几个大学生,毕业后特地到那个地方隐居。以前一提到宗教就想起“迷信”二字,也许这些人是被什么思想给迷惑了,才会选择这种极端的生活方式吧。读着读着才发现,原来真的不一样…… 一直以来我都把宗教当做迷信看待,尤其对于那些烧香拜佛之类的事更是不屑一顾。但随着作者探访的脚步,似乎慢慢感受到了宗教所蕴含的博大精深的思想。虽然对其中的精髓还是一无所知,但已经嗅到了一丝特别的味道,最起码开始正视这种令无数人为之神往的行为。 也许是基于物质欲望永远不能满足的事实,佛教、道教选择了精神财富的追求之路,并且建立了一个似乎可行的价值体系。在物质方面人与人之间是不平等的,从现在热炒贫富差距就可以看出来,但在精神世界面前人人生而平等,无论你的出身如何,呱呱坠地的那一刻你都是一无所知的(但不一定一无所有,呵呵……),只有通过慢慢增加的阅历和自己的思考才能一步一步丰富自己的精神世界。与物质财富一样的,精神财富也没有止境,总有你不明白的道理,总有你体会不到的感悟,于是就可以永远有一股支持你前行的力量,从而不会让你感到空虚与无聊,生命不息,追求不止。 也许是为了避免被物质世界的无尽追求耗用太多精力,以腾出更多的时间用来参悟,佛教和道教都选择了清苦的生活作为了修行之道。但令我不解的是他们为什么不考虑人类的繁衍生息,如果连这种行为也禁止的话,不说其他,参与这些宗教信仰的人群也会逐渐缩减,又何谈惠及众生呢?或许这也正是这两种宗教不能像基督教、伊斯兰教那么壮大的原因吧。 我这门外汉就不在这胡诌了,以后有更多的了解再说吧,罪过罪过!~—~","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(三十四、《平凡的世界》 路遥)","slug":"2012-03-17-note_34","date":"2012-03-17T17:00:00.000Z","updated":"2019-04-20T02:37:02.897Z","comments":true,"path":"2012/03/17/2012-03-17-note_34/","link":"","permalink":"http://andersjing.com/2012/03/17/2012-03-17-note_34/","excerpt":"","text":"——三十四、《平凡的世界》 路遥有日子没写读书笔记了,虽然一直都想写,但一直感觉没酝酿好思路。最近几天大致整理了一下,感觉可以写点东西了。于是就从笔袋的最底搜出好久没用的钢笔,在图书馆有幸找到一个视野开阔的落地窗,泡一杯登不了大雅之堂的名义上是“铁观音”的茶叶,先睡上一觉,然后一边喝茶,一边开始了我的笔记。 《平凡的世界》是寒假的时候看的,在回家的火车上,突然想找点东西看看。刚好手机里不知道什么时候放进去了这本书的电子版,印象里大家对这本书的评价还很高,于是就埋头看了起来……也因此我整个寒假的看书时间都花到了这本书上。前几天百度了一下才发现这是一部百万字的长篇小说,如果当初在火车上我知道它有这么长,很有可能我就不会选择用它来打发时间了。当然,如果当初我知道这本书写得确实配得上社会上对它的评价,肯定也不会把它当做打发时间的东西,而是放假前从图书馆借出来,认真地拜读一番。也不至于现在想回顾一下的时候却发现这本书早就被借得精光,连九几年出版的也没留下一本,我下手太晚了…… 看完后,整体的感觉就是路遥没有余华那么重口味,因为他没有过多的使用角色的生死来表达感情。书中的人物基本都是好人,虽然有些人会做一些伤害他人的事,但主要还是由于所处环境的局限性。这可能是因为路遥写的故事发生在自己所热爱的那片故土,并且主角孙少平也或多或少地展现作者自己的影子,所以他就是这部小说充满了人情味。 感觉路遥没有那么重口味还有一个原因,就是这部小说基本是充满着阳光的,虽然有很多波折,但希望总是悬在前方,即使一时间迷失了,很快就能找到。尤其是主角孙少平,从小说的一开始就处于极其艰苦的环境中,但是还远不至于绝望,而后来靠着自己的努力与亲人的帮助,生活状态在一步步地好转。虽然中间经历了自己师傅和未婚妻的意外去世的打击,不过靠着他勤劳朴实的双手还是一步步的朝着明天走去。 相对来说,余华的《活着》与《兄弟》则沉重许多,其中的主角直接面临的就是生命的考验,几经波折之后,主角仅仅剩下了生命,其他的都在一次次的挫折中逝去了。就像一辆车在路上跑,走着走着轮子掉了一个,然后挡风玻璃也碎了,接着车门也坏了,又接着……最后剩下了一个发动机还在运转,虽然它看起来摇摇欲散、破烂不堪,但这个发动机已经历练成无坚能摧的东西,就像《活着》中最后依然活着的富贵。 余华塑造的是硬汉,一个咬紧牙关,一步一步朝前爬的硬汉。 路遥塑造的是壮汉,一个可以偶尔发出一声怒吼,朝着阳光爬的壮汉。 有句话说:人活一口气。余华塑造的角色把那口气紧紧含在肚子里,怀抱着仅有的一丝阳光,默默地活着,但这已是莫大的勇气。路遥塑造的角色可以把那口气稍微吐出来一点,给他洒入更多的阳光,让他可以朝上爬,虽然很艰难,但角度是朝上的。 本来是写《平凡的世界》的,不知不觉把《活着》也扯出来这么多,或许是因为它们都包含着抗争与希望吧。 富贵把希望寄托在“活着”二字上,而孙少平则可以把希望寄托给一个靠自己双手开创的更加美好的明天上。记得前天上“中国文化导论”课,老师提到雷锋的希望是:解放全人类的伟大事业,今天看来似乎有点可笑,但那的确是当初千万人实实在在的希望。 路遥在完稿之后写道:只能永远把艰辛的劳动看作是生命的必要;即使没有收获的指望,也心平气静地继续耕种。不过我想,既然耕种了,还是希望能够收获的…… 没有渺小的希望,也没有最伟大的希望。 希望,没有边……","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(三十三、《如何轻松举起大象》)","slug":"2011-12-31-note_33","date":"2011-12-31T18:00:00.000Z","updated":"2019-04-20T02:37:02.896Z","comments":true,"path":"2011/12/31/2011-12-31-note_33/","link":"","permalink":"http://andersjing.com/2011/12/31/2011-12-31-note_33/","excerpt":"","text":"——三十三、《如何轻松举起大象》——三十三、《思考的力量》在2011年的最后一天,能够暂时抛却考试的压力,睡到自然醒之后,坐在床上自在地写点东西,让我有种无比幸福的感觉。 也许是性格使然,不觉间一直过着忙忙碌碌的生活,很多时候都在想给自己的生活做一些减法,最近才似乎在慢慢地实现。 还是先说说看的那几本书吧。前段时间看的书有关于口才演讲的、自我管理的,还有关于如何思考的,一本纳兰性德的词是用来在兴致来的时候陶冶文学情操的。虽然上大学后远离了语文课,但是对文学的那份单纯的毫无杂念的热爱好像依然保存在心底。对于现在大学里重视英语甚于语文的现象,我一直保持着不解的态度。室友说等以后就知道英语的作用了,我的回答是,英语对我们来说只是一种工具,而语文却承载着我们整个民族的文化底蕴,孰轻孰重我们应该都能体会得到。不过,即使没有环境,自我陶冶却完全是可以的,我当然不会抱怨,呵呵…… 而对于那些犹如工具书一样教你如何让如何做,如何如何提升自我的书,尤其是国产的,总给我一种看完之后毫无收获的感觉。整篇的套话空话,甚至不如看本小说有点意思。 给我留下最深印象的一个是《如何轻松举起大象》,另一个是《思考的力量》。 《如何轻松举起大象》相信每个看到这个书名的人都不会想到这本书要写的竟然是有关时间管理的技巧,这也倒符合外国一些书的命名方式。它用一个很简单的小故事揭示了一个很好的时间管理技巧,给读者一个有关整个人生的时间管理的清晰的思路。把人生比作一场马戏表演,而我们就是其中的导演,演出的效果体现着我们人生的价值……如果你也有种整日忙忙碌碌、时间不够用的感觉,强烈推荐这本书给你。这本书给了我不少触动,虽然每个人的视角是不同的,但多一种选择最起码是无害的。(做个公益广告……) 这里摘取书中的一些个人感觉比较有意义的话: 1、试图玩转大象的结果就是,所有人,包括你自己都不会喜欢你的表演; 2、表演指导无法同时出现在三个圈里; 3、马戏表演取得成功的关键是在三个圈中都有高质量的演出; 4、马戏表演从来不缺节目; 5、表演指导和演员之间的关系是对演出的质量有重要的影响; 6、为了更好的演出效果,幕间休息是必不可少的一部分; 7、最好的演出永远是下一场; 8、每个节目的存在必须服务于一个目标; 9、不是所有的节目都属于我们的表演; 10、现在,我该出现在哪一个圈中? 11、此时,我该专注于哪些节目? 12、为了改进演出的效果,你做过什么? 如果没有看这本书的话,对上边的语言可能会感到有些费解,不过把自己当成人生的表演指导,再去体会那些话,或许你会感受到一些东西。 《思考的力量》这本书是有关思考的,名字看起来有些呆板,里边的思想也需要用心地去体会。不过,真的很有道理。看了这本书会发现我们经常都在被身边的事情所欺骗。就像我们不能理解西方人的傲慢与偏见,西方人不能理解我们的封闭与落后一样,这些都是我们站在自己的立场上思考问题的结果。而如果不跳出这个圈子,我们也就不可能客观地看待问题,无知与偏见也就在所难免。更重要的是当周围的人都和我们持同样观点的时候,我们会坚信大家都是对的。一群人拥有一个同样的错误的想法是可怕的…… 这让我想起最近两个不知道该当做笑话看还是该当做整个中国媒体悲哀看待的事。 一个是前段时间爆出的那个质疑曹操墓真假的“三国历史专家闫沛东 ”竟然是一个逃犯。当初被无数媒体追捧,铺天盖地的报道甚至可以对全体国民对曹操墓真假性的观点产生影响的“专家”,如今却被曝出这样的身份,而这前前后后的操盘手都是新闻媒体,不,应该是那些不负责任的新闻媒体(相信是有负责任的媒体的,虽然我见到的很少),不知道当他们报道闫沛东是个逃犯的时候是否感到了脸红。虽然对于曹操墓的真假我依然未知,我也不会轻易地按照一个说法去下结论,但对于这个假专家愚弄整个国家观点的事件,我们该去“感叹”他手段的高超,还是“感叹”媒体力量的“强大”,还是“感叹”我们的观点被不负责任的媒体所左右,自己却浑然不知,甚至跟着热血地响应…… 另一个是北大校长周其凤被“标题党”的攻击。首先对于北大这个校长,我不了解,也不会对他进行或褒或贬的评价。但是,不能断章取义的道理应该学过小学语文的人都知道,如今这些所谓的新闻媒体为了吸引眼球,就硬生生地截取其中一句,为这个原本就激愤四伏的社会再投入一些波澜。不单单对一个名人的形象造成影响,更是对读者的愚弄,对整个国民认知能力的挑衅! 这让我想到了当今社会对富二代、官二代的仇视,如果没有媒体的推波助澜,怎么可能会演变到这么激烈。诚然,我们需要了解事实的真相,我们身边也有很多不公平的现象,但是当看到“市长儿子打人后怎么怎么”、“局长儿子杀人后怎么怎么”这些标题的时候,我不知道这些媒体是为了报道事实,还是为了引导我们去仇视“官二代”、“富二代”,然后去发表一些激烈的言论,说得直白一些,还是他们仅仅为了多获取一点流量、多卖一份报纸,从而给自己的工资表上多加几个数字。 不知道这些媒体是否想过,当全社会的人都被那些没有良知的媒体引导着去关注、抱怨不公平现象的时候,谁去思考解决这些不公平现象的方法?我们的社会还怎么往前走? 一个社会要靠公众的信任支撑起来,有了值得我们相信的东西,我们才不会绝望,才会为了希望而安心地奋斗。当政府失信于人民的时候,很多人选择了相信新闻媒体。而现在看来,有些媒体更让人失望。更可怕的是他们可以杀人于无形,却不用承担任何责任。我在想,当全社会都找不到一个值得大众去相信的载体的时候,这个社会该怎么办? 责任,写起来很简单,做起来却不容易!尤其当它与利益相冲突的时候!哪怕是眼前的蝇头小利! 或许良知可以解决这个问题,可是良知是需要自律保证的。而那些经常捕风捉影的新闻媒体,还有自律么??? 后记:本来想着总结一下2011年的,但写到后边的时候突然感觉对现在很多媒体捕风捉影的现象有话要说,就一下子刹不住车了,写论文的时候也没有自己写这么多字,呵呵…… 我一直认为要怀着谦恭的心态去待人做事,所以说这些并不是想展示什么。只是感觉发现了一些问题,而单靠个人的想法很容易走入偏执的误区,所以就说出来,和大家交流交流,分享分享……","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(三十二、《毛泽东传》)","slug":"2011-11-12-note_32","date":"2011-11-12T18:00:00.000Z","updated":"2019-04-20T02:37:02.895Z","comments":true,"path":"2011/11/12/2011-11-12-note_32/","link":"","permalink":"http://andersjing.com/2011/11/12/2011-11-12-note_32/","excerpt":"","text":"——三十二 《毛泽东传》——三十二 《大学潜规则》——三十二 《我的IT五年》其实很早就想写读书笔记,但是一直理不清思绪,今天感觉实在不能再拖了,再拖就没有面对自己的勇气了。 本来还看了一点点的《资本论》,但因为只是看了一点点,就不写上来了。前面的两本是小说,看了之后增加了一些对现实的的了解,现在越来越感觉看小说就像吃快餐一样,偶尔换换口味还是不错的,但天天吃肯定不行。《毛泽东传》是一个美国人写的,整体感觉还不错,没有加入个人的感情因素,给人一种走到毛泽东身边的的感觉。里边一些调侃性的话语,好像写的不是一代伟人,而就是一个普普通通的人,一些关乎千百万人命运的决策,就和我们平时做决定的感觉一样,只不过是思考问题的角度不一样,就像那句经典的 话:屁股决定脑袋。 最近突然意识到和很多人、很多事、很多感觉都阔别已久,我到底干什么去了? 仔细想想,倒也没干什么,无非就是上课、看书、社团工作,当然还有吃饭和睡觉。前段时间做了点兼职,不过由于太占时间和精力,并且付出与回报严重不成比例,就辞了。公司的区域负责人对我提出辞职感到很诧异,当然我对她的诧异也感到很诧异,让我感觉自己找的不是兼职,而是义工或者志愿者。不过无论谁错了都关系不大,因为我们都还年轻,我们还可以犯错,呵呵…… 虽然每天都没闲着,但是总是感觉缺少了一些东西,后来发现是因为没有了思考的时间。很多事情,来了就去做,做完了马上就会有新的事情,没有想过这是我需要做的么?我为什么要做这个?换一种方法做是不是更好?很多事情都需要加入自己的思考,但是当一件又一件的事情等着你去做的时候,你做一件事情的时候又怎能静下心保证不思考接下来要做的事,结果很容易顾此失彼,重复着我们小学时候学的“捡了芝麻丢了西瓜”的故事。 事情太多了人就容易浮躁,就没有了耐心去把那些必须要做好的事情做好,所以才有了失落、空虚、迷茫……忘了是哪个名人说的话:方向比速度更重要!一件事情,你不做,虽然不会得到,但也不会失去,这样的结果比把事情做错了好。当然,这不能成为退缩的借口。 大学已经过去一年多一些了,见到了不少不可思议的人,也经历了不少不可思议的事,由当初的百思不得其解到慢慢地接受,从中收获了不少成长的感觉。成熟是无止境的,我们每一个人终要走到成熟,至于怎样才能成熟,就像《毛泽东传》中的一句话:我们最终会实现共产主义,但是怎样实现,或许上帝知道。呵呵,或许只有等到我们实现了才能知道吧。 最近看到李开复的《给未来的你》,感觉很好,在这分享一下: 给未来的你 ——李开复在2011级大学新生学习规划讲座上的演讲 很高兴与这么多刚刚入学的大学新生交流,今天的演讲,希望和大家讨论一下,经过大学四年的学习生活,未来的你可能成为什么样子。 有人也许会问,我未来成为什么样的人,开复怎么会知道呢?其实,我并不确切地知道未来你们每个人会怎样。但请相信我,通过过去十几年和大学生的交流,在创新工场、谷歌和微软,我了解我们雇用的每一个毕业生,我也了解来创新工场申请项目、希望得到投资的每一位年轻的创业者,还有在微博上留言、与我讨论互动的每一位年轻网友,在他们身上,我看到了未来的你。 我很喜欢英国小说家狄更斯的作品。他写过一部短篇小说叫《圣诞欢歌》,故事讲的是一位本性善良,但因为受环境影响,变得非常小器、吝啬、刻薄的商人。他在平安夜被三个精灵分别带到了自己过去、现在和未来的生活场景,看到了未来的自己,并因此彻底醒悟,领会到生活的意义,决心改过自新,做个好人。 这个故事告诉我们,假如能看到未来的你可能变成什么样,许多人也许就不会按照现在的方式去生活。四年后,你们中的一些人可能会出现这样那样的困惑,可能陷入迷茫,也可能发现,你们距离自己的目标还存在许多不足。未雨绸缪,如果想避免四年后的困惑和迷茫,就必须从现在开始,认真规划自己的大学生活,努力提高自己。 一、寻找兴趣和天赋,避免成为迷茫、困惑的人 去年,创新工场做校园招聘时,我们去了15所高校,给面试筛选出的顶尖计算机系毕业生发出了大约200份录取通知。然后,我一一打电话,看每个人是否愿意加入创新工场学习创业。在说服他们加入创新工场前,我不想误导任何学生。所以,我的第一个问题总是:“你有没有想过,在你人生的未来,创业是否是你真正想做的一件事。” 既然是顶尖大学的顶尖学生,对这个问题就应该胸有成竹。如果你并非真正想创业,可能你就不适合加入创新工场,也许,你会在大企业或政府机构里得到更好的发展。 出乎我的意料,超过80%的顶尖毕业生给我的答案是:“不知道,没想过。” 这,就是一种迷茫。80%来创新工场申请工作并成功得到录取通知的人都没有认真想过这个问题,不知道创业是不是自己未来的道路。这个比例还是在顶尖学生中统计得到的。我在网上看到更多即将毕业的同学在发问,他们不知道专业不对口该怎么办,不知道自己想做什么,也不知道自己爱做什么……每个疑问都透露出毕业生在毕业时对未来的迷茫和困惑。 大学四年,必须要认清你自己,弄清楚自己想要成为一个什么样的人,特别要知道,自己的兴趣在哪里,天赋在哪里。 你必须摈弃过去一些错误的理解:自己想要成为什么样的人,这件事跟别人认为你是谁,或别人想要你成为谁,丝毫没有关系。无论是同学、老师、家长,他们都不能决定你想成为什么样的人;或者,他们想要你成为的人,很可能根本不是你自己真正想要成为的人。 为什么认清自己的天赋如此重要?试想,如果我们非要把比尔·盖茨变成一个音乐家,他能取得多大的音乐成就?如果非要把贝多芬变成一名程序员,他有可能成为比尔·盖茨吗?肯定不行。天生我材必有用,每个人都有自己的天赋。只有找到天赋所在,才能把自己的潜力发挥到极致。 此外,找到自己的兴趣也同样重要,甚至更为重要。如果做的事情是自己最喜欢的事,那么你会在吃饭、睡觉甚至洗澡时都在想着这件事,想不成功都很难。 大学生该怎样寻找兴趣和天赋呢?我的建议非常简单:多尝试!多尝试自己可能有兴趣的东西:无论是选修课程还是实习工作,无论是参加社团还是去网上求知,花足够的时间去尝试、体验,努力寻找天赋和兴趣所在。 当然,求知不能太功利。千万不要因为你的某个职业规划,就只去学那些“用得上、有帮助”的技能,而放弃那些你可能有兴趣或有天赋的领域。否则,你可能会错失心中真正喜爱的事情。乔布斯曾经说:“我们的人生面临各种选择,应该追随我们的心。”乔布斯还说:“你在憧憬未来时不可能将以前积累的点点滴滴串连起来,你只能在回顾过去时将它们串连起来。所以你必须相信,当前积累的点点滴滴,会在你未来的某一天串连起来。你必须相信某些东西——你的勇气、目的、生命、因缘等等——相信它们会串联起你的生命,这会让你更加自信地追随你的心,甚至,这会指引你不走寻常路,使你的生命与众不同。” 拿我自己来说,我上大学时选修的课程可以分为三类: 第一类是选课前觉得可能有兴趣,上课后却发现非常枯燥,听得昏昏欲睡的课程,包括经济学、美国政治、美国政策、欧洲文学、欧美文学、艺术经典、音乐经典等等。但我一点都不后悔花时间选这些课,因为这样的尝试会让人生的选择更少些。通过尝试,多划掉些可能的选项,这有利于我们认清自己的真正方向。 第二类课程是上了几堂课、做了几次作业就爱不释手的课程。爱上一门课程的感觉特别好,这不可能第一次就撞上,我也是选了那么多自己不喜欢的课之后,才发现自己最喜欢的是计算机相关的课程。 第三类课程学的时候很感兴趣,但不知道以后有什么用。这没关系,就像乔布斯所说的,这都是人生中积累的点点滴滴,也许未来有一天,你会把这些点点滴滴串联起来。比如,当时我发现自己对哲学很有兴趣,但自己并不想做哲学家。虽然没有直接的用途,哲学类的课程还是教会了我如何思考,如何认识人生的价值,也成了我一生的指南针。我还学了中国文学和英语写作,这对我的专业也没有直接用途。但我这几年出了五本书,其中至少有两本非常畅销。如果没有学过中国文学、写作和哲学,很可能也不会有成为业余作家的李开复。另外,我学的中国近代史和国际关系等课程,也对我决定首次到中国工作产生了重要的影响。 我当时那些选课的决定,并不是刻意做出的。当时就是想试一试。对于第一种课程,发现自己不喜欢,就直接丢掉;对于第二种课程,发现自己爱上了它,就马上去追随;对于第三种喜欢但没用的课程,那就先留着,以后总归会把它串联起来。 也许有同学会说,在美国换专业、选课当然轻松,可在中国却有很多限制。这里,我想跟大家分享一名优秀的创新工场工友的故事。这位工友名叫向若辉,毕业于一所非常普通,几乎没人听过的大学。当时,父母建议他学会计,因为毕业后好找工作。但他进了大学才发现,自己对会计根本没兴趣,没法学好,甚至出现了挂科。与此同时,他在网上发现,自己对用户体验设计的专业方向特别感兴趣。通过互联网,他自学了各种相关课程,交了很多设计师朋友,在论坛里与国内外的用户体验设计师交流。他不但有兴趣,也有这方面的天赋。他在读书期间兼职打工,做用户体验方面的工作,很快就赚了四万元。他的设计作品让人赞不绝口。但就在这时,他发现自己的专业课程越学越差,一个学期挂了四科。他不得不和父母商量。他的意见是,自己将全力学习专业课程,达到可毕业的标准,但毕业后不会去做会计,而是要追寻自己的兴趣。父母被他的真诚打动了,同意了他的意见。于是,他一边努力读书提高专业成绩,一边在新浪找到了用户体验设计方面的兼职工作,之后又在创新工场实习。一毕业,他就被创新工场投资的知乎团队聘为整个团队的用户体验负责人。这个例子告诉我们,当你发现自己所爱的时候,会像变魔术一样充分发掘出自己的最大潜能。 乔布斯在2005年斯坦福毕业典礼的演讲中说:“你们的时间有限,不要将时间浪费在重复他人的生活上。不要被教条束缚,那意味着你活在其他人思考的结果中。不要被他人的喧嚣遮蔽了你自己内心的声音、思想和直觉,它们在某种程度上知道你真正想成为什么样子,所有其他的事情都是次要的。” 如果你对未来迷茫,希望你能把握时间,找到自己的天赋和兴趣,这样,你在大学毕业的时候,才会真正拥有一片充满自信的天空。 二、学会学习和思考,避免成为应试机器 在创新工场,每年都会收到几万份简历。很多时候,每打开一份简历我都不得不摇头叹息。大多数大学毕业生的简历千篇一律,比如,某人,男,出生年月,政治面貌,英语四六级,平均成绩80分,刻苦努力,三好学生,等等。几乎每份简历都是在用应试体系里枯燥的成绩数字来描述、评价一个人。 这样的描述没有任何吸引力。难道一个人在大学四年之后,只能展示这些数字吗?你是否变成了应试教育培训出来的一台机器?你自己的特点在什么地方?除了分数之外,你学懂了什么?你在所学的领域有没有好的创意?在实际工作中,你学到的知识能否派上用场? 不要被应试教育训练成机器。在座的每一位都是应试教育的受害者,你们经过了十几年的应试教育,今天进入了大学,应该划上一个句号。希望你们能挣脱一切束缚,开始真正的学习和思考。 如何真正学会学习和思考呢?在大学期间,必须学会三种学习和思考的能力,这三种能力可以帮助你们从应试教育的束缚中摆脱出来。 第一种也是最重要的一种能力,是自学的能力。读中学时,老师会一次次重复课本内容,但进了大学后,老师只能充当引路人,学生必须积极主动地探索、学习和实践。在大学四年,要学会从一个被填充知识的人,变为自学知识的人。不能只会背诵,还必须要有理解的能力——这包括举一反三的能力,知其然也知其所以然的能力,无师自通的能力,等等。 该怎样培养自学能力?很简单,你必须学会问“为什么”。在应试教育体系中,只要学会“什么”就可以及格了,但在大学里,一定要学“为什么”。当你真正理解一件事为什么如此时,你才能举一反三,无师自通。问“为什么”,要有打破砂锅问到底的决心,随时发问,上课问、上网问、问同学、问朋友……只有这样,你才真正学懂了,学到了。 第二种能力是从理论到实践的能力。不要只知道公式是什么,理论是什么,而且要知道在实际工作中如何运用。很多人进入社会才知道,以前学的会计、统计、哲学、文学之类,可能都不是你的老板要求你掌握的知识。有人说,其实在大学里学到的真正有用的知识,只是一生中要用到的5%而已。 所以,更重要的是要知道如何学以致用。例如,老师教了你怎么写英文,你要知道,怎么把英文技能应用到写一个真正的公关稿上;再比如,老师教了你怎么编程,你要知道,编程如何转换成商业价值,成为一个真正的产品。 这需要在学习时多问一个问题——“有什么用”。我记得,我女儿小时候非常不喜欢学数学,她觉得像指数之类的东西没有实际用处。直到有一天,我问她:“如果有100元钱,存在银行,每年10%的利息,10年以后你会有多少钱?”当她知道这个问题的答案居然不是200元,而是259元的时候,她突然对数学有兴趣了,她想知道为什么。我当时就告诉她,指数,还有其他很多数学知识,都是非常有用的,关键在于融会贯通,知道如何将理论付诸实践。 第三种能力是critical thinking,也就是批判式思维的能力。每一件事情,都有多方看法,不是只有一个非黑即白的答案。不同的人有不同的意见,每个意见都值得了解和珍惜。不要被教条束缚,要学会用不同的观点来看问题。 创新工场的工友王俊煜是北大元培班的高材生,毕业后进入了谷歌。谷歌是一家很了不起的公司,但是这家公司有非常强烈的工程师文化,每做一个产品,都想着技术如何酷,如何难,如何难以被竞争对手效仿。但谷歌工程师较少去想,用户要这个东西有什么用。王俊煜是个特别重视用户体验的人,十分在乎用户的感觉。他深深地了解,一个产品不论技术有多难,如果用户不喜欢用,还是无法取得成功的。他在谷歌的时候就多次和人发生争执,因为公司里的工程师文化,他的声音经常被淹没。那时,大部分用户体验设计师都会“识相”地做些强势、资深的工程师希望做的东西,但王俊煜执着地提出自己的想法,在三四款产品上做出了重要的贡献,并从这个过程中学到了很多东西,也得到了工程师的尊敬。批判式思维给了他信心,于是他决定加入创新工场,成为豌豆荚的共同创始人。今天,豌豆荚可能是创新工场投资的所有产品里,用户评价最高的一个。王俊煜的故事说明,我们不能只从一个角度来看问题,一定要尊重不同的观点。 怎么样培养批判式思维能力呢?建议你们每碰到一个知识点的时候,不但要学会问“为什么”,还要学会问“为什么不”。为什么一定是这样,为什么不可能是那样?这会让你更深入地了解问题的本质。 我女儿以前参加辩论社时,她问爸爸:“我辩论一个问题的时候,应该怎么选择我所支持的观点?”我给她的建议是:“你永远要选择那个你不认可的观点。”她觉得很奇怪,明明不认可这个观点,为什么要去辩论它呢?按照我的话做了几次之后,她慢慢了解了,当你去辩论你所不认可的观点时,会有很多好处。首先,对方的辩论方向你已经了如指掌,知己知彼,更容易取胜;通过变换视角,你一定会很惊讶:你原先不认可的观点其实也有一定的道理;最重要的是,你会真心理解并相信多视角看问题的好处。这种练习可以让你更容易平衡不同的观点,成为一个有批判式思维的思想家。 如果你不希望在四年大学后成为应试机器,就应该多问“为什么”,“有什么用”,以及“为什么不”。这几个问题能帮助你学到自学的能力、实践的能力和批判式思维的能力。 三、培养情商,避免成为孤独、被动的人 不少大学毕业生都对我说:“李老师,我感觉很孤独,很被动。”有一位同学说:“我的人际能力不强,人际圈子小,又没有什么特长引起别人的注意,即便在社团,也不知道怎么跟别人建立关系。” 这种现象很自然。在应试教育的氛围中长大,你们可能很少有时间,在学习之外培养人际关系。我建议你们利用大学四年,努力提高自己的情商。 所谓情商,就是和别人交流的能力、将心比心的能力以及得到别人信任的能力。以后进入业界你就会发现,这些能力都是非常重要的事,特别是得到别人信任的能力,因为信任需要很多时间来培养,但犯一次错就可能将其毁于一旦。 培养情商的第一步是培养友情。读大学时一定要交几个要好的朋友。大学的友情不容易变质,往往可以受益终生。希望你们能将心比心,像好朋友对待你一样对待好朋友,成为你的好朋友的好朋友,与朋友分享你的喜怒哀乐。分享能让痛苦减半,分享能让快乐加倍。希望你们在大学四年交到一批真正的好朋友。 第二,要培养自己的表达能力,也就是口才。不要认为自己很聪明、能够思考就足够了。希腊哲人说过,一个善于思考的人如果不善于表达,其实就等于一个不善于思考的人。 美国一位著名的创业家,Pandora公司的创始人蒂姆·韦斯特格伦(Tim Westergren)说:“如果我作为一个创业家,可以从上帝那里要求一样礼物,那我会挑选‘口才’。” 创业者想要成功,他必须影响他周围的人,如投资者、顾客、用户等等。一个有口才的创业者,可以更好地领导员工,可以让员工理解自己的愿景,可以激发员工的斗志和潜力。虽然只有口才是不够的,但我见到的每一个成功的创业者都有出色的表达能力。口才不是学校里哪一门课程可以学到的,必须自己努力锻炼。 第三,在校期间要多争取实习、实践的机会。大学四年,如果想成为一个受人喜欢、有魅力的人,就要多学习团队合作。进入社会后,团队合作代表了一切,但在课堂里面,通常是不那么鼓励团队合作的——考试时的团队合作不就等于作弊了么?所以,在读书时一定要充分利用实习、实践的机会学习、培养团队合作能力。 “我听到的会忘掉,我看到的能记住,我做过的才真正明白。”这句话告诉我们,必须去实践,才能明白一个团队是怎么工作、怎么设定目标、怎么达到目标的。只有学习如何跟人协作,才能增加你的情商,提高与人沟通的能力。 我在谷歌工作四年,在创新工场工作两年,在这6年的时间里,我没有雇用过一个没有实习经历的毕业生。所以,当明年暑假到来的时候,你们不要回家去玩一个暑假,而要去找实习的机会,因为暑假是少数难得的可以自己支配所有时间的机会。 没有一个从未实习过的学生能够进入谷歌或创新工场。学校的老师、学校的课程并不真的了解企业需要什么。唯一掌握实际工作经验的方法就是去企业实习。如果找不到创新工场、谷歌、百度等好的公司去实习,你们可以去任何一家公司。能去一个对口的公司最好,不能也没问题。找不到技术公司,就找服务业,哪怕是到餐馆里端盘子都有价值。虽然你不会想端一辈子盘子,但端盘子的时候,你有机会跟周围的人接触,这会让你成为一个情商更高的人。 除了实习,学生社团也是学习处理人际关系的好地方。社团其实是一个微观的社会,参加社团是进入社会的一种非常好的学习方式。 总之,提高情商的三个好办法是:培养友情,锻炼口才,争取实习机会。 如果在社团活动中犯错了怎么办?在争取工作机会时碰壁了怎么办?万一去百度应聘被拒绝了怎么办?万一他们嘲笑我怎么办?万一发现自己能力不强,周围的人都比我优秀怎么办?出现这些困惑都很正常。这时一定要积极主动,不要畏惧失败。 从大学第一天开始,你就必须从被动转向主动。要成为自己的主人,积极管理自己的学业甚至未来的计划。只有你能管理自己的未来,没有人比你更在乎你未来想成为什么样的人。在今天的社会里,只有一个积极主动、不怕失败的人,才能在瞬息万变的竞争环境中赢得成功。只有善于展示自己的人,才能在工作里得到最多的机会。遇到挫折时,绝不能消极甚至放弃,你的被动其实就是弃权。你不去解决问题,也是一种解决;你不去做决定,也是在做决定——这只会让你成为一个被动的、消极的、不成功的人。 谈到犯错,我们这个社会往往是不鼓励犯错的。但仔细想想,我们每个人都失败了很多次。你可能不记得,你第一次尝试走路的时候肯定跌倒过,你第一次张嘴说话的时候肯定说错过,你第一次游泳的时候也许差点儿被淹死,你第一次投篮肯定没有投进……但现在这些事情你都会做了,因为你没有被失败打倒,从失败中学到更多。在我个人的职业生涯里,我学到的最大的教训、最好的经验都是来自于失败,而不是来自于成功。 乔布斯有一句话让我特别感动:“‘记住你即将死去’是我一生中遇到的最重要箴言。它帮我指明了生命中重要的选择。因为几乎所有的事情,包括所有的荣誉、所有的骄傲、所有对难堪和失败的恐惧,这些在死亡面前都会消失。我看到的是留下的真正重要的东西。有时候人们会担心自己将会失去某些东西。记住你将要死去,这是我所知道的避免这个念头的最好办法。你已经了无牵挂,没有理由不去追随你的心。” 四、脚踏实地,避免成为浮躁、贪婪的人 浮躁和贪婪,这两种负面的人生态度,我在年轻人身上一次又一次看到。这更多是由环境因素造成的。在你们所处的环境中,有太多的不公平,有一些不诚信的人迅速致富,他们很不幸成为了部分年轻人效仿的偶像。 年轻人应当奋斗,但不要将侥幸致富作为你的动力。在今天的社会里,创业也好,就业也好,一定要脚踏实地,通过努力学习达到目标。 有一本名叫《异类》的书里告诉我们:每个了不起的大师都是经过差不多一万个小时的练习才最终成功的。莫扎特大约练习了一万个小时才成为杰出的音乐家,比尔·盖茨大约练习了一万个小时编程才取得成功。 千万不要浮躁,不要认为可以侥幸得到成功。那种侥幸的成功即便得到了,可能也是短暂的;就算不是短暂的,也是不值得的。 在创新工场,我们投资了一个团队,团队的负责人叫小冯(化名),美国名校毕业,才华横溢,对技术、产品都很有感觉,口才也非常好,被团队一致推为领导者。但他非常浮躁,认为自己什么都懂,可以驾驭整个团队,可以独立做商业计划。另外,他在业界小有名气,得到不少外界天使的认可和同龄人的追捧。但很不幸的是,他浮躁地希望能快速成功,快速出名。结果,他把更多的时间花在怎么出风头上,而不是脚踏实地把产品做好。最后,团队的产品做得非常不成功。团队成员一个接一个离开,最后他自己也不得不离职。很不幸,一个完全有机会成功的人才,因为浮躁而功亏一篑。 这件事给我的触动很深,创新工场之后面对创业者时,就常常会询问和考核这些创业者,确保他们做了必须的功课,把足够的时间花在了产品方向上。而且,在相关领域里,创业者一定要懂得比我们这些投资者多。如果你没有花苦功夫,懂得还没有我们多,那我们就不会投资你。 另一件浮躁的事情发生在某大学。一群学生发了一篇假新闻稿,说创新工场投资了他们的电影。他们希望利用这个新闻吸引眼球,并洋洋得意地等着创新工场出来辟谣。一旦辟谣,他们就可以把事情越搞越大。最后,即便大家知道了真相,他们也已经出名了。这是他们的如意算盘。但这种浮躁的人总会聪明反被聪明误。看到这种不诚信的做法,我认为,做这种事情的人需要得到一个教训,于是,他们接到了我们律师的电话。律师通过电话警告他们,如果不停止侵权,就起诉他们。随即,他们也收到了校领导的通知,禁止他们再继续胡闹。这个事情也是对那些浮躁的人的一个警醒。 创新工场曾经考虑投资一位名叫小高(化名)的创业者,他几乎拥有创业者需要的所有才华,不但懂技术、懂产品,而且有创业经验,有在大公司任职的经历,口才很好,非常自信,30出头。在我们眼里,或者在任何风险投资者眼里,他都是一个需要追捧的创业者。小高跟我们讲了他的创业计划,很让人激动,我们当时恨不得就掏出支票来投资了。但我又问了几个问题。我问他:“这个计划多久能做出来?”他说:“四个月。”我是搞技术的,我知道这个产品没有一两年的时间绝对做不出来。我又问他:“这个想法为什么和你在现公司做的业务非常相似?”他惊慌地回答:“不会不会的,我们有很多新的想法,做出来一定是不一样的。”听了这两句话,我心里大概知道了,他可能打算从现公司偷窃一些源代码,另起炉灶打造自己的产品。 当时,创新工场有一位投资经理说:“开复啊,别这么较真,这些事情,不要问这么清楚。你问清楚了,大家都不好。他没说他是偷窃,我们也没问,大家都不说,不就行了么?”听了这些话,我非常失望,我没有教育好创新工场的员工。于是,我在周末给创新工场的员工发了一封邮件: 我们今天有缘聚在创新工场,有一个共同点就是:我们不仅仅是为了一份工作和金钱,也希望做有意义的事情。 我们不仅仅希望能成为顶尖早期风投,也希望能正面影响中国创业生态环境。 我们不仅仅希望能够孵化顶尖企业,也希望能帮助它们成为值得尊敬的品牌。 我们不仅仅希望能扶持最能干的创业者,也希望培养德才兼备的创业者典范。 所以,当我们看一个创业者时,我们不能只关注他是否能成功和赚钱,是否聪明努力,也要深度认识这个人,看看他是否有潜力成为值得尊重的好领导。如果一个创业者有诚信的问题,例如盗窃别人的代码,或践踏性骚扰他人。这样的一个人是绝对不能投的,无论他的公司能多成功,能赚多少钱。 作为创新工场,我们的一举一动都代表了工场,无论是对平台员工,投资的公司,还是大众。如果我们支持犯罪,我们就是在犯罪。如果我们投资邪恶,我们就是邪恶。如果我们容忍卑鄙,我们就是卑鄙。 最后,分享杰克·韦尔奇的一句话: Integrity is just a ticket to the game. If you don't have it in your bones, you shouldn't be allowed on the field.(诚信是基本要求,如果你没有发自内心的诚信,我们不允许你参与。) 想创业的同学,一定不要太浮躁。一毕业就创业,失败的概率太大了。就算你有实习经验,你也不会深入了解财务、法务、运作、市场、技术、产品、用户……你不可能这么快成为全才。给自己至少几年时间,再去创业。最好的培训学习方法是加入一家创业公司,逐步累计自己的实力、人脉。当你觉得自己积累够了的时候,再开始创业。 在豌豆荚团队有一位北大的才女,名叫崔瑾。她的经历最让人最感叹的一点是,她作为北大国际关系专业的毕业生,非常想学习创业。她先是去申请百度的职位,当时百度才刚起步,没有合适的职位,就跟她说,要来的话只能做前台。作为一个北大毕业生,她答应了。今天,崔瑾经过在百度、奥美、谷歌的积累,学到了很多做事、做人的方法。她今天能够成为豌豆荚的首席运营官,很大程度来自于毕业那一天的决定。她没有因为北大人可能会有的自豪感而拒绝接受一个前台的工作。她愿意从基层做起,虚心地学习。 我们投资的另一位创业者叫许朝军,他从清华大学毕业,先从ChinaRen干起,然后被收购进搜狐,又到了陈一舟的千橡,启动校园社交领域,最后负责整个人人网的运行。后来人人网成功上市,首日达到74亿美元的市值。许朝军在人人上市前离职,到了盛大,成为边锋的总裁。他是个非常能干的人,今年才30岁。今天他很成功,拿到了千万美元的投资,在创新工场支持下,做了点点网,崛起非常快。但我想讲的不是他有多成功,而是他有一个多么谦卑的第一天。在12年前,他从乡下来到北京,发现周围的人懂得都比他多。他傻傻地进了计算机系,却从来没摸过计算机。他周围的人在城里长大,基本都会编程。他告诉自己,一定要学习、赶上这些人。他先学习打字,但买不起键盘,就在纸做的键盘上练习打字。他没有电脑可用时,就在纸上编程。通过这些艰苦的训练,他成为了计算机高手,在很多著名企业里做得非常好。他从搜狐出来的时候,曾经有风险投资家对他说:“你很厉害,在中国最早的社区ChinaRen做得这么好,搜狐收购后,23岁就成了技术总监,这简直前途无量。我们想投一百万美金,让你做任何你想做的事情。”没想到,他说:“对不起,我还没有学习到足够的知识。我现在懂技术了,但我在运营、市场、用户方面还要继续学习。”然后,他就一次次参加不同的企业,学会了他所需要的一切,最后才在创新工场支持下,创业做了点点网。 在脚踏实地的话题上,我想再分享一句乔布斯的座右铭:求知若饥,虚心若愚(stay hungry,stay foolish)。这句话不是乔布斯说的,是一个叫凯文·凯利(Kevin Kelly)的人写的,凯文·凯利是美国著名的科技预言家和科技作家,也是我非常尊敬的朋友。我去年问他:“乔布斯从你那里学到了人生的座右铭,stay hungry,stay foolish,这句话你是如何理解的?你可不可以用最简单、最容易懂的语言,阐述、诠释这四个英文字?”他是这么说的:“我们必须了解自己的渺小,如果我们不学习,科技的发展速度会让我们所有的一切在五年后被清空。所以,我们必须用初学者谦虚的自觉,饥饿者渴望的求知态度来拥抱未来的知识。”希望大家都能记得这句话。 谦虚、渴望、脚踏实地、一步步地学习,这样就可以避免成为浮躁、贪婪的你。 寄予大学新生 各位同学,人生在世,我们拥有两个最大的财富,我们的才华和我们的时间。才华越来越多,时间越来越少。我们的这一生可以说是在用我们的时间来换取才华。 大学这四年,可能是一生中拥有最多可以自己掌控的时间的阶段。希望你们务必把握这四年的时间,培养自己的才华。昨天,刚踏入校门的时候,你可能还是一个青涩的、被动的、为了应试而读书的、被家庭呵护的学生。 今天,希望你们了解如何避免迷茫困惑、应试机器、孤独被动、浮躁贪婪这些可能对你们的未来造成负面影响的因素。在四年后,希望你们能够追随你们的心,学习思考、脚踏实地,成为高智商、高情商、有潜力、有思想、有价值、有前途并且讲诚信的中国未来的主人翁。 同学们,祝福你们度过精彩的四年,成为一个精彩的人。","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(三十一、《贫民窟的百万富翁》)","slug":"2011-10-02-note_31","date":"2011-10-02T17:00:00.000Z","updated":"2019-04-20T02:37:02.893Z","comments":true,"path":"2011/10/02/2011-10-02-note_31/","link":"","permalink":"http://andersjing.com/2011/10/02/2011-10-02-note_31/","excerpt":"","text":"——三十一、《贫民窟的百万富翁》——三十一、《痛并快乐着》经历了一段时间的忙乱,突然一个假期到来,加上图书馆闭馆,让我有种脱离校园的感觉,看来我真的不适合休息,哈哈…… 很多人知道《贫民窟的百万富翁》这个名字应该都是从那部电影开始的,当我看到这本书的时候就想看看它和电影的不同,看了之后感觉同样的是震撼,不同的是书本更加亲切,更能接近作者的思维。当然,我不知道自己是否真的接近了,走错了也很有可能,呵呵……《痛并快乐着》的作者是白岩松,我看到的第一眼就把它拿了下来。 浮躁 不知道从什么时候起,浮躁这个词成为了评价当今社会的热门词汇,这个现象可以看做浮躁,那个也是因为浮躁……不过仔细想想好像的确是这个道理。可是我们为什么会浮躁呢?个人感觉,主要是信息时代惹的“祸”,因为现在的人知道的太多了。今天见到一个某某某一夜暴富,明天听说一个某某某创造了财富神话,尤其是那些网络红人,突然之间就飞进了我们的视线,这倒没有问题。关键是当初的他们也和今天的很多人一样平凡,于是就愤愤不平了,当初的他不过如此如此,而今天的我就已经这样这样,那我应该比他厉害才对……就这样想着想着,就有一种自己也成功了的感觉,忘记了真实的自己,忘记了努力。可是终究要看到真实的自我,于是就开始着急,着急自己没有成功;进而抱怨,抱怨自己没有遇到那样的机会;最后开始仇富,为什么他们就能遇到机会,我就不能?这不公平!愤世嫉俗的人就多了起来。对一个着急抱怨的人,用浮躁形容他应该很合适吧……这是我理解的浮躁。 在即将发表这篇日志的时候,见到这样一句话:平凡而又不甘寂寞的人太多,于是就催生了这个浮躁的世界! 好像和我的理解很符合~ ~ 今天的白岩松光鲜亮丽,而当初大学毕业的他又何曾想到今天,又怎么敢想象今天? 说起这个,想到了一个有点搞笑的事。前几天“世纪佳缘”网站的创始人到学校参加了一个访谈,说起她创办这个婚恋网站的原因,是因为当初自己在婚介所交了几百块钱,得到的却是一些虚假信息,自己去找婚介所理论,却被人家数落一顿:就你这样的人,这么丑,怎么能找到真的优秀的人?(主要意思就是这样)于是她很生气,就准备自己做点什么,后来听说创办网站花钱也不多,就创办了一个婚恋网站。没想到走到今天,这个网站成为中国最大的婚恋网站,她成为了上市公司的CEO。而她,原本是一个新闻系的研究生。这应该会让学计算机的感到很不舒服,自己的基础比她好那么多,凭什么她成功呢?我比她条件好多了,怎么还是这样……可能因此就产生了着急、抱怨、仇视…… 呵呵,说得有点深了,只是发表一些个人的偏见,这么复杂的社会问题那么多专家都解决不了,我又怎能在这指三道四。 突然间感觉自己写了一大堆矫情的文字,说实话,我总认为,男人,就应该流血不流泪!一见到那些哭哭啼啼、说话尖声细语的男生就头皮发麻,好像有点大男子主义啊,呵呵……据说,中国的很多文人是比较自恋的,一叶障目,不见泰山。所以每当我写东西的时候总担心自己陷入这样的误区,持一偏见,一头撞死在南墙上。但不知为什么,本来思考的很好,等到写的时候却总把握不住方向,每次都有词不达意的感觉。就像驾驶一辆没有方向盘的车一样,因此写完了就没有了回头再看的勇气。所以如果有兄弟姐妹从我写的文字中发现了问题,一定要不吝赐教,拜托!","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(三十)","slug":"2011-09-18-note_30","date":"2011-09-18T17:00:00.000Z","updated":"2019-04-20T02:37:02.893Z","comments":true,"path":"2011/09/18/2011-09-18-note_30/","link":"","permalink":"http://andersjing.com/2011/09/18/2011-09-18-note_30/","excerpt":"","text":"——三十好久没有写这个题目了,但心里从没有忘记这个题目。 最近有朋友问我每周一本书的习惯是否还在坚持,好在我还能问心无愧的给出一个肯定的答复,虽然没有每周都写日志。 看着这么清新的信纸,突然多了几分写字的冲动。最近一直在忙,为了许多……忙的时候就会忘记很多事,忙乱之后总有种迷失自我的感觉。唯有坐在图书馆中,随便拿起一本书或者杂志,不慌不忙地翻看着,才能把许多问题想明白,才会有一种充实感。那种感觉,远不是我这贫乏的文字所能表达的…… 忙乱不是解决空虚的方法,唯有拥有心中的那份安宁才会无所畏惧。 每周一本书,我还记着这份约定!","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(十、《兄弟》 余华)","slug":"2011-06-27-note_29","date":"2011-06-27T17:00:00.000Z","updated":"2019-04-20T02:37:02.893Z","comments":true,"path":"2011/06/27/2011-06-27-note_29/","link":"","permalink":"http://andersjing.com/2011/06/27/2011-06-27-note_29/","excerpt":"","text":"——《兄弟》 余华无法想象余华到底经历了什么样的沧桑巨变,竟然能够写出如此震撼人心的作品,一部《活着》已让人唏嘘不已,一部《兄弟》,又逼读者思考许多…… 他就像一位坐在大树下讲故事的老人,没有对故事加入任何评论,只是平静地讲述一个或者几个人的所作所为,但却有一种无法抗拒的力量逼着你去思考:为什么会这样? 在《兄弟》中,余华用质朴到粗俗的语言讲述着两兄弟的故事。那是一种相当夸张的粗俗,让人在鲜明地感觉到这些人和事都来源于生活的同时,却无法在生活中找到完全契合的原型。 两个性格反差巨大的人,因为一段时代特有的苦难经历成为了兄弟。一个忠厚老实,一个圆滑世故。最终忠厚老实的因为被兄弟深深伤害而走到了卧轨自杀的地步,但却念念不忘彼此的兄弟之情。而风风光光地活下去的,却也怀着对兄弟深深的愧疚,这似乎很不符合常理,或许只能用宿命二字解释。 余华的作品里没有见到善恶有报,每个人都有风光和悲惨的时候,一个人不会因为做了一辈子的好事而有一个美好的结局,另一个人也不会因为做了坏事而永世不得翻身。但有一点可以肯定,一个无论多么作恶多端的人,在他的内心总有一块不曾被世俗污染的地方。或许这就是所谓的“人之初,性本善”吧! 看着结尾悲惨的结局,心里不禁有几丝感伤。“早知如此,何必当初”这句话我们都会说,但常常等到已经无法挽回的地步才会想起。等到失去了才会想到珍惜,既然有前车之鉴为什么非要制造一场遗憾,难道是想给平淡的生活制造一点波澜?","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(二十八、父亲节)","slug":"2011-06-19-note_28","date":"2011-06-19T17:00:00.000Z","updated":"2019-04-20T02:37:02.892Z","comments":true,"path":"2011/06/19/2011-06-19-note_28/","link":"","permalink":"http://andersjing.com/2011/06/19/2011-06-19-note_28/","excerpt":"","text":"——父亲节最近看的都是技术性的以及健身有关的书籍,就不呻吟了,呵呵…… 今天是父亲节,以前没怎么注意过。有一种说法是今年是第101个父亲节,既然前100个没有给予太多的关注,那就从第101个开始为父亲送去自己的祝福吧!虽然彼此都不太善于表达,虽然彼此心里都懂,但在有些时候,说出有些话,或许可以起到不一样的作用。 祝愿咱们的父亲(当然也有母亲)能够因为有这样的儿女而感到幸福!呵呵……","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(二十七、又到高考)","slug":"2011-06-05-note_27","date":"2011-06-05T17:00:00.000Z","updated":"2019-04-20T02:37:02.892Z","comments":true,"path":"2011/06/05/2011-06-05-note_27/","link":"","permalink":"http://andersjing.com/2011/06/05/2011-06-05-note_27/","excerpt":"","text":"——又到高考不觉间已经到了高考的时候,又要有无数兄弟姐妹去考场上厮杀一番。作为一个局外人,先祝福他们吧! 现在想想去年这个时候的自己,说实话,没有太大的压力。因为从进入高中就不断地被灌输为高考努力的理念,早就知道了高考到来的日期,尤其是到了高三,一天天地看着高考走过来,所以等她真的到来了,反而有一种故友重逢的感觉。就像一个期待了很久的朋友,一步一步地走进了你的视线,走到了你的身边,有好奇,有欣喜,也有几丝忐忑,但我真的忘记了紧张。虽然是有意忘记的,虽然忘记紧张没有给我带来好的结果,不过我还是做到了。 与高考相拥的时候,感觉还是不一样。虽然同样是做试卷,但是等到感到时间不够用的时候,那种心情实在是难以形容,各种想法如洪水一般倾泻到本来还有点困倦的大脑中,突然间就清醒了许多,把各种假设和结果都想了个清清楚楚,想到最后,用理智告诉自己:现在要做的是尽力多做几道题!于是就又投入到紧张的答题中……交了试卷,感觉大脑已经被装满,没有地方用来去想其他东西了,于是,回家、吃饭、复习、睡觉……一切都按照以前的计划走,不再思考。 亲人们自然也不会问你考完地感受,虽然很想问。于是大家都形成了一种默契,默默地做着自己该做的事。 考完了,对完答案了,班里的气氛肯定不会好。即使是有人考得好,但没有表现出来,考得不好的反倒可以光明正大的说出来,恨不得大家都知道。不过对于高考,不会有几个知足的,所以气氛是那么的压抑,大家都心知肚明,默默面对,互相安慰。也不时迸发出破釜沉舟再来一年的豪气。 等到结果出来了,自然不好,对我而言是非常的不好!原来也曾幻想着碰到一个意外,好的意外当然可喜。哪怕是坏的,那样我就可以心安理得地再来一年。但结果终究是让面对的人无比纠结,还是被录取了,还是硬着头皮去领了录取通知书,那个火红的录取通知书好像是在嘲笑自己。但路是自己走出来的,不能把原因会接到其他因素上,所以,自己做决定,然后坚定地走下去。 有些时候我们与其说是在等待结果,倒不如说是在给自己一个做决定的理由。明明知道结果不会好,还是在期待着、幻想着,等结果出来,告诉自己,现实就是如此,咬咬牙继续走下去吧! 于是走到了今天…… 说得这么沉重,今天并不一定就不好,至少今天还有希望,至少后天才高考!再次祝福他们!","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(二十六、《穷大学生创业发财记》)","slug":"2011-05-29-note_26","date":"2011-05-29T17:00:00.000Z","updated":"2019-04-20T02:37:02.892Z","comments":true,"path":"2011/05/29/2011-05-29-note_26/","link":"","permalink":"http://andersjing.com/2011/05/29/2011-05-29-note_26/","excerpt":"","text":"——《穷大学生创业发财记》挺俗的名字,但很真实的描写,就像是一个大学生的真实生活。虽然最后并没有看到主人公发财,不过他的经历还是很启发人的。 书中关于成都人的描写挺有特色,成都人最大的特点就是懒,说得好听点就是悠闲。不是喝茶,就是摆龙门阵。就是天塌下来,第二天,照样像痞子一样,接着做活。听起来挺不错的感觉,早晚要去那里看看,感受下成都悠闲的氛围。 说起成都人,在上海快一年了,不禁想起自己对上海的感觉。最近每周都会走在上海市区的街头,没有太明显的身处繁华大都市感觉,每个人都在走自己的路,谁也不干扰谁,秩序井然。找不到那种热烈活力的感觉,却也没有感到冷漠,只是平平淡淡、井井有条。因为每一个地方都是陌生的,所以出行之前都要查清楚出行路线,走在在路上的时候都是在找公交站或者地铁站,做一个行色匆匆的路人,也没有多少时间去好好地了解这个城市。 或许大学四年之后,我会读懂这座城市。","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(二十五、《活着》)","slug":"2011-05-23-note_25","date":"2011-05-23T17:00:00.000Z","updated":"2019-04-20T02:37:02.891Z","comments":true,"path":"2011/05/23/2011-05-23-note_25/","link":"","permalink":"http://andersjing.com/2011/05/23/2011-05-23-note_25/","excerpt":"","text":"——《活着》活着,一种无声的震撼…… 算了,不说了。对于经典,说的每一句都是多余的。","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(二十四、《青春选择了不安分》)","slug":"2011-05-16-note_24","date":"2011-05-16T17:00:00.000Z","updated":"2019-04-20T02:37:02.891Z","comments":true,"path":"2011/05/16/2011-05-16-note_24/","link":"","permalink":"http://andersjing.com/2011/05/16/2011-05-16-note_24/","excerpt":"","text":"——《青春选择了不安分》这是一本号称“让女人更了解男人,让男人更了解女人,让男人和女人更了解这个世界”的书。 看过之后我发现,作者所要展现的完全是一个物质的世界,所有的情感、坚持、理想在物质追求方面都是无比脆弱、不堪一击。书中有句几次提及的话:“只有物质才是真实的。”于是,书中的人物就似乎都在为了物质而奋斗。一切行为都是为了追求更多的物质,如果有妨碍获得更多物质的事,比如爱情、亲情(还好留下了友情),当需要为物质牺牲的时候,都可以毫不犹豫地舍弃……虽然还有几个保持着最初理想的人,但这些人都是已经解决了物质问题的。 不知道作者描绘的是他想象中的现实世界,还是真正的现实世界。如果是真实的世界,那这个世界还真是相当的“骨感”。 不过即使在书中,很多物质生活得到充分满足的人活得依然很累,以为他们没有了目标。而那些心中怀揣梦想(当然是好的)的人,无论物质生活怎样,他们都可以活得很有劲。当有了充裕的资金之后,有音乐梦想的人可以因为花费几十万去欣赏一场音乐会而很满足,但那些只会追求物质的人永远也无法享受这种快乐,于是他们才有了空虚。 所以,带着梦想前行,才能走得更加从容……","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(二十三、《有一种自由叫孤独》)","slug":"2011-05-08-note_23","date":"2011-05-08T17:00:00.000Z","updated":"2019-04-20T02:37:02.891Z","comments":true,"path":"2011/05/08/2011-05-08-note_23/","link":"","permalink":"http://andersjing.com/2011/05/08/2011-05-08-note_23/","excerpt":"","text":"——《有一种自由叫孤独》经常见到有人抱怨孤独,而孤独明明是可以用来享受的! 这并非是孤独者自我安慰…… 卞之琳说:“美丽的风景是孤独的,孤独的风景是美丽的,如果有一双慧眼,就去找那些美丽的风景吧。哪怕是一瞬间,就足以打动人们的心灵。” 有些事需要与别人合作才能做好,而有些事只能一个人,也只有一个人才能做好。所以,当我们独自一人的时候选择做那些需要一个人做的事,同样可以充实满足,就像与很多人一起做了一件很有成就感的事一样。 独自一人的时候,才能与真正的自己对话。回头看看过去的自己,做了哪些该做的事、可笑的事,再抬头看看将来的自己,准备做哪些事,避免做哪些事。然后,把看到的一切告诉现在的自己。这个时候,迷茫、空虚会荡然无存,迈出的脚步会更加从容坚定! 一个不敢面对自己内心的人,注定无法享受孤独的美妙!而是会害怕孤独。 害怕孤独的人不敢面对自己,要么是感觉昨天的自己不堪回首,要么是感觉明天的自己没有方向,还有可能是追求的太多,害怕孤独的时候这么多的追求压得自己无法喘息……于是,他们因为恐惧孤独而寻求一切机会让自己忙起来,最后往往因为感觉自己在瞎忙而更加害怕面对自己,形成一个恶性循环…… 但是我们终将面对自己,就像天总会黑一样。所以,我们或许可以试着去享受孤独,接受那个并不完美的自己。就像有句话一样:你可以对自己的现状不满意,追求更高的目标,但你不能否定今天的自己! 每次写读书笔记的时候,总有一种无法表达自己想法的感觉,于是就淡然一笑,对自己说:想提高的话就去寻找方法,不想提高的话就放任它。可是如果因为害怕面对自己的不足,那也就没有了提高的想法。 把自己当自己的朋友,独享属于自己的那份孤独!","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(二十二、《不抱怨的世界》)","slug":"2011-04-30-note_22","date":"2011-04-30T17:00:00.000Z","updated":"2019-04-20T02:37:02.891Z","comments":true,"path":"2011/04/30/2011-04-30-note_22/","link":"","permalink":"http://andersjing.com/2011/04/30/2011-04-30-note_22/","excerpt":"","text":"——《不抱怨的世界》记得上学期填写学生会面试申请表的时候,有一栏是“自我评价”,自己写了两三句话,其中有一句就是:不喜欢抱怨。 面试的时候被问:为什么? “因为抱怨不能解决问题!” …… 现在回头想想,大学的第一年快过去了,自己就真的没有抱怨过?当然没有!虽然自己的确不喜欢抱怨,但这个东西往往是事后才会发觉,于是就提醒自己,以后不要把时间花在抱怨上,于是就有了若干个以后……呵呵! 书中说:优秀的人都不抱怨。不管优秀不优秀,想不想优秀,我们都可以不抱怨。抱怨别人是自夸,抱怨自己是自卑。抱怨不能给我们带来什么,抛掉它,或许我们可以更轻松…… 看到一个笑话: 最省钱的特长 儿子对父亲说:爸爸,我们学校成立了一个乐队,我想去 参加,不过乐器要自己带…… 父亲盯了儿子半天,递过一根筷子,说:孩子,咱家穷, 你能不能争取去当指挥? 呵呵,虽然这个父亲穷,但他也可以不抱怨,还能想办法圆了儿子的音乐梦想。 有时间去抱怨,倒不如去想办法解决问题……","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(二十一、《康熙大帝》)","slug":"2011-04-23-note_21","date":"2011-04-23T17:00:00.000Z","updated":"2019-04-20T02:37:02.890Z","comments":true,"path":"2011/04/23/2011-04-23-note_21/","link":"","permalink":"http://andersjing.com/2011/04/23/2011-04-23-note_21/","excerpt":"","text":"——《康熙大帝》这星期看书比较少,本来借了一本阎崇年的《康熙大帝》,想丰富一下自己贫瘠的历史知识。谁知道没翻多少页就发现它并不算一本真正的史书,更像是作者在讲述自己的个人见解,分析得似乎也挺全面透彻,但它终究不是史书,纠结再三,还是放下了。 总想找一些客观介绍事实的书,不要加入太多的个人好恶。对同一件事、同一个人,每个人都会有自己的观点,但要想做到全面客观似乎有些难度。所以自己的观点还要靠自己去发现,带着别人的有色眼镜去看终究不是办法。 不过这样的书越来越难找了…… 这周是期中考试周。面对期中考试,有的人很重视,有的人很无视。成绩出来了,不管好坏,大部分人都很坦然地面对,这应该和大学里多元的价值观有关吧。每个人都有自己追求的目标,都有衡量自己的标准。而在中学时代,大家都把成绩作为唯一的标准,于是一场考试下来:几家欢喜几家愁。现在,我们都有了自己的标准,你重视成绩,我重视技能,他重视交际……你的成绩好,我不在乎,我有自己的标准。在自己的标准里,自己永远可以做到最好,因为既然是自己定的标准,它就没有底线。它可以低一点,再低一点…… 当我们走出大学的时候发现了差距,同时也发现了自己当初的标准是多么低…… 在以成绩为衡量标准的中学里,我们目标明确但感到束缚;在多元标准(也可以说没有标准)的大学里,我们有了自由,也有了迷茫。我们总想做正确的事,但什么事算是正确的?很多时候我们没有答案。每一个过来人都有一个他自己的说法,听得太多反而令我们更加迷惑。同时,不同人所处的环境也不可能相同,就像你问一个三年前的毕业生怎样对待微博,他不可能给你答案,因为那时候微博还没有出现。就这样,很多时候我们徘徊在一个又一个的选择之间,最可怕的结果就是:一晃四年过去了,我们才意识到自己还没有做出选择! 无论做什么事,成功的方法有很多,但失败的原因就那么几个,不失败就应该算是成功吧;同样,不是错的也应该算是正确的。当不知道什么样的“选择”是正确的时候,就坚持做几件最起码不是错误的事情吧,或许这样的“选择”就是正确的!","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(二十、《刘邦与项羽》)","slug":"2011-04-17-note_20","date":"2011-04-17T17:00:00.000Z","updated":"2019-04-20T02:37:02.890Z","comments":true,"path":"2011/04/17/2011-04-17-note_20/","link":"","permalink":"http://andersjing.com/2011/04/17/2011-04-17-note_20/","excerpt":"","text":"——《刘邦与项羽》书中说“无可无不可,无所不可为”是刘邦制胜的性格法宝,他什么事情都可以做,什么事情也都可以不做,如水一样的性格成就了他的汉家天下。而项羽“有可有不可,有所不能为”的性格伴他走到了乌江畔…… 但令我百思不得其解的是,最终蛮横暴戾的项羽受到了后人的尊敬,而宽厚仁人的刘邦却被世人唾骂几千年。俗话说:“得人心者得天下”,刘邦既然得了天下,必然要先得了人心。不过现实是他得到了当时的人心却失去了后世的人心。史书上明明记载着刘邦如何如何得人心,最终得到了天子,项羽如何如何残暴,以至于失掉了大好局势,最后却是刘邦被否定项羽被肯定。难道是因为项羽那耿直不妥协的性格太难得了,后人很难实现,所以要好好敬仰?说起这个,昨天在《中国青年》上看到于丹的一篇文章《带着大气磅礴从校园出发》,也是说不妥协的。刚好在网上找到了,摘录一下(但愿不要说我侵权,呵呵……): 带着大气磅礴从校园出发 ——于丹 ###曾经看不懂我的学生 我是一个大学老师。可以坦率地跟大家说,作为大学老师,最痛楚的就是看到大学校园里那些尖子生,拿着全国最好的成绩单,但是你能明显感觉到他们人格的缺失。你会看到那些以全省前几名的成绩考来的尖子生,为了争夺一个靠窗的铺位,或是为了谁先打一壶水,而打电话到辅导员那里告状,这样的情况一个月竟然有三四次。我曾在校园里看到大四的学生去面试,家长在教室外面敲着玻璃窗喊:“老师,我有急事!”然后指着一个学生高大的背影对我说:“那个穿格子衣服的就是我儿子,你赶紧过去提醒他,进考场之前一定要去上趟厕所!”大家听了觉得很好笑吗?这是实实在在发生的事情。这些身处大学的年轻人,他们都有哪些问题呢? 第一就是不会和别人相处,一个宿舍的人全是娇娇宠儿,大家凑到一起,谁让着谁呢?接着是不会交朋友,甚至不会谈恋爱,两个这样的年轻人相爱,到底谁照顾谁呢?女孩怨男孩:“你对我怎么不像我爸一样?”男孩怨女孩:“你伺候我也不像我妈一样!”接着你会发现,就算学习再好,他也惧怕走上工作岗位,而且在面临职业选择时,只会挑三拣四,避重就轻,并且抱怨现在就业形势不好,抱怨自己缺个好时机。抱怨其实像一种腐烂水果的味道,它四处弥漫,令人不快,而且迅速传染。 今天的社会为每个人提供了自我实现的诸多途径,获得成功似乎已经不是一件艰难的事,但我不知道大家是不是见到过很多处境苍凉的成功人生。比如某人拥有上市公司,名片上有显赫的头衔,走到哪儿都风光无限,但他可能跟家人失和,与子女出现代沟,心里忧思不定得了抑郁症,或是有睡眠障碍,总是处在亚健康的状态,没时间跟朋友见面,每天疲于奔命。这就是你所追求的未来吗? 在座的每个人都是受教育长大的,要问你在教育中获得了什么,你会脱口而出:在教育中获得了知识、获得了技能。此外呢?你获得信仰和力量了吗?你获得行动的动力了吗? ###富不贵,文要化 中国人形容诗词有一种境界叫“绚烂之极归于平淡”,我们经常会羡慕那些睿智的老者,坐在斜阳余晖中,带着一丝淡然的微笑。但那不是年轻人的境界,年轻时就该追求绚烂之极,该绚烂的时候你干吗不绚烂呢?一个人如果没了激情和梦想,你精通所有社会规则、懂得太多的技能管什么用呢?你过去十几年被压抑得太久了,太习惯于遵守标准答案了,你已经学会不痛恨标准答案,并且与标准答案达成了认同与默契。可是,你甘心如此吗? 我们的悲哀就是过分信任人人都能掌握的技能,而忽视了激情和梦想;过于信任发达的头脑,而忽略了心灵的本真。我们今天用脑子的几率比用心的几率多得多,可口咱们的老祖宗早就告诫我们,凡事都要先用心,再用脑。比如中国汉字,偏旁部首有“心”的从来就没少过,中国人说的“思想”二字都带“心”,所以思想不只是头脑活动,也是心理活动;有一种美好的情感叫“感恩”,也是因“心”而起的情怀:大学生最热衷做志愿者,“志愿”二字都是从“心”开始的,自愿自发那才叫志愿。 再比如大学生做义工、做慈善,总觉得自己的能量和辐射面太小,所以常常做到一半就偃旗息鼓了。所谓“慈善”是慈悲之心决定的善良之举,我们要看的是慈悲之心到底在不在,所以“慈善”的关键在于慈悲下面的两个心,而不在于数字的大小。我记得“5.12”大地震之后一个多星期,我在大学课堂上接到一个素昧平生的人递上来的一封信,厚厚的牛皮纸信封上字迹整齐而漂亮,落款是贵州一个偏僻的小山村里一个叫陈顺江的人。拆开以后,两张信纸中间裹着一叠钱,他请我把这笔钱转交给慈善机构,最好直接送到灾区。我一张张数完,只有14.6元钱,他说他先天脊柱弯曲,从未站起来过。他没有能力挣钱,家里只能靠70多岁的老母亲上山挖草药维持生计。他看完大地震的场面,心在电视机前呐喊,他告诉我:“我想捐款,但不放心那些机构,在电视上见到您讲课,知道您是个大学老师,所以,我信任您,想让您帮我把钱转交给灾区……”我相信各位都会认为那是一笔巨大的善款,那个数字是谁也无法估量的。所以,如果你只计较义工、志愿者的行为而没有“慈悲”这两颗心存在,再多的数字也不能说明任何问题。 如今的社会,文人越来越有文化,商人越来越富贵,但在我看来,这中间有一个细微的过程没有完成,就是文化人的“文”而不“化”。大家都著作等身,网络上也有关于你的铺天盖地的关键词,但有多少成分能化入你的生命呢?《周易》鉴定何谓文化:“关乎天文,以察时变;关乎人文,以化成天下。”这是到现在为止最精准的关于文化的解释,也就是说“文”本身不重要,关键是要“化”为精神力量和行动。但我们今天恰恰缺少了最重要的“化”。而如今富贵的问题也是富而不贵,财富的数字在今天是很容易获得的,但它并不一定就意味着生命的尊贵,从报端我们可以知道,有很多富豪阶层的价值观是混乱的,真正的慈善、尊贵、生命的爱没有渗透到社会的底层。所以文化、富贵都是好事,但关键是要“文而化之,富而贵气”。 ###唯一的毛病是什么 庄子很羡慕地说,我要有那么大一棵树,所有过往的人都可以在下面游乐、玩耍、睡觉、乘凉,那不成神树了吗?你干吗老想着拿它做家具啊! 我们今天都还在受着标准答案的教育,每个人从小含辛茹苦地读书,就希望自己成为一个细细的木头桩子,被人贴上“牲口柱子”“房梁”甚至“棺材”的标签而沾沾自喜吗?谁的生命不渴望自我超越啊!禅宗有一个问答,弟子问:世间稀奇事?师傅答:独坐大雄风。意思是说世界上最稀奇的事情,就是一个独立的生命独坐于天地间浩荡雄风中。这才是大学里该学的东西。 在大学里面,一个年轻人,有点青涩,有点莽撞,口出狂言,这些都不是毛病,唯一的毛病是过于世故,玩世不恭,丧失梦想和激情。一个人如果18岁时就因为熟练掌握了标准答案而沾沾自喜的话,到80岁时你会欲哭无泪。倘若你偏离标准答案而得出错误的答案,大可不必伤感懊恼,因为大学是你犯了一切错误都还来得及改的地方,倘若你80岁才后悔说我18岁没有荒唐过,到80岁再来荒唐一把,那可就真叫荒唐了。 我之所以提倡在大学里要做一个坚持不妥协的理想主义者,而不做现实主义者,是因为进入社会后你就会被不断修正。年轻的时候,在大学校园里就把自己定位成一个现实主义者,那么走到现实中以后,你就仅仅是既定规则的顺应者和妥协者;而一个人在大学里把自己界定成一个理想主义者,将来到现实中你就有可能成为那个修正规则的人。你可以运用自己的力量,让规则离理想更近一点。你比别人多一份不会泯灭的英雄情怀,多一份不轻易妥协的理想主义,那么在苍凉的现实中,你会比别人活得更独立、更舒畅。所以我不提倡大学只给学生传授专业技能和生活技巧。我相信一个坚持做自己的人必然能成大器,而一个永远顺应标准答案、随大流的人,怎么去面对更多的残酷压力呢?如果从一开始就妥协,你内心的自信和抵抗挫折的力量在哪里呢? 你的一生可以分为三个层面:生命,生存和生活。生命是自我的认知,了解了自己再在大学里完善生存技能,然后带着独一无二的意识和能力投入生活,这样你才能做一个好公民。所以我想说,让我们从大学校园出发,带着你的大气磅礴,还有你的大眼界、大梦想,坚定不移、不计成败地往外走,坦然走。 她似乎给大学生是否要妥协做出了解答,但同时又抛出了一大堆问题,她没有说什么才算大眼界、大梦想,怎样才能拥有大眼界、大梦想,或许我们走过了就会有自己的答案,但那时已无法回头……","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(十九、《圈子圈套》 王强)","slug":"2011-04-10-note_19","date":"2011-04-10T17:00:00.000Z","updated":"2019-04-20T02:37:02.889Z","comments":true,"path":"2011/04/10/2011-04-10-note_19/","link":"","permalink":"http://andersjing.com/2011/04/10/2011-04-10-note_19/","excerpt":"","text":"——《圈子圈套》 王强终于把这个商战三部曲给结束了,就像吃了一段大餐,不过能消化多少还不知道,呵呵…… 书中的商场和职场的确无比险恶,几句话、几分钟就有可能决定一个人的命运。俗话说耳听为虚,眼见为实,但在商场中,你听到的、见到的并不一定就是真的,你能相信的唯有自己的思考和判断,而不管它是对还是错。对了,它将成为你的经验,错了,它将成为你的教训,不过结果都是你成长了!商场与战场不同的是商场更加瞬息万变,在前一天还是敌对的双方,第二天就可以因为利益的一致而成为合作伙伴。虽然战场也会有局势的变化,但最起码敌我双方不会突然变化。战场上,一个失败可能决定了一个人的命运;在商场上,你可以无数次失败,但只要你不放弃,你就永远不会真正的失败。 在商场中,敌人可以迅速成为朋友的一个原因就是记仇太累了,他们谁会跟钱过不去呢?虽然他们很少想挣那么多钱用来干什么(尤其是那些为外国企业挣钱的),但是他们还是会不计一切地去追逐,他们才真正做到了享受过程的!呵呵……不过,能够经常立于不败之地的还是那些有原则但不盲目地坚持的人,不 会主动陷害他人,但也有保护自己的武器。 其实很多道理无论在何处都是相通的,放之四海而皆准,关键是谁能灵活地运用。不伤原则,而又能得到自己想要的,这不仅是商场职场的艺术,也是我们做人的艺术。 在经验与教训中,我们一步步走向成长……","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(十八、《圈子圈套(战局篇)》 王强)","slug":"2011-04-03-note_18","date":"2011-04-03T17:00:00.000Z","updated":"2019-04-20T02:37:02.889Z","comments":true,"path":"2011/04/03/2011-04-03-note_18/","link":"","permalink":"http://andersjing.com/2011/04/03/2011-04-03-note_18/","excerpt":"","text":"——《圈子圈套(战局篇)》 王强一本很纯粹的商战小说,一个圈子里的人都在忙着给别人设圈套,同时又要时刻警惕避免掉入别人的圈套中,他们追求的已经不是金钱,而是圈套与圈套之间的博弈。输了,他们换个战场,抖擞精神,继续战斗;赢了,他们得意一时,然后继续沉着应战。这很像我们小时候在沙堆上挖陷阱,追求的仅仅是别人掉下去时自己的开心一笑,而不管自己曾经费了多大的功夫,把自己的衣服弄得多脏。同样,金钱的多少对他们来说已经不再重要,那种智商与智商的斗争才令他们深深着迷。没有了人与人之间的感情,有的只是利益的争夺。但利益永远都是有失有得,没有常胜将军,他们好像在下一局棋,不过这是一个值得他们全身心投入的棋局。也许,这就是这个圈子的生存艺术吧! 如果未来有一天我们中的一个人走进了这个圈子,但愿不要活得太累! 这部书一共三部曲,还有两部曲没看,争取下星期看完。","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(十七、《疯狂的程序员》 绝影)","slug":"2011-03-27-note_17","date":"2011-03-27T17:00:00.000Z","updated":"2019-04-20T02:37:02.889Z","comments":true,"path":"2011/03/27/2011-03-27-note_17/","link":"","permalink":"http://andersjing.com/2011/03/27/2011-03-27-note_17/","excerpt":"","text":"——《疯狂的程序员》 绝影这是一本写实的小说,曾经在网上连载。虽然是一本小说,但基本上都是作者的亲身经历,读起来有种真实的感觉。 书中有关程序员的一些描述比较经典: 1、 程序员都是习惯晚上工作的,你要是在上午九点前看到一个程序员,那准是因为他工作了一个通宵。 2、 其实你要明白,什么是程序员?能为一两千块钱的工资在公司天天加班加点,回家还继续干到两三点甚至通宵的程序员,他们根本不在乎能挣多少钱。程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。哪怕我身上只有两毛钱,只要有志同道合的人跟我聊技术,我一样敢跟他从c++聊到asm,从api钩子聊到inline hook,从ring3聊到ring0,。聊完了,那晚上吃什么?吃什么并不重要,重要的是如何才能获取kernel基址。 看到这本书,我在想我的道路会不会像书中的主角一样,走一条技术的不归路…… 书真的挺好,这有个下载地址:http://www.verycd.com/topics/2784581","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(十六、《马钧品马云》)","slug":"2011-03-20-note_16","date":"2011-03-20T17:00:00.000Z","updated":"2019-04-20T02:37:02.888Z","comments":true,"path":"2011/03/20/2011-03-20-note_16/","link":"","permalink":"http://andersjing.com/2011/03/20/2011-03-20-note_16/","excerpt":"","text":"——《马钧品马云》——《杨澜访谈录》在电视上见到马云,头大身体小,第一感觉就是:这是个外星人!如果做演员,应该是一个不可多得的天才。不过他的确挺会推销自己,在《赢在中国》上妙语如珠的点评,不花分文对自己和公司做了大力宣传,这效果,比植入式广告强多了。 最近似乎一直在看有关公众人物的传记,其实倒也没有什么特别的目的,只是感兴趣。做有些事,或许不必非要给自己找一个理由!不过,好像从这些书中发现一个小规律。这些人的起点都可以归结为两条,一个是推销,像李嘉诚、杨元庆、马云;一个是技术,像马化腾、王传福。呵呵,一点拙见。 《杨澜访谈录》则似乎更注重这些人物光鲜的背后,那些精神上的孤独、身体上的伤痛,每个人都是完整的,有得必有失。关键是你选择什么样的得到与失去……","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(十五、《杨元庆—联想20年》)","slug":"2011-03-13-note_15","date":"2011-03-13T17:00:00.000Z","updated":"2019-04-20T02:37:02.888Z","comments":true,"path":"2011/03/13/2011-03-13-note_15/","link":"","permalink":"http://andersjing.com/2011/03/13/2011-03-13-note_15/","excerpt":"","text":"——《杨元庆—联想20年》——《马化腾的腾讯帝国》说起联想,很多人首先想到的应该是柳传志。杨元庆这个名字,我在看这本书之前,还真没有听说过。不过,他既然能够从一个销售员做到董事长,自然有他的能力。但他更适合的显然是执行者的角色,而不是决策者。在他执掌联想的几年中并没有创造出更大的神话。柳传志依靠一个强大的销售模式建立了联想的地位,而当这个销售模式已经不能继续联想辉煌的时候,杨元庆并没有开创出新的盈利模式。如今柳传志复出了,结果如何,只有让事实说话。杨元庆回归执行者的角色,或许更能发挥能力。虽然没有柳传志一样耀眼的光环、响亮的名气,但做一个优秀的执行者也可以成为他成功的标志。成功的方式有很多,找准位置也应该算是一种! 看看今天的腾讯帝国,不敢想象它是当初马化腾几度出手却无人想要的东西,呵呵,这也算是马化腾的运气吧!说起腾讯,就不能不说它超强的模仿力,书中也没有避开这一点。不过有一点说的挺有道理,在中国互联网历史上,腾讯几乎是唯一没有商业模式可供参考又赚到大钱的公司。不同于新浪模仿雅虎,百度借鉴google,腾讯最初模仿的ICQ早就销声匿迹了,而他却成了一个企鹅帝国。不过模仿后的超越,应该是他成功的根本!如果没有后来的超越与创新,这只“企鹅”肯定不会这么胖!","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(十四、《比亚迪之父王传福》)","slug":"2011-03-06-note_14","date":"2011-03-06T18:00:00.000Z","updated":"2019-04-20T02:37:02.888Z","comments":true,"path":"2011/03/06/2011-03-06-note_14/","link":"","permalink":"http://andersjing.com/2011/03/06/2011-03-06-note_14/","excerpt":"","text":"——《比亚迪之父王传福》原来只是知道比亚迪是一个企业,但当王传福放出狠话:“比亚迪计划在2015年成为中国第一的汽车生产企业,2025年成为全球第一!”之后,才感觉这个企业有点不寻常。 一个一九九五年才创办的生产电池的民营企业,我想知道他的底气从何而来。 看了这本书,一个最强烈的感觉——比亚迪的发展实在是太快了!九五年创办时只有二十几个人,而到了九七年,短短两年之后,它的镍镉电池的产量已经达到了世界第四。同样在汽车领域,它2003年开始涉足,而到2007年已成为自主品牌中一个响当当的名字。 既然这些不可思议的事都被他实现了,那就祝愿他再实现一个吧! 马云说,成功的原因有很多,但失败的原因就那么几个。看看现在的汽车“老大”(只是指销量)丰田,当它忙于在全世界召回几百万辆问题汽车的时候,奔驰与宝马还在默默专注于自己的质量。于是金融危机中受打击最大的还是质量不过关的丰田。同样,当日本人还在铁证面前拒不承认曾经的战争罪行的时候,德国人已经取得了世界的谅解。 一个民族的性格,似乎也能够决定一个企业能走多远。 祝愿比亚迪能走更远……","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(十三、《李嘉诚全传》)","slug":"2011-02-26-note_13","date":"2011-02-26T18:00:00.000Z","updated":"2019-04-20T02:37:02.888Z","comments":true,"path":"2011/02/26/2011-02-26-note_13/","link":"","permalink":"http://andersjing.com/2011/02/26/2011-02-26-note_13/","excerpt":"","text":"——《李嘉诚全传》叹服! 他尝试时的勇气、抉择时的果断、运筹帷幄中的睿智、放弃时的大度、用人时的信任……诸多才能成就了他的财富。 而救人于水火、诚信、吝己不吝人……诸多优良的品质则成就了他的美名。当然也有助于他财富的增加。 在我看来,进取的心和优良的品质应该可以算做他从一个茶楼的堂倌走到华人首富的双翼。 书中有这样几句话: 1、当投资取得成功时,很多人自然会走出来分享荣誉;可是失败了,愿意站出来承担责任的人并不多,这就是人性!(这也不能说是人性的丑恶,这只是一个事实。但不同的选择成就了不同的人生,如何去走,全靠我们自己。) 2、眼光放大放远,发挥着中不忘记稳健,这是我做人哲学。进取中不忘记稳健,稳健中不忘记进取,这是我投资的宗旨。 3、当一个行业刚刚兴起时,往往就意味着有很大的发展前景也同时意味着需要一个艰苦开拓过程。当一个行业非常成熟时,容易进入,但也意味着发展前景有限。所以优秀的商人不会到企业病入膏肓的时候才去亡羊补牢,而是在鼎盛之时,就开始感知其潜在的危机。(这个道理好像谁都知道,不过站不到那样的高度,又怎么能看的远。) 4、成大事者,他们的目光长远,思维敏捷。他们知道如何用人,如何做人,如何行大义,他们通过自己的率先垂范,为别人树立了榜样,用自己的人格魅力来吸引人才为自己打拼。在义、利面前,他们懂得如何取舍,在钱财面前,他们懂得如何运用。 …… 很多话,当我们看到的时候,会感觉自己很早就知道了。 缺乏的,也许就是尝试的勇气!","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(十二、《激流三部曲》 巴金)","slug":"2011-02-22-note_12","date":"2011-02-22T18:00:00.000Z","updated":"2019-04-20T02:37:02.887Z","comments":true,"path":"2011/02/22/2011-02-22-note_12/","link":"","permalink":"http://andersjing.com/2011/02/22/2011-02-22-note_12/","excerpt":"","text":"——《激流三部曲》 巴金终于看完了巴金的“激流三部曲”。 每一步都有很多本可避免却又无法挽回的牺牲,每一步都有获得解放的人。直到最后,一个类似《红楼梦》中贾府的大家庭终于走向了支离破碎,才有一大堆人得到了解放。而那些所谓坚守着“吃人的”礼教,却做了无数连自己都无颜启齿的坏事的人仍然悲剧的活着。不过好的是他们只能自作自受,无法再去残害更多的人。这不是一个美好的结局,但也不能算是悲剧。或许这才是真实的社会! 在文中出现的人物中,不得不说的应该是觉新了。他渴望挣脱礼教的束缚,却又因过于善良而不敢活出自我,吃尽人间苦辣。他的善良并没有给他带来好报。在旧势力眼中,他是一个言听计从,召之即来挥之即去的“老好人”。无论旧势力是出于自己的愚昧的“好意”,还是有意的陷害给他安排任务,他都一一承担,并且还尽力办好。而在新思想的人当中,他是一位处处妥协,奉行“作揖主义”的懦夫。他活得很累,本想让大家皆大欢喜,但往往事与愿违。在“吃人”礼教的压迫下,他眼睁睁地看着自己心爱的人一个接一个地含恨而去,自己的幸福一步步地走向深渊,纵然心中有万分不舍,他却从未想过抗争。为了让拥有新思想的兄弟姐妹争取到自己色的幸福,他可以忍受旧势力无端的责骂甚至是侮辱。他说的最多的一句话就是:“我自己并不要紧,只要对别人有好处”。 他历尽了艰难辛苦,他以为牺牲自己,会帮助别人。他相信他有一天会找到和平。但是现在他无意间从最后一个梦里伸出头来,看见他周围真实的景象了。他只看见更浓的黑暗和更大的惨痛。并没有和平,并没有繁荣,并没有将来的希望。有的只是快要到来的毁灭。他这些年来就一步一步地往这个山峰顶上爬。 其实也不能说他没有自我,他一直坚守着自己一厢情愿的善良,即使葬送了自己,也葬送了无数他心爱的人。 这样的结果作者把它归结到制度,也就是那吃人的礼教头上。但我想归结到错误的观念上比较合适。既然觉群那些有新思想的兄弟姐妹可以争取到自己的幸福,那为什么他就不能?他的处境值得同情,但他的观念更应该抛弃。与其好心办了坏事,那还不如吝啬起这份“好心”! 觉新还有一句口头禅:“总会有办法的……”但事实上他自己也没有一点想法。等到棘手的事终于来临时,他只有任人摆布。一面小心翼翼地劝阻强势的一方,一面尽力安慰弱势的一方。最终落个懦弱的形象。没有自己的立场,注定没有好的“下场”! 这些算是寒假读书感触中的一点吧!","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(十一、《春》 巴金)","slug":"2011-02-13-note_11","date":"2011-02-13T18:00:00.000Z","updated":"2019-04-20T02:37:02.887Z","comments":true,"path":"2011/02/13/2011-02-13-note_11/","link":"","permalink":"http://andersjing.com/2011/02/13/2011-02-13-note_11/","excerpt":"","text":"——《春》 巴金上次看了巴金的《家》,有种在压抑中挣扎的感觉,“但青春毕竟是美好的”。这次看的《春》,延续着《家》的风格,可“春天毕竟是来了”!巴金总是要表达在黑暗中看到光明的思想。对于名著,我不能随便评论。不过,就某些方面发表一点自己可能片面的看法还是可以的。读了,思考了,至于能不能留点下什么,能够留下多少,那就不是我所能控制的。开学后再多说点吧,这笔账我先给自己记着。","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(十、《家》 巴金)","slug":"2011-01-30-note_10","date":"2011-01-30T18:00:00.000Z","updated":"2019-04-20T02:37:02.887Z","comments":true,"path":"2011/01/30/2011-01-30-note_10/","link":"","permalink":"http://andersjing.com/2011/01/30/2011-01-30-note_10/","excerpt":"","text":"——《家》 巴金这星期偷空拜读了巴金《家》的一部分,名著给我的感受一直都是这样:既让你说不出她的好,却也让你找不到抛弃的理由。好了,具体的感想等到假期总结的时候再说吧!另外,要过年了,我给自己放一个星期的假,希望把这两天的快乐继续下去。也祝看到这篇笔记的人新年快乐!呵呵……","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(九)","slug":"2011-01-23-note_9","date":"2011-01-23T18:00:00.000Z","updated":"2019-04-20T02:37:02.887Z","comments":true,"path":"2011/01/23/2011-01-23-note_9/","link":"","permalink":"http://andersjing.com/2011/01/23/2011-01-23-note_9/","excerpt":"","text":"——《九》这星期看了一本有关书法的书,有一些收获! 手机写日志太不方便了,就写到这里吧!","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(八、《一则笑话》)","slug":"2011-01-16-note_8","date":"2011-01-16T18:00:00.000Z","updated":"2019-04-20T02:37:02.887Z","comments":true,"path":"2011/01/16/2011-01-16-note_8/","link":"","permalink":"http://andersjing.com/2011/01/16/2011-01-16-note_8/","excerpt":"","text":"——《一则笑话》又一个星期马上就要结束了,一直还记得没写读书笔记。这个星期开始一直在复习,然后就是准备回家,也没有看什么书。不过,倒是看过一本笑话书,就摘抄一则笑话吧:一个东北的同学喜欢说“整”,一天,他和同寝室的一个江西同学出去买方便面。东北的同学说:“整什么味的呢?”江西的同学奇怪地问:“‘整’是什么意思?”东北的说:“‘整’就是‘吃’的意思。”江西的同学记住了……过几天,寝室的厕所堵了,搞得满池污秽,东北的同学一看,就愁眉苦脸地来一句:“这可咋整啊?”只见旁边江西的那位立刻狂吐不止……呵呵呵,这次就写这么多吧!","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(七、《季羡林传》)","slug":"2011-01-09-note_7","date":"2011-01-09T18:00:00.000Z","updated":"2019-04-20T02:37:02.886Z","comments":true,"path":"2011/01/09/2011-01-09-note_7/","link":"","permalink":"http://andersjing.com/2011/01/09/2011-01-09-note_7/","excerpt":"","text":"——《季羡林传》原来对季羡林的了解也有一些,但是非常的少。社会上对他的“国学大师”和“学界泰斗”的尊称给我一种如雷贯耳的感觉。于是当我看到这本《季羡林传》的时候便产生了阅读的冲动。 读过之后,我最大的感受就是这本书的作者是季羡林的狂热粉丝,因为这本书自始至终都是在极力地夸赞他,几乎把他当成神来写。当然,这也可能是季羡林个人魅力太大的原因,我也很佩服他。但为一个人作传似乎站在一个局外人的角度比较合适,这样展现出的人物才会真实,至少在我看来是这样。 季羡林做学问的态度的确令人叹服,那种恒心、毅力远非一般人所能够达到。尤其是在他的晚年,身边的亲人一个个离他而去,这其中包括他的女儿,再加上一些病症等等,一般人能够活下去就是一种勇气。但他还是能够静下心做学问,并且做出了可以让人们称他为“国学大师”的学问,这需要何等的定力! …… 本来还想再写一些其他的评价,但想到一千个人的眼中有一千个季羡林,所以我就不做过多的评价,以免影响了别人对他的看法。 季羡林和麦克阿瑟是截然不同的两种人,可以说走向了两个极端。季羡林隐忍内敛的性格使他经历了晚清、民国、抗战到新中国的文革,最终走到了今天。如果不是这种性格,他很可能在文革的时候就同老舍、傅雷等人携手西去,而不会在一开始的时候拥护文革,直到文革结束后才醒悟过来。当然也就不会有今天的“国学大师”、“学界泰斗”了。而麦克阿瑟,如果不是他那种高傲狂妄的性格,自然也无法成就他“战狼”的称号,或许他会像无数的人一样淹没在历史中。所以我无法评价他们孰是孰非,因为这一个个迥异的性格才组成了一个完整的社会。 写到这里,我又想起了上一篇读书笔记,我们的国家需要唱赞歌的人,也需要像《C形包围》的作者戴旭一样敢于批判的人,给我们警醒。但我明显地感觉到这样的人有点少了。亦或许,是我还没有发现……","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(六、《C形包围——内忧外患下的中国突围》 戴旭)","slug":"2011-01-01-note_6","date":"2011-01-01T18:00:00.000Z","updated":"2019-04-20T02:37:02.886Z","comments":true,"path":"2011/01/01/2011-01-01-note_6/","link":"","permalink":"http://andersjing.com/2011/01/01/2011-01-01-note_6/","excerpt":"","text":"——《C形包围——内忧外患下的中国突围》 戴旭看过这本书之后,我想到的不是我们国家什么时候才能真正崛起,而是我们的国家离一场大规模的冲突、甚至战争、甚至四分五裂(我不想用“灭亡”二字)还有多久。可能是我太悲观了,在我看这本书之前,我也不敢相信自己会有这样的想法,但现在我想引用作者的一句话:“但愿我是杞人忧天!” 是谁在包围我们?韩国?日本?台独?东南亚诸国?印度?藏独?阿富汗的美军?疆独?这一个个据点构成了一个比C形更可怕的U形包围圈,而这些据点的建立者正是——美国!不难发现,每一股危及我们国家安全的势力背后都有美国的影子。为什么?纵观世界上所有国家,除了中国、俄罗斯以及几个中东国家等没有被美国摆平外,其他的哪一个国家不是对美国言听计从的,所以美国对我们的包围也就不难理解了。但是被美国包围还不值得我们忧虑,唯一也是最值得我们忧虑的是我们国民的忧患意识:有几个人意识到了危机? 当我们在为经济上的成绩而沾沾自喜时,当我们因为GDP超过日本而成为全球第二欢呼时,当我们为一个美国佬提出的“G2”而有一种与美国平起平坐的感觉时,会有几个人愿意去思考国家的真正局势,我们高兴还来不及,何必去“杞人忧天”呢?就是这样,我们不仅掉入了美国的军事包围圈,并且还在圈子里过得很舒服。我真的很叹服美国的智慧! 也许有人会说,经济发展了,国家自然会强大,美国的包围圈也就不攻自破了。但问题是我们的经济状况真的如我们想象的那样好么?如果不是一场经济危机,我们还会继续沉浸于两位数经济增长率的美梦之中。当我们发现两万亿美元的外汇储备掉入美国手中的时候,我们才意识到了问题。我们辛辛苦苦创造出来的财富被美国给超前消费掉了,我们牺牲了资源与环境换来的却是一个虚无的数字。经济危机来临后,我们为了自己的外汇储备要去救美国,而救美国的条件就是继续向美国投钱,让那个天文数字继续保持下去,最终我们能够从这个数字上得到什么,现在还不得而知。但有一点很清楚,如果我们不投钱,我们连这个数字也没有了。不知不觉间,我们的经济已经被美国绑架了! 还是那句话,经济上被控制并不可怕,可怕的是没有几个人意识到这个问题。其实一直以来我都没有怎么感觉到鲁迅对那个时代的重要性,但现在,我看到了他的伟大!可今天的“鲁迅”在哪里?或许这本书的作者戴旭可以算一个吧! 没有几个人意识到危机也是可以理解的,看看今天的大学教育就不足为奇了。如果在这样的氛围中真的出现了许许多多有危机意识的人,反倒不正常了! 没进大学的时候,我对有关大学的负面言论是不怎么关注的。我一直以为大学是一个平台,一个可以让你找到适合自己的方向并为之倾注心血的地方,如果你颓废了,那是你自己的问题。但现在我发现自己太理想化了!进大学的第一周是开学教育周,教育之后我的感想就是,如果完全按照学校的制度、要求度过四年大学生活的话,我会成为一个被社会接受的机器! 我不知道在一个刚进大学就被不断告知各个职业的本科生、研究生的平均工资、最高工资、最低工资的氛围里,在一个想转专业却要先把自己不喜欢的专业学好的大学中,在一个大学为了提高就业率甚至可以造出“被就业”的氛围中,如果真的出现了几个有远见的人才,倒真有点不正常了。我忽然间感觉我们的大学就像一个加工厂。社会上需要一种东西,于是工厂里准备制造,就购买机器。同样,社会上需要能够做某一项工作的人,于是大学开设这个专业,引进老师;工厂从外边购进原料,大学从高中招收学生;工厂对原料进行打磨、加工,大学对学生灌输知识;工厂在质检通过之后贴上合格证,大学在学生通过考试之后发个毕业证;于是,出厂喽……呵呵,这怎么像是一个笑话!而我们正是这个笑话中的一个角色! 说了这么多,我好像是在批判现在的大学制度。我不想成为一个只会批判的人,但是一些事情进过思考之后的确有很多的问题。我当然可以简简单单的生活,什么都不去想,但当我发现一些问题之后,如果继续沉默,我会感到不安! 现在我写下这些并不能改变什么,马上我还要投入到为期末考试的复习中,继续延续这个“大学工厂”的笑话。而我只是想,当未来某一天我突然间决定不再为这个“笑话”投入精力的时候,我会想起这个思想是从2011年1月1日写读书笔记的时候萌发的! 新的一年,新的开始,扬帆起航……","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(五、《新中国》 陆士谔)","slug":"2010-12-26-note_5","date":"2010-12-26T18:00:00.000Z","updated":"2019-04-20T02:37:02.886Z","comments":true,"path":"2010/12/26/2010-12-26-note_5/","link":"","permalink":"http://andersjing.com/2010/12/26/2010-12-26-note_5/","excerpt":"","text":"——《新中国》 陆士谔这次看了陆士谔的《新中国》,挺薄的一本书,封面上冠有“中国首部科学预言小说”几个字,这也是它吸引我的一个原因。 整部小说是以作者的一场梦为主体,讲述了陆士谔眼中完美中国的模样,而其中很多场景在今天都已经实现,例如:上海浦东正在召开世博会(“万国博览会”),上海建起了地铁(“地下电车”),此外还有人民广场建起的上海大剧院等等,显示了他超人的预见力。当然这只是在物质方面的预言,这也是这本书的出版者不断强调的,但是其中很多精神或者说国民素质方面的预言如“路不拾遗,夜不闭户”、“完全民主”等今天还远远没有实现,这说明了他预见的局限性,还是社会发展的问题,还有待深思。我们既然都实现了作者眼中科幻般的物质世界,却没有,不,是远远没有实现几千年前就有圣人提出的精神世界,这是为什么?说句实话,我还没有想明白…… 说点题外话,我们只会去努力追求自己尚未拥有的东西,这些东西包括物质和精神方面的,而对于自己已经拥有的东西却不会投入多少精力。经常听到或者看到有人说要珍惜已经拥有的东西,但是真正做到的又会有几个呢?当然这种心理并不一定就是不好的,甚至很多时候这种心理是我们个人甚至整个社会的发展所必需的。只有我们不断地向往,我们才会坚持不懈的追求下去、努力下去,最终获得以前不曾拥有的东西。然后,渐渐地忘记它,同时去寻求更好的(当然前提是自己不曾拥有的)目标来替代它,就这样不断的向前走下去…… 这样看来这是一种积极的心态,但同时有一个问题是我们总认为自己没有的东西才会是最好的,而常常忽略了它的实际价值。当我们历尽艰辛争取到它的时候,经常会发现他没有想象中的那么好,于是我们会有一时的失落。不过大多数情况下这只是一时的失落,因为我们在失落的时候并没有闭上双眼,我们会看到新的自己不曾拥有的东西,这时,我们想起了一句话“化悲痛为力量”,呵呵,新的征程又开始了…… 好了,就说到这里吧!我不想对任何心态进行评价,因为各有千秋,因为我的评价只是站在自己心态的背景之下的。只要保持一种自我满足的心态就好!","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(四、《麦克阿瑟》)","slug":"2010-12-19-note_4","date":"2010-12-19T18:00:00.000Z","updated":"2019-04-20T02:37:02.886Z","comments":true,"path":"2010/12/19/2010-12-19-note_4/","link":"","permalink":"http://andersjing.com/2010/12/19/2010-12-19-note_4/","excerpt":"","text":"——《麦克阿瑟》这次看的是《麦克阿瑟》,在图书馆第一眼看到它的时候我感受到了一股力量!不为其他,只为他这个名字。我一直以来都有一种感觉,一个人的性格、行为与他的名字有很大的关系,而一个人的体形与他的性格有很大的关系。当然也有个别例外的,但在我看来大多数人是这样的。直觉是一种奇妙的东西,虽然我有时候不知道直觉是否可靠,但我还是会相信它,也必须相信它! 书的封面上对他的评价是:高傲自大,毁誉参半的“战狼”!书中对他有这样一段评价:个性使然,麦克阿瑟不会在意任何人对他的看法,他就是要追求独特。如果不是他这样鲜明的个性,也就不会有历史上这位伟大军人的出现,他是耀眼的。无论是人们对他的崇拜或是批评,正因为鲜明的对立,才彰显出麦克阿瑟的真实与完整! 的确,如果麦克阿瑟没有了鲜明的个性,我们也不会在今天仍然记着他。鲜明的个性成就了他,也最终将他推入了深渊,这样的结果是好是坏我不得而知。 “从众”在我们大多数人看来是一个贬义的词语,但是我们却又常常做出从众的行为,因为我们知道“枪打出头”,因为我们太多的顾虑……从某种程度上来说,从众也是一种自我保护的行为,隐匿自己也是保护自己。能否坚持自己的个性,在很大程度上决定了你最终是否为人所知,因为我们只关心新奇的东西。如果一个人做什么事都按照通俗的做法,总是做得合情合理,我们自然不会去关注他,从这个方面来说,这正是我们好奇心的驱使。大多数人期待做出“不凡”的成绩,但最终做出的注定没有几个人,因为如果大家都做到了,这件事就“平凡”了!不凡与平凡是一个矛盾,也是一个统一!","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(三、《语言的突破》 戴尔.卡耐基)","slug":"2010-12-13-note_3","date":"2010-12-13T18:00:00.000Z","updated":"2019-04-20T02:37:02.885Z","comments":true,"path":"2010/12/13/2010-12-13-note_3/","link":"","permalink":"http://andersjing.com/2010/12/13/2010-12-13-note_3/","excerpt":"","text":"——《语言的突破》 戴尔.卡耐基这星期看了卡耐基的《语言的突破》,感觉还行,虽然收获没有上一本书的多。这也可能与没有认真看有关,因为这个星期事情比较多,但这不能作为我的借口。 这部书主要讲述如何提升演讲的能力,虽然我并没有往这方面发展的想法,但作为平时其他方面的提升也是很有帮助的,还是先摘抄几句话吧: 1、使你的信心烙在每一个字词,每一项行动中去。 2、当你失败的次数够多,而你又没有被击倒,你就一定会成功! 3、一个人只要一说“不”,他的自尊心就会促使他固执己见! 4、很少有人因为对方气势高过自己而被对方说服。他可能会点头表示你说的很有道理,不跟你争辩,但是这并不代表你已经说服了他。 5、加强团队工作的十条建议: 1、明确团队目标;2、团队中的新来者;3、集合大家的意见;4、维持秩序;5、保持高涨的士气; 6、使信息流通; 7、请求别人的帮助; 8、给出恰当的反馈; 9、用事实说话; 10、举办集体活动 下边说点题外话,重视别人会使别人产生被敬重的感觉,但这是建立在一个前提之上的,那就是你在别人的心目中是一个地位比他高,最起码是和他一样的人,否则你的重视不会对他产生任何效果。因为在他的心中,你的这些行为都是应当的,甚至会认为你在献殷勤。所以,保持一种不卑不亢的态度不仅是对自己的尊重,也会有利于与其他人的交往。 今天就写到这里,因为寝室路由器出了点问题,所以没有及时发表出来,以后要注意这个问题,提前准备,以防万一。","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(二、《人性的优点》 戴尔.卡耐基)","slug":"2010-12-05-note_2","date":"2010-12-05T18:00:00.000Z","updated":"2019-04-20T02:37:02.885Z","comments":true,"path":"2010/12/05/2010-12-05-note_2/","link":"","permalink":"http://andersjing.com/2010/12/05/2010-12-05-note_2/","excerpt":"","text":"——《人性的优点》 戴尔.卡耐基 第一次认识卡耐基是读他的《人性的弱点,看他将现实赤裸裸地摆在面前,让人有点措手不及的感觉,但那只是现实,也的确是现实,当时的感觉可以用“震撼”来形容。所以当我在图书馆里看到卡耐基全集的时候,就毫不犹豫地借了出来。这个星期读了他的《人性的优点》,虽然因为时间没有安排好,后来读的时候赶得有点紧,但昨晚的挑灯夜读却让我没有一丝倦意,只是一次大丰收!里边的很多思想以前也接触过,但这次的接触让我有一种恍然大悟的感觉。如果没有这次的阅读,我或许永远不会想起我曾经也见到过这么多这么优秀的思想。正在大学中感叹“遑遑欲何之”的我似乎有了一点清晰的思路,燥热的心有了一种平静的感觉,原来生活可以这样、、、 这次摘抄的话比较多: 1、在纷繁复杂的现代城市中,只有保持内心平静的人,才不会变成神经病。 2、忧虑是容貌最大的杀手。 3、保持自己的个性。 4、一个沙漏一次只能流过一粒沙,一个人在一个时间里只能做一件事。 5、时间并不能像金钱一样可以让我们随时存储起来,以备不时只需。我们所能使用的只有被寄予的那一瞬间。 6、幸福并不是靠别人来布施,而是要自己去赢取别人对你的需求与喜爱。 7、如果箱子人生中得到快乐,就不能只想到自己,而应为他人着想,因为快乐来自于你为别人,别人为你。 8、困难特别会吸引坚强的人。因为他们只有在拥抱困难时才会真正认识自己。 9、保持热忱。 10、只有养成储蓄和积累的习惯,将来才有希望享受成功与财富。 11、金钱能够买到一天不错的狗,但却买不到它摇尾巴,挥霍无度的恶习恰恰显示出一个人没有抱负,没有理想,甚至就是向失败自投罗网。 12、用争夺的方法你永远得不到满足,但用让步的方法,你所得到的可能比你期望的更多。 13、赢得争论的唯一方法就是避免争论。 14、在你进行辩论的时候也许你是对的,绝对是对的。但在改变对方的思想方面,你大概会一无所得,一如你做错了一样。 15、不合理的批评往往是一种掩饰了的赞美。(没有人会踢一只死狗) 16、用幽默化解危机。 17、坐在幸福的一椅垫上,人会睡着,在被鞭打被奴役的时候,人才会得到学习一些事物和道理的机会。 18、要是生命中每一项我们每年所追求的事物,都只要花很少的努力就可以得到预期的结果,我们将什么也学不到,而生命也会索然无味。做什么都成功,人将会变得多么傲慢自大!失败才能使人谦虚。当自己面对失败,要理性地劝慰自己:这是绝佳的学习机会,诚然不易,但这的确是难得的经验。 19、正视逆境,有悲伤的地方才会有圣地 20、苦难是金,不要认为自己一无所有。(持有这种信念,我们就永远不会破产了。) 21、一个人不应该做情绪的奴隶,让一切行动皆受制于自己的情绪,人应该反过来控制自己的情绪。 22、我们所能感到的疲倦绝大部分都是由于心理的影响。事实上,纯粹由生理引起的疲劳是很少的。 23、四个工作的好习惯: (1)、清除你桌面上的纸张,只留下与你正要处理的问题有关的东西。 (2)、根据事物的重要程度来做事。 (3)、当你碰到问题需要解决时,如果必须做决定,就当场决定,不要犹豫不决。 (4)、学会如何组织、分层管理和监督。 24、人不会死于工作过度,而会死于浪费和忧虑。 后记:面对困境,如果想的是它有多么可怕,多困难,那么你可能永远沉浸在对它的恐惧之中,但是即使这样你还要面对困难,你永远无法逃避,你还要想办法去解决它。那与其这样我们何不积极乐观去面对,主动地去解决?这样做的结果是我们既快乐地解决了困难,又从中学到了知识。困境应该作为我们的好朋友,因为只有它才能证明我们的实力,才能见证我们的成长,当我们一无所有的时候,困境还誓死不渝地守在我们身边,像这样好的朋友难道不应该受到我们的欢迎么?如果世界上的每一件事都按照我们的意愿发展,那还有什么成功与失败可言?在困境中有人成功了,但更多的人失败了,这样才能见证成功者与失败者的区别,或许这就是困境存在的最大意义。 这次的读书笔记写的有点晚了,借口可以找很多。但无论如何最终写出来了,所以我没有食言,我也不会食言!","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]},{"title":"本科读书笔记(一、《世界因你而不同》 李开复)","slug":"2010-11-27-note_1","date":"2010-11-27T18:00:00.000Z","updated":"2019-04-20T02:37:02.885Z","comments":true,"path":"2010/11/27/2010-11-27-note_1/","link":"","permalink":"http://andersjing.com/2010/11/27/2010-11-27-note_1/","excerpt":"","text":"——《世界因你而不同》 李开复这本书高三的时候看过一遍,今日再看还有一种新鲜的感觉。改变世界,对无数的人(包括现在的我)来说都是不敢想象的,但这样的事最终还是有人做到了。也许曾经的他们也没有想过这个“天方夜谭”,但是他们做到了。如果我们只记得仰望,更多的时候只会在山脚下感叹理想的伟大,而我们最需要的却是脚踏实地的攀登。理想很丰满,现实很骨感,为现实增加分量的要靠我们自己,也只能靠我们自己! 摘抄几句有感触的话: 12345678910111、一个世界有你,一个世界没有你。让两者的不同最大,就是你一生的意义。2、勇于选择,有一颗勇敢的心,这是走向成功的第一步!3、You are good at what you love ,you love what you good at !4、只会思考而不会表达的人,与不会思考的人没有什么两样!5、人生在世的时间非常短,如果你总是不敢做想做的事情,那么一生过去了,你留下来的只有悔恨,只有懊恼。我常常说追随我心,当然追随我心必须要在负责、守信、守法的前提之下。在这个前提之下,冒一些风险也是值得的。虽然经历风险的日子可能会比较艰难,但如果不这样做,那蹉跎十年、二十年后我可能会后悔终生!6、我终于认识到,失去勇气就意味着丧失了面对挑战的机会,不但于事无补,还可能让我悔恨终生。人生在世,我们要用勇气改变可以改变的事情,用胸怀接受不能改变的事情,并用智慧分辨二者的不同。 第一篇读书笔记就想写到这里吧,没有什么文采,只是自己真实的感受!也许会片面,抑或会浅薄,但哪怕从一本书中发现了一句有感触的话,那就不枉我的一番阅读!","categories":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/categories/读书笔记/"}],"tags":[{"name":"读书笔记","slug":"读书笔记","permalink":"http://andersjing.com/tags/读书笔记/"}]}]}