前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >去中心化、人人平等的网络世界,更多的可能等你来开拓

去中心化、人人平等的网络世界,更多的可能等你来开拓

作者头像
mixlab
发布2018-10-22 11:02:12
7460
发布2018-10-22 11:02:12
举报

点击加入mixlab社区

15000+跨学科人群,机器学习、机器视觉、自然语言处理、知识图谱、量化交易、物联网、区块链、产品经理、交互设计、建筑设计、服装设计、珠宝设计、平面设计、音乐、艺术等。

上一期介绍了分布式社交协议solid,solid把应用跟数据分开了:

数据是一种分布式的服务POD,有点像我们会碰到非常多的网盘产品,有些网盘存用户的照片,有些网盘存用户的文章,有些存用户的歌单,有些存用户的运动数据,有些存用户的社交好友关系,有些存用户的知识等等,只要值得存储的数据,都可以有一种网盘的形式去存储;

应用也是一种独立的存在,它本身不存储用户的数据,它是整合用户数据的地方,也是处理用户数据的地方,比如我们可以开发一款图片社交产品,用户可以在上面发图片,发的图片会保存在用户选定的网盘上,此款社交app只是把用户的照片跟用户的个人信息汇总在一起,按照某个逻辑来呈现。就算此款app,只提供了几个月的服务就被关闭了,用户的照片数据还是存在于用户选定的网盘上;当有另一款app也需要用户提供照片数据时,可以直接调用用户之前发布的照片数据。

整个网络世界,变成了应用跟数据两种基本服务。

非常灵活,我们可以开发各种的创新应用。因为不需要面临数据冷启动的问题。

下面用代码的方式,帮助大家深度了解技术原理,有几个知识点,我们需要提前理解:

什么是POD?

webID是什么?

阅读难度:★★★☆☆

技能要求:JS基础、HTML基础

字数:900字

阅读时长:4分钟

STEP1

获取一个 solid pod

为了读写数据,你需要拥有一个solid pod和账号。访问inrupt网址( https://inrupt.net/ ),注册一下,获取一个webID(账号)。

我的webID:

https://shadowcz.inrupt.net/profile/card#me

STEP2

新建一个HTML文件

新建一个html文件,输入以下代码:

STEP3

添加 Solid auth client 库 及 jQuery 库

为了支持solid,我们需要添加2个组件,一个是JS,一个是登录页面。

• JS库:

https://solid.github.io/solid-auth-client/dist/solid-auth-client.bundle.js

• 登录页面:

https://solid.github.io/solid-auth-client/dist/popup.html

popup是登录页面,在登录页面填入我们自己的webID,然后会跳到webID对应的POD服务提供站点处,登录授权即可。

• jQuery 库:

https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js

STEP4

添加登录状态的UI及登录,退出按钮

在html文件里添加标签,如下:

Step 5

为登录按钮添加JS事件,并运行html

在html文件里添加一个script标签,并输入以下js代码:

打开终端,输入:

python -m http.server

打开浏览器,输入:

http://localhost:8000

登录下试试,如下图:

Step 6

为退出登录的按钮添加一个js事件

输入以下代码:

Step 7

把登录用户的webID显示出来

可以把授权的用户webID显示出来,在html中输入input标签,并在script中输入js代码:

Step 8

获取用户存储在POD上的数据

使用RDFlib.js库,操作我们存储在POD上的Linked Data;RDFlib.js已经在html里引用了,我们看一下如何用js获取数据:

使用RDFlib.js获取webID的名字,对应的RDFlib的代码,主要有3步:

Step 9

显示其他字段

由于我们刚创建的webID没有friends关系,可以使用官方示例的一个webID,在

<input id="profile">尝试填入:

https://ruben.verborgh.org/profile/#me

点击view按钮,可以拉取friends关系,js代码:

至此,9步完成了一个简单的solid 应用

去中心化的网络世界,是不是很性感?

有没有兴趣一起研究下solid源码?及探索相关的应用?

——公众号回复留言即可加入社群。

以上为全文。

近期活动推荐

快!TensorFlow、黑客马拉松、DevFest千人大会 ,GDG DevFest 2018在召唤你

--------------------------------------

mixlab 无界社区 是一所面向未来的实验室,它提倡“跨界创新,开放成长”的理念。

——跨界 开放 互助 学习 思维 创新。

目前社区汇集了15000+跨学科人群,主要来自GoogleBrain、微软、华为、阿里鲁班、腾讯、旷视、三角兽、物灵科技、众安保险、美团、360等科技人才、设计师及CEO和投资人;高校分布MIT、Oxford、Cambridge、CMU、UoM、清华、上交大、同济等学生及教师群体;学科跨越机器学习、自然语言处理、量化交易、物联网、区块链、前端、后端、产品经理、UI设计、建筑设计、服装设计、珠宝设计、音乐、艺术等。

社区典型的用户技能为: ML00:小程序开发、AI+设计、区块链技术 ML04: 算法作曲 ML05:AI变脸 ML07:WebGL+Three.js数据可视化 ML14:增长黑客 ML16:机器学习 ML37:AR ML41:人工智能+音乐 ML44:珠宝设计+参数化设计 ML83:量化交易、数字货币交易 ML109:Arduino、processing ML113:人工智能+服装设计 ML206:VR/AR ML245:建筑设计智能化

详细介绍点击以下卡片:

mixlab期待您的加入!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 无界社区mixlab 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ↑ 点击加入mixlab社区
  • 15000+跨学科人群,机器学习、机器视觉、自然语言处理、知识图谱、量化交易、物联网、区块链、产品经理、交互设计、建筑设计、服装设计、珠宝设计、平面设计、音乐、艺术等。
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档