人工智能助手“Windows Copilot”,以便用戶能夠在Windows系統(tǒng)中獲得聊天機(jī)器人體驗(yàn)。 ? 從搜索引擎到操作系統(tǒng),微軟帶來(lái)的變革 ? 微軟是一家全球知名的科技企業(yè),其最為著名和暢銷的產(chǎn)品
2023-05-25 09:16:17
1664 
一樣,谷歌將這項(xiàng)AI技術(shù)融入到了旗下各種產(chǎn)品當(dāng)中,如搜索、電子郵件、翻譯。 ? 最引人注意的是,做為全球最大的搜索引擎公司,也是AI行業(yè)的領(lǐng)軍企業(yè),但從去年底開始隨著OpenAI發(fā)布ChatGPT這項(xiàng)可能改變?nèi)藗兿M(fèi)和創(chuàng)建信息方式的AI技術(shù)以后,谷歌
2023-05-12 01:31:00
1401 
Perplexity首席執(zhí)行官Aravind Srinivas告訴The Verge,許多人正在使用像常規(guī)搜索引擎一樣的聊天機(jī)器人 —— 直接從源頭提供他們想要的東西的信息是有意義的,比如選擇餐館。
2024-03-19 17:36:46
270 
這項(xiàng)合作如能達(dá)成,勢(shì)將基于兩家公司長(zhǎng)期穩(wěn)定的搜索業(yè)務(wù)關(guān)系。事實(shí)上,谷歌母公司Alphabet每年都會(huì)向蘋果支付數(shù)十億元人民幣以確保其搜索引擎成為iPhone及其他產(chǎn)品的默認(rèn)瀏覽器。
2024-03-18 15:59:51
58 Web 服務(wù)器、搜索引擎和內(nèi)容管理系統(tǒng)等位于企業(yè)云基礎(chǔ)設(shè)施前端的應(yīng)用程序,是引入可擴(kuò)展、高能效 arm64 架構(gòu)的理想對(duì)象。
2024-03-15 14:39:03
33 
微軟通過(guò)提示窗口表示,只要將Bing設(shè)為Chrome瀏覽器的默認(rèn)搜索引擎,即可免費(fèi)享用ChatGPT-4,且每天可與Bing人工智能進(jìn)行數(shù)百次的對(duì)話交流。
2024-03-15 14:32:23
243 在 illd 上搜索了很長(zhǎng)時(shí)間,并使用了 Google 等搜索引擎。我似乎沒(méi)有找到矩陣庫(kù)或相關(guān)的三角函數(shù)庫(kù)。不過(guò),我倒是找到了一個(gè)類似于 atan2 的反正切加速函數(shù)。
2024-03-05 07:47:32
周鴻祎表示,2024年大模型必須跟場(chǎng)景結(jié)合,否則永遠(yuǎn)都是大公司不斷秀自己技術(shù)實(shí)力的一個(gè)玩具。所以,我們做了這兩個(gè)場(chǎng)景……
2024-03-01 17:22:24
164 
此次舉措正逢多家競(jìng)爭(zhēng)對(duì)手及反壟斷審查部門關(guān)注微軟市場(chǎng)影響力之際,特別是其近期與ChatGPT創(chuàng)始方OpenAI聯(lián)手,進(jìn)一步彰顯了其實(shí)力。過(guò)去一年來(lái),微軟已將聊天機(jī)器人融入其核心產(chǎn)品,如Office軟件及必應(yīng)搜索引擎,吸引了諸多期望踏入科技行業(yè)前沿的企業(yè)。
2024-02-27 16:16:16
121 CNBC及其他媒體引述的美國(guó)司法部反壟斷公訴書詳細(xì)列舉了谷歌在搜索領(lǐng)域所持的壟斷角色。訴狀中透露,盡管微軟多次試圖將必應(yīng)用戶作為Safari瀏覽器的默認(rèn)搜索引擎,但每一次均因搜索結(jié)果質(zhì)量不滿意而遭遭到蘋果的回絕。
2024-02-25 10:39:45
204 RediSearch 是一個(gè) Redis 模塊,為 Redis 提供查詢、二級(jí)索引和全文搜索功能。
2024-02-21 10:01:50
301 
據(jù)市場(chǎng)分析機(jī)構(gòu)Gartner報(bào)道,生成式AI對(duì)傳統(tǒng)搜索引擎構(gòu)成重大威脅,預(yù)計(jì)至2026年搜索量將降低25%。為此,企業(yè)需調(diào)整營(yíng)銷策略。
2024-02-20 10:04:38
170 protues添加通過(guò)component search engine 下載的電子元件模型后就閃退,流程是通過(guò)“庫(kù)-Import Parts\",然后就按照提示一直選擇下去,添加從搜索引擎
2024-02-15 13:00:28
HarmonyOS 融合搜索為開發(fā)者提供搜索引擎級(jí)的全文搜索能力,可支持應(yīng)用內(nèi)搜索和系統(tǒng)全局搜索,為用戶提供更加準(zhǔn)確、高效的搜索體驗(yàn)。 基本概念 全文索引 記錄字或詞的位置和次數(shù)等屬性,建立的倒排
2024-01-29 16:24:27
144 
谷歌搜索引擎是最受歡迎和廣泛使用的搜索引擎之一,為了使你的網(wǎng)站在谷歌上更好地排名并提高曝光度,你可以采取一些谷歌搜索引擎優(yōu)化的步驟。 使用關(guān)鍵字研究工具,如Google AdWords關(guān)鍵字規(guī)劃工具
2024-01-25 10:29:12
228 作為 OpenAI 投資的一部分,微軟已開始為 Bing 搜索引擎和帶有 Copilot 預(yù)覽版的 Windows 引入 AI 功能。 Copilot 可以增加一個(gè)有價(jià)值的新收入來(lái)源,微軟會(huì)收取少量訂閱費(fèi),以便將其與 Microsoft 365 中的 Office 一起使用。
2024-01-16 16:16:43
420 百度搜索exgraph圖執(zhí)行引擎設(shè)計(jì)重點(diǎn)分成三個(gè)部分:圖描述語(yǔ)言、圖執(zhí)行引擎、對(duì)接擴(kuò)展。
2024-01-16 10:27:19
182 
投放功能與作用: 搜索廣告:BDS通過(guò)在百度搜索引擎中投放關(guān)鍵詞廣告,將廣告展示給用戶搜索相關(guān)詞匯時(shí),提升企業(yè)在搜索結(jié)果中的曝光度,增加點(diǎn)擊率和轉(zhuǎn)化率。 網(wǎng)盟推廣:BDS將廣告投放到百度合作的網(wǎng)站和應(yīng)用中,包括門戶網(wǎng)站、媒體平
2024-01-15 13:46:53
368 導(dǎo)致MySQL索引失效的情況以及相應(yīng)的解決方法? MySQL索引的目的是提高查詢效率,但有些情況下索引可能會(huì)失效,導(dǎo)致查詢變慢或效果不如預(yù)期。下面將詳細(xì)介紹導(dǎo)致MySQL索引失效的情況以及相應(yīng)
2023-12-28 10:01:18
235 作為開發(fā)人員,碰到了執(zhí)行時(shí)間較長(zhǎng)的 sql 時(shí),基本上大家都會(huì)說(shuō)” 加個(gè)索引吧”。但是索引是什么東西,索引有哪些特性,下面和大家簡(jiǎn)單討論一下。
2023-12-24 16:20:19
387 
同時(shí),另外一位了解谷歌規(guī)劃的知情者也透露,谷歌預(yù)計(jì)會(huì)對(duì)負(fù)責(zé)大型客戶銷售的人員進(jìn)行調(diào)配,甚至可能包含裁員。消息還顯示,谷歌現(xiàn)正加大對(duì)機(jī)器學(xué)習(xí)技術(shù)的投入以提升客戶在自身搜索引擎、YouTube以及其他服務(wù)中的廣告購(gòu)買率。
2023-12-20 14:59:13
536 Manticore Search 是一個(gè)使用 C++ 開發(fā)的高性能搜索引擎,創(chuàng)建于 2017 年,其前身是 Sphinx Search 。Manticore Search 充分利用了 Sphinx,顯著改進(jìn)了它的功能,修復(fù)了數(shù)百個(gè)錯(cuò)誤,幾乎完全重寫了代碼并保持開源。
2023-12-18 16:57:38
472 
隨著類ChatGPT人工智能技術(shù)的快速發(fā)展,大模型作為重要的技術(shù)方向已經(jīng)在許多領(lǐng)域取得了顯著的進(jìn)展,如自然語(yǔ)言處理、搜索引擎、圖像識(shí)別和智能辦公軟件等。
2023-12-14 16:09:33
572 景利用索引為開發(fā)人員帶來(lái)更好的體驗(yàn)RedisEnterprise實(shí)時(shí)搜索的優(yōu)勢(shì)低延遲搜索的3種常見(jiàn)應(yīng)用案例現(xiàn)代應(yīng)用程序的構(gòu)建中,開發(fā)者和架構(gòu)師更青睞于實(shí)時(shí)搜索,其能提
2023-11-26 08:05:43
129 
面對(duì)海量的互聯(lián)網(wǎng)公共知識(shí),如何索引就成了人類必須解決的重要課題。20世紀(jì)90年代,搜索引擎出現(xiàn)了蓬勃發(fā)展,其中優(yōu)秀和典型的代表分別是谷歌和百度,它們成長(zhǎng)背后的推動(dòng)力也是人類種群知識(shí)庫(kù)發(fā)展的必然要求。
2023-11-25 14:58:43
556 是的, format() 函數(shù)可以傳遞負(fù)索引。在使用 format() 函數(shù)進(jìn)行字符串格式化時(shí),可以使用索引來(lái)指定要替換的參數(shù)位置。正索引從0開始,負(fù)索引從-1開始,表示相對(duì)于參數(shù)列表末尾的位置
2023-11-22 09:45:42
162 TIOBE 編程社區(qū)指數(shù)是一個(gè)衡量編程語(yǔ)言受歡迎程度的指標(biāo),評(píng)判的依據(jù)來(lái)自世界范圍內(nèi)的工程師、課程、供應(yīng)商及搜索引擎,tiobe網(wǎng)站于2023年11月公布了編程語(yǔ)言排名。
2023-11-13 14:45:01
672 說(shuō)到云計(jì)算的起源,公眾普遍認(rèn)為,谷歌前 CEO 埃里克·施密特是云計(jì)算概念的第一個(gè)提出者。 2006 年 8 月 9 日,在搜索引擎大會(huì)(SES San Jose 2006)上,他提出了“云計(jì)算
2023-11-09 15:23:34
462 2006 年 8 月 9 日,當(dāng)時(shí)的谷歌首席執(zhí)行官埃里克·施密特(Eric Schmidt)在搜索引擎大會(huì)(SES San Jose 2006)上,首次提出了“云計(jì)算”(Cloud
2023-11-09 11:37:44
207 人工智能尤其是大型語(yǔ)言模型的應(yīng)用,重塑了我們與信息交互的方式,也為企業(yè)帶來(lái)了重大的變革。將基于大模型的檢索增強(qiáng)生成(RAG)集成到業(yè)務(wù)實(shí)踐中,不僅是一種趨勢(shì),更是一種必要。它有助于實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)型決策,并提供個(gè)性化、自動(dòng)化的服務(wù),為業(yè)務(wù)增長(zhǎng)和生產(chǎn)力提升開辟新的途徑。?? 在當(dāng)今快速發(fā)展的技術(shù)環(huán)境中,生成式人工智能,尤其是大型語(yǔ)言模型(LLMs),正在迎來(lái)一個(gè)重要的轉(zhuǎn)折點(diǎn)。 這些模型正站在變革的最前沿,重塑了我們與信
2023-11-06 08:10:02
215 
/算法/軟件工程師的人力投入和包括硬件在內(nèi)的物力投入。其次,為了進(jìn)一步提高搜索準(zhǔn)確率,如何引導(dǎo)用戶搜索描述更加準(zhǔn)確和充分利用用戶行為優(yōu)化搜索引擎也是常見(jiàn)的用戶痛點(diǎn)。此外,如何根據(jù)企業(yè)知識(shí)庫(kù)直接給出用戶提問(wèn)的答案
2023-11-02 11:22:02
373 
用戶及合作伙伴一道成長(zhǎng)、共同探索,成就無(wú)數(shù)美好瞬間。十年間,必應(yīng)不斷進(jìn)行技術(shù)創(chuàng)新,以期為用戶創(chuàng)造更多更好的網(wǎng)絡(luò)體驗(yàn)。 光陰的故事 必應(yīng)的搜索夢(mèng)始于一個(gè)有趣的聲響。 2009年,微軟認(rèn)為其當(dāng)時(shí)的搜索引擎產(chǎn)品 “Live Search”?不夠簡(jiǎn)
2023-10-31 11:35:05
196 
學(xué)習(xí)的新手發(fā)現(xiàn)BERT模型并不好搭建,上手難度很高,普通人可能要研究幾天才能勉強(qiáng)搭建出一個(gè)模型。 沒(méi)關(guān)系,今天我們介紹的這個(gè)模塊,能讓你在3分鐘內(nèi)基于BERT算法搭建一個(gè)問(wèn)答搜索引擎。它就是 bert-as-service 項(xiàng)目。這個(gè)開源項(xiàng)目,能夠讓你基于多GPU機(jī)器快速搭建BERT服務(wù)(支持微
2023-10-30 11:46:10
302 
有評(píng)論認(rèn)為,大部分用 SSR 的原因是為了服務(wù) SEO,但現(xiàn)在搜索引擎已經(jīng)跟上發(fā)展步伐了,對(duì)于用框架寫成的 SPA 支持也不錯(cuò),所以 SSR 必要性沒(méi)那么大了。還有人覺(jué)得 SSR 就是偽需求,業(yè)務(wù)邏輯和控制器分離好了加載一樣快。
2023-10-29 16:15:39
517 搜索APP。百度旗下簡(jiǎn)單搜索17日大升級(jí),簡(jiǎn)單搜索,首個(gè)AI互動(dòng)式搜索引擎,能聽(tīng)會(huì)看,聰明懂你。全新的百度搜索為用戶帶來(lái)全新的搜索體驗(yàn)?;卮鸶`活、結(jié)論更清晰、更懂邏輯。 在簡(jiǎn)單搜索不管用戶輸入的問(wèn)題有多長(zhǎng)有多復(fù)雜,簡(jiǎn)單搜索都會(huì)竭盡所能直接給你答案;而且用戶可以和搜索對(duì)話,而這
2023-10-17 12:34:54
840 在剛剛過(guò)去的中秋節(jié)和國(guó)慶節(jié)長(zhǎng)假期間,蘇州捷杰傳感的工程師們應(yīng)客戶要求,急客戶之所急,放棄了與家人團(tuán)聚的機(jī)會(huì),毅然選擇了前往客戶現(xiàn)場(chǎng),進(jìn)行傳感器與在線監(jiān)測(cè)系統(tǒng)的安裝布線、組網(wǎng)、測(cè)試和培訓(xùn)工作。
2023-10-17 11:23:33
472 
今年以來(lái),為鼓勵(lì)新能源汽車消費(fèi),各地區(qū)相繼出臺(tái)了購(gòu)置稅減免、政府消費(fèi)補(bǔ)貼等優(yōu)惠政策,尤其中秋、國(guó)慶“雙節(jié)”期間,各大車企優(yōu)惠促銷紛紛助燃,新能源汽車消費(fèi)市場(chǎng)呈現(xiàn)欣欣向榮景象。
2023-10-13 09:54:01
73 ,適用于各種場(chǎng)景,如搜索引擎、電子商務(wù)網(wǎng)站和數(shù)據(jù)可視化,可以幫助用戶在包含大量數(shù)據(jù)的環(huán)境中快速地找到相關(guān)的搜索結(jié)果,并支持高度可定制化的搜索選項(xiàng)。
2.開發(fā)環(huán)境
安裝IDE :支持DevEco
2023-10-12 15:05:25
數(shù)據(jù)類型和多語(yǔ)言搜索,適用于各種場(chǎng)景,如搜索引擎、電子商務(wù)網(wǎng)站和數(shù)據(jù)可視化,可以幫助用戶在包含大量數(shù)據(jù)的環(huán)境中快速地找
2023-10-10 21:10:02
283 說(shuō)一說(shuō)索引的底層實(shí)現(xiàn)? Hash索引 基于哈希表實(shí)現(xiàn),只有精確匹配索引所有列的查詢才有效,對(duì)于每一行數(shù)據(jù),存儲(chǔ)引擎都會(huì)對(duì)所有的索引列計(jì)算一個(gè)哈希碼(hashcode),并且Hash索引將所有的哈希
2023-10-09 10:26:14
431 
1. 索引是什么? 索引是一種特殊的文件(InnoDB數(shù)據(jù)表上的索引是表空間的一個(gè)組成部分),它們包含著對(duì)數(shù)據(jù)表里所有記錄的引用指針。 索引是一種數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)庫(kù)索引,是數(shù)據(jù)庫(kù)管理系統(tǒng)中一個(gè)排序
2023-10-09 10:19:10
1153 索引結(jié)構(gòu):B+樹 索引其實(shí)是一種數(shù)據(jù)結(jié)構(gòu) 注意B+樹是MySQL,索引默認(rèn)的結(jié)構(gòu);一張表至少有一個(gè)索引(主鍵索引),是可以有多個(gè)索引的 MySQL中的B+Tree 非葉子節(jié)點(diǎn) 也叫內(nèi)部節(jié)點(diǎn),只存儲(chǔ)
2023-09-30 16:43:00
221 光彩。如今,隨著科技的進(jìn)步,生成式 AI 也逐漸融入了大家的日常生活,給我們帶來(lái)了全新的體驗(yàn)! 生成中秋專屬賀卡 中秋節(jié),又被贊譽(yù)為“圓月佳節(jié)”,是中華傳統(tǒng)節(jié)令中的一顆瑰寶,代表著家庭團(tuán)聚與美食共享的時(shí)刻。 值此佳節(jié),給大家介紹一個(gè)有趣的模型:? NVIDIA NGC Stabl
2023-09-28 18:25:01
380 
2 023年9 月29日是中秋節(jié),這是我們的傳統(tǒng)文化節(jié)日。 月亮為了中秋這一天,正在努力地一點(diǎn)點(diǎn)變圓, 合科泰家人們?yōu)榱俗?我 們最 親愛(ài)的 客戶滿意,一直在努力地提高產(chǎn)品質(zhì)量和客戶滿意度
2023-09-28 16:35:01
264 值此中秋佳節(jié)和國(guó)慶來(lái)臨之際,讓我們共聚團(tuán)圓,歡度喜慶! 為了慶祝中秋和國(guó)慶的雙重盛會(huì),DigiKey特別為您準(zhǔn)備了精彩的活動(dòng)—— 電子世界燈謎猜猜樂(lè) !我們?cè)O(shè)置了有趣的謎面,謎底涵蓋元器件
2023-09-27 20:10:04
187 
@Styles和@Extend僅僅應(yīng)用于靜態(tài)頁(yè)面的樣式復(fù)用,stateStyles可以依據(jù)組件的內(nèi)部狀態(tài)的不同,快速設(shè)置不同樣式。這就是我們本章要介紹的內(nèi)容stateStyles(又稱為:多態(tài)樣式)。
概述
stateStyles是屬性方法,可以根據(jù)UI內(nèi)部狀態(tài)來(lái)設(shè)置樣式,類似于css偽類,但語(yǔ)法不同。ArkUI提供以下四種狀態(tài):
● focused:獲焦態(tài)。
● normal:正常態(tài)。
● pressed:按壓態(tài)。
● disabled:不可用態(tài)。
● selected^10+^:選中態(tài)。
使用場(chǎng)景
基礎(chǔ)場(chǎng)景
下面的示例展示了stateStyles最基本的使用場(chǎng)景。Button處于第一個(gè)組件,默認(rèn)獲焦,生效focused指定的粉色樣式。按壓時(shí)顯示為pressed態(tài)指定的黑色。如果在Button前再放一個(gè)組件,使其不處于獲焦態(tài),就會(huì)生效normal態(tài)的黃色。
@Entry
@Component
struct StateStylesSample {
build() {
Column() {
Button(\'Click me\')
.stateStyles({
focused: {
.backgroundColor(Color.Pink)
},
pressed: {
.backgroundColor(Color.Black)
},
normal: {
.backgroundColor(Color.Yellow)
}
})
}.margin(\'30%\')
}
}
}
}
<span class=\"vditor-linenumber__rows\"><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span></span>
@Styles和stateStyles聯(lián)合使用
以下示例通過(guò)@Styles指定stateStyles的不同狀態(tài)。
@Entry
@Component
struct MyComponent {
@Styles normalStyle() {
.backgroundColor(Color.Gray)
}
@Styles pressedStyle() {
.backgroundColor(Color.Red)
}
build() {
Column() {
Text(\'Text1\')
.fontSize(50)
.fontColor(Color.White)
.stateStyles({
normal: this.normalStyle,
pressed: this.pressedStyle,
})
}
}
}
}
}
<span class=\"vditor-linenumber__rows\"><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span></span>
在stateStyles里使用常規(guī)變量和狀態(tài)變量
stateStyles可以通過(guò)this綁定組件內(nèi)的常規(guī)變量和狀態(tài)變量。
@Entry
@Component
struct CompWithInlineStateStyles {
@State focusedColor: Color = Color.Red;
normalColor: Color = Color.Green
build() {
Button(\'clickMe\').height(100).width(100)
.stateStyles({
normal: {
.backgroundColor(this.normalColor)
},
focused: {
.backgroundColor(this.focusedColor)
}
})
.onClick(() => {
this.focusedColor = Color.Pink
})
.margin(\'30%\')
}
}
}
}
<span class=\"vditor-linenumber__rows\"><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span></span>
Button默認(rèn)獲焦顯示紅色,點(diǎn)擊事件觸發(fā)后,獲焦態(tài)變?yōu)榉凵?
2023-09-27 16:10:51
一、窗口開發(fā)概述
窗口模塊的定義
窗口模塊用于在同一塊物理屏幕上,提供多個(gè)應(yīng)用界面顯示、交互的機(jī)制。
● 對(duì)應(yīng)用開發(fā)者而言,窗口模塊提供了界面顯示和交互能力。
● 對(duì)終端用戶而言,窗口模塊提供了控制應(yīng)用界面的方式。
● 對(duì)整個(gè)操作系統(tǒng)而言,窗口模塊提供了不同應(yīng)用界面的組織管理邏輯。
窗口模塊的用途
在HarmonyOS中,窗口模塊主要負(fù)責(zé)以下職責(zé):
● 提供應(yīng)用和系統(tǒng)界面的窗口對(duì)象。 應(yīng)用開發(fā)者通過(guò)窗口加載UI界面,實(shí)現(xiàn)界面顯示功能。
● 組織不同窗口的顯示關(guān)系,即維護(hù)不同窗口間的疊加層次和位置屬性。 應(yīng)用和系統(tǒng)的窗口具有多種類型,不同類型的窗口具有不同的默認(rèn)位置和疊加層次(Z軸高度)。同時(shí),用戶操作也可以在一定范圍內(nèi)對(duì)窗口的位置和疊加層次進(jìn)行調(diào)整。
● 提供窗口動(dòng)效。 在窗口顯示、隱藏及窗口間切換時(shí),窗口模塊通常會(huì)添加動(dòng)畫效果,以使各個(gè)交互過(guò)程更加連貫流暢。在HarmonyOS中,應(yīng)用窗口的動(dòng)效為默認(rèn)行為,不需要開發(fā)者進(jìn)行設(shè)置或者修改。
● 指導(dǎo)輸入事件分發(fā)。 即根據(jù)當(dāng)前窗口的狀態(tài)或焦點(diǎn),進(jìn)行事件的分發(fā)。觸摸和鼠標(biāo)事件根據(jù)窗口的位置和尺寸進(jìn)行分發(fā),而鍵盤事件會(huì)被分發(fā)至焦點(diǎn)窗口。應(yīng)用開發(fā)者可以通過(guò)窗口模塊提供的接口設(shè)置窗口是否可以觸摸和是否可以獲焦。
基本概念
HarmonyOS的窗口模塊將窗口界面分為系統(tǒng)窗口、應(yīng)用窗口兩種基本類型。
●系統(tǒng)窗口 :系統(tǒng)窗口指完成系統(tǒng)特定功能的窗口。如音量條、壁紙、通知欄、狀態(tài)欄、導(dǎo)航欄等。
●應(yīng)用窗口 :應(yīng)用窗口區(qū)別于系統(tǒng)窗口,指與應(yīng)用顯示相關(guān)的窗口。根據(jù)顯示內(nèi)容的不同,應(yīng)用窗口又分為應(yīng)用主窗口、應(yīng)用子窗口兩種類型。應(yīng)用主窗口:應(yīng)用主窗口用于顯示應(yīng)用界面,會(huì)在\"任務(wù)管理界面\"顯示。
○ 應(yīng)用子窗口:應(yīng)用子窗口用于顯示應(yīng)用的彈窗、懸浮窗等輔助窗口,不會(huì)在\"任務(wù)管理界面\"顯示。應(yīng)用子窗口的生命周期跟隨應(yīng)用主窗口。
實(shí)現(xiàn)原理
當(dāng)前窗口的實(shí)現(xiàn)和開發(fā)與應(yīng)用開發(fā)模型相關(guān)聯(lián),不同模型下的接口功能略有區(qū)別。當(dāng)前應(yīng)用開發(fā)模型分為FA模型和Stage模型。
兩個(gè)模型的整體架構(gòu)和設(shè)計(jì)思想,詳見(jiàn)??應(yīng)用模型解讀??。
針對(duì)窗口開發(fā),推薦使用Stage模型進(jìn)行相關(guān)開發(fā)。
約束與限制
● 應(yīng)用主窗口與子窗口存在大小限制,寬度范圍:[320, 2560],高度范圍:[240, 2560],單位為vp。
二、管理應(yīng)用窗口(Stage模型)
基本概念
● 窗口沉浸式能力:指對(duì)狀態(tài)欄、導(dǎo)航欄等系統(tǒng)窗口進(jìn)行控制,減少狀態(tài)欄導(dǎo)航欄等系統(tǒng)界面的突兀感,從而使用戶獲得最佳體驗(yàn)的能力。沉浸式能力只在應(yīng)用主窗口作為全屏窗口時(shí)生效。通常情況下,應(yīng)用子窗口(彈窗、懸浮窗口等輔助窗口)無(wú)法使用沉浸式能力。
● 懸浮窗:全局懸浮窗口是一種特殊的應(yīng)用窗口,具備在應(yīng)用主窗口和對(duì)應(yīng)Ability退至后臺(tái)后仍然可以在前臺(tái)顯示的能力。
懸浮窗口可以用于應(yīng)用退至后臺(tái)后,使用小窗繼續(xù)播放視頻,或者為特定的應(yīng)用創(chuàng)建懸浮球等快速入口。應(yīng)用在創(chuàng)建懸浮窗口前,需要申請(qǐng)對(duì)應(yīng)的權(quán)限。
場(chǎng)景介紹
在Stage模型下,管理應(yīng)用窗口的典型場(chǎng)景有:
● 設(shè)置應(yīng)用主窗口屬性及目標(biāo)頁(yè)面
● 設(shè)置應(yīng)用子窗口屬性及目標(biāo)頁(yè)面
● 體驗(yàn)窗口沉浸式能力
● 設(shè)置懸浮窗
以下分別介紹具體開發(fā)方式。
接口說(shuō)明
上述場(chǎng)景涉及的常用接口如下表所示。更多API說(shuō)明請(qǐng)參見(jiàn)??API參考??。
實(shí)例名
接口名
描述
WindowStage
getMainWindow(callback: AsyncCallback): void
獲取WindowStage實(shí)例下的主窗口。此接口僅可在Stage模型下使用。
WindowStage
loadContent(path: string, callback: AsyncCallback): void
為當(dāng)前WindowStage的主窗口加載具體頁(yè)面。此接口僅可在Stage模型下使用。
WindowStage
createSubWindow(name: string, callback: AsyncCallback): void
創(chuàng)建子窗口。此接口僅可在Stage模型下使用。
window靜態(tài)方法
createWindow(config: Configuration, callback: AsyncCallback): void
創(chuàng)建系統(tǒng)窗口。-config:創(chuàng)建窗口時(shí)的參數(shù)。
Window
setUIContent(path: string, callback: AsyncCallback): void
為當(dāng)前窗口加載具體頁(yè)面。
Window
setWindowBackgroundColor(color: string, callback: AsyncCallback): void
設(shè)置窗口的背景色。
Window
setWindowBrightness(brightness: number, callback: AsyncCallback): void
設(shè)置屏幕亮度值。
Window
setWindowTouchable(isTouchable: boolean, callback: AsyncCallback): void
設(shè)置窗口是否為可觸狀態(tài)。
Window
moveWindowTo(x: number, y: number, callback: AsyncCallback): void
移動(dòng)當(dāng)前窗口位置。
Window
resize(width: number, height: number, callback: AsyncCallback): void
改變當(dāng)前窗口大小。
Window
setWindowSystemBarEnable(names: Array<\'status\'
\'navigation\'>): Promise
Window
showWindow(callback: AsyncCallback): void
顯示當(dāng)前窗口。
Window
on(type: \'touchOutside\', callback: Callback): void
開啟本窗口區(qū)域外的點(diǎn)擊事件的監(jiān)聽(tīng)。
Window
destroyWindow(callback: AsyncCallback): void
銷毀當(dāng)前窗口。
設(shè)置應(yīng)用主窗口
在Stage模型下,應(yīng)用主窗口由UIAbility創(chuàng)建并維護(hù)生命周期。在UIAbility的onWindowStageCreate回調(diào)中,通過(guò)WindowStage獲取應(yīng)用主窗口,即可對(duì)其進(jìn)行屬性設(shè)置等操作。還可以在應(yīng)用配置文件中設(shè)置應(yīng)用主窗口的屬性,如最大窗口寬度maxWindowWidth等,詳見(jiàn)??module.json5配置文件??。
開發(fā)步驟
獲取應(yīng)用主窗口。通過(guò)getMainWindow接口獲取應(yīng)用主窗口。
設(shè)置主窗口屬性??稍O(shè)置主窗口的背景色、亮度值、是否可觸等多個(gè)屬性,開發(fā)者可根據(jù)需要選擇對(duì)應(yīng)的接口。本示例以設(shè)置“是否可觸”屬性為例。
為主窗口加載對(duì)應(yīng)的目標(biāo)頁(yè)面。通過(guò)loadContent接口加載主窗口的目標(biāo)頁(yè)面。
import UIAbility from \'@ohos.app.ability.UIAbility\';
export default class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) {
// 1.獲取應(yīng)用主窗口。
let windowClass = null;
windowStage.getMainWindow((err, data) => {
if (err.code) {
console.error(\'Failed to obtain the main window. Cause: \' + JSON.stringify(err));
return;
}
windowClass = data;
console.info(\'Succeeded in obtaining the main window. Data: \' + JSON.stringify(data));
// 2.設(shè)置主窗口屬性。以設(shè)置\"是否可觸\"屬性為例。
let isTouchable = true;
windowClass.setWindowTouchable(isTouchable, (err) => {
if (err.code) {
console.error(\'Failed to set the window to be touchable. Cause:\' + JSON.stringify(err));
return;
}
console.info(\'Succeeded in setting the window to be touchable.\');
})
})
// 3.為主窗口加載對(duì)應(yīng)的目標(biāo)頁(yè)面。
windowStage.loadContent(\"pages/page2\", (err) => {
if (err.code) {
console.error(\'Failed to load the content. Cause:\' + JSON.stringify(err));
return;
}
console.info(\'Succeeded in loading the content.\');
});
}
};
};
};
<span class=\"vditor-linenumber__rows\"><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:75px;\"></span><span style=\"height:25px;\"></span><span style=\"height:75px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span></span>
設(shè)置應(yīng)用子窗口
開發(fā)者可以按需創(chuàng)建應(yīng)用子窗口,如彈窗等,并對(duì)其進(jìn)行屬性設(shè)置等操作。
開發(fā)步驟
創(chuàng)建應(yīng)用子窗口。通過(guò)createSubWindow接口創(chuàng)建應(yīng)用子窗口。
設(shè)置子窗口屬性。子窗口創(chuàng)建成功后,可以改變其大小、位置等,還可以根據(jù)應(yīng)用需要設(shè)置窗口背景色、亮度等屬性。
加載顯示子窗口的具體內(nèi)容。通過(guò)setUIContent和showWindow接口加載顯示子窗口的具體內(nèi)容。
銷毀子窗口。當(dāng)不再需要某些子窗口時(shí),可根據(jù)具體實(shí)現(xiàn)邏輯,使用destroyWindow接口銷毀子窗口。
import UIAbility from \'@ohos.app.ability.UIAbility\';
let windowStage_ = null;
let sub_windowClass = null;
export default class EntryAbility extends UIAbility {
showSubWindow() {
// 1.創(chuàng)建應(yīng)用子窗口。
windowStage_.createSubWindow(\"mySubWindow\", (err, data) => {
if (err.code) {
console.error(\'Failed to create the subwindow. Cause: \' + JSON.stringify(err));
return;
}
sub_windowClass = data;
console.info(\'Succeeded in creating the subwindow. Data: \' + JSON.stringify(data));
// 2.子窗口創(chuàng)建成功后,設(shè)置子窗口的位置、大小及相關(guān)屬性等。
sub_windowClass.moveWindowTo(300, 300, (err) => {
if (err.code) {
console.error(\'Failed to move the window. Cause:\' + JSON.stringify(err));
return;
}
console.info(\'Succeeded in moving the window.\');
});
sub_windowClass.resize(500, 500, (err) => {
if (err.code) {
console.error(\'Failed to change the window size. Cause:\' + JSON.stringify(err));
return;
}
console.info(\'Succeeded in changing the window size.\');
});
// 3.為子窗口加載對(duì)應(yīng)的目標(biāo)頁(yè)面。
sub_windowClass.setUIContent(\"pages/page3\", (err) => {
if (err.code) {
console.error(\'Failed to load the content. Cause:\' + JSON.stringify(err));
return;
}
console.info(\'Succeeded in loading the content.\');
// 3.顯示子窗口。
sub_windowClass.showWindow((err) => {
if (err.code) {
console.error(\'Failed to show the window. Cause: \' + JSON.stringify(err));
return;
}
console.info(\'Succeeded in showing the window.\');
});
});
})
}
destroySubWindow() {
// 4.銷毀子窗口。當(dāng)不再需要子窗口時(shí),可根據(jù)具體實(shí)現(xiàn)邏輯,使用destroy對(duì)其進(jìn)行銷毀。
sub_windowClass.destroyWindow((err) => {
if (err.code) {
console.error(\'Failed to destroy the window. Cause: \' + JSON.stringify(err));
return;
}
console.info(\'Succeeded in destroying the window.\');
});
}
onWindowStageCreate(windowStage) {
windowStage_ = windowStage;
// 開發(fā)者可以在適當(dāng)?shù)臅r(shí)機(jī),如主窗口上按鈕點(diǎn)擊事件等,創(chuàng)建子窗口。并不一定需要在onWindowStageCreate調(diào)用,這里僅作展示
this.showSubWindow();
}
onWindowStageDestroy() {
// 開發(fā)者可以在適當(dāng)?shù)臅r(shí)機(jī),如子窗口上點(diǎn)擊關(guān)閉按鈕等,銷毀子窗口。并不一定需要在onWindowStageDestroy調(diào)用,這里僅作展示
this.destroySubWindow();
}
};
};
};
<span class=\"vditor-linenumber__rows\"><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:50px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:75px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:75px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:75px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span></span>
體驗(yàn)窗口沉浸式能力
在看視頻、玩游戲等場(chǎng)景下,用戶往往希望隱藏狀態(tài)欄、導(dǎo)航欄等不必要的系統(tǒng)窗口,從而獲得更佳的沉浸式體驗(yàn)。此時(shí)可以借助窗口沉浸式能力(窗口沉浸式能力都是針對(duì)應(yīng)用主窗口而言的),達(dá)到預(yù)期效果。
開發(fā)步驟
獲取應(yīng)用主窗口。通過(guò)getMainWindow接口獲取應(yīng)用主窗口。
實(shí)現(xiàn)沉浸式效果。調(diào)用setWindowSystemBarEnable接口,設(shè)置導(dǎo)航欄、狀態(tài)欄不顯示,從而達(dá)到沉浸式效果。
加載顯示沉浸式窗口的具體內(nèi)容。通過(guò)loadContent接口加載沉浸式窗口的具體內(nèi)容。
import UIAbility from \'@ohos.app.ability.UIAbility\';
export default class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) {
// 1.獲取應(yīng)用主窗口。
let windowClass = null;
windowStage.getMainWindow((err, data) => {
if (err.code) {
console.error(\'Failed to obtain the main window. Cause: \' + JSON.stringify(err));
return;
}
windowClass = data;
console.info(\'Succeeded in obtaining the main window. Data: \' + JSON.stringify(data));
// 2.實(shí)現(xiàn)沉浸式效果:設(shè)置導(dǎo)航欄、狀態(tài)欄不顯示。
let names = [];
windowClass.setWindowSystemBarEnable(names, (err) => {
if (err.code) {
console.error(\'Failed to set the system bar to be visible. Cause:\' + JSON.stringify(err));
return;
}
console.info(\'Succeeded in setting the system bar to be visible.\');
});
})
// 3.為沉浸式窗口加載對(duì)應(yīng)的目標(biāo)頁(yè)面。
windowStage.loadContent(\"pages/page2\", (err) => {
if (err.code) {
console.error(\'Failed to load the content. Cause:\' + JSON.stringify(err));
return;
}
console.info(\'Succeeded in loading the content.\');
});
}
};
};
};
<span class=\"vditor-linenumber__rows\"><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:75px;\"></span><span style=\"height:25px;\"></span><span style=\"height:75px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span></span>
設(shè)置懸浮窗
懸浮窗可以在已有的任務(wù)基礎(chǔ)上,創(chuàng)建一個(gè)始終在前臺(tái)顯示的窗口。即使創(chuàng)建懸浮窗的任務(wù)退至后臺(tái),懸浮窗仍然可以在前臺(tái)顯示。通常懸浮窗位于所有應(yīng)用窗口之上;開發(fā)者可以創(chuàng)建懸浮窗,并對(duì)懸浮窗進(jìn)行屬性設(shè)置等操作。
開發(fā)步驟
前提條件: 創(chuàng)建WindowType.TYPE_FLOAT即懸浮窗類型的窗口,需要申請(qǐng)ohos.permission.SYSTEM_FLOAT_WINDOW權(quán)限,配置方式請(qǐng)參見(jiàn)??配置文件權(quán)限聲明??。
創(chuàng)建懸浮窗。通過(guò)window.createWindow接口創(chuàng)建懸浮窗類型的窗口。
對(duì)懸浮窗進(jìn)行屬性設(shè)置等操作。懸浮窗窗口創(chuàng)建成功后,可以改變其大小、位置等,還可以根據(jù)應(yīng)用需要設(shè)置懸浮窗背景色、亮度等屬性。
加載顯示懸浮窗的具體內(nèi)容。通過(guò)setUIContent和showWindow接口加載顯示懸浮窗的具體內(nèi)容。
銷毀懸浮窗。當(dāng)不再需要懸浮窗時(shí),可根據(jù)具體實(shí)現(xiàn)邏輯,使用destroyWindow接口銷毀懸浮窗。
import UIAbility from \'@ohos.app.ability.UIAbility\';
import window from \'@ohos.window\';
export default class EntryAbility extends UIAbility {
onWindowStageCreate(windowStage) {
// 1.創(chuàng)建懸浮窗。
let windowClass = null;
let config = {name: \"floatWindow\", windowType: window.WindowType.TYPE_FLOAT, ctx: this.context};
window.createWindow(config, (err, data) => {
if (err.code) {
console.error(\'Failed to create the floatWindow. Cause: \' + JSON.stringify(err));
return;
}
console.info(\'Succeeded in creating the floatWindow. Data: \' + JSON.stringify(data));
windowClass = data;
// 2.懸浮窗窗口創(chuàng)建成功后,設(shè)置懸浮窗的位置、大小及相關(guān)屬性等。
windowClass.moveWindowTo(300, 300, (err) => {
if (err.code) {
console.error(\'Failed to move the window. Cause:\' + JSON.stringify(err));
return;
}
console.info(\'Succeeded in moving the window.\');
});
windowClass.resize(500, 500, (err) => {
if (err.code) {
console.error(\'Failed to change the window size. Cause:\' + JSON.stringify(err));
return;
}
console.info(\'Succeeded in changing the window size.\');
});
// 3.為懸浮窗加載對(duì)應(yīng)的目標(biāo)頁(yè)面。
windowClass.setUIContent(\"pages/page4\", (err) => {
if (err.code) {
console.error(\'Failed to load the content. Cause:\' + JSON.stringify(err));
return;
}
console.info(\'Succeeded in loading the content.\');
// 3.顯示懸浮窗。
windowClass.showWindow((err) => {
if (err.code) {
console.error(\'Failed to show the window. Cause: \' + JSON.stringify(err));
return;
}
console.info(\'Succeeded in showing the window.\');
});
});
// 4.銷毀懸浮窗。當(dāng)不再需要懸浮窗時(shí),可根據(jù)具體實(shí)現(xiàn)邏輯,使用destroy對(duì)其進(jìn)行銷毀。
windowClass.destroyWindow((err) => {
if (err.code) {
console.error(\'Failed to destroy the window. Cause: \' + JSON.stringify(err));
return;
}
console.info(\'Succeeded in destroying the window.\');
});
});
}
};
};
};
<span class=\"vditor-linenumber__rows\"><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:75px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:50px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span><span style=\"height:25px;\"></span></span>
2023-09-27 15:37:55
一種方法是分支預(yù)測(cè),類似于預(yù)測(cè)下一個(gè)操作的方式,就像互聯(lián)網(wǎng)搜索引擎一樣。然而,與任何并行架構(gòu)一樣,關(guān)鍵是確保各種處理單元充分運(yùn)行,以最大限度地提高性能和效率。
2023-09-27 14:17:48
517 
# 活動(dòng)驛站?# 【活動(dòng)驛站】欄目作為HarmonyOS官方活動(dòng)的導(dǎo)航,在這里,無(wú)論是學(xué)習(xí)賦能的直播,線下見(jiàn)面的技術(shù)交流,還是一年一度的開發(fā)者大會(huì),均能為開發(fā)者提供相關(guān)活動(dòng)資訊。 當(dāng)中秋“遇上”國(guó)慶
2023-09-27 09:15:01
1133 
網(wǎng)絡(luò)爬蟲是一個(gè)自動(dòng)提取網(wǎng)頁(yè)的程序,它為搜索引擎從萬(wàn)維網(wǎng)上下載網(wǎng)頁(yè),是搜索引擎的重要組成。傳統(tǒng)爬蟲從一個(gè)或若干初始網(wǎng)頁(yè)的URL開始,獲得初始網(wǎng)頁(yè)上的URL,在抓取網(wǎng)頁(yè)的過(guò)程中,不斷從當(dāng)前頁(yè)面上抽取新的URL放入隊(duì)列,直到滿足系統(tǒng)的一定停止條件
2023-09-25 08:25:22
我們又要搞事情啦! 即日起至9月22日 在評(píng)論區(qū)寫下你的中秋心愿 我們將從評(píng)論區(qū) 隨機(jī)抽取10位幸運(yùn)興 送上中興通訊星辰探月禮盒一份 上圖! ▼ *中獎(jiǎng)名單將在9月22日公布 這個(gè)中秋 讓通信技術(shù)將我們聯(lián)結(jié)在一起 共享一片花好月圓 快去評(píng)論區(qū)留言吧!
2023-09-15 15:50:01
334 電子發(fā)燒友網(wǎng)站提供《FPGA加速視覺(jué)搜索引擎解決方案.pdf》資料免費(fèi)下載
2023-09-13 10:32:05
1 利。
百度搜索“電子發(fā)燒友”有效,直接使用主頁(yè)中的谷歌搜索則搜索不到網(wǎng)頁(yè),看來(lái)國(guó)內(nèi)還是用不了谷歌的搜索引擎。
接下來(lái)再來(lái)看看Purple Pi OH裝載Android系統(tǒng)時(shí)的音視頻編解碼,如果運(yùn)用在廣告機(jī)
2023-09-10 17:23:17
近日,百度文心一言宣布向全社會(huì)開放,首日,百度搜索就有超3億次需求由生成式智能引擎解決;百度搜索“AI伙伴”當(dāng)日訪問(wèn)用戶數(shù)突破400萬(wàn)。 在這樣的背景下,9月7日,以“新搜索·新奇點(diǎn)”為主
2023-09-07 19:32:46
693 深度學(xué)習(xí)是人工智能的關(guān)鍵技術(shù)之一。它是一種模擬人類神經(jīng)系統(tǒng)的計(jì)算方式,利用深度神經(jīng)網(wǎng)絡(luò)模型來(lái)學(xué)習(xí)、識(shí)別和分類數(shù)據(jù)。深度學(xué)習(xí)算法的高精度識(shí)別和自動(dòng)分類技術(shù),使得廣告推銷、搜索引擎、語(yǔ)音和圖像的識(shí)別等方面都能有廣泛的應(yīng)用。
2023-08-14 14:56:31
1182 人工智能技術(shù)不僅可以分辨圖像中的主體和背景,還能夠識(shí)別圖像中的物體。這項(xiàng)技術(shù)可以應(yīng)用于視覺(jué)搜索引擎、智能監(jiān)控和人臉識(shí)別等領(lǐng)域。另外,人工智能技術(shù)還可以幫助醫(yī)生在大量的醫(yī)學(xué)圖像中快速分析和診斷。
2023-08-13 10:18:55
763 在Windows系統(tǒng)內(nèi),打開你的命令行輸入“ipconfig”就能查詢你的IP地址,而如果通過(guò)搜索引擎查詢IP地址,這時(shí)則會(huì)得到一個(gè)完全不同的IP地址。IP就像是身份證,但一個(gè)人一般不會(huì)有兩個(gè)身份證
2023-08-10 16:00:14
307 for Multi-Modal Retrieval 背景介紹 盡管當(dāng)前主流搜索引擎主要面向文本數(shù)據(jù),然而多媒體內(nèi)容的增長(zhǎng)一直是互聯(lián)網(wǎng)上最顯著趨勢(shì)之一,各種研究表明用戶更喜歡搜索結(jié)果中出現(xiàn)生動(dòng)的多模態(tài)內(nèi)容。因而,針對(duì)于
2023-08-06 22:00:03
451 
在MySQL中,無(wú)論是Innodb還是MyIsam,都使用了B+樹作索引結(jié)構(gòu)(這里不考慮hash等其他索引)。本文將從最普通的二叉查找樹開始,逐步說(shuō)明各種樹解決的問(wèn)題以及面臨的新問(wèn)題,從而說(shuō)明MySQL為什么選擇B+樹作為索引結(jié)構(gòu)。
2023-07-20 11:28:20
472 
NVIDIA Ampere 架構(gòu)的結(jié)構(gòu)化稀疏功能 及其在搜索引擎中的應(yīng)用 深度學(xué)習(xí)徹底改變了我們分析、理解和處理數(shù)據(jù)的方式,而且在各個(gè)領(lǐng)域的應(yīng)用中都取得了巨大的成功,其在計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理
2023-07-18 17:45:01
286 
其實(shí)在今年早些時(shí)候,繼微軟宣布未來(lái)幾年將向 OpenAI 投資百億美元,進(jìn)一步拓展兩家公司的合作之后,2 月,微軟便宣布推出全新的人工智能 Bing 搜索引擎和 Edge 瀏覽器,以改變世界上最大的軟件類別——搜索。
2023-07-06 16:00:07
459 
當(dāng)人們使用搜索引擎時(shí),通常是在尋找信息。有時(shí)是想要搜索買東西,有時(shí)可能是想要查找一個(gè)記不太清楚網(wǎng)址的網(wǎng)站。 但最常見(jiàn)的情況還是,試圖尋找一個(gè)問(wèn)題的答案。 近期,人工智能推動(dòng)的聊天機(jī)器人的興起可能會(huì)
2023-07-03 17:37:43
377 進(jìn)行URL靜態(tài)化的目的是對(duì)于搜索引擎和用戶來(lái)說(shuō)更為友好,雖然Google之前在官方博客發(fā)表了博文Google能夠很好的抓取動(dòng)態(tài)網(wǎng)頁(yè),并且也非常鼓勵(lì)網(wǎng)站采取動(dòng)態(tài)網(wǎng)頁(yè)的形式來(lái)建站,但是我們所要做的網(wǎng)站
2023-06-28 15:34:01
490 ? 01、列存儲(chǔ)的特點(diǎn) 02、列存儲(chǔ)的物理實(shí)現(xiàn) 03、列存儲(chǔ)索引 04、列存儲(chǔ)索引的空間使用 ? 傳統(tǒng)的存儲(chǔ)數(shù)據(jù)的方式是逐行存儲(chǔ)(Row Store),每一個(gè)Page存儲(chǔ)多行數(shù)據(jù),而列存儲(chǔ)
2023-06-25 17:30:05
321 
MySQL官方對(duì)于索引的定義:索引是幫助MySQL高效獲取數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。
2023-06-11 11:13:08
331 
在科幻電影《機(jī)械姬》里,全球最大搜索引擎公司‘藍(lán)皮書’CEO 納森向觀眾展示了自己發(fā)明的機(jī)器人大腦,并留下這么一句
話:‘人們認(rèn)為搜索引擎是人們思考的事物,但其實(shí)那是人們思考的方式。’
該影片
2023-06-06 14:39:50
1 1 背景 2020年以來(lái)內(nèi)容標(biāo)注結(jié)果搜索就是社區(qū)中后臺(tái)業(yè)務(wù)的核心高頻使用場(chǎng)景之一,為了支撐復(fù)雜的后臺(tái)搜索,我們將社區(qū)內(nèi)容的關(guān)鍵信息額外存了一份到Elasticsearch中作為二級(jí)索引使用。隨著標(biāo)注
2023-05-26 14:55:16
458 
能在搜索引擎或?yàn)g覽器之外的移動(dòng)設(shè)備上直接訪問(wèn)ChatGPT,無(wú)疑具有革命性的意義。OpenAI此舉,可能會(huì)創(chuàng)造又一個(gè)奇點(diǎn),永遠(yuǎn)改變?nèi)藗兪褂檬謾C(jī)搜索和信息互聯(lián)的方式。
2023-05-25 16:28:15
916 
但打造
搜索引擎實(shí)際上是很容易的部分。Ramaswamy和Raghunathan繼續(xù)說(shuō)道:“在整個(gè)過(guò)程中,我們發(fā)現(xiàn)打造
搜索引擎是一回事,而說(shuō)服普通用戶需要轉(zhuǎn)向更好的選擇則是另一回事?!?/div>
2023-05-24 10:22:37
438 國(guó)外某知名社交平臺(tái) 5000 萬(wàn)用戶的個(gè)人資料泄露、國(guó)外某搜索引擎平臺(tái)濫用個(gè)人信息定制廣告、國(guó)內(nèi)某出行平臺(tái)違法手段收集用戶信息等一系列事件的發(fā)生,給社會(huì)、個(gè)人帶來(lái)巨大的安全影響,也給相關(guān)企業(yè)造成高達(dá)數(shù)十億美元的經(jīng)濟(jì)損失。
2023-05-23 17:36:02
743 
WebCPM 是面壁智能自研大模型工具學(xué)習(xí)引擎 BMTools 的首個(gè)成功實(shí)踐,其特點(diǎn)在于其信息檢索基于交互式網(wǎng)頁(yè)搜索,能夠像人類一樣與搜索引擎交互從而收集回答問(wèn)題所需要的事實(shí)性知識(shí)并生成答案。
2023-05-18 14:37:47
354 
Matlab自問(wèn)世以來(lái),就有數(shù)以百萬(wàn)級(jí)的工程師和科學(xué)家使用,是各大高校不可或缺的研究軟件,基于矩陣的Matlab語(yǔ)言是世界上表示計(jì)算數(shù)學(xué)最自然的方式,可以說(shuō)Matlab是工程師需要了解或掌握的數(shù)學(xué)軟件,今天我們來(lái)看看,若是遇見(jiàn)Matlab搜索路徑問(wèn)題該如何解決。
2023-05-18 11:25:53
1523 
分別公布了超預(yù)期的季度財(cái)報(bào),其中云計(jì)算業(yè)務(wù)是兩家公司的主要收入來(lái)源。但在AI搜索領(lǐng)域,兩家公司的態(tài)度卻有所不同。微軟表示,與OpenAI的合作讓必應(yīng)搜索引擎獲得了更多的用戶和市場(chǎng)份額,而谷歌則強(qiáng)調(diào)在搜索廣告業(yè)務(wù)上的長(zhǎng)期優(yōu)勢(shì),并將AI視為他們不斷
2023-05-11 20:16:37
169 
其次,需要完全從頭開始構(gòu)建了一個(gè)新的代碼搜索引擎。新的引擎需要非常快(大約是舊代碼搜索速度的兩倍),功能更強(qiáng)大(支持子字符串查詢、正則表達(dá)式和符號(hào)搜索),并且理解代碼,將最相關(guān)的結(jié)果放在排名最前面。
2023-05-11 09:52:56
467 
5G無(wú)線通信期望帶來(lái)更高的頻譜效率和能量效率,為了達(dá)到這些目標(biāo),已經(jīng)提出了各種新技術(shù)。其中,最近提出的索引調(diào)制IM(Index Modulation)技術(shù)引起了人們的極大興趣。
IM不是通過(guò)
2023-05-10 16:44:58
每當(dāng)連接到 WI-FI 時(shí)給我 code6
嗨,我無(wú)法在搜索引擎中輸入它!怎么了?
2023-05-10 11:01:18
微軟GPT-4搜索引擎重大升級(jí) 新Bing開放AI能力 微軟和OpenAI合作將人工智能技術(shù)應(yīng)用于必應(yīng)搜索帶來(lái)了更多不一樣的搜索體驗(yàn)。 此前Open AI發(fā)布了新一代大型人工智能語(yǔ)言訓(xùn)練模型
2023-05-05 17:15:35
2058 于是,一個(gè)名為 Bloop 的代碼搜索引擎應(yīng)運(yùn)而生,它的存在,徹底打破了以往傳統(tǒng)的代碼搜索方式,采用基于 GPT-4 的 AI 智能模型,成功實(shí)現(xiàn)用自然語(yǔ)言,語(yǔ)義化的代碼搜索方式!
2023-04-27 14:25:40
868 
深圳市金航標(biāo)電子有限公司國(guó)際品牌營(yíng)銷取得了顯著的實(shí)踐成果!“kinghelm”品牌在微軟必應(yīng)(MicorosoftBing)搜索引擎的索引量已經(jīng)突破242萬(wàn)!這標(biāo)志著我們的品牌營(yíng)銷正式邁入了新的階段
2023-04-26 10:37:55
261 
今天,微軟宣布推出由ChatGPT支持的最新版本人工智能搜索引擎必應(yīng)和Edge瀏覽器。微軟首席執(zhí)行官表示,“搜索引擎迎來(lái)了新時(shí)代”。微軟股價(jià)大漲4.2%,市值飆升800億美元(約合人民幣5400億元
2023-04-20 13:37:40
419 
站群服務(wù)器是單獨(dú)為一個(gè)網(wǎng)站或者多個(gè)網(wǎng)站配置獨(dú)立IP的一種服務(wù)器。企業(yè)或是用戶如果想組建多個(gè)網(wǎng)站的話就需要用站群服務(wù)器了。 站群服務(wù)器可以提高搜索引擎多個(gè)網(wǎng)站的關(guān)注度,提高網(wǎng)站文章的收錄以及網(wǎng)站
2023-04-18 16:16:20
大家應(yīng)該都在各種電商網(wǎng)站檢索過(guò)商品,檢索商品一般都是通過(guò)什么實(shí)現(xiàn)呢?搜索引擎Elasticsearch。
2023-03-24 13:44:52
811
已全部加載完成
評(píng)論