一、Sitecore是个神马玩意

  简而言之,Sitecore就是一个基于ASP.NET技术的CMS系统,它不仅具有传统Web CMS的所有功能,还集成了Marketing营销(当然,这个功能价格不菲)的功能,可以提供一个一站式的在线营销解决方案。

  Sitecore作为一个优秀的CMS,在Gartner网站的内容管理魔力象限报告中,连续 9 年脱颖而出被评为领导者,点击查看报告

  

  刚刚说到Sitecore基于.NET技术构建,那么对于.NET程序猿来说是比较容易上手的,只要你对基本的Web开发知识(HTML/CSS/JS)和ASP.NET MVC有实际使用经验,上手起来其实很快。而且,Sitecore易用的用户界面与强大的内容管理对于非技术人员的可操作性也是很强。

  [内容编辑器]

  

  在Sitecore中,内容管理人员直接对内容进行管理和发布,使用还是比较方便。

  [体验编辑器]

  

  在Sitecore中,非技术部门用户可以直接对内容素材进行编辑,比如更改介绍,更换图片等等,这被称为体验编辑。

  [个性化营销]

  

  在Sitecore中,采用组件化(Componentization)的设计,通过对数据源(Data Source)的更改来做到个性化营销。当然,这其中还涉及到一些机器学习的东西,Sitecore内置了一个机器学习引擎。

二、Sitecore和个人发展

2.1 Sitecore的优点

  刚刚提到了很多Sitecore的优点,个人感觉最大的优点就是将传统WCMS(Web CMS)与情境营销(比如刚刚提到的个性化推荐)相结合,给客户提供了一个强大易用的一站式解决方案。对于这个一站式解决方案,它的客户应该主要是那些传统行业的大公司(为什么是大公司?因为License真的不便宜),且这些公司自身的IT支持与开发能力不足或不太重视的(可能往往需要外包出去给专业的软件公司)。

  除此之外,Sitecore在产品架构设计上基于.NET技术构建,对于.NET程序猿是天生友好的,而且近年来的版本也在跟随技术潮流,使用到了ASP.NET MVC、组件化、Solr等技术,从Sitecore的最佳实践开源项目也可以了解到推荐的规范,对于.NET程序猿来说,可以学到这些东西,一定程度(只是一定程度)充实自己。

  综上所述,Sitecore功能强大,在CMS领域的开发中处于领先,也拥有很多的用户(主要是国外),对.NET程序猿友好。

2.2 Sitecore的槽点

  抛开刚刚提到的优点,可能槽点会更多,下面列举两个最重要的点:

  (1)闭源与捆绑

  在整个开发圈子都在拥抱开源的时候,就连Microsoft也在新CEO纳德拉上任时也提出来Microsoft Love Linux & Open Source,开源对于整个生态是有极大的促进作用的。对于程序猿来说,不管什么技术栈,通过开源能够学习到的东西更多。而Sitecore作为一款商业产品,肯定是闭源的,而且其架构中与Microsoft捆绑严重,限制了程序猿的发挥。

  下图是一个Sitecore的建议生产环境架构图,要做到内容管理需要很多Microsoft SQL Server,要做到情境营销需要MongoDB(Sitecore中被称为xDB),要实现搜索需要Solr,最捆绑的还是需要IIS。当然,我并不是说这样的架构不好,只是太捆绑,对开发人员的职业发展不是太友好。

  (2)学习投入与产出不成正比

  对于Sitecore的学习成本,一般都是公司出钱购买Sitecore的Training课程(4天脱产学习),平均每个人要花费1.25万元(还不包括去上海培训中心的交通费、住宿等)。这个培训课程由所谓的Sitecore注册培训讲师主讲,但经历过的同事讲其实就是给你一本实验手册,然后照着实验手册照本宣科地讲讲而已。当然,这个培训也不是毫无用处,它给了你:一些PPT和PDF资料(主要是实验手册)以及一个考试的优惠码(抵扣你的第一次认证考试的费用300美元)。最后操蛋的是,要做基于Sitecore的项目,必须先通过Sitecore的一个认证开发人员的考试,这个考试的考试费用为300美元(约合人民币2000元左右),而且就我考试的历程来说,平心而论,就算参加了培训,也不一定考得过(我个人觉得自己在学习上还算过得去,但仍旧考了三次,算算费用300美刀*3),特别是在去年(2017年)提高了考试难度以及今年(2018年)6月提高了考试通过及格线(从之前的70%提高到了80%,真是抢钱啊)之后。

  当然,一般来说,你要做Sitecore大部分情况下都是因为公司项目需要,我假设你要么是在甲方(购买了Sitecore昂贵商业License的传统行业大公司),要么是在乙方(软件服务提供商、软件外包公司或Sitecore合作伙伴),考试培训和认证考试费用一般都是由公司来支付,你无须担心。但是,我们需要考虑的是长期发展,首先来看看一些大型招聘网站关于国内Sitecore的职位需求吧:

  

  从上图中可以看到,在全国范围内,和Sitecore沾边的职位需求只有一页,主要集中在上海和深圳。想想,如果我们长年专注于Sitecore的开发,竞争力其实是不够的。因此,我个人建议,对于想要在技术方面有所追求的童鞋,Sitecore这个坑,不要轻易入,小心出来找不到工作

  至于我为什么会入这个坑,主要还是因为公司想要接一个项目,而客户方指定了Sitecore,一股淡淡的忧伤。好在就是,我为公司考下了这个Certificate之后,可能就不会再碰这玩意儿了(基于我个人的职业规划和与公司领导的促膝长谈)。另外,分享一个故事:我司想要申请Sitecore的Business Partner(为了与其它服务提供商竞争),必须凑够4个Sitecore Professional Developer证书,先后安排了一批人来学习和考试,目前已经有两位因为sitecore离职了,一位已经离开,一位马上离开。那么,你可能会问,我为什么不离开?To leave or not leave, this is a question.

三、关于Sitecore认证考试

3.1 操蛋的认证考试

  要做基于Sitecore的开发工作,得事先考一个认证,这种事也就一些极品产品可以干得出来。当然,这些产品也具有一定的市场领先或垄断地位,不然他们是不敢这样做的。对于Sitecore认证考试,这里主要针对Professional Developer这个类型,目前有8.2和9.0两个版本的考试(8.2和9.0差别还是有点大,如果你要考,记得选择你学习的版本),每个版本的考试费用(一次)都是300美刀,且只支持VISA/MasterCard类型的信用卡支付,国内的信用卡,呵呵,拜拜!此外,可以选择在线保护考试和考试中心考试,Sitecore的认证考试都是交给kryterion这个全球考试解决方案的提供商。

  

  考试中心考试就是去一个固定的kryterion考试中心去考试,那里有固定的网络专线,固定的考试机以及监考人员。不过,目前中国大陆的指定kryterion考试中心总共只有8家,主要集中在上海和北京。其他城市是木有滴。

  

  在线考试是在你的电脑里边安装一个软件,这个软件强大到可以控制你的杀毒软件,并且不允许你弹出其他窗口,把你锁定在一个窗口里边,你的其他各种进程你都无法接触(即使你用各种快捷键),然后你需要一个摄像头,让考试中心监考人员能够看到你在专心考试,并且没有其他异响声音。这个方式的好处就是,只要你一台可以连接互联网的电脑,你在哪里都可以参加考试。但是,最大的问题就是在于网络速度,kryterion的服务器在美国,我们要跟那边保持长时间的视频信号网络连接,一般工作时间连接出去网络信号会很不稳定,视频信号随时可能会丢失。这里分享一个案例,我和我的同事第一次考试定在下午2点,在满足其规定的网络参数条件下丢掉了视频信号,被考试中心监考人员给我们中断了考试,然后跟kryterion邮件来来回回沟通。第二次定在下午9点,仍然在参数条件很好地情况下,丢掉了视频信号,被中断了考试,然后再次跟kryterion邮件来来回回沟通。第三次,第四次之后,我们跟IT讨论后,决定在清晨6:00开始考试(也就意味着我5点就得起床),于是就再也没有丢过视频信号,刷题速度也快了很多,那是因为全中国都没几个人上网在6:00时间段。即使这样,我仍然考了三次才通过,第一次结果50%,第二次结果72%,第三次结果88%,只因6月份Sitecore提高及格标准从70%到80%了(想象一下,期末考试80分才算及格,是种什么体验?)。

  所以,综上所述,说起来都是泪,搞得我很心累,如果你不得不参加这个操蛋的考试,且无法去考试中心,那么建议你在清晨6:00 ~ 8:00这个时间段考试吧,不然你会崩溃的

3.2 考试复习经验分享

  如果你在一个提供软件服务的公司,或是你所在的公司购买了Sitecore的商业License(不得不说,这个License真的是贼贵,你的公司肯定是大公司,土豪!)你不得不掌握Sitecore的使用和开发,我们都能理解,为了生计!我和我的同事在备考时总结了一份强大的Excel,按照Exam Study Guide总结了很多类似于考试题目的题目,特与各位分享,希望可以帮助到你。此外,和各位分享下考试经验:

  Step1.研究Study Guide,各个部分的考试比例和样题(Sample Questions)

  考点地址:https://sitecore.freshdesk.com/support/solutions/articles/16000052389-sitecore-8-2-professional-developer-certification-exam-study-guide

  Step2.研究我们整理的Excel,对各个部分涉及到的样题进行研究,不行就暴力一点强行记住吧。最好是通过Sitecore Developer Document查漏补缺。

  考点总结Excel:点我下载

  Step3.练练手:去一个国外的测试网站的一个人整理的Sitecore练习题,尽量做到90%以上(考试是70道题)。

  练习题地址:https://www.cram.com/flashcards/test/exam-prep-8609452

  预祝各位被迫/主动参加Sitecore考试的童鞋,都能一次性考试通过,因为太心累了。

  最后展示一下这个操蛋的认证证书:满满的都是泪,这是留给公司的。

  

作者:周旭龙

出处:http://edisonchou.cnblogs.com

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

从一个国内普通开发者的视角谈谈Sitecore的更多相关文章

  1. 为你的pip更换一个国内的镜像源

    为你的pip更换一个国内的镜像源 是否常常为pypi官网被无故和谐掉导致pip不能下载python的各个包而痛心疾首? 是否常常在深夜里看着pip install 下载包的速度慢如乌龟而长吁短叹? 是 ...

  2. 一个资深iOS开发者对于React Native的看法

    一个资深iOS开发者对于React Native的看法 当我第一次尝试ReactNative的时候,我觉得这只是网页开发者涉足原生移动应用领域的歪门邪道.   我认为一个js开发者可以使用javasc ...

  3. Aforge.net 一个专门为开发者和研究者基于C#框架设计

    时间过得真快啊,转眼今年就要过去了,大半年都没有写博客了,要说时间嘛,花在泡妹子和搞英语去了,哈哈...前几天老大问我 怎么这么长时间都没写博客了,好吧,继续坚持,继续分享我的心得体会. 这个系列我们 ...

  4. AForge.NET是一个专门为开发者和研究者基于C#框架设计的视频录像

    AForge.NET是一个专门为开发者和研究者基于C#框架设计的,他包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,模糊系统,机器人控制等领域.这个框架由一系列的类库组成.主要包括有 ...

  5. 文章推荐一个Java程序员跟大家谈谈从业心得

    一个Java程序员跟大家谈谈从业心得 2017-10-21 java那些事 java那些事 java那些事 微信号 csh624366188 功能介绍 分享java开发中常用的技术,分享软件开发中各种 ...

  6. 如何成为一个Linux内核开发者

    你想知道如何成为一个Linux内核开发者么?或者你的老板告诉你,“去为这个设备写一个Linux驱动.“这篇文档的目的,就是通过描述你需要 经历的过程和提示你如何和社区一起工作,来教给你为达到这些目的所 ...

  7. 一个web前端开发者的日常唠叨

    时间飞逝,距离上一次更新博客已经过去了三个月,上一篇博客的发布时间停留在了4月4日. 近来三个月没有更新博客,深感抱歉和愧疚.停更博客就意味着学习的越来越少,作为一个普通的前端开发者来说这是万万不可取 ...

  8. 什么是函数,干嘛啊,怎么干。一个py程序员的视角.md

    目录 前言 本质 math definition py definition class 是类,是对象的蓝本 回到函数 一个结论 self 是什么? 以上就是py世界里函数的定义 什么是函数,干嘛啊, ...

  9. 谈谈:这次疫情对一个普通iOS开发者的影响!

    “2019年已经很难了,2020年开局0-5那就更难了啊!”大家应该都很清楚,这次疫情对于国家的整体经济体系影响非常大,但是要说有多大,我也不了解,毕竟我只是个程序员!但是对iOS开发者影响有多大,我 ...

随机推荐

  1. nginx 开启 停止 重启

    Nginx的启动.停止与重启 启动 启动代码格式:nginx安装目录地址 -c nginx配置文件地址 例如: [root@LinuxServer sbin]# /usr/local/nginx/sb ...

  2. Java单元测试初体验(JUnit4)

    什么是单元测试 我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的.但是,我们同时应 ...

  3. BZOJ_3238_[Ahoi2013]差异_后缀数组+单调栈

    BZOJ_3238_[Ahoi2013]差异_后缀数组+单调栈 Description Input 一行,一个字符串S Output 一行,一个整数,表示所求值 Sample Input cacao ...

  4. oracle常用系统函数

    一.字符类函数 字符类函数是专门用于字符处理的函数,处理的对象可以是字符或者字符串常量,也可以是字符类型的列. 1.ASCII(c)和CHR(i) ASCII(c)函数用于返回一个字符的ASCII码, ...

  5. iOS指纹识别Touch ID的安全性探讨

    苹果公司在 iPhone 5s 的发布会上公布了全新的指纹识别安全技术,也就是 Touch ID,开创了生物安全识别技术在便携设备上使用的新篇章.此后,苹果还将此技术带到了 iPad 上.此前没有任何 ...

  6. Hadoop配置第2节-JDK的安装

    Hadoop配置-JDK的安装 总体目标:完成zookeeper+Hadoop+Hbase 整合平台搭建   进度:1:集群网络属性配置2:集群免密码登陆配置3:JDK的安装4:Zookeeper的安 ...

  7. [日志分析] Access Log 日志分析

    0x00.前言: 如何知道自己所在的公司或单位是否被入侵了?是没人来“黑”,还是因自身感知能力不足,暂时还没发现?入侵检测是每个安全运维人员都要面临的严峻挑战.安全无小事,一旦入侵成功,后果不堪设想. ...

  8. 死磕 java集合之SynchronousQueue源码分析

    问题 (1)SynchronousQueue的实现方式? (2)SynchronousQueue真的是无缓冲的吗? (3)SynchronousQueue在高并发情景下会有什么问题? 简介 Synch ...

  9. 关于MQ,你必须知道的

    我走过最长的路是你的套路 女:二号男嘉宾,假如我们牵手成功后,你会买名牌包包给我吗? 男:那你会听话吗? 女:会 听话. 男:听话 咱不买! OK那么消息队列MQ有什么套路呢?(这个话题转换生硬度连我 ...

  10. 解决SpannableString在Android组件间传递时显示失效的问题

    问题:在A activity中传递一个SpannableString到B activity中,并最终传递到B activity中的TextView中,但是没有展示出Span效果. 解决:阅读TextV ...