Flutter 3.32 新特性

2天前,Flutter發布了最新版本3.32,我們來一起看下29到32有哪些變化。

簡介

歡迎來到Flutter 3.32!此版本包含了旨在加速開發和增強應用程序的功能。準備好在網絡上進行熱加載,令人驚嘆的原生保真Cupertino,以及與Firebase強大的新AI集成。156位獨特貢獻者提交了1024次提交,其中包括39位首次貢獻者,Flutter 3.32證明了我們社區令人難以置信的工作。讓我們一起探索新事物吧!

Web

Web上的熱重載 (Beta)

我們很高興地宣布,你現在可以在Web上熱加載!Web對熱加載的支持是在Flutter跟蹤器上投票最多的第二大問題。我們很高興能給你一個機會在你自己的項目中試用它!我們需要您的幫助,以確保這個令人興奮的新功能有開發人員想要的一切。

如果您發現任何問題,使用Dart的Web Hot Reload問題模板提交錯誤。你可以在Web Hot Reload known issues GitHub項目上找到已知問題的列表。

現在是有趣的部分:如何使用這個功能

我們添加了一個簡單的命令行標志--web-experimental-hot-reload,你可以在任何地方調用flutter run

使用VS Code 運行

如果您在VSCode 中使用調試配置,您可以添加這一項內容。

將配置添加到您的launch.json 文件中:

"configurations": [
…{"name": "Flutter for web (hot reloadable)","type": "dart","request": "launch","program": "lib/main.dart","args": ["-d","chrome","--web-experimental-hot-reload",]}
]

為獲得最佳效果,我們建議在VS Code 中啟用 “Dart: Flutter Hot Reload On Save”這一設置。也可以通過運行/調試面板中的?圖標來觸發熱重載。使用“?按鈕仍可觸發熱重啟。

命令行運行

如果您在命令行中使用 “flutter run” 命令,那么現在就可以通過以下命令進行熱重載操作了:

flutter run -d chrome --web-experimental-hot-reload

當熱重載功能開啟時,您可以在運行終端中通過按下“r”鍵來重新加載您的應用程序,或輸入“R”進行熱重啟。

在DartPad 中Reloading

現在,DartPad上也支持熱重載功能,新增了一個“Reload”按鈕。該功能僅在運行的應用程序中檢測到 Flutter時才可用。您可以使用 DartPad 提供的示例應用程序來試用此功能。

感謝您抽出時間幫助我們讓網絡上的“熱重載”功能變得如此出色!

Framework(架構)

我們一直在努力將邏輯從Material library轉移到 ?widgets library中。

此次更新引入了一款名為“可擴展”(Expansible)的新控件,它使得創建具有不同視覺主題的可展開和收縮的控件變得更加簡便。這款新控件是Material-styled的ExpansionTile底層構建模塊。

此次更新中還有一個非常有價值的新增功能RawMenuAnchor,由社區成員@davidhicks980 提供。這個小部件現已成為基礎構建模塊的Material-styled MenuAnchor,為創建具有不同視覺主題的菜單鋪平了道路。此外,RawMenuAnchor 也可以獨立使用,作為未加修飾的菜單,讓您完全掌控其外觀。

這樣的重構為諸如 Cupertino和 Material等設計語言的實現提供了更好的核心組件支持,同時還能實現更一致的界面設計和代碼復用。

Cupertino
Squircles(圓角:方圓形)

我們很高興向大家介紹 Flutter 中形狀功能的一項重大新改進:圓弧超橢圓(rounded superellipse)。

這種形狀常被稱為“Apple squircle(蘋果橢圓形)”,它是iOS設計語言的重要組成部分,因其曲線更加平滑且連貫,而不同于傳統的圓角矩形。Flutter 社區經常提出支持這種形狀的需求。它的加入代表了我們在為蘋果平臺提供具有原生外觀和感覺的高質量用戶界面方面所做出的又一努力。

CupertinoAlertDialogCupertinoActionSheet 兩者均已更新,采用了這種新的形狀!

您可以使用這些新的API 來為您的應用程序添加圓潤的超橢圓圖形:

  1. 用于繪畫或作為控件形狀使用的RoundedSuperellipseBorder
  2. 用于裁剪的 ClipRSuperellipse。
  3. Canvas.drawRSuperellipse、 Canvas.clipRSuperellipse 以及Path.addRSuperellipse 是針對底層API 的實現,它們提供了更直接的控制方式。

請注意,這種圓潤的超橢圓形狀仍在開發中。目前,它僅在iOS和Android 系統上可用,否則其表現將恢復為標準的圓角矩形。性能優化工作也在進行中。我們鼓勵您在考慮這些因素的情況下探索這一新功能,并期待在未來更新中提升其功能!

Sheet

Cupertino Sheet也解決了幾個問題,包括在Android上打開工作表時如何設置系統UI主題。

調整Sheet以固定導航條的高度,并確保內容不會在底部被切斷。下面的屏幕截圖演示了更改之前和之后的情況。

此版本中的其他修復包括工作表過渡與PopupMenuButton不兼容的問題,以及工作表的圓角過渡在更多設備上看起來正確。以前,它在一些具有不同角半徑的屏幕上看起來不正確。

你現在也可以在CupertinoSheetRoute和showCupertinoSheet上使用新的enableDrag參數來禁用Cupertino底部工作表的下拉解除行為。(#163923)

Navigation bars

CupertinoSliverNavigationBar.search。在打開或關閉搜索視圖時,搜索可以看到其動畫的保真度改進,以及搜索字段的前綴和后綴圖標的正確對齊。

https://miro.medium.com/v2/resize:fit:720/format:webp/0*R1tsiciz-w7OdOjr最后,帶有 CupertinoNavigationBarsCupertinoSliverNavigationBars 的頁面之間的切換已更新,以與最新的iOS 切換效果保持一致(#164956)。

Material

此次更新為Material庫帶來了多項功能增強和錯誤修復,從而提升了其功能性和開發者的使用體驗。

這些功能改進包括:

  • CarouselController提供了更便捷的animateToIndex功能方法使得輪播圖能夠實現流暢的、基于索引的導航操作。

????????無論是使用固定大小的項目還是動態大小的項目,都可以通過flexWeights來進行設置。

  • TabBar 現在具備了 onHover和 onFocusChange回調功能,這能讓您獲得更多操作選項。對小部件在不同狀態下的外觀進行控制。
  • SearchAnchor SearchAnchor.bar 現在分別包含了 viewOnOpen 和onOpen 回調函數,這使得能夠更好地觀察和處理打開/關閉事件。
  • CalendarDatePicker現在支持設置一個calendarDelegate對象,以便能夠實現對格里高利歷系統之外的自定義日歷邏輯的集成。示例展示了這樣一個假設的日歷系統:偶數月份有21天,奇數月份有28天,并且每個月都從星期一開始,這展示了該委托對象所提供的靈活性。

其他一些小的改進包括:為 showDialogshowAdaptiveDialogDialogRoute 添加了 animationStyle 屬性,以便在對話框打開和關閉時自定義動畫效果;Divider現在支持設置 borderRadius 屬性,從而能夠自定義分隔線的邊框,尤其是在分隔線較粗的情況下。

除了新增的功能之外,此次更新還解決了材料庫中DropdownMenuSlider相關的若干bug問題:

  • DropdownMenu 控件現在允許其菜單的寬度小于文本字段的寬度。示例已更新以解決之前出現的RenderFlex溢出錯誤。DropdownMenu的默認寬度現在會根據文本字段中的文本標簽的寬度進行調整。
  • 當鼠標懸停在RangeSlider的指針上時,僅會顯示被懸停指針所覆蓋的部分。此前,兩個指針的覆蓋部分都會錯誤地顯示出來。現在,當軌道顏色透明時,Slider指針可以到達軌道的兩端,這解決了之前的一個限制,即它無法做到這一點。

無障礙
優化后的語義樹編譯

此功能將語義編譯時間縮短了約80%。在 Flutterfor web 中,啟用語義功能后,這相當于將幀時間縮短了30%。

介紹精細粒度的語義角色

一個新的SemanticsRoleAPI已被整合到Semantics控件及其相關組件中,為開發者提供了更精確地控制用戶輔助技術如何解讀用戶界面元素的能力。這一改進使得只需將整個控件樹包裹在已配置為特定語義的Semantics控件中,即可為其指定特定的語義角色。

官方的API 文檔中詳細列出了可用的角色列表。目前,這種高級語義角色功能僅適用于基于網絡的應用程序,而其他平臺的支持將在未來的版本中推出。

了解更多信息,請參閱《通過語義角色提升可訪問性》。

其他無障礙設施的改進措能
  • 增強的用戶界面體驗與屏幕閱讀器支持:在各種小部件(包括文本字段、焦點處理、菜單、滑塊和下拉列表等)中提供了更出色的可訪問性和用戶體驗。舜幕閱讀器現在在用戶與這些元素進行交互時能提供更詳細的反飯。
  • ’借助語義技術實現更流暢的網頁焦點導航:當啟用源義功能時,網頁焦點行為將得到優化,從而是著減少不同組件之間突然的焦點曉轉,為用戶提供更直觀的導航體驗。
  • 改進了 Android TalkBack 的鏈接識別功能:Android TalkBack 現在能夠正確識別并播報使用語義定義的鏈接。包括使用 Semantics.linkUrl或url_launcher包中的Link組件所定義的鏈接。
  • 
    在 Flutter 中為網頁添加 Windows 高對比度模式支持:引入了對Windows的“強制顏色”模式的支持(常用于高對比度場景)。開發者現在可以在ThemeData 中設置 useSystemColors 布爾值,以便自動將系統顏色應用到
    Flutter 主題中,從而為依賴這些設置的用戶提高可見性。
  • 優化的iOS 語音控制體驗:通過確保不可操作的小組件不再顯示不必要的標簽,提升了iOS 語音控制的用戶體驗,使用戶的操作更加簡潔、專注。

文本輸入

此次更新中,文本輸入功能有了多項改進:

  1. 在iOS 系統中啟動了系統文本選擇上下文菜單,相關內容請見下文的iOS部分。
  2. Autocomplete控件的選項布局已被移植到OverlayPortal中,這不僅提高了性能,還解決了布局方面的缺陷。
  3. 現在可以對文本字段中的onTapUpOutside行為進行自定義了(#162575)。
  4. 現在,開發人員可以為FormField生成任何他們想要的自定義控件作為錯誤消息,而不再只是簡單的錯誤文本(#162255)。
  5. 在Flutter 中,可選文本的bug問題有所減少?(#162228),并且在網頁端的性能也有所提升?(#161682)。

多窗口支持方面的進展

來自 Canonical 公司的開發人員在實現桌面應用程序支持多窗口功能方面取得了顯著進展

Canonical 已修復了在應用程序存在多個窗口時出現的若干故障問題:

  1. 可訪問性:#164577
  2. 應用生命周期通知:#164872
  3. 重點:#164296
  4. 鍵盤事件:?#162131,?#163962
  5. 文本輸入:#163847,?#164014
  6. 鼠標事件:#163855

Canonical 還新增了一項功能,使得 Dart 代碼的 FFI (Foreign Function Interface,即外部函數接口)能夠直接與 Flutter 引擎進行通信?(#163430)。這 Flutter 未來的窗口API 構建奠定了基礎。

最后,Canonical 在 Linux 系統中引入了raster thread?(#161879)。這提高了幀的傳輸速度,確保了即使您打開了多個窗口,Flutter 在 Linux 系統中的運行依然流暢順滑。

桌面線程合并

Canonical 還對Windows 和 macOS 系統進行了更折,使得應用能夠將 UI和平臺線程合井起來(相關問題編號:#162883,?#162935)。

合并線程使您能多使用 Dart FFI 與必須在平臺線理上調用的原生AP1進行交互。例如,如果在 Windows 上點用了合并線猩,您就可以使用 Dart FFl 通過 win32 API 適配開發

在 Windows系總中,您可以造過在 windows/runner/main.cpp文件中的wwinMain”方法內添加以下代來啟用合井線程:

project.set_ui_thread_policy(UIThreadPolicy::RunOnPlatformThread)

在 macOS 系統中,您可以通過在macos/Runnes/info.plist?文件中的<dict>元素內添加以下內容來啟用合并線程:

<key>FLTEnableMergedPlatformUIThread</key>
<true />

在來來的版本中,我們將在 Windows和 macOS 系統上默認開啟合并線釋功能,請嘗試一下,并在遇到任何問題時提交相關 bug 報告!

ios

我們在iOS 平臺上對 Flutter 應用程序的粘貼功能進行了優化!對于那些沒有自定義操作的基本文本字段,用戶在從其他應用程序粘貼內容時將不再看到確認對話框。此功能在所有FlutterioS 應用程序中默認已啟用。請注意,如果您的應用程序使用了自定義操作(例如:在菜單中“發送電子郵件”)此功能目前尚不支持。

Android

對 Gradle 工具進行的 Kotlin 語言重寫

Flutter 的Gradle 插件已從 Groovy語言轉換為 Kotlin語言。這一從 Groovy 到Kotlin 的轉變使得代碼庫更易于進行貢獻,并且也有助于為該插件引入單元測試。新增的測試以及從動態類型和動態執行的語言轉換為靜態類型語言,應該會為Flutter開發者帶來更穩定和可靠的構建過程。我們不期望此次重寫會導致任何行為上的變化,所以如果您發現 Android 構建與預期不符,請提交一個問題。

書寫板/觸控筆支持

現在,您可以用觸控筆在安卓設備上的文本字段中進行書寫,其方式與蘋果手寫筆在 FlutterioS 應用中的手寫輸入功能相同。用戶可以直接在任何 Flutter文本輸入字段上開始書寫,手寫內容將會以文本形式顯示在該字段中。目前并非所有手勢都得到支持,但我們正在努力填補這些空白。此功能僅在 Android 14及以上版本中可用,并且如果需要,可以通過 TextField.stylusHandwritingEnabled或CupertinoTextField.stylusHandwritingEnabled

設置。

Engine

安卓系統上的Impeller

從 3.29.3版本開始,在運行 Android API級別為28(即 Android 9)及更低版本的設備上,Flutter 應用將使用傳統的 Skia 渲染器。這一改變提高了 Flutter 在較舊日的Android設備上的穩定性。而Impeller 則繼續作為運行 API級別為29(即 Android10)及更高版本設備的默認渲染器。

隨著我們從使用不同設備的用戶那里獲得更多的反饋,我們已經調整了哪些設備使用

Impeller 的 Vulkan 后端,而哪些設備使用 OpenGLES 后端。特別地,在此次更新中,以下設備將使用 OpenGLES 而非 Vulkan:Android 模擬器、API版本小于31的聯發科技設備、CXT 之前的 PowerVR 設備,以及不支持 Vulkan 1.3的三星 XClipse GPU的較舊版本。

與之前的版本一樣,您可以通過以下步驟選擇退出使用Impeller。鑒于我們對Impeller穩定性和性能的愈發信任,未來的一個穩定版本中,將不再提供在新款安卓設備上退出使用Impeller的選項。

最后,Flutter 3.27版本存在一些與在支持Vulkan的設備上使用Impeller 渲染相關的渲染錯誤和崩潰問題,這些問題在 3.29及更高版本中已得到解決。我們不打算將這些更改直接應用于3.27版本,強烈建議您升級到3.29或更高版本。如果您的應用程序無法進行升級,我們建議在安卓設備上禁用Impeller 功能。

其他Impeller更新

此次更新提升了Impeller的文本渲染效果。尤為值得一提的是,得益于Impeller字體圖集中的更高分辦率字體,文本動畫變得更加流暢,抖動現象也明顯減少,并且還解決了浮點運算中的四舍五入誤差問題。更多詳情請參見?flutter#149652.

此次發布還包含了多種其他音質和性能方面的內容。

改進措施,包括:

  • 圓錐曲線不再進行近似處理,而是直接進行分塊分割。
  • 部分重繪已得到優化,以避免頻繁進行內存分配。
  • 模糊效果的處理速度得到了提升,這是因為去除了不必要的附加組件。
  • 文本的固定方向已精確旋轉了180度。

DevTools and IDEs

[新功能]Flutter屬性編輯器

可以輕松編輯小部件屬性,并通過新的“屬性編輯器”工具閱讀相關文檔。該工具可通過 Flutter 屬性編輯器側邊欄面板(在VS Code 中)或工具窗口(在 AndroidStudio 或IntelliJ中)訪問。

DevTools改進

在 DevTools 中還進行了多項改進,包括為網絡界面新增了離線支持功能、修復了與審查歷史、檢查器錯誤、深度鏈接工具以及 CPU分析器和內存界面的數據相關的問題,并對數據進行了優化。此次更新還為DevTools 增加了多項性能和內存方面的改進,這將使數據加載速度更快,減少與內存相關的崩潰情況。

這只是此次發布的一些重點內容。如需了解 Flutter3.32中包含的所有更新內容,請查閱 DevTools 的發布說明2.44.0和2.45.0。

Analyzer改進

我們一直在對Dart分析器進行改進,從而優化了開發者的使用體驗。這包括新增了“文檔導入”功能,這是一種基于注釋的語法,使得在文檔注釋中能夠引用外部元素,而無需實際進行導入操作。詳情請查看dart.dev。此外,我們還對快速修復、輔助功能和重命名功能進行了多項改進。

在 Android Studio 中,Gemini 現在能夠流暢地使用 Flutter和 Dart 語言了。

在Android Studio 中,Gemini 現已為 Dart 和 Flutter 開發提供了頂級支持!這意味著您可以在您所喜愛的集成開發環境(IDE)中直接利用Gemini 的強大功能,從而以比以往更快、更簡便的方式構建美觀且高性能的 Flutter 應用程序。

博客鏈接:博客鏈接

https://miro.medium.com/v2/resize:fit:720/format:webp/1*51UZbL3Qb7BGDEuujTTg6A.gif

對于模型上下文協議 (MCP)的支持,Dart 和 Flutter 已經即將推出。

對于模型上下文協議(MCP)以及近期發布的Dart MCP SDK的支持工作正在積極推進中。同時,一個新的 Dart Tooling?MCP Server也正在開發中,該服務器將向MCP 客戶端(如集成開發環境)開放Dart 和 Flutter 的靜態、運行時以及生態系統工具功能。

這將為 Dart和 Flutter 開發者帶來以下好處:

  • 更準確且更具針對性的代碼生成。
  • 復雜的任務—一比如解決布局問題、管理依賴關系,甚至解決運行時錯誤一一都變得可行了,這是因為MCP 協議能夠從實際的 Dart和 Flutter 工具中獲取語義信息。

敬請關注!

Build with AI

介紹 Firebase Al邏輯

您可能聽說過,或者甚至已經在 Firebase 中使用過 Vertex Al。Firebase 是我們為將Gemini API驅動的功能直接集成到您的 Flutter 應用程序中而開發的客戶端SDK。

許多用戶要求使用“Gemini Developer API”而非 “Vertex A”,以便利用豐厚的免費套餐,并以零成本開始添加生成式人工智能功能。我們聽到了你們的訴求!從今天起,我們將

Vertex Al 在 Firebase 中進行升級,將其轉變為 Firebase AI 邏輯,這樣只需一個 FlutterSDK就能訪問到Gemini API 的兩個提供者。這使得您能夠直接從 Flutter 應用程序中使用Gemini 和“Imagen” 模型,而無需使用服務器端SDK。

請查看 firebase_ai 包以了解新功能。如果您已經在使用 firebase_vertexai包,那么目前它仍能保持原樣運行,但我們鼓勵您遷移到新的包版本。

借助 AI 監控儀表盤獲取可操作的見解

Firebase 控制臺中的新 AI 監控儀表板能夠為您提供有關 Gemini API 使用情況的詳細且具有實際意義的洞察。這包括對使用模式、性能指標以及潛在問題的全面了解。這有助于您做出基于數據的決策,并確保您以最高效的方式使用 Gemini APl。AI 監控還能幫助您調試 GeminiAPI的使用情況,并識別和解決任何意外行為。

打破變更和棄用

安卓無障礙功能公告

在安卓系統中,自API 36版本起,語義公告事件已被棄用。相反,可以通過配置 SemanticProperties.liveRegion 來使用“polite”的隱式通知,目前,在宣布不應具有焦點的文本時存在一個已知的限制。有關此限制的詳組估息以及解決此問題的計劃,請參閱問題 #165857?。要查看其他解決方案,請查閱關于SemanticService.announce ,

停止對6個軟件包的支持

正如我們在 Flutter 3.29版本發布博客文章中所計劃和閱述的那樣,我們已停止對以下包的支持:

  • flutter_markdown; see?flutter_markdown planned to be discontinued #162966
  • ios_platform_images; see?ios_platform_images planned to be discontinued #162961
  • css_colors; see?css_colors planned to be discontinued #162962
  • palette_generator; see?palette_generator planned to be discontinued #162963
  • flutter_image; see?flutter_image discontinued #162964
  • flutter_adaptive_scaffold; see?flutter_adaptive_scaffold planned to be discontinued #162965

我們鼓助社區成員參考每個議題中的討論內容,以獲取其他可行的解決方案。

iOS和 macOS的最低版本要求

在下一次穩定版本發布中,Flutter 將停止對iOS12和 macos 10.14(莫卡維)的支持,并將把最低運行要求設定為iOS 13和 macOS 10.15(塔卡琳)。這意味著基于未來版本的Flutter 構建的應用程序將無法在iOS 12或 macOS 10.14上運行。

其他重大變更

本次更新中還有其他一些重大變更和棄用內容包括:

  • 在 Material 中,已棄用 “ExpansionTileController”組伴,轉而采用位于 Widgets層中的新的可復用 “ExpansibleController”組件。
  • 將 “SelectionChangedCause.scribble”(已棄用)重命名為“
    SelectionChangedCause.stylusHandwriting”,因為蘋果的“繪圖”功能現已與安卓的“書寫板”功能統一了。
  • 作為我們持緩推進材料主題化標準化工作的一部分,ThemeDatarindicatorColor 已被棄用,取而代之的是TabBarThemeData.indicatorColor。同時,cardTheme、dialogTheme 和 tabBarTheme 的組件主題類型需要分別遷移到CardThemeData. DialogThemeData?,TabBarThemeData?。
  • 在某些行為中,SpringDescription 的公式已得到修正。這一改動解決了這樣一個問題:對于某些參數組合,該行為與預期的真實物理現象不符,并且在臨界阻尼點附近會出現不連續現象。這種破壞性影響到欠阻尼彈簧(陰尼比小于1) 以及質量值并非1的其他情況。在此更改之前創建的此類彈簧在升級后可能會表現出不同的彈跳行為。要恢復之前的動畫行為,請根據“欠阻尼彈簧的破壞性更改說明”更新您的彈簧參數,您還可以在該指南中找到用于計算參數調整的工具。

要查看本版本中所有已棄用功能或重大變更的遷移指南,請訪問“重大變更???????”頁面。更新后運行 “dart fix”命令將自動為您遷移部分此類變更。

結論

Flutter 3.32 進一步實現了突破,這得益于我們社區的不懈努力。我們非常高興能為您帶來諸如網頁熱重載等新功能以及持續的平臺改進。您的貢獻至關重要,我們迫不及待地想看到您所創造的成果。如需全面了解詳情,請查看詳細的發行說明和變更日志。要開始使用,請直接運行 “flutter upgrade”并進入最新版本!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/82370.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/82370.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/82370.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

漢諾塔超級計算機數據區結構和源代碼詳細設計

### 數據區結構與源代碼詳細設計 基于"滿秩二叉樹"存儲模型的設計理念&#xff0c;我設計了以下數據區結構和實現方案&#xff1a; #### 1. 滿秩二叉樹存儲模型 **數據結構設計**&#xff1a; python class TreeNode: """二叉樹節點結構&#xff0c…

GitHub Copilot 現已支持 AI Coding Agent

VS Code 開始越來越像 Cursor 和 WindSurf 了。 這周,GitHub 發布了一個新的編程代理,直接嵌入到 GitHub 中。當你將 GitHub 問題分配給 Copilot 或在 VS Code 中提示它時,該代理會啟動一個由 GitHub Actions 驅動的安全且完全可定制的開發環境。 這一公告來自微軟首席執行…

【辰輝創聚生物】FGF信號通路相關蛋白:解碼生命調控的關鍵樞紐

在生命科學的探索旅程中&#xff0c;成纖維細胞生長因子&#xff08;Fibroblast Growth Factor&#xff0c;FGF&#xff09;信號通路猶如精密儀器中的核心齒輪&#xff0c;驅動著眾多生命活動的有序進行。FGF 信號通路相關蛋白作為該通路的重要組成部分&#xff0c;其結構與功能…

算法的學習筆記— 構建乘積數組(牛客JZ66)

構建乘積數組 1. 問題背景與描述 1.1 題目來源與鏈接 本題來源于NowCoder在線編程平臺&#xff0c;是劍指Offer系列面試題中的經典問題。題目鏈接為&#xff1a;NowCoder。該問題在算法面試中出現頻率較高&#xff0c;主要考察數組操作和數學思維。 1.2 問題描述與要求 給…

SpringBoot+ELK 搭建日志監控平臺

ELK 簡介 ELK&#xff08;Elasticsearch, Logstash, Kibana&#xff09;是一個目前主流的開源日志監控平臺。由三個主要組件組成的&#xff1a; Elasticsearch&#xff1a; 是一個開源的分布式搜索和分析引擎&#xff0c;可以用于全文檢索、結構化檢索和分析&#xff0c;它構建…

python36

仔細回顧一下神經網絡到目前的內容&#xff0c;沒跟上進度的同學補一下進度。 作業&#xff1a;對之前的信貸項目&#xff0c;利用神經網絡訓練下&#xff0c;嘗試用到目前的知識點讓代碼更加規范和美觀。 # 先運行之前預處理好的代碼 import pandas as pd import pandas as pd…

SGlang 推理模型優化(PD架構分離)

一、技術背景 隨著大型語言模型&#xff08;LLM&#xff09;廣泛應用于搜索、內容生成、AI助手等領域&#xff0c;對模型推理服務的并發能力、響應延遲和資源利用效率提出了前所未有的高要求。與模型訓練相比&#xff0c;推理是一個持續進行、資源消耗巨大的任務&#xff0c;尤…

模型實戰(28)之 yolov5分類模型 訓練自己的數據集

模型實戰(28)之 yolov5分類模型 訓練自己的數據集 本文以手寫數字數據集為例總結YOLO分類模型如何訓練自己的數據集,關于數據集的預處理可以看這篇:https://blog.csdn.net/yohnyang/article/details/148209978?spm=1001.2014.3001.5502 yolov5曾是在 2021-2023 年十分流行…

醫學寫作人才管理策略

1. 人才選擇:精準定位核心能力 1.1 人才篩選標準 1.1.1 硬性要求 初創生物制藥公司醫學寫作崗位對專業背景要求嚴格,候選人需具備醫學、藥學或生物學碩士及以上學歷,博士優先。同時,熟悉ICH、FDA/EMA等法規指南是必備條件,且至少有1-3年醫學寫作經驗,或相關領域如臨床研…

Axure酒店管理系統原型

酒店管理系統通常被設計為包含多個模塊或界面&#xff0c;以支持酒店運營的不同方面和參與者。其中&#xff0c;管理端和商戶端是兩個核心組成部分&#xff0c;它們各自承擔著不同的職責和功能。 軟件版本&#xff1a;Axure RP 9 預覽地址&#xff1a;https://556i1e.axshare.…

云原生安全之HTTP協議:從基礎到實戰的安全指南

&#x1f525;「炎碼工坊」技術彈藥已裝填&#xff01; 點擊關注 → 解鎖工業級干貨【工具實測|項目避坑|源碼燃燒指南】 一、基礎概念&#xff1a;HTTP協議的核心要素 HTTP&#xff08;HyperText Transfer Protocol&#xff09;是云原生應用中客戶端與服務器通信的基礎協議&a…

怎樣解決photoshop閃退問題

檢查系統資源&#xff1a;在啟動 Photoshop 之前&#xff0c;打開任務管理器檢查 CPU 和內存的使用情況。如果發現資源占用過高&#xff0c;嘗試關閉不必要的程序或重啟計算機以釋放資源。更新 Photoshop 版本&#xff1a;確保 Photoshop 是最新版本。Adobe 經常發布更新以修復…

修復ubuntu server筆記本合蓋導致的無線網卡故障

下班回到家發現走時還好的局域網 ubuntu server 24 連不上了&#xff0c;趕緊打開筆記本查看下原因&#xff0c;發現控制臺出了一堆看不懂的內容&#xff1a; 根據搜索結果&#xff0c;筆記本合蓋導致無線網卡故障可能與電源管理設置和系統休眠策略有關&#xff0c;以下是具體…

CMake指令:find_package()在Qt中的應用

目錄 1.簡介 2.Qt 核心組件與常用模塊 3.配置模式的工作流程 4.完整示例&#xff1a;構建 Qt GUI 應用 5.常見問題與解決方案 6.總結 1.簡介 在 CMake 中使用 find_package(Qt) 是集成 Qt 庫的核心步驟。Qt 從 5.x 版本開始全面支持 配置模式&#xff08;Config Mode&…

Docker 鏡像調試最佳實踐

當你已經構建了一個 Docker 鏡像&#xff0c;但運行它的容器啟動后立即退出&#xff08;通常是因為服務異常或配置錯誤&#xff09;&#xff0c;你仍然可以通過以下幾種方式進入鏡像內部進行調試。 ? 最佳實踐&#xff1a;如何對一個“啟動即退出”的鏡像進行命令行調試&#…

使用Java制作貪吃蛇小游戲

在這篇文章中&#xff0c;我將帶你一步步實現一個經典的貪吃蛇小游戲。我們將使用Java語言和Swing庫來構建這個游戲&#xff0c;它包含了貪吃蛇游戲的基本功能&#xff1a;蛇的移動、吃食物、計分以及游戲結束判定。 游戲設計思路 貪吃蛇游戲的基本原理是&#xff1a;玩家控制…

【linux】umask權限掩碼

umask這個接口在一些程序初始化的時候經常會見到&#xff0c;處于安全性&#xff0c;可以縮小進程落盤文件的權限。 1、linux文件系統的權限規則 文件的默認權限由系統決定&#xff08;通常是 0666&#xff0c;即所有人可讀可寫&#xff09;。 目錄的默認權限通常是 0777&am…

esp32cmini SK6812 2個方式

1 #include <SPI.h> // ESP32-C系列的SPI引腳 #define MOSI_PIN 7 // ESP32-C3/C6的SPI MOSI引腳 #define NUM_LEDS 30 // LED燈帶實際LED數量 - 確保與實際數量匹配&#xff01; #define SPI_CLOCK 10000000 // SPI時鐘頻率 // 顏色結構體 st…

互聯網大廠Java求職面試:Spring Cloud微服務架構設計中的挑戰與解決方案

互聯網大廠Java求職面試&#xff1a;Spring Cloud微服務架構設計中的挑戰與解決方案 面試場景設定 鄭薪苦是一位擁有豐富實戰經驗的Java開發者&#xff0c;他正在參加一場由某知名互聯網大廠的技術總監主持的面試。這場面試將圍繞Spring Cloud微服務架構展開&#xff0c;涵蓋…

品鑒JS的魅力之防抖與節流【JS】

前言 小水一波&#xff0c;函數的防抖與節流。 文章目錄 前言介紹實現方式防抖節流 介紹 防抖與節流的優化邏輯&#xff0c;在我們的日常開發中&#xff0c;有著一定的地位。 防抖和節流是兩種常用的性能優化技術&#xff0c;用于限制某個函數在一定時間內被觸發的次數,減少不…