怎么才能知道cf山一区所有玩家的cf名字大全啊

谢邀。个人推荐《牛津通识读本》系列。&br&&br&由于不了解题主,很多书籍无法推荐,因此我只能说些确实比较广泛适用的书籍。此间于我第一位就是《牛津通识读本》系列,或许它的英文名更能说明其性质:&i&Very Short Introduction.&/i&简称VSI series。&br&&br&牛津大学出版社自95年开始出版,总数迄今近400本,国内经译林出版社翻译的应在70余本左右。&br&&br&理由有四:&br&&br&&b&1.面广。&/b&&br&&br&&img src=&/3db09ac156fdcaf40d8fbdd0f8a6db6f_b.jpg& data-rawwidth=&913& data-rawheight=&741& class=&origin_image zh-lightbox-thumb& width=&913& data-original=&/3db09ac156fdcaf40d8fbdd0f8a6db6f_r.jpg&&文学、宗教、经济、哲学、心理、物理、天文、数学、逻辑,大学科不用提,以人为主的尼采、卡夫卡、康德,以议题为主的全球化、动物权利、女权主义、美国总统制等等。覆盖面之广,我周围所有被推荐的朋友,都能在其中找到自己感兴趣的一本。&br&&br&全书目一览:&a href=&///?target=http%3A//en.wikipedia.org/wiki/A_Very_Short_Introduction& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Very Short Introductions&i class=&icon-external&&&/i&&/a&&br&&br&300年前的知识假如画成一张地图,那感觉应该是20年前的北京地铁;当下的知识假如也画成一张地图,那就是现在东京的地铁。经过数轮信息爆炸,如今我们的知识已经庞杂到了普通人难以理解的地步,VSI对于我的重要意义,就是它绘制了一张大比例尺的地图,尽可能让你扫一眼就知道大致的知识结构和重要热点,当然,都是入门级的。&br&&br&&br&&b&2.可信。&/b&&br&&br&这里的可信不仅仅说的是牛津大学出版社在作者上的选定,译林出版社的校译也非常靠谱。同时值得注意的是,译林还为每本读本约了国内相应的学者作序。以我现在手旁的《简明逻辑学》为例:作者是墨尔本大学的普利斯特哲学教授,序言作者是中大逻辑认知研究所所长鞠实儿。我想在这种学术著作上,序言作者一般还是会参与一部分校对工作的。&br&&br&&br&&b&3.易读。&/b&&br&&br&篇幅短、内容浅。由于本意就是面向大众,所以每本的篇幅基本都在100到200页之间,章节之间的逻辑关联很是清晰明了,一般只有6到10小章,行文用词也非常浅显易懂。每天如果抽出半个小时,基本两周就能看完一本,而且还不容易忘。&br&&br&&b&4.双语。&/b&&br&&br&对于希望同时提升英语阅读能力的朋友来说,这一点实在是怒赞力推。每本书都是中英文双语对照,而且在中文结束部分都会有专门的英文术语解释表,这太亲切了!当年大学双学位新闻学,自己脑子发热去啃英文原版的《全能记者必备》,那简直就是我英文阅读史上一场可歌可泣的战役。&br&&br&外语阅读更需要潜移默化式的积累,坚持的时间长度比每次阅读的量度要重要得多。所以这类小容量的中英对照阅读和重点单词提示,其实更适合日常的英语学习与保持。&br&&br&总结:个人觉得《牛津通识读本》覆盖面广、内容可信、易于阅读、易于双语学习,非常适合入门级读者,希望你希望。
谢邀。个人推荐《牛津通识读本》系列。 由于不了解题主,很多书籍无法推荐,因此我只能说些确实比较广泛适用的书籍。此间于我第一位就是《牛津通识读本》系列,或许它的英文名更能说明其性质:Very Short Introduction.简称VSI series。 牛津大学出版社自95…
弊端是,没有人还记得面向对象原本要解决的问题是什么。&br&&br&1、面向对象原本要解决什么(或者说有什么优良特性)&br&似乎很简单,但实际又很不简单:面向对象三要素&b&封装、继承、多态&/b&&br&&br&(&b&警告&/b&:事实上,从业界如此总结出这面向对象三要素的一刹那开始,就已经开始犯错了!)。&br&&br&&b&封装&/b&:封装的意义,在于明确标识出允许外部使用的所有成员函数和数据项,或者叫&b&接口&/b&。&br&&br&有了封装,就可以明确区分&b&内外&/b&,使得类实现者可以修改封装&b&内&/b&的东西而不影响&b&外&/b&部调用者;而外部调用者也可以知道自己不可以碰哪里。这就提供一个良好的合作基础——或者说,只要&b&接口&/b&这个基础约定不变,则代码改变不足为虑。&br&&br&&br&&br&&b&继承+多态&/b&:继承和多态必须一起说。一旦割裂,就说明理解上已经误入歧途了。&br&&br&先说&b&继承&/b&:继承同时具有两种含义:其一是继承基类的方法,并做出自己的改变和/或扩展——号称解决了代码重用问题;其二是&b&声明&/b&某个子类&b&兼容&/b&于某基类(或者说,接口上完全&b&兼容&/b&于基类),外部调用者可无需关注其差别(内部机制会自动把请求派发[dispatch]到合适的逻辑)。&br&&br&再说&b&多态&/b&:基于对象所属类的不同,外部对同一个方法的调用,实际执行的逻辑不同。&br&&br&很显然,多态实际上是&b&依附于继承的两种含义&/b&的:“改变”和“扩展”本身就意味着必须有机制去自动选用你改变/扩展过的版本,故无多态,则两种含义就不可能实现。&br&&br&所以,多态实质上是继承的实现细节;那么让多态与封装、继承这两个概念并列,显然是&b&不符合逻辑&/b&的。不假思索的就把它们当作可并列概念使用的人,显然是从一开始就被误导了——正是这种误导,使得大多数人把注意力过多集中在多态这个战术层面的问题上,甚至达到近乎恶意利用的程度;同时却忽略了战略层面的问题,这就致使软件很容易被他们设计成一滩稀屎(后面会详细谈论这个)。&br&&br&&br&实践中,继承的第一种含义(实现继承)意义并不很大,甚至常常是有害的。因为它使得子类与基类出现强耦合。&br&&br&继承的第二种含义非常重要。它又叫“接口继承”。&br&&b&接口继承&/b&实质上是要求“做出一个良好的抽象,这个抽象规定了一个兼容接口,使得外部调用者无需关心具体细节,可一视同仁的处理实现了特定接口的所有对象”——这在程序设计上,叫做&b&归一化&/b&。&br&&br&&br&&b&归一化&/b&使得高层的外部使用者可以不加区分的处理所有接口兼容的对象集合——就好象linux的泛文件概念一样,所有东西都可以当文件处理,不必关心它是内存、磁盘、网络还是屏幕(当然,对底层设计者,当然也可以区分出“字符设备”和“块设备”,然后做出针对性的设计:细致到什么程度,视需求而定)。&br&&br&&b&归一化&/b&的实例:&br&a、一切对象都可以序列化/toString&br&b、一切UI对象都是个window,都可以响应窗口事件。&br&&br&——必须注意,是一切(符合xx条件的)对象皆可以做什么,而不是“一切皆对象”。后者毫无意义(从信息论角度上说,一切皆xx蕴含的信息量为0)。&br&&br&&br&显然,&b&归一化&/b&可以大大简化&strong&使用者&/strong&的处理逻辑:&br&这和带兵打仗是类似的,班长需要知道每个战士的姓名/性格/特长,否则就不知道该派谁去对付对面山坡上的狙击手;而连长呢,只需知道自己手下哪个班/排擅长什么就行了,然后安排他们各自去守一段战线;到了师长/军长那里,他更关注战场形势的转变及预期……没有这种层层简化、而是必须直接指挥到每个人的话,累死军长都没法指挥哪怕只是一场形势明朗的冲突——光一个个打完电话就能把他累成哑巴。&br&&br&反过来也对:军长压根就不应该去干涉某个步兵班里、几个大头兵之间的战术配合;这不仅耽误他行使身为军长的职责,也会干扰士兵们长久以来养成的默契。他的职责是让合适的部队在合适的时机出现在合适的战场,而不是一天到晚对着几个小兵指手画脚、弄的他们无所适从。&br&&br&约束各单位履行各自的职责、禁止它们越级胡乱指挥,这就是&b&封装&/b&。&br&&br&正是通过封装和归一化,我们才可以做到“如果一个师解决不了问题,那就再调两个师”“如果单凭陆军解决不了问题,那就让空军也过来”——这种灵活性显然是从良好的部队编制得来的。在软件设计里,我们叫它“通过合理模块化而灵活应对需求变更”。&br&&br&&br&&br&软件设计同样。比如说,消息循环在派发消息时,只需知道所有UI对象都是个window,都可以响应窗口消息就足够了;它没必要知道每个UI对象究竟是什么(归一化)、也不应该关心这个UI对象的内部执行细节(封装)——该对象自己知道收到消息该怎么做;而且若它出了问题,只需修改该对象即可,不会影响外部。&br&&br&合理划分功能层级、适时砍掉不必要的繁杂信息,一层层向上提供简洁却又完备的信息/接口,高层模块才不会被累死——KISS是最难也是最优的软件设计方法,没有之一。&br&&br&&br&可见,&b&封装和归一化才是战略层面、生死攸关的问题&/b&。遵循它并不能保证你一定能打胜仗,但违反它你必定死的很难看。&br&&br&但这两个问题太大、太难,并且不存在普适性答案。这就使得&b&没有足够经验、缺乏认真思考的外行们根本无从置喙&/b&。&br&&br&&br&&br&前面提到过,人们&b&错误的把多态这个战术技巧提到“封装和归一化”相同的战略层面上&/b&。这就致使本该谈论战略的设计工作被一群&b&毫无实践经验、只会就着浅显的多态胡扯八道的战术家&/b&攻占和把持,进而使得“&b&以战术代替战略&/b&”成为普遍现象——因为对他们来说,&b&多态是既容易理解又容易玩出诸多花样的&/b&;而封装和归一化就太空泛又太复杂,对他们来说完全无从着手了。&br&所以,他们把一切精力都用在多态的滥用上,却从不谈封装和归一化:即使谈到了,也是作为多态的附庸出现的。&br&&br&这种战术层面的空谈很容易、也很容易出彩,但并不解决问题——反而总是导致简单问题复杂化。&br&然而,对于如何解决问题,他们并不在行,也不在乎。因为他们没有能力在乎。&br&这就要命了。&br&&br&&br&&br&&b&总结&/b&:面向对象的好处实际就这么两点。&br&一是通过封装明确定义了何谓接口、何谓接口内部实现、何谓接口的外部调用者,使得大家各司其职,不得越界;&br&二是通过继承+多态这种内置机制,在语言的层面支持&b&归一化&/b&的设计,并使得内行可以从代码本身看到这个设计——但,注意仅仅只是&b&支持&/b&归一化的设计。不懂如何做出这种设计的外行仍然不可能从瞎胡闹的设计中得到任何好处。&br&&br&&br&显然,不用面向对象语言、不用class,一样可以做归一化的设计(如老掉牙的泛文件概念、游戏行业的一切皆精灵),一样可以封装(通过定义模块和接口),只是用面向对象语言可以直接用语言元素显式声明这些而已;&br&而用了面向对象语言,满篇都是class,并不等于就有了归一化的设计。甚至,因为被这些花哨的东西迷惑,反而更加不知道什么才是设计。&br&&br&&br&2、人们以为面向对象是什么、以及因此制造出的悲剧以及闹剧&br&&br&误解一、&b&面向对象语言支持用语言元素直接声明封装性和接口兼容性,所以用面向对象语言写出来的东西一定更清晰、易懂&/b&。&br&&br&事实上,既然class意味着声明了封装、继承意味着声明了接口兼容,那么错误的类设计显然就是错误的声明、盲目定义的类就是无意义的喋喋不休。而&b&错误的声明比没有声明更糟;通篇毫无意义的喋喋不休还不如错误的声明&/b&。&br&&br&除非你真正做出了漂亮的设计,然后用面向对象的语法把这个设计声明出来——仅仅声明真正有设计、真正需要人们注意的地方,而不是到处瞎叫唤——否则不可能得到任何好处。&br&&br&&b&一切皆对象实质上是在鼓励堆砌毫无意义的喋喋不休&/b&,并且用这种战术层面都蠢的要命的喋喋不休来代替战略层面的考量。&br&&br&大部分人——注意,不是个别人——甚至被这种无意义的喋喋不休搞出了神经质,以至于非要在喋喋不休中找出意义:没错,我说的就是设计模式驱动编程,以及&a href=&///?target=http%3A///articles/8745.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&如此理解面向对象编程&i class=&icon-external&&&/i&&/a&。&br&&br&&br&&br&误解二、&b&面向对象三要素是封装、继承、多态,所以只要是面向对象语言写的程序,就一定“继承”了语言的这三个优良特性&/b&。&br&&br&事实上,如前所述,封装、继承、多态只是语言层面对良好设计的支持,并不能导向良好的设计。&br&如果你的设计做不出真正的封装性、不懂得何谓归一化,那它用什么写出来都是垃圾(不仅如此,因为你的低水平,“面向对象三要素”反而会误导你,使你更快、更远、更诡异的偏离目标)。&br&&br&&br&&br&误解三、&b&把软件写成面向对象的至少是无害的&/b&。&br&&br&要了解事实上是什么,需要先科普几个概念。&br&&br&&br&1、什么是真正的&b&封装&/b&?&br&&br&——回答我,封装是不是等于“把不想让别人看到、以后可能修改的东西用private隐藏起来”?&br&&br&显然&b&不是&/b&。&br&如果功能得不到满足、或者未曾预料到真正发生的需求变更,那么你怎么把一个成员变量/函数放到private里面的,将来就必须怎么把它挪出来。&br&&br&你越瞎搞,越去搞某些华而不实的“灵活性”——比如某种设计模式——真正的需求来临时,你要动的地方就越多。&br&&br&&b&真正的封装是,经过深入的思考,做出良好的抽象,给出“完整且最小”的接口,并使得内部细节可以对外透明(注意:对外透明&/b&的意思是&b&,&/b&外部调用者可以顺利的得到自己想要的任何功能,&b&完全意识不到内部细节的存在;&/b&而不是外部调用者为了完成某个功能、却被碍手碍脚的private声明弄得火冒三丈;最终只能通过怪异、复杂甚至奇葩的机制,才能更改他必须关注的细节——而且这种访问往往被实现的如此复杂,以至于稍不注意就会酿成大祸)。&br&&br&一个设计,只有达到了这个高度,才能真正做到所谓的“封装性”,才能真正杜绝对内部细节的访问。&br&&br&否则,生硬放进private里面的东西,最后还得生硬的被拖出来——当然,这种东西经常会被美化成“访问函数”之类渣渣(不是说访问函数是渣渣,而是说因为设计不良、不得不以访问函数之类玩意儿在封装上到处挖洞洞这种行为是渣渣)。&br&&br&&br&&br&一个典型的例子,就是C++的new和过于灵活的内存使用方式之间的耦合。&br&这个耦合就导致了new[]/delete[]、placement new/placement delete之类怪异的东西:这些东西必须成对使用,怎么分配就必须怎么释放,任何错误搭配都可能导致程序崩溃——这是为了兼容C、以及得到更高执行效率的无奈之举;但,它更是“抽象层次过于复杂,以至于无法做出真正透明的设计”的典型案例:只能说,c++设计者是真正的大师,如此复杂的东西在他手里,才仅仅付出了如此之小的代价。&br&&br&(更准确点说,是new/delete和c++的其它语言元素之间是非正交的;于是当同时使用这些语言元素时,就不可避免的出现了彼此扯淡的现象。即new/delete这个操作对其它语言元素非透明:在c++的设计里,是通过把new/delete分成两层,一是内存分配、二是在分配的内存上初始化,然后暴露这个分层细节,从而在最大程度上实现了封装——但比之其它真正能彼此透明的语言元素间的关系,new/delete显然过于复杂了)&br&&br&这个案例,可以非常直观的说明“设计出真正对外透明的封装”究竟会有多难。&br&&br&&br&2、&strong&接口继承&/strong&真正的好处是什么?是用了继承就显得比较高大上吗?&br&&br&显然不是。&br&&br&接口继承没有任何好处。它只是声明某些对象在某些场景下,可以用归一化的方式处理而已。&br&&br&换句话说,如果不存在“需要不加区分的处理类似的一系列对象”的场合,那么继承不过是在装X罢了。&br&&br&&br&&br&&br&了解了如上两点,那么,很显然:&br&1、如果你没有做出好的抽象、甚至完全不知道需要做好的抽象就忙着去“封装”,那么你只是在“封”和“装”而已。&br&这种“封”和“装”的行为只会制造累赘和虚假的承诺;这些累赘以及必然会变卦的承诺,必然会为未来的维护带来更多的麻烦,甚至拖垮整个项目。&br&&br&正是这种累赘和虚假的承诺的拖累,而不是为了应付“需求改变”所&b&必需&/b&的“灵活性”,才是大多数面向对象项目代码量暴增的元凶。&br&&br&2、没有真正的抓到一类事物(&b&在当前应用场景下&/b&)的根本,就去设计继承结构,是必不会有所得的。&br&&br&不仅如此,请注意我强调了&b&在当前应用场景下&/b&。&br&这是因为,分类是一个极其主观的东西,&b&不存在普适的分类法&/b&。&br&&br&举例来说,我要研究种族歧视,那么必然以肤色分类;换到法医学,那就按死因分类;生物学呢,则搞门科目属种……&br&&br&想象下,需求是“时尚女装”,你却按“窒息死亡/溺水死亡/中毒死亡之体征”来了个分类……你说后面这软件还能写吗?&br&&br&&br&&br&类似的,我遇到过写游戏的却去纠结“武器装备该不该从游戏角色继承”的神人。你觉得呢?&br&&br&事实上,游戏界真正的抽象方法之一是:一切都是个有位置能感受时间流逝的精灵;而某个“感受到时间流逝显示不同图片的对象”,其实就是游戏主角;而“当收到碰撞事件时,改变主角下一轮显示的图片组的”,就是游戏逻辑。&br&&br&&br&看看它和“武器装备该不该从游戏角色继承”能差多远。想想到得后来,以游戏角色为基类的方案会变成什么样子?为什么会这样?&br&&br&&br&&br&&br&&br&最具重量级的炸弹则是:正方形是不是一个矩形?它该不该从矩形继承?如果可以从矩形继承,那么什么是正方形的长和宽?在这个设计里,如果我修改了正方形的长,那么这个正方形类还能不能叫正方形?它不应该自然转换成长方形吗?如果我有两个List,一个存长方形,一个存正方形,自动转换后的对象能否自动迁移到合适的list?什么语言能提供这种机制?如果不能,“一视同仁的处理某个容器中的所有元素”岂不变成了一句屁话?&br&&br&造成这颗炸弹的根本原因是,面向对象中的“类”,和我们日常语言乃至数学语言中的“类”根本就不是一码事。&br&&br&面向对象中的“类”,意思是“接口上兼容的一系列对象”,关注的只不过是接口的兼容性而已(可搜索 里氏代换);关键放在“可一视同仁的处理”上(学术上叫is-a)。&br&&br&显然,这个定义完全是且只是为了应付归一化的需要。&br&&br&这个定义经常和我们日常对话中提到的类概念上重合;但,如前所述,根本上却彻彻底底是八杆子打不着的两码事。&br&&br&就着生活经验滥用“类”这个术语,甚至依靠这种粗浅认识去做设计,必然会导致出现各种各样的偏差。这种设计实质上就是在胡说八道。&br&就着这种胡说八道来写程序——有人觉得这种人能有好结果吗?&br&&br&——但,几乎所有的面向对象语言、差不多所有的面向对象方法论,却就是在鼓励大家都这么做,完全没有意识到它们的理论基础有多么的不牢靠。&br&——如此作死,焉能不死?!&br&&br&&br&——你还敢说面向对象无害吗?&br&&br&——在真正明白何谓封装、何谓归一化之前,每一次写下class,就在错误的道路上又多走了一步。&br&——设计真正需要关注的核心其实很简单,就是封装和归一化。&b&一个项目开始的时候,“class”写的越早,就离这个核心越远&/b&。&br&——过去鼓吹的各种面向对象方法论、甚至某些语言本身,恰恰正是在怂恿甚至逼迫开发者尽可能早、尽可能多的写class。&br&&br&&br&重复一遍:封装可(通过固定接口而)应付需求变更、归一化可简化(类的使用者的)设计:以上,就是面向对象最最基本的好处。&br&——其它一切,都不过是在这两个基础上的衍生而已。&br&&br&换言之,&b&如果得不到这两个基本好处,那么也就没有任何衍生好处&/b&——应付需求变更/简化设计并不是打打嘴炮就能做到的。&br&&br&&br&误解四、只有面向对象语言写的程序才是面向对象的。&br&&br&事实上,unix系统提出泛文件概念时,面向对象语言根本就不存在;游戏界的精灵这个基础抽象,最初是用C甚至汇编写的;……。&br&&br&面向对象其实是汲取以上各种成功设计的经验才提出来的。&br&&br&所以,面向对象的设计,不必非要c++/java之类支持面向对象的语言才能实现;它们不过是在你做出了面向对象的设计之后,能让你写得更惬意一些罢了——但,如果一个项目无需或无法做出面向对象的设计,某些面向对象语言反而会让你很难受。&br&&br&&b&用面向对象语言写程序,和一个程序的设计是面向对象的,两者是八杆子打不着的两码事&/b&。纯C写的linux kernel事实上比c++/java之类语言搞出来的大多数项目更加面向对象——只是绝大部分人都自以为自己到处瞎写class的面条代码才是面向对象的正统、而死脑筋的linus搞的泛文件抽象不过是过程式思维搞出来的老古董。&br&&br&——这个误解之深,甚至达到连wiki词条里面,都把OOP定义为“用支持面向对象的语言写程序”的程度。&br&——我们提及面向对象时,明明在谈论战略、谈论软件总体设计;但总有人把它歪曲成战术方面的、漫无目标却还自我感觉良好的、琐碎的投机。&br&——恐怕这也是没有人说泛文件设计思想是个骗局、而面向对象却被业界大牛们严厉抨击的根本原因了:真正的封装、归一化精髓被抛弃,浮于表面的、喋喋不休的class/设计模式却成了”正统“!&br&&br&借用楼下PeytonCai朋友的链接:&br&&a href=&///?target=http%3A///405/.shtml& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&名家吐槽:面向对象编程从骨子里就有问题&i class=&icon-external&&&/i&&/a&&br&&br&————————————————————————————&br&&br&总结: 面向对象其实是对过去成功的设计经验的总结。但那些成功的设计,不是因为用了封装/归一化而成功,而是&b&切合自己面对的问题,给出了恰到好处的设计&/b&。&br&&br&让一个初学者知道自己应该向封装/归一化这个方向前进,是好的;用一个面向对象的条条框框把他们框在里面、甚至使得他们以为写下class是完全无需思索的、真正应该追求的是设计模式,则是罪恶的——它实质上是把初学者的注意力从真正应该注意的封装、归一化方向引开,欺骗他们陷入“近乎恶意的全方位滥用多态”的泥潭。&br&&br&事实上,class写的越随意,才越需要设计模式;就着错误的实现写得越多、特性用得越多,它就越发的死板,以至于必须更加多得多的特性、模式、甚至语法hack,才能勉强完成需求。&br&&br&只有经过真正的深思熟虑,才有可能做到KISS。&br&&br&&br&到处鼓噪的面向对象编程的最大弊端,是把软件设计工作偷换概念,变成了“就着class及相关教条瞎胡闹,不管有没有好处先插一杠子”,甚至使得人们忘记去关注“抽象是否真正简化了面对的问题”——这是猥琐的投机,不是设计。&br&&br&&b&一言以蔽之:没有银弹。&/b&任何寄希望于靠着某种“高大上”的技术——无论是面向对象、数据驱动、消息驱动还是lambda、协程等等等等——就能一劳永逸的使得任何现实问题“迎刃而解”的企图都是注定要失败的,都不过是外行的意淫而已;靠意淫来做设计,不掉沟里才怪。&br&&br&想要做出KISS的方案,就必须对面对的问题有透彻的了解,有足够的经验和能力,并经过深思熟虑,这才能做出简洁的抽象:至于最终的抽象是面向对象的、面向过程的还是数据驱动/消息驱动的,甚至是大杂烩的,那都无所谓。只要这个设计能做到最重要、也是最难的KISS,它就是个好设计。&br&&br&在特定领域、特定场景下,的确有成功的经验、正确/合理的方向:技术无罪,但,没有银弹。&br&&br&&br&————————————————————————————————————————&br&:&br&&br&嗯,这个是我很久很久以前在CU上发过的一系列帖子……&br&&br&当时很多鼓吹“面向对象就是好来就是好的”就着一知半解胡搅蛮缠,这系列帖子是驳斥他们的。所以很多词句挖苦意味很浓,见谅。&br&&br&&blockquote&再比如,传说中的面向对象本该大显神威的游戏领域——就说流行的WOW吧。&br&&br&这个游戏有10个职业,10个种族,每个种族都有自己的几个特有种族天赋(这个种族天赋还可能根据职业有所不同,比如血精灵);每个职业有几十甚至上百种不同的技能/法术,这些技能有近战技能,有远程技能;有的技能会对敌方造成伤害或不良状态,有的技能能给己方队友加上好的状态或治疗队友;而且很多这类技能还会根据目标的状态切换不同的效果;有些技能是单体效果,有些技能是光环效果(又分为对敌方造成光环效果还是对己方两种,也可能两者兼备),而另一些技能是地图范围效果(如烈焰风暴是一个圆形区域;冰锥术是一个锥形区域;特别的,顺劈斩是在当前攻击目标旁边不超过5码的另一个敌对目标——某个boss的顺劈斩更强,它会从第一个目标传递几十个目标,总传递距离可以达到夸张的几百码;并且这个伤害也是各有特色的:战士的顺劈斩是每个目标伤害固定,有些boss的则是同时挨打的人越多伤害越低,但还有个变态boss却是被打的人越多伤害越高……);大多数技能还可以通过天赋雕文强化/改变的面目全非(比如插一个雕文,法师的火球就不会造成持续伤害但施法速度增加;点一个天赋,法师的冰冷减速效果就会降低对方受到的治疗效果;点某个天赋,盗贼的某些技能攻击就会延长自身提升攻击速度这个状态的持续时间,等等);还有很多技能是因为学习了某个专业或装备/持有某个物品而得到(比如,学了采药,就可以得到生命之血这个技能,每3分钟可用,能够在若干秒内回复你若干生命值——这个技能和采药技能等级挂钩,但很可能接下来的某个版本,就会再和玩家的生命上限值挂钩,以避免它像现在一样,被玩家斥为废柴技能);另外,不同等级的技能可能有施法时间甚至额外特效方面的差别;此外,每个技能会造成不同属性的伤害/效果(神圣、暗影、元素、物理等等),甚至一个技能同时造成多种类型伤害效果,更有冰火球这样根据目标抵抗力而智能选择更大杀伤效果类型的变态魔法……&br&&br&最后,最最重要的是,这所有职业上千个技能(或许加上NPC特有的一些技能,数目会达到几千种)并不稳定,常常会因为某个技能或某些技能的组合过于强大/弱小而加以修改(比如加一个额外的负面状态如无敌/圣疗;甚至全面修改“抗性”“破甲”概念的定义)——玩过wow的都知道,这事几乎每个月都有发生。&br&&br&好吧,你打算怎么设计这数千个技能/效果?&br&或者,你就这样把这些概念用class这个筐一装,然后到处开特例、特例都解决不了就搞23个模式使劲往一块粘,管他整体结构如何,淌哪算哪?&br&&br&扯淡。&br&&br&&br&有个故事说的好:&br&有人送几个瞎子一条鱼,瞎子们高兴坏了,决定熬鱼汤喝。鱼汤熬好了,瞎子甲尝了一口,真鲜啊;瞎子乙赶紧也喝一口,太鲜了,太好喝了。几个瞎子一边喝一边赞美——忽然瞎子丙叫了起来:鱼跳我脚上了,它不在锅里!&br&众瞎子大惊:这鱼都没放到锅里,汤就鲜成这样了;要是放进锅里,还不得把我们都鲜死啊!&br&&br&众面向对象原教旨主义者把事情搅得一团糟,同样也会大惊:天哪,用了面向对象都复杂成这样,这要不用面向对象,这软件就不能写了吧!&/blockquote&&br&&br&&blockquote&想想看,假如让那些面向对象原教旨主义者来设计,会出现什么情况:&br&&br&定义一个基类叫技能;然后一个继承类叫法术技能,另一个叫物理技能;然后神圣法术从法术技能继承,疾病法术也从法术技能继承;由于圣骑士一个技能同时具备物理和法术两种效果,于是必须多重继承神圣法术和物理技能;多重继承太危险,于是不得不把神圣法术搞成接口类,引入接口继承甚至带实现的纯虚函数等等高端概念;然后,活该枪毙的暴雪设计师又想出了让某个技能同时对目标加上神圣持续伤害效果的奇怪点子——于是不得不再加个继承层次,使得神圣法术是神圣持续伤害法术的子集:仅立刻造成一次持续伤害的DOT(damage of time)技能……&br&&br&那么,点一个天赋,一个技能就会有dot,否则就没有怎么办?&br&&br&设计模式是灵丹妙药,不是吗 ^_^&br&&br&&br&等到把这所有几千个技能全部搞定,起码也是一个数万个类、几十层的恐怖继承树,并且会用完23个设计模式(甚至再发明几个新模式出来,我也不会感到奇怪),精巧复杂到没有任何人愿意去碰它。&br&&br&&br&但,请注意,天杀的暴雪设计师,在最开始的设计方案里规定DOT不能暴击;后来又添加约定说某某某职业的某个dot可以暴击;另一个职业的某个dot在点天赋后可暴击;至于死亡骑士,在他穿了T9套装中的其中四件装备时,他的某个瘟疫类型的dot可以暴击——但另一个瘟疫dot永远不能暴击。&br&&br&&br&嗯嗯嗯,太好解决了——这不就是策略模式吗?&br&&br&好吧,你再填几十几百个类体系,然后把旧的几十层继承树中的数万个类一个个都策略化吧。反正不是我在维护……&br&&br&&br&&br&哎呀不好,那个枪毙了几百次都还没死的暴雪设计师又出馊主意了,他要求:当死亡骑士点了邪恶系的某个天赋时,不光给他增加一个新的dot、并且在这个新dot的存在期间,还要保护他的两个dot性疾病和1个debuf性疾病不被驱散!&br&&br&&br&继续补充:在WLK里面,那个脑袋都被子弹打成筛子了的暴雪设计师又跳出来了,用他满是漏洞的脑子出了个该杀的主意:他要求添加载具概念,当玩家坐上载具时,临时删除他的所有技能,替换为载具的技能;或者当他坐在特定载具的特定位置时,防止他受到任何伤害、并且允许他释放自己的所有技能!&br&更该死的是,他要求,一些技能本来不允许在移动中施放;但现在,当玩家坐在载具上某个位置时,要临时允许他移动施法!&br&&br&还有,为了平衡某个野外战场,他还要求,在某方人数较少时,临时根据提高他们的生命值和所有技能的攻击力和治疗能力——这个改变必须根据进入战场的人数实时进行;在一方连续在某个战场失败时,同样要给他们一定补偿!&br&&br&&br&&br&嗯嗯,看看这些不断改变的刁钻需求吧,如果没有面向对象,没有以策略模式为首的28个设计模式(我有理由相信你们需要至少28个设计模式而不是23个)的英明领导,我们这些没接触过大项目、不懂面向对象的傻B们,就是哭的拿眼泪把长城溶解掉都没办法吧?——我当然知道搭建长城的材料极难溶与水。&br&&br&可怜的瞎子,你们的鱼汤很鲜吧?&/blockquote&&br&&br&&br&&br&嗯,到这里,希望读者们也能停下来,好好思考一下,看看这个问题该如何解决。&br&&br&&br&&br&&br&&br&&br&&br&&br&&br&&br&&br&&br&&br&&br&想到了没有?&br&这里是答案,看看你的想法是否能不谋而合吧:&br&&br&&blockquote&这个问题暴雪在Diablo 2时代已经完美解决了: 法术/技能数据库化&br&&br&&br&所谓数据库化,其实等同于表格化,例如这个随便杜撰出来的简化方案,是设计一个有如下字段的数据表格:&br&&br&法术ID 动画效果 作用范围 作用类型 属性 特殊限制 强化类型 特殊设定&br&&br&&br&其中,特殊设定字段可以是一段LUA代码,可以在其中搜索、设置极其特殊的伤害类型,或者查询顺劈斩/治疗链等奇特技能的传递目标等等。&br&&br&特殊限制字段设定法术的施法或/和生效条件,如驱散限定为只能作用于魔法性buf/debuf(根据职业不同,可能有进攻性驱散和防守性驱散之一,也可能同时具备——这就体现在可否驱散敌方/友方目标的debuf)&br&&br&&br&&br&在这个方案下,释放一个法术/技能,就成为一种查表运算——找到此法术ID,找到它的作用类型和伤害属性,计算特殊设定(包括但不限于顺劈斩模式的判断、天赋加成和天赋效果、雕文加成和雕文效果等等)。&br&&br&于是,到最后,整个法术体系被分为一组组的魔法buf/debuf、物理buf/debuf,这些buf/debuf会影响伤害公式中的某个因子或者造成伤害效果;而伤害效果又分为立即伤害/立即治疗和持续伤害/持续治疗;最后则是一套影响范围判定机制。&br&&br&&br&举例来说,骑士开圣盾,他同时得到一个buf和一个debuf。&br&buf是“无敌”,效果相当于设置伤害公式 a*(....) 前面的a因子为0(没有无敌时此因子为1),于是所有伤害无效。&br&debuf则是“自律”,因为他的圣盾、圣疗技能判断条件里都有“有自律debuf,则不允许使用”的设定,于是禁止他在短时间内再次使用这些无赖技能。&br&&br&敌方法师对他释放寒冰箭,系统受理,但查询骑士状态,发现他处于无敌状态,返回大大的两个字“免疫”。&br&&br&然后,有一个敌方牧师对他使用驱散,查询牧师的驱散术发现,在驱散术的可驱散列表里没有圣盾术,于是提示无法驱散或驱散了另外的可驱散(魔法)效果。&br&敌方牧师迅速反应过来,再次对他使用强力驱散;查询牧师强力驱散术,发现该牧师在不久前使用过强力驱散,提示无法施法。&br&等待3秒后,敌方牧师发现自己的强力驱散冷却(cool down),再次使用强力驱散,查询发现强力驱散可驱散圣盾术,于是成功移除骑士的无敌状态。&br&&br&现在,敌方法师再次对他释放寒冰箭,骑士切换冰抗光环,系统查询骑士状态,发现冰抗光环,又查询法师穿透等级,和暴击等级,根据公式计算能否命中、能否造成全额伤害以及能否暴击;然后提取法师和骑士双方装备、天赋数据代入公式计算伤害加成、减免数据,最后给出骑士受到的伤害数字(包括部分抵抗了多少)。&br&&br&&br&&br&在暴雪设计师的整理之下,如上种种最终构成了几个表格;只要查询并代入相应的数据,即可计算出伤害/治疗数值以及类型;特殊效果可以用存储在数据库中的LUA代码补充完成。&br&&br&最终的设计效果就好像内嵌了一个解释器,这个解释器会根据法术ID解释执行数据库内部的相关内容。&br&&br&&br&这样一来,只要伤害公式、伤害/buf类型、动画效果等等就位,那么新增一个法术就只不过是在数据库中新增一条记录;让某个角色学会一个新法术,则只需在它的可使用法术列表里添加法术名称(或法术ID);释放法术是根据法术ID在数据库中提取动画;计算伤害是根据法术ID读取伤害公式,然后代入相关字段并求值。&br&&br&而这一切,甚至可以通过内部实现的编辑器,用图形界面完成。&br&&br&&br&如何?无与伦比的扩展性和便利性,是吧?&/blockquote&&br&&br&这么一整套东西,核心代码很可能只有数千甚至数百行。这是因为看似复杂的光环、buf等等东西,其实都已经抽象到和其他法术同样的流程上来了。最终,所有这些全部归一为解释执行伤害公式、提取执行指定动画之类寥寥几个通用过程——&b&这显然同样是封装和归一化思想结出的另一颗果实。但为什么你就是想不到封装和归一化还能这样用?很简单,因为你被那些只会就着浅显的多态喋喋不休的笨蛋彻底引偏方向了。&/b&&br&&br&我并没有亲自实现过这个,所以不敢断定这玩意儿靠几百行代码真的就能全部实现;但根据我在其它项目上的经验,这套东西应该就是数百行代码就可以写出来的——但写出并调试好这数百行代码所需的时间可能是一个星期甚至一个月。&br&&br&相比于不假思索的写下class所必然导致的庞大、复杂的类层次,以及扯来扯去蛋疼无比的复杂的设计模式大网,这玩意儿的实现、维护、修改、扩展的便利程度,显然不是一个量级的:前者可能数百人努力数年、弄出几百万行代码都不能正确实现需求,而且必然bug满天飞;而后者,一个人,个把月,千把行代码,完成。如果实现水平足够的话,写完就再不用碰代码,而是去写图形编辑工具了。之后,扩展、维护都不过是用自己实现的工具拖来拖去再改改属性、数值,然后点存盘写入数据库,完事。&br&&br&&br&所以说,万不可死板的傻抱着面向对象不放。你所面对的问题才是最重要的。&br&你必须随机应变给出合适的方案——至于最后的设计方案会是什么流派,那玩意儿根本无关紧要。拿出一个简单、有效、可靠的方案,比什么都重要。&br&&br&最后,还是我在前文总结的那句话:&br&&blockquote&&p&封装可(通过固定接口而)应付需求变更、归一化可简化(类的使用者的)设计:以上,就是面向对象最最基本的好处。其它一切,都不过是在这两个基础上的衍生而已。&/p&&br&&p&换言之,如果得不到这两个基本好处,那么也就没有任何衍生好处——应付需求变更/简化设计并不是打打嘴炮就能做到的。&/p&&/blockquote&&br&再强调一遍,应付需求变更/简化设计并不是空洞的宣传口号。&br&&br&&b&封装和归一化类似军队制度建设,目标是搞出一个标准化、立体、多变、高效的指挥体系,从而获得打大战、打硬战的能力&/b&,然后再去轻松碾压问题。此所谓战略。&br&&br&而那些堆砌无用的所谓“设计模式”的家伙,其实是在每个零件表面粘上挂钩——据他们说,这样会增加灵活性、应对需求变更、简化设计:比如说你带了个包,就可以挂他们在飞轮上粘的那个勾子上。&br&&br&但实际上,你永远不会把包挂飞轮上(但你还是不得不为那些”聪明绝顶“的家伙“为了避免飞轮上的钩子脱落、挂住其它零件、离心力太大破坏挂在上面的包”等等而衍生出的”杰出“设计买单)。&br&幸运的是,除了某些企业项目(或其他类似性质的项目),你并不会用到这么烂的东西。因为这些笨蛋到处乱粘的钩子会不可避免的导致整个项目变成黏糊糊的一团,从而在旷日持久的拖延后自杀。&br&&br&这种做法,显然是和面向对象的初心——通过封装和归一化获得高效指挥体系——背道而驰,从而使得每个中了这种毒的家伙参与的项目不可避免的成为一滩稀屎。&br&&br&所以,很遗憾,只有杀马特设计师才会这样做。真正的设计师压根不会在设计发动机时考虑“飞轮上挂包”这样的需求(这就叫“以不知所谓的战术投机代替战略布局”)。他会干净利落的在整车设计时加个后备箱。&br&&br&&br&&br&&br&请注意,这并不是个比喻。&br&&br&如你所见,在”每个零件上粘上挂钩“这种事情实在太过疯狂,所以在其他行业连玩笑都不是,因为再傻的人都不会这么做。&br&&br&然而在软件设计时……这种事情是如此多见,多见到面向对象的领军人物会推荐别人这样做(&a href=&///?target=http%3A///articles/8745.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&如此理解面向对象编程&i class=&icon-external&&&/i&&/a&);多见到业内很多大佬都不得不站出来,怒斥”面向对象是个骗局“。&br&&br&&a href=&///?target=http%3A///405/.shtml& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&名家吐槽:面向对象编程从骨子里就有问题&i class=&icon-external&&&/i&&/a&&br&“面向对象编程是一个极其糟糕的主意,只有硅谷里的人能干出这种事情。” — Edsger Dijkstra(图灵奖获得者)&br&&br&&a href=&///?target=http%3A//en.wikipedia.org/wiki/Edsger_W._Dijkstra& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Edsger W. Dijkstra&i class=&icon-external&&&/i&&/a&&br&&br&如此沉重的心智负担,这显然是面向对象的原罪。
弊端是,没有人还记得面向对象原本要解决的问题是什么。 1、面向对象原本要解决什么(或者说有什么优良特性) 似乎很简单,但实际又很不简单:面向对象三要素封装、继承、多态 (警告:事实上,从业界如此总结出这面向对象三要素的一刹那开始,就已经开始犯…
&b&数据挖掘:What?Why?&/b&&b&How?&/b&&br&这个问题思考了很久,作为过来人谈一谈,建议先看下以前的一些回答。&br&&ul&&li&&a href=&/question//answer/?group_id=& class=&internal&&什么是数据挖掘?&/a&&br&&/li&&li&&a href=&/question//answer/?group_id=& class=&internal&&怎么培养数据分析的能力?&/a&&br&&/li&&li&&a href=&///?target=http%3A//zhi.hu/2JPS& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&如何成为一名数据科学家?&i class=&icon-external&&&/i&&/a&&br&&/li&&/ul&&br&磨刀不误砍柴工。在学习数据挖掘之前应该明白几点:&br&&ul&&li&数据挖掘目前在中国的尚未流行开,犹如屠龙之技。&br&&/li&&li&数据初期的准备通常占整个数据挖掘项目工作量的70%左右。 &br&&/li&&li&数据挖掘本身融合了&b&统计学、数据库和机器学习&/b&等学科,并不是新的技术。&br&&/li&&li&数据挖掘技术更适合业务人员学习(相比技术人员学习业务来的更高效)&br&&/li&&li&数据挖掘适用于传统的BI(报表、OLAP等)无法支持的领域。 &br&&/li&&li&数据挖掘项目通常需要重复一些毫无技术含量的工作。&br&&/li&&/ul&&br&如果你阅读了以上内容觉得可以接受,那么继续往下看。&br&&br&&b&学习一门技术要和行业靠拢,没有行业背景的技术如空中楼阁。&/b&技术尤其是计算机领域的技术发展是宽泛且快速更替的(十年前做网页设计都能成立公司),一般人没有这个精力和时间全方位的掌握所有技术细节。但是技术在结合行业之后就能够独当一面了,一方面有利于抓住用户痛点和刚性需求,另一方面能够累计行业经验,使用互联网思维跨界让你更容易取得成功。不要在学习技术时想要面面俱到,这样会失去你的核心竞争力。 &br&&br&&b&一、目前国内的数据挖掘人员工作领域大致可分为三类。&/b&&br&&ul&&li&1)数据分析师:在拥有行业数据的电商、金融、电信、咨询等行业里做业务咨询,商务智能,出分析报告。&br&&/li&&li&2)数据挖掘工程师:在多媒体、电商、搜索、社交等大数据相关行业里做机器学习算法实现和分析。&/li&&li&3)科学研究方向:在高校、科研单位、企业研究院等高大上科研机构研究新算法效率改进及未来应用。&/li&&/ul&&br&&b&二、说说各工作领域需要掌握的技能。 &/b&&br&&b&(1).数据分析师&/b&&br&&ul&&li&需要有深厚的数理统计基础,但是对程序开发能力不做要求。&/li&&li&需要熟练使用主流的数据挖掘(或统计分析)工具如&a href=&///?target=http%3A///en_us/home.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Business Analytics and Business Intelligence Software&i class=&icon-external&&&/i&&/a&(SAS)、&a href=&///?target=http%3A//.cn/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&SPSS&i class=&icon-external&&&/i&&/a&、EXCEL等。&/li&&li&需要对与所在行业有关的一切核心数据有深入的理解,以及一定的数据敏感性培养。&/li&&li&经典图书推荐:《概率论与数理统计》、《统计学》推荐David Freedman版、《业务建模与数据挖掘》、《数据挖掘导论》、《SAS编程与数据挖掘商业案例》、《Clementine数据挖掘方法及应用 》、《Excel 2007 VBA参考大全》、《IBM SPSS Statistics 19 Statistical Procedures Companion》等。&br&&/li&&/ul&&b&(2).数据挖掘工程师&/b&&br&&ul&&li&需要理解主流机器学习算法的原理和应用。&/li&&li&需要熟悉至少一门编程语言如(Python、C、C++、Java、Delphi等)。&/li&&li&需要理解数据库原理,能够熟练操作至少一种数据库(Mysql、SQL、DB2、Oracle等),能够明白MapReduce的原理操作以及熟练使用Hadoop系列工具更好。&/li&&li&经典图书推荐:《数据挖掘概念与技术》、《机器学习实战》、《人工智能及其应用》、《数据库系统概论》、《算法导论》、《Web数据挖掘》、《 Python标准库》、《thinking in Java》、《Thinking in C++》、《数据结构》等。&br&&/li&&/ul&&b&(3).科学研究方向&/b&&br&&ul&&li&需要深入学习数据挖掘的理论基础,包括关联规则挖掘 (Apriori和FPTree)、分类算法(C4.5、KNN、Logistic Regression、SVM等) 、聚类算法 (Kmeans、Spectral Clustering)。目标可以先吃透&a href=&///?target=http%3A//ishare..cn/f/7474645.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&数据挖掘10大算法&i class=&icon-external&&&/i&&/a&各自的使用情况和优缺点。&br&&/li&&li&相对SAS、SPSS来说R语言更适合科研人员&a href=&///?target=http%3A//www.r-project.org& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&The R Project for Statistical Computing&i class=&icon-external&&&/i&&/a&,因为R软件是完全免费的,而且开放的社区环境提供多种附加工具包支持,更适合进行统计计算分析研究。虽然目前在国内流行度不高,但是强烈推荐。&/li&&li&可以尝试改进一些主流算法使其更加快速高效,例如实现Hadoop平台下的SVM&a href=&///?target=http%3A//blog.csdn.net/fansy1990/article/details/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&云算法调用平台--web 工程调用hadoop集群&i class=&icon-external&&&/i&&/a&。&br&&/li&&li&需要广而深的阅读世界著名会议论文跟踪热点技术。如&a href=&///?target=http%3A//www.kdd.org/kdd2014/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&KDD&i class=&icon-external&&&/i&&/a&,&a href=&///?target=http%3A//icml.cc/2014/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&ICML&i class=&icon-external&&&/i&&/a&,&a href=&///?target=http%3A//ijcai13.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&IJCAI&i class=&icon-external&&&/i&&/a&,&a href=&///?target=http%3A//www.aaai.org/home.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Association for the Advancement of Artificial Intelligence&i class=&icon-external&&&/i&&/a&,&a href=&///?target=http%3A//icdm2013.rutgers.edu/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&ICDM &i class=&icon-external&&&/i&&/a&等等;还有数据挖掘相关领域期刊:&a href=&///?target=http%3A//tkdd.acm.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&ACM Transactions on Knowledge Discovery from Data&i class=&icon-external&&&/i&&/a&,&a href=&///?target=http%3A//puter.org/portal/web/tkde& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&IEEE Transactions on Knowledge and Data Engineering&i class=&icon-external&&&/i&&/a&,&a href=&///?target=http%3A//jmlr.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Journal of Machine Learning Research Homepage&i class=&icon-external&&&/i&&/a&,&a href=&///?target=http%3A//ieeexplore.ieee.org/xpl/RecentIssue.jsp%3Fpunumber%3D34& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&IEEE Xplore: Pattern Analysis and Machine Intelligence, IEEE Transactions on&i class=&icon-external&&&/i&&/a&等。&br&&/li&&li&可以尝试参加数据挖掘比赛培养全方面解决实际问题的能力。如&a href=&///?target=http%3A//www.sigkdd.org/kddcup/index.php& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Sig KDD &i class=&icon-external&&&/i&&/a&,&a href=&///?target=https%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Kaggle: Go from Big Data to Big Analytics&i class=&icon-external&&&/i&&/a&等。&br&&/li&&li&可以尝试为一些开源项目贡献自己的代码,比如&a href=&///?target=https%3A//mahout.apache.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Apache Mahout: Scalable machine learning and data mining&i class=&icon-external&&&/i&&/a& ,&a href=&///?target=https%3A///myrrix/myrrix-recommender& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&myrrix&i class=&icon-external&&&/i&&/a&等(具体可以在&a href=&///?target=http%3A//sourceforge.net/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&SourceForge&i class=&icon-external&&&/i&&/a&或&a href=&///?target=https%3A///& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GitHub.&i class=&icon-external&&&/i&&/a&上发现更多好玩的项目)。&br&&/li&&li&经典图书推荐:《机器学习》 《模式分类》《统计学习理论的本质》《统计学习方法》《数据挖掘实用机器学习技术》《R语言实践》,英文素质是科研人才必备的《Machine Learning: A Probabilistic Perspective》《Scaling up Machine Learning : Parallel and Distributed Approaches》《Data Mining Using SAS Enterprise Miner : A Case Study Approach》《Python for Data Analysis》等。&br&&/li&&/ul&&br&&b&三、以下是通信行业数据挖掘工程师的工作感受。&/b&&br&&br&真正从数据挖掘项目实践的角度讲,沟通能力对挖掘的兴趣爱好是最重要的,有了爱好才可以愿意钻研,有了不错的沟通能力,才可以正确理解业务问题,才能正确把业务问题转化成挖掘问题,才可以在相关不同专业人才之间清楚表达你的意图和想法,取得他们的理解和支持。所以我认为沟通能力和兴趣爱好是个人的数据挖掘的核心竞争力,是很难学到的;而其他的相关专业知识谁都可以学,算不上个人发展的核心竞争力。&br&&br&说到这里可能很多数据仓库专家、程序员、统计师等等都要扔砖头了,对不起,我没有别的意思,你们的专业对于数据挖掘都很重要,大家本来就是一个整体的,但是作为单独一个个体的人来说,精力有限,时间有限,不可能这些领域都能掌握,在这种情况下,选择最重要的核心,我想应该是数据挖掘技能和相关业务能力吧(从另外的一个极端的例子,我们可以看, 比如一个迷你型的挖掘项目,一个懂得市场营销和数据挖掘技能的人应该可以胜任。这其中他虽然不懂数据仓库,但是简单的Excel就足以胜任高打6万个样本的数据处理;他虽然不懂专业的展示展现技能,但是只要他自己看的懂就行了,这就无需什么展示展现;前面说过,统计技能是应该掌握的,这对一个人的迷你项目很重要;他虽然不懂编程,但是专业挖掘工具和挖掘技能足够让他操练的;这样在迷你项目中,一个懂得挖掘技能和市场营销业务能力的人就可以圆满完成了,甚至在一个数据源中根据业务需求可以无穷无尽的挖掘不同的项目思路,试问就是这个迷你项目,单纯的一个数据仓库专家、单纯的一个程序员、单纯的一个展示展现技师、甚至单纯的一个挖掘技术专家,都是无法胜任的)。这从另一个方面也说明了为什么沟通能力的重要,这些个完全不同的专业领域,想要有效有机地整合在一起进行数据挖掘项目实践,你说没有好的沟通能力行吗?&br&&br&数据挖掘能力只能在项目实践的熔炉中提升、升华,所以跟着项目学挖掘是最有效的捷径。国外学习挖掘的人都是一开始跟着老板做项目,刚开始不懂不要紧,越不懂越知道应该学什么,才能学得越快越有效果。我不知道国内的数据挖掘学生是怎样学的,但是从网上的一些论坛看,很多都是纸上谈兵,这样很浪费时间,很没有效率。&br&&br&另外现在国内关于数据挖掘的概念都很混乱,很多BI只是局限在报表的展示和简单的统计分析,却也号称是数据挖掘;另一方面,国内真正规模化实施数据挖掘的行业是屈指可数(银行、保险公司、移动通讯),其他行业的应用就只能算是小规模的,比如很多大学都有些相关的挖掘课题、挖掘项目,但都比较分散,而且都是处于摸索阶段,但是我相信数据挖掘在中国一定是好的前景,因为这是历史发展的必然。&br&&br&讲到移动方面的实践案例,如果你是来自移动的话,你一定知道国内有家叫华院分析的公司(申明,我跟这家公司没有任何关系,我只是站在数据挖掘者的角度分析过中国大多数的号称数据挖掘服务公司,觉得华院还不错,比很多徒有虚名的大公司来得更实际),他们的业务现在已经覆盖了绝大多数中国省级移动公司的分析挖掘项目,你上网搜索一下应该可以找到一些详细的资料吧。我对华院分析印象最深的一点就是2002年这个公司白手起家,自己不懂不要紧,一边自学一边开始拓展客户,到现在在中国的移动通讯市场全面开花,的确佩服佩服呀。他们最开始都是用EXCEL处理数据,用肉眼比较选择比较不同的模型,你可以想象这其中的艰难吧。&br&&br&至于移动通讯的具体的数据挖掘的应用,那太多了,比如不同话费套餐的制订、客户流失模型、不同服务交叉销售模型、不同客户对优惠的弹性分析、客户群体细分模型、不同客户生命周期模型、渠道选择模型、恶意欺诈预警模型,太多了,记住,从客户的需求出发,从实践中的问题出发,移动中可以发现太多的挖掘项目。最后告诉你一个秘密,当你数据挖掘能力提升到一定程度时,你会发现无论什么行业,其实数据挖掘的应用有大部分是重合的相似的,这样你会觉得更轻松。&br&&br&&b&四、成为一名数据科学家需要掌握的技能图。&/b&(原文:&a href=&///?target=https%3A///Data-Science/How-do-I-become-a-data-scientist& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Data Science: How do I become a data scientist?&i class=&icon-external&&&/i&&/a&)&br&&img src=&/ea3ea5da7baf5e_b.jpg& data-rawwidth=&1550& data-rawheight=&1258& class=&origin_image zh-lightbox-thumb& width=&1550& data-original=&/ea3ea5da7baf5e_r.jpg&&&br&&br&&br&人一能之,己十之;人十能之,己千之。果能此道矣,虽愚,必明;虽柔,必强。&br&与君共勉。&br&&br&&b&以上,祝各位挖掘到自己的快乐和金矿:)&/b&&br&&br&&br&-----------2017年1月更新-----&br&&br&&b&欢迎关注我存储知识的地方:&/b&&b&&a href=&/foresee& class=&internal&&预见未来——Han Hsiao的知乎专栏Foresee&/a&&/b&
数据挖掘:What?Why?How? 这个问题思考了很久,作为过来人谈一谈,建议先看下以前的一些回答。
磨刀不误砍柴工。在学习数据挖掘之前应该明白几点: 数据挖掘目前在中国的尚未流行开…
&a href=&/wonderland& class=&internal&&最美的国度 - 知乎专栏&/a&
欢迎大家关注哟~&br&我只想说国内冷门却超级超级超级超级超级精彩的目的地太多了。。&br&原因之一当然是大部分国内的游客都喜欢”打卡“式旅行,比如。。。“云南我去过了,所以我就不去了”。。。在这样的想法下,一般人都是去昆明大理丽江的,所以当你发现云南——&br&往西会有&b&福贡&/b&——傈僳族和他们的同心酒, &b&秋那桶&/b&——怒族、霞拉, &b&丙中洛&/b&——众神之地、怒江大拐弯、世外桃源 ,&b&和顺&/b&——边陲小镇、侨乡,田园风光。。整个滇西居住着傈僳族拉祜族藏族白族怒族纳西族等等能歌善舞还能喝的少数民族,可有意思了!!!&br&&img src=&/9d9a8a1d711f7a6d46f14ba7a75f9671_b.jpg& data-rawwidth=&711& data-rawheight=&533& class=&origin_image zh-lightbox-thumb& width=&711& data-original=&/9d9a8a1d711f7a6d46f14ba7a75f9671_r.jpg&&腾冲和顺&br&&br&往南你们可能熟悉的是傣族和西双版纳,但是到佤族的地盘,是另一番古老神秘的风景,有堆了上千牛头祭祀的&b&龙摩爷圣地&/b&,有古老村寨&b&翁丁&/b&,先有阿瓦山再有佤族人的&b&阿瓦山&/b&,当然还有傣族各种 原始的村寨们;&br&&img src=&/692b01d6bbca5c4bd8a8ba4_b.jpg& data-rawwidth=&750& data-rawheight=&501& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/692b01d6bbca5c4bd8a8ba4_r.jpg&&龙摩爷圣地&br&&img src=&/cf0b6a40acec80a6ee5d6_b.jpg& data-rawwidth=&750& data-rawheight=&501& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/cf0b6a40acec80a6ee5d6_r.jpg&&翁丁&br&&br&稍微往北一点(其实还是在云南的南部),有清朝开始修建的滇越铁路米轨保留地&b&蒙自&/b&,有《舌尖》红了的产小豆腐的&b&建水&/b&;&br&&img src=&/1d537eaa25cf0_b.jpg& data-rawwidth=&750& data-rawheight=&501& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/1d537eaa25cf0_r.jpg&&蒙自的车站,法式的&br&&img src=&/143ebf4cceb9d94acf944_b.jpg& data-rawwidth=&750& data-rawheight=&501& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/143ebf4cceb9d94acf944_r.jpg&&跟建水的老奶奶做豆腐&br&&br&往东一些,&b&罗平&/b&的油菜花每年都开,像《桃花源》一样坐船穿越洞豁然开朗的&b&坝美&/b&,因为《爸爸去哪儿》红了的&b&普者黑&/b&……&br&&img src=&/52c6656d9fabe359438e_b.jpg& data-rawwidth=&750& data-rawheight=&501& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/52c6656d9fabe359438e_r.jpg&&坝美&br&&br&云南滇西北的丽江香格里拉那一带可能大家比较熟悉,但是,茶马古道上的&b&沙溪&/b&呢?&b&千湖山&/b&呢?&br&还有昆明,昆明真心是个美到不行的城市,昆明旁边有个亚洲最大的鲜花交易市场,叫做&b&斗南花市&/b&你们造吗?&br&&img src=&/5766ab46fbf_b.jpg& data-rawwidth=&750& data-rawheight=&501& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/5766ab46fbf_r.jpg&&这里的花都是论!斤!卖!&br&&br&&br&&br&原因之二是,对风景的需求在人文之上很多,虽然事实上,人文的东西更有味道。&br&比如青海,你知道青海湖,但是青海还有超美的&b&茶卡盐湖&/b&,还有热贡艺术的发源地&b&同仁&/b&,还有我壮阔的大&b&祁连山&/b&;&br&&img src=&/1ccf8bfe_b.jpg& data-rawwidth=&750& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/1ccf8bfe_r.jpg&&茶卡盐湖&br&&img src=&/3f0f5ba11d_b.jpg& data-rawwidth=&750& data-rawheight=&501& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/3f0f5ba11d_r.jpg&&我大祁连啊。。。我不是西北人,但是这么说才能体现出祁连的大气壮美。。。真的超级大气!&br&听着周云蓬的《九月》看着祁连真是太爽了。。&br&&br&比如贵州,黄果树都知道,但是其实贵州漂亮得不得了啊!喀斯特地貌随便拍拍就是风景啊!而且因为开发少,很多地方就是原来的样子,比如&b&云峰八寨军屯&/b&——这里的汉族后裔都保留着明朝遗风;&b&中洞苗寨&/b&——巨大洞穴里的原始生活;&b&滑石哨&/b&——《致青春》里说到的布依族村寨;&br&&img src=&/2df0fe95b_b.jpg& data-rawwidth=&749& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&749& data-original=&/2df0fe95b_r.jpg&&&img src=&/192ed899e103a49a32aa65ec_b.jpg& data-rawwidth=&750& data-rawheight=&501& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/192ed899e103a49a32aa65ec_r.jpg&&你看他们的衣服上都有着明朝的风格&br&&img src=&/f419e59fc7d435a0eed7c1ef_b.jpg& data-rawwidth=&750& data-rawheight=&501& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/f419e59fc7d435a0eed7c1ef_r.jpg&&洞里的世界,神奇吧!&br&&img src=&/80a7c316be0f2ca2c8ac057accf0446e_b.jpg& data-rawwidth=&750& data-rawheight=&501& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/80a7c316be0f2ca2c8ac057accf0446e_r.jpg&&&br&&br&还有湘西,张家界和凤凰名声在外,但随着名声在外这里也变得商业起来,但这片美丽清秀的土地上,还有“耶!耶啰耶”跳起舞来唱起歌祭祀的&strong&高步村,&/strong&深山巫水间的避世,各个村民放下锄头就是民间高手艺术家的&strong&高椅古村&/strong&,来这里跟他们学段&strong&傩堂戏&/strong&,很有穿越感。&br&&img src=&/e68b1ac31a440ac249095_b.jpg& data-rawwidth=&580& data-rawheight=&240& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&/e68b1ac31a440ac249095_r.jpg&&&img src=&/b9f317f4d93e_b.jpg& data-rawwidth=&500& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&500& data-original=&/b9f317f4d93e_r.jpg&&&br&还有四川。。因为太多了下次等我喘口气再讲。。。还有很多光是听到就已经激动的路线——丝绸之路,茶马古道,川藏线新藏线滇藏线,国境线,&br&&br&热门的地方,一定有热门的理由。奇观,风景美,有情调,很多理由。但是如果真的想去一个地方体验另一种生活感受,体验一种很真实的“世界大不同”,体验很纯粹的这个世界本来的样子,那么以上这些地方你都可以考虑。当然还有很多我是没说到的。&br&&br&&br&&br&&br&你问我为什么会知道这些奇奇怪怪的地方。。。因为,我就是做这个的(顺便打个小广告&a href=&///?target=http%3A//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&稻草人旅行 - 专注于为青年,带来非凡的小团队旅行体验&i class=&icon-external&&&/i&&/a&),很多冷门但真实的目的地被我们热情满满地开发出来,但是事实上卖的并不好,因为大部分人还是喜欢那些热门的目的地。我们也卖一些热门目的地的产品,但是还是为这些真实美好却被遗忘的地方感到可惜。&br&&br&&br&&br&==========================我是补充的分割线哦也============================&br&好多小伙伴都各种留言,谢谢大家&_& 其实真的是一时无聊顺手发个小帖,结果朋友在微信里跟我说在知乎看到了你,过了一个周末才发现这贴居然得到了好多人的点赞,有点受宠若惊呢(羞射地跑开~)&br&既然得到这么多点赞,也想着抽空再补充一些地方。每一个省份事实上都有好多可以写,先择1-2个,部分文字直接从路线里搬了,因为。。写的太好了。。。&_&&br&&br&&b&大内蒙:&/b&&br&内蒙太大了,我自认为对内蒙的了解也不够多,抛砖引玉说几个地方,非常欢迎了解内蒙的朋友们来补充!&br&&br&&b&阿尔山:&/b&大兴安岭深处的美丽林场,随处可见的镜面般的水塘,倒映着岸边的金色森林,走在白桦林中的森林小道上,很童话&br&&img src=&/4b18e6ace903af3bd4163c1_b.jpg& data-rawwidth=&750& data-rawheight=&498& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/4b18e6ace903af3bd4163c1_r.jpg&&阿尔山森林公园~&br&&br&&b&柴河:&/b&柴河坐落在阿尔山的东边,是一般旅行者很少前往的地点。侏罗纪晚期这里曾火山喷发,当年的喷发口如今在这里形成了一个个湖泊,而火山喷发的熔岩如今也孕育出了茂密的森林,使得这里长期与世隔绝。最早是鄂温克族的猎人们发现了这里,他们视这里的水为圣水,并取名为“泡子”。现在的柴河是一个小小的县城,干净的马路和砖瓦的房子使这里显得非常可爱。&br&&img src=&/dfd87f79b86b49f38be758b8f0a6e0bf_b.jpg& data-rawwidth=&750& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/dfd87f79b86b49f38be758b8f0a6e0bf_r.jpg&&柴河的月亮天池&br&&br&&b&恩和&/b& :&strong&宁静的俄罗斯族边境村落&/strong&&b&,&/b&住在当地俄罗斯人的小木屋,吃着俄罗斯大妈亲手酿制的蓝莓酱,荡着院子里的秋千,洗着当地的土桑拿,浓厚的异域文化…早上起早,去村外的小河边,看阳光从袅袅薄雾的河边升起,那一刻,真的美极了。&br&&img src=&/65eabb79a28d72fe8cee_b.jpg& data-rawwidth=&750& data-rawheight=&498& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/65eabb79a28d72fe8cee_r.jpg&&宁静的恩和之晨&br&&br&&b&路上&/b&:这不是一个地名,路上的意思就是字面意思。。内蒙的一路上,风景都美到爆,全天景观车,这大概也是内蒙作为秒杀线的原因之一,另一个原因是这些地方够冷门,以至于十一都碰不上多少人。&br&&img src=&/e1bbaa601d566_b.jpg& data-rawwidth=&750& data-rawheight=&498& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/e1bbaa601d566_r.jpg&&路上。。。差不多就酱~&br&&img src=&/78b2191221fcf03d400fbe_b.jpg& data-rawwidth=&750& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/78b2191221fcf03d400fbe_r.jpg&&酱~&br&&img src=&/c6aa992a8fabb4ff882b_b.jpg& data-rawwidth=&750& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/c6aa992a8fabb4ff882b_r.jpg&&和酱~&br&&br&&br&&b&大青海:&/b&&br&&b&年保玉则&/b&:&br&好几位兄弟留言提到了年保玉则,所以来默默补一个~&br&&img src=&/a7c4d132ca3f84be2ee149_b.jpg& data-rawwidth=&750& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/a7c4d132ca3f84be2ee149_r.jpg&&年保玉则深处,你们感受一下。。&br&&br&&b&同仁:&/b&&br&如果你看过某一期中国国家地理,你大概能看到一篇讲同仁的文章。这里是热贡艺术的发源地,热贡艺术是藏式艺术很重要的一个流派,具体请百度。&br&然后这本国家地理里还写到了一个叫角巴甲的大师。&br&&img src=&/d4a8264abcc3f166a1846_b.jpg& data-rawwidth=&747& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&747& data-original=&/d4a8264abcc3f166a1846_r.jpg&&听角巴甲大师讲堆绣的制作工艺&br&&img src=&/d13b7e9b899cdcfc564dba4_b.jpg& data-rawwidth=&750& data-rawheight=&498& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/d13b7e9b899cdcfc564dba4_r.jpg&&住在角巴甲大师家里,跟当地大师们一起聊天喝茶什么的~&br&&br&&b&大新疆:&/b&&br&&b&吐峪沟:&/b&&br&丝绸之路上的一个地儿,吐峪沟的麻扎村是新疆现存最古老的维吾尔族村落,伊斯兰教最早由这里传入中国,因此这里也被称之为“中国的麦加”。村子坐落在火焰山脚下的小绿洲中,房屋均是以黄粘土制坯建成的窑房,1700年来一只没有变过样。然后,在这里因为晚上很热——可以躺在葡萄架下看着星空睡觉!!!&br&&img src=&/ecce4faf4_b.jpg& data-rawwidth=&750& data-rawheight=&499& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/ecce4faf4_r.jpg&&&img src=&/cec870ac1cf5bb3aa0fda_b.jpg& data-rawwidth=&750& data-rawheight=&499& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/cec870ac1cf5bb3aa0fda_r.jpg&&&br&&b&夏塔古道:&/b&&br&看到有小伙伴推荐新疆的&b&昭苏,夏塔&/b&就是昭苏的。“&a href=&///?target=http%3A///view/879007.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&夏塔&i class=&icon-external&&&/i&&/a&,是一个很古老的地名。这里曾经是&a href=&///?target=http%3A///view/1060025.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&乌孙国&i class=&icon-external&&&/i&&/a&的&a href=&///?target=http%3A///view/981504.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&夏都&i class=&icon-external&&&/i&&/a&,木扎特河和东都果尔河交汇后,叫&a href=&///?target=http%3A///view/4733707.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&夏塔河&i class=&icon-external&&&/i&&/a&,但在山里的这一段并不长,大约两公里左右,出了山口,一直到特克斯河,夏塔河两岸都是平坦的草原,夏塔古城的遗址就在夏塔河边。沿着木扎特河朔河而上,那就是著名的夏塔古道,翻过木扎特大板,就到了&a href=&///?target=http%3A///view/923105.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&南疆&i class=&icon-external&&&/i&&/a&的&a href=&///?target=http%3A///view/41272.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&拜城&i class=&icon-external&&&/i&&/a&县。”——来自度娘&br&&img src=&/baafb62d7ee466ddcd359f9_b.jpg& data-rawwidth=&750& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&/baafb62d7ee466ddcd359f9_r.jpg&&夏塔。这个妹子不是lz啊哈哈哈,这是左手,写《我们始终牵手旅行》的那位姐姐,拍照的是她老公张千里老师。。就。。。不知道你会遇见什么样神奇的同伴,哈哈哈~&br&&br&大四川。。我准备等再有时间好好开帖写写,写这个大Boss需要一定养一下精力。。。其实云南也是,对这次写的其实不是特别满意(掩面,我是云南脑残粉),也想着好好整理一下,谢谢各位的捧场,不管你觉得这是广告,还是对你有用的一些目的地介绍,有一段话,是我们几个同事写的一点心声,也是我们在探索这些地方的动力来源。希望你们喜欢。&br&&strong&我们在这里出生,在这里成长...我们从这里离开,又从远方回来,这里,承载着我们的生活、家庭与喜怒哀乐。&/strong&&br&&br&&strong&千百万的旅人从世界各地慕名而来,而我们的脚步总是向着他乡延伸。我们总是说这里太熟悉,可熟悉的只有高楼林立,车水马龙,细细想来,不过是这片土地的冰山一角。困住我们的是城市,而不是这方土地。960万平方公里的土地,你走过了多少?&/strong&&br&&br&&strong&看腻了各国风情,回家吧,&/strong&&br&&strong&让我们用脚步丈量祖国,最美的国度在这里,中国。&/strong&&br&&br&&br&&br&&br&============================居然还有分割线==============================&br&很多人怀疑爆出冷门的目的地会毁了当地。。。很多好地方被毁事实上有很多原因,而我们能做的并非就是不去那里,而是怀着一种敬畏尊敬去那里。让喜马拉雅山改变你,而不是你去改变喜马拉雅山。给大家一些“负责任的旅行”小Tips,希望对你们有用(点进去是tips):&a href=&///?target=http%3A///index.php%3Faction%3Dguide& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&稻草人旅行 - 专注于为青年,带来非凡的小团队旅行体验&i class=&icon-external&&&/i&&/a&&br&&br&============================居然还还有分割线=============================&br&收到好多同学发来的私信,统一回复一下:&br&用私人账号转载到自己朋友圈是可以的,这个不存在什么盗用版权问题啦;转到公众号,不管你是面向谁,是不是商业的还是自己做着完,都希望你跟我打个招呼,然后注明作者和专栏链接&a href=&/wonderland& class=&internal&&最美的国度 - 知乎专栏&/a& ;同时请你不要乱改,有个叫“周末去哪玩”的微信公众号把自己账号名字安插进去发一遍,也是有点……盗用就盗用嘛,还装成自己写的,喂很不尊重人好不好!&br&另外一件事是,很多人在问稻草人旅行的事儿,这里是他们的官网&a href=&///?target=http%3A//& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&稻草人旅行 - 专注于为青年,带来非凡的小团队旅行体验&i class=&icon-external&&&/i&&/a&,网站上有他们的旅行顾问,微博微信上有他们的官方账号@稻草人旅行。这是一个很棒的组织,而作者因为要去追逐自己的梦想,已经离职很久了,有任何问题请直接上他们网站骚扰他们的顾问或者调戏他们的主页君,路线全宇宙出发,目前还出了很多赞爆的国际路线。&br&最后再顺便告诉你们一下下,对欧洲博物馆有兴趣的,喵~&a href=&/wonderland& class=&internal&&最美的国度 - 知乎专栏&/a&
欢迎大家关注哟~ 我只想说国内冷门却超级超级超级超级超级精彩的目的地太多了。。 原因之一当然是大部分国内的游客都喜欢”打卡“式旅行,比如。。。“云南我去过了,所以我就不去了”。。。在这样的想法下,一般人都是去昆明大理丽…
&p&&b&必选动作&/b&:三样必备——粉底(或隔离)、睫毛膏、眼线。&br&&b&可选动作&/b&:眉毛不好看就修眉,气色不够好就打腮红,嘴唇颜色不美就上口红。&/p&&p&——————————前方预警,多图杀猫————————————————————&br&一、先说&b&打底类&/b&&br&——最传统的,粉底液,即液体状的小瓶子,遮瑕好,较厚重,英文foundationg翻译而来。缺点是太糊,皮肤负担大,容易闷痘,带妆一天的话皮肤太辛苦了。一般重要场合使用,比如&b&晚会&/b&,见重要的老师和学长,&b&面试&/b&等等。别含糊。&br&——粉饼,带粉扑的小盒子,遮瑕较好,质地干燥。一般也有分干湿两用了,弄湿了用手蘸就和粉底液是一个意思。冬天会比较干燥,注意上妆前要多抹油~携带方便,一般用于补妆(补妆别当人面),吸油,定妆等。可以先用粉底液再用粉饼,也可以单独用粉饼。也可以不用。&br&——隔离霜,&b&所谓bb霜,cc霜,妆前乳,复合乳&/b&,这些都是一个意思(发现现在各种牌子很喜欢炮制概念比如“粉底膏”“粉底霜”“粉底凝露”等等等等,其实都是一个意思)。隔离霜质地轻薄,也带遮瑕和防晒,但是又比粉底液保湿好,没那么容易致痘。随着化妆熟练程度逐渐可以取代粉底液(毕竟你不是天天都有重要的活动,但是你可需要随时随地看起来气色都不错)&br&——蜜粉。类似粉饼,但是遮瑕稍弱,没那么白(粉饼打不好就是死人脸。。。。。)可以定妆,控油,让妆在出汗的情况下也没那么容易花。&br&死人脸如下,粉实在太厚了,大概是因为岁数毕竟大了,胶原蛋白和水分流失,粉底不是十分服帖。可以隐约看到发际线黄黄的一圈,眼角都脱妆了,而且耳朵也不白。&br&&/p&&p&&img src=&/a6bfdfc24b99b_b.jpg& data-rawwidth=&452& data-rawheight=&300& class=&origin_image zh-lightbox-thumb& width=&452& data-original=&/a6bfdfc24b99b_r.jpg&&以上四种,自由组合,&b&个人常用的组合是:&br&匆忙出门,抓起钱包手机就走,用蜜粉拍两下,遮一下大油田;&br&约会,看电影逛街:隔离+蜜粉+局部遮瑕(用手指蘸粉底液盖在痘印上);&br&重要的亲友,聚餐聚会,领导或初次见面的客人:隔离+粉底霜+蜜粉,彻底把缺陷遮住,一般晚上去聚餐,也就带妆三五个小时,压力不大。&br&&/b&我是不太用粉饼的。&br&&br&以上分别推荐:&br&——粉底(霜/液/膏)类:&img src=&/58e4dfb79f9aa2aaada83_b.jpg& data-rawwidth=&1500& data-rawheight=&1500& class=&origin_image zh-lightbox-thumb& width=&1500& data-original=&/58e4dfb79f9aa2aaada83_r.jpg&&&img src=&/6e7ef750f12fb0f7ed4054_b.jpg& data-rawwidth=&1500& data-rawheight=&1500& class=&origin_image zh-lightbox-thumb& width=&1500& data-original=&/6e7ef750f12fb0f7ed4054_r.jpg&&&b&蜜丝佛陀魔幻触感粉底霜&/b&,他家明星产品,学生时代用过三块。遮瑕好,滋润保湿,唯一缺点是撑不住,下午就黄了,油了。而且欧美妆就是对亚洲人负担太重,用时间长了长痘,色素沉淀,毛孔很脏。官价158。&br&&b&妙巴黎慕斯粉底霜&img src=&/f8d98bad22ffb64fcf442ec_b.jpg& data-rawwidth=&220& data-rawheight=&220& class=&content_image& width=&220&&&/b&&img src=&/e7dceb0fab65b4a78a7c_b.jpg& data-rawwidth=&250& data-rawheight=&250& class=&content_image& width=&250&&质地很好,干燥,柔和,控油佳。只是本人肤色较白,用她家最浅的色号81号也还是有点显黑,后来只好送人了。189元左右&br&&b&kate的肤蕊复合霜&/b&。&img src=&/8f72acf58fa7ea2ed0322_b.jpg& data-rawwidth=&293& data-rawheight=&220& class=&content_image& width=&293&&&img src=&/ccb21f6248448aea3c720b56_b.jpg& data-rawwidth=&262& data-rawheight=&350& class=&content_image& width=&262&&红色为保湿型 ,白色的为美白型。日系彩妆,轻薄,妆感若,遮瑕防晒还不油,很透,不会像戴面具。158左右,2013年左右kate家的新品。号称是可以直接用在爽肤水之后,连乳液都不用加。个人建议平时上妆还是需要养成好习惯,应该无论涂什么化妆品都要打个底。&br&——我个人很少用粉饼,但是露华浓、妙巴黎、蜜丝佛陀、kate等品牌的粉饼都购入过。我个人偏向用蜜粉代替粉饼,也没再市面上见过特别得我心的粉饼。附一个帖子参考 &a href=&/question/& class=&internal&&粉饼比粉底液、粉霜对皮肤的伤害小吗?&/a&&/p&&p&——隔离霜:七七八八用过无数支,用过市面上大部分开架货。以下分别推荐&br&&b&露华浓凝采柔滑&/b&隔离,图片是紫色,适用于暗沉的肌肤。&img src=&/9cf19bdaefdaf18ddcd7287_b.jpg& data-rawwidth=&300& data-rawheight=&300& class=&content_image& width=&300&&一共三个色号,分别适合长痘、暗沉、肤色黑三种皮肤类型,也是属于入门级的隔离,比za高档些。很滑,很薄(有滑石粉)。美白遮瑕都很好,也不长痘。&/p&&p&很遗憾现在已经停产,而且露华浓也已经逐渐要退出中国市场了。客观来说他家其实有很多低调又精良的明星产品(同等价位里),美宝莲什么的真的只是靠铺天盖地的广告而已。这款138.&br&&b&kate妆前乳&/b&:&img src=&/c6ec92fd84fc8fd44c3344_b.jpg& data-rawwidth=&250& data-rawheight=&250& class=&content_image& width=&250&&无功无过,遮瑕无,控油无,唯一优点就是不那么致痘。。。。。。毛孔没那么脏。&/p&&p&因为信赖日系彩妆,所以一直用着,119元。&/p&&p&我挺喜欢kanebo旗下的东西的,keta和freeplus,还有日月晶采,suisai都是嘉娜宝集团的,他家的东西没有不好用一说,都还OK,再不适合自己也不会引发严重的皮肤问题,比如长痘,过敏,起皮什么的,再加上价格亲民,所以一直超级青睐。&br&——蜜粉:一定要&b&freeplus&/b&!!!!!!!!!! 一定要freeplus!!!!!!!!!! 一定要freeplus!!!!!!!!!! 一定要freeplus!!!!!!!!!! 一定要freeplus!!!!!!!!!! 一定要freeplus!!!!!!!!!! 一定要freeplus!!!!!!!!!! 一定要freeplus!!!!!!!!!! 一定要freeplus!!!!!!!!!! &/p&&br&就是这货!!!!!用数量来证明下真爱,这是2013年用的。&img src=&/f0c48cea14f9d9aaa9970e_b.jpg& data-rawwidth=&220& data-rawheight=&220& class=&content_image& width=&220&&&img src=&/ae5fde2e736effc3be1eb4401330afe7_b.jpg& data-rawwidth=&3264& data-rawheight=&2448& class=&origin_image zh-lightbox-thumb& width=&3264& data-original=&/ae5fde2e736effc3be1eb4401330afe7_r.jpg&&&br&每年夏天都卖断货的芙丽芳丝控油蜜粉,容量只有大多数蜜粉的一半(10g),其余品牌如常见的dodo、kate、蜜丝佛陀,都是20g左右。&br&夏天用超级舒适。不起痘,不堵毛孔,皮肤变成亚光了,还清透,粉扑扑超级美。有一次直接和同学一起把亚马逊上的都买光了。。。。。五六盒吧。。。。是真爱。。。。。一般抄底的时候买,有时候打完折才70。热泪盈眶地墙裂推荐。。。。。。&br&即使冬天用也可以很舒服,只要保湿做好就ok,略带珠光,让脸色看起来健康不油腻。&br&其他的还用过dodo、kate、妙巴黎、蜜丝佛陀、露华浓。。。。&br&dodo最有名的红色恋人那款,屈臣氏常年有售,入门级的话完全可以尝试,个人感觉太粉,用了以后红脸蛋太明显。&br&kate的粉质太黄,妙巴黎的爱出油,蜜丝佛陀最有名的那个铁盘,超级闷痘痘。&br&&br&以前在学校参加礼仪培训的时候老师讲过(她培训过的学生都送到迪拜去从事酒店管理工作),粉底是和皮肤最亲密接触的,有能力的话一定要买好一点的,二三百,三五百,可以尽量选择。哪怕集中火力只买一件,哪怕眼部的都可以稍微差一些。(口红也要尽量选择好的,她给的建议是两百以上一支)&br&&b&个人认为如果你不会挑选,选择药妆类的化妆品就不会出大错&/b&,比如薇姿,雅漾(均为法国品牌),freeplus,珂润,蒂珂(均为日本品牌)。这些品牌&b&色素较少,一般无香料或者少香料&/b&,对肌肤温和无刺激。&br&&br&二、睫毛膏类的,七七八八用过很多了。&br&——首要推荐&b&娥佩兰调量&/b&,这个图片虽然是粉色管的,不过颜色依然是黑色的。他家还有同系列紫色深蓝色咖啡色的,不知道现在还有没有。喜欢粗一些的就调到9,喜欢纤细的用刻度1就好。&br&&p&&img src=&/50e3adb829_b.jpg& data-rawwidth=&305& data-rawheight=&300& class=&content_image& width=&305&&是!!!!!!!!真!!!!!!爱!!!!!!不粗,不粘,不拉丝,不苍蝇腿,关键是超级好卸。&/p&&p&即使现在已经用过了赫莲娜、雅诗兰黛、娇韵诗的睫毛膏。如果要拼性价比,我还是会回头说娥佩兰真的很好用。这么多年一直只卖59,尤其是自从有了淘宝旗舰店。。。。感觉这睫毛膏真的是抗通货膨胀利器。。。
喜欢好玩一点的话他家还有紫色,蓝色,咖啡色的。 &br&——想要浓密就&b&蜜丝佛陀的大胖子&/b&。浓密媚眼这一款,照着图片去专柜挑就可以。&img src=&/f3dda9b22fbabdb5a15d_b.jpg& data-rawwidth=&400& data-rawheight=&300& class=&content_image& width=&400&&&br&刷头比较重要其实,具体什么形状,要配合自己的手法和睫毛的形状一点点尝试。个人因为睫毛浓密又很翘,用什么都差不多。重点在于一定要干净,如果大苍蝇腿就很low逼。。。。。。。。。&/p&&p&睫毛膏这种东西寿命只有三个月,因为会进去空气。所以我一致认为经济实力允许的话100左右的就差不多了,常用的话就备一支好点的,包装控的话就买雅诗兰黛娇韵诗神马的,虽然我也觉得并没那么好用。&br&想要眼睛看起来明亮精神就一定要用睫毛膏,哪怕眼线都不化。&/p&&br&&p&三、眼线。对我来说属于必需品。市面上的眼线基本都尝试过。&b&所谓眼线笔,眼线液笔,眼线液。眼线又分圆头,宽头,扁头,斜头。眼线液笔也分毛毡头,毛刷头,等等。&/b&主要需要根据化妆习惯和化妆水平来选择。&/p&&br&&p&妙巴黎家也有很多很多颜色,只是蓝色绿色真的用不太到,而且蛮影响别人对你的印象的,我觉得紫色咖啡色ok。&img src=&/b559d0a42b0f2f35d4444_b.jpg& data-rawwidth=&240& data-rawheight=&240& class=&content_image& width=&240&&cosmo家有亮晶晶的款&img src=&/fe88fef50cf9eeb0d8cd73_b.jpg& data-rawwidth=&281& data-rawheight=&220& class=&content_image& width=&281&&&br&其实这些都属于锦上添花,基础款一定要有。有钱有余力了可以多选择点别的。&br&&br&&br&——喜欢颜色多一点的,咖啡色,蓝色,紫色,绿色,去活泼一点的场合的比如ktv。可以选择妙巴黎,市面上颜色最多的品牌了,chanel的副牌。均价100左右一支。缺点就是都很软,很晕妆,花了以后眼睛就像肿了。。。。。。。很low。。。。。除非是大外双。花了以后还可以

我要回帖

更多关于 cf名字 的文章

 

随机推荐