Friday, July 29, 2016

Pages Should Not Appear in Search Engine

Not all the pages need to appear in search engine search result.
 
eg:
1. Error Pages (general error, page not found, forbidden, etc)
Reason: We don't want people click the link in Google and directly show error page.
 
2. Pages in pop up iframe
Reason: We don't want people click the link in Google and see incomplete page.
3. Maintenance Pages
Reason: We don't want people click the link in Google and see maintenance page.
4. Pages with Affiliate ID
Reason: We don't want people click the link in Google and let affiliate earn the money.
 
We can update robots.txt to disallow search engine web crawler crawl the page and show in search engine search result.
 
eg:



Portal totally do not want to show in search engine search result.


Other that robots.txt, we also can add meta in the page to disallow search engine crawl the page.

Friday, July 8, 2016

IT职业规划选技术路线还是管理路线

最后9点是感觉是金玉良言,要做到真的不容易。
尤其第一点控制情绪真是件不容易的事情,这个要长期磨练性情才行。

IT职业规划让很多人为了选择技术路线还是管理路线很纠结,他们做了很多遍性格测评,还看了幼儿园版职业规划,还有技术人员平滑升级职业规划,但还是一头雾水。

我到底喜不喜欢和人打交道?我也不清楚啊。管理好还是技术好?做了管理以后管理不强、技术又丢了怎么办?....
技术路线通常是这样的:工程师-高级工程师-架构师-高级架构师-资深架构师…
管理路线通常是这样的:工程师-高级工程师-项目主管-项目经理-部门经理…
注意,职业生涯的开始都是工程师,必须做2-3年的工程师,只有做了优秀的工程师,才能在一个团队立足,否则会出现外行领导内行的尴尬局面,这在技术团队是要极力避免的。
傻瓜版IT职业道路选择器
1. 喜欢与陌生人打交道的,喜欢天天与陌生人打交道的,乐此不疲的,走管理路线。
2. 喜欢技术的(即使沟通能力也很强,但偏喜欢技术),喜欢钻研算法和框架的,走技术路线。
3. 虽然喜欢技术,但看到代码发晕要吐的,没耐心的,不喜欢攻坚的,走管理路线。
4. 30岁以后代码写不动的,走管理路线。
5. 不了解自己的,去做性格测评再来,返回第一步
6. 话唠型的,特别爱show的,嘴特贫的,去做销售,咨询,讲师,走忽悠路线。
7. 技术平平,但想养家糊口,属于土鳖型的,30岁以后走管理路线。
8. 想发财,但什么都不想选的,先去做小三,然后返回第一步。
有很大一部分倾向于走技术线的工程师,非常担忧自己三十岁之后,会失去竞争力。我觉得,这实在与年龄没有关系,我认识很多三十多岁,技术线走得很好的人。关键在于,如果你十年如一日的,始终在写同样的代码,义无反顾的做一名Coder,那不淘汰你,淘汰谁呢?我想像中的优秀的架构师,类似于随军参谋,当好一个参谋,可不是会打枪就可以的。
最后提醒一点,不管是做技术,还是做管理,都需要与人打交道,从这个意义上讲,不管喜欢不喜欢,都应该积极的去拓展自己的人际能力。一个好的架构师,往往也是非常擅长沟通的,只是他更喜欢技术一点。所以,即使你走技术路线,也是要学会与人打交道与人沟通的。
傻瓜版IT职业道路选择器Q&A
Q:我想走技术路线,但技术不强怎么办?
A:那就要加强自己的技术学习和积累了,必须深入研究一个框架,花个1年甚至两年的时间。再比如,别人工作干完了打游戏了,你就去研究新的框架,暗中超越对手至少半半步。记得:做自己喜欢的事情才能获得幸福感。所以,如果你不喜欢管理,那就坚定的做技术,那样会更幸福!
Q:我选择了走管理路线,但领导不给我机会,也不提拔我怎么办?
A:首先你要让你的领导知道你的想法和目标,然后我们一定要把基本的事情做到与众不同,最低要求是比你的对手多走半步,那样领导有提拔的机会才能给你。除非领导是瞎子,否则一旦有机会就是你拿到。另外,在一个技术团队中,如果你不能做的技术最杰出,解决问题的能力最强,而且大家的技术能力都差不多,如果是这样的情况,晋升靠的就不是技术能力了,而是其它能力:软实力,沟通能力,英语能力,团队协作能力等等。
Q:我平时喜欢闷头一个人写代码,遇到问题也不声张,除非自己实在解决不了采取问别人,我这样如何才能出人头地呢?
A:兄弟,你这样就是极品宅男了,人家是宅在家里,你是宅在办公室,这样肯定不行的,不要说出人头地了,你的团队合作能力不行的。可以看看这篇文章:如何提高自己的团队合作能力?
Q:我对现在的工作和现在的公司不满意,我想跳槽,但我已经跳了3次了,是不是太多了?我现在很纠结是不是要跳槽?
A:要不要跳槽要问自己三个问题,1:是否公司遇到瓶颈,比如马上要倒闭了,2:是否瓶颈在于自己的糟糕上司,3:瓶颈是否在自己身上。如果是情况1那就直接跳槽。情况2先争取轮岗机会(轮岗也是要表现的)。情况3跳槽不解决问题,依赖现有平台寻求个人突破更经济。跳3次不多,如果一年跳3次就多了点。另外你要确定自己的职业目标,跳槽要围绕这个职业目标进行,否则对你的长远职业生涯发展不利。
Q:我想做一名技术型管理者,需要怎么对自己进行培养呢?
A:技术人员转为技术型管理者是一个非常可行的路线,我想应该这些方面入手:
        (1)懂得情绪控制,不能够随便发脾气、批评人
   (2)懂得把工作合理的分配给下面的人,而不是总是捏在自己手里。
   (3)要有良好的沟通能力,可以指导下属,把工作要求讲清楚
   (4)保证公平
   (5)技术牛,能够指导下属,服众
   (6)培训下属
   (7)为下属着想,不要让工作影响到下属的家庭生活,制造出家庭矛盾
   (8)要当防火墙,隔离一些负面的噪音,让大家专心工作。
   (9)有有承担意识,敢于承担责任。
  当然必须要说的是,管理是科学,更是艺术,艺术范畴的事情,实在是需要慢慢体会的。

Refer : http://blog.chinaunix.net/uid-773723-id-3285128.html

Thursday, November 6, 2014

Interface vs Abstract Class

  • interfaces can have no state or implementation
  • a class that implements an interface must provide an implementation of all the methods of that interface
  • abstract classes may contain state (data members) and/or implementation (methods)
  • abstract classes can be inherited without implementing the abstract methods (though such a derived class is abstract itself)
  • interfaces may be multiple-inherited, abstract classes may not (this is probably the key concrete reason for interfaces to exist separately from abtract classes - they permit an implementation of multiple inheritance that removes many of the problems of general MI).


Reference : http://stackoverflow.com/questions/761194/interface-vs-abstract-class-general-oo

Wednesday, August 27, 2014

XML Deserialize Throw "xml was not expected."

Today i get error when deserialize xml string from my partner

XML

          string xmlRaw = "";
            xmlRaw += "<?xml version=\"1.0\"?>";
            xmlRaw += "<PartnerResponse xmlns=\"http://example.com\">";
            xmlRaw += "<ResultCode>00000</ResultCode>";
            xmlRaw += "<Description>Success</Description>";
            xmlRaw += "</PartnerResponse>";


Error 

{"<PartnerResponse xmlns='http://example.com'> was not expected."}




Problem
I'm not define any default name space in my class

   /// <summary>
    /// Response - Generic Response
    /// </summary>
    public class PartnerResponse
    {
        [XmlElement]
        public string ResultCode { get; set; }
        [XmlElement]
        public string Description { get; set; }
    }


Solution

Either define namespace or ask partner remove xmls from xml string.

Monday, May 26, 2014

背1919 乘法

新的乘法非常好用,不妨學一學...

當媽媽因為小朋友會背99 乘法表而高興的同時,印度小孩已經在背1919 乘法了!

難怪近幾年印度進步得那麼快~
印度的九九表是從1背到19 (→ 19 X19 乘法?),不過您知道印度人是怎麼記11 到19 的數字嗎?
【印度式計算訓練】
在這裡我只介紹印度的九九乘法。

實在太神奇了!
 

請試著用心算算出下面的答案:

13 X12 =?

(被乘數)(乘數)

印度人是這樣算的:

第一步:

先把(13)跟乘數的個位數(2)加起來,

13+2=15

第二步:

然後把第一步的答案乘以10 (→也就是說後面加個0 )

第三步:

再把被乘數的個位數(3)乘以乘數的個位數(2),

2X3=6

(13+2)X10+6 =156

就這樣,用心算就可以很快地算出11X11到19X19了喔!

這真是太神奇了!


我們試著演算一下:

14×13:
(1)14+3=17
(2)17×10=170
(3)4×3=12
(4)170+12=182

16×17:

(1)16+7=23

(2)23×10=230

(3)6×7=42

(4)230+42=272

19×19

(1)19+9=28

(2) 28×10=280

(3)9×9=81

(4)280+81=361


真的好簡單喔!大家快點轉來讓小朋友們學一學吧!!!

你同意嗎?



本篇文章摘取 自網路,如有不適當或對文章出處有 疑慮 ,請來信與我們告知,我們 將會在最短時間進行撤除 
---------------------------------

Thursday, March 20, 2014

Gordon模型的局限和股票估值

绝对价值(内在价值)
以前多数人在寻找股票的绝对价值,什么是公司的内在价值?有一个广泛接受的“红利贴现估值模型”,估值V0=D1贴现+D2贴现+...+(Dn贴现+Pn贴现)。Dn--指第n年的红利;Pn--指第n年卖出股票的价格,假设企业能永续运营,而股票一直不卖,则Pn代表第n年以后的所有红利贴现。所以,如果n足够大,则估值V0=所有预期红利的贴现值。这个公式几乎没有实战的意义,但它对公司内在价值的理解作了一个相当明确并广泛被接受的说明。这个公式是否忽略了资本利得(即留存利润再投资的收益)呢?由于Pn包含了资本利得,故并没有忽略资本利得。

一、Gorden模型
亦称固定增长的红利贴现模型,因Gorden普及了这个模型而被命名。假设持股一年,并假设红利每年以固定的增长率g增长,则公式一可以简化为
  • 公式一:V0=D1/(K-g)
注:V0--现在的估值;D1--注意是一年后的预期红利,而不是本年度已实现的收益;K--“必要收益率”亦称“市场资本化率”:根据风险高低和利率而调整的合理收益率,由于资本预期收益率在均衡时应该等于K,故又可以叫预期收益率。g--红利以固定的增长率g增长。
  
假设公司有更好收益率的投资机会,留存部分收益,而不是全部以红利派发。公式二就转化如下:
  • 公式二:V0=E1*(1-b)/(K-b*ROE)
E1指一年后预期的净收益,ROE是新投资的股权收益率,b是再投资率(即再投资资金占盈利的百分比),则g=再投资收益/账面价值=(再投资收益/整个收益)*(整个收益/账面价值)=b*ROE。如果全部分红,即b=0,则D1=E1,否则D1=E1*(1-b)。
意义:当ROE>K时,b越大,则V0迅速增大,即投资于回报率大于社会预期收益率的项目,会使股价大增;而一个低资产收益率的公司,要扩大投资在原项目,而不是高收益的新项目时,则有弊无利,全部分红更好,如中国铁建。
缺点:公式一、二的前提是公司永续经营,且红利稳定或稳定增长,很难找。

二、估值的底线
  1. 清算价值(本-格林汉姆的方法)
  2. 期次的底线是重置成本,约等于净资产。

   三、MM自由现金流估值
相对价值

目前,证券分析更注重被估值公司的相对价值,即与同行业其它公司或本行业均值的比较。一个重要的概念是:绝大多数情形下估值是不精确的,所谓“黄金有价玉无价”。
  1. 估值模型有很多假设条件,并简化环境。
  2. 估值的不精确并不影响估值的重要性,估值的重要性通过同类股票的比较来得出买卖的决策。
  3. 估值明显受大众心理和经济周期的影响,除非你也象巴菲特一样,持股十年。
  4. 不同类型的公司估值方法并不一样,没有通用的模型,有些股票根本算不到合适的模型,如有发展潜力的、目前尚亏损的网络公司,人们只能用点击率和业务收入的比较来判断公司的优劣。从此角度而言主,你可以有你自己的独创办法。

一、彼得-林奇:市盈率估值模型 
华尔街的实战经验:增长率应大致与市盈率相等。

学院派教科书认为这些经验“可能与红利帖现模型的一些形式是一致的,尽管常有有差异”。由于PE=P0/E1=V0/E1=(1-b)/(k-b*ROE),他们更强调以下结论:1,市盈率是一个很好的预测增长的指标,再投资率越高,增长率就越高,但市盈率并不一定高。当ROE<k时就是这种情形。但ROE>k时,PE会陡然增高。2,公司的风险越高,必要收益率也越高,即或k值越大。因此市盈率越小。当然这是不考虑增长率的变化时。请注意:市盈率是用下一年预期收益计算出来的(这与我们平时的习惯不同)。
我认为这是一个快速评估方法,结果多是上限(也许因为目前处在熊市)。适用于三五年内快速增长且平稳的公司,特别适用于增长加速的公司。

二、基于同类型的公司之间的比较的其它估值模型
  1. 市值/帐面价值比率
  2. 市值/现金流比率
  3. 市值/销售额比率
“银行贷款”模型

Gordon模型假设企业的经营是永续的,实际情况并非如此,估值取决于你对公司的发展能预期多长时间,一年?五年或十年?不同的时间点,估值结果是不同的。如果企业没有特别垄断优势,上市前三年业绩非常好,处于盈市高峰期,在上市时如何评估呢?
受巴菲特“不固定利息的股权债券”思想启发,本人设计了此模型。原理:投资者类似于银行,放贷给公司A元(或估值,公司用股票抵押A元)。通过预测每年的增长率来计算净利润总额B,而B应等于利息总额,通过利息总额贴现贷款额A,即估值。此过程复杂,可通过EXCELL表格来完成。到期收回本息,即A+B。此模型主要针对近期增长很快,但持续时间不长,且增长率变化较大的公司。
例子:海普瑞如果持股2-3年,且净利增长第1到第3年分别为50%,30%,10%,用此模型估值,约121--186元/股,我认为与股价市场表现相当地匹配。
估值是一个范围,而不是一个精确的价位。如果一个人认为某企业明年增长50%,后年增长30%,大后年这个行业不确定非常大,只愿意持股二年;而另一个人虽同意明后年的预期,但他比较肯定,此企业在第三年还能增长15%,他买入股票后准备持股三年,两人的估值是不一样的:后者愿意出更高的价。如果公司符合永续稳定,则估值可用5年期的贴现值替代;如果一个可预期增长期为3年的公司,其估值范围在2-3年贴现值之间;如果一个公司目前非常赚钱,但市场不确定很大,则估值范围在1-2年贴现值之间,巴菲特说“头一年不赚钱没有关系,只要以后每年能够有20%的股东权益报酬率……” 实际上,没有哪个人能预测五年后的事,所以银行的长期贷款最长时间是五年,巴菲特能持股十年,他不仅仅是要五年才重新评估一次,而是年年要跟踪。
意义:
  1. 此模型的结果是比较保守的,A-因为公司除了支付利息,自己还要有利润才行;B-贴现时间越短,估值越保守,因为五年的长期贷款利率目前不及6%,但因复利原因,第二年起就超过了10%。
  2. 模型适应性强,不必是稳定增长的红利,也不必是稳定增长的净利润。
  3. 误差主要来源于对未来数年的增长率的预期的准确性和持股时间。
  4. 找出持续竞争力的公司,预测时间越长,你的发现就可能越大。
  5. 缺陷:原理上不适合短线评估。

戈登股利增长模型(Gordon Dividend Growth Month)

  戈登股利增长模型又称为“股利贴息不变增长模型”、“戈登模型(Gordon Model)”,在大多数理财学和投资学方面的教材中,戈登模型是一个被广泛接受和运用的股票估价模型,该模型通过计算公司预期未来支付给股东的股利现值,来确定股票的内在价值,它相当于未来股利的永续流入。戈登股利增长模型是股息贴现模型的第二种特殊形式,分两种情况:一是不变的增长率;另一个是不变的增长值。
  不变增长模型有三个假定条件:
  1、股息的支付在时间上是永久性的。
  2、股息的增长速度是一个常数。
  3、模型中的贴现率大于股息增长率
  在戈登模型中,需要预测的是下一期股利及其年增长率,而不是预计每一期的股利,以下就是固定股利增长率政策下未来股利的流入量表:

  将所有现金流折现到0点  
  ……,无限项
  应用等比数列的求和公式,上式可以简化为:
  由于这个公式十分简单,因此人们很容易忘记这是一个无限项的运算。
  根据这个模型,公司的股利政策会对股票价值产生影响。这个模型十分有用,原因之一就是它使投资者可以确定一个不受当前股市状况影响的公司的绝对价值或“内在价值”。其次,戈登模型对未来的股利(而不是盈余)进行计量,关注投资者预期可以获得的实际现金流量,有助于不同行业的企业之间进行比较。尽管这个模型的概念十分简单,但是除了一些机构投资者以外,应用范围并不广泛,因为如果缺乏必要的数据和分析工具,它用起来就非常麻烦。
  股利增长模型被麦伦·戈登教授得以推广,因此被称为“戈登模型”,这个模型几乎在每一本投资学教材中都会出现。纽约大学教授Aswath Damodaran在他所著的《投资估价》一书中写道:“从长期来看,用戈登模型低估(高估)的股票胜过(不如)风险调整的市场指数。”尽管任何一种投资模型都不可能永远适用于所有股票,但戈登模型仍被证明是一种可靠的方法,用以选择那些在长期从总体上看走势较好的股票。它应该是投资者用来在其投资组合中选择其中一些股票时运用的有效工具之一。
 戈登股利增长模型的主要内容
  该模型认为,用投资者的必要收益率折现股票的必要现金红利,可以计算出股票理论价格
  戈登模型(Golden Model)揭示了股票价格、预期基期股息、贴现率和股息固定增长率之间的关系,用公式表示为:
  P=D/(i-g)
  其中:P为股票价格;D为预期基期每股股息;i为贴现率;g为股息年增长率。
  由于股票市场的投资风险一般大于货币市场,投资于股票市场的资金势必要求得到一定的风险报酬,使股票市场收益率高于货币市场,形成一种收益与风险相对应的较为稳定的比价结构,所以戈登模型中的贴现率i应包括两部分,其一是货币市场利率r,其二是股票的风险报酬率i′,即i=r+i′,故戈登模型可进一步改写为如下公式:
  P=D/(r+i′-g)
  这一模型说明股票价格P与货币市场利率r成反向关系,r越高,股价P越低,反之亦然,这一关系被现今各国实践所证实。
  戈登股利增长模型的公式详解:
  贴现现金流模型的公式如下:
      V=\frac{D_1}{(1+k)^1}+\frac{D_2}{(1+k)^2}+\frac{D_3}{(1+k)^3}+\cdots+\frac{D_t}{(1+k)^t}  (1)
  式中:
V——股票的内在价值;
Dt——在未来时期以现金形式表示的每股股利
k——在一定风险程度下现金流的合适的贴现率
  如果我们假设股利永远按不变的增长率增长,那么就会建立不变增长模型。T时点的股利为:
  Dt = Dt  1(1 + g)
   = D0(1 + g)t  (2)
  用Dt = D0(1 + g)t置换公式(1)中的分子Dt,得出:
   V=\sum_{t=1}^{\infty}\frac{D_0(1+g)^t}{(1+k)^t}
  =D_0\sum_{t=1}^{\infty}\frac{(1+g)^t}{(1+k)^t}  (3)
  运用数学中无穷级数的性质,如果k>g,可知:
     \sum_{t=1}^{\infty}\frac{(1+g)^t}{(1+k)^t}=\frac{1+g}{k-g}  (4)
  把公式(4)代入公式(3)中,得出不变增长模型的价值公式:
     V=D_0\frac{1+g}{k-g} (5)
  假如去年某公司支付每股股利为1.80元,预计在未来日子里该公司股票的股利按每年5%的速率增长。因此,预期下一年股利等于1.80×(1+0.05)=1.89(元)。假定必要收益率是11%,根据公式(5)可知,该公司的股票等于1.80×(1+0.05)/(0.11-0.05)=1.89/(0.11-0.05)=31.50(元)。而当今每股股票价格是40元,因此股票被高估8.50元,建议当前持有该股票的投资者出售其股票。
  方程(5)可用于解出不变增长证券的内部收益率。首先,用股票的当今价格代替V,其次,用k * 代替k,其结果是:
    P=D_0\frac{1+g}{k^*-g}  (6)
  经过变换,可得:
  
     k^*=\frac{D_0(1+g)}{P}+g
  =\frac{D_1}{P}+g  (7) 
  用上述公式来计算上例公司股票的内部收益率,得出:
  
   k^*=\frac{1.80\times(1+0.05)}{40}+0.05=9.725%
  由于该公司股票的内在收益率小于其必要收益率,显示出该公司股票价格被高估。

不变增长模型与零增长模型的关系
  零增长模型实际上是不变增长模型的一个特例。假定增长率g等于0,股利将永远按固定数量支付,这时,不变增长模型就是零增长模型。
  从这两种模型来看,虽然不变增长的假设比零增长的假设有较小的应用限制,但是在许多情况下仍然被认为是不现实的。由于不变增长模型是多元增长模型的基础,因此这种模型极为重要


Reference : http://blog.sina.com.cn/s/blog_5f5f9a890100d69g.html