分類
發燒車訊

區塊鏈成重要突破口,與幣圈無關卻與5G有關

  幾乎是一夜之間,區塊鏈就成了更熱門的話題,此前,如果我們還在說“物聯網、大數據、雲計算、人工智能和 5G”,那麼,以後這一長串的背後可能就要加上“區塊鏈”。

  誠然,國家將區塊鏈當成戰略來發展,並“要把區塊鏈作為核心技術自主創新的重要突破口,明確主攻方向,加大投入力度,着力攻克一批關鍵核心技術,加快推動區塊鏈技術和產業創新發展”,這對整個區塊鏈產業都是巨大的利好,但是,這種利好卻實實在在與現在網絡上那些頂着區塊鏈帽子實際卻是在搞傳銷的“幣”們,毫無關係。如果有關係,那也一定是負面。

  在國內,區塊鏈技術佔據優勢的公司依然是 BAT,特別是阿里巴巴和螞蟻金服。在 2018 年的世界互聯網大會上,螞蟻金服“自主可控金融級商用區塊鏈平台”與“阿里雲 supET 工業互聯網平台”同時入選 15 項世界互聯網領先科技成果之列。前者的區塊鏈因素顯而易見,後者實際上也在由區塊鏈提供製造生產質量追溯和供應鏈管理服務。

  據全球知名智能信息服務機構科睿唯安公布信息,截至 2019 年 4 月 30 日,阿里巴巴以 290 件區塊鏈專利方案數量穩居全球第一。結合權威知識產權產業媒體 IPRdaily 過去兩年發布的“全球區塊鏈專利企業排行榜”显示,阿里巴巴申請的區塊鏈專利數量已經連續三年全球第一。2019 上半年全球區塊鏈企業發明專利排行榜(TOP100) 中,阿里巴巴以 322 件專利位列第一,中國平安以 274 件專利排名第二,Nchain 以 241 件專利排名第三。此外,百度( 7 名)、騰訊( 13 名)、京東( 14 名)、華為( 28 名)、獵豹( 40 名)、中國移動( 44 名)等均榜上有名。

  從上面的數據可以看出來,真正在區塊鏈的研究上佔據優勢且不斷應用的,沒有一個是“發幣”的,都是實實在在的在落地。

  當然了,也許與幣有關。此前有消息傳言,央行可能將在未來幾個月內正式推出國家支持的数字貨幣“DCEP”,初期將向中國工商銀行、中國建設銀行、中國銀行、中國農業銀行、阿里巴巴、騰訊以及銀聯七家機構發行。如果成行,那將是世界上是首個法定数字貨幣,意義深遠。

  在官方發布的新聞中,將區塊鏈發展方向定位為四個方面:

  1、要探索“區塊鏈+”在民生領域的運用,积極推動區塊鏈技術在教育、就業、養老、精準脫貧、醫療健康、商品防偽、食品安全、公益、社會救助等領域的應用,為人民群眾提供更加智能、更加便捷、更加優質的公共服務。

  2016 年,螞蟻金服聯合中國紅十字基金會等公益機構上線區塊鏈試驗項目,使捐款人可以追蹤善款的完整流轉情況。2017 年 3 月,支付寶愛心捐贈平台全面引入區塊鏈技術,所有捐贈數據上鏈。實現了實時賬目公示,有助於解決公益財務透明的“痛點”。螞蟻金服公益運用區塊鏈技術追蹤籌款,建立起第三方公示體系區塊鏈資金流公示,為公益機構進行數據統計、項目執行跟蹤提供便利。區塊鏈具有不可篡改的特性,任何寫入區塊鏈的記錄均不能更改,可以供公眾監督及審計。而“區塊鏈+公益”正是利用這一特性,發揮公眾賬本的價值,不論用戶是捐十塊、二十塊還是幾百塊,讓用戶所獻出的每一筆都記錄在區塊鏈上,有跡可循,持續追溯。

  2016 年 10 月,阿里與微軟、小蟻、法大大等合作開發“法鏈”,推出基於阿里雲平台的郵箱存證產品,通過法鏈上備份的电子郵件和雲服務,阿里將使中國法院能大規模採用数字證據郵件。

  2017 年 3 月,阿里巴巴與普華永道合作,打造可追溯的跨境食品供應鏈,用於跟蹤產品從生產者到消費者之間的整個流程。

  2017 年 8 月,阿里健康與江蘇常州市合作推出我國首個基於醫療場景的區塊鏈應用――“醫聯體+區塊鏈”試點項目。

  2017 年 10 月 11 日,螞蟻金服 CTO 程立在螞蟻金服金融科技開放峰會上首度披露未來的技術布局――“BASIC”戰略,其中的B對應的就是區塊鏈(Blockchain),同時,技術實驗室宣布開放區塊鏈技術,支持進口食品安全溯源、商品正品溯源等,第一個落地場景將是海外奶粉品牌的追蹤,先是產自澳洲、新西蘭的 26 個品牌的奶粉。2017 年 11 月 24 日,天貓國際宣布升級全球原產地溯源計劃,未來將覆蓋全球 63 個國家和地區,3700 個品類,14500 個海外品牌,也將向全行業開放,賦能整個行業。2018 年 2 月,菜鳥與天貓國際官方消息,已啟用區塊鏈技術跟蹤、上傳、查證跨境進口商品的物流全鏈路信息,涵蓋生產、運輸、通關、報檢、第三方檢驗等商品進口全流程,為每個跨境進口商品打上獨一無二的“身份證”,供消費者查詢驗證。

  騰訊旗下的微眾銀行於 2016 年 6 月開發出面向金融業的聯盟鏈雲服務 BaaS,並在 2017 年 1 月落地了第一個商業場景,即微黃金項目。微黃金是騰訊的一項在線黃金交易服務,用戶可以在微信低門檻靈活購買黃金,其背後正是由騰訊開發底層基礎架構的聯盟鏈。騰訊、工商銀行等多個節點共同參与記帳。2018 年 4 月底,騰訊發布第一款區塊鏈遊戲《一起來捉妖》,試圖通過區塊鏈技術保障了遊戲稀有內容投放的公開公平性,同時用戶可以將稀有妖怪上鏈永久保存。

  2017 年 12 月,沃爾瑪、京東、IBM、清華大學电子商務交易技術國家工程實驗室共同宣布成立安全食品區塊鏈溯源聯盟,運用區塊鏈技術搭建“京東區塊鏈防偽追溯開放平台”。該平台推出之後,用戶只需打開京東 APP 找到購物訂單,通過“一鍵溯源”或直接掃描產品溯源碼,即可獲取溯源信息。

  2018 年 10 月,百度正式發布自主研發的區塊鏈網絡系統——超級鏈。同時,宣布與海南省政府合作,區塊鏈實驗室及度鏈公司落戶海南,並推出“區塊鏈+大閘蟹溯源”應用。

  2、要推動區塊鏈底層技術服務和新型智慧城市建設相結合,探索在信息基礎設施、智慧交通、能源電力等領域的推廣應用,提升城市管理的智能化、精準化水平。

  5 月 22 日,上海、浙江、江蘇、安徽 4 地法院成立全國首個區域司法鏈,實現從起訴到執行全程上鏈,極大提高了訴訟效率和法院公信力,降低訴訟成本。最早引入區塊鏈技術的杭州互聯網法院,上鏈半年,其知識產權糾紛案件的調撤率上升至 95.3%。

  2017 年 5 月,阿里投資 Symbiont,該公司致力於利用區塊鏈技術打造一個發行和交易智能證券的平台。此外,深圳財富文化集團已經打造了一個文化產權交易的區塊鏈平台,並與螞蟻雙鏈打通,解決文化藝術品流通、交易和一系列金融服務。

  2017 年 11 月 8 日,阿里巴巴集團、螞蟻金服集團與雄安新區簽署了戰略合作協議,阿里巴巴與螞蟻金服將承建数字雄安區塊鏈實施平台。

  另外,國網電商公司已建成國家電網公司系統內首個司法級可信區塊鏈公共服務平台,作為唯一央企與北京互聯網法院“天平鏈”互信互通,掛牌工信部區塊鏈重點實驗室電力應用實驗基地,參与首個區塊鏈國家標準制定,實現了區塊鏈技術在電力積分通兌、光伏簽約、票據繳費、电子發票等多場景落地應用。

  3、要利用區塊鏈技術促進城市間在信息、資金、人才、徵信等方面更大規模的互聯互通,保障生產要素在區域內有序高效流動。

  在 9 月末舉行的雲棲大會·螞蟻區塊鏈生態峰會上,螞蟻金服集團副總裁蔣國飛透露,螞蟻區塊鏈已落地 40 多個應用。含括跨境支付、供應鏈金融、通用溯源、电子票據等多個行業領域。並於同期宣布了與全球最大的種子和農藥公司拜耳合作,應用方向進一步擴展。

  螞蟻金服 8 月份宣布,基於區塊鏈技術的供應鏈協作網絡——螞蟻區塊鏈“雙鏈通”全面升級開放。這一服務運用區塊鏈技術可解決供應鏈金融中的信任難題,同時讓小微商家也能享受高效便捷的金融服務。目前,這一模式已在成都率先應用。通過與成都商業銀行、成都中小企業融資擔保公司的合作,“雙鏈通”完成了供應鏈金融的全鏈路覆蓋。上鏈后,整個融資流轉過程清晰留痕、不可篡改,所有參与方都要通過“雙鏈通”進行身份核實和意願確認,数字簽名實時上鏈,杜絕了資金挪用等風險。

  4、要探索利用區塊鏈數據共享模式,實現政務數據跨部門、跨區域共同維護和利用,促進業務協同辦理,深化“最多跑一次”改革,為人民群眾帶來更好的政務服務體驗。

  3 月,杭州地鐵聯合支付寶、螞蟻區塊鏈推出了區塊鏈电子發票。全程手機操作,耗時不到 10 秒,上班族再也不用前往窗口排隊取票了。支付寶聯合雲南省相關部門,在醫療、教育等多個民生服務場景落地區塊鏈电子票據。從地鐵电子發票到法院訴訟案件,再到电子票據平台,螞蟻區塊鏈在過去近 3 年時間里,相繼落地了 40 多個場景。其中長三角佔比超過一半。“上鏈”后長三角人辦事效率大大提升,不少事項可享受“秒級”服務。

  我們看到,在 5G 時代,無差別計算能力的流通成本會大幅下降,無差別計算能力是 AI 最重要的勞動要素,而區塊鏈就是 AI 最重要的勞動要素。阿里巴巴達摩院在《2019 十大科技趨勢》中提到,5G 和區塊鏈是未來十年的發展方向。《福布斯》發布的《2020 十大科技趨勢》也提到,5G 和區塊鏈都將於 2020 年崛起,未來與人們日常生活相關的每一個行業都會被變革。還是那句話,“誰能把當前的技術和資源用到最充分,誰就是這個時代的最強者”,也許 5G 的流量充沛,正是區塊鏈的黃金歲月。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理【其他文章推薦】

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

※自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

分類
發燒車訊

小白學 Python 爬蟲(4):前置準備(三)Docker基礎入門

人生苦短,我用 Python

前文傳送門:

Docker 基礎

首先說一件事情,就在本文寫作前一天,Mirantis 這家公司宣布收購了 Docker 的企業業務和團隊。並且在官網上也掛出了相關的文字。

沒別的意思,相關的新聞通告一下。

Docker 官網地址:

什麼是 Docker ?

emmmmm,說實話,Docker 是什麼並不好說,下面通過四點大致解釋下 Docker 到底是個什麼東西。

  1. Docker 是全球領先的軟件容器平台。
  2. Docker使用Google公司推出的Go語言進行開發實現,基於Linux內核的cgroup,namespace,以及AUFS類的UnionFS等技術,對進程進行封裝隔離,屬於操作系統層面的虛擬化技術。
  3. 由於隔離的進程獨立於宿主和其它的隔離的進程,因此也稱其為容器。Docke最初實現是基於LXC。
  4. 用戶可以方便地創建和使用容器,把自己的應用放入容器。

Docker 容器的特點:

  1. 輕量化:在一台機器上運行的多個Docker容器可以共享這台機器的操作系統內核;它們能夠迅速啟動,只需佔用很少的計算和內存資源。鏡像是通過文件系統層進行構造的,並共享一些公共文件。這樣就能盡量降低磁盤用量,並能更快地下載鏡像。
  2. 標準化:Docker容器基於開放式標準,能夠在所有主流Linux版本、Microsoft Windows以及包括VM、裸機服務器和雲在內的任何基礎設施上運行。
  3. 安全:Docker賦予應用的隔離性不僅限於彼此隔離,還獨立於底層的基礎設施。Docker默認提供最強的隔離,因此應用出現問題,也只是單個容器的問題,而不會波及到整台機器。

為什麼要用Docker:

  • Docker的鏡像提供了除內核外完整的運行時環境,確保了應用運行環境一致性,從而不會再出現“這段代碼在我機器上沒問題啊”這類問題;——一致的運行環境
  • 可以做到秒級、甚至毫秒級的啟動時間。大大的節約了開發、測試、部署的時間。——更快速的啟動時間
  • 避免公用的服務器,資源會容易受到其他用戶的影響。——隔離性
  • 善於處理集中爆發的服務器使用壓力;——彈性伸縮,快速擴展
  • 可以很輕易的將在一個平台上運行的應用,遷移到另一個平台上,而不用擔心運行環境的變化導致應用無法正常運行的情況。——遷移方便
  • 使用Docker可以通過定製應用鏡像來實現持續集成、持續交付、部署。——持續交付和部署

說起容器,與虛擬機的比較是一個永恆的話題,因為它做的事情和虛擬機做的事情非常的接近。

傳統虛擬機技術是虛擬出一套硬件后,在其上運行一個完整操作系統,在該系統上再運行所需應用進程;而容器內的應用進程直接運行於宿主的內核,容器內沒有自己的內核,而且也沒有進行硬件虛擬。因此容器要比傳統虛擬機更為輕便。

Docker 安裝

Win10 下的安裝

首先介紹一下 win 環境下 Docker 的安裝,打開官網,下載最新版的 Docker Desktop 。

Docker 官方下載地址:

下載前可能需要先註冊下 Docker Hub ,註冊完成後會直接跳轉下載頁面。

下載完成后默認配置 next 就好了。

驗證:

在 CMD 命令行中執行:

docker info

請確保 Docker 正常啟動狀態,否則會報錯的。

小編本地電腦執行后显示如下:

Client:
 Debug Mode: false

Server:
 Containers: 26
  Running: 0
  Paused: 0
  Stopped: 26
 Images: 28
 Server Version: 19.03.1
 ...

內容有些多,我就不全貼出來了,主要會显示一些當前 Docker 相關的信息。

CentOS 下的安裝

懶人神器,使用 CentOS 下的包管理工具 yum 進行安裝,直接輸入:

yum install docker

然後靜靜等待進度條走完,驗證命令和上面一致,同樣需確保 Docker 服務正常啟動。

CentOS 中 Docker 基本操作命令:

# docker 啟動
systemctl start docker
# 重啟 docker服務
systemctl restart docker
# 關閉 docker 服務
systemctl stop docker

驗證結果:

Docker 基礎

首先了解兩個概念:

鏡像:Docker 鏡像是用於創建 Docker 容器的模板。

容器:容器是獨立運行的一個或一組應用。

講人話就是鏡像可以是我們自己的程序,也可以是第三方廠商提供的組件,比如數據庫,緩存服務等等,而這個鏡像想要運行的話,就要放在容器裏面運行,它自己是不能單獨運行的,就好比炒菜,光有菜不行,還要有鍋,菜是在鍋里炒出來的。

因為 Docker 默認的鏡像源是在遙遠的太平洋彼岸,訪問速度會有些慢,建議各位同學配置一個國內的鏡像源。

國內的鏡像源有很多的,百度一下可以找到很多,小編這裏使用的阿里雲提供的容器鏡像加速服務,大家可以登錄自己的淘寶賬號,在阿里雲上找到容器鏡像服務:

具體的配置方案阿里雲已經提供出來了,小編這裏不再贅述,大家自己登錄阿里雲查看吧。

上面這些都配置完成后,我們來講幾個最基礎的 Docker 命令:

獲取鏡像

語法:docker pull NAME[:TAG]
其中,NAME是鏡像倉庫的名稱(用來區分鏡像),TAG是鏡像的標籤(用來表示版本信息)

查看鏡像

語法:docker images

可以看到,小編的機器上目前有一個 mysql5.7 鏡像。

搜索鏡像

語法:docker search [image-name]
從docker倉庫搜索docker鏡像

刪除鏡像

語法:docker rmi NAME
用來刪除指定鏡像,其中後面的參數可以是tag,如果是tag時,實際上是刪除該tag,只要該鏡像還有其他tag,就不會刪除該鏡像。當後面的參數為鏡像ID時,則會徹底刪除整個鏡像,連通所有標籤一同刪除

實戰 hello-world

首先輸入 docker pull hello-world 來拉取 hello-world 鏡像:

拉取成功后,我們使用 docker images 來查看下這個 hello-world 鏡像 :

好了,我們已經看到這個 hello-world 鏡像了,現在來嘗試一下啟動,使用命令 docker run hello-world

若是出現了上圖的內容則說明hello-world運行成功,如果沒出現的話,emmmmmmmmmm,你們可能就要想想自己之前的操作了。

本篇文章到這裏就結束了,希望各位同學能自己動手實踐一下,畢竟實踐出真知嘛。

參考

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理【其他文章推薦】

※帶您來了解什麼是 USB CONNECTOR  ?

※自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

分類
發燒車訊

Python 命令行之旅:深入 click 之子命令篇

作者:HelloGitHub-Prodesire

HelloGitHub 的《講解開源項目》系列,項目地址:https://github.com/HelloGitHub-Team/Article

一、前言

在上兩篇文章中,我們介紹了 click 中的”參數“和“選項”,本文將繼續深入了解 click,着重講解它的“命令”和”組“。

本系列文章默認使用 Python 3 作為解釋器進行講解。
若你仍在使用 Python 2,請注意兩者之間語法和庫的使用差異哦~

二、命令和組

Click 中非常重要的特性就是任意嵌套命令行工具的概念,通過 和 (實際上是 )來實現。

所謂命令組就是若干個命令(或叫子命令)的集合,也成為多命令。

2.1 回調調用

對於一個普通的命令來說,回調發生在命令被執行的時候。如果這個程序的實現中只有命令,那麼回調總是會被觸發,就像我們在上一篇文章中舉出的所有示例一樣。不過像 --help 這類選項則會阻止進入回調。

對於組和多個子命令來說,情況略有不同。回調通常發生在子命令被執行的時候:

@click.group()
@click.option('--debug/--no-debug', default=False)
def cli(debug):
    click.echo('Debug mode is %s' % ('on' if debug else 'off'))

@cli.command()  # @cli, not @click!
def sync():
    click.echo('Syncing')

執行效果如下:

Usage: tool.py [OPTIONS] COMMAND [ARGS]...

Options:
  --debug / --no-debug
  --help                Show this message and exit.

Commands:
  sync

$ tool.py --debug sync
Debug mode is on
Syncing

在上面的示例中,我們將函數 cli 定義為一個組,把函數 sync 定義為這個組內的子命令。當我們調用 tool.py --debug sync 命令時,會依次觸發 clisync 的處理邏輯(也就是命令的回調)。

2.2 嵌套處理和上下文

從上面的例子可以看到,命令組 cli 接收的參數和子命令 sync 彼此獨立。但是有時我們希望在子命令中能獲取到命令組的參數,這就可以用 來實現。

每當命令被調用時,click 會創建新的上下文,並鏈接到父上下文。通常,我們是看不到上下文信息的。但我們可以通過 裝飾器來顯式讓 click 傳遞上下文,此變量會作為第一個參數進行傳遞。

@click.group()
@click.option('--debug/--no-debug', default=False)
@click.pass_context
def cli(ctx, debug):
    # 確保 ctx.obj 存在並且是個 dict。 (以防 `cli()` 指定 obj 為其他類型
    ctx.ensure_object(dict)

    ctx.obj['DEBUG'] = debug

@cli.command()
@click.pass_context
def sync(ctx):
    click.echo('Debug is %s' % (ctx.obj['DEBUG'] and 'on' or 'off'))

if __name__ == '__main__':
    cli(obj={})

在上面的示例中:

  • 通過為命令組 cli 和子命令 sync 指定裝飾器 click.pass_context,兩個函數的第一個參數都是 ctx 上下文
  • 在命令組 cli 中,給上下文的 obj 變量(字典)賦值
  • 在子命令 sync 中通過 ctx.obj['DEBUG'] 獲得上一步的參數
  • 通過這種方式完成了從命令組到子命令的參數傳遞

2.3 不使用命令來調用命令組

默認情況下,調用子命令的時候才會調用命令組。而有時你可能想直接調用命令組,通過指定 click.groupinvoke_without_command=True 來實現:

@click.group(invoke_without_command=True)
@click.pass_context
def cli(ctx):
    if ctx.invoked_subcommand is None:
        click.echo('I was invoked without subcommand')
    else:
        click.echo('I am about to invoke %s' % ctx.invoked_subcommand)

@cli.command()
def sync():
    click.echo('The subcommand')

調用命令有:

$ tool
I was invoked without subcommand
$ tool sync
I am about to invoke sync
The subcommand

在上面的示例中,通過 ctx.invoked_subcommand 來判斷是否由子命令觸發,針對兩種情況打印日誌。

2.4 自定義命令組/多命令

除了使用 來定義命令組外,你還可以自定義命令組(也就是多命令),這樣你就可以延遲加載子命令,這會很有用。

自定義多命令需要實現 list_commandsget_command 方法:

import click
import os

plugin_folder = os.path.join(os.path.dirname(__file__), 'commands')

class MyCLI(click.MultiCommand):

    def list_commands(self, ctx):
        rv = []  # 命令名稱列表
        for filename in os.listdir(plugin_folder):
            if filename.endswith('.py'):
                rv.append(filename[:-3])
        rv.sort()
        return rv

    def get_command(self, ctx, name):
        ns = {}
        fn = os.path.join(plugin_folder, name + '.py')  # 命令對應的 Python 文件
        with open(fn) as f:
            code = compile(f.read(), fn, 'exec')
            eval(code, ns, ns)
        return ns['cli']

cli = MyCLI(help='This tool\'s subcommands are loaded from a '
            'plugin folder dynamically.')

# 等價方式是通過 click.command 裝飾器,指定 cls=MyCLI
# @click.command(cls=MyCLI)
# def cli():
#     pass

if __name__ == '__main__':
    cli()

2.5 合併命令組/多命令

當有多個命令組,每個命令組中有一些命令,你想把所有的命令合併在一個集合中時,click.CommandCollection 就派上了用場:


@click.group()
def cli1():
    pass

@cli1.command()
def cmd1():
    """Command on cli1"""

@click.group()
def cli2():
    pass

@cli2.command()
def cmd2():
    """Command on cli2"""

cli = click.CommandCollection(sources=[cli1, cli2])

if __name__ == '__main__':
    cli()

調用命令有:

$ cli --help
Usage: cli [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  cmd1  Command on cli1
  cmd2  Command on cli2

從上面的示例可以看出,cmd1cmd2 分別屬於 cli1cli2,通過 click.CommandCollection 可以將這些子命令合併在一起,將其能力提供個同一個命令程序。

Tips:如果多個命令組中定義了同樣的子命令,那麼取第一個命令組中的子命令。

2.6 鏈式命令組/多命令

有時單級子命令可能滿足不了你的需求,你甚至希望能有多級子命令。典型地,setuptools 包中就支持多級/鏈式子命令: setup.py sdist bdist_wheel upload。在 click 3.0 之後,實現鏈式命令組變得非常簡單,只需在 click.group 中指定 chain=True

@click.group(chain=True)
def cli():
    pass


@cli.command('sdist')
def sdist():
    click.echo('sdist called')


@cli.command('bdist_wheel')
def bdist_wheel():
    click.echo('bdist_wheel called')

調用命令則有:

$ setup.py sdist bdist_wheel
sdist called
bdist_wheel called

2.7 命令組/多命令管道

鏈式命令組中一個常見的場景就是實現管道,這樣在上一個命令處理好后,可將結果傳給下一個命令處理。

實現命令組管道的要點是讓每個命令返回一個處理函數,然後編寫一個總的管道調度函數(並由 MultiCommand.resultcallback() 裝飾):

@click.group(chain=True, invoke_without_command=True)
@click.option('-i', '--input', type=click.File('r'))
def cli(input):
    pass

@cli.resultcallback()
def process_pipeline(processors, input):
    iterator = (x.rstrip('\r\n') for x in input)
    for processor in processors:
        iterator = processor(iterator)
    for item in iterator:
        click.echo(item)

@cli.command('uppercase')
def make_uppercase():
    def processor(iterator):
        for line in iterator:
            yield line.upper()
    return processor

@cli.command('lowercase')
def make_lowercase():
    def processor(iterator):
        for line in iterator:
            yield line.lower()
    return processor

@cli.command('strip')
def make_strip():
    def processor(iterator):
        for line in iterator:
            yield line.strip()
    return processor

在上面的示例中:

  • cli 定義為了鏈式命令組,並且指定 invoke_without_command=True,也就意味着可以不傳子命令來觸發命令組
  • 定義了三個命令處理函數,分別對應 uppercaselowercasestrip 命令
  • 在管道調度函數 process_pipeline 中,將輸入 input 變成生成器,然後調用處理函數(實際輸入幾個命令,就有幾個處理函數)進行處理

2.8 覆蓋默認值

默認情況下,參數的默認值是從通過裝飾器參數 default 定義。我們還可以通過 Context.default_map 上下文字典來覆蓋默認值:

@click.group()
def cli():
    pass

@cli.command()
@click.option('--port', default=8000)
def runserver(port):
    click.echo('Serving on http://127.0.0.1:%d/' % port)

if __name__ == '__main__':
    cli(default_map={
        'runserver': {
            'port': 5000
        }
    })

在上面的示例中,通過在 cli 中指定 default_map 變可覆蓋命令(一級鍵)的選項(二級鍵)默認值(二級鍵的值)。

我們還可以在 click.group 中指定 context_settings 來達到同樣的目的:


CONTEXT_SETTINGS = dict(
    default_map={'runserver': {'port': 5000}}
)

@click.group(context_settings=CONTEXT_SETTINGS)
def cli():
    pass

@cli.command()
@click.option('--port', default=8000)
def runserver(port):
    click.echo('Serving on http://127.0.0.1:%d/' % port)

if __name__ == '__main__':
    cli()

調用命令則有:

$ cli runserver
Serving on http://127.0.0.1:5000/

三、總結

本文首先介紹了命令的回調調用、上下文,再進一步介紹命令組的自定義、合併、鏈接、管道等功能,了解到了 click 的強大。而命令組中更加高階的能力()則可看官方文檔進一步了解。

我們通過介紹 click 的參數、選項和命令已經能夠完全實現命令行程序的所有功能。而 click 還為我們提供了許多錦上添花的功能,比如實用工具、參數自動補全等,我們將在下節詳細介紹。

『講解開源項目系列』——讓對開源項目感興趣的人不再畏懼、讓開源項目的發起者不再孤單。跟着我們的文章,你會發現編程的樂趣、使用和發現參与開源項目如此簡單。歡迎留言聯繫我們、加入我們,讓更多人愛上開源、貢獻開源~

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

分類
發燒車訊

嚇人!在浴池洗浴竟會感染梅毒?很多人都不知情…

  本文專家:田靖博士,南部戰區疾病預防控制中心,主治醫師

  我們都知道艾滋病很可怕,得了基本上就需要終生抗爭。

  最近,僅次於艾滋病的第二大性接觸疾病——梅毒,突然成了微博上最熱門的話題。

  某知名企業創始人稱自己“在浴池洗浴感染梅毒,打了 6 天針后治癒”。


微博截圖

  先是洗浴感染梅毒驚呆眾網友,只要在公共中心泡過澡、游過泳的都表示瑟瑟發抖。

  還有對 6 天治癒梅毒表示疑問,畢竟我們所知的梅毒是比較可怕的。

  那泡澡到底會不會感染梅毒?梅毒究竟該如何治癒?我們就網友關心的這些問題科普一下。

  洗浴、游泳真會感染梅毒嗎?

  梅毒螺旋體(Treponema pallidum,TP)又稱為蒼白螺旋體,是造成感染梅毒的“罪魁禍首”。

  目前全球每年約有 1200 萬新發梅毒病例,我國梅毒發病率呈上升趨勢。

  梅毒的感染途徑有——

  1、血液傳播和性接觸傳播

  梅毒螺旋體僅可以感染人類,血液傳播和性接觸傳播是主要途徑。95% 以上的感染者通過危險的無保護的性行為感染,而男同性戀人群中的梅毒感染率近年來急劇上升。

  2、母嬰傳播。梅毒可以通過垂直傳播途徑,由感染梅毒的母親傳染給新生兒。

  梅毒螺旋體病毒感染人類需要具備一定的病毒載量,在某些特殊條件下才能發生,如通過性接觸直接接觸梅毒感染者的創面或者血液傳播,同時也取決於被感染者的身體狀況等。

  因此,常規使用公共設施和出入公共場所,如游泳池游泳、接觸馬桶墊、共用餐具、衣物接觸等情況都不會感染梅毒。

  並且游泳池中的水通常含有漂白粉等消毒劑,不適合淋球菌、梅毒螺旋體等性病病原體存活。所以,去正規的游泳館不存在感染梅毒的可能性。

  梅毒有什麼危害?

  按照《梅毒診斷標準》(WS273-2018),根據梅毒感染的不同階段以及出現癥狀的差異可以將梅毒分為I期、II 期、III 期、胎傳和隱形梅毒。

  I 期~III 期梅毒對於患者的損害是不同的,能造成——

  1. 硬下疳、腹股溝或患部近位淋巴結腫大;
  2. 多個部位的瀰漫性皮損,最終造成頭面部以及四肢產生結節性梅毒疹;
  3. 關節出現結節;
  4. 皮膚、口腔、舌咽出現樹膠腫;
  5. 產生骨梅毒、眼梅毒、心血管梅毒、神經梅毒和其他內臟梅毒等。

  胎傳:所有未經有效治療的梅毒母親所生的嬰兒可能感染胎傳梅毒,根據發病時間分為早期胎傳梅毒、晚期胎傳梅毒和隱性胎傳梅毒。

  隱形梅毒:無臨床癥狀與體征的隱性梅毒患者,仍然具有傳染性,部分病人可以發生晚期損害。

  晚期梅毒可導致不可逆的心血管損傷和中樞系統損害,嚴重者可導致死亡。

  中樞神經系統的梅毒感染可以發生在疾病的任何時期,病程越長、精神癥狀越嚴重。

  此外,梅毒與艾滋病常常是一對“好兄弟”。在感染艾滋病的患者中,大約有 42.8% 的患者都曾感染梅毒。

  梅毒感染會造成皮膚破損,增加體液中 CD4+ 細胞的數量,為 HIV 的感染提供更多的靶細胞,促進 HIV 的傳播,因此從這個意義上來說,感染梅毒是艾滋病的“幫凶”。

  梅毒真能 6 天治癒嗎?

  不一定!

  因為涉及個人體質、治療抗生素的使用方案及青霉素是否過敏等問題,治療周期和結果都會因人而已,最重要是嚴格遵循醫囑和臨床檢查結果。

  因此,治癒的時間根據選擇藥物和患者的病情來確定,不能簡單用時間判斷!

  感染梅毒該如何治療?

  青霉素是治療梅毒的首選藥物之一,對病原菌的細胞壁生成進行抑制 , 從而降低抗原反應素,可短期改善認知功能。青霉素過敏者可採用紅黴素治療。

  多西環素是非青霉素的一種,及早治療血清轉陰率可達 83%-100%,成為當前治療早期梅毒(梅毒螺旋體感染<2 年,II 期早期梅毒)的主要手段。

  頭孢曲松鈉及苄星青霉素聯合治療梅毒比單一用藥效果好。

  不過,抗生素治療僅對免疫系統正常的患者有效。當患者產生梅毒血清抵抗時,單獨使用青霉素,無論增加劑量還是延長治療時間,都對患者無效。

  梅毒治療后,15%~41% 的患者可能形成梅毒血清固定,使用免疫調節劑再治療梅毒血清固定患者有一定的效果,但存在爭議。

  所以,治療梅毒需要嚴格遵循醫囑,才能達到有效治癒。

  此外,還要保持健康良好的生活方式,防止不安全的性行為。

 

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理【其他文章推薦】

※帶您來了解什麼是 USB CONNECTOR  ?

※自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

分類
發燒車訊

國家電網預計將於2020年6月前全面實現即插即沖新技術

  作者:JoJo

  【TechWeb】10 月 27 日,近日,國網電動汽車服務有限公司發布了充電服務創新模式“車電服務包”。國網電動汽車公司總經理沈建新表示,國網電動汽車公司將加大車聯網的規模,擴大平台充電樁的數量。同時,國網電動汽車公司將在半年內實現“即插即充、無感支付”在公共場站、專用場站、私人充電樁業務場景全覆蓋,加速布局主要城市充電網絡。

  該措施首先是提供主機廠車電包服務範圍內場景全覆蓋、布局更密集的充電設施服務網絡。 國網目前已建成 9 萬自營充電樁,其中高功率直流快充 6.5 萬根。對此,沈建新表示,未來還將引入更多社會資源,擴大充電樁規模,保證主要城市充電站布點半徑不超過 500 米,同一站點充電等候不超過 30 分鐘,確保充電服務套餐用戶實現區域內充電暢行。

  其次,是加快即插即充、無感支付新技術全覆蓋。2020 年 6 月前,通過技術升級及硬件改造,國網電動汽車公司將完成國網系統充電樁全面支持即插即充,新投入車聯網平台的充電樁全部滿足“即插即充、無感支付”要求,實現“充綠色電,比加油更方便”。

  此次發布的“車電服務包”是與四家車企聯合推出與新車綁定銷售的充電產品,用戶一次付費購買“車電服務包”並綁定車輛后,即可在國網充電樁上享受“即插即充、無感支付”。電動汽車插入充電槍后,充電過程不需要人為干預,自動完成認證、充電啟動、充電停止以及訂單生成與結算,實現了車、樁、網、能源的泛在互聯與高效互動,是國家電網公司泛在電力物聯網建設的典型終端。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想要讓你的商品成為最夯、最多人討論的話題?網頁設計公司讓你強力曝光

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

分類
發燒車訊

挪威嘗試無線電動車充電,面臨雞生蛋、蛋生雞問題

電動車最讓傳統內燃機汽車車主心生疑慮的地方,就是電池續航力不如油箱裡的油讓人安心,半路沒電了,即使來到充電站,不像加油很快就能加滿,充電需要充上好一陣子。為了解決這個電動車發展的障礙,北歐人想到一個好點子,那就是讓電動車可以在馬路上、譬如等紅燈的時候,就能無線充電,這樣電力生生不息,就不怕沒電啦!點子雖好,測試卻遇上了巨大的障礙。

芬蘭國營電力公司芬電(Fortum)原本於 2019 年 3 月時,宣布與挪威首都奧斯陸以及美國公司動量動力(Momentum Dynamics)合作,要嘗試打造 75 千瓦(kilowatt)的無線快速充電基礎設施,初步目標是放在計程車上,因為計程車司機時間就是金錢,不想在充電樁慢慢等充電,但是行駛的里程又較一般車輛更長,不過計程車常會在車站、旅館等處排隊等客,這個等客人的時間,正好用來無線充電。

尤其是北歐國家為了空氣污染等因素鼓勵電動車計程車,以奧斯陸來說,規劃 2023 年要達到計程車「零排放」,也就是要全電動車化,這種基礎設施就更需要了。奧斯陸市積極想發展無線充電技術以說服計程車司機都改為全電動車,因為雖然挪威是全球電動車滲透率最高的國家,但計程車司機仍然大多繼續使用舊的燃油汽車,其中一大原因就是不願意等待充電時間。

奧斯陸市打算先在車站的計程車等客排隊處的路面建設無線充電系統,讓計程車一邊等客一邊充電,當計程車先一步測試無線充電成功,之後,就能推廣到所有車輛,讓每輛電動車都能利用路邊停車時無線充電,或等紅燈時無線充電,再也不用擔心充電問題。

芬電的無線充電系統將由動量動力來製造,設計上只要車輛停到預設的充電處,就可以開始無線充電,系統並內建金屬感應器,以免有鐵鋁罐不小心滾到車底,在無線充電的電磁作用下變熱而發生危險,另外動量動力也計劃安裝生物組織感應器,以免小孩或貓跑到車底受到電磁波影響,目前該系統的充電效率達 94%,與插電充電相差無幾,系統造價則約比傳統充電樁貴上 20%,每個充電點造價 3 萬歐元。不過,成本還不是最大的問題。

計畫仍在紙上談兵階段,將延遲到 2020 年

這個點子就理論上很好,不料執行面卻遇上嚴重問題,導致至今一事無成,問題出在哪?這是個傳統的雞生蛋、蛋生雞問題,那就是:想要無線充電,需要兩方面配合,一方面路面要建立無線充電的基礎建設,這部分奧斯陸市雖然正在計劃進行,但是另一方面,車廠也要打造出能無線充電的電動車,兩方配合才能實現無線充電。但是,沒有基礎建設,車廠打造無線充電車毫無意義,而沒有相對應能無線充電的車,建設基礎建設也毫無意義。

計劃合作的各方找遍了無數車廠,雖然車廠的興趣蠻高,但是相對於要在電動車上添加無線充電模組,這個無線充電模組又只能先在奧斯陸試用,在其他地方是廢鐵一塊,車廠現在的注意力比較著重於如何更順利量產現有電動車之上,尤其是要降低成本,在這個大方向上,要車廠增加成本去添加無線充電模組,可說背道而馳。

這下計畫遇到了困難,要是沒車可適用,打造基礎設施又有何意義呢?當然可以用現有車輛改造,但那就失去前期測試的意義,因為芬電希望測試結果能很快擴散到其他城市,因此使用量產車來測試才有意義。於是計畫只能繼續在紙上談兵階段,目前初步將延遲到 2020 年春季。

奧斯陸市的進行意願仍然很高,無線充電計程車的測試要何時才能開始進行,就得看車廠方面何時能抽出注意力來思考未來車款的無線充電規劃問題了。

(合作媒體:。首圖來源:)

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※帶您來了解什麼是 USB CONNECTOR  ?

平板收購,iphone手機收購,二手筆電回收,二手iphone收購-全台皆可收購

※自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

分類
發燒車訊

中子星合併產生的重元素鍶首次被確認

  科技日報記者 劉霞

  2017 年,科學家首次探測到兩顆中子星合併產生的引力波,引發科學界一片狂歡,但故事並沒有結束!研究人員在最新一期《自然》雜誌撰文稱,他們對這次合併產生的數據進行重新分析,首次確認重元素鍶來自於這場合併。證實宇宙中較重的元素可以在中子星合併中產生。

  據物理學家組織網 24 日報道,2017 年,在探測到中子星合併產生的引力波后,歐洲南方天文台將包括甚大望遠鏡(VLT)在內的多個望遠鏡指向了震源:名為“GW170817”的中子星合併事件。天文學家們懷疑,如果在中子星碰撞中確實形成了更重的元素,這些元素的“蛛絲馬跡”會在合併產生的爆炸殘骸——巨新星內“現形”。現在,他們藉助 VLT 上的X-shooter 光譜儀首次證實了這一點。

  自上世紀 50 年代以來,天文學家一直在研究製造元素的物理過程。幾十年內,除了“漏網之魚”鍶之外,他們發現了每個主要放射性元素在太空中形成的位置:普通恆星、超新星爆發、古老恆星的外層等,但一直未曾發現創造出更重元素的過程——快速中子捕獲的發生位置。

  在快速中子捕獲過程中,原子核足夠快地捕獲中子,使極重元素被製造出來。儘管許多元素是在恆星的內核產生的,但要製造出比鐵更重的元素(比如鍶),則需要擁有更多自由中子的更高溫環境。快速中子捕獲僅在原子被大量中子轟擊的極端環境中發生。

  研究主要作者、丹麥哥本哈根大學的達拉赫·沃森說:“通過重新分析 2017 年合併后的數據,我們確定了鍶的特徵,證明了中子星合併在宇宙中創造了這一元素。”在地球上,鍶存在於土壤中,並集中於某些礦物質中,鍶鹽可使煙花呈現出絢爛的紅色。

  馬克斯·普朗克天文學研究所的卡米拉·朱爾·漢森表示:“這是我們首次將通過中子捕獲形成的新物質與中子星合併直接聯繫在一起,證實了中子星由中子構成,並將快速中子捕獲過程與這種合併聯繫在一起。”

  GW170817 事件是對引力波的第五次證明,“幕後功臣”是美國的激光干涉儀引力波天文台(LIGO)和意大利的“室女座”引力波干涉儀。這次合併發生於星系 NGC 4993 中,是第一個、也是迄今唯一一個被地球上的望遠鏡探測到的引力波源。

  研究人員稱,最新研究表明,藉助 LIGO、“室女座”和 VLT,我們對中子星的內部運作及其爆炸性合併有最清晰的了解。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理【其他文章推薦】

收購3c,收購IPHONE,收購蘋果電腦-詳細收購流程一覽表

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

※公開收購3c價格,不怕被賤賣!

※自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

分類
發燒車訊

古老!八千年前珍珠被發現

  科技日報訊 (記者劉霞)據美國趣味科學網站 24 日報道,考古學家在阿布扎比海岸附近的馬拉瓦島上發現了一顆古老的天然珍珠,他們表示,這是迄今世界上最古老的天然珍珠,這顆珍珠可以追溯到 8000 年前的新石器時代,表明在那個時候珍珠貿易就已經存在。

  這顆古老的天然珍珠被稱為“阿布扎比珍珠”(Abu Dhabi Pearl),顏色為誘人的淡粉色,長約 0.3 厘米。阿布扎比文化與旅遊部的一份聲明稱,這顆珍珠在新石器時代遺址的一層中發現,這一遺址可追溯到公元前 5800 年到公元前 5600 年,這一珍珠因此也成為迄今世界上最古老的珍珠。

  阿布扎比文化和旅遊部考古調查處所長阿卜杜拉·哈爾凡·阿爾-卡比亞比在該部門官方推特帳戶上發布的視頻中說:“考古遺址中存在珍珠,這證明珍珠貿易至少可以追溯到新石器時代。”

  新石器時代是考古學家設定的一個時間區段,大約從一萬多年前開始,結束時間從距今 5000 多年至 2000 多年。

  該新石器時代遺址由坍塌的石頭結構組成,最早於 1992 年發現。考古學家們也在那裡發現了許多人工製品,包括燧石箭頭、珠子和陶瓷等。此外,由於此地點位於一個島上,因此發現的許多文物,例如魚、烏龜、海豚、海牛和牡蠣的骨頭等,都與大海有關。阿爾-卡比亞比說:“這個時期的人們對大海非常熟悉,並認為大海已經成為他們日常生活的重要組成部分。”

  該聲明說,甚至在幾個世紀之後,在上世紀 30 年代之前,潜水捕撈珍珠一直是該地區的重要活動,是阿拉伯聯合酋長國重要的經濟推動力。

  據悉,這顆“阿布扎比珍珠”將在盧浮宮阿布扎比博物館即將舉行的名為“一萬年的奢侈品”展覽中首次展出。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理【其他文章推薦】

收購3c,收購IPHONE,收購蘋果電腦-詳細收購流程一覽表

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

※公開收購3c價格,不怕被賤賣!

※自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

分類
發燒車訊

福特看好電動化商機,今年將於歐洲推 8 款電動車

福特汽車公司(Ford Motor Co.)10 日在德國法蘭克福車展上宣布,預計今年將在歐洲市場推出 8 款電動車,藉此推動實現在 2022 年底前以電動車作為銷售主力的目標。

路透社週二報導,隨著歐盟將於 2020 年實施更嚴格的汽車碳排限制,全球各大汽車製造商競相加速削減二氧化碳排放量。根據歐盟規定,車商的新車平均二氧化碳排放量必須限制在每公里95克以下,否則每銷售 1 輛新車將罰款 95 歐元。

福特即將引進歐洲的車款包括電動版 Kuga、Puma 休旅車及 Mondeo Sedan 房車,並計劃在 2024 年之前,在歐洲另外推出9款電動車,包括 2020 年推出向 Mustang 致敬的電動越野運動休旅車。此外,福特還表示,該公司將與歐洲六家領先業界的能源供應商合作,提供家用壁掛式充電站安裝服務。

為降低開發和製造成本,今年 7 月福特宣布與福斯集團(Volkswagen)合作,共同開發自動駕駛和電動車技術。福斯也宣布斥資 31 億美元投資福特旗下自動駕駛子公司 Argo AI,並藉由共用福斯自家開發的 MEB 電動車模組化平台,實現高達 200 億美元營收。

福特看好歐洲電動車市場龐大商機,預計該公司的電動車銷量將在 2022 年前超越汽油及柴油車,屆時銷量可達到 100 萬輛。

《華爾街日報》、《金融時報》等外媒報導,穆迪投資者服務公司(Moody’s Investors Service)週一將福特的債券評級從「Baa3」降至「Ba1」,理由是福特正在進行冗長且昂貴的重組計畫,導致現金流和營業利益率(Operating Profit Margin)低於該機構預期。

(本文內容由 授權使用。首圖來源: CC BY-SA 2.0)

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※帶您來了解什麼是 USB CONNECTOR  ?

平板收購,iphone手機收購,二手筆電回收,二手iphone收購-全台皆可收購

※自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

分類
發燒車訊

如何才能探測到蟲洞?恆星怪異擺動暴露蟲洞位置


蟲洞示意圖

  新浪科技訊,北京時間 10 月 28 日消息,據國外媒體報道,一項新研究指出,恆星怪異的擺動行為可能會暴露蟲洞的位置,如果這些傳說中時空隧道真實存在的話。

  蟲洞是科幻小說中長盛不衰的主題。多年來,在許多故事、書籍和電影中,主人公都以蟲洞作為宇宙中的捷徑,穿梭於相隔遙遠的星球之間。根據愛因斯坦的廣義相對論,蟲洞的存在是有可能的,但從來沒有人證實過。

  這項新研究提供了一種對蟲洞進行試探性偵測的可能方法,那就是尋找微小但奇怪的恆星運動。“如果有兩顆恆星分別位於蟲洞的兩側,那在我們這一側的恆星應該能感受到另一側恆星的引力影響,“研究作者之一、紐約州立大學布法羅分校的宇宙學家和物理學教授德揚·斯托伊科維奇(Dejan Stojkovic)在一份聲明中說,“引力流會穿過蟲洞。”

  蟲洞需要時空的極度扭曲,這反過來又依賴於非常強大的引力。因此,想要尋找蟲洞,最好的去處很可能在星系核心的超大質量黑洞附近。比如銀河系中心的人馬座A*(Sagittarius A*),這個超大質量黑洞擁有相當於 400 萬個太陽的質量。

  斯托伊科維奇說:“如果你繪製出人馬座 A *周圍某顆恆星的預期軌道,當那裡存在蟲洞,且蟲洞另一側又有一顆恆星時,你應該就會看到恆星出現偏離軌道的情況。”

  他還指出,目前的觀測技術還不夠靈敏,無法進行這樣的探測。但在未來的 10 年或 20 年裡,隨着儀器設備的進步,以及對合適的目標恆星(如環繞人馬座A*的 S2)進行長期監測,我們或許就能實現這一目標。

  當然,我們還不能太過激動。即使未來天文學家能進行這樣的探測,也不一定就能得到確定的結果。“當我們達到觀測所需的精度時,如果檢測到了 S2 恆星軌道的擾動,那我們可能會說,蟲洞是可能性最高的解釋,”斯托伊科維奇說,“但是,我們還不能說這絕對是一個蟲洞。可能有其他的解釋,或許蟲洞這一側有其他東西干擾了這顆恆星的運動。”

  斯托伊科維奇還表示,對於太空探索而言,前景並沒有我們想象的那麼樂觀:蟲洞旅行很可能在很長一段時間內只是一個科幻夢想。“即使蟲洞可以穿越,人類和宇宙飛船也很可能無法通過,”他說,“實際上,你需要一個負能量來源來保持蟲洞的打開狀態。我們不知道該怎麼做。要創造一個巨大的穩定蟲洞,你可能需要一些魔法。”

  這項新研究的第一作者是中國揚州大學的戴德昌教授,他和斯托伊科維奇的這篇論文發表在本月早些時候的《物理評論D》(Physical Review D)雜誌上。

  什麼是蟲洞理論?


蟲洞可能具有兩個開口,由一個通道連接。開口很可能是球狀的,而通道可能是一條直線,但也可能彎彎繞繞,比常規路徑更長

  蟲洞理論假設,存在一個理論上的時空通道,可以為穿越宇宙的長途旅行創造捷徑。蟲洞由愛因斯坦的廣義相對論預言,又稱愛因斯坦-羅森橋。不過需要小心的是,在穿越蟲洞時也可能遭遇突然崩塌、高劑量輻射和有害外來物質的危險。

  蟲洞理論最早於 1916 年提出,但當時還不叫這個名稱。奧地利物理學家路德維希·弗萊姆(Ludwig Flamm)回顧了另一位物理學家對愛因斯坦廣義相對論中方程組的解,意識到還有另一種可能。他描述了一種“白洞”——理論上與黑洞的時間反轉。黑洞和白洞的入口都可以通過時空通道連接。

  1935 年,愛因斯坦和物理學家納森·羅森(Nathan Rosen)利用廣義相對論詳細闡述了這一觀點,提出時空中存在某種“橋樑”。這些橋樑連接着時空中兩個不同的點,理論上創造了一條可以縮短旅行時間和距離的捷徑。這些捷徑後來被稱為“愛因斯坦-羅森橋”或“蟲洞”。

  “在這一點上,整個理論都只是假設,”美國俄勒岡大學的理論物理學教授 Stephen Hsu 說,“我們不可能很快就找到蟲洞。”蟲洞可能具有兩個開口,由一個通道連接。開口很可能是球狀的,而通道可能是一條直線,但也可能彎彎繞繞,比常規路徑更長。

  愛因斯坦的廣義相對論從數學上預測了蟲洞的存在,但迄今為止還沒有發現蟲洞。有科學家認為,我們或許可以通過觀察經過蟲洞的光線所受到的引力影響,來發現一個負質量的蟲洞。在廣義相對論的某些解中,蟲洞不僅可以存在,而且每個蟲洞的開口都是一個黑洞。然而,自然形成的黑洞由垂死的恆星坍縮而成,其本身並不產生蟲洞。

  穿越蟲洞

  科幻小說中充滿了穿越蟲洞的故事。但是,蟲洞旅行的實際情況可能要複雜得多,這不僅僅是因為我們還沒有發現蟲洞。

  第一個問題是蟲洞的規模。據預測,原始蟲洞可以在微小的尺度上存在,大約 10 到 33 厘米。然而,隨着宇宙的膨脹,有一些蟲洞可能被拉伸到更大的尺寸。另一個問題是穩定性。預測中的愛因斯坦-羅森蟲洞會很快坍塌,因此對星際旅行毫無用處。

  “我們需要一些非常特別的物質來穩定蟲洞,”Stephen Hsu 說,“但現在還不清楚宇宙中是否存在這樣的物質。”

  不過,近年的研究發現,含有“外來”物質的蟲洞可能保持開啟和不變的時間更長。這裏所說的“外來”物質不應與暗物質或反物質相混淆,它們具有負能量密度和大的負壓。這種物質只在某些真空態的行為中被視為量子場論的一部分。

  如果一個蟲洞包含了足夠的外來物質(無論是自然產生的還是人工添加的),理論上都可以作為發送信息或太空旅行的方式。不幸的是,人類在這種時空隧道中的旅行很可能面臨巨大的挑戰。“現在還沒有定論,所以我們並不知道,”研究相對論、黑洞和蟲洞的著名物理學家基普·索恩(Kip Thorne)說,“但有很強的跡象表明,可以讓人類通過的蟲洞在物理定律上是不可能的。這很悲劇,很不幸,但這就是事情的發展方向。”

  蟲洞不僅可能連接宇宙中兩個獨立的區域,還可能連接兩個不同的宇宙。一些科學家猜想,如果蟲洞的一個開口以特定的方式移動,那或許能讓時間旅行成為可能。

  “你可以通過可穿越的蟲洞進入未來或過去,”天體物理學家埃里克·戴維斯(Eric Davis)說,“但這並不容易,把蟲洞變成時間機器需要付出巨大的努力。要弄出一個蟲洞本來就夠難的。”

  然而,已故的英國宇宙學家斯蒂芬·霍金認為,這種利用蟲洞的方式是不可能的。美國宇航局的埃里克·克里斯蒂安則寫道:“蟲洞並不是回到過去的一種方式,而是一條近路,使那些遙遠的東西變得離我們更近。”

  儘管在蟲洞中加入外來物質可能會使其變得穩定,直到人類可以安全通過的程度,但也有另一種可能是,加入“常規”物質會破壞入口的穩定。即使能找到蟲洞,今天的技術也不足以使其擴大或穩定。當然,科學家將繼續探索這一概念,希望終有一天能利用其作為太空旅行的一種方式。“你需要一些超級先進的技術,”Stephen Hsu 說,“在很長一段時間內,人類都無法做到這些。”(任天)

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理【其他文章推薦】

收購3c,收購IPHONE,收購蘋果電腦-詳細收購流程一覽表

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※廣告預算用在刀口上,網站設計公司幫您達到更多曝光效益

※公開收購3c價格,不怕被賤賣!

※自行創業 缺乏曝光? 下一步"網站設計"幫您第一時間規劃公司的門面形象