lex 發自 凹非寺
量子位 | 公眾號 QbitAI
現在,光纖信息傳輸能快到什么程度??
最新研究顯示,科學家們又在光纖通信的速度上取得了重大突破:
他們在約8公里長的光纖上,成功實現了1.84Pbit/s的傳輸速率。
每秒1.84Pbit,是個什么概念?
這相當于每秒可以傳輸約236個1TB硬盤的數據;同時也相當于NASA等重量級科研機構專用網絡速度的20多倍。
Phys.org指出,這還相當于目前全球互聯網總流量的2倍!
要知道,先前在今年5月份,光纖通信的速度才剛剛被刷新過一次,從每秒Tbit的量級上升到了Pbit量級——達到1.02 Pbit/s。
(1Pbit=1024Tbit)
而現在,這項紀錄再度被刷新,背后的團隊來自丹麥哥本哈根大學和瑞典查爾姆斯理工大學。
值得注意的是,他們是世界上第一個僅用“單個激光器+單個光學芯片”,就實現每秒傳輸速度超過1Pbit的團隊。
截至目前,相關成果論文已經登上了Nature旗下的光學類頂刊:Nature Photonics。
這項成果在Hacker Newer社區上也引起了眾網友的關注。
有人激動地表示:
這可能會引導出一種全新的緩存形式,數據將不斷圍繞著一圈光纖飛速傳播。
隨著相關光學傳感器越來普及、越來越越便宜,當前未被使用的暗光纖將派上用場。
本研究涉及的主要領域就是光纖通信。
在這里先來說說光纖通信系統基本組成,它包括:光發信機、光收信機、光纖、光纜,還有中繼器等。
而在此研究中,最值得拿來說道說道的,就是光發信機部分的光源。(光發信機由光源、驅動器和調制器組成)
研究人員專門設計定制出了一種光學芯片,它能把來自紅外激光器的光轉換成由許多顏色組成的彩虹光譜。
不同顏色光的頻率不同。
因此,經此芯片處理后,單一激光的一個頻率(顏色)甚至可以變出上百種頻率(顏色)。
而且通過人為操控,這些新生成顏色的頻率差距都是固定的,很像梳子上的齒。
于是對這樣的光譜,人送稱號:光學頻率梳 (Frequency comb,簡稱頻率梳)。
這個頻率梳有兩大明顯優勢:
一是作為光波傳輸的源頭,這些梳狀結構很適合波分復用(WDM),數據會被調制到每個梳狀線上,然后被同時傳輸。
由于每個單色光之間的頻率和頻率差都是固定的,所以也不用擔心一下子傳這么多數據,會引起混亂。
而如果直接用單一激光二極管的陣列作為光源,不僅需要更多硬件,而且每個激光器的頻率容易隨機漂移,造成數據間的串擾。
其二,所有這些生成的光都是相干的,這使得不同通道之間還可以聯合進行數字信號處理。
所以總而言之,用頻率梳充當光源,不僅可以同時傳送多組互相不干擾的數據,而且還能聯合處理數字信號,最終大大加快了數據傳輸速率。
為了測試種方案的實際效果,研究者們在一條光纖上進行了實驗。
這條光纖長7.9公里,有37芯、223個頻率通道。
研究人員對所得數據分析計算后得出,在這條光纖上的信息傳輸速率達到了1.84Pbit/s。
本文的共同一作,Oxenl?we教授指出:
這個解決方案是可擴展的。
可以通過技術手段,創建更多頻率,而且可以在較小的副空間上先梳理不同的同頻,再將其進行光學放大,有效解決存儲空間和傳輸效率的問題。
本研究由丹麥哥本哈根大學尼爾斯·玻爾研究所和丹麥技術大學(DTU)的團隊主導,瑞典查爾姆斯理工大學的學者們也參與了研究。
尼爾斯·玻爾(量子理論創始人之一)研究所成立于1921年,目前的研究領域涉及天體物理學、生物物理學、電子科學,和量子物理學等。
論文的共同一作有3位,分別為:A. A. J?rgensen,和D. Kong和L. K. Oxenl?we。
L. K. Oxenl?we,現任丹麥技術大學光子通信技術教授,并兼任丹麥光通信用硅光子學(SPOC)研究中心的負責人。
1996年至2002年間,Oxenl?we先后在哥本哈根大學獲得了物理學以及天文學學士和理學碩士學位,后在丹麥技術大學獲得博士學位。
他的主要研究領域包括光纖通信、量子糾纏、量子計算等。
A. A. J?rgensen和D. Kong目前都是尼爾斯·玻爾研究所的研究員。
論文地址:
https://www.nature.com/articles/s41566-022-01082-z
參考鏈接:
[1]https://newatlas.com/telecommunications/optical-chip-fastest-data-transmission-record-entire-internet-traffic/
[2]https://phys.org/news/2022-10-transmission-laser-optical-chip.html
[3]https://news.ycombinator.com/item?id=33315392
— 完 —
量子位 QbitAI · 頭條號簽約
關注我們,第一時間獲知前沿科技動態
經有產品經理使用Axure做個人博客,并發布上線。Axure到底有多少潛力?能否可以挑戰更多的開發項目成為直接上線可用的產品?
筆者正好利用2020年超長的春節假期進行一次探索。為什么會想到要用一款原型工具去做成品?
主要原因是所見即所得的編輯過程,讓那些需要一定時間學習編程才能完成的工作,由普通人來做學習成本幾乎可以不計,而且質量的穩定性更加可靠。如輪播只要簡單設置就好,也無需考慮不同瀏覽器之間的代碼兼容性。其次Axure提供了強大的函數庫,給于了無限可能。
本次的挑戰的工具使用Axure8.0版,項目選擇了作者公司中交互較為復雜的移動端商城裝修功能。此功能讓用戶在PC端通過所見即所得的編輯方式,將移動端常見的展示效果,像搭積木一樣,組合設置成為用戶需要的移動端商城的樣式。(如下圖:左邊,裝修組件選擇區。中間,實際效果預覽區。右邊,組件參數設置區。)
本次挑戰的原型已發布到作者的線上空間,網址如下:
探索過程完成的主要功能:
因時間有限,其它裝修組件的功能暫未提供,但依據筆者的經驗,是可以實現的。如果需要與后臺通訊則要外掛JS文件處理其中的數據。
經過這段時間的探索與試驗,總結下來,Axure可做一些對文件體積不敏感,交互不復雜的項目。如:CMS,個人博客等展示類的產品。如果需要一些復雜的交互,也可以實現,實現的過程中則需要額外注意些事項,有興趣的朋友可以了解后面分享給大家的一些探索中的經驗。
所見即所得的編輯效果:雖然只有一個優點,但這是很多人的痛點,編程學習的東西很多,從HTML,CSS,JS到放棄,而Axure的工作方式讓前端的工作就像畫畫。
成品文件冗余:
以本次項目為例,HTML文件:482KB。JS腳本:855KB(其中jquery庫162KB),CSS文件62KB,頁面數據文件:1270KB。共計2669KB(不含圖片資源)。如果把項目中所有功能做完,HTML文件和頁面數據文件可能會更大,這也許是Axure為了存儲原型描述相關的內容,生產的冗余。
執行效率低:
主要發生在數據集頻繁大量變更時,會導至頁面明顯卡頓,而Axure的數據集機制也導致容易出現大量的數據操作。所以筆者只能控制一些界面元件的數量,降低實時同步頻率,選擇操作間隙更新數據等方法,讓卡頓感盡量減少。
調試過程繁瑣:
Axure并沒有現成的較好的調試方法,需要規劃一個調試空間,有興趣的朋友可以看后面的單元測試與集成測試介紹。
代碼碎片化:
Axure中所有的代碼都寫在元件上,這個開始沒太在意,但隨著項目的進展,影響越來越大最后導致后面幾乎進行不下去,最后不得不提出Axure偽代碼規范的解決方案。
經過本次探索,筆者認為如果Axure向可視化編程方向努努力,可能會極大的降低前端的開發門檻或改變開發方式。
如何使用Axure完成一些復雜的交互,下面將本次探索的一些經驗分享給大家。
實現變量效果的三種方式:
Axure中每一個元件都可以添加條件判定。但用在模擬功能函數上,多選按鈕(checkbox)較為適用,因為選擇狀態可視有利于調試過程。
通過定時切換多選按鈕(checkbox)完成。缺點邏輯嚴謹差一些,需要注意邏輯并行可能的影響。可以使用禁用或鎖定等方式避免影響。
通過定時切換多選按鈕(checkbox)完成。由于一個元件上承載的功能有限,所以有時需要多個checkbox組合完成,這種方式我們把他稱為功能函數組。
對于復雜的項目,元件多時間命名規范極為重要。否則再次優化,修改無從著手。規范可以幫助我們看名知其意,也有利于在眾多元件中輕松找到需要的元件。
功能設計圖:折分功能,幫助理解流程及流程中各動作的影響范圍。
功能列表:記錄拆分后的功能列表,幫助你實施時更加有條理,應隨著偽代碼的編寫逐步完善。
功能影響列表:記錄功能可能影響到的范圍或用戶可能的非正常操作列表,并給出對應的解決方案(如有必要可編寫解決方案的偽代碼),應隨著偽代碼的編寫逐步完善。
偽代碼是將各元件的協作,用簡練的文字描述出來的方法。因為Axrue中的功能,都是寫在各各獨立的元件上的,非常碎片化,對于復雜一些的功能,編輯不直觀,思維容易被干擾,后期也不利于梳理和閱讀。本次的項目隨著元件的增加,幾乎到了不可維護的情況。
所以需要避免在元件中盲目操作導致越發混亂,同時對于之后的維護,只需要有對應的偽代碼,便可快速了解整個全貌,輕松上手,偽代碼需要與命名規范結合使用。(本次使用的Axure偽代碼規范文檔:http://www.yssycm.com/personal/index.php/2020/03/15/axure-pseudocode-specification/)
調試即是偽代碼的實施的過程,按偽代碼的內容要求,逐一操作創建對應的元件并賦于對應的功能。將需要監視的變量,數據集,功能函數組,分類陳列,方便運行中查看錯誤產生在那。必要時可增加額外功能元件,幫助觸發特定的情況。Axure中的等待命令可以模擬編程調試中的斷點功能,完成調試后可以只隱藏不刪除,便于之后再次修改維護(發布上線的可以刪除減少一些冗余)。
將項目中的功能,依據范圍,目的,拆分為相對獨立的功能模塊,每一個功能模塊在獨立的頁面進行編輯和調試。最后再組裝到一個頁面中。可以快速定位錯誤的位置,同時預覽調試速度也快。
本文由 @鏡緣 原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自Unsplash,基于CC0協議
文作者將與大家分享產品原型需求管理系統的內容,enjoy~
為什么要做這個東西?幾個原因:
因為用Axure導出來的原型文件,該原型設計工具只考慮到頁面展示,并沒有考慮到數據存儲這一塊,Axure的數據存儲全部存到js文件中。但Axure中有一個可以把數據傳遞到外部的地方:打開鏈接、在框架中打開鏈接。而技術原理中,有一個URL傳參方法,下面是原型介紹:
在Axure原型中設置個全局變量,在另外一個頁面使用該變量并進行賦值時,會發現,該原型工具本身也是通過URL來傳遞參數,如上圖的:#text10=666。其中text10就是我定義的一個全局變量
所以整個產品需求目錄管理系統設計的核心原理就是:URL傳參+php腳本讀參數+php寫入本地文件。讀數據核心:php讀取本地文件+賦值給參數+打開指定文件并附帶參數,如:index.html#canshu=666
下面是php腳本介紹:
這個文件(canshu.php)已經寫得很明白了,打開本地的db.txt(類型于數據庫,只不過是簡單的數據庫),然后讀取鏈接參數,原型Axure將幾個控件的內容按一定規則拼接好,賦值給一個全局變量,然后再到一個內部框架打開canshu.php,并帶上參數,如下圖的【打開./canshu.php?[[canshu]],canshu.php文件,通過$_SERVER函數就會讀取到鏈接的參數,然后把該參數內容讀取下來,并賦值給$urlcan,然后就拿該參數寫入db.txt
然后有同學問了,怎么讀?讀用逆向思維即可:利用一個php腳本讀取txt的內容,并賦值給canshu,然后打開index.html#canshu=xxx,如此下來,你的原型文件就能獲取到txt的內容并賦值給了原型中的全局變量了。
以下是系統介紹:
特別注意的是:【URL】。URL是你本地原型的相對路徑地址,比如你用本地局域網搭建,假如你的ip是:http://192.168.1.1/,并且你創建了1.5.1的文件夾,里面放了需求1的原型地址,所以它的相對路徑就是1.5.1/index.html,當到產品原型目錄點擊時,就會直接跳轉至http://192.168.1.1/1.5.1/index.html
【分類】分類會在產品原型目錄地址首頁顯示標識,如下圖:
【排期設置】排期設置就是首頁的1.5.1、1.5.2、1.5.2這些排期,當然可以命名其它,但是注意的是,修改排期命名時,需求管理列表中的排期也需要跟這些命名一致,否則會篩選不出這些需求
使用這個需求管理系統,需要準備以下內容:
可以在本地管理需求目錄,并提交至服務器(有中文語言包)
使用了SVN演示
沒有不可能,活學活用。
源碼的邏輯就不碼出來了,但是你如果要研究,可以自行研究。
本文由 @jeasionlee 原創發布于人人都是產品經理。未經許可,禁止轉載。
題圖來自 Pixabay,基于 CC0 協議
*請認真填寫需求信息,我們會在24小時內與您取得聯系。