重慶銅梁大力發展龍舞 舞出脫貧“一條龍”_台中搬家公司

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

  重慶市銅梁區太平鎮坪漆村村民王述珍在給龍燈上彩。
  趙武強攝

  今年過年,重慶市銅梁區高樓鎮卻有些冷清,回家的車子不多,外出的村民卻不少。這是為什麼?

  原來,很多鎮里人都在外面過年。“我有10多年沒有在家過年了,兒子、女兒和親戚們都跟我出去舞龍,西安、淄博,還有深圳的歡樂谷,我都去過。”高樓村村民李詩敏是一名舞龍帶頭人,年近七十,他收拾行裝,準備再次外出。

  銅梁是全國龍燈藝術之鄉,龍燈產品的扎制已有近千年歷史。2006年,銅梁龍舞被列入首批國家級非物質文化遺產名錄。近年來,銅梁大力發展龍舞,形成了演藝表演、龍燈製作和文化旅遊等“一條龍”產業,將這項非物質文化遺產發揚光大,還帶動了脫貧攻堅。

  在高樓鎮,像李詩敏一樣舞龍的村民大約有500名,他們每支隊伍30多人,在節日、慶典時受邀到各地演出,正常情況下,一名村民每年能賺3萬多元。

  與高樓鎮相比,太平鎮就熱鬧不少。龍燈扎制進入“龍忙”時節,扎制場訂單不斷,生意紅火。車間里,擺放着各式各樣的龍燈產品,扎龍藝人正在忙碌,有的編扎彩龍,有的扎制龍燈,有的在龍燈上進行彩繪。

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

  “年底了,我們的訂單多了起來,一直要忙到元宵節。”龍燈非遺傳承人周建說,訂單來自好幾個省市,每條龍燈價格從2000多元到10多萬元不等。一般情況下,周建每年要賣出500多條龍燈。

  在龍燈產業的帶領下,當地村民也在脫貧致富。“做這個很方便,我可以拿回家裡,有空的時候就做。”坪漆村建檔立卡貧困戶王述珍在農閑期間製作龍燈,每年增收1萬多元,順利脫了貧。

  坪漆村是銅梁龍燈的發祥地之一。2018年底,村裡建立龍燈彩扎基地,成立彩扎專業合作社,採取“公司+專業合作社+農戶”模式,組織村民開展龍燈彩扎技術培訓,參与龍燈扎制,讓村民在家門口掙錢,吃上非遺飯。現在,這樣的龍燈彩扎基地一共有8個,其中4個設在市級貧困村。

  名氣大了,龍舞還帶動了旅游業發展。銅梁龍舞先後參加了北京奧運會開幕式、上海世博會、北京世園會等國內重大慶典活動,並遠赴30多個國家和地區開展交流。尤其是2019年國慶期間,身長60米的巨龍在天安門廣場中心表演區飛舞翻騰,銅梁龍舞獲得了更大的關注。

  為繼續挖掘龍舞產業潛力,銅梁去年舉辦了首屆龍燈藝術節,掀起了龍燈旅遊熱潮,吸引遊客400餘萬人次,實現旅遊收入12.5億元,助力脫貧攻堅,提升了銅梁的美譽度。

  今年元旦,第二屆龍燈藝術節舉辦,現場人頭攢動,熙熙攘攘。慕名而來的遊客越來越多,到銅梁看龍舞成了重慶旅遊的一張新名片。

  “我們要做好‘龍’文章,抬起文旅‘龍頭’,辦好一個節會、傳承一批技藝、發展一類產業、致富一方群眾。”銅梁區文旅委主任劉艷說,目前,銅梁龍舞文化產業直接經濟效益近億元,有力促進了銅梁農村地區脫貧攻堅。

本站聲明:網站內容來http://www.societynews.cn/html/wh/fq/,如有侵權,請聯繫我們,我們將及時處理

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

販售僅兩週! 蘋果iPhone 12成為全球5G手機銷量冠軍_台中搬家公司

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

蘋果今年新款iPhone 12系列手機,分別在今年10月、11月上市。而由於其中每款手機都支援5G頻段,這也讓iPhone 12系列手機問世之後,隨即攻佔5G手機銷售寶座。現在就有市場調查機構資料顯示,iPhone 12 系列手機在上市兩周後,就成為全球最熱銷的5G手機。

根據《Counterpoint Research》最新一份調查報告顯示,iPhone 12與iPhone 12 Pro在10月上市之後,僅靠兩周的銷量就拿下該月份的銷售冠軍,銷售量分別是16%與8%,而這兩支手機的銷量,也占據了該月份5G手機全球銷量的四分之一。

或許有人說這是新機優勢,剛上市本來就會賣得比較好。但該報告中也把iPhone 12與iPhone 12 Pro的銷量拿去與2020年1至10月的5G手機銷量做比較,在整體銷售排行榜中,iPhone 12單憑10月的兩周銷量,就拿下該排行榜的第7名,由此可見iPhone 12超誇張的銷售結果。

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

報告中分析,iPhone 12之所以會有這麼強勁的銷售成果,主要是因為消費者對5G開始好奇、需求開始提升。而且全球各大電信業者都針對iPhone 12推出促銷活動,而透過促銷活動所販售的iPhone 12 與 iPhone 12 Pro 就占當月美國銷量的33%以上,其中也包含了許多電信商推出的零元電信配套方案。

而且相較於部分Android品牌的5G手機,發展上有一些地域性的限制,iPhone歷來都在全球140多個國家販售,市場覆蓋層面比起任何一家Android手機廠商還要更廣,因此可以在初期取得極佳的銷售成績。

您也許會喜歡:

【推爆】終身$0月租 打電話只要1元/分

立達合法徵信社-讓您安心的選擇

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

日產零零“汽”廢車場金蟬脫殼!靠得竟是黑科技_台中搬家公司

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

(上回精彩請戳《日產零零“汽”驚覺神秘內鬼。調查之行危機四伏》)生死關頭,屌絲特工是如何利用座駕的黑科技破解危機。而零零汽又將會獲取什麼關鍵線索。

上一話中,零零汽追蹤內鬼光頭仔,

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

希望獲取進一步的破案情報。

不過,在追逐途中,屌絲特工和李香菜卻遭遇敵人反跟蹤,危在旦夕。

(上回精彩請戳《日產零零“汽”驚覺神秘內鬼!調查之行危機四伏》)

生死關頭,屌絲特工是如何利用座駕的黑科技破解危機?

而零零汽又將會獲取什麼關鍵線索?

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

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

Azure AD(三)知識補充-Azure資源的託管標識_台中搬家公司

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

一,引言

  來個慣例,吹水!

  前一周因為考試,還有個人的私事,一下子差點頹廢了。想了想,寫博客這種的東西還是得堅持,再忙,也要檢查。要養成一種習慣,同時這也是自我約束的一種形式。雖然說不能浪費大量時間在刷朋友圈,看自媒體的新聞,看一些營銷號的視頻等等,不喜勿噴啊,這是我個人的一些觀念,也沒有帶認識眼光啊!好了,廢話不多說,在此先立個Flag,

  1,保證每周輸出一片文章。

  2,開始堅持每周4次的5公里跑步。

好了,開始今天的分析

————————————我是分割線————————————

  之前有個章節講到Azure AD的一些基礎概念,以及Azure AD究竟可以用來做什麼?,還講了講如何在我們的項目中集成Azure AD 保護我們的API資源!講了這些,其實遠遠不夠,AD里裏面還有好多概念性的知識,同時也是在其他模塊中有使用到的,就比如什麼叫“託管標識”,託管標識又分為“系統託管標識”和“用戶託管標識”;什麼叫“服務主體”,它又能幹什麼,和Azure又有什麼關係?好的,那麼今天就帶着這些問題,我們來剖析,探個究竟!。

二,正文

1,“什麼是託管標識”

  • 客戶端ID:Azure AD 生成的唯一標識符,在其初始預配期間與應用程序和服務主體綁定。
  • 主體 ID – 託管標識的服務主體對象的對象 ID,用於授予對 Azure 資源的基於角色的訪問權限。
  • Azure 實例元數據服務 (IMDS) – 一個 REST 終結點(url鏈接),可供通過 Azure 資源管理器創建的所有 IaaS VM 使用。 

2,託管標識分為兩種類型:

  • 系統分配託管標識:直接在 Azure 服務實例上啟用。 啟用標識后,Azure 將在實例的訂閱信任的 Azure AD 租戶中創建實例的標識。 創建標識后,系統會將憑據預配到實例。 系統分配標識的生命周期直接綁定到啟用它的 Azure 服務實例。 如果實例遭刪除,Azure 會自動清理 Azure AD 中的憑據和標識。
  • 用戶分配託管標識:是作為獨立的 Azure 資源創建的。 在創建過程中,Azure 會在由所用訂閱信任的 Azure AD 租戶中創建一個標識。 在創建標識后,可以將標識分配到一個或多個 Azure 服務實例。 用戶分配標識的生命周期與它所分配到的 Azure 服務實例的生命周期是分開管理的。

下圖演示了託管服務標識如何與 Azure 虛擬機 (VM) 協同工作:

3,系統分配託管標識如何與 Azure VM 協同工作

  1. Azure 資源管理器收到請求,要求在 VM 上啟用系統分配託管標識。(圖1)

  2. Azure 資源管理器在 Azure AD 中創建與 VM 標識相對應的服務主體。 服務主體在此訂閱信任的 Azure AD 租戶中創建。

  3. Azure 資源管理器通過使用服務主體客戶端 ID 和證書更新 Azure 實例元數據服務標識終結點來配置 VM 上的標識。

  4. VM 有了標識以後,請根據服務主體信息向 VM 授予對 Azure 資源的訪問權限。 若要調用 Azure 資源管理器,請在 Azure AD 中使用基於角色的訪問控制 (RBAC) 向 VM 服務主體分配相應的角色。 若要調用 Key Vault,請授予代碼對 Key Vault 中特定機密或密鑰的訪問權限。

  5. 在 VM 上運行的代碼可以從只能從 VM 中訪問的 Azure 實例元數據服務終結點請求令牌:http://169.254.169.254/metadata/identity/oauth2/token

    • resource 參數指定了要向其發送令牌的服務。 若要向 Azure 資源管理器進行身份驗證,請使用 resource=https://management.azure.com/
    • API 版本參數指定 IMDS 版本,請使用 api-version=2018-02-01 或更高版本。
  6. 調用了 Azure AD,以便使用在步驟 3 中配置的客戶端 ID 和證書請求訪問令牌(在步驟 5 中指定)。 Azure AD 返回 JSON Web 令牌 (JWT) 訪問令牌。

  7. 代碼在調用支持 Azure AD 身份驗證的服務時發送訪問令牌。

4,用戶分配託管標識如何與 Azure VM 協同工作

  1. Azure 資源管理器收到請求,要求創建用戶分配託管標識。

  2. Azure 資源管理器在 Azure AD 中創建與用戶分配託管標識相對應的服務主體。 服務主體在此訂閱信任的 Azure AD 租戶中創建。

  3. Azure 資源管理器收到在 VM 上配置用戶分配的託管標識的請求,並使用用戶分配的託管標識服務主體客戶端 ID 和證書更新 Azure 實例元數據服務標識終結點。

  4. 創建用戶分配託管標識以後,請根據服務主體信息向標識授予對 Azure 資源的訪問權限。 若要調用 Azure 資源管理器,請在 Azure AD 中使用 RBAC 向用戶分配標識的服務主體分配相應的角色。 若要調用 Key Vault,請授予代碼對 Key Vault 中特定機密或密鑰的訪問權限。

     備註

    也可在步驟 3 之前執行此步驟。

  5. 在 VM 上運行的代碼可以從只能從 VM 中訪問的 Azure 實例元數據服務標識終結點請求令牌:http://169.254.169.254/metadata/identity/oauth2/token

    • resource 參數指定了要向其發送令牌的服務。 若要向 Azure 資源管理器進行身份驗證,請使用 resource=https://management.azure.com/
    • 客戶端 ID 參數指定為其請求令牌的標識。 當單台 VM 上有多個用戶分配的標識時,此值是消除歧義所必需的。
    • API 版本參數指定 Azure 實例元數據服務版本。 請使用 api-version=2018-02-01 或指定更高的版本。
  6. 調用了 Azure AD,以便使用在步驟 3 中配置的客戶端 ID 和證書請求訪問令牌(在步驟 5 中指定)。 Azure AD 返回 JSON Web 令牌 (JWT) 訪問令牌。

  7. 代碼在調用支持 Azure AD 身份驗證的服務時發送訪問令牌。

 稍後會提示

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

 注意,此時在AD的應用註冊頁面是找不到剛剛註冊的應用的,只有在給Azure 資源分配託管標識去訪問Azure資源管理器時,可以搜索到。我這裡是提前創建了是一個vm資源,也就是使用vm系統分配的託管標識訪問Azure Key Vault。簡而言之,Azure Key Vault作為密鑰保管庫,Key Vault 隨後可讓客戶端應用程序使用機密訪問未受 Azure Active Directory (AD) 保護的資源。 託管服務標識由 Azure 自動管理,可用於向支持 Azure AD 身份驗證的服務進行身份驗證,這樣就無需在代碼中插入憑據了。

但是Azure中資源和資源之間是相互隔離的,不能夠相互訪問。

所以,我們需要開啟vm的系統分配的託管標識,然後再key vault 中開啟 vm的訪問策略。如下所示

添加 “vm001” 對 “key vault” 的訪問策略

 

 

 創建 “機密” 信息

 

 

名稱輸入:conn;值輸入 123 ,點擊“創建”,

然後使用ssh 登陸剛剛創建好的vm001上,獲取訪問 “key vault” 的 “access_token” 

在終端窗口中,使用 CURL 向 Azure 資源終結點的本地託管標識發出請求,以獲取 Azure Key Vault 的訪問令牌

世紀互聯版
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fvault.azure.cn' -H Metadata:true
全球版
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fvault.azure.net' -H Metadata:true  

 

 可以使用此訪問令牌對 Azure Key Vault 進行身份驗證。  下一個 CURL 請求显示如何使用 CURL 和 Key Vault REST API 從 Key Vault 讀取密鑰。  將需要 Key Vault 的 URL,該 URL 位於 Key Vault 的“概述” 頁的“軟件包” 部分。  另外,還需要在前面的調用中獲取的訪問令牌

curl https://<YOUR-KEY-VAULT-URL>/secrets/<secret-name>?api-version=2016-10-01 -H "Authorization: Bearer <ACCESS TOKEN>"

通過在請求頭添加Bearer認證,獲取key vault 中剛剛創建的機密信息  名稱 “conn”,值 “123”

bingo,成功的拿到密鑰。開啟系統分配的託管標識,其實就是授予例如 Azure VM資源的託管標識對另外一個Azure 資源的訪問權限。

三,結尾

今天的文章大概介紹了 Azure系統的託管標識到底是個什麼東西,可以用來干什麼,這裏不僅僅可以去 VM 訪問 “key Vault”,還可以訪問 “Azure 存儲”,“Azure Cosmos DB”等,都是同樣的道理。

下一篇開始講解一下關於用戶自己分配的託管標識,已經作一下演示,同時演示使用用戶分配的託管身份運行應用程序。

版權:轉載請在文章明顯位置註明作者及出處。如發現錯誤,歡迎批評指正。

作者:Allen 

版權:轉載請在文章明顯位置註明作者及出處。如發現錯誤,歡迎批評指正。

,

版權:轉載請在文章明顯位置註明作者及出處。如發現錯誤,歡迎批評指正。

,

版權:轉載請在文章明顯位置註明作者及出處。如發現錯誤,歡迎批評指正。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

汽機車「聲音照相」科技執法懶人包_台中搬家公司

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

為改善高噪音車輛擾寧問題,環保署推動「聲音照相」科技執法來抓汽、機車噪音車,35套系統預計已經在2021年元旦於18個縣市正式上路。環保署「聲音照相」科技執法首日,各縣市都有斬獲,其中又以新北市首日就告發221台車輛噪音超標戰果輝煌。

環保署「聲音照相」科技執法是什麼? 目前有哪些路段開始實施「聲音照相」科技執法? 以下作一整理與說明:

掌握最新電信資費訊息,請加入小丰子3C俱樂部粉絲頁!

小丰子3C俱樂部

 

針對高噪音車輛擾寧問題,目前採搭配攔查檢測或通知車主到指定地點進行原地噪音量測,但偶有碰到在路上很吵但原地噪音卻合格的狀況加上攔查檢測非常耗人力物力,有鑑於此,環保署特參考超速照相執法模式,推動聲音照相直接開罰措施,並完成「機動車輛行駛噪音量測方法-影像輔助法」、「機動車輛噪音管制標準」及「使用中機動車輛噪音管制辦法」等三項法規修訂工作,在聲音照相都已符合目前檢測標準在精密度和準確度的相關規定下,「聲音照相」科技執法已經在2021年1月1日公告正式上路,違規可處新臺幣1800元至3600元。

 

以下針對環保署「聲音照相」執法的方式與全台執法熱點地段做一整理:

1.環保署「聲音照相」科技執法是什麼?
「聲音照相」是透過噪音照相系統(設備包含噪音計、風速計、魚眼攝影機、車牌辨識攝影機、控制箱體…),來紀錄行經車輛產生的噪音是否超標的系統。只要行經檢測地點產生的噪音超標準,照相機就會「聽音」”喀擦”一聲拍下車牌,改裝機車噪音也能「聽音」拍下車牌。

 

為避免環境噪音影響「聲音照相」執法結果,針對由聲音照相系統紀錄到的噪音超標行為,經背景音修正、比對前後三秒確認排除環境干擾、且氣候為無雨、風速小於5m/s者,作為噪音是否超標的判定標準。

 

若行車產生的噪音超標,各地環保局就會根據噪音管制法第26條以不當操駕進行開罰;若從照片中辨認使用非原廠或認證排氣管等違法改裝者,地方環保局將再要求到檢與限期改善。

 

環保署表示:「聲音照相」執法是從受體保護(民眾)角度出發,以「抓吵」為原則,車輛只要沒有過度不當改裝或刻意製造噪音的操駕行為,不會有超標的疑慮,駕駛人只要配合「順順騎、順順開,油門輕、不怕拍」,並不用擔憂受罰!

 

2.開罰標準:

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

開罰的標準為:速限50km/h路段,不得超過86分貝;速限50~70km/h路段,不得超過90分貝。至於速限70km/h以上路段,大多離人口密集處較遠,噪音影響相對小,目前未納入「聲音拍照」科技執法範圍。只要噪音超標,不當操駕的超標車輛將以《噪音管制法》開罰1800至3600元罰鍰,不當改造車輛也將限期改

 

不過, 執行公務車輛、非機動車輛自身設備產生的聲音及多車同時經過會被排除。

 

3.「聲音照相」執法有哪些路段?

環保署表示目前35套「聲音照相」系統已經在2021年元旦於18個縣市正式上路。「聲音照相」系統分成「固定式高噪音車輛偵測攝影系統」與「移動式聲音照相系統」,前者主要固定架設在民眾陳情熱區之特定路段設置以長期監視取締;後者則採非定時、非定點,於民眾常陳情噪音車輛出沒之熱區,執行機動性聲音照相取締工作。

 

在「聲音照相」執法路段,在架設點前方100公尺至300公尺間,會設置「前有聲音照相 請降低音量行駛」的告示牌,提醒汽機車駕駛。

 

以下是已知各縣市重點取締汽機車噪音的路段與取締熱點,請習慣故意發出吵雜聲音的汽機車主,看好自己的荷包!

Note: 以上資訊純供參考,實際熱點以各地方環保局公告為準

 

整體而言,環保署推動的「聲音照相」科技執法主要是針對一些違法改裝的車主及故意不當操駕的跑車或大型重型機車車主而來,對於正常行駛的汽、機車車主基本上是沒有影響的。有了這項可以取締故意製造噪音的科技,對於經常身受車輛排氣管高分貝的音量打擾的民眾將是一大福音。

 

您也許會喜歡:

【推爆】終身$0月租 打電話只要1元/分

立達合法徵信社-讓您安心的選擇

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

Postman+Newman+Git+Jenkins接口自動化測試_台中搬家公司

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

一、Postman

   1、創建Collection,在Collection中創建接口請求,如下圖所示。

   2、編寫接口對應的斷言Test和Pre-request Script,如下圖所示。

   3、配置接口對應的環境變量或全局變量。

   4、導出接口集合Collection和導出對應接口的環境變量,導出生成的是JSON文件。

  如下圖所示,導出生成的接口集合和環境變量JOSN文件

  如大家對以上Postman的操作疑惑的,可參考之前我寫過的Postman(一)兩篇博客。

 二、Newman

 1、簡介

  newman是Postman的命令集合運行器,可以通過它直接從命令行運行和測試Postman,以便後續在持續集成服務器構建。

  Newman 是 Postman 推出的一個 nodejs 庫,直接來說就是 Postman 的json文件可以在命令行執行的插件。

  官方文檔:https://www.npmjs.com/package/newman

2、安裝

  淘寶鏡像全局安裝newman的命令:

1 npm install -g newman --registry=https://registry.npm.taobao.org

   安裝成功,如下圖所示,显示newman成功安裝好的版本號。

   驗證newman是否安裝成功,查看newman版本號命令:newman -version

 3、常用Newman語法

  列舉一些常用的Newman命令語法。

1、運行命令 newman run URL連接   或   newman run 集合文件名
2、-e,- environment <path>    指定Postman環境的URL或路徑。
3、-g,–globals    指定全局變量的文件地址或url 
4、-d,—-iteration-data   指定用於迭代的數據源文件路徑
5、-n,–iteration-count     指定迭代次數
6、–export-globals     導出全局環境變量
7、–timeout (ms)     設置整個集合運行完成執行的時間
8、–export-collection     導出集合文件
9、–timeport-request (ms)    指定等待請求返迴響應的時間
10、–timeout-script (ms)    指定等待腳本執行完成的時間

  我們可通過cmd終端查看newman run運行時可以所帶的相關參數。newman run -h查看所有相關參數語法,如下圖所示。

 4、Newman實例

  該newman run命令允許您指定要運行的集合。您可以輕鬆地從Postman App中將Postman Collection導出為json文件,並使用Newman運行它。

1 newman run examples/sample-collection.json

  例:運行Postman導出的接口集合及環境變量,打開cmd,定位至Json文件目錄,輸入newman運行命令。

1 newman run Test.postman_collection.json -e mukeOnline.postman_environment.json

  run運行接口集合的命令,-e 帶入接口集合的環境變量

  我們在cmd終端定位至接口集合和環境變量的JSON文件目錄,運行命令行結果如下圖:

 

   由上面的運行可看出在cmd終端運行的結果不太方便測試人員的查看與測試報告的形成。那麼我們如何利用newman命令來生成輸出測試報告文件?

指定測試報告的導出格式:目前支持四種格式:cli,json,html,junit

  –reporter-{{reporter-name}}-{{reporter-option}}

支持同時導出多種測試報告格式

  JSON –reporter-json-export <path>

  HTML –reporter-html-export <path>

  JUNIT/XML –reporter-junit-export <path>

  我們還拿上面的集合和環境變量來舉例,生成HTML報告時需要安裝html套件,命令行中執行:

1 npm install -g newman-reporter-html --registry=https://registry.npm.taobao.org

  安裝newman-reporter-html,如下圖

   運行命令,即可在文件目錄下查看生成的HTML文件形式的測試報告。

1 newman run Test.postman_collection.json -e mukeOnline.postman_environment.json -r html --reporter-html-export report.html

  生成的HTML測試報告文件,如下圖所示。

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

  我們可以看出用上面HTML生成的報告樣式比較簡單,怎麼讓我們的報告顯得高大上呢?那麼我們就得使用Htmlextra套件

  首先安裝使用htmlextra套件生成比較高級的html報告,使用方法和html的相同,需要安裝htmlextra,命令行中輸入:

1 npm install -g newman-reporter-htmlextra

  安裝成功,如下圖所示。

   我們把上面的接口集合用例再執行一下,看看這個測試報告的效果如何。newman運行命令如下。

1 newman run Test.postman_collection.json -e mukeOnline.postman_environment.json -r htmlextra --reporter-html-export htmlReport.html

  測試報告結果如下圖,可看出報告的樣式比之前好多了。

三、Git

  下載GitExtensions和Git,將Postman導出的json文件上傳至github上,拉取下來可進行迭代。這裏不過多說明,可自行查找資料。

 四、Jenkins

1、簡介

  Jenkins是一個開源的、可擴展的持續集成、交付、部署(軟件/代碼的編譯、打包、部署)的基於web界面的平台。允許持續集成和持續交付項目,無論用的是什麼平台,可以處理任何類型的構建或持續集成。

2、安裝

  下載Jenkins:https://www.jenkins.io/download/,下載后並安裝。

  安裝時出現的問題:

(1)問題一:注意安裝Jenkins之前先安裝tomcat和Java jdk,否進入不了Jenkins頁面。當安裝好tomcat和java jdk后,Jenkins頁面仍卡着不動。

  解決方法:查看並修改配置文件設置,重啟tomcat服務。進入Jenkins根目錄,打開hudson.model.UpdateCenter.xml文件,將文件中的url,修改為http://updates.jenkins.io/update-center.json,即去掉https中的s或更改為

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json,修改好后,重新啟動tomcat服務即可。

(2)問題二:進入Jenkins頁面,到配置安裝組件時,出現No such plugin: cloudbees-folder的報錯。

  解決方法:打開鏈接“http://ftp.icm.edu.pl/packages/jenkins/plugins/cloudbees-folder/”,在最下面找到並打開“latest”目錄。將目錄中的“cloudbees-folder.hpi”下載下來後放在“jenkins安裝目錄\war\WEB-INF\detached-plugins”文件夾中。在“控制面板-管理工具-服務”中找到“jenkins”服務,重啟服務,重啟tomcat服務。重新訪問http://localhost:8080/即可。

 

3、Jenkins配置Git與newman

  新建Item,選擇Freestyle project

  任務的Git地址、證書與分支的相關配置

  設置構建newman運行命令

1 newman run Test.postman_collection.json -e mukeOnline.postman_environment.json

   設置好后保存,點擊Build Now

   生成構建結果

   構建後生成Junit報告,Git上新建空xml文件,nweman運行命令指向該xml文件。構建前運行命令修改為

newman run Test.postman_collection.json -e mukeOnline.postman_environment.json -r junit --reporter-junit-export newman\xmlReport.xml

  運行結果測試報告可在Test Result中可查看。

 

   設置定時任務

  Build periodically 每天上午10點構建一次  H 10 * * *,如下圖所示。

  以上就是簡單說明了一下Postman+Newman+Git+Jenkins接口自動化測試的設計與執行。後期有待優化與完善,請各位看官多多指教。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

種子包裹也攻佔日本!部分種子「疑被處理過」_台中搬家公司

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

摘錄自2020年8月3日東森新聞報導

繼美國與加拿大之後,日本也有許多人收到來自中國的不明種子包裹,日本國民生活中心陸續收到關於「可疑包裹」的諮詢,農林水產省呼籲,民眾不要種植來路不明的種子,應馬上與相關單位聯絡。

據《朝日新聞》報導,日本國民生活中心接到數起關於「種子包裹」的詢問,包裹上貼有「中國郵政」字樣的紙條,沒有寄件人的姓名或相關資料,但收件人的地址、姓名以及手機號碼卻正確地寫在資訊欄中。

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

神奈川縣三浦市的一名老翁於7月28日收到來自中國的包裹,寄件地址上只寫了來自「廣東省深圳市」,內容物是100顆不明種子,原想種植看看,最後改為向市公所通報。

日本農林水產省檢驗後,發現其中一些是蔥的種子,但這些種子上可能會附著「有害生物」,希望民眾在收到立刻向有關單位通報,千萬別種在花園裡,也別胡亂丟棄,否則有可能釀成生態危機。

生物多樣性
國際新聞
日本
種子

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

爆料大神釋出 OPPO Find X3 Pro 首批高清晰官方渲染圖_台中搬家公司

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

在昨(12)日 OPPO 在台灣推出 Reno5 和 Reno5 Pro 之後,接下來 OPPO 傳聞首款搭載高通 Snapdragon 888 處理器的 OPPO Find X3 Pro 也由爆料大神 Evan Blass(@evleaks)在稍早於 Voice 釋出了首批高清晰官方渲染圖。與之前謠傳 Find X3 Pro 主相機外型設計與 iPhone 12 Pro 鏡頭排列有些類似,不過機身後蓋採一體成型設計呈現更流線的機身線條。

▲圖片來源:Evan Blass(Voice/@evleaks)

爆料大神釋出 OPPO Find X3 Pro 首批高清晰官方渲染圖

在去年 11 月,爆料大神  Evan Blass 首次提及關於將搭載高通 Snapdragon 888 處理器的 OPPO Find X3 Pro(代號:Fussi),同時也提到相機部份 Find X3 Pro 將配備 5,000 萬像素四鏡頭主相機,其中標準鏡頭和超廣角鏡頭都將採用 SONY 全新的感光元件,此外也具備 1,300 萬像素 2x 望遠鏡頭以及 300 萬像素微距鏡頭。
在外觀方面,之前我們曾分享過來自 TheLeaks 製作的 OPPO Find X3 Pro 渲染圖,不過隨後 DuanRui 等人則提到該張渲染圖的「方向正確」但外型並非如此,並暗示 Find X2 Pro 的主相機鏡頭排列位置和 iPhone 12 Pro 有些雷同、但不一樣。

在稍早,也由爆料大神 Evan Blass 釋出 Find X3 Pro 的首批官方渲染圖,作為 2021 年首款 OPPO 旗艦級手機, Find X3 Pro 在主機身背面的設計將有著帶有「駝峰」隆起的四鏡頭主相機設計,鏡頭除了傳聞將有兩顆鏡頭採用 SONY 兩個尚未發表的 5000 萬像素感光元件、其中也將包含 25 倍變焦的顯微鏡微距鏡頭。

▲圖片來源:Evan Blass(Voice/@evleaks)

螢幕方面, Find X3 系列不僅將是首款搭載 OPPO 「全鏈路色彩管理系統」的機型,這套系統是一套基於硬體所開發的色彩管理系統,該色彩管理系統擁有兩大核心技術,全鏈路 10-bit 及色彩管理,能夠大幅度提升色彩採集的豐富度,在顯示環節則能讓畫質更加清晰且更精準的還原顯示圖像色彩。
OPPO Find X3 Pro 預計採用 6.7 吋 2K 解析度具有自適應調整的 120Hz 更新率螢幕(支援 10Hz – 120Hz 可變螢幕更新率),同時螢幕也支持 HDR10+ 。
外型設計部分,除了在 Find X3 Pro 螢幕則預計採用雙曲面螢幕、機身厚度為 8mm 、重量控制在 190g ,機身背面材質提供霧面陶瓷與拋光玻璃兩種材質。

▲圖片來源:Evan Blass(Voice/@evleaks)

另外,傳聞 Find X3 Pro 將搭載等效 4500mAh 大電池,預計採用 65W SuperVOOC 3.0 超級閃充和 30W Air VOOC 無線快充。
OPPO Find X3 Pro 預計搭載高通 Snapdragon 888 處理器,之前 i冰宇宙在微博上傳一張 OPPO 型號 PEEM00 裝置安兔兔跑分達 771,491 分,這成績在目前看來雖然已經不是最高(黑鯊遊戲手機4 的「實驗室」跑分更高),但傳聞這項 77.1 萬的安兔兔性能跑分是在一般環境下進行測試,如果再調整一下可能屆時正式發表性能會再更強大。

▲圖片來源:i冰宇宙(微博)

除了 OPPO Find X3 Pro , Find X3 系列也傳聞將推出 Find X3 Neo 、 Find X3 Lite 等多款機型,其中在部分市場或將推出的 Find X3 Lite 其實就是 Reno5 ,而昨日 OPPO Reno5 和 Reno5 Pro 也剛在台灣發表並開放預購。

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

消息來源:Evan Blass(Voice/@evleaks)|Evan Blass(Twitter/@evleaks)|DuanRai(Twitter/@duanrui1205)

延伸閱讀:
Redmi K40 系列 S888 旗艦新機確定將於 2 月發表,官方提前公布售價約 12,912 元起

POCO M3 即將在台發表:6000mAh 超大電量,規格重點搶先看!

您也許會喜歡:

【推爆】終身$0月租 打電話只要1元/分

立達合法徵信社-讓您安心的選擇

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

【Java8新特性】重複註解與類型註解,你真的學會了嗎?_如何寫文案

※教你寫出一流的銷售文案?

銷售文案是什麼?A文案是廣告用的文字。舉凡任何宣傳、行銷、販賣商品時所用到的文字都是文案。在網路時代,文案成為行銷中最重要的宣傳方式,好的文案可節省大量宣傳資源,達成行銷目的。

寫在前面

在Java8之前,在某個類或者方法,字段或者參數上標註註解時,同一個註解只能標註一次。但是在Java8中,新增了重複註解和類型註解,也就是說,從Java8開始,支持在某個類或者方法,字段或者參數上標註多個相同的註解。那麼,有讀者就會問了:如何實現呢?別急,往下看!文中不只是Java8中的註解。

JDK5中的註解

1.註解(@)

註解就相當於一種標記,在程序中加了註解就等於為程序加了某種標記。(JDK1.5新特性)。

2.作用

告訴javac編譯器或者java開發工具……向其傳遞某種信息,作為一個標記。

3.如何理解註解?

一個註解就是一個類。

標記可以加在包、類、字段、方法,方法參數以及局部變量上。可以同時存在多個註解。

每一個註解結尾都沒有“;”或者其他特別符號。

定義註解需要的基礎註解信息如下所示。

@SuppressWarnings("deprecation")  //編譯器警告過時(source階段)
@Deprecated						//過時(Runtime階段)
@Override						//重寫(source階段)
@Retention(RetentionPolicy.RUNTIME)	
//保留註解到程序運行時。(Runtime階段)
@Target({ElementType.METHOD,ElementType.TYPE})
//標記既能定義在方法上,又能定義在類、接口、枚舉上等。

注意:

1)添加註解需要有註解類。RetentionPolicy是一個枚舉類(有三個成員)。

2)Target中可以存放數組。它的默認值為任何元素。

  • ElementType.METHOD:表示只能標記在方法上。
  • ElementType.TYPE:表示只能標記定義在類上、接口上、枚舉上等

3)ElementType也是枚舉類。成員包括:ANNOTATION_TYPE(註解)、CONSTRUCTOR(構造方法)、FIEID(成員變量)、LOCAL_VARIABLE(變量)、METHOD(方法)、PACKAGE(包)、PARAMETER(參數)、TYPE。

4.關於註解

  • 元註解:註解的註解(理解:給一個註解類再加註解)
  • 元數據:數據的數據
  • 元信息:信息的信息

5.註解分為三個階段

java源文件–> class文件 –> 內存中的字節碼。

Retention的註解有三種取值:(分別對應註解的三個階段)

  • RetentionPolicy.SOURCE
  • RetentionPolicy.CLASS
  • RetentionPolicy.RUNTIME

注意:註解的默認階段是Class。

6.註解的屬性類型

原始類型(就是八個基本數據類型)、String類型、Class類型、數組類型、枚舉類型、註解類型。

7.為註解增加屬性

value:是一個特殊的屬性,若在設置值時只有一個value屬性需要設置或者其他屬性都採用默認值時 ,那麼value=可以省略,直接寫所設置的值即可。

例如:@SuppressWarnings("deprecation")

為屬性指定缺省值(默認值):
例如:String value() default "blue"; //定義在註解類中

數組類型的屬性:
例如:int[] arrayArr() default {3,4,5,5};//定義在註解類中
SunAnnotation(arrayArr={3,9,8}) //設置數組值
注意:如果數組屬性中只有一個元素時,屬性值部分可以省略大括號。
例如:SunAnnotation(arrayArr=9)

枚舉類型的屬性:
例如:EnumDemo.TrafficLamp lamp()
////枚舉類型屬性, 定義在註解類中,這裏使用了自定義的枚舉類EnumDemo.java並沒有給出相關代碼,這裏只是舉個例子
default EnumDemo.TrafficLamp.RED;

註解類型的屬性:
例如:MetaAnnotation annotationAttr()
//定義在一個註解類中,並指定缺省值,
//此屬性關聯到註解類:MetaAnnotation.java, 
default @MetaAnnotation("lhm");
//設置註解屬性值
@SunAnnotation(annotationAttr=@MetaAnnotation("flx"))

Java8中的註解

對於註解(也被稱做元數據),Java 8 主要有兩點改進:類型註解和重複註解。

1.類型註解

1)Java 8 的類型註解擴展了註解使用的範圍。

在java 8之前,註解只能是在聲明的地方所使用,java8開始,註解可以應用在任何地方。

例如:

創建類實例

new @Interned MyObject();

類型映射

myString = (@NonNull String) str;

implements 語句中

class UnmodifiableList<T> implements@Readonly List<@Readonly T> { ... }

throw exception聲明

void monitorTemperature() throws@Critical TemperatureException { ... }

注意:

在Java 8裏面,當類型轉化甚至分配新對象的時候,都可以在聲明變量或者參數的時候使用註解。
Java註解可以支持任意類型。

類型註解只是語法而不是語義,並不會影響java的編譯時間,加載時間,以及運行時間,也就是說,編譯成class文件的時候並不包含類型註解。

2)新增ElementType.TYPE_USE 和ElementType.TYPE_PARAMETER(在Target上)

新增的兩個註釋的程序元素類型 ElementType.TYPE_USE 和 ElementType.TYPE_PARAMETER用來描述註解的新場合。

  • ElementType.TYPE_PARAMETER 表示該註解能寫在類型變量的聲明語句中。
  • ElementType.TYPE_USE 表示該註解能寫在使用類型的任何語句中(例如:聲明語句、泛型和強制轉換語句中的類型)。

例如,下面的示例。

@Target({ElementType.TYPE_PARAMETER, ElementType.TYPE_USE})
@interface MyAnnotation {}

3)類型註解的作用

類型註解被用來支持在Java的程序中做強類型檢查。配合第三方插件工具Checker Framework(注:此插件so easy,這裏不介紹了),可以在編譯的時候檢測出runtime error(例如:UnsupportedOperationException; NumberFormatException;NullPointerException異常等都是runtime error),以提高代碼質量。這就是類型註解的作用。

注意:使用Checker Framework可以找到類型註解出現的地方並檢查。

※別再煩惱如何寫文案,掌握八大原則!

什麼是銷售文案服務?A就是幫你撰寫適合的廣告文案。當您需要販售商品、宣傳活動、建立個人品牌,撰寫廣告文案都是必須的工作。

例如下面的代碼。

import checkers.nullness.quals.*;
public class TestDemo{
    void sample() {
        @NonNull Object my = new Object();
    }
}

使用javac編譯上面的類:(當然若下載了Checker Framework插件就不需要這麼麻煩了)

javac -processor checkers.nullness.NullnessChecker TestDemo.java

上面編譯是通過的,但若修改代碼:

@NonNull Object my = null;

但若不想使用類型註解檢測出來錯誤,則不需要processor,正常javac TestDemo.java是可以通過編譯的,但是運行時會報 NullPointerException 異常。

為了能在編譯期間就自動檢查出這類異常,可以通過類型註解結合 Checker Framework 提前排查出來錯誤異常。

注意java 5,6,7版本是不支持註解@NonNull,但checker framework 有個向下兼容的解決方案,就是將類型註解@NonNull 用/**/註釋起來。

import checkers.nullness.quals.*;
public class TestDemo{
    void sample() {
        /*@NonNull*/ Object my = null;
    }
}

這樣javac編譯器就會忽略掉註釋塊,但用checker framework裏面的javac編譯器同樣能夠檢測出@NonNull錯誤。
通過 類型註解 + checker framework 可以在編譯時就找到runtime error。

2.重複註解

允許在同一聲明類型(類,屬性,或方法)上多次使用同一個註解。

Java8以前的版本使用註解有一個限制是相同的註解在同一位置只能使用一次,不能使用多次。

Java 8 引入了重複註解機制,這樣相同的註解可以在同一地方使用多次。重複註解機制本身必須用 @Repeatable 註解。

實際上,重複註解不是一個語言上的改變,只是編譯器層面的改動,技術層面仍然是一樣的。

例如,我們可以使用如下示例來具體對比Java8之前的版本和Java8中的註解。

1)自定義一個包裝類Hints註解用來放置一組具體的Hint註解

@interface MyHints {
    Hint[] value();
}
 
@Repeatable(MyHints.class)
@interface Hint {
    String value();
}

使用包裝類當容器來存多個註解(舊版本方法)

@MyHints({@Hint("hint1"), @Hint("hint2")})
class Person {}

使用多重註解(新方法)

@Hint("hint1")
@Hint("hint2")
class Person {}

2)完整類測試如下所示。

public class RepeatingAnnotations {
    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    public @interface Filters {
        Filter[] value();
    }
    
    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    @Repeatable(Filters.class)
    public @interface Filter {
        String value();
    }
    @Filter("filter1")
    @Filter("filter2")
    public interface Filterable {
    }
    public static void main(String[] args) {
        for (Filter filter : Filterable.class.getAnnotationsByType(Filter.class)) {
            System.out.println(filter.value());
        }
    }
}

輸出結果:

filter1
filter2

分析:

註釋Filter被@Repeatable( Filters.class )註釋。Filters 只是一個容器,它持有Filter, 編譯器儘力向程序員隱藏它的存在。通過這樣的方式,Filterable接口可以被Filter註釋兩次。

另外,反射的API提供一個新方法getAnnotationsByType() 來返回重複註釋的類型(注意Filterable.class.getAnnotation( Filters.class )將會返回編譯器注入的Filters實例。

3)java 8之前也有重複使用註解的解決方案,但可讀性不好。

public @interface MyAnnotation {  
     String role();  
}  
 
public @interface Annotations {  
    MyAnnotation[] value();  
}  
 
public class RepeatAnnotationUseOldVersion {  
    @Annotations({@MyAnnotation(role="Admin"),@MyAnnotation(role="Manager")})  
    public void doSomeThing(){  
    }  
}

Java8的實現方式(由另一個註解來存儲重複註解,在使用時候,用存儲註解Authorities來擴展重複註解),可讀性更強。

@Repeatable(Annotations.class) 
public @interface MyAnnotation {  
     String role();  
}  
 
public @interface Annotations {  
    MyAnnotation[] value();  
}  
 
public class RepeatAnnotationUseOldVersion {  
	@MyAnnotation(role="Admin")  
    @MyAnnotation(role="Manager")
    public void doSomeThing(){  
    }  
} 

什麼?沒看懂?那就再來一波!!!

Java8對註解的增強

Java 8對註解處理提供了兩點改進:可重複的註解及可用於類型的註解。總體來說,比較簡單,下面,我們就以實例的形式來說明Java8中的重複註解和類型註解。

首先,我們來定義一個註解類BingheAnnotation,如下所示。

package io.mykit.binghe.java8.annotition;

import java.lang.annotation.*;

/**
 * @author binghe
 * @version 1.0.0
 * @description 定義註解
 */
@Repeatable(BingheAnnotations.class)
@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.CONSTRUCTOR, ElementType.LOCAL_VARIABLE,ElementType.TYPE_PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
public @interface BingheAnnotation {
    String value();
}

注意:在BingheAnnotation註解類上比普通的註解多了一個@Repeatable(BingheAnnotations.class)註解,有小夥伴會問:這個是啥啊?這個就是Java8中定義可重複註解的關鍵,至於BingheAnnotations.class,大家別急,繼續往下看就明白了。

接下來,咱們定義一個BingheAnnotations註解類,如下所示。

package io.mykit.binghe.java8.annotation;

import java.lang.annotation.*;

/**
 * @author binghe
 * @version 1.0.0
 * @description 定義註解
 */
@Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.CONSTRUCTOR, ElementType.LOCAL_VARIABLE,ElementType.TYPE_PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
public @interface BingheAnnotations {
    BingheAnnotation[] value();
}

看到這裏,大家明白了吧!!沒錯,BingheAnnotations也是一個註解類,它相比於BingheAnnotation註解類來說,少了一個@Repeatable(BingheAnnotations.class)註解,也就是說,BingheAnnotations註解類的定義與普通的註解幾乎沒啥區別。值得注意的是,我們在BingheAnnotations註解類中,定義了一個BingheAnnotation註解類的數組,也就是說,在BingheAnnotations註解類中,包含有多個BingheAnnotation註解。所以,在BingheAnnotation註解類上指定@Repeatable(BingheAnnotations.class)來說明可以在類、字段、方法、參數、構造方法、參數上重複使用BingheAnnotation註解。

接下來,我們創建一個Binghe類,在Binghe類中定義一個init()方法,在init方法上,重複使用@BingheAnnotation註解指定相應的數據,如下所示。

package io.mykit.binghe.java8.annotation;

/**
 * @author binghe
 * @version 1.0.0
 * @description 測試註解
 */
@BingheAnnotation("binghe")
@BingheAnnotation("class")
public class Binghe {

    @BingheAnnotation("init")
    @BingheAnnotation("method")
    public void init(){

    }
}

到此,我們就可以測試重複註解了,創建類BingheAnnotationTest,對重複註解進行測試,如下所示。

package io.mykit.binghe.java8.annotation;

import java.lang.reflect.Method;
import java.util.Arrays;

/**
 * @author binghe
 * @version 1.0.0
 * @description 測試註解
 */
public class BingheAnnotationTest {

    public static void main(String[] args) throws NoSuchMethodException {
        Class<Binghe> clazz = Binghe.class;
        BingheAnnotation[] annotations = clazz.getAnnotationsByType(BingheAnnotation.class);
        System.out.println("類上的重複註解如下:");
        Arrays.stream(annotations).forEach((a) -> System.out.print(a.value() + " "));

        System.out.println();
        System.out.println("=============================");

        Method method = clazz.getMethod("init");
        annotations = method.getAnnotationsByType(BingheAnnotation.class);
        System.out.println("方法上的重複註解如下:");
        Arrays.stream(annotations).forEach((a) -> System.out.print(a.value() + " "));
    }
}

運行main()方法,輸出如下的結果信息。

類上的重複註解如下:
binghe class 
=============================
方法上的重複註解如下:
init method 

寫在最後

如果覺得文章對你有點幫助,請微信搜索並關注「 冰河技術 」微信公眾號,跟冰河學習Java8新特性。

最後,附上Java8新特性核心知識圖,祝大家在學習Java8新特性時少走彎路。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

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

擁有後台管理系統的網站,將擁有強大的資料管理與更新功能,幫助您隨時新增網站的內容並節省網站開發的成本。

Apple 再度開放 M1 Mac 用戶手動自行安裝 iPhone 或 iPad Apps,但時間可能不長_台中搬家

台中搬家遵守搬運三大原則,讓您的家具不再被破壞!

台中搬家公司推薦超過30年經驗,首選台中大展搬家

幾天前 Apple 突然將 M1 Mac 手動自行安裝 iPhone 或 iPad Apps 的通道關閉,可說讓很多用戶非常錯愕,畢竟現在依舊有非常多 Apps,尚未在 Mac App Store 上架。而好消息是,根據外媒稍早的實測,Apple 又再度悄悄開放這通道,原因是什麼不清楚,不過之後 Apple 也是有可能再次關閉,有需要的人請趕快安裝喔!

Apple 再度開放 M1 Mac 用戶手動自行安裝 iPhone 或 iPad Apps

稍早 9to5Mac 在文章中補充,Apple 又再度開放 M1 Mac 用戶手動自行安裝 iPhone 或 iPad Apps 的通道,意味著如果你想用的 Apps 尚未於 Mac App Store 上架,現在就能透過 iMazing 之類的軟體,從 iPhone 或 iPad 上抓出 IPA 檔,然後手動安裝到 M1 Mac 中。

關於這點 Apple Insider 也實測證實,目前確實可以再次運行,不過這兩間媒體都猜測,Apple 很可能只是短暫開放,未來沒多久搞不好又會再度關閉,對於有需要的人記得好好把握。

另外即便現在安裝好,Apple 也是有可能透過 macOS 更新之類,阻擋這些不是從 Mac App Store 安裝的 Apps,所以一切決定權還是在 Apple 身上,但至少你現在可以先享受到。

如果安裝過程中出現下圖的 “Unable To Install “Xbox” 視窗,那就代表 Apple 又再次將通道關閉了(圖片來源):

台中搬家公司費用怎麼算?

擁有20年純熟搬遷經驗,提供免費估價且流程透明更是5星評價的搬家公司

話說回來,我個人是蠻希望 Apple 持續開放這通道的,這真的帶來非常大自由性,變成有很多 Apps 可用,雖然支援度上有些可能會有問題,但把決定權交給用戶,相信應該沒有人會反對。

M1 Macbook 實測開箱影片:

資料來源:9to5Mac、Apple Insider

Apple 正在阻止 M1 Mac 設備用戶從非 APP Store 安裝應用程式

您也許會喜歡:

【推爆】終身$0月租 打電話只要1元/分

立達合法徵信社-讓您安心的選擇

台中搬家公司費用怎麼算?

擁有20年純熟搬遷經驗,提供免費估價且流程透明更是5星評價的搬家公司