2018年数据分析的职业规划以及学习范围_数据分析工作规划-程序员宅基地

技术标签: 学习  python  数据分析  python学习  人工智能  编程  IT  

最近有不少同学在后台问我数据分析的职业发展相关,这里先列一个简易大纲。它更多是以我所在的互联网行业展开的。

入门和职业规划应该从两个角度考虑:领域和路线。

领域是不少新人常忽略的要素,其实数据分析不会脱离业务存在。你进入哪个行业,很大程度会决定你初期的技能树和技能点。譬如金融领域的风控模型、营销领域的生命周期、广告领域的点击率预估等,各有各的特色。

如果是一位应届生,不妨多了解自己感兴趣的领域,和专业相关是最好的,并且积累相关的经验,为面试做准备。

如果已经有一定行业履历,只是想要转岗数据分析师,那么跨岗不跨行,避免跳到一个陌生的领域。

领域经验太宽泛,我给不了太多的指点,主要也就三点:1.自己感兴趣的,2.自己擅长的,3.有钱途的。从职场生涯看,成为某领域的数据专家,会是一个更好的筹码。

而路线大致可以划分成四大方向:

数据分析,数据挖掘,数据产品,数据工程。

万事开头难,给要学习python的同学开个好头,初入编程行业不清楚自己是否真的可以或者担心自己学不会。

那么在学习之前咱们得有一个明确的学习目标,详细的学习线路,做到不盲目学习,少走弯路,在这里给大家分享一些python入门的学习教程和方法,以及目前python最新的学习线路,欢迎大家加入python学习交流qq群:250933691

 数据分析/数据运营/商业分析

这是业务方向的数据分析师。

绝大部分人,都是从这个岗位开始自己的数据之路,也是基数最大的岗位。

因为基数大,所以这类岗位通常鱼龙混杂。有些虽然叫数据分析师,但是每天只需要和Excel打交道,完成leader布置的表格整理工作就行。混个几年,成为一位数据分析主管,给下面的新人继续布置Excel任务。

又有一种数据分析师,岗位职责要求你掌握常用的机器学习算法,面试首先推导一个决策树或者逻辑回归。入职后也是各类代码,和分析打交道的情况不多。

都叫数据分析师,其实天差地别。

这里更多指互联网行业,偏业务的数据分析师,一般属于运营部门。不少公司也称数据运营或者商业分析。

这类岗位的职位描述一般是:

负责和支撑各部门相关的报表;

建立和优化指标体系;

监控数据的波动和异常,找出问题;

优化和驱动业务,推动数据化运营;

找出可增长的市场或产品优化空间;

输出专题分析报告;

实际情况是,不少业务端的数据分析师,主要工作只做第一点。别管它用汇总、分析、数据支持什么修饰词,基本是跑SQL,做报表。硬生生活成了业务端的表哥。

这是很常见的情况,也是入门新人的第一个坑。因为从头到尾,这类分析师,都没有解决问题。

业务部门往往更关心,某个指标为什么下跌或者上升。产品的用户是什么样的?怎么能更好的完成自己的KPI。

以活跃指标的下跌举例:

活跃指标下跌了多少?是属于合理的数据波动,还是突发式?

什么时候开始的下跌?

是整体的活跃用户下跌,还是部分用户?

为什么下跌?是产品版本,还是运营失误?

怎么解决下跌的问题

这是一套标准的解决思维。分别对应what、when、who、why、how,每一部分都不是三言两语可以解释清楚。不要看它简单,例如你通过多维分析,发现某个地区的活跃下跌了,不要急着把它作为分析的结论,这是不合格的数据分析。某地区的活跃下跌,只是现象,不是原因,把它作为结论提交,肯定会被骂的。

你要解决的是,为什么这个地区的活跃下跌了。是该地渠道,是该地竞争对手,是该地市场环境?这些问题都是细化深入的范畴。并且,它们要能以量化解释,而不是我认为。

做好了这点,才是一个真正的业务端的数据分析师。

当然,这一点看的是leader。leader能否带你进入业务分析的大门,决定你将来是不是成为一个表哥。新人切记切记。

解决问题是一方面工作,另外一方面,数据分析师的职责是将业务数据体系化,建立一套指标框架。活跃下跌的问题,本质上也是指标问题。什么时候开始下跌,哪部分下跌,都能转化成对应指标,如日活跃用户数,新老用户活跃数,地区活跃数。

你不能衡量它,就无法增长它,指的就是指标体系。指标体系可以是业务部门建立,但数据分析师也挺合适。一方面他们比数据挖掘这类技术岗位更贴合业务,一方面不像业务岗位对数据抓瞎。

两者结合,这岗位也能称为数据运营。

指标体系如果工程化自动化,也就是BI,所以数据分析师可以算半个BI分析师,这里不包括BI报表开发。BI如果采购第三方,数据分析师负责BI没问题,如果自有开发,那么BI岗技术的色彩更浓厚。

数据分析思维和业务的理解,是分析师赖以生存的技能。很多时候,工具是锦上添花的作用。掌握Excel+SQL/hive,了解描述统计学,知道常见的可视化表达,足够完成大部分任务。机器学习这类能力,对此类数据分析师不是必须的,Python也一样,只是加分项。毕竟为什么下跌,你无法用数据挖掘解答。

数据分析师是一个基础岗位,如果专精于业务,更适合往管理端发展,单纯的工具和技巧很难拉开差距。数据分析的管理岗,比较常见的有数据运营经理/总监,数据分析经理等,相对应的能力是能建立指标体系,并且解决日常的各类「为什么」问题。

商业/市场分析是另外一个方向,更多见于传统行业。你要开一家超市,你得考虑哪里开,这就要考虑居民密度,居民消费能力,竞争对手的多寡,步行交通距离,开车交通距离等。这些数据是宏观的大指标,往往靠搜索和调研完成,这是和互联网数据分析师最大的差异。

若往其他分支发展,比如数据挖掘工程师,则要继续掌握Python和机器学习等。从业务型发展上来的好处是接地气,具备商业洞察力(天天搞报表,怎么可能不熟),这点是直接做数据挖掘,或者程序员转岗,所不具备的。

新人,比较普适的发展路线是先成为一位数据分析师。积累相关的经验,在一两年后,决定往后的发展,是数据挖掘,还是专精数据分析成为管理岗。

学习资料:

这里对学习资料不再多做推荐,看历史文章:

如何七周成为数据分析师

 数据挖掘/算法专家

这是技术向的数据岗,有些归类在研发部门,有些则单独成立数据部门。

数据挖掘工程师要求更高的统计学能力、数理能力以及编程技巧。

从概念上说,数据挖掘Data mining是一种方式,机器学习Machine Learning是一门方法/学科。机器学习主要是有监督和无监督学习,有监督又可划分成回归和分类,它们是从过去的历史数据中学习到一个模型,模型可以针对特定问题求解。

数据挖掘的范围则大得多,即可以通过机器学习,而能借助其他算法。比如协同过滤、关联规则、PageRank等,它们是数据挖掘的经典算法,但不属于机器学习,所以在机器学习的书籍上,你是看不到的。

除此之外,还有一个领域,属于最优化问题的运筹学。现实中的问题往往有很多约束,比如护士排班,一共有三班(早、中、晚),现在要求每班满足最低护士人数,每位护士尽量不能连班,每位护士不能连续工作5天。每位护士的夜班数要均衡,每位护士每月的班数要均衡…这些问题很难用机器学习的方法完成,而在最优化领域,则有遗传算法、模拟退火算法、蚁群算法等。

实际的应用场景中,如外卖行业,如何寻找骑手效率最大化的最优路径,同样属于最优化,也是数据挖掘的工作范畴。

数据挖掘工程师,除了掌握算法,同样需要编程能力去实现,不论R、Python、Scala/Java,至少掌握一种。模型的实施,往往也要求Hadoop/Spark的工程实践经验,精通SQL/Hive是必须的。

常见数据挖掘项目的闭环如下:

定义问题

数据抽取

数据清洗

特征选取/特征工程

数据模型

数据验证

迭代优化

单看环节,数据挖掘对分析能力没有业务型那么高。这不代表业务不重要,尤其在特征选取方面,对业务的理解很大程度会影响特征怎么选取,进而影响模型质量。用户流失是一个经典的考题,如何选取合适的特征,预测用户会否流失,能够考察对业务是否深刻洞察。

数据挖掘的业务领域一样可以细分。金融行业的信用模型和风控模型/反欺诈模型、广告模型的点击预估模型、电商行业的推荐系统和用户画像系统。从需求提出到落地,数据挖掘工程师除了全程跟进也要熟悉业务。

因为要求高,所以数据挖掘的平均薪资高于数据分析师。

一个分工明确的团队,数据分析师负责将业务需求抽象成一个具体的数据假设或者模型。比如,运营希望减少用户流失,那么设立一个流失指标,现在需要预测用户流失率的模型。模型可以是数据分析师完成,也能是数据挖掘工程师。最终由数据挖掘团队部署到线上。

在一些公司,高级数据分析师会等价于数据挖掘工程师(其实行业内,对Title并没有严格的标准),只是工程能力可以稍弱,模型部署由专门的工程团队完成。

数据挖掘工程师,往后发展,称为算法专家。后者对理论要求更严苛,几乎都要阅读国外的前沿论文。方向不局限于简单的分类或者回归,还包括图像识别、自然语言处理、智能量化投顾这种复合领域。这里开始会对从业者的学校和学历提出要求,名校+硕士无疑是一个大优势,也有很多人直接做数据挖掘。

深度学习则更前沿,它由神经网络发展而来,是机器学习的一个子集。因为各类框架开枝散叶,诸多模型百花齐放,也可以算一个全新的分支。除了要求熟悉TensorFlow, Caffe, MXNet等深度学习框架,对模型的应用和调参也是必备的,后者往往是划分普通人和大牛的天堑。

算法专家和深度学习专家,薪资level会更高一级,一般对应于业务型的数据运营/分析总监。

数据科学家是上述岗位的最终形态之一,要么理论能力非常强,往往担任研究院的一把手。要么工程能力突出,上述的系统都能完成平台化的部署。

学习资料:

这类岗位对基础知识要求扎实,所以书籍需要比较大的阅读量,而且要保持领域新论文的吸收。

统计知识,除了「商务与经济统计」外,国外有一本「The Elements of Statistical Learning」,评价不错。

机器学习的入门,李航的「统计学习方法」,周志华的「机器学习」都是好书,英文好也能看PRML。

Python入门书籍的推荐太多,略过。「用Python进行数据分析」是必备的,当然这本书有点老,活用官网最新文档和stackoverflow,基本无碍。Python可视化查阅文档也够了,不用看书。

再进一步,则是机器学习的代码实现,比较知名的有「集体智慧编程」,「机器学习实战」等。其实最近还有不少新书,「Python DataScience Handbook」等,我当然不可能都看过,所以也不好推(hu)荐(you)。

除了基础,行业领域的也别落下,诸如推荐系统实战、计算广告…按需学习。如果你们公司对于人才有较高的挑战(一个人当两个人用),大概Spark/Hadoop机器学习相关的框架也得了解。

 数据产品经理

这个岗位比较新兴,它有两种理解,一种是具备强数据分析能力的PM,一种是公司数据产品的规划者。

前者,以数据导向优化和改进产品。在产品强势的公司,数据分析也会划归到产品部门,甚至运营也属于产品部。这类产品经理有更多的机会接触业务,属于顺便把分析师的活也干了,一专多能的典型。

他们会运用不同的数据源,对用户的行为特征分析和挖掘,达到改进产品。最典型的场景就是AB测试。大到页面布局、路径规划、小到按钮的颜色和样式,均可以通过数据指标评估。

下图的案例,就是弱化心愿单按钮的存在感,让用户更多的聚焦在直接购买而不是收藏,最终让销售额提高了35%。

 

俗话说,再优秀的产品经理也跑不过一半AB测试。此类数据产品经理,更多是注重数据分析能力,擅长用分析进行决策。数据是能力的一部分。

后者,是真正意义上的数据产品经理。在公司迈大迈强后,数据量与日俱增,此时会有不少数据相关的产品项目:包括大数据平台、埋点采集系统、BI、推荐系统、广告平台等。这些当然也是产品,自然需要提炼需求、设计、规划、项目排期,乃至落地。

我们不妨看几个数据产品经理要求:

负责大数据产品的设计,输出需求文档、产品原型;

负责推荐算法的产品策略,完成相关推荐及个性化推荐产品的需求分析;

负责分析和挖掘用户消费内容的行为数据,为改进算法策略提供依据;

负责客户端数据需求的对接,制定相关埋点规范及口径,相关业务指标验证;

报表展示工具的落地和应用;

和C端注重用户体验不同,数据产品,更注重整体的分析能力和逻辑。除了产品经理最基础的Axure、Visio、MindManager等工具。往往还需要很多技术型的能力。比如了解BI/DW原理和实施、了解常用的推荐算法、了解机器学习模型等。这也很容易理解,C端要求你了解用户需求,而在数据端,主要用户就是数据。

这当然不是说,用户体验不重要,拿推荐算法来说,除了满足用户最基本的感兴趣,也要考虑时效性,考虑新兴趣的挖掘,考虑无数据时的冷启动问题…这些一样是用户体验,只是解决方案也得从数据出发。再多思考一步,模型是离线还是实时,实时怎么实现它?技术细则不用多考虑,但你要知道会有这些坑。后端的数据产品,如报表,用户往往是你隔壁工位的小秦或小路,设计得丑一点不要紧,要是数据指标口径不统一,那才会分分钟骂街。

虽然数据PM需要熟悉各类数据模型、指标、数据挖掘和数据工程的实现,但是聚焦点是把它作为一个项目去实现,故而不用精通。

数据产品经理是一个比较新兴的岗位,所以有丰富经验的从业者并不多,我个人认为,还是存在比较大的职业缺口。当然也有其他问题,一是因为新兴,部门负责人本身也没有想好他们能干什么,不少数据PM还从事表哥的工作。二是数据产品本身可借鉴的经验不多,像APP产品,可以下载体验,总归有一个学习的过程。然而用户画像、BI、算法策略,都是其他公司的内部机密,无从参考,我就遇到不少对用户画像实现非常感兴趣的数据PM。

从职业发展上看,数据分析师做数据产品经理更合适。普通的产品经理,对前端、后端的技术栈尚未熟悉,何况日新月异的数据栈。这个岗位,适合对数据特别感兴趣,但是数理天赋不高的职场人,那么以沟通、项目管理和需求规划为能力,也不错。

学习资料:

数据产品经理,如果有数据挖掘经验,那么技术相关的书籍倒不重要,别落伍就行,更关注产品经理本身的能力,包括Axure,各类文档的编写、项目管理、需求整理等,市面上资料比较多。

这里再补充两本,「数据挖掘与数据化运营实战」,没啥高深技术,但是能够了解体系的初步建立。「数据挖掘技术—应用于市场营销、销售与客户关系管理」,这本书我推荐它是纠结的,它的知识点比较丰富,业务人员也能看懂,但是翻译的实在太糟糕了……

更多书籍参考其他岗位即可。

 数据工程师

数据工程师其实更偏技术,从职业道路上看,程序员走这条路更开阔。

在很多中小型的公司,一方面数据是无序的、缺失的、原始的,另外一方面各种业务报表又嗷嗷待哺。没办法,分析师只能自己撸起袖子,一个人当三个人用。兼做数据清洗+ETL+BI。

经历过的大概都懂,数据分析踏上数据工程的不归路如下:

每天都要从五六张表上join,那么不妨加工成一张中间表;

ETL的依赖关系越来越复杂,尝试用kettle/airflow等框架搞定,弄个DAG美滋滋;

运营部门的周报次次都要这几个指标,看看能否做一个自动化BI;

数据量逐日增多,最近T+1的日报需要几个小时完成,研究下查询语句的优化;

查询语句的优化空间也不大了,开始迁移到Hadoop/Spark分布式平台,新技术栈的学习;

新平台,原有的工具也不管用了,某大牛说apache上有工具能解决这个问题,于是阅读文档;

公司部署了私有化的埋点采集,数据缺失比较厉害,业务部门天天骂娘,继续埋Flume/Kafka的坑;

等等…

如果分析师在技术方面的灵性不错,那么技能点会往技术栈方向迁移。从最初的SQL,到了解Hadoop集群、了解presto/impala/spark、了解ELK、了解分布式存储和NoSQL……

这也是一个不错的发展方向,因为数据挖掘需要了解算法/模型,理论知识要求过高,不少硕士和博士还过来抢饭碗,自己不擅长容易遇到天花板。选择更底层的工程实现和架构,也是出路,薪资也不会低于数据挖掘/算法专家。

部分归属到技术部的数据分析师,虽然Title叫数据分析(其实应该叫数据分析开发工程师),很多工作也是围绕ETL/DW/BI进行,那么这就是标准的数据工程路线。

部分公司会将机器学习模型的部署和实现交给数据工程团队,这要求数据工程师熟悉sparkMLlib、Mahout此类框架。

数据工程师,可以从数据分析师的SQL技能,往数据的底层收集、存储、计算、运维拓展。往后发展则是数据总监、或者数据架构师。因为数据分析出身,与纯技术栈的程序员比,思考会更贴合业务,比如指标背后的数据模型,但是技术底子的薄弱需要弥补。

另外,DBA、BI这些传统的数据库从业者,也是能按这条路线进阶,或者选择数据产品经理方向。

万事开头难,给要学习python的同学开个好头,初入编程行业不清楚自己是否真的可以或者担心自己学不会。

那么在学习之前咱们得有一个明确的学习目标,详细的学习线路,做到不盲目学习,少走弯路,在这里给大家分享一些python入门的学习教程和方法,以及目前python最新的学习线路,欢迎大家加入python学习交流qq群:250933691

学习资料:

数据工程类的书籍,我看的不多,给不了建议。主要按各类名词搜索吧,什么linux、数据仓库、Hadoop、Spark、Storm、Elasticsearch等。这类岗位发展,技术更新速度比较快,所以需要保持吸收以及活用开源。

  最后

以上四个岗位就是数据分析的发展方向,它们互有关联,如果从整个架构图来看(一篇历史旧文有更详细的描述:

从零开始,构建数据化运营体系

)。

 

我们可以将其划分为数据收集—数据加工—数据运营—数据触达。

数据收集负责收集各种各样的原始数据,比如用户何时何地做了什么事情。它依赖于埋点采集系统,而埋点采集,需要收集什么类型数据,往往由数据产品经理确定规范(还是看公司,数据运营和数据分析师也能负责)。

收集上来的数据需要存储,往往因为高吞吐量,需要保证数据和日志的稳定性,会采用Flume+Kafka,如果有实时统计要求,也得考虑流数据。这块则是数据工程的范畴,包括原始数据的再加工,数据清洗,都是专门的数据团队完成。

当获得数据后,首先第一点是讲各种明细数据加工业务指标,没有指标不成方圆,这里由数据分析师定义的。有了指标,配合各种数据产品输出,如用户画像用户标签、BI报表,这些数据产品都由数据PM统筹排期…另外一方面,数据挖掘工程师和算法专家则凭各种数据建立模型,进行实时或离线运算。

模型可能会预测用户会不会购买某个商品,可能是做出一系列的推荐,可能是判断用户属于哪个类型,不一而足。

更上面一层是业务相关,数据分析师会监控和分析BI上指标的波动、数据挖掘工程是通过用户反馈数据,衡量算法的优劣、数据PM按AB测试的结果改进产品。数据工程师保证系统的稳定。

所有层次一环扣一环,每个岗位在其中都发挥特有的作用。数据工程偏底层技术,数据分析偏上层业务,数据挖掘和数据产品处于中间形态。不同公司虽然业务形态不一致,架构会有差异,但是职责不会偏差太大。这也是数据分析为什么会有四个方向。

讲到这里,你大概对数据分析的职业规划有了明晰的了解。当然,它们彼此间并不完全独立,到后期,很多界限会变得模糊。所以规划是一方面,是否愿意执行、学习和吃透,才是职业真正的道路呀。

万事开头难,给要学习python的同学开个好头,初入编程行业不清楚自己是否真的可以或者担心自己学不会。

那么在学习之前咱们得有一个明确的学习目标,详细的学习线路,做到不盲目学习,少走弯路,在这里给大家分享一些python入门的学习教程和方法,以及目前python最新的学习线路,欢迎大家加入python学习交流qq群:250933691

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jiawoxuexiqq30294961/article/details/82871966

智能推荐

手把手教你安装Eclipse最新版本的详细教程 (非常详细,非常实用)_eclipse安装教程-程序员宅基地

文章浏览阅读4.4k次,点赞2次,收藏16次。写这篇文章的由来是因为后边要用这个工具,但是由于某些原因有部分小伙伴和童鞋们可能不会安装此工具,为了方便小伙伴们和童鞋们的后续学习和不打击他们的积极性,因为80%的人都是死在工具的安装这第一道门槛上,这门槛说高也不高说低也不是太低。所以就抽时间水了这一篇文章。_eclipse安装教程

分享11个web前端开发实战项目案例+源码_前端项目实战案例-程序员宅基地

文章浏览阅读4.1w次,点赞12次,收藏193次。小编为大家收集了11个web前端开发,大企业实战项目案例+5W行源码!拿走玩去吧!1)小米官网项目描述:首先选择小米官网为第一个实战案例,是因为刚开始入门,有个参考点,另外站点比较偏向目前的卡片式设计,实现常见效果。目的为学者练习编写小米官网,熟悉div+css布局。学习资料的话可以加下web前端开发学习裙:600加上610再加上151自己去群里下载下。项目技术:HTML+CSS+Div布局2)迅雷官网项目描述:此站点特效较多,所以通过练习编写次站点,学生可以更多练习CSS3的新特性过渡与动画的实_前端项目实战案例

计算质数-埃里克森筛法(间隔黄金武器)-程序员宅基地

文章浏览阅读73次。素数,不同的质数,各种各样的问题总是遇到的素数。以下我们来说一下求素数的一种比較有效的算法。就是筛法。由于这个要求得1-n区间的素数仅仅须要O(nloglogn)的时间复杂度。以下来说一下它的思路。思路:如今又1-n的数字。素数嘛就是除了1和本身之外没有其它的约数。所以有约数的都不是素数。我们从2開始往后遍历,是2的倍数的都不是素数。所以我们把他们划掉然后如...

探索Keras DCGAN:深度学习中的创新图像生成-程序员宅基地

文章浏览阅读532次,点赞9次,收藏14次。探索Keras DCGAN:深度学习中的创新图像生成项目地址:https://gitcode.com/jacobgil/keras-dcgan在数据驱动的时代,图像生成模型已经成为人工智能的一个重要领域。其中,Keras DCGAN 是一个基于 Keras 的实现,用于构建和训练 Deep Convolutional Generative Adversarial Networks(深度卷积生...

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):_spring-could org.apache.ibatis.binding.bindingexce-程序员宅基地

文章浏览阅读116次。今天在搭建springcloud项目时,发现如上错误,顺便整理一下这个异常:1. mapper.xml的命名空间(namespace)是否跟mapper的接口路径一致<mapper namespace="com.baicun.springcloudprovider.mapper.SysUserMapper">2.mapper.xml接口名是否和mapper.java接..._spring-could org.apache.ibatis.binding.bindingexception: invalid bound state

四种高效数据库设计思想——提高查询效率_数据库为什么能提高效率-程序员宅基地

文章浏览阅读1.1k次。四种高效数据库设计思想——提高查询效率:设计数据库表结构时,我们首先要按照数据库的三大范式进行建立数据。1. 1NF每列不可拆分2. 2NF确保每个表只做一件事情3. 3NF满足2NF,消除表中的依赖传递。三大范式的出现是在上世纪70年代,由于内存资源比较昂贵,所以严格按照三大范式进行数据库设计。而如今内存变得越来越廉价,在考虑效率和内存的基础上我们可以做出最优选择以达到最高效率。_数据库为什么能提高效率

随便推点

HTML标签分类及转义字符_ol是单标记还是双标记-程序员宅基地

文章浏览阅读302次。一. HTML标签分类1.根据标签个数分类。 单标签:只有一个标签。 <br>, <hr>,<img>,<meta>, 实现一个特定的功能。 双标签:既有开始标签,也有结束标签。 Html,head,Body,title,h1~h6,p,a,ul,li,ol,strong,em。2.根据标签特性分类(网页效果)。 2.1行属性..._ol是单标记还是双标记

什么是配置_基于配置是什么意思-程序员宅基地

文章浏览阅读1.6k次。应用程序在启动和运行的时候往往需要读取一些配置信息,配置基本上伴随着应用程序的整个生命周期,比如:数 据库连接参数、启动参数等。配置主要有以下几个特点:配置是独立于程序的只读变量配置对于程序是只读的,程序通过读取配置来改变自己的行为,但是程序不应该去改变配置配置伴随应用的整个生命周期配置贯穿于应用的整个生命周期,应用在启动时通过读取配置来初始化,在运行时根据配置调整行为。比如:启动时需要读取服务的端口号、系统在运行过程中需要读取定时策略执行定时任务等。配置可以有多种加载方式常见的有程序内部_基于配置是什么意思

二、使用GObject——一个简单类的实现-程序员宅基地

文章浏览阅读170次。Glib库实现了一个非常重要的基础类--GObject,这个类中封装了许多我们在定义和实现类时经常用到的机制: 引用计数式的内存管理 对象的构造与析构 通用的属性(Property)机制 Signal的简单使用方式 很多使用GObject..._

golang 定时任务处理-程序员宅基地

文章浏览阅读6.3k次,点赞2次,收藏9次。在 golang 中若写定时脚本,有两种实现。一、基于原生语法组装func DocSyncTaskCronJob() { ticker := time.NewTicker(time.Minute * 5) // 每分钟执行一次 for range ticker.C { ProcTask() }}func ProcTask() { log.Println("hello world")}二、基于 github 中封装的 cron 库实现package taskimport (_golang 定时任务

VC获取精确时间的方法_vc 通过线程和 sleep 获取精准时间-程序员宅基地

文章浏览阅读2.1k次。 来源:http://blog.csdn.net/clever101/archive/2008/10/18/3096049.aspx 声明:本文章是我整合网上的资料而成的,其中的大部分文字不是我所为的,我所起的作用只是归纳整理并添加我的一些看法。非常感谢引用到的文字的作者的辛勤劳动,所参考的文献在文章最后我已一一列出。 对关注性能的程序开发人员而言,一个好的计时部件既是益友,也_vc 通过线程和 sleep 获取精准时间

wml入门-程序员宅基地

文章浏览阅读58次。公司突然说要进行wap开发了,以前从没了解过,但我却异常的兴奋,因为可以学习新东西了,呵呵,我们大家一起努力吧。首先说说环境的搭建。可以把.wml的文件看做是另一种的html进行信息的展示,但并不是所有的浏览器都支持,好用的有Opera,还有WinWap。编写wml文件语法比较严格,不好的是我还没有找到好的提示工具,就先用纯文本吧。我找到了一个很好的学习网站:http://w3sc..._winwap学习