↑ 點擊加入mixlab社區
15000+跨學科人羣,機器學習、機器視覺、自然語言處理、知識圖譜、量化交易、物聯網、區塊鏈、產品經理、交互設計、建築設計、服裝設計、珠寶設計、平面設計、音樂、藝術等。
上一期介紹了分佈式社交協議solid,solid把應用跟數據分開了:
數據是一種分佈式的服務POD,有點像我們會碰到非常多的網盤產品,有些網盤存用戶的照片,有些網盤存用戶的文章,有些存用戶的歌單,有些存用戶的運動數據,有些存用戶的社交好友關係,有些存用戶的知識等等,只要值得存儲的數據,都可以有一種網盤的形式去存儲;
應用也是一種獨立的存在,它本身不存儲用戶的數據,它是整合用戶數據的地方,也是處理用戶數據的地方,比如我們可以開發一款圖片社交產品,用戶可以在上面發圖片,發的圖片會保存在用戶選定的網盤上,此款社交app只是把用戶的照片跟用戶的個人信息彙總在一起,按照某個邏輯來呈現。就算此款app,只提供了幾個月的服務就被關閉了,用戶的照片數據還是存在於用戶選定的網盤上;當有另一款app也需要用戶提供照片數據時,可以直接調用用戶之前發佈的照片數據。
整個網絡世界,變成了應用跟數據兩種基本服務。
非常靈活,我們可以開發各種的創新應用。因爲不需要面臨數據冷啓動的問題。
下面用代碼的方式,幫助大家深度瞭解技術原理,有幾個知識點,我們需要提前理解:
閱讀難度:★★★☆☆
技能要求: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期待您的加入!