整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

以英国数据新闻理念变迁看数据新闻教育的未来走向

.超时空“三维”数据叙事

数据叙事相比传统的文本新闻叙事更能向受众呈现新闻事件内在的逻辑联系和关联程度,更具有时空穿透力和感染力。本文将超时空“三维”数据叙事模式分为“空间维度”“时间维度”“关系维度”三个维度展开研究。

(1)空间维度

数据叙事空间维度较为常用的形式是数据地图和热力图,场景化和空间穿透力是空间维度的最大优点。数据叙事的空间维度强调共时视域下的空间分布,可以兼顾宏观叙事和微观叙事。其不仅能表现出新闻事件的宏观空间全貌,当读者的鼠标停留在其中的微观点位上也能呈现个体差异,弥补传统新闻叙事中或会破坏共时空间感带来的缺憾。

(2)时间维度

数据叙事的时间维度主要以时间线形式呈现。通过时间线的方式,读者可以了解不同时间段的主要新闻事件,同时获悉子新闻事件的历时关系,达到将新闻事件的时间线与各子事件有序并有机交织的效果。因此,采用时间线的形式,可以使得众多构成新闻事件的子事件的时间顺序,甚至是内在逻辑、因果关系更明晰地凸显出来。

(3)关系维度

以关系维度为核心的数据新闻一般通过气泡图、树状图等图表制作。数据新闻编辑还可以使用更先进的网络工具制作复杂交互式图表。数据叙事中的关系维度强调新闻事件之间的关系构建。比起传统的文本叙事,交互式图表可以更直观地展现新闻事件之间的内在逻辑关系,因而更具有解释性。

数据叙事从空间、时间、关系等维度丰富了传统的文本新闻叙事,但由于数据叙事一般着重突出某一个维度,叙事语境趋向单一化而隐去其他维度的新闻事实,或会影响读者解构新闻意义。比如空间维度中地图呈现的点位是否有故意的遗漏,并由此衍生出数据伦理问题;时间维度中时间线是否选用同一维度的时间点;关系维度中是否有逻辑关系遭到拆解,使逻辑关系与现实不吻合等。

因此,数据叙事并不是简单地将数据进行可视化制作,优秀的数据编辑不仅需要对新闻事件的全貌了解透彻,还必须弄清楚各子新闻事件的内在逻辑联系,才能选用合适的可视化方式构建新闻事实,力求呈现真实、准确、深刻的新闻意义。杰出的数据叙事能在传统的新闻叙事基础上为读者构建场景化新闻事实,同时体现时空穿透力和感染力,更易引发读者产生共情和深思。

3.数据驱动调查新闻

数据驱动调查新闻正逐渐成为全球数据新闻的主要分支。有国外学者指出,数据新闻可分为三大流派:数据驱动调查新闻、普通数据新闻以及实时数据新闻(或传感器数据新闻)。③英国新闻业界行业组织——调查新闻中心(Center of Investigative Journalism)官网推出面向公众的数据新闻付费课程,其中包括:“数据驱动的调查新闻”课程,开设于2018年12月8日至12月9日以及2019年2月8日至2月9日④。纵深感和叙事性更强的“数据调查性新闻”正逐渐受到业界和受众的青睐,同时对数据新闻业者的数据叙事能力提出了更高的要求。

(二)英国新闻教育中的数据新闻理念

由英国数据新闻实践推动的英国数据新闻教育同样具有引领作用。通过研究可以看出,英国数据新闻教育理念正经历着从“可视化”到“数据叙事”的变迁。

参考2018年QS新闻与传播专业世界排名,本文选取了世界排名靠前的14所英国知名高校进行探究,分别为:拉夫堡大学、莱斯特大学、伦敦政治经济学院、曼彻斯特大学、牛津大学、华威大学、卡迪夫大学、利兹大学、伦敦大学城市学院、伦敦大学国王学院、伦敦大学金史密斯学院、诺丁汉特伦特大学、威斯敏斯特大学、谢菲尔德大学。其中拉夫堡大学、曼彻斯特大学、牛津大学、利兹大学4所高校没有开设数据新闻类课程,其余10所高校均有开设数据新闻相关课程或相关专业。

本文通过查阅10所高校新闻传播专业的官方网站⑤,统计出这10所高校开设的数据新闻相关的课程及专业,结果如下:

英国高校名称 数据新闻相关课程 有无单独开设数据新闻相关专业

莱斯特大学 数字化故事写作;数据新闻;多种分析与数据建模 无

伦敦政治经济学院 传播与社会中的数据 媒体与传播理学硕士(数据与社会方向)

华威大学 城市复原力,灾害和数据;可视化;大数据研究:炒作还是革命;数据挖掘;数据管理;城市数据:理论与方法 大数据与数字未来理学硕士

卡迪夫大学 数据新闻与理论实践;数据的力量;数据新闻;用Python分析数据;大数据,社会与日常社会 计算与数据新闻理学硕士

伦敦大学城市学院 谎言与数据统计;社会数据生产;可视化新闻;数据新闻入门;数据报道概论;高级数据与编程;多变量数据分析 无

伦敦大学国王学院 编程入门;大数据,文化与社会;大数据理论;大数据实践:合作实验,工具与方法;从数据到洞察:文化与社会分析;大数据与法律:基础,制度,原则与挑战;数字文本编辑模型:理论与实践;文化遗产可视化应用;元数据理论与实践;大数据与社会生活;数据新闻简介;数据新闻 文化与社会中的大数据文学硕士

伦敦大学金史密斯学院 数据新闻与可视化;网页编程;数字交互设计;交互数据可视化 无

诺丁汉特伦特大学 数据新闻 无

威斯敏斯特大学 数据与社会;数据系统概念与基础;数据可视化;调查与数据新闻 数据、文化与社会文学硕士

谢菲尔德大学 数据驱动故事写作;处理数据:新闻从业者统计学;语言与传播:一种数据驱动的方法 无

表1 英国知名高校数据新闻课程与专业统计表

如表1所示,10所英国高校里的5所高校:伦敦政治经济学院、华威大学、卡迪夫大学、伦敦大学国王学院以及威斯敏斯特大学单独开设了数据新闻相关专业。表1的数据新闻类课程主要分三种类型:第一种是介绍型课程,如“数据报道概论”“数据系统概念与基础”等;第二种是数据新闻技能类课程,如“数据可视化”“数字交互设计”“高级数据与编程”等;第三种是数据新闻应用型课程,如“城市复原力,灾害和数据”“文化遗产可视化应用”等。

除了上述的基本技能,英国高校还专门开设“数字化故事写作”“数据驱动故事写作”等课程培养学生的数据叙事能力。这明确了数据新闻教育不应只培养数据处理和可视化呈现等技能,数据叙事也并非简单等同于将数据可视化。数据新闻教育者需要赋予学生辨证地利用数据的能力,选用合适的可视化方式构建新闻事实。

“后真相”时代,数据的真实性及其衍生的数据伦理问题不容忽视。《卫报》通过Ophan分析系统重新评估包括页面浏览量在内的数据指标,辟谣多则假新闻,并通过在旧新闻报道里提高日期的显眼程度等方式试图减少恶意传播⑥。而需要特别指出的是,不少英国高校在开设数据新闻相关课程时还注重培养学生的数据素养和思辨性。比如华威大学开设的“大数据研究:炒作还是革命”,伦敦大学城市学院开设的“谎言与数据统计”,伦敦大学国王学院开设的“大数据与法律:基础,制度,原则与挑战”等课程。身处“后真相”时代,高校需要培养学生对数据的洞察力和判断力,破除“数据崇拜”“算法崇拜”“机器崇拜”等迷信,正确使用数据辅助新闻叙事。

综上可以看出,英国数据新闻实践与英国数据新闻教育有着紧密的联系。首先,英国数据新闻教育发端于英国数据新闻实践。卓越的英国数据新闻实践倒逼作为新闻人才的源头——英国新闻教育开设数据新闻相关课程,为业界输送数据新闻人才。第二,英国新闻教育影响着英国新闻实践。新闻教育除了为新闻业界输送新闻人才以外,还能以合作的形式为新闻业界提供专业指导和支持。第三,英国新闻实践推动着英国新闻教育发展。英国数据新闻实践经历了从“可视化”迷思回归“数据叙事”理念的转变,推动了英国数据新闻教育课程体系的进一步完善。英国数据新闻教育课程体系平衡多元数据新闻技能,兼顾数据新闻应用实践,重视培养新闻人才的数据素养及数据伦理,其成功经验值得中国数据新闻教育借鉴。

二、中国数据新闻教育现状及未来趋势

中国数据新闻快速发展,逐步形成体系。业界驱动的中国数据新闻教育正面临新一轮变革。本文通过对中国数据新闻教育现状的梳理,以期分析中国数据新闻教育的未来趋势并提出建议。

(一)中国数据新闻教育现状

中国数据新闻业发展整体滞后于以英美为代表的西方国家,由业界驱动的中国数据新闻教育也因此起步较晚。

1.数据新闻教育起步较晚

中国的数据新闻实践及数据新闻教育发展整体起步较晚。有学者指出,“最早开设的数据新闻专栏是2011年搜狐推出的‘数字之道’。到2012年6月,搜狐、网易、腾讯、新浪四大门户网站均开设了数据新闻专栏。”⑦近年来,网易“数独”、腾讯“算数”、财新网“数字说”等数据新闻栏目的兴起标志着中国数据新闻实践步入平稳发展阶段。

数据新闻教学内容自2013年起引入中国新闻教育课程体系,可以说中国数据新闻教育的元年为2013年。而以英国为例,2011年伦敦骚乱事件期间,“《卫报》与伦敦政治经济学院的学者合作推出了一本用数据解读骚乱事件的小册子《解读骚乱》,使得新闻报道具备了带有前瞻性的社会科学研究的性质。”⑧可以看出,英国数据新闻教育起步较早,早在2011年已形成“校企合作”等机制,这与英国数据新闻实践的推动作用密不可分。

2.中国数据新闻教育体系

中国数据新闻教育起步较晚,课程设置仍未形成完善的体系,未能平衡对学生数据新闻技能与数据叙事能力的培养。

参考2018年QS新闻与传播专业世界排名,本文选取了南京大学新闻传播学院、复旦大学新闻学院、中国人民大学新闻学院、清华大学新闻与传播学院、四川大学新闻学院、华中科技大学新闻与信息传播学院、中国传媒大学新闻传播学部、上海交通大学媒体与传播学院、山西传媒学院、中国传媒大学南广学院等10所高校院系进行探究。其中的3所高校院系:四川大学新闻学院、华中科技大学新闻与信息传播学院、上海交通大学媒体与传播学院没有开设与数据新闻相关的课程和专业。

本文通过查阅7所高校新闻传播专业的官方网站(其中中国传媒大学新闻传播学部通过访谈调研形式)⑨,统计出这7所高校开设的数据新闻相关的课程及专业,结果如下:

高校名称 数据新闻相关课程 有无单独开设数据新闻相关专业

南京大学新闻传播学院 数据新闻;可视化技术 无

复旦大学新闻学院 数据新闻 无

中国人民大学新闻学院 数据新闻基础;大数据与舆情分析;大数据与实务传播研究工作坊;数据新闻与数据可视化;编程语言基础;R语言与数据可视化 新闻与传播专业硕士学位(大数据与新闻传播方向)

清华大学新闻与传播学院 媒介编程;数据新闻 无

中国传媒大学新闻传播学部 数据可视化新闻报道;数据挖掘与社会网络分析;GooSeeker网页抓取工具;Python语言;可视化软件工具与应用 新闻学专业学士学位(数据新闻报道方向)

山西传媒学院 数据可视化;数据新闻基础 无

中国传媒大学南广学院 大数据分析新闻报道;SPSS数据分析 无

表2 中国知名高校数据新闻课程与专业统计表

从表2可以看出,中国知名高校数据新闻课程主要分为两类。第一类是数据新闻概况类课程,主要涵盖国内外数据新闻发展、各类媒体的实践情况及其采制的原则和流程等;第二类是数据新闻技能类课程,如“可视化技术”“R语言与数据可视化”“GooSeeker网页抓取工具”“Python语言”“SPSS数据分析”等课程。

值得注意的是,中国知名新闻院校的数据新闻相关课程中并没有院校单独开设如“数字化故事写作”“数据驱动故事写作”等与数据叙事技能培养相关的课程。有研究通过对高校学者的深入访谈,指出:“南京大学白净教授和华东师范大学传播学院讲师申琦都认为,数据新闻的核心依然是‘讲故事’,‘回归新闻本质,回归故事本身才是最重要的。’”⑩中国数据新闻课程设置偏重技能培养现象应引起重视。因此,中国数据新闻课程设置应增加与之相关的课程以进一步完善中国数据新闻课程体系,避免落入“可视化”迷思。

(二)中国数据新闻教育的三个核心趋势

中国数据新闻教育起步较晚,相对滞后。借鉴英国数据新闻实践和英国数据新闻教育理念的经验,并结合中国数据新闻教育现状,本文认为,未来中国数据新闻教育应着眼于三个核心趋势:数据叙事技能习得、多元平衡技能培养、数据获取规范培训。

1.数据叙事技能习得

数据叙事技能仍应放在数据新闻各个要义之首。近年来,中国在“大数据”“人工智能”领域的发展取得了不少突破,数据驱动的调查新闻正成为一大主流,数据叙事能力的重要性将更加凸显。同时,中国数据新闻业者及数据新闻教育者需要帮助学生树立正确的数据观念,强化学生数据叙事能力,避免落入“可视化”迷思。

2.多元平衡技能培养

中国数据新闻教育应着力平衡对学生数据新闻技能与数据叙事能力、数据素养、数据伦理的培养,“道”与“术”缺一不可。中国数据新闻课程设置中很大比例倾向技能类课程,然而数据叙事能力是数据新闻的核心理念,数据素养、数据伦理是学生未来走向数据新闻业的重要基石。因此中国数据新闻课程设置应增加与数据叙事能力、数据素养、数据伦理有关的课程,进一步完善中国数据新闻课程体系。

3.数据获取规范培训

英国政府设立了开放的官方数据门户网站data.gov.uk,鼓励媒体和公众对政府数据的再利用,为生产者和消费者赋能。除了结构化数据,有研究指出文本、视频、音频、网络日志等非结构数据正成为数据新闻的重要数据类型?。中国数据新闻教育者应培养学生规范获取数据的能力,在引用结构化以及非结构化数据时都应规范标注出来源;若无数据来源需经过核实后再使用数据,从源头保证新闻的真实性,以免衍生出不必要的数据伦理问题。

三、结 语

当前,“不少数据新闻作品因为过于追求视觉美化而牺牲其实用性,‘信息之美’被单一曲解为‘图表之美’,流于繁杂炫目的形式,而没有体现出对数据真正的分析和解读,使新闻欠缺深度”?。本文通过梳理英国数据新闻实践历程、英国数据新闻教育理念变迁,明确了数据新闻教育的核心理念应从“可视化”转向“数据叙事”——可视化技术应服务于构建新闻事实,数据叙事技能应为数据新闻教育的核心。本文认为,中国数据新闻教育的未来应着眼于三个核心理念:数据叙事技能习得、多元平衡技能培养、数据获取规范培训,进一步将中国数据新闻教育体系化。同时,未来数据新闻的发展将更加注重数据叙事,数据新闻的纵深感和叙事性将加强,数据驱动的调查新闻等形式将会成为数据新闻的一大主流。(栾轶玫,中国人民大学新闻学院教授,新闻与社会发展研究中心研究员 何雅妍,中国人民大学新闻学院学生)

参考文献:

①西蒙·罗杰斯.数据新闻大趋势:释放可视化报道的力量[M].北京:中国人民大学出版社,2015.

②Rogers Simon. Facts are Sacred[M]. Faber and Faber, London, 2013.

③Uskali,T. I. amp; Kuutti,H. Models and Streams of Data Journalism [J]. The Journal of Media Innovations, 2015-2(1). Retrieved from https://doi.org/10.5617/jmi.v2i1.882.

④调查新闻中心“数据驱动的调查新闻”课程简介[EB/OL]. https://tcij.org/event/data-driven-investigations-3/.

⑤英国十所高校课程网址[EB/OL].

莱斯特大学:https://le.ac.uk/media/study/postgraduate.

伦敦政治经济学院:http://www.lse.ac.uk/resources/calendar/programmeRegulations/taughtMasters/2018/MScMediaAndCommunicationsDataAndSociety.htm.

华威大学:https://warwick.ac.uk/fac/cross_fac/cim/apply-to-study/masters-programmes/big-data-digital-futures/.

卡迪夫大学:http://www.cardiff.ac.uk/study/postgraduate/taught/courses/course/computational-and-data-journalism-msc.

伦敦大学城市学院:https://www.city.ac.uk/courses?level=Postgraduate.

伦敦大学国王学院:https://www.kcl.ac.uk/cmci/postgraduate/postgraduate.aspx.

伦敦大学金史密斯学院:https://www.gold.ac.uk/media-communications/school-of-journalism/.

诺丁汉特伦特大学:https://www.ntu.ac.uk/study-and-courses/courses/find-your-course?sort=titleamp;amp;year-of-study=2019.

威斯敏斯特大学:https://www.westminster.ac.uk/computer-science-and-software-engineering-journalism-and-mass-communication-courses/2019-20/september/part-time-day-evening/data-culture-and-society-ma.

谢菲尔德大学:https://www.sheffield.ac.uk/journalism/masters.

⑥杜天雨.你可能讨厌衡量数据,但它们让新闻业变得更好|德外独家[EB/OL]. https://mp.weixin.qq.com/s/Gynb7WJLdbgO-0vZC4HfQQ.

⑦王琼,刘真真,田青,王文超.2015中国数据新闻发展报告[J].中国媒体发展研究报告,2017.

⑧章戈浩.作为开放新闻的数据新闻——英文《卫报》的数据新闻实践[J].新闻记者,2013(06).

⑨中国六所高校课程网址[EB/OL].

南京大学新闻传播学院:http://jc.nju.edu.cn/8616/list.htm.

复旦新闻学院:http://www.xwxy.fudan.edu.cn/node2/fdxwxy/jxpy/bks/xwxx/userobject1ai101339.html.

中国人民大学新闻学院:http://jcr.ruc.edu.cn/peiyang/yanxiuban/,http://jcr.ruc.edu.cn/peiyang/shuoshi/.

清华大学新闻与传播学院:http://www.tsinghua.edu.cn/publish/newthu/newthu_cnt/education/pdf/edu-1-2/2017_44.pdf.

山西传媒学院:http://xb.arft.net/xwcbxy/index.html.

中国传媒大学南广学院:http://www.cucn.edu.cn/zylb.

⑩黄志敏,王敏,李薇.数据新闻教育调查报告[J].新闻与写作,2017(09).

张超,闪雪萌,刘娟.从去专业化到再专业化:数据新闻对数据科学的应用与趋势[J].中国出版,2019(09).

栾轶枚,刘嘉旖.人文化科学化技艺化:中外新闻教育理念之异同——基于中日英美四国教育传统与变迁的比较研究[J].传媒观察,2019(04).

From "Visualization" to "Data Narrative": Future Trend of Data Journalism Education Seen from the Changing Concept of Data Journalism in the U.K.

Luan Yimei, He Yayan

Abstract:The big data has exerted profound impacts on the current journalism industry. In-depth data analysis and data mining have become indispensable capabilities for journalists. Journalism education institutions around the world have opened numerous data journalism courses to respond to the change. This author studies the origins, changes, and practice of data journalism in the U.K.,who is a leader in data journalism industry with a long history and extraordinary practice,and explores the concept changes of data journalism in the U.K. driven by journalism practice. Learning from the experience of data journalism practice and education in the U.K., this article argues that data narrative, with the three dimensions of space, time and relationship, is the future trend of data journalism. Data journalism education in Chinese universities should be based on "data narrative" to prevent the myth of "visualization".

Keywords:data journalism, visualization, data narrative, journalism education

趣是最好的老师,HelloGitHub 就是帮你找到兴趣!


简介

分享 GitHub 上有趣、入门级的开源项目。

这是一个面向编程新手热爱编程对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编程语言的项目让生活变得更美好的工具书籍、学习笔记、教程等,这些开源项目大多都是非常容易上手,而且非常 Cool。主要是希望大家能动手用起来,加入到开源社区中。

  • 会编程的可以贡献代码
  • 不会编程的可以反馈使用这些工具中的 Bug
  • 帮着宣传你觉得优秀的项目
  • Star 项目 ⭐️

在浏览、参与这些项目的过程中,你将学习到更多编程知识提高编程技巧找到编程的乐趣

最后 HelloGitHub 这个项目就诞生了


以下为本期内容|每个月 28 号发布最新一期

C 项目

1、freebsd:FreeBSD 操作系统源码仓库。快拉住我,我有点飘了竟然敢点开操作系统看源码

C++ 项目

2、design-patterns-cpp:常见设计模式 C++ 语言实现版

3、sudoku:C++ 实现的命令行数独游戏。600 余行代码,初学者也可以轻松学习

4、indicators:一个使用 C++ 编写的进度条库,你可以用它在命令行中实现美观的进度条。它使用方便、线程安全、支持多种进度条样式

Go 项目

5、statping:一个 Go 编写的服务状态展示页项目。通过该项目可以快速搭建起一个展示服务可用状态、服务质量的页面

6、gormt:一款 MySQL 数据库转 Go struct 的工具。支持:

  • 命令行、界面方式生成
  • YML 文件灵活配置
  • 自动生成快捷操作函数
  • 支持索引、外键等

7、gojsonq:一款支持解析、查询 JSON/YAML/XML/CSV 数据的 Go 三方开源库。示例代码:

Java 项目

8、gradle:一个基于 Apache Ant 和 Maven 概念的项目自动化建构工具(干了这两个工具的活)。它使用一种基于 Groovy 的特定领域语言来声明项目设置,而不是传统的 XML(更灵活)。当前其支持的语言限于 Java、Groovy 和 Scala,计划未来将支持更多的语言

9、zxing:一款用于解析、生成多种格式的 1D/2D 条形码(UPC-A、QR Code、UPC-E、Data Matrix 等)的开源 Java 库。提供了多种的客户端支持包括:J2ME、J2SE 和 Android 等

10、jodd:一组以极简为原则的 Java 服务框架和实用工具的项目。这不是一个介绍 Java 项目的集合,而是把经常会用到的功能,用尽可能少的代码实现并封装成库,供开发人员选择使用。当你要用 Java 快速实现一些功能的时候,从而不需要引入繁重的库就可以快速实现功能。一个功能一个库,灵活使用、极简实用,便于学习和理解

Jodd = tools + ioc + mvc + db + aop + tx + json + html < 1.7 Mb

JavaScript 项目

11、Learn-Vue-Source-Code:该项目是作者学习 Vue 源码的笔记。

12、p5.js:一个 JavaScript 创意编程程式库,可以用来绘图、实现艺术创意等。使用该库只需要会 JS 代码就可以用它画出许多有趣的东西,文档齐全能够快速上手,还有在线编辑器。示例代码:

13、concent:一个兼容 Redux 生态的渐进式和高性能状态管理方案。基于依赖标记、引用收集和状态分发原理工作,通过独有的实例上下文机制增强组件能力,抹平类组件和函数组件的生命周期函数写法差异。内置 computed、watch、setup、event 等高级特性,让逻辑复用更优雅、组件表现形式更丰富、应用架构更稳健

14、vue-monoplasty-slide-verify:基于 Vue2.0+ 的验证码插件。可用于网页注册等需要验证码的地方,滑动式的验证码免于字母验证码的繁琐输入。示例代码:

15、gods-pen:一个在线生成 H5 页面的平台。用户无需掌握复杂的编程技术,通过简单拖拽、少量配置即可快速制作精美的页面,可用于营销场景下的页面制作。同时,也为开发者提供了完备的编程接入能力,通过脚本和组件的形式获得强大的组件行为和交互控制能力

16、fe-interview:项目作者总结关于准备前端面试的复习汇总项目,项目不定时更新。这不仅仅是一份用于求职面试的攻略,也是一份前端小伙伴用来检视自己,实现突破的宝典。希望通过这个指南,大家可以打通自己的任督二脉,在前端的路上更进一步


Objective-C 项目

17、Bob:一款支持划词翻译和截图翻译 Mac 端翻译软件。系统默认划词工具有些不支持的 PDF 文件,通过这个软件截图翻译功能,可以舒服的解决阅读这些文件时需要翻译的问题

18、textmate:一款 macOS 上著名的开源代码编辑器。它界面简洁,功能强大。支持高效的 Snippets 功能、主流版本控制系统、自定义主题、实时 HTML/Markdown 预览等功能

PHP 项目

19、php-curl-class:该开源项目封装了 PHP 的 cURL 库,使得发送 HTTP 请求变得简单。适用于需要 PHP 爬虫或者其它模拟 HTTP 访问的情况,示例代码:

20、parsedown:一个小而美的 PHP 的 Markdown 解析库。该库提供了标准 Markdown 文本转化成 HTML 字符串功能,并拥有良好的文档。它的主文件只有一个,除了 PHP 版本限制必须高于 5.3 外几乎无依赖,可通过 composer 引入,也可以直接使用 Parsedown.php 文件。该项目中使用大量正则表达式,可作为学习正则表达式的示例,并且有完整的单元测试。示例代码:

$Parsedown = new Parsedown();
echo $Parsedown->text('Hello _Parsedown_!'); # prints: <p>Hello <em>Parsedown</em>!</p>

Python 项目

21、sentry:一款免费开源的 Python 实时异常监控平台。采用 C/S 模式,服务器端通过 Python 实现,同时提供 web 管理页面,支持从任何语言、任何应用程序发送事件。一个成熟的服务必要的一环就是异常告警,Sentry 可以帮你及时知道服务非预期的异常

22、vaex:类似 Pandas 的 Python 数据处理库,在处理大型数据集的时候表现极大的优于 Pandas。Vaex 通过懒加载、延迟计算和零内存复制策略,极大的降低了内存的使用率、提高了计算的效率。从而能够每秒处理 10 亿行的数据,并且支持以直方图、密度图等形式展示数据。有大数据集处理需求的小伙伴赶快试试吧

23、word_cloud:Python 的词云生成工具。示例代码:

24、KeymouseGo:Python 实现的精简绿色版按键精灵。记录用户的鼠标、键盘操作,自动执行之前记录的操作,可设定执行的次数。在进行某些简单、单调重复的操作时,使用该软件可以十分省事儿。只需要录制一遍,剩下的交给 KeymouseGo 来做就可以了

25、ZeroNet:一个使用 Bitcoin 加密和 BitTorrent 网络的去中心化网络。将传统巨头垄断的互联网变得平民化,不需要租用服务器不需要公网 IP,每个人都可以轻松创建分布式博客、分布式论坛、分布式微博、分布式视频网站、分布式直播网站等等

Ruby 项目

26、astuto:一个免费、开源的 Ruby 自托管客户反馈平台。它可以帮助您收集、管理用户的反馈并设置其优先级。客户反馈是大部分网站不可或缺的功能,使用 astuto 能够十分快速的给你的网站加上此功能

其它

27、valval:一个基于 V 语言的 web 框架。V 语言是一门还在开发和完善过程中的语言,还不怎么成熟但却十分适合用于 web 开发,不仅官方的标准库中提供了 vweb 以及 orm 的支持,不少开发者也都推出了各自的 web 开发框架,valval 就是其中之一。示例代码如下:


28、powerlevel9k:一款 ZSH 系的 Powerline 主题。效果如下图:

29、zotero:一款开源文献管理工具。可以方便的管理、收集、组织、引用和共享文献的工具,经常进行学术研究和文献阅读的小伙伴请收好

30、Hippy:一个新生的跨端开发框架,目标是使开发者可以只写一套代码就直接运行于三个平台(iOS、Android 和 Web)。Hippy 的设计是面向传统 Web 开发者的,特别是之前有过 React Native 和 Vue 的开发者用起来会更为顺手,Hippy 致力于让前端开发跨端 App 更加容易。鹅厂提供的跨端开发框架,内部多款 APP 在用,还不快来试试!项目目录说明如下:

31、iptv:全球各地 8 千多个公开、可用的网络电视频道集合。随着网络的日益发展,电视节目离我们越来越远。不用电视盒子,不用下载电视软件,直接使用流媒体软件看网络电视是一个不错的选择。操作步骤:

  • 打开任何支持流媒体协议的播放器
  • 然后粘贴流媒体地址:https://iptv-org.github.io/iptv/index.m3u
  • 播放器推荐:IINA(Mac)、VLC(Linux)、Potplayer(Windows)

32、wuhan2020:武汉新型冠状病毒防疫信息收集平台。

机器学习

33、faceai:一款优秀入门级 AI 项目以及教程,内容涵盖:人脸、视频、文字的检测和识别。他不仅包含最基本的人脸检测、识别(图片、视频)、轮廓标识、头像合成(给人戴帽子),还有表情识别(生气、厌恶、恐惧等)、视频对象提取、图片修复(可用于水印去除)、图片自动上色等等。推荐这个开源项目不是因为它的内容强大,而是它的教程写的实在太好了,真 · 入门级。手把手教你如何使用这个项目,做出上述功能来。在每篇功能文章的教程里,不仅仅写了每个功能的技术实现方案,还有具体重点关键代码的注释和解释以及具体实现,让你非常轻松的能够看懂、学习和使用。对于想要入门或者了解机器学习的初学者不能再友好了。示例代码:

参考资料

[1]HelloGitHub: https://hellogithub.com

[2]点击查看往期内容: https://github.com/521xueweihan/HelloGitHub#内容

如果你发现了 GitHub 上有趣的项目,欢迎在 HelloGitHub 项目提 issues 告诉我们。

告摘要:

零知识证明是一种基于概率的验证方式,验证的内容包括“事实类陈述”和“关于个人知识的陈述”。验证者基于一定的随机性向证明者提出问题,如果都能给出正确回答,则说明证明者大概率拥有他所声称的“知识”。

Zerocoin(零币协议)将零知识验证用于铸造零币和赎回零币过程中,以隐藏了一笔交易对应的发送方和接收方信息,Zerocash(零钞协议)采用更新颖的zkSNARKs技术,将需要验证的交易内容转换成证明两个多项式乘积相等,结合同态加密等技术在保护隐藏交易金额的同时进行交易验证。缺点在于若网络收到攻击超发零钞,则无法发现或采取措施;Zerocoin和Zerocash均需要进行预先的“信任设置”,没有达到真正的“去信任”。英特尔SGX、zkSTARKs等新技术有可能解决上述问题,但仍需经过实践的检验。

一、零知识证明原理

零知识证明是一种加密方案,最初在20实际80年代由MIT研究人员在论文中提出。“零知识协议是一方(证明方)可以向另一方(验证方)证明某事是真实的方法,除了这一具体陈述是真实的事实以外,不透露任何额外的信息。例如对于现在登录网站而言,在Web服务器上存储了客户的密码的哈希值,为了验证客户实际上知道密码,目前大部分网站采用的方式是服务器对客户输入的密码进行哈希计算,并与已存结果对比,但是这种方式的弊病在于服务器在计算时就可以知道客户的原始密码,一旦服务器被攻击,用户的密码也就泄露了。如果能够实现零知识证明,那么就可以在不知道客户密码的前提下,进行客户登录的验证,即使服务器被攻击,由于并未存储客户明文密码,用户的账户还是安全的。

基本的零知识证明协议是交互式的,需要验证方向证明方不断询问一系列有关其所掌握的“知识”的问题,如果均能够给出正确回答,那么从概率上来讲,证明方的确很有可能知道其所声称的“知识”。例如某人声称知道一个数独难题的答案,一种零知识证明的方式是验证方随机指定这一次按列、按行还是按九宫格来检测,每次检测不需要看到数字摆的具体位置,只需要检测出来是否包含了1-9个数字即可,只要验证的次数足够多,那么可以大概率相信证明方是知道数独题目的解的。但是这样简单的方式还不能让人相信证明方和验证方均没有作假,在数独的案例中,两者有可能事先串通好,从而使得证明方在不知道答案的前提下通过验证。如果他们想让第三方信服,验证方必须也要证明自己每次的检测方案是随机的且自己没有和证明方串通。

由于第三方观察者难以验证交互式零知识证明的结果,因此当我们向多人证明某些内容时,我们需要付出额外的努力和成本。而非交互式的零知识证明顾名思义,不需要互动过程,避免了串通的可能性,但是可能会额外需要一些机器和程序来决定试验的序列:例如在数独的例子中,通过程序的方式来决定哪一次按行、哪一次按列来检测,但是这个试验序列必须保密,否则验证方预先知道了试验的序列就有可能利用这个信息,提前准备,在并不知道真实“知识”的情况下通过验证。

零知识证明的内容可以概括为两类:“事实”类陈述:例如证明“一个特定的图可以进行三着色。”或者“一个数N是合数”;关于个人知识的陈述:例如“我知道这个特定图的染色方案”或者“我知道N的因式分解”。

但并不是所有的问题都有零知识证明的加密方案,Goldreich, Micali 和 Wigderson 给出了理论上存在零知识证明解的有效范围。他们发现对于在多项式时间内可以验证解的决策问题(问题的答案仅为是/否),存在已知的零知识证明方案。只需要在这样NP问题中找到想要证明的论述,并转化为三色问题的一个实例,那么就可以利用已有的协议实现零知识证明。由于三色问题属于NPC问题,任何其他的NP问题都可以转化为这个问题的实例。

二、区块链中的零知识证明应用

在区块链上的交易中,如比特币和以太坊网络网络,除了使用地址来替换交易双方的真实身份,使得交易具有部分匿名性以外,发送、接收地址和金额都是已知的,别人有可能通过网络上的各种信息、和现实世界发生的交互记录等将比特币地址和真实身份对应起来,也因此具有隐私暴露的隐患。Zerocoin设计了一种全新的思路,无法通过交易历史分析来获得用户真实身份。Zerocoin里需要消耗一定价值的要交易的货币,以生成具有独特序列号的一枚零币。零知识证明可以在不透露花费了具体哪个货币的基础上,验证出你的确花了这笔钱。为了将这笔钱转给他人,逻辑上需要我们使得这枚零币不能再被别人花费,零币的办法是大家共同维护一个作废列表,存着所有已经花费的零币的序列号。矿工在验证这笔花费交易时运用零知识证明的方法,不需要知道具体花掉哪一个零币,也可以验证零币的序列号是否在作废列表里。由于花费交易并没有输入地址和签名的信息,整个交易过程中,矿工也并不知道这个零币的来源,因此也就难以对交易历史进行分析而获取用户身份。

在零币里,交易的金额是可以知道的,而采用zkSNARKs技术的Zerocash连交易金额都可以隐密,账本唯一公开记录的唯一内容就是交易的存在性。可以证明对于NP中的所有问题存在zkSNARKs。它引入了多项创新技术,使它们可以在区块链中使用。最重要的是,zkSNARKs减少了证明的大小和验证它们所需的计算量。它的过程可以简述为。

1. 将要验证的程序拆解成一个个逻辑上的验证步骤,将这些逻辑上的步骤拆解成由加减乘除构成的算数电路。

2. 通过一系列的变换将需要验证的程序转换成验证多项式乘积是相等的,如证明t(x)h(x)= w(x)v(x)。

3. 为了使得证明更加简洁,验证者预先随机选择几个检查点s,检查在这几个点上的等式是否成立。

4. 通过同态编码/加密的方式使得验证者在计算等式时不知道实际的输入数值,但是仍能进行验证。

5. 在等式左右两边可以同时乘上一个不为0的保密的数值k,那么在验证(t(s)h(s)k)等于(w(s)v(s)k)时,就无法知道具体的t(s)、h(s)、w(s)、v(s),因此可以使得信息得到保护。

不同于Zerocoin的密码学原语RSA累加器,zkSNARKs技术较新,未经广泛验证,存在风险,同时由于更强的匿名性,Zerocash的漏洞也更难发现,和Zerocoin相比,Zerocash由于交易金额信息也是未知的,所以如果有攻击者无限制地发行零钞,这样的情况是无法检测的。

除此以外Zerocoin 和Zerocash均需要提前内置生成参数,用户在使用这些网络的时候必须信任这些参数没有被泄露,但是一旦这些参数被泄露,整个网络将面临毁灭性打击。复杂的信任设置使得Zerocash存在争议,即使他们设计了一套“仪式”(例如录下砸坏存有密钥电脑的过程)来证明自己。

可能的解决办法包括利用像英特尔SGX和ARM TrustZone这样的现代“可信执行环境”。就英特尔的SGX技术而言,即使应用程序、操作系统、BIOS或VMM遭到了破坏,私钥也是安全的。除此以外,最新提出的zkSTARKs技术不需要进行信任设置。

根据zkSTARKs白皮书中所述,zkSTARKs是首次实现既可以不依赖任何信任设置来完成区块链验证,同时计算速度随着计算数据量的增加而指数级加速的系统。它不依赖公钥密码系统,更简单的假设使得它理论上更安全,因为它唯一的加密假设是散列函数(如SHA2)是不可预测的(这一假设也是比特币挖掘稳定性的基础),因此也使其具有抗量子性。作为一种新颖的技术,和zkSTARKs一样,它也需要经过时间的检验。

参考文献:

1. Zcoin中文社区,《Zcoin和Zcash: 相似性和不同处》.http://www.zcoinchina.org/zcoin-and-zcash/

2. Zcash团队,《What are zk-SNARKs?》https://z.cash/technology/zksnarks.html.

3. 零币技术白皮书《一种通过使用零币协议(zerocoin protocol)来保障账务隐私的加密货币》

4. Christian Reitwiessner,《zkSNARKs in a nutshell》,https://blog.ethereum.org/2016/12/05/zksnarks-in-a-nutshell/

5. Matthew Green,《Zero Knowledge Proofs: An illustrated primer》,https://blog.cryptographyengineering.com/2014/11/27/zero-knowledge-proofs-illustrated-primer/

6. 老钱,《一个数独引发的惨案:零知识证明(Zero-Knowledge Proof)》,http://www.sohu.com/a/224915382_117959

(本文作者陈致佳、蒙绎泽、谢倩、江泽武文章版权为哈希未来所有,如需转载,请联系哈希未来工作人员。)