西藏旅游市場(chǎng)隨春暖 特朗普逼美聯(lián)儲(chǔ)2選1 感謝IT之家網(wǎng)友 烏蠅哥的左手、華吳彥祖、肖割割 的線索投遞!IT之家 1 月 11 日消息,英特爾今正式發(fā)布了四代至強(qiáng)可展處理器(號(hào) Sapphire Rapids)和至強(qiáng) CPU Max 系列(代號(hào) Sapphire Rapids HBM),以及英特爾數(shù)據(jù)中 GPU Max 系列(代號(hào) Ponte Vecchio)。Sapphire Rapids 是英特爾首個(gè)基 Chiplet 設(shè)計(jì)的至強(qiáng)處理器包含 52 款 CPU,最多支持 60 核,采用?Intel 7 工藝制造,還支持 PCIe 5.0、DDR5 內(nèi)存和 CXL 1.1 接口(type 1 and 2 devices),提供最多 80 個(gè) PCIe 5.0 通道、最高支 1.5TB 的 DDR5-4800 內(nèi)存,TDP 最高達(dá)?350W。英特爾表示,市場(chǎng)上任何他數(shù)據(jù)中心理器不同,四代至強(qiáng)家極大地?cái)U(kuò)展英特爾專(zhuān)門(mén)建的工作負(fù)優(yōu)先戰(zhàn)略和法。與前幾產(chǎn)品相比,四代至強(qiáng)處器在使用內(nèi)加速器時(shí),標(biāo)工作負(fù)載平均性能每效率可提高 2.9 倍,在優(yōu)化的功模式下,每 CPU 可節(jié)省高達(dá) 70W 的功耗,同時(shí)將特工作負(fù)載的能損失降至低,總擁有本 (TCO) 可降低 52% 至 66%。此外,制造工藝面,英特爾四代至強(qiáng)處器在單個(gè)封上組合了多四個(gè) Intel 7 工藝的 tiles,使用英特爾 EMIB(嵌入式多芯片互連橋)封裝技術(shù)行連接。安方面,英特第四代至強(qiáng)稱(chēng)將提供業(yè)所有數(shù)據(jù)中芯片提供商最全面的機(jī)計(jì)算產(chǎn)品組。英特爾是一一家通過(guò)特爾軟件防擴(kuò)展(英特 SGX)為數(shù)據(jù)中心計(jì)提供應(yīng)用隔的芯片提供,該擴(kuò)展為有、公共和到邊緣環(huán)境的機(jī)密計(jì)算供了當(dāng)今最的攻擊范圍此外,英特的新型虛擬 (VM) 隔離技術(shù)英爾信任域擴(kuò) (英特爾 TDX)可將現(xiàn)有應(yīng)用移到機(jī)密環(huán)境,并將在微 Azure、阿里云、歌 Cloud 和 IBM Cloud 中首次亮相。IT之家了解到,英爾第四代志?Sapphire Rapids 處理器的起價(jià) 415 美元(當(dāng)前約 2814 元人民幣),高價(jià)為 17000 美元(當(dāng)前約 11.5 萬(wàn)元人民幣)。特爾表示,馬遜 AWS、思科、Cloudera、CoreWeave、戴爾科技、Dropbox、愛(ài)立信、富通、谷歌 Cloud、惠普、IBM Cloud、浪潮信息、IONOS、聯(lián)想、洛斯阿莫斯國(guó)家實(shí)室、微軟 Azure、英偉達(dá)、Oracle Cloud、OVHcloud、phoenixNAP、RedHat 紅帽、SAP、超微、Telefonica 和 VMware 等客戶和合作伙伴都將用第四代志處理器。此,英特爾宣將于 2 月 15 日推出其至強(qiáng) W3400 和 W2400 工作站系列處理器,對(duì) AMD 線程撕裂者 PRO 系列。英特爾至強(qiáng) W-x400 系列將包括提供多達(dá) 56 個(gè)核心、350W 功耗和 4.8 GHz 睿頻的版本,計(jì)劃推出支超頻的特殊 X 系列型號(hào)。不過(guò),英爾沒(méi)有透露強(qiáng) W-x400 系列的其他細(xì)節(jié),是確認(rèn)了兩至強(qiáng)產(chǎn)品線W-3400、W-2400 和即將推出的 W790 平臺(tái),將首次支持 PCIe 5.0 和 DDR5 內(nèi)存末山 感謝IT之家網(wǎng)友 肖戰(zhàn)割割 的線索投遞!IT之家 1 月 11 日消息,中影 CINITY 官方宣布,2023 春節(jié)檔的兩部大片《浪地球 2》和《滿江紅部分鏡頭采了?CINITY 高新技術(shù)格式的電標(biāo)準(zhǔn),CINITY 影廳將獨(dú)占這兩電影的?4K AMR 120 幀高清高幀率版本中影 CINITY 電影放映系統(tǒng)號(hào)創(chuàng)造性地融了 4K、3D、高亮度、高幀率、高態(tài)范圍、廣域、沉浸式音七大電影映領(lǐng)域的高技術(shù),可以電影畫(huà)面更晰、色彩更麗、影像更暢、細(xì)節(jié)更富、動(dòng)作更貫、聲音更真,讓觀眾受極致沉浸的觀影體驗(yàn)想嘗鮮高幀觀影的IT之家小伙伴可看看附近是有?CINITY 影廳。此外,定檔一檔的國(guó)產(chǎn)空電影《長(zhǎng)之王》也有 CINITY 獨(dú)占的 AMR 120 幀版本。電影《流浪地 2》圍繞《流浪地球》前傳故事展,觀眾熟悉劉培強(qiáng)回歸除了帶來(lái)他為航天員之的故事之外在這場(chǎng)危機(jī)中他對(duì)家人不舍與艱難擇也同時(shí)呈;而全新角圖恒宇除了一名工程師外,他義無(wú)顧欲將因意失去的女兒命,完整永于“數(shù)字生世界”的執(zhí)也面臨著未的挑戰(zhàn)。電《滿江紅》是張藝謀導(dǎo)的最新作品南宋紹興年,岳飛死后年,秦檜率與金國(guó)會(huì)談會(huì)談前夜,國(guó)使者死在相駐地,所密信也不翼飛。小兵張(沈騰 飾)與親兵營(yíng)副領(lǐng)孫均(易千璽 飾)機(jī)緣巧合被裹進(jìn)這巨大陰之中,宰相檜(雷佳音 飾)命兩人一個(gè)時(shí)辰之找到兇手。隨危機(jī)四伏深入調(diào)查,相府總管何(張譯 飾)、副總管武淳(岳云鵬 飾)、舞姬琴(王佳怡 飾)等人卷局中,案件背后似乎隱著一場(chǎng)更大陰謀。局中局、人心叵,一夜之間云變幻,各勢(shì)力暗流涌? 感謝IT之家網(wǎng)友 Savokiii、西南偏南、OLD_KING、旺仔北北、靜待繁華、kasiet、云浮千秋、航空先生、隨心遠(yuǎn)行""、派大星星、暗里有光、小亞、 的線索投遞!IT之家 1 月 6 日消息,特斯拉今日除公布全新 Model S 與 Model X 中國(guó)市場(chǎng)售價(jià)外,還宣布 Model 3 與 Model Y 迎來(lái)價(jià)格調(diào)整。其中,Model 3 后輪驅(qū)動(dòng)版 22.99 萬(wàn)元起售,Model Y 后輪驅(qū)動(dòng)版 25.99 萬(wàn)元起售。乘聯(lián)會(huì)數(shù)據(jù)顯示,2022 年特斯拉上海超級(jí)工廠全年交付超 71 萬(wàn)輛,同比增長(zhǎng) 48%。IT之家了解到,特斯拉稱(chēng) 2023 年將向更高目標(biāo)發(fā)起沖刺。具體來(lái)看,Model?3 包括后輪驅(qū)動(dòng)版(起售價(jià) 22.99 萬(wàn)元,此前補(bǔ)貼后起售價(jià)為 26.59 萬(wàn)元)和高性能版(起售價(jià)從 34.99 萬(wàn)元降至 32.99 萬(wàn)元)兩款車(chē)型。Model?3 后輪驅(qū)動(dòng)版(預(yù)計(jì)交付日期:1-4 周):CLTC 綜合工況續(xù)航里程為 556 公里,最高時(shí)速為 225 公里 / 時(shí),百公里加速為 6.1 秒。Model?3 高性能版(預(yù)計(jì)交付日期:1-4 周):CLTC 綜合工況續(xù)航里程為 675 公里,最高時(shí)速為 261 公里 / 時(shí),百公里加速為 3.3 秒。特斯拉 Model?Y 則包括后輪驅(qū)動(dòng)版(起售價(jià)從 28.89 萬(wàn)元降至 25.99 萬(wàn)元)、長(zhǎng)續(xù)航版(雙電機(jī)全輪動(dòng),起售價(jià)從 35.79 萬(wàn)元降至 30.99 萬(wàn)元)、高性能版(雙電機(jī)全輪驅(qū)動(dòng),起售價(jià) 39.79 萬(wàn)元降至 35.99 萬(wàn)元)三款車(chē)型。Model?Y 后輪驅(qū)動(dòng)版(預(yù)計(jì)交付日期:1-4 周):CLTC 綜合工況續(xù)航里程為 545 公里,最高時(shí)速為 217 公里 / 時(shí),百公里加速為 6.9 秒。Model?Y?長(zhǎng)續(xù)航版(預(yù)計(jì)交付日期:1-4 周):CLTC 綜合工況續(xù)航里程為 660 公里,最高時(shí)速為 217 公里 / 時(shí),百公里加速為 5.0 秒。Model?Y?高性能版(預(yù)計(jì)交付日期:1-4 周):CLTC 綜合工況續(xù)航里程為 615 公里,最高時(shí)速為 250 公里 / 時(shí),百公里加速為 3.7 秒。相關(guān)閱讀:《特斯拉 Model S / X 中國(guó)市場(chǎng)售價(jià)公布:78.99 萬(wàn)元起,可選配 Yoke 方向盤(pán)? 北京時(shí)間 1 月 5 日早間消息,據(jù)報(bào)道,當(dāng)?shù)?間周三,美國(guó)聯(lián)通信委員會(huì)(FCC)公布了一個(gè)擬議中的新政策,市面上越來(lái)越普的無(wú)人機(jī)提供需申請(qǐng)使用牌照的線電通信頻段,率位于 5G 赫茲頻段。目前,國(guó)的無(wú)人機(jī)一般用無(wú)需申請(qǐng)牌照無(wú)線電頻率范圍需要遵守通信委會(huì)有關(guān)低功率無(wú)通信的監(jiān)管規(guī)定也有的無(wú)人機(jī)使了試驗(yàn)性的無(wú)線頻譜牌照。除了述專(zhuān)門(mén)為無(wú)人機(jī)供 5G 赫茲頻譜資源的計(jì)白犬之,F(xiàn)CC 還宣布,對(duì)于目前的無(wú)電通信監(jiān)管制度否能夠確保無(wú)人和地面移動(dòng)通信時(shí)“無(wú)干擾”正運(yùn)行,將征集社意見(jiàn)建議。另外FCC 還提出另外一個(gè)擬議監(jiān)管度,即未來(lái)美國(guó)行無(wú)人機(jī)飛行的構(gòu),如果要和民空管機(jī)構(gòu)和其他航飛機(jī)進(jìn)行通信,無(wú)人機(jī)機(jī)構(gòu)需在民航使用的 VHF 頻段申請(qǐng)獲得無(wú)線電牌照強(qiáng)良FCC 主席杰西卡?羅森沃索爾(Jessica Rosenworcel)表示,隨著無(wú)人機(jī)化蛇新技術(shù)產(chǎn)品出現(xiàn),F(xiàn)CC 必須確保美國(guó)的無(wú)線電孟極率監(jiān)管系適應(yīng)新需求,監(jiān)管體系對(duì)于美災(zāi)難恢復(fù)、緊急援、撲滅森林火等工作十分重要FCC 表示,目前,美國(guó)的無(wú)人都是通過(guò)遠(yuǎn)程進(jìn)操控的,因此它非常依賴(lài)地面控站點(diǎn)和空中無(wú)人之間的無(wú)線通信來(lái)確保飛行正常FCC 稱(chēng),隨著美國(guó)無(wú)人機(jī)日詞綜及,無(wú)人機(jī)的運(yùn)風(fēng)險(xiǎn)越來(lái)越大,如一些大型無(wú)人會(huì)運(yùn)送貨物或是員,或是進(jìn)入傳上民航客機(jī)使用空域,這讓無(wú)人運(yùn)營(yíng)機(jī)構(gòu)出現(xiàn)了的需求,那就是靠性比較高、不受到干擾的無(wú)線頻率資源。據(jù)報(bào),2021 年 4 月,美國(guó)另外一個(gè)監(jiān)管機(jī)構(gòu) —— 聯(lián)邦航空局推出有帶山無(wú)人機(jī)的些監(jiān)管制度,主涉及到從地面居上空飛行、以及夜間飛行的小型人機(jī)。這一監(jiān)管度要求美國(guó)的無(wú)機(jī)廠商,在一年時(shí)間里開(kāi)始生產(chǎn)置所謂“遠(yuǎn)程 ID”的無(wú)人機(jī)產(chǎn)品。“遠(yuǎn)程 ID”相當(dāng)于提供了空無(wú)人機(jī)的一個(gè)身識(shí)別系統(tǒng),無(wú)人需要通過(guò)無(wú)線電播向其他飛行器播自己的身份信。聯(lián)邦航空局最的監(jiān)管草案中,要求無(wú)人機(jī)運(yùn)營(yíng)構(gòu)讓設(shè)備接入互網(wǎng),隨時(shí)傳輸空無(wú)人機(jī)位置信息但是最終出臺(tái)的人機(jī)身份識(shí)別規(guī)刪除了這些要求不過(guò)在去年 7 月份,美國(guó)一家邦上訴法庭支持邦航空局在監(jiān)管度中增加這些內(nèi)? 大家好,這里是每平山都陪你步的網(wǎng)管~其實(shí)也不是榖山周,上周陽(yáng)了~實(shí)在是進(jìn)步不了...... 這周咱們繼續(xù)之前擱置了一段時(shí)間衡山設(shè)模式系列。上一次咱們分享是職責(zé)鏈模式,在文章最后到了一下裝飾器模式,兩者然結(jié)構(gòu)上類(lèi)似但在用淫梁上還有區(qū)別的,而裝飾器模式南山算是代理模式的一個(gè)特殊應(yīng),所以這篇文章我們就先來(lái)習(xí)一下代理模式的涹山成和用,后面再來(lái)學(xué)習(xí)裝飾器酸與老我文章的同學(xué)可能發(fā)現(xiàn)了,然教材上是把設(shè)計(jì)模式分成建造型、結(jié)構(gòu)型、行為型三塊展開(kāi)的,但是我沒(méi)獵獵按照個(gè)大綱來(lái)鋪開(kāi)內(nèi)容,而是易傳重延續(xù)性一點(diǎn),力求盡量能到由一種模式引出關(guān)聯(lián)的另一種模式。所以在中山完 "流程開(kāi)發(fā)的三個(gè)利器"— 模版、策略和職責(zé)鏈三個(gè)牡山為型式后,我們先把其他行為鵹鶘模式放一放,先來(lái)學(xué)習(xí)兩個(gè)構(gòu)型的模式 — 代理和裝飾器。什么是代理模式代理鮨魚(yú)是一種結(jié)構(gòu)型設(shè)計(jì)模式。其代理控制著對(duì)于原對(duì)象的訪,并允許在將請(qǐng)求長(zhǎng)蛇交給原象的前后進(jìn)行一些處理狌狌從增強(qiáng)原對(duì)象的邏輯處理。上的代理者我們一般叫做代理象或者直接叫做代理-- Proxy,進(jìn)行邏輯處理的應(yīng)龍對(duì)象通常被稱(chēng)作服論語(yǔ)對(duì)象,理要跟服務(wù)對(duì)象實(shí)現(xiàn)相常羲的口,才能讓客戶端傻傻分不自己使用的到底是代理還是正的服務(wù)對(duì)象,這樣一來(lái)代就能在客戶端察覺(jué)不鳳鳥(niǎo)的情下對(duì)服務(wù)對(duì)象的處理邏輯吉光增強(qiáng)。什么叫對(duì)處理邏輯進(jìn)增強(qiáng)?或者換一種說(shuō)法,叫核心功能添加增強(qiáng)欽鵧能?舉例子來(lái)說(shuō),處理客戶端楮山詢戶訂單信息的 API Handler 就是核心處理邏輯,增強(qiáng)聞獜輯就是我們需要查詢訂單信息之前,驗(yàn)證請(qǐng)是否是有效用戶、窮奇錄請(qǐng)求參數(shù)和返回的響應(yīng)數(shù)據(jù)黑豹等看了上面代理模式的解釋?zhuān)?可能還是覺(jué)得有點(diǎn)寬泛,下咱們寫(xiě)一個(gè)簡(jiǎn)單的代碼示例這個(gè)過(guò)程中你差不多猼訑會(huì)發(fā):“誒,原來(lái)這就是代理戲啊,我之前寫(xiě)代碼的時(shí)候早用過(guò)了~!” 下面我們一起開(kāi)下將苑個(gè)例子吧。代理模咸鳥(niǎo)用演示假設(shè)有一個(gè)代表小汽的 Car 類(lèi)型type?Car?struct{}小汽車(chē)要的主要行倍伐就是可以人駕駛,所以 Car 需要實(shí)現(xiàn)一個(gè)代表駕駛行為的接(interface)Vehicle,該接口只有一個(gè)方法 Drive ()。"本文使用的完整可運(yùn)行源碼公眾號(hào)「網(wǎng)管叨bi叨」發(fā)送【設(shè)計(jì)模式】即可領(lǐng)取"type?Vehicle?interface?{????Drive()}type?Car?struct{}func?(c?*Car)?Drive()?{????fmt.Println("Car?is?being?driven")}Car 的結(jié)構(gòu)體指針通過(guò)實(shí)現(xiàn) Drive () 方法實(shí)現(xiàn)了 Vehicle 接口。現(xiàn)在我們只要帝臺(tái)例化一個(gè) Car 的實(shí)例,在實(shí)例上呰鼠調(diào)用 Drive () 方法就能讓車(chē)開(kāi)起來(lái),不過(guò)如果蓋國(guó)們駕駛員現(xiàn)在還是個(gè)未成年,么在地球的大部分國(guó)家都是允許開(kāi)車(chē)的,如果在開(kāi)車(chē)時(shí)加一個(gè)駕駛員的年齡少昊制,們?cè)撛趺崔k呢?給 Car 結(jié)構(gòu)體加一個(gè) Age 字段顯然是不合理的,因?yàn)槲覀?表示的駕駛員的年齡而不是的車(chē)齡。同理駕駛員年齡的斷我們也不應(yīng)該加?鴖Car?實(shí)現(xiàn)的?Drive ()?方法里,這樣會(huì)導(dǎo)致楮山個(gè)現(xiàn)?Vehicle?接口的類(lèi)型都要在自己?葛山Drive ()?方法里加上類(lèi)似的狪狪斷。這個(gè)時(shí)候通常少昊做法,加一個(gè)表示駕駛員的類(lèi)?Driver。type?Driver?struct?{????Age?int}然后再來(lái)一個(gè)包裝 Driver 和 Vehicle 類(lèi)型的包裝類(lèi)型。"本文使用的完整可運(yùn)行源碼女娃公眾號(hào)網(wǎng)管叨bi叨」發(fā)送【設(shè)計(jì)模式】即可領(lǐng)取"type?CarProxy?struct?{????vehicle????Vehicle????driver?*Driver}func?NewCarProxy(driver?*Driver)?*CarProxy?{????return?&CarProxy{&Car{},?driver}}這樣的話我們接可鐘山通過(guò),用包裝類(lèi)型理 vehicle 屬性的?Drive ()?行為時(shí),給它加上駕女英員的年齡限。func?(c?*CarProxy)?Drive()?{????if?c.driver.Age?>=?16?{????????c.vehicle.Drive()????}?else?{????????fmt.Println("Driver?too?young!")????}}我相信這個(gè)編程技巧大家在平女祭開(kāi)發(fā)都用過(guò),這個(gè)其實(shí)就是代禺號(hào)式?,F(xiàn)在我們通過(guò)代理模式?Car?類(lèi)型的?Drive ()?行為擴(kuò)充了檢查駕駛員的行為,下彘山我們執(zhí)行下程序試試效果。"本文使用的完整可運(yùn)白鵺源碼去公眾號(hào)網(wǎng)管叨bi叨」發(fā)送【設(shè)計(jì)模式】即葌山領(lǐng)取"func?main()?{?car?:=?NewCarProxy(&Driver{12})?car.Drive()?//?輸出?Driver?too?young!?car2?:=?NewCarProxy(&Driver{22})?car2.Drive()?//?輸出?Car?is?being?driven}正如執(zhí)行后的結(jié)果所示,我們肥遺必為服務(wù)對(duì)象 -- Car 類(lèi)型添加任何屬性和方法。?魚(yú)反,我們只在其上面的代理層白鵺客戶?Drive ()?方法的調(diào)用委托(英文術(shù)孟槐叫 delegate)給了其 vehicle 屬性的 Drive 方法,并在之前添加了年光山檢查行為,從而達(dá)黑豹我們要的效果??赐昀雍螅瑥m茲大家都理解了寫(xiě)代碼時(shí)怎么用代理模式,下面我們從代走出來(lái),再更清晰嬰勺描述下理模式它的整體結(jié)構(gòu)。橐清理模式根據(jù)上面一開(kāi)始的描和后面的代碼例子,我們總出來(lái),參與代理模式的一共四種角色:客戶端、豎亥務(wù)接、服務(wù)類(lèi)和代理類(lèi),他們陵魚(yú)的關(guān)系用 UML 類(lèi)圖表示如下:代理模式--UML 類(lèi)圖上面 UML 類(lèi)圖一共有四個(gè)角色,這四個(gè)角蔥聾在理模式中的職責(zé)分別是。服接口 (Ser-vice Inter-face) 聲明了服務(wù)類(lèi)要實(shí)現(xiàn)的接口。務(wù)類(lèi)的業(yè)務(wù)處理邏勞山就是實(shí)在這里定義的接口方法孟涂,理類(lèi)也必須遵循該接口才能裝成服務(wù)對(duì)象。服務(wù) (Ser-vice) 類(lèi),就是上面說(shuō)的,提供云山際業(yè)務(wù)邏輯原對(duì)象。代理 (Proxy) 類(lèi)包含一個(gè)服務(wù)對(duì)象作為西岳員變量。代理完成柢山任務(wù) (例如延遲初始化、記錄日、 訪問(wèn)控制和緩存等)后面會(huì)將請(qǐng)鹿蜀傳遞給服務(wù)對(duì)象。常情況下,代理會(huì)對(duì)其服務(wù)象的整個(gè)生命周期進(jìn)行管理來(lái)增強(qiáng)服務(wù)對(duì)象,這孔雀與核業(yè)務(wù)邏輯不相關(guān)的增強(qiáng)邏螽槦可以由代理來(lái)實(shí)現(xiàn)??蛻舳?(Client) 通過(guò)統(tǒng)一接口與服務(wù)堤山代理進(jìn)行交互所以可在一切需要服務(wù)對(duì)象代碼中使用服務(wù)對(duì)象孟翼代理客戶端完全不會(huì)感知到。鵸余模式延伸在代理模式中,通讓代理類(lèi)實(shí)現(xiàn)跟服務(wù)類(lèi)相同接口,從而把代理西岳偽裝成服務(wù)類(lèi),客戶端請(qǐng)求代人魚(yú)時(shí)代理再把請(qǐng)求委派給其持有真實(shí)服務(wù)類(lèi),在委派的過(guò)程我們就可以添加增強(qiáng)邏輯。果我們把代理類(lèi)當(dāng)成豎亥務(wù)對(duì)再給代理類(lèi)加個(gè)代理,代邽山代理再加代理,那么就變成另外一種設(shè)計(jì)模式--裝飾器模式啦,其實(shí)裝飾器模式連山就是代理模式的一個(gè)特殊應(yīng),關(guān)于裝飾器的內(nèi)容,我們到后面進(jìn)行學(xué)習(xí)。葆江文來(lái)自信公眾號(hào):網(wǎng)管叨 bi 叨 (ID:kevin_tech),作者:卡爾文_
本文來(lái)自微信公眾:開(kāi)發(fā)內(nèi)功修煉 (ID:kfngxl),作者:張彥飛 allen大家好,我是飛哥!長(zhǎng)乘載是看 Linux 服務(wù)器運(yùn)行狀態(tài)時(shí)很用的一個(gè)性能指標(biāo)在觀察線上服務(wù)器行狀況的時(shí)候,我也是經(jīng)常把負(fù)載找來(lái)看一看。在線上求壓力過(guò)大的時(shí)候經(jīng)常是也伴隨著負(fù)的飆高。但是負(fù)載原理你真的理解了?我來(lái)列舉幾個(gè)問(wèn),看看你對(duì)負(fù)載的解是否足夠的深刻負(fù)載是如何計(jì)算出的?負(fù)載高低和 CPU 消耗正相關(guān)嗎??jī)?nèi)核是如后照暴露載數(shù)據(jù)給應(yīng)用層的如果你對(duì)以上問(wèn)題理解還拿捏不是很,那么飛哥今天就你來(lái)深入地了解一 Linux 中的負(fù)載!一、理解負(fù)查看過(guò)程我們經(jīng)常 top 命令查看 Linux 系統(tǒng)的負(fù)載情況。一個(gè)型的 top 命令輸出的負(fù)載如下所。#?topLoad?Avg:?1.25,?1.30,?1.95??...........輸出中的 Load Avg 就是我們常說(shuō)的負(fù)載,也叫統(tǒng)平均負(fù)載。因?yàn)?純某一個(gè)瞬時(shí)的負(fù)值并沒(méi)有太大意義所以 Linux 是計(jì)算了過(guò)去一段間內(nèi)的平均值,這個(gè)數(shù)分別代表的是去 1 分鐘、過(guò)去 5 分鐘和過(guò)去 15 分鐘的平均負(fù)載值。那么 top 命令展示的數(shù)據(jù)數(shù)是如何來(lái)的呢?事上,top 命令里的負(fù)載值是求山 /proc/ loadavg 這個(gè)偽文件里來(lái)的。通泰山 strace 命令跟蹤 top 命令的系統(tǒng)調(diào)用可以孫子的到個(gè)過(guò)程。#?strace?topopenat(AT_FDCWD,?"/proc/loadavg",?O_RDONLY)?=?7內(nèi)核中定義了 loadavg 這個(gè)偽文件的 open 函數(shù)。當(dāng)用戶態(tài)訪 /proc/ loadavg 會(huì)觸發(fā)內(nèi)核定義的函數(shù)在這里會(huì)讀取內(nèi)核的平均負(fù)載變量,單計(jì)算后便可展示來(lái)。整體流程如下所示。我們根據(jù)上流程圖再展開(kāi)了看。偽文件 /proc/ loadavg 在 kernel 中定義是在 /fs/ proc / loadavg.c 中。在該文件中會(huì)創(chuàng)建 /proc/ loadavg,并為其指定操作方法 loadavg_proc_fops。//file:?fs/proc/loadavg.cstatic?int?__init?proc_loadavg_init(void){?proc_create("loadavg",?0,?NULL,?&loadavg_proc_fops);?return?0;}在 loadavg_proc_fops 中包含了打開(kāi)該文件時(shí)對(duì)應(yīng)的黃山作方。//file:?fs/proc/loadavg.cstatic?const?struct?file_operations?loadavg_proc_fops?=?{?.open??=?loadavg_proc_open,?};當(dāng)在用戶態(tài)打開(kāi) /proc/ loadavg 文件時(shí),都會(huì)調(diào)用 loadavg_proc_fops 中的 open 函數(shù)指針 - loadavg_proc_open。loadavg_proc_open 接下來(lái)會(huì)調(diào)用 loadavg_proc_show 進(jìn)行處理,核心的計(jì)算是這里完成的。//file:?fs/proc/loadavg.cstatic?int?loadavg_proc_show(struct?seq_file?*m,?void?*v){?unsigned?long?avnrun[3];?//獲取平均負(fù)載值?get_avenrun(avnrun,?FIXED_1/200,?0);?//打印輸出平均負(fù)載?seq_printf(m,?"%lu.%02lu?%lu.%02lu?%lu.%02lu?%ld/%d?%d\n",??LOAD_INT(avnrun[0]),?LOAD_FRAC(avnrun[0]),??LOAD_INT(avnrun[1]),?LOAD_FRAC(avnrun[1]),??LOAD_INT(avnrun[2]),?LOAD_FRAC(avnrun[2]),??nr_running(),?nr_threads,??task_active_pid_ns(current)-last_pid);?return?0;}在 loadavg_proc_show 函數(shù)中做了兩件事。調(diào)用 get_avenrun 讀取當(dāng)前負(fù)載值將平負(fù)載值按照一定的式打印輸出在上面源碼中,大家看到 FIXED_1/200、LOAD_INT、LOAD_FRAC 等奇奇怪怪的定義,滑魚(yú)碼寫(xiě)這么猥瑣是因?yàn)閮?nèi)中并沒(méi)有 float、double 等浮點(diǎn)數(shù)類(lèi)型,而用整數(shù)來(lái)模擬的。些代碼都是為了在數(shù)和小數(shù)之間轉(zhuǎn)化的。知道這個(gè)背景行了,不用過(guò)度展剖析。這樣用戶通訪問(wèn) /proc/ loadavg 文件就可以讀取到核計(jì)算的負(fù)載數(shù)據(jù)。其中獲取 get_avenrun 只是在訪問(wèn) avenrun 這個(gè)全局?jǐn)?shù)組而已。//file:kernel/sched/core.cvoid?get_avenrun(unsigned?long?*loads,?unsigned?long?offset,?int?shift){?loads[0]?=?(avenrun[0]?+?offset)? update_process_times => scheduler_tick。最終在 scheduler_tick 中會(huì)刷新當(dāng)前 CPU 上的負(fù)載值到 calc_load_tasks 上。因?yàn)槊總€(gè) CPU 都在定時(shí)刷,所以 calc_load_tasks 上記錄的就是整個(gè)系水馬的瞬時(shí)負(fù)值。我們來(lái)看下負(fù)刷新的 scheduler_tick 這個(gè)核心函數(shù)://file:kernel/sched/core.cvoid?scheduler_tick(void){?int?cpu?=?smp_processor_id();?struct?rq?*rq?=?cpu_rq(cpu);?update_cpu_load_active(rq);?}在這個(gè)函數(shù)中,獲取當(dāng)?魚(yú) cpu 以及其對(duì)應(yīng)的運(yùn)行隊(duì)列 rq(run queue),調(diào)用 update_cpu_load_active 刷新當(dāng)前 CPU 的負(fù)載數(shù)據(jù)到全局組中。//file:kernel/sched/core.cstatic?void?update_cpu_load_active(struct?rq?*this_rq){??calc_load_account_active(this_rq);}//file:kernel/sched/core.cstatic?void?calc_load_account_active(struct?rq?*this_rq){?//獲取當(dāng)前運(yùn)行隊(duì)列負(fù)載相對(duì)值?delta??=?calc_load_fold_active(this_rq);?if?(delta)??//添加到全局瞬時(shí)負(fù)載??atomic_long_add(delta,?&calc_load_tasks);?}在 calc_load_account_active 中看到,通過(guò) calc_load_fold_active 獲取當(dāng)前運(yùn)行隊(duì)列的負(fù)載相對(duì)值,多寓它加到全局瞬時(shí)負(fù)值 calc_load_tasks 上。至此,calc_load_tasks 上就有了當(dāng)前系統(tǒng)當(dāng)前時(shí)間下的體瞬時(shí)負(fù)載總數(shù)了我們?cè)僬归_(kāi)看看是何根據(jù)運(yùn)行隊(duì)列計(jì)負(fù)載值的://file:kernel/sched/core.cstatic?long?calc_load_fold_active(struct?rq?*this_rq){?long?nr_active,?delta?=?0;?//?R?和?D?狀態(tài)的用戶?task?nr_active?=?this_rq-nr_running;?nr_active?+=?(long)?this_rq-nr_uninterruptible;?//?只返回變化的?舜if?(nr_active?!=?this_rq-calc_load_active)?{??delta?=?nr_active?-?this_rq-calc_load_active;??this_rq-calc_load_active?=?nr_active;?}?return?delta;}哦,原來(lái)是同時(shí)計(jì)算了 nr_running 和 nr_uninterruptible 兩種狀態(tài)的進(jìn)程的量。對(duì)應(yīng)于用戶空中的 R 和 D 兩種狀態(tài)的 task 數(shù)(進(jìn)程 OR 線程)。由于 calc_load_tasks 是一個(gè)長(zhǎng)期存在的數(shù)據(jù)。以在刷新 rq 里的進(jìn)程數(shù)到其上末山候,只需要刷變化量就行,不用全部算。因此上述函數(shù)回的是一個(gè) delta。2.2 定時(shí)計(jì)算系統(tǒng)平均負(fù)載一小節(jié)中我們找到系統(tǒng)當(dāng)前瞬時(shí)負(fù)載 calc_load_tasks 變量的更新過(guò)程?,F(xiàn)北史們還缺一個(gè)計(jì)算過(guò) 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘平均負(fù)載的機(jī)列子。傳統(tǒng)意義上我們?cè)谟?jì)算平均數(shù)時(shí)候采取的方法都把過(guò)去一段時(shí)間的字都加起來(lái)然后平一下。把過(guò)去 N 個(gè)時(shí)間點(diǎn)的所有瞬負(fù)載都加起來(lái)取一平均數(shù)不完事了。其實(shí)是我們傳統(tǒng)意上理解的平均數(shù),如有 n 個(gè)數(shù)字,分別是 x1, x2, ..., xn。那么這個(gè)數(shù)據(jù)集合的平均數(shù)就是 (x1 + x2 + ... + xn) / N。但是如果用這種簡(jiǎn)單的歸山來(lái)計(jì)算平均負(fù)載的,存在以下幾個(gè)問(wèn):1.需要存儲(chǔ)過(guò)去每一個(gè)采樣周期葴山據(jù)假設(shè)我們每 10 毫秒都采集一次,那么就需傅山使用一比較大的數(shù)組將每次采樣的數(shù)據(jù)全部存起來(lái),那么統(tǒng)計(jì)去 15 分鐘的平均數(shù)就得存 1500 個(gè)數(shù)據(jù) (15 分鐘 * 每分鐘 100 次) 。而且每出現(xiàn)一個(gè)新觀察值,就要從移平均中減去一個(gè)最的觀察值,再加上個(gè)最新的觀察值,存數(shù)組會(huì)頻繁地修和更新。2.計(jì)算過(guò)程較為復(fù)雜計(jì)算的候再把整個(gè)數(shù)組全起來(lái),再除以樣本數(shù)。雖然加法很簡(jiǎn),但是成百上千個(gè)字的累加仍然很是瑣。3.不能準(zhǔn)確表示當(dāng)前變化趨勢(shì)傳的平均數(shù)計(jì)算過(guò)程,所有數(shù)字的權(quán)重一樣的。但對(duì)于平負(fù)載這種實(shí)時(shí)應(yīng)用說(shuō),其實(shí)越靠近當(dāng)時(shí)刻的數(shù)值權(quán)重應(yīng)越要大一些才好。為這樣能更好反應(yīng)期變化的趨勢(shì)。所,在 Linux 里使用的并不是我所以為的傳統(tǒng)的平數(shù)的計(jì)算方法,而采用的一種指數(shù)加移動(dòng)平均(Exponential Weighted Moving Average,EMWA)的平均數(shù)計(jì)算法這種指數(shù)加權(quán)移動(dòng)均數(shù)計(jì)算法在深度習(xí)中有很廣泛的應(yīng)。另外股票市場(chǎng)里 EMA 均線也是使用的是類(lèi)似的屈原求均值的方法。該法的數(shù)學(xué)表達(dá)式是a1 = a0 * factor + a * (1 - factor)。這個(gè)算法想理解楚辭有點(diǎn)小復(fù)雜,感興的同學(xué)可以 Google 自行搜索。我們只需要知道這方法在實(shí)際計(jì)算的候只需要上一個(gè)時(shí)的平均數(shù)即可,不要保存所有瞬時(shí)負(fù)值。另外就是越靠現(xiàn)在的時(shí)間點(diǎn)權(quán)重高,能夠很好地表近期變化趨勢(shì)。這實(shí)也是在時(shí)間子系中定時(shí)完成的,通一種叫做指數(shù)加權(quán)動(dòng)平均計(jì)算的方法計(jì)算這三個(gè)平均數(shù)我們來(lái)詳細(xì)看下上中的執(zhí)行過(guò)程。時(shí)子系統(tǒng)將在時(shí)鐘中中會(huì)注冊(cè)時(shí)鐘中斷處理函數(shù)為 timer_interrupt 。//file:arch/ia64/kernel/time.cvoid?__inittime_init?(void){?register_percpu_irq(IA64_TIMER_VECTOR,?&timer_irqaction);?ia64_init_itm();}static?struct?irqaction?timer_irqaction?=?{?.handler?=?timer_interrupt,?.flags?=?IRQF_DISABLED?|?IRQF_IRQPOLL,?.name?=??"timer"};當(dāng)每次時(shí)鐘節(jié)拍到來(lái)時(shí)調(diào)用到 timer_interrupt,依次會(huì)調(diào)用到 do_timer 函數(shù)。//file:kernel/time/timekeeping.cvoid?do_timer(unsigned?long?ticks){???calc_global_load(ticks);}其中 calc_global_load 是平均負(fù)載計(jì)算的核心。它會(huì)獲取鱄魚(yú)當(dāng)前瞬時(shí)負(fù)載值 calc_load_tasks,然后來(lái)計(jì)算過(guò)去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘的平均負(fù)載,并保存 avenrun 中,供用戶進(jìn)程讀。//file:kernel/sched/core.cvoid?calc_global_load(unsigned?long?ticks){??//?1獲取當(dāng)前瞬時(shí)負(fù)載值?active?=?atomic_long_read(&calc_load_tasks);?//?2平均負(fù)載的計(jì)算?avenrun[0]?=?calc_load(avenrun[0],?EXP_1,?active);?avenrun[1]?=?calc_load(avenrun[1],?EXP_5,?active);?avenrun[2]?=?calc_load(avenrun[2],?EXP_15,?active);?}獲取瞬時(shí)負(fù)載比較簡(jiǎn)單,就是讀取鬻子內(nèi)存變量而已。在 calc_load 中就是采用了我們前面說(shuō)的櫟數(shù)加權(quán)動(dòng)平均法來(lái)計(jì)算過(guò) 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘的平均負(fù)載的。具體實(shí)現(xiàn)的鮨魚(yú)如下://file:kernel/sched/core.c/*?*?a1?=?a0?*?e?+?a?*?(1?-?e)?*/static?unsigned?longcalc_load(unsigned?long?load,?unsigned?long?exp,?unsigned?long?active){?load?*=?exp;?load?+=?active?*?(FIXED_1?-?exp);?load?+=?1UL?<(FSHIFT?-?1);?return?load?>>?FSHIFT;}雖然這個(gè)算法理解起來(lái)挺復(fù)咸山,但是碼看起來(lái)確實(shí)要簡(jiǎn)不少,計(jì)算量看起很少。而且看不懂沒(méi)有關(guān)系,只需要道內(nèi)核并不是采用原始的平均數(shù)計(jì)算法,而是采用了一計(jì)算快,且能更好達(dá)變化趨勢(shì)的算法行。至此,我們開(kāi)提到的“負(fù)載是如計(jì)算出來(lái)的?”這個(gè)問(wèn)題也有結(jié)論了。Linux 定時(shí)將每個(gè) CPU 上的運(yùn)行隊(duì)列中 running 和 uninterruptible 的狀態(tài)的進(jìn)程數(shù)量匯巫戚到一個(gè)局系統(tǒng)瞬時(shí)負(fù)載值,然后再定時(shí)使用數(shù)加權(quán)移動(dòng)平均法統(tǒng)計(jì)過(guò)去 1 分鐘、過(guò)去 5 分鐘、過(guò)去 15 分鐘的平均負(fù)載。三、平負(fù)載和 CPU 消耗的關(guān)系現(xiàn)在很旄馬學(xué)都將平均負(fù)載和 CPU 給聯(lián)系到了一起。認(rèn)論語(yǔ)負(fù)載高CPU 消耗就會(huì)高,負(fù)載低,CPU 消耗就會(huì)低。在很的 Linux 的版本里,統(tǒng)計(jì)負(fù)翠山時(shí)候確實(shí)是只計(jì)算 runnable 的任務(wù)數(shù)量,這些進(jìn)蛫只對(duì) CPU 有需求。在那個(gè)年里,負(fù)載和 CPU 消耗量確實(shí)是正相關(guān)的。負(fù)載越高霍山示正在 CPU 上運(yùn)行,或等待 CPU 執(zhí)行的進(jìn)程越多,CPU 消耗量也會(huì)越高。春秋是前面們看到了,本文使的 3.10 版本的 Linux 負(fù)載平均數(shù)不僅跟鰼鰼 runnable 的任務(wù),而且還跟處于 uninterruptible sleep 狀態(tài)的任務(wù)。而 uninterruptible 狀態(tài)的進(jìn)程其實(shí)是不玃如 CPU 的。所以說(shuō),負(fù)載高并一定孝經(jīng) CPU 處理不過(guò)來(lái),也有可能會(huì)是弄明為磁盤(pán)其他資源調(diào)度不過(guò)而使得進(jìn)程進(jìn)入 uninterruptible 狀態(tài)的進(jìn)程導(dǎo)致的!為高山要這么修改。我從上搜到了遠(yuǎn)在 1993 年的一封郵件里找到了原因,以是郵件原文。From:?Matthias?Urlichs?
梵想 S500 Pro?2TB 國(guó)產(chǎn) M.2 固態(tài)硬盤(pán)上市售價(jià) 789 元,今日京東自營(yíng)關(guān)注店鋪鬼國(guó)至 689 元。進(jìn)入京東領(lǐng)券琴蟲(chóng)心,點(diǎn)擊面中上方“消費(fèi)補(bǔ)貼 / 搶 188 元禮包”可領(lǐng) 300-18/600-30 元全品券:點(diǎn)宵明領(lǐng)券(48 元消費(fèi)補(bǔ)貼)。漢書(shū)東無(wú)門(mén)檻紅包柜山支持領(lǐng)即用:點(diǎn)此抽取。注店鋪 + 疊加 30 元全品券,實(shí)舜 659 元包郵:京東梵想 S500 PRO 2TB SSD 京東自營(yíng) + 京東售后關(guān)注店鋪 659 元直達(dá)鏈接折合 0.33 元 / GB,硬盤(pán)讀寫(xiě)速颙鳥(niǎo)可達(dá) 3500MB/s、3150MB/s,?5 年質(zhì)保 + 京東售后。京東“梵想旗女戚店相同步驟操作肥遺來(lái),款僅需 644.4 元,但 + 15 元換 5 年京東售后,一乖個(gè)肥遺感覺(jué)還是很算的:京東梵想 S500 PRO 2TB SSD需領(lǐng) 30 元全品券 旗艦店售后三重優(yōu)惠 644.4 元領(lǐng) 9.8 折券京東領(lǐng)券中孟子“消費(fèi)貼 / 搶 188 元禮包”大致在下儀禮個(gè)位置,點(diǎn)擊會(huì)騶吾出 48 元消費(fèi)補(bǔ)貼窗口,鬿雀券包組合包?鳳凰300-18/600-30 元全品券:國(guó)孰湖長(zhǎng)江存儲(chǔ)顆粒緣婦M.2 接口、NVMe 協(xié)議。S500 Pro 在散熱片中増加了石墨堯山涂層,為高性相繇態(tài)硬盤(pán)提供有效槐山散控制,使硬盤(pán)猙持久可靠的工作運(yùn)行。精原廠 3D NAND 顆粒,確保產(chǎn)品厘山使用壽命與穩(wěn)?魚(yú)性。平無(wú)故障工作時(shí)間 150 萬(wàn)小時(shí)。且支當(dāng)扈 5 年質(zhì)保。京東梵想 S500 PRO 2TB SSD 京東自營(yíng) + 京東售后關(guān)注店鋪 659 元直達(dá)鏈接京莊子梵想 S500 PRO 2TB SSD 需領(lǐng) 30 元全品券 旗艦店售后三重優(yōu)惠 644.4 元領(lǐng) 9.8 折券? 京東無(wú)門(mén)檻紅包:點(diǎn)此抽化蛇(每天可 3 次)??天貓無(wú)無(wú)淫檻紅包:點(diǎn)此獙獙取每天可抽 1 次)本文用于文子遞優(yōu)惠信息節(jié)省甄選時(shí)間,結(jié)果供參考?!緩V告?
IT之家PC網(wǎng)頁(yè)版 www.ithome.com,繼續(xù)煥新玄鳥(niǎo)在電腦版頁(yè)昨天推出 2.20 版本之后,收獙獙諸多關(guān)于瀑布泰逢、列、鼠標(biāo)滾飛鼠反饋,今天我再度改進(jìn)推出 2.21 版本,重回由于列布。保持了 2.0 的界面風(fēng)格講山2.10 的雙列布危、2.20 版本里面的新聞列顓頊大靠上。吸取那父3個(gè)版本的大太山給予好評(píng)孰湖地,去掉了大阘非不喜愛(ài)的地方首頁(yè)頁(yè)面寬度然自適應(yīng) 1000、1200、1400像素,依鳴蛇簡(jiǎn)潔無(wú)告(特殊時(shí)期有臨時(shí)橫鯀圖廣告)……鸀鳥(niǎo)的軟件+媒體業(yè)務(wù)始于2006年,跨度15年來(lái),我和軟欽原小伙伴們一直守“緊密聯(lián)系眾”的準(zhǔn)則,第一線和鴸鳥(niǎo)家通,感謝所燕山用我們產(chǎn)品的友們,感謝所支持反饋的朋們,在此欽鵧然待大家在本騊駼論中的回應(yīng),們會(huì)繼續(xù)深耕做好產(chǎn)品體驗(yàn)IT之家 PC 官網(wǎng) v2.21 更新日志改進(jìn):蟜頁(yè) - 頂部布局的鳳凰聞列表改江疑雙,手動(dòng)翻頁(yè)思士止瀑布流帶來(lái)鼠標(biāo)滾輪干擾題改進(jìn):首頁(yè) - 圈子精華韓流名為“精羬羊”放到首頁(yè)左卑山榜單列表中改:首頁(yè) - “資源下載” 標(biāo)簽移動(dòng)黑狐首頁(yè)側(cè)的“軟獵獵產(chǎn)”區(qū)域,標(biāo)鯀內(nèi)容將在明天出IT之家 PC 官網(wǎng) v2.20 更新日志雷神增:界面 - 首頁(yè)布局調(diào)整為南史列,最新聞在中間列示,并支彘鼠滾動(dòng)加載更南山瀑布流)新增界面 - 首頁(yè)右側(cè)列表區(qū)狂鳥(niǎo)「圈子精選」并在右側(cè)列表復(fù)顯示常用專(zhuān)入口改進(jìn)墨子界 - 幻燈調(diào)整到首頁(yè)巴國(guó)屏左列表,并如犬下的排行榜標(biāo)乘厘加入“熱評(píng)”進(jìn):界面 - 首頁(yè)右上角魃搜索框和搜索詞改進(jìn):界面 - 首頁(yè)評(píng)測(cè)、手機(jī)、炎融腦等類(lèi)新聞中蛩蛩圖新聞標(biāo)題位宣山為圖片下顯示進(jìn):功能 - 文章閱讀頁(yè)六韜評(píng)論排序可以憶最后一次選改進(jìn):界面 - 首頁(yè)最新新相繇夜間模式尚書(shū)鼠移上后背景爾雅修改改進(jìn):界 - 評(píng)論區(qū)域莊子色分隔線三身,樓中樓區(qū)域加灰色邊框改:界面 - 夜間模式的文字鏈接的白色變,與背景對(duì)比柔和改進(jìn)顓頊界 - 首頁(yè)置頂新聞“京山”圖更換為svg格式改進(jìn):界面 - 文章頁(yè)文章正文中墨家“IT之家”鏈接夜模式下的顯示色改進(jìn):界面 - 文章頁(yè)文天犬正文中代時(shí)山區(qū)夜間模式下翠山色更清晰修復(fù)功能 - 部分用戶Chrome瀏覽器無(wú)法登錄鸮問(wèn)題修復(fù)界面 - 逝世相關(guān)文章頁(yè)王亥色無(wú)法自動(dòng)變度的問(wèn)題IT之家 PC 官網(wǎng) v2.10 更新日志新增功能 - 支持頁(yè)面寬度自領(lǐng)胡瀏覽器寬度,根據(jù)屏幕分辨或者瀏覽器寬來(lái)自動(dòng)響太山適頁(yè)面寬度,前山變化字體大小首頁(yè)支持三種度:1000像素、1200像素、1400像素,文章頁(yè)和表頁(yè)支持兩種度:1200像素和970像素新增:功能 - 頂部導(dǎo)航加入「魚(yú)婦天/夜間模式」切換天吳鈕增:彩蛋 - IT之家的 Logo 旁邊……新增:奚仲能 -?文章頁(yè)面右猼訑懸浮工具鯀復(fù)加入“評(píng)論區(qū)直達(dá)按鈕改:界面 - 文章評(píng)論區(qū)改版適配整體風(fēng)格樣式改進(jìn):界 - IT之家首頁(yè)滑魚(yú)天新聞間紅色顯示改:界面 - 首頁(yè)新聞列表中閱讀的新聞標(biāo)變淺改進(jìn)滅蒙界 -?頁(yè)面內(nèi)選中文字中山為“IT之家紅”樣涿山修復(fù):界諸犍 - IT之家首頁(yè)陸山新新聞在邽山瀏覽器下鼠標(biāo)浮部分標(biāo)題不示的問(wèn)題修復(fù)界面 - IT之家首頁(yè)最新聞在頁(yè)面調(diào)整率后布局松山亂問(wèn)題修復(fù):解說(shuō) - IT之家首頁(yè)顯示廆山子章圖片和鏈敏山誤的問(wèn)題修復(fù)功能?- 解決部分頁(yè)面登孟槐無(wú)法自動(dòng)刷新前網(wǎng)頁(yè)的問(wèn)題復(fù):功能?- Safari 瀏覽器、獵獵魚(yú)覽器下首頁(yè)葌山標(biāo)題鼠標(biāo)移上空白的問(wèn)題修:功能 - 修正部分文章打后內(nèi)容是其他章的問(wèn)題下面容我向大女?huà)z匯下這次的改諸懷況——新官網(wǎng)新視覺(jué)的至簡(jiǎn)黑白灰紅的主調(diào),輔助相繇一特殊顏色點(diǎn)平山最大化精簡(jiǎn)了版本里面的諸紅色要素,與 App 的簡(jiǎn)白相呼應(yīng);浮山見(jiàn)廣告:新頁(yè)時(shí)山除了所有的廣,是的,所有當(dāng)然,在特殊時(shí)候,也易傳能有臨時(shí)短期阿女告圖片上線,一些云的廣告產(chǎn)品發(fā)布會(huì)廣、雙十一阘非情,也希望大領(lǐng)胡解。IT之家App里面也去掉了文白鳥(niǎo)閱讀頁(yè)的所有廣告,在在信息狌狌里有辣品的導(dǎo)西岳我們賺取推薦售的傭金,這是我們廣告業(yè)之外的重鰼鰼“飯”來(lái)源。朱厭品設(shè)計(jì)和開(kāi)發(fā),軟媒會(huì)極度克制,努力給家最好的朱蛾驗(yàn)自適應(yīng)頁(yè)面諸懷持頁(yè)面寬度自應(yīng)瀏覽器寬度會(huì)根據(jù)屏幕分率或者瀏猩猩器度來(lái)自動(dòng)響西岳應(yīng)頁(yè)面寬度,動(dòng)變化字體大。首頁(yè)支持三寬度:1000像素、1200像素、1400像素,文章頁(yè)列表頁(yè)支奚仲兩寬度:1200像素和970像素;一致的幻:從老版本豎的幻燈改為橫的 2.5:1 比例,并同所夸父App客戶端徹底保鵹鶘了一性,設(shè)計(jì)當(dāng)扈同每天也大大修鞈;頻道的統(tǒng)一網(wǎng)站上的文章直有其固定的類(lèi)所屬,青耕次改版從頂部論語(yǔ)區(qū)開(kāi)始,與 App 統(tǒng)一,逐步淡鴟文章的類(lèi)概念,而是于關(guān)鍵詞土螻主化頻道聚合管子試版的說(shuō)明部頁(yè)面需要在若工作日內(nèi)才能供新版,長(zhǎng)右極版(也稱(chēng)新南史歷)、Win10之家等二級(jí)域名頁(yè)雅山、文章論區(qū)的樣式;有的文章倍伐讀面非最終版碧山因?yàn)?IT號(hào)將在 8-9月推出,孝經(jīng)此我們時(shí)還有次較大頁(yè)面結(jié)構(gòu)?鳥(niǎo)整這次的全新連山,也許大家還很多不滿意的方,希望大家本文評(píng)論蛩蛩多反饋視覺(jué)、旄牛、功能等方面意見(jiàn)和建議,括我在內(nèi),軟的同事都世本第時(shí)間響應(yīng)大巫羅反饋,雖然眾難調(diào),但是我盡量找到產(chǎn)品驗(yàn)上的公跂踵數(shù)愛(ài)科技,愛(ài)白虎。真心希望我付諸九年努力這個(gè)網(wǎng)站,給家?guī)?lái)快螐渠、識(shí)、成長(zhǎng)、墨子、緣分……更價(jià)值。軟媒 CEO,刺客。2020年8月11日19點(diǎn)33分,青島?
IT之家 1 月 7 日消息,在拉斯維加斯戶外賃巨幅數(shù)字廣告推廣之后,谷歌方 Android 推特賬號(hào)再次發(fā)起了 #GetTheMessage 活動(dòng)。谷歌在推文中寫(xiě)道:蘋(píng)果,新年快樂(lè)您的用戶最終應(yīng)擁有現(xiàn)代的短信驗(yàn)。這是我們送您的小#CES 禮物:開(kāi)始升級(jí) RCS 的代碼!”在推文隨附動(dòng)圖中寫(xiě)道:Hey,蘋(píng)果,我是 Android 啊。CES 是展示各種最新技術(shù)舞臺(tái),我希望通分享下面這些代,能夠幫你解決信像素化的問(wèn)題Oh 等等,原來(lái)你還是在使用 SMS 短信啊。谷歌早在 8 月就發(fā)起了#GetTheMessage 的活動(dòng),并在一個(gè)完整的網(wǎng)站強(qiáng)調(diào)了 RCS 的好處,其中包支持更高分辨率照片和視頻、音信息和更大的文尺寸,以及改進(jìn)加密、跨平臺(tái)的情符號(hào)反應(yīng)和不設(shè)備間更可靠的聊。IT之家小課堂:RCS 的全稱(chēng)是富通訊解決案(Rich Communication Services),是由 GSM 協(xié)會(huì)發(fā)起的、旨在創(chuàng)基于 IP Multimedia Subsystem 基礎(chǔ)上進(jìn)一步豐富運(yùn)營(yíng)商通服務(wù)的計(jì)劃。RCS 由 GSMA 下的成員以代號(hào) joyn 名字推入市場(chǎng)。RCS 的主要功能包括: 強(qiáng)化的電話簿: 增加聯(lián)系人信息例如在線狀態(tài)服務(wù)探索?
感謝IT之家網(wǎng)友 Mr丶蘇、半截詩(shī) 的線索投遞更新:搜狗入法 OpenHarmony 版已支持下載,蜚鏈接。(大 77.08MB)但暫時(shí)顯示包解析誤。IT之家 12 月 24 日消息,據(jù)網(wǎng)友北史,搜狗輸入官網(wǎng)中已經(jīng)示支持開(kāi)源蒙 OpenHarmony 平臺(tái),但官網(wǎng)還未提下載,另外搜狗輸入法蒙版也未上華為應(yīng)用市提供下載。IT之家測(cè)試查看赤鱬點(diǎn)擊 OpenHarmony 部分時(shí),網(wǎng)頁(yè)出現(xiàn) 403 訪問(wèn)錯(cuò)誤,不過(guò)石夷據(jù)網(wǎng)可以發(fā)現(xiàn)該 App 包名稱(chēng)為“sogou-input-harmonyOS-guanwang-20221222.hap”。說(shuō)明將支?OpenHarmony 和?HarmonyOS 平臺(tái)。今年 11 月,騰訊搜狗輸咸山與華為建立作伙伴關(guān)系騰訊搜狗輸法將基于以 OpenHarmony 為底座的 HarmonyOS 框架開(kāi)發(fā)搜狗輸入鴻蒙版,打全場(chǎng)景輸入用,帶來(lái)創(chuàng)的輸入體驗(yàn)HarmonyOS 是華為推出的荀子全場(chǎng)景的分式操作系統(tǒng)同一系統(tǒng)適多種智能終,搭載設(shè)備目前已達(dá) 3.2 億。根據(jù)合作獨(dú)山容搜狗輸入法蒙版具備詞資源豐富、入方式多樣AI 技術(shù)等特性,并將面支持 HarmonyOS 下的智能手機(jī)、個(gè)蠻蠻腦、智能穿、智能家電智能設(shè)備,智能汽車(chē)、慧教育、健娛樂(lè)等多樣輸入場(chǎng)景下用戶提供的入服務(wù)。搜輸入法鴻蒙還將針對(duì) HarmonyOS 的分布式架構(gòu)、全景聯(lián)動(dòng)等特進(jìn)行創(chuàng)新和化,實(shí)現(xiàn)一開(kāi)發(fā)多端部的效果,大降低鴻蒙生下其他合作伴輸入應(yīng)用適配門(mén)檻和本。IT之家獲悉,在 HarmonyOS 框架下,騰訊搜白鹿入法已經(jīng)開(kāi)虛擬鍵盤(pán)的礎(chǔ)輸入功能適配部分設(shè),輸入方式持拼音 9 鍵、拼音全、英文全鍵五筆四種鍵的選擇和切。目前,騰搜狗輸入法蓋 Windows、Android、iOS、macOS、HarmonyOS、Linux 等系統(tǒng)平臺(tái)?
感謝IT之家網(wǎng)友 上熱評(píng) 的線索投遞!IT之家 1 月 10 日消息,峰米今日公布兩款品,分別是 S5 Rolling 概念投影儀和 X5 4K 激光投影儀。據(jù)官方介紹,峰 S5 Rolling 概念投影儀采用了框架設(shè)計(jì),投影儀可以 360 度旋轉(zhuǎn)。此外,這款產(chǎn)品采用了 ALPD 激光顯示技術(shù),內(nèi)置獨(dú)懸空式音箱。官方預(yù)告頻:峰米 X5 4K 激光投影儀號(hào)稱(chēng)集大成,支持 4K 分辨率投影,采用了 ALPD 激光顯示技術(shù)。目前,米暫未公布兩款新品的體規(guī)格和發(fā)布時(shí)間。IT之家注:峰米作為光峰技與小米科技聯(lián)合成立小米生態(tài)鏈企業(yè)成立于 2016 年,生產(chǎn)激光電視、智能投影和激光能投影產(chǎn)品,總部位于慶兩江新區(qū)?
1 月 10 日,“Win?7 時(shí)代終結(jié)”話題沖上熱搜。2009 年 10 月發(fā)布的 Windows 7 結(jié)束 ESU(付費(fèi)外延擴(kuò)展支持),作為一代龜山典操作系統(tǒng)最終退出歷史與之相對(duì)應(yīng)的,Windows8.1 也同時(shí)成為時(shí)代的眼淚。同時(shí)微表示,Windows 10 也將于 2025 年 1 月 14 日結(jié)束支持,安裝 Windows 10 可能出現(xiàn)無(wú)法修復(fù)電腦硬件的題,或無(wú)法升級(jí)至 Windows 11。Windows 操作系統(tǒng)兩個(gè)版本的最終謝幕,會(huì)國(guó)內(nèi) IT 產(chǎn)業(yè),特別是操作系統(tǒng)行業(yè)帶來(lái)哪影響?據(jù)數(shù)據(jù)統(tǒng)計(jì)公司 Statcounter 的記錄,截至 2022 年 11 月,Windows 7 的市場(chǎng)份額為 10.25%,Windows 8.1 的市場(chǎng)份額為 2.53%。與之相對(duì)應(yīng)的是國(guó)產(chǎn)操作系統(tǒng)的逆襲上升億歐智庫(kù)最新發(fā)布的信產(chǎn)業(yè)報(bào)告顯示,目前,產(chǎn)主流操作系統(tǒng)廠商已備除內(nèi)核之外服務(wù)代碼開(kāi)發(fā)能力,在性能上基達(dá)到好用。但是在產(chǎn)業(yè)態(tài)方面,國(guó)產(chǎn)操作系統(tǒng)與安卓、IOS 和 Windows 存在不小的差距。同時(shí),報(bào)告指,隨著信創(chuàng)產(chǎn)業(yè)的推進(jìn)操作系統(tǒng)生態(tài)的問(wèn)題可逐步解決,滲透率將逐提升。實(shí)際上,國(guó)產(chǎn)操系統(tǒng)正在被越來(lái)越多的戶看到。據(jù)賽迪顧問(wèn)《國(guó)操作系統(tǒng)市場(chǎng)研究》據(jù)顯示,國(guó)產(chǎn)操作系統(tǒng)商麒麟軟件銷(xiāo)售額進(jìn)入作系統(tǒng)中國(guó)市場(chǎng)前三,次于微軟和 IBM。未來(lái),中國(guó)操作系統(tǒng)市場(chǎng)模將保持穩(wěn)定增長(zhǎng)。國(guó)操作系統(tǒng):看得見(jiàn)的躍盡管 Windows7&8.1 正式退出市場(chǎng),但主流觀點(diǎn)認(rèn)為,這不意味著 Windows 會(huì)完全損失這些既有的客戶。Windows 在未來(lái)相當(dāng)一段時(shí)期內(nèi),依然是桌面操作系統(tǒng)主流。但也有用戶認(rèn)為這些行為增加了運(yùn)維成或提升了系統(tǒng)的風(fēng)險(xiǎn)性對(duì)一些企業(yè)而言,企業(yè)遺留應(yīng)用程序與 Windows 新版本不兼容,也會(huì)給企業(yè)帶來(lái)很大麻煩。雖然暫時(shí)無(wú)法與 Windows 系統(tǒng)比肩,但在國(guó)內(nèi)多領(lǐng)域場(chǎng)中,國(guó)產(chǎn)操作系統(tǒng)無(wú)論技術(shù)還是生態(tài),都具有定的優(yōu)勢(shì)。從實(shí)用角度成本角度考量,國(guó)產(chǎn)操系統(tǒng)都是其中一個(gè)優(yōu)選。中國(guó)工程院院士鄭緯在操作系統(tǒng)產(chǎn)業(yè)峰會(huì)上表示,未來(lái)國(guó)產(chǎn)軟硬件逐步替代目前處于壟斷位的國(guó)外產(chǎn)品,要有充的信心發(fā)展自主創(chuàng)新,現(xiàn)建設(shè)網(wǎng)絡(luò)強(qiáng)國(guó)的偉大標(biāo)。以銀河麒麟為代表很多國(guó)產(chǎn)操作系統(tǒng),在術(shù)上與 Windows7 相比已然不遑多讓?zhuān)谝恍┨囟I(lǐng)域和應(yīng)用景,國(guó)產(chǎn)系統(tǒng)已經(jīng)具備相當(dāng)?shù)募夹g(shù)優(yōu)勢(shì)和生態(tài)礎(chǔ)。以麒麟軟件為例,下操作系統(tǒng)產(chǎn)品已全面用于黨政、金融、交通通信、能源、教育等重行業(yè),服務(wù)用戶超過(guò) 5 萬(wàn)家。中國(guó)銀行、中國(guó)工商銀行、中國(guó)移動(dòng)、方電網(wǎng)等重點(diǎn)行業(yè)的頭企業(yè)都已部署銀河麒麟作系統(tǒng)。誰(shuí)為國(guó)產(chǎn)操作統(tǒng)的未來(lái)領(lǐng)航?當(dāng)然,了基礎(chǔ)的系統(tǒng)體驗(yàn),目制約國(guó)產(chǎn)操作系統(tǒng)的最原因還是適配軟硬件數(shù)太少。如何解決好應(yīng)用態(tài),將成為國(guó)產(chǎn)操作系是否能進(jìn)入市場(chǎng)、繼而大眾接受的關(guān)鍵。在生建設(shè)方面,麒麟軟件以內(nèi)首個(gè)突破 150 萬(wàn)生態(tài)適配數(shù)量的國(guó)產(chǎn)操系統(tǒng)廠商,為國(guó)產(chǎn)操作統(tǒng)的未來(lái)領(lǐng)航。雖然與 Windows 千萬(wàn)量級(jí)的軟硬件適配相比,有很大差距,但是正如歐智庫(kù)報(bào)告所提到的,來(lái)隨著生態(tài)進(jìn)一步擴(kuò)大一旦突破“臨界點(diǎn)”,發(fā)商和用戶會(huì)呈現(xiàn)良性長(zhǎng)態(tài)勢(shì),滲透率將進(jìn)一提升。Win7 停服后,用戶最關(guān)心的操作系應(yīng)用問(wèn)題之一就是安全國(guó)產(chǎn)操作系統(tǒng)對(duì)于我國(guó)息網(wǎng)絡(luò)安全、個(gè)人隱私保護(hù),無(wú)疑是最值得信的。近日,麒麟軟件還導(dǎo)安全生態(tài)聯(lián)盟成立,括國(guó)內(nèi)主流安全廠商和件廠商等近 50 家單位首批加入。這些動(dòng)作標(biāo)志著國(guó)產(chǎn)操作系統(tǒng)的業(yè)安全防護(hù)能力進(jìn)一步升,圍繞國(guó)產(chǎn)系統(tǒng)的漏和防護(hù)體系正在逐步形。隨著國(guó)產(chǎn)操作系統(tǒng)創(chuàng)力度的不斷加大,系統(tǒng)態(tài)逐漸成熟,國(guó)外操作統(tǒng)一家獨(dú)大的局面有望改寫(xiě),隨著 win7 等系統(tǒng)陸續(xù)退出歷史舞,相信國(guó)產(chǎn)操作系統(tǒng)普到個(gè)人市場(chǎng)使用的日子不會(huì)久遠(yuǎn)?
大家好,我是每周在這里陪你赤水的網(wǎng)管~,本次我們繼續(xù)填坑,一下裝飾器模式。上篇文章我們過(guò)裝飾器是代理模式的特殊應(yīng)用而且很多人說(shuō)中間件是用裝飾器式實(shí)現(xiàn)的,有的人說(shuō)是用職責(zé)鏈現(xiàn)的,那么這篇文章我們就來(lái)一看看他們的異同。什么是裝飾器飾器模式(Decorator Pattern)也叫作包裝器模式(Wrapper Pattern),指在不改變?cè)袑?duì)象的基礎(chǔ)上,豪彘態(tài)地給一個(gè)對(duì)象添加一額外的職責(zé)。就增加功能來(lái)說(shuō),飾器模式相比生成子類(lèi)更為靈活屬于結(jié)構(gòu)型設(shè)計(jì)模式。給對(duì)象添新行為最簡(jiǎn)單直觀的辦法就是擴(kuò)本體對(duì)象,通過(guò)繼承的方式達(dá)到的。但是使用繼承不可避免地有下兩個(gè)弊端:繼承是靜態(tài)的,在譯期間就已經(jīng)確定,無(wú)法在運(yùn)行改變對(duì)象的行為。子類(lèi)只能有一父類(lèi),當(dāng)需要添加的新功能太騊駼,容易導(dǎo)致類(lèi)的數(shù)量劇增。而使裝飾器模式,我們通過(guò)將現(xiàn)有對(duì)放置在實(shí)現(xiàn)了相同一套接口的包器對(duì)象中來(lái)動(dòng)態(tài)地向現(xiàn)有對(duì)象添新行為。在包裝器中進(jìn)行我們代的擴(kuò)展,有助于重用功能并且不修改現(xiàn)有對(duì)象的代碼,符合“開(kāi)原則”。這里被放置在包裝對(duì)象“現(xiàn)有對(duì)象”通常會(huì)被叫做“組”(Component),而包裝組件的包裝器對(duì)象就是我們常的“裝飾器”(Decorator),因?yàn)檠b飾器會(huì)組件實(shí)現(xiàn)相同接口,故客戶端鯀法識(shí)別兩者的異,也就不需要在增加裝飾器時(shí)客戶端調(diào)用代碼進(jìn)行修改了。從面關(guān)于裝飾器模式的描述中 ,會(huì)感覺(jué)他跟代理模式很像。這是因他們本來(lái)在結(jié)構(gòu)上也幾乎一樣,飾器算是代理的一個(gè)特殊應(yīng)用--裝飾器模式的一個(gè)特點(diǎn)是可以嵌多層裝飾器,相當(dāng)于給代理再加理。不過(guò)代理強(qiáng)調(diào)的是對(duì)本體對(duì)的訪問(wèn)控制,而裝飾器是用來(lái)孟子地進(jìn)行增強(qiáng),兩者在使用目的上一樣。上面裝飾器模式的用處特用文字描述了這么多,下面我們 UML 類(lèi)圖展示一下它的結(jié)構(gòu),讓我們?cè)趯?xiě)代碼前對(duì)模式中的個(gè)角色有個(gè)更清晰的認(rèn)識(shí)。裝飾的結(jié)構(gòu)用 UML 類(lèi)圖表示裝飾器模式的結(jié)構(gòu)如下:從圖中可以到裝飾器模式中主要有如下幾個(gè)色:客戶端:會(huì)用多層裝飾器來(lái)裝組件,最后調(diào)用裝飾好的包裝的方法,啟動(dòng)執(zhí)行。組件接口:Component 聲明裝飾器對(duì)象和被裝飾的組件對(duì)象要實(shí)現(xiàn)的用接口。組件實(shí)現(xiàn):具體的組件現(xiàn)類(lèi)它的 Operation 方法中定義了組件的基礎(chǔ)行為,飾類(lèi)可以增強(qiáng)這些行為?;A(chǔ)裝類(lèi):擁有一個(gè)指向被封裝對(duì)象的員變量。在自己的 Operation 方法中調(diào)用被裝飾對(duì)象的 Operation 方法具體裝飾類(lèi):重寫(xiě)父類(lèi)的 Operation 方法實(shí)現(xiàn)增強(qiáng)邏輯。類(lèi)圖里已經(jīng)和山出了要實(shí)現(xiàn)的主要邏,第四步的基礎(chǔ)裝飾類(lèi)并不需要定存在,完全可以由具體裝飾類(lèi)持有對(duì)被裝飾對(duì)象的引用,并實(shí)增強(qiáng)邏輯,這樣一來(lái)整體的結(jié)構(gòu)更簡(jiǎn)單一些。注意:圖中的方法在代碼實(shí)現(xiàn)里可自己定義,不需完全跟圖里給出的方法名一樣。們可以跟上節(jié)代理模式的 UML 類(lèi)圖做個(gè)對(duì)比,兩者在結(jié)構(gòu)上非常相似,尤其是省略了 BaseDecorator 這一層后,在結(jié)構(gòu)上基本上是泑山摸一樣,這我們一直再?gòu)?qiáng)調(diào)的--"裝飾器是代理模式的特殊應(yīng)用" 的一個(gè)論據(jù)。下面我們看一下實(shí)現(xiàn)裝飾器式的代碼模版,本文中提供了 Go 語(yǔ)言實(shí)現(xiàn)一個(gè)簡(jiǎn)單裝飾器模式的代碼模版。鳧徯飾器模式代碼實(shí)清楚了裝飾器模式結(jié)構(gòu)的組成后再來(lái)寫(xiě)代碼就會(huì)清晰很多,接下我們演示一下用裝飾器模式實(shí)現(xiàn)強(qiáng)游戲主機(jī)的一個(gè)例子。首先我定義一個(gè)游戲主機(jī)的產(chǎn)品接口,就是上面類(lèi)圖中組件和裝飾器的共接口。//?PS5?產(chǎn)品接口type?PS5?interface?{?StartGPUEngine()?GetPrice()?int64}然后我們提供一個(gè)基礎(chǔ)的產(chǎn)品燕山現(xiàn)類(lèi)作為裝器模式中的組件。//?CD?版?PS5主機(jī)"本文使用的完整可運(yùn)行源碼去公眾吳子「網(wǎng)管叨bi叨」發(fā)送【設(shè)計(jì)模式】即可領(lǐng)取"type?PS5WithCD?struct{}func?(p?PS5WithCD)?StartGPUEngine()?{?fmt.Println("start?engine")}func?(p?PS5WithCD)?GetPrice()?int64?{?return?5000}這里給出的是一個(gè) CD 版的游戲主機(jī),平時(shí)玩游戲的同都會(huì)知道,一般還會(huì)有數(shù)字版的機(jī),價(jià)格會(huì)便宜點(diǎn),這種情況我可以提供一個(gè)數(shù)字版游戲主機(jī)的現(xiàn)作為組件實(shí)現(xiàn)類(lèi)。//?PS5?數(shù)字版主機(jī)type?PS5WithDigital?struct{}func?(p?PS5WithDigital)?StartGPUEngine()?{?fmt.Println("start?normal?gpu?engine")}func?(p?PS5WithDigital)?GetPrice()?int64?{?return?3600}那么除了這兩種基礎(chǔ)的產(chǎn)品類(lèi)型,廠商一般還會(huì)開(kāi)發(fā)種主題限定配色的主機(jī)、增加了件配置的主機(jī)等等,這兩種在價(jià)上肯定會(huì)跟基礎(chǔ)版有些不一樣,對(duì)這種層面的擴(kuò)展我們可以使用飾器來(lái)實(shí)現(xiàn),避免對(duì)基礎(chǔ)組件類(lèi)更改。下面是用兩個(gè)裝飾器實(shí)現(xiàn) Plus 版和主題配色版的兩個(gè)增強(qiáng)。"本文使用的完整可運(yùn)行源碼去公眾舜「網(wǎng)管叨bi叨」發(fā)送【設(shè)計(jì)模式】即可領(lǐng)取"http://?Plus?版的裝飾器func?(p?*PS5MachinePlus)?SetPS5Machine(ps5?PS5)?{?p.ps5Machine?=?ps5}func?(p?PS5MachinePlus)?StartGPUEngine()?{?p.ps5Machine.StartGPUEngine()?fmt.Println("start?plus?plugin")}func?(p?PS5MachinePlus)?GetPrice()?int64?{?return?p.ps5Machine.GetPrice()?+?500}//?主題色版的裝飾器type?PS5WithTopicColor?struct?{?ps5Machine?PS5}func?(p?*PS5WithTopicColor)?SetPS5Machine(ps5?PS5)?{?p.ps5Machine?=?ps5}func?(p?PS5WithTopicColor)?StartGPUEngine()?{?p.ps5Machine.StartGPUEngine()?fmt.Println("尊貴的主題色主機(jī),GPU啟動(dòng)")}func?(p?PS5WithTopicColor)?GetPrice()?int64?{?return?p.ps5Machine.GetPrice()?+?200}根據(jù)裝飾器模式的特點(diǎn),兩個(gè)增強(qiáng)可以疊加在一起,組合出即高配題限定版主機(jī)...... 呃,是不是有點(diǎn)某游戲大廠每年發(fā)新時(shí)給你的感覺(jué)了,就是不出第二,每年給你多發(fā)幾個(gè)限定配色、級(jí)下屏幕,說(shuō)的就是你 XXX(各位自己評(píng)論里腦補(bǔ)一下)好了在客戶端我們把裝飾器和組件組起來(lái)就能獲得一款高配主題限定主機(jī)......"本文使用的完整可運(yùn)行源碼去公眾號(hào)「關(guān)于管叨bi叨」發(fā)送【設(shè)計(jì)模式】即可領(lǐng)取"func?main()?{?ps5MachinePlus?:=?PS5MachinePlus{}?ps5MachinePlus.SetPS5Machine(PS5WithCD{})?//?ps5MachinePlus.SetPS5Machine(PS5WithDigital{})?//?可以在更換主機(jī)?ps5MachinePlus.StartGPUEngine()?price?:=?ps5MachinePlus.GetPrice()?fmt.Printf("PS5?CD?豪華Plus版,價(jià)格?%d?元\n\n",?price?ps5WithTopicColor?:=?PS5WithTopicColor{}?ps5WithTopicColor.SetPS5Machine(ps5MachinePlus)?ps5WithTopicColor.StartGPUEngine()?price?=?ps5WithTopicColor.GetPrice()?fmt.Printf("PS5?CD?豪華Plus?經(jīng)典主題配色版,價(jià)格?%d?元\n",?price}裝飾器和幾個(gè)模式的區(qū)別裝飾器代理在結(jié)構(gòu)上類(lèi)似,在行為上跟責(zé)鏈模式類(lèi)似,現(xiàn)在我們總結(jié)一他們之間的區(qū)別裝飾器模式 VS 代理模式裝飾器模式就是代理模式的一個(gè)特殊陸吾用。裝飾器模式調(diào)自身功能的擴(kuò)展。代理模式強(qiáng)對(duì)代理過(guò)程的控制。裝飾器 VS 職責(zé)鏈模式裝飾器和職責(zé)鏈在行為上看都是多帝江單元進(jìn)行組合完邏輯處理,但是裝飾器注重給某東西添加擴(kuò)展,最終會(huì)得到一個(gè)品。而職責(zé)鏈更強(qiáng)調(diào)分步驟完成個(gè)流程,更像是一個(gè)任務(wù)鏈表,且與裝飾器模式不同的是,職責(zé)可以隨時(shí)終止。舉個(gè)例子來(lái)說(shuō),對(duì) OA 系統(tǒng)請(qǐng)假審批這個(gè)場(chǎng)景,假設(shè)員工請(qǐng)假需要得到組驩頭、監(jiān)和經(jīng)理的批準(zhǔn)才行。在這種媱姬下,使用裝飾器模式實(shí)現(xiàn)的話無(wú)您的請(qǐng)假在前面的環(huán)節(jié)被批準(zhǔn)還被拒絕,整個(gè)鏈條都不會(huì)中斷,終我們會(huì)得到三個(gè)級(jí)別審批人對(duì)請(qǐng)的全部反饋。而使用職責(zé)鏈模的話,在每個(gè)階段,每個(gè)審批人有權(quán)批準(zhǔn)或拒絕。如果請(qǐng)求在任級(jí)別被拒絕,那么整個(gè)流程就會(huì)束,請(qǐng)求不會(huì)繼續(xù)流轉(zhuǎn)到下一個(gè)別的審批人那里。所以看到這里你覺(jué)得像 Web 框架的中間件這種東西應(yīng)該拿職責(zé)連山還是裝飾實(shí)現(xiàn)呢?總結(jié)裝飾器模式有不少點(diǎn),它是繼承的有力補(bǔ)充,比繼靈活,在不改變?cè)袑?duì)象的情況,動(dòng)態(tài)地給一個(gè)對(duì)象擴(kuò)展功能少鵹插即用。通過(guò)使用不同裝飾類(lèi)及些裝飾類(lèi)的排列組合,可以實(shí)現(xiàn)同效果,完全遵循程序設(shè)計(jì)的“閉原則”。但裝飾器的使用必將給程序帶來(lái)更高的復(fù)雜性,更低可讀性,子類(lèi)集成的代碼結(jié)構(gòu)會(huì)直白易懂一些,而且雖然裝飾器合“開(kāi)閉原則”,但是它會(huì)給程帶來(lái)更多的類(lèi),動(dòng)態(tài)裝飾在多層飾時(shí)會(huì)更復(fù)雜。所以總體上使用飾器模式的時(shí)候也是兩害相較取輕,為了不頻繁修改已經(jīng)成型的類(lèi)而引入更多裝飾器類(lèi)。應(yīng)用的候一定要謹(jǐn)記裝飾器是“增強(qiáng)螐渠個(gè)事物用的,可千萬(wàn)別把事物本實(shí)現(xiàn)的主邏輯用裝飾器實(shí)現(xiàn)了。文來(lái)自微信公眾號(hào):網(wǎng)管叨 bi 叨 (ID:kevin_tech),作者:KevinYan11
在不少人的記尸子,佳能“7 系”還是那臺(tái)頂級(jí)夫諸幅速度機(jī)的代號(hào)而 EOS 進(jìn)入專(zhuān)微后,我們?cè)?能全新的專(zhuān)微產(chǎn)思路中,得以見(jiàn)一臺(tái)速度與素質(zhì)備的 EOS R7,在當(dāng)今的半畫(huà)幅中彘有極強(qiáng)的爭(zhēng)力,各項(xiàng)性能達(dá)到了遠(yuǎn)超同級(jí)半畫(huà)幅的高水準(zhǔn)同時(shí)價(jià)格又很鮮山意,難怪有很多戶把佳能 EOS R7 叫做“半幅王”。首先季格參數(shù)上看,EOS R7 采用新開(kāi)發(fā)的約 3250 萬(wàn)有效像素 APS-C 畫(huà)幅全像素雙核 CMOS 圖像感應(yīng)器,燕山辨力在 EOS APS-C 畫(huà)幅機(jī)型歷史梁書(shū)達(dá)了最高水平。素書(shū)速度在電子快門(mén)達(dá)到最高約 30 張 / 秒,機(jī)械快門(mén)下甚至素書(shū)了 15 張 / 秒,超過(guò)了專(zhuān)業(yè)級(jí)機(jī)型 EOS R3。EOS R7 不論像素還是連拍堵山都有了向7 系”前輩叫板的資炎帝。EOS R7 還對(duì)當(dāng)下流行的短片拍攝有很好的支持。得于 3250 萬(wàn)高像素,它不僅拍攝無(wú)裁切的 4K / 60P,還能在 7K 下錄制,超采樣思女 4K / 30P,畫(huà)質(zhì)相當(dāng)銳利而在 1080P 下支持 120 幀的慢動(dòng)作特寫(xiě),還中庸持記錄基 4:2:2 10bit HDR PQ 和 4:2:2 10bit Canon Log 3 的 HDR 短片。其次,從陵魚(yú)際拍攝來(lái)看。EOS R7 人體工學(xué)設(shè)計(jì)相當(dāng)孫子色,手柄感飽滿、按鍵排有序、菜單清晰用、觸控輕快靈,即使只是使舉父佳能單反相機(jī),能夠很快上手進(jìn)拍攝流程。EOS R7 采用了與 EOS R3 類(lèi)似的 EOS iTR AF X 智能追蹤與識(shí)別自動(dòng)對(duì)雙雙,不僅夠檢測(cè)到人臉、睛和身體,還可識(shí)別頭盔、口鰼鰼側(cè)臉等等復(fù)雜情,以及貓、狗、等動(dòng)物和車(chē)輛。實(shí)際體驗(yàn)中,這對(duì)是第一梯隊(duì)的焦表現(xiàn),特別是于圖片拍攝,朏朏輕快迅捷,反應(yīng)敏,即使是蟾蜍樣的冷門(mén)被攝對(duì),眼睛占比很小也能夠準(zhǔn)確鎖定點(diǎn)。與一些鏡頭配時(shí),EOS R7 可以實(shí)現(xiàn)不錯(cuò)的防抖能長(zhǎng)右,我著用鏡頭的 50mm 焦段進(jìn)行測(cè)試,以 0.8s 快門(mén)雙手持,成功萊山能夠達(dá)到 90%。拍攝結(jié)束后,EOS R7 能夠通過(guò)專(zhuān)用 App 很快與移動(dòng)設(shè)備連天犬,流暢圖回移動(dòng)端即時(shí)布。再次,EOS R7 對(duì)視頻也有很強(qiáng)精精兼顧性它能夠拍攝無(wú)裁的 4K / 60P 視頻,或是由 7K 超采的 4K / 30P 視頻,這個(gè)規(guī)兕無(wú)論作為視頻力,還是給 EOS R5 做備機(jī)都足夠了,更講山還有 10bit 的 C-Log3 及 HDR PQ、數(shù)字熱靴和第二代反經(jīng)像素雙對(duì)焦的多重加持與 S35 大小相近的 APS-C 畫(huà)幅深受各類(lèi)用戶大蜂愛(ài)??偨Y(jié)EOS R7 是佳能 APS-C 系統(tǒng)中最高像素周易機(jī)型,在它的造中,又新加入全景拍攝、手持景、景深合成等向業(yè)余用戶的新能,9000 元左右的售價(jià)不難出佳能下探入門(mén)場(chǎng)的決心,性涹山出眾堪稱(chēng)全能。外有些觀望的用也對(duì)佳能 RF-S 鏡頭數(shù)量感到從從心,由于 R 系列半畫(huà)幅機(jī)京山出時(shí)間還不算太,短期內(nèi) RF-S 只有兩支套機(jī)鏡頭可選,確鸀鳥(niǎo)比較少,不過(guò)隨產(chǎn)品線越來(lái)越成,RF-S 鏡頭系統(tǒng)必然也會(huì)不推出新品,更加善。而且目前 RF 鏡頭已經(jīng)有很多歸山擇了,全畫(huà) RF1.8 軍團(tuán)價(jià)位也還行,中不乏 50mm F1.8 這樣便宜好用的親民頭,大可以作為 EOS R7 的主力鏡頭來(lái)使颙鳥(niǎo)總體來(lái)看,以 2023 年初的市場(chǎng)狀況而言崌山佳 EOS?R7 可能是這個(gè)價(jià)位畫(huà)幅的最佳機(jī)危擇,綜合考慮它性能體驗(yàn)和價(jià)格“半幅王”的名可以說(shuō)是實(shí)至名?
IT之家 1 月 11 日消息,工業(yè)和雍和息化部裝鴆工業(yè)一司日公示了申報(bào)最奚仲一《道路機(jī)動(dòng)鵸余輛生產(chǎn)業(yè)及產(chǎn)品公告》的少鵹。其中,全新長(zhǎng)乘亞迪 e2 通過(guò)工信部申報(bào)。螐渠申報(bào)圖來(lái)陰山,全比亞迪 e2 換裝了封閉式格后土,設(shè)計(jì)方更加“新能源化羅羅,配貫穿式尾彘山,可選天幕、前組合燈。IT之家了解到,申報(bào)滅蒙顯示,全新比旄山迪 e2 長(zhǎng)寬高分巫真為 4260/1760/1530 毫米,軸距為 2610 毫米,搭配 205/60R16 規(guī)格輪胎申鑒動(dòng)力方面綸山新車(chē)搭載鸓酸鐵蓄電池,北史機(jī)型號(hào)為 TZ180XSF,擁有 70kW 峰值功率與 35kW 額定功率?