QCon全球企业开发大会在中国的三年发展总结

QCon全球企业开发大会(杭州站)的准备工作还在紧张地进行着,笔者作为幸运的组织者之一,眼见着一位位经验丰富的资深技术专家受邀成为QCon讲师、一个个内容精彩的演讲主题得到最终确认、一份份满怀期待的参会报名函纷至沓来,InfoQ中文站的所有成员感受到前所未有的使命感,我们正以最大的努力准备这次盛会。在继往开来之际,让我们回顾一下QCon全球企业开发大会(北京站)(以下简称QCon大会)的发展轨迹,总结经验和教训,昂首前行。

\

InfoQ 中文站自2007年成立以来,就以推动国内开发社区技术进步为己任,从国外主站中翻译最新的技术新闻和文章,从国内社区中挖掘原创内容,但这些工作还不够。我们还希望通过面对面交流的形式让技术专家和一线工程师零距离接触,而这就是QCon技术大会的初衷。坦白讲,国内社区并不缺乏各种各样的技术大会,笔者曾经参加了许多,但是真正有收获的少之又少。究其原因,无外乎是大会的演讲内容脱离实际应用,如空中楼阁,让奋战在一线的工程师不知道如何运用到实践中。QCon大会从落户中国起,就以技术性、实用性为目标,从各个方面满足国内技术社区的需要,致力于打造最受欢迎的技术交流平台。

\

专题策划

\

从主题的设计上,QCon大会坚持与时俱进,把当年最值得挖掘的技术思想和趋势介绍给听众。

\

比如2009年,主题就包括炙手可热的云计算和富互联网应用(RIA),其中云计算分会场邀请了来自微软、IBM、亚马逊、VMware等企业的技术专家,涉及的内容包括Windows Azure架构探析、亚马逊Web Services实战、IBM蓝云计算平台与企业动态架构、 将虚拟化技术作为云计算的平台等。而RIA主题更是紧跟技术发展,让我们回味一下当时的主题介绍:“RIA技术让易趣用户可以不通过浏览器上网,就获得更为强大的界面来对商品进行管理和拍卖;《纽约时报》运用RIA技术使得人们能够把网络链接、地图这样的内容,不需要通过浏览器下载图片和数据,直接从桌面转移到移动设备上;在国内,RIA技术也让淘宝、拍拍这样的商务网站购物体验更为丰富……用户需要更易用、更炫的应用已是不争的事实。让我们看看Dojo Toolkit的作者Dylan Shiemann、具有丰富的RIA实践经验的群硕公司技术总监邵荣、以及Cynergy系统公司执行总监吕维德是如何理解RIA技术的。”这段话如今看来不算是新东西,但在当时还是代表了先进技术的趋势。在2010年,“语言的艺术”成为一个新的主题,随着各种动态语言的诞生的发展,技术社区不禁会比较它们与传统编程的异同,QCon组织了动态语言的敏捷开发实践、 ??Java一致性测试及其标准、??Python于Web 2.0网站的应用、F#中的并行和异步编程、并发需求下的Scala及Erlang语言的比较与使用等五个演讲,满足了大家的需求。而在今年4月份的QCon北京大会上,HTML5、移动开发、NoSQL等主题也真实反映了当前新技术的发展潮流。其中HTML5主题包含了大家来谈??HTML5/CSS3、淘宝的HTML5实践、HTML5游戏探索之路、HTML5兼容性实战等演讲,而NoSQL主题则包含了MongoDB、BeansDB等内容。当然,除了紧跟潮流,我们还长期保留了广受国内技术社区喜爱的几个主题,比如“知名网站案例分析”,在连续三年的QCon大会上都组织了相关专题,先后邀请技术专家介绍了ebay、有道搜索、优酷、豆瓣网、Facebook、人人网、新浪微博、Twitter、阿里巴巴、去哪儿网、百姓网、淘宝网、天涯社区等国内外知名网站的架构设计和实践经验,都是实实在在的东西,听众都反映比较过瘾。在即将举行的QCon杭州技术大会上,我们同样组织了令人信赖的主题,包括开放平台、脚本语言之美、DevOps等,同时继续保留”知名网站案例分析”专题。

\

讲师构成

\

从讲师组成上,QCon大会坚持邀请国内外最优秀的技术专家与听众面对面交流。

\

有了好的主题,还需要好的讲师。QCon在选择讲师时十分慎重,要求必须在业内有十分丰富的实践经验和相当的影响力。

\

一方面,我们积极地引进国外的技术专家,这也是QCon大会主题演讲的重头戏??,纵观过去三届QCon大会,我们先后邀请了软件开发教父 Martin Fowler、Dojo Toolkit的联合创始人Dylan Schiemann、Spring之父Rod Johnson、JSON创始人Douglas Crockford、Jolt大奖图书《Release It!》作者Michael Nygard、Hibernate创始人Gavin King、Twitter服务团队的总工程师Evan Weaver等,这个名单还可以继续增长,通过QCon这个平台,国外的技术专家把先进的技术和宝贵的经验分享给大家。从演讲的质量上看,他们不负众望。例如,Martin Fowler分享了两个演讲,分别讲述了领域特定语言(包括案例,内部和外部领域特定语言的区别,语言工作台的角色,以及为什么要考虑使用领域特定语言)和Ruby实践的回顾与展望。而Gavin King则分享了当时还未对外发布的下一代JVM语言——Ceylon项目??,包括Ceylon类型系统的基础内容:混合继承模型、代数数据类型、具体化泛型(reified generics)、型变注释、类型约束以及operator多态性等。在即将举行的QCon杭州大会上,不乏优秀的国外专家,比如eBay公司架构总监Tony Ng,他准备的内容非常精彩。eBay作为全球最大的在线商城,2010年,其产品增长达到了620亿美元的规模。在eBay,构建的系统可以保证数10亿计交易的99.99%的可用性。Web表现层框架平均每天会接收到20亿次的浏览请求。同时,开源SOA堆栈支撑着200多个服务,平均每天被调用10亿次。监控系统每天分析的日志也在TB级别。云计算基础设施可满足随时将应用部署到数以千计的节点上。本演讲将首先从宏观的角度对eBay的技术堆栈架构进行介绍,然后从支持新用户体验、保证网站可靠性、可伸缩性以及高性能的层面来诠释如何提升开发的生产率。

\

另一方面,QCon大会积极地邀请和推介国内的技术专家,随着国内技术社区的不断发展和国内企业的壮大,优秀的本土架构师、工程师、项目经理正在不断增多,我们的讲师大部分是“中国制造”。冯大辉、高焕堂、潘加宇、毛新生、洪强宁、蔡学镛、黄晶、章文嵩、段念、潘晓良、周爱民、程立……(此处省略数百字),国内的技术专家奉献了精彩的内容,没有语言的障碍,集合本土的实践,听众吸收的养分更多。以笔者的亲身经历,在QCon北京2011大会上主持了“热点技术是与非”的专题,邀请的讲师廖凯、周爱民、徐昊等在各自的技术领域都颇具影响力,而且非常乐于与国内的技术社区分享实践经验,其准备的内容实用性很强,获得了现场听众的肯定。不仅仅是讲座,QCon大会还组织了会后的讲师见面论坛和专家采访,弥补演讲时间限制带来的不足。

\

会议组织

\

从组织规模上,QCon大会控制参会人数,提高会议质量。

\

坦白说,从物质利益的角度看,门票卖得越多越好,但这不是QCon大会的追求目标。我们依据场地的容纳规模和各个会场的布置情况,严格控制参会人数,确保听众能够在比较舒适的环境下聆听讲座。正因为如此,虽然大家的参会热情很高,但是QCon大会的人数并不是逐年递增的趋势。拿即将召开的QCon杭州技术大会来说,本次参会的人数要明显少于今年北京的QCon大会,因为我们要确保听众在会场上的良好感受,所以减少了门票数量。为了要举办QCon杭州大会呢?是为了多卖门票吗?NO!由于前三届QCon大会都在北京举行,许多来自南方的参会者反映路途遥远,开会不方便。我们考虑到南方朋友的需求,决定下半年在杭州举办一次QCon,以满足更多南方技术社区朋友的参会愿望。说了这么多,听众才是QCon好坏与否的评判者,每次QCon大会上,我们都设立了讲座的反馈机制,听众可以自由的对每个演讲作出评价。在大会之后,我们还会做详细的总结,并听取来自参会者的意见,表扬对我们来说是一种鼓励,而批评则是进步的鞭策。

\

教训及不足

\

当然,QCon作为一个新生代的技术大会,也存在一些不足。无论从内部的自我反省,还是读者的建议反馈,我们都在积极的改进。比如,在大会的午餐时间,由于餐厅的容量有限,导致就餐的听众排队等候时间较长,以后我们会加强疏导和调整时间;在早期大会上,邀请的个别讲师偏好宣传自己所在的企业,华而不实,我们在收到读者的反馈后在选择讲师时特别强调内容的实用性,不允许“软广告”;对于国外的讲师,同声翻译的质量不是很高,影响沟通,我们也在积极的寻找高素质的翻译公司;对于会后的视频发布,速度有些慢,导致未参的读者不能及时的收看到QCon讲座的视频,以后我们会投入更多人力来进行后期的制作和发布。

\

如果读者对往年的QCon大会回顾感兴趣,可以参看每年的大会总结:

\

总结过去是为了发展未来。QCon杭州技术大会即将于10月21日-10月23日举行,无论是讲师质量和专题组织都不逊于以往的QCon北京大会。比如讲师方面,来自Twitter的软件工程师Attila Szegedi曾在QCon旧金山做过分享,很受欢迎,他是第一次来中国。Attila是Twitter公司JVM性能方面的专家,也是业界公认的开源项目参与者,包括Mozilla Rhino、JVM的JavaScript运行库、Kiji、Dynalink等。这次他计划分享的是关于JVM方面的话题,“Twitter的JVM性能调优经验”:Twitter越来越倾向于使用运行于JVM之上的Java和Scala编写的服务。虽然JVM以其运行的稳定性、性能、以及易管理等特点,为我们提供了一个世界级的运行时环境,但其有时仍然不能达到所运行程序对性能的要求,尤其是在要实现那些即消耗大量内存又要求较低延迟的服务时。本次演讲将会通过具体的实例来剖析Twitter在运营基于JVM服务时所遇到性能问题,以及讲述如何将这些问题迎刃而解的经验。

\

从专题组织上看,分别是

\
  • 知名网站案例分析——邀请国内外知名网站的核心研发人员,和与会者分享网站架构背后的研发故事。\
  • 脚本代码之美——HTML5、JavaScript、Node.JS等领域专家,分享如何解决Web设计过程中的复杂问题。\
  • 开放平台——开放平台接口,API的安全性,以及领先厂商在API架构和平台上的案例分享。\
  • 首席架构师的架构观——这儿讨论的不是某个具体的技术,而是处于IT核心领域的首席架构师们关于架构的思考。\
  • 大数据和NoSQL——如何在现有系统中引入像Hadoop、HBase、MongoDB和Cassandra等技术,并应用和整合它们的架构。\
  • DevOps——本专题我们来探索是否有可能将开发者和运维人员放在一个团队,并让整个组织从中受益。\
  • 运行中的云计算架构——关注已经在企业中实施的云计算,特别是传统组织如何将旧有系统和云计算相结合的技术和案例。\
  • Java依旧灿烂——邀请Java资深使用者和平台架构师,来分享需要做些什么来保持Java的这一良好趋势。\
  • 敏捷已到壮年——通过Scrum、看板、XP等实践,了解敏捷会何去何从,我们还有哪些不足和需要改进的地方。\

这样的选题既保留了部分经典的内容,又反映了最新的技术趋势。期望InfoQ的读者朋友能够通过各种形式参与QCon杭州大会,无论是实地赴会,还是微博互动,我们都欢迎大家的建议。

\

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家加入到InfoQ中文站用户讨论组中与我们的编辑和其他读者朋友交流。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支、循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础。
以下是一个可能的 Python 实现代码,仅供参考: ```python import requests from bs4 import BeautifulSoup import pkuseg import matplotlib.pyplot as plt from wordcloud import WordCloud # 确定数据源 brand = "宝马5系" url_template = "https://www.dongchedi.com/koubei/{}?page={}" # 获取数据 questions = [] for month in range(1, 13): url = url_template.format(brand, month) for page in range(1, 11): page_url = url + "&sort=1&tp=3&page=" + str(page) response = requests.get(page_url) soup = BeautifulSoup(response.text, "html.parser") items = soup.select(".koubei-list > .item") if not items: break for item in items: question = item.select_one(".qcon > a").text.strip() questions.append(question) # 分词 seg = pkuseg.pkuseg() words = [] for question in questions: words.extend(seg.cut(question)) nouns = [word for word in words if word.isalnum() and word[0].isupper()] # 统计词频 word_count = {} for noun in nouns: if noun not in word_count: word_count[noun] = 0 word_count[noun] += 1 # 可视化 top_n = 10 top_words = sorted(word_count.items(), key=lambda x: x[1], reverse=True)[:top_n] labels, values = zip(*top_words) plt.bar(labels, values) plt.xticks(rotation=45) plt.title("Top {} Nouns for {}".format(top_n, brand)) plt.show() # 词云图 wordcloud = WordCloud(background_color="white").generate(" ".join(nouns)) plt.imshow(wordcloud, interpolation='bilinear') plt.axis("off") plt.show() ``` 其中,我们使用 pkuseg 分词包进行分词处理,使用 Matplotlib 库绘制柱状图展示频率最高的前十个名词,使用 WordCloud 库绘制词云图。 注意,该代码仅供参考,具体的实现方式还需要根据实际情况进行调整和改进。在编写爬虫程序时,需要注意遵守网站的 robots.txt 规定,不要过度频繁地访问同一网站,以免给网站带来过大的负担。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值