學習elixir(1)

突然發現elixir很有趣,所以想記錄以下學習內容

# .ex .exs file
elixir simple.exs
# mix new <app_name>
# mix deps.get; mix deps.update; mix deps.compile
# 怎么使用mix escript.build
# eg. 在mix.exs添加escript: [main_module: IntentionCLI, name: "intention"]
# livebook 
# 學習Phoenix web framework

以下是一些官方文檔機器翻譯(不具有可讀性)

  • https://hexdocs.pm/phoenix/overview.html
Phoenix是一個用Elixir編寫的web開發框架,它實現了服務器端的模型視圖控制器(MVC)模式。它的許多組件和概念對于我們這些有過Ruby on Rails或Python的Django等其他web框架經驗的人來說似乎很熟悉。
Phoenix提供了最好的兩個世界——高開發效率和高應用程序性能。它也有一些有趣的新變化,如實現實時功能的通道和高速預編譯模板。
如果你已經熟悉了仙丹,那太好了!如果沒有,還有很多地方可以學習。靈藥指南和靈藥學習資源頁面是兩個很好的起點。
你正在看的指南提供了制造鳳凰的所有部分的概述。以下是他們所提供服務的概要:
簡介-你正在閱讀的指南。它們將涵蓋如何啟動和運行您的第一個應用程序
指南——涵蓋Phoenix和Phoenix應用程序中主要組件的深入指南
認證-深入指南,介紹如何使用mix phx.gen.auth
實時組件——涵蓋Phoenix內置實時組件的深入指南
測試-關于測試的深入指南
部署-關于部署的深入指南
How-to's -關于如何用Phoenix實現某些事情的文章集
如果你想以EPUB的形式閱讀這些指南,請點擊這里!
注意,這些指南不是對Phoenix的逐步介紹。如果你想要一個更結構化的方法來學習框架,我們有一個很大的社區和許多書籍、課程和截屏。請查看我們的社區頁面獲取完整列表。
我們去裝鳳凰吧
  • https://hexdocs.pm/phoenix/installation.html
為了構建Phoenix應用程序,我們需要在操作系統中安裝一些依賴項:Erlang VM和Elixir編程語言
數據庫——Phoenix推薦PostgreSQL,但你也可以選擇其他數據庫或根本不用數據庫
和其他可選軟件包。請查看此列表,并確保為您的系統安裝任何必要的東西。預先安裝依賴項可以防止以后出現令人沮喪的問題。
靈藥1.14或更高版本Phoenix是用Elixir編寫的,我們的應用程序代碼也將使用Elixir編寫。沒有它,我們在Phoenix應用程序中走不遠!Elixir網站有一個很棒的安裝頁面可以提供幫助。如果我們第一次安裝了Elixir,我們還需要安裝Hex軟件包管理器。Hex是運行Phoenix應用程序(通過安裝依賴項)和安裝我們可能需要的任何額外依賴項所必需的。以下是安裝Hex的命令(如果您已經安裝了Hex,它會將Hex升級到最新版本):mix local.hexErlang 24或更高版本Elixir代碼編譯成Erlang字節代碼,以便在Erlang虛擬機上運行。沒有Erlang,Elixir代碼就沒有虛擬機可以運行,所以我們也需要安裝Erlang。當我們使用Elixir安裝頁面上的說明安裝Elixir時,我們通常也會得到Erlang。如果Erlang沒有隨Elixir一起安裝,請參閱Elixir安裝頁面的Erlang說明部分以獲取說明。
鳳凰要檢查我們使用的是Elixir 1.14和Erlang 24或更高版本,請運行:酏劑-v
Erlang/OTP 24【ERTs-12.0】【源代碼】【64位】【smp:8:8】【異步線程:10】【hipe】【內核輪詢:false】【dtrace】長生不老藥有了Elixir和Erlang之后,我們就可以安裝Phoenix應用程序生成器了:mix archive.install hex phx_newphx.new生成器現在可用于在下一個指南《啟動和運行》中生成新的應用程序。下面提到的標志是生成器的命令行選項;通過調用mix help phx.new查看所有可用選項。
一種數據庫系統PostgreSQL是一個關系數據庫服務器。Phoenix將應用程序配置為默認使用它,但我們可以在創建新應用程序時通過傳遞- database標志切換到MySQL、MSSQL或SQLite3。為了與數據庫對話,Phoenix應用程序使用了另一個名為Ecto的靈藥包。如果您不打算在應用程序中使用數據庫,可以傳遞- no-ecto標志。但是,如果您剛剛開始使用Phoenix,我們建議您安裝PostgreSQL并確保它正在運行。PostgreSQL wiki有許多不同系統的安裝指南。
inotify工具(針對Linux用戶)Phoenix提供了一個非常方便的功能,叫做實時重裝。當您更改視圖或資源時,它會自動在瀏覽器中重新加載頁面。為了讓這項功能發揮作用,您需要一個文件系統監視器。macOS和Windows用戶已經有了文件系統監視器,但是Linux用戶必須安裝inotify-tools。請參考inotify-tools wiki獲取特定于發行版的安裝說明。
摘要在本節結束時,您必須已經安裝了Elixir、Hex、Phoenix和PostgreSQL。現在我們已經安裝好了所有的東西,讓我們創建第一個Phoenix應用程序并開始運行。
  • https://hexdocs.pm/phoenix/up_and_running.html
運行正常的讓我們盡快啟動并運行一個Phoenix應用程序。開始之前,請花幾分鐘時間閱讀安裝指南。通過預先安裝任何必要的依賴項,我們將能夠讓我們的應用程序順利啟動和運行。我們可以從任何目錄運行mix phx.new來引導我們的Phoenix應用程序。Phoenix將接受我們新項目目錄的絕對或相對路徑。假設我們的應用程序的名稱是hello,讓我們運行以下命令:mix phx.new hello關于Ecto的說明:Ecto允許我們的Phoenix應用程序與數據存儲進行通信,比如PostgreSQL、MySQL等等。如果我們的應用程序不需要這個組件,我們可以通過將- no-ecto標志傳遞給mix phx.new來跳過這個依賴項。要了解更多關于mix phx.new的內容,你可以閱讀mix任務指南。mix phx.new hello
*創建hello/config/config.exs
*創建hello/config/dev.exs
*創建hello/config/prod.exs
...獲取并安裝依賴項?[Yn]Phoenix生成目錄結構和我們的應用程序需要的所有文件。Phoenix提倡使用git作為版本控制軟件:在生成的文件中,我們發現了一個. gitignore。我們可以將git初始化到我們的存儲庫中,并立即添加和提交所有沒有被標記為忽略的文件。完成后,它會問我們是否希望它為我們安裝依賴項。讓我們同意吧。獲取并安裝依賴項?[Yn] Y
*運行mix deps.get
*運行混合資產.設置
*運行mix deps.compile我們快到了!缺少以下步驟:$ cd你好然后在config/dev.exs中配置您的數據庫并運行:$ mix ecto.create啟動您的Phoenix應用程序:$ mix phx.server您也可以在IEx (Interactive Elixir)中運行您的應用程序,如下所示:$ iex -S mix phx.server一旦我們的依賴項被安裝,任務將提示我們進入我們的項目目錄并啟動我們的應用程序。
Phoenix假設我們的PostgreSQL數據庫將有一個postgres用戶帳戶,該帳戶具有正確的權限和密碼“postgres”。如果不是這種情況,請參閱混合任務指南以了解有關混合ecto.create任務的更多信息。好吧,我們試試看。首先,我們將cd放入剛剛創建的hello/目錄:cd你好現在我們將創建我們的數據庫:mix ecto.create
正在編譯13個文件(。ex)
生成的hello應用程序
你好的數據庫。回購已創建如果無法創建數據庫,請參見mix ecto.create的指南,了解一般故障排除。注意:如果這是您第一次運行這個命令,Phoenix可能還會要求安裝Rebar。繼續安裝,因為Rebar用于構建Erlang包。最后,我們將啟動Phoenix服務器:mix phx.server
[信息]運行HelloWeb。127.0.0.1:4000 (http)上帶有cowboy 2.9.0的端點
[信息]訪問HelloWeb。http://localhost:4000上的端點
[觀察]構建完成,正在觀察更改...
...如果我們在生成新的應用程序時選擇不讓Phoenix安裝我們的依賴項,那么當我們確實想安裝它們時,mix phx.new任務會提示我們采取必要的步驟。獲取并安裝依賴項?[Yn] n我們快到了!缺少以下步驟:$ cd你好
$ mix deps.get然后在config/dev.exs中配置您的數據庫并運行:$ mix ecto.create啟動您的Phoenix應用程序:$ mix phx.server您也可以在IEx (Interactive Elixir)中運行您的應用程序,如下所示:$ iex -S mix phx.server默認情況下,Phoenix接受端口4000上的請求。如果我們將最喜歡的web瀏覽器指向http://localhost:4000,我們應該會看到Phoenix Framework的歡迎頁面。
如果你的屏幕看起來像上面的圖像,那么恭喜你!您現在有了一個可以工作的Phoenix應用程序。如果您看不到上面的頁面,請嘗試通過http://127.0.0.1:4000訪問它,然后確保您的操作系統已將“本地主機”定義為“127.0.0.1”。為了停止它,我們按了兩次ctrl-c。現在您已經準備好探索鳳凰城提供的世界了!查看我們的社區頁面,獲取書籍、視頻、課程等信息。或者,您可以繼續閱讀這些指南,快速了解構成Phoenix應用程序的所有部分。如果是這樣的話,你可以以任何順序閱讀指南,或者從解釋Phoenix目錄結構的指南開始。
  • https://hexdocs.pm/phoenix/packages_glossary.html
默認情況下,Phoenix應用程序依賴于幾個具有不同用途的包。這個頁面是您作為Phoenix開發人員可能使用的不同軟件包的快速參考。主要的軟件包有:一種集成查詢和數據庫包裝器的語言Phoenix-Phoenix web框架(這些文檔)Phoenix LiveView -使用服務器渲染的HTML構建豐富的實時用戶體驗。LiveView項目還定義了Phoenix。組件和HEEx模板引擎,用于在常規和實時應用程序中呈現HTML內容插件規范和構建可組合模塊web應用程序的便利性。這是負責連接抽象和常規請求-響應生命周期的包您還將使用以下內容:ExUnit - Elixir的內置測試框架Gettext -通過Gettext實現國際化和本地化Swoosh -一個用于編寫、發送和測試電子郵件的庫,也由mix phx.gen.auth使用當在幕后窺視時,您會發現這些庫在Phoenix應用程序中扮演著重要的角色:Phoenix HTML -安全使用HTML和表單的構建塊Phoenix Ecto插件和協議實現一個支持在線狀態的分布式發布/訂閱系統關于儀器儀表和監控,請查看:Phoenix live dashboard-Phoenix開發人員的實時性能監控和調試工具遙測指標-基于遙測事件定義指標的通用界面
  • https://hexdocs.pm/phoenix/directory_structure.html
要求:本指南要求您已經完成了入門指南并啟動和運行了Phoenix應用程序。當我們使用mix phx.new生成一個新的Phoenix應用程序時,它會構建一個頂級目錄結構,如下所示:├──_建筑
├──資產公司
├──配置
├──警察局
├──自由報
│ ├──你好
│ ├── hello.ex
│ ├── hello_web
│ └── hello_web.ex
├──私立學校
└──試驗我們將逐一查看這些目錄:_build -由mix命令行工具創建的目錄,作為保存所有編譯工件的Elixir的一部分提供。正如我們在“啟動和運行”中看到的那樣,mix是您的應用程序的主界面。我們使用Mix來編譯代碼、創建數據庫、運行服務器等等。此目錄不得簽入版本控制,并且可以隨時移除。移除它將強制Mix從頭開始重新構建應用程序。資產——保存前端資產源代碼的目錄,通常是JavaScript和CSS。esbuild工具會自動捆綁這些源代碼。像圖像和字體這樣的靜態文件放在priv/static中。保存項目配置的目錄。config/config.exs文件是配置的入口點。在config/config.exs的末尾,它導入特定于環境的配置,這些配置可以在config/dev.exs、config/test.exs和config/prod.exs中找到。最后,執行config/runtime。exs,這是讀取機密和其他動態配置的最佳位置。deps -包含我們所有混合依賴項的目錄。您可以在defp deps do函數定義中找到mix.exs文件中列出的所有依賴項。此目錄不得簽入版本控制,并且可以隨時移除。移除它將強制Mix從頭開始下載所有dep。lib -保存應用程序源代碼的目錄。這個目錄分為兩個子目錄,lib/hello和lib/hello_web。lib/hello目錄將負責托管您的所有業務邏輯和業務域。它通常直接與數據庫交互——它是模型-視圖-控制器(MVC)架構中的“模型”。lib/hello_web負責向世界展示您的業務領域,在本例中是通過web應用程序。它同時擁有MVC的視圖和控制器。我們將在下一節中更詳細地討論這些目錄的內容。priv——一個目錄,保存生產中所需的所有資源,但不是源代碼的直接組成部分。您通常將數據庫腳本、翻譯文件、圖像等保存在這里。默認情況下,從assets目錄中的文件創建的生成資產放在priv/static/assets中。test -包含我們所有應用程序測試的目錄。它通常反映了lib中的相同結構。lib/hello目錄lib/hello目錄托管您的所有業務域。因為我們的項目還沒有任何業務邏輯,所以目錄大部分是空的。您只會找到三個文件:lib/你好
├──應用程序
├──·梅勒
└──證券交易所lib/hello/application.ex文件定義了一個名為Hello.Application的Elixir應用程序。你好。應用模塊定義了哪些服務是我們應用的一部分:兒童=【
你好。遙測技術,
你好。回購,
鳳凰城。PubSub,名字:你好。PubSub},
你好。端點
]如果這是你第一次使用鳳凰城,你現在不需要擔心細節。現在,可以說我們的應用程序啟動了一個數據庫存儲庫、一個用于跨進程和節點共享消息的PubSub系統以及應用程序端點,該端點有效地服務于HTTP請求。這些服務按照定義的順序啟動,每當關閉應用程序時,它們都會以相反的順序停止。您可以在Elixir的官方應用文檔中了解更多有關應用程序的信息。lib/hello/mailer.ex文件保存hello。郵件模塊,定義了發送電子郵件的主要界面:
你好。梅勒道
使用Swoosh。Mailer,otp_app::你好
結束在同一個lib/hello目錄中,我們將找到一個lib/hello/repo.ex .它定義了一個hello。回購模塊是我們與數據庫的主要接口。如果您使用Postgres(默認數據庫),您將看到如下內容:你好。回購do
使用Ecto。回購,
otp_app::你好,
適配器:Ecto。適配器。Postgres
結束暫時就這樣了。當您在項目中工作時,我們將向該目錄添加文件和模塊。
lib/hello_web目錄lib/hello_web目錄保存了我們的應用程序中與web相關的部分。展開后看起來像這樣:lib/你好網
├──控制器
│ ├── page_controller.ex
│ ├──頁面_html.ex
│ ├──錯誤_html.ex
│ ├──錯誤_json.ex
│ └──網頁_html
│ └──主頁。home.html.heex
├──組件
│ ├──核心組件
│ ├──布局圖。ex
│ └──版面設計
│ ├── app.html.heex
│ └──根。root.html.heex
├──端點。ex
├──新聞網
├──路由器。ex
└──遙測技術公司當前在控制器和組件目錄中的所有文件都是為了創建“歡迎來到Phoenix!”我們在“啟動和運行”指南中看到的頁面。通過查看控制器和組件目錄,我們可以看到Phoenix提供了開箱即用的處理布局、HTML和錯誤頁面的功能。除了提到的目錄之外,lib/hello_web的根目錄下還有四個文件。lib/hello_web/endpoint.ex是HTTP請求的入口點。一旦瀏覽器訪問http://localhost:4000,端點就開始處理數據,最終到達在lib/hello_web/router.ex中定義的路由器。路由器定義了向“控制器”發送請求的規則,控制器調用視圖模塊將HTML頁面呈現回客戶端。我們將在其他指南中詳細探討這些層,從接下來的“請求生命周期”指南開始。通過遙測技術,Phoenix能夠收集指標并發送應用程序的監控事件。lib/hello_web/telemetry.ex文件定義了負責管理遙測過程的主管。您可以在遙測指南中找到關于此主題的更多信息。最后,還有一個lib/hello_web/gettext.ex文件,它通過gettext提供國際化。如果您不擔心國際化,您可以安全地跳過該文件及其內容。
資產目錄
資產目錄包含與前端資產相關的源文件,如JavaScript和CSS。從Phoenix v1.6開始,我們使用esbuild來編譯資產,資產由esbuild Elixir包管理。與esbuild的集成被嵌入到您的應用程序中。相關的配置可以在config/config.exs文件中找到。您的其他靜態資產放在priv/static文件夾中,其中為生成的資產保存了priv/static/assets。priv/static中的所有內容都由該插件提供服務。在lib/hello_web/endpoint.ex中配置的靜態插件。當在dev模式下運行時(MIX_ENV=dev),Phoenix會觀察您在assets目錄中所做的任何更改,然后在您工作時在瀏覽器中更新您的前端應用程序
請注意,當您第一次使用mix phx.new創建Phoenix應用程序時,可以指定影響資產目錄的存在和布局的選項。事實上,Phoenix apps可以自帶前端工具,或者根本沒有前端(例如,如果您正在編寫API,這很方便)。更多信息可以運行mix help phx.new或者查看Mix tasks中的文檔。如果默認的esbuild集成不能滿足您的需求,例如,因為您想要使用另一個構建工具,您可以切換到一個定制的資產構建。至于CSS,Phoenix附帶了Tailwind CSS框架,為項目提供了一個基礎設置。你可以選擇任何一個CSS框架。其他參考資料可在《資產管理指南》中找到。

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

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

相關文章

Window在VScode運行C/C++程序

首先說明&#xff1a;不同運行環境&#xff08;Linux/Window&#xff09;下的頭文件會有差異&#xff0c;要注意變換&#xff01;生成可執行文件 Window默認生成a.exe&#xff0c;Linux默認生成a.out # C源代碼 g test.cpp # C語言源代碼 g test.c 或 gcc test.c直接輸入a.ex…

從零開始學逆向,js逆向啟蒙:有道翻譯

語言&#xff1a;js、python 工具&#xff1a;pycharm、chrome瀏覽器F12調試、chatgpt&#xff08;補充js第三方庫&#xff0c;轉python&#xff09;、node.js(js運行)&#xff08;必須&#xff09; 目標&#xff1a;學習掌握基本js逆向知識。 對象&#xff1a; 有道翻譯 &a…

怎么判斷同步時序邏輯電路和異步時序邏輯電路?

&#x1f3c6;本文收錄于「Bug調優」專欄&#xff0c;主要記錄項目實戰過程中的Bug之前因后果及提供真實有效的解決方案&#xff0c;希望能夠助你一臂之力&#xff0c;幫你早日登頂實現財富自由&#x1f680;&#xff1b;同時&#xff0c;歡迎大家關注&&收藏&&…

力扣刷題---2418. 按身高排序【簡單】

題目描述 給你一個字符串 數組 names &#xff0c;和一個由 互不相同 的正整數組成的數組 heights 。兩個數組的長度均為 n 。 對于每個下標 i&#xff0c;names[i] 和 heights[i] 表示第 i 個人的名字和身高。 請按身高 降序 順序返回對應的名字數組 names 。 示例 1&…

僵尸進程,孤兒進程,守護進程

【一】僵尸進程 1.僵尸進程是指完成自己的任務之后&#xff0c;沒有被父進程回收資源,占用系統資源,對計算機有害&#xff0c;應該避免 """ 所有的子進程在運行結束之后都會變成僵尸進程(死了沒死透)還保留著pid和一些運行過程的中的記錄便于主進程查看(短時間…

嵌入式作業5

在函數main.c中初始化三種顏色的燈&#xff1a; gpio_init(LIGHT_BLUE, GPIO_OUTPUT, LIGHT_OFF); //藍燈 gpio_init(LIGHT_GREEN, GPIO_OUTPUT, LIGHT_OFF); //綠燈 gpio_init(LIGHT_RED, GPIO_OUTPUT, LIGHT_OFF); //紅燈 同時為了響應以上修改&#xff0c;進入isr。c…

STM32 CubeMX使用記錄

取消DMA中斷默認使能 DMA中斷默認使能勾選無法取消選中 取消勾選Force DMA channels interrupts

cadence23---PCB Editer 學習筆記

1.交互式布局 在Orcad中點擊圖標N生成第一網表&#xff1a; 在PCB Editer中導入第一網表&#xff0c; 之后點擊移動命令并在右側屬性框中勾選Symbol選項卡&#xff1a; 設置--應用模式--點擊常規編輯&#xff1a; 之后就可以進行交互式選擇了。 綠色圖標為打開全部飛線&#…

web前端學習筆記11

11. CSS3高級特效 11.1 CSS3變形 CSS3變形是一些效果的集合, 如平移、旋轉、縮放、傾斜效果 每個效果都可以稱為變形(transform),它們可以分別操控元素發生平移、旋轉、縮放、傾斜等變化 語法 transform:[transform-function] ; /* 設置變形函數,可以是一個,也可以是多…

2024年【N1叉車司機】考試題及N1叉車司機找解析

題庫來源&#xff1a;安全生產模擬考試一點通公眾號小程序 N1叉車司機考試題參考答案及N1叉車司機考試試題解析是安全生產模擬考試一點通題庫老師及N1叉車司機操作證已考過的學員匯總&#xff0c;相對有效幫助N1叉車司機找解析學員順利通過考試。 1、【多選題】《特種設備使用…

git使用介紹

一、為什么做版本控制&#xff08;git是版本控制工具&#xff09; 為了保留之前所以的版本&#xff0c;以便回滾和修改 二、點擊安裝 三、基礎操作 1、初步認識 想要讓git對一個目錄進行版本控制需要以下步驟&#xff1a; 進入要管理的文件夾進行初始化命令 git init管理…

Amesim基礎篇-元件詳解-H型膨脹閥四象限解析

一 膨脹閥簡介 膨脹閥的主要功能是節流和調節過熱度,庫內膨脹閥包含節流管、H型膨脹閥、T型膨脹閥三種: 節流管:一根內徑較小的管路,當制冷劑通過他時發生等等焓降壓降溫,具有成本低,內徑不可變的特點,因此普遍在家用空調中使用,在汽車空調上使用較少。當我們建模過程…

Linux虛擬主機中如何創建文件和文件夾

我想創建一個新的文件夾&#xff0c;由于我使用的Hostease的Linux虛擬主機產品默認帶普通用戶權限的cPanel面板&#xff0c;但是不知道如何在cPanel上操作創建文件&#xff0c;因為也是對于Hostease主機產品不是很了解&#xff0c;因此聯系Hostease的咨詢了Hostease技術支持&am…

JAVA線程池的線程數量配置

一 JAVA線程池的線程數量配置 關于線程的配置&#xff0c;線程數量配置多少這個問題呢&#xff1f;往往不同的環境與不同的線程中的代碼決定其配置的線程的數量。 二 常見的線程量配置 最常見的方式根據線程中處理的代碼劃分為CPU密集型或IO密集型&#xff1a; CPU密集型&…

【多標簽分類問題的樣本挖掘】Pytorch中的TripletMarginLoss的樣本挖掘

多數度量學習的代碼都需要進行挖掘&#xff0c;樣本挖掘過程就是把一個Batch中的所有樣本&#xff0c;根據標簽來劃分成正樣本和負樣本 這里我們只討論多標簽分類問題&#xff0c;標簽是onehot編碼&#xff0c;如果是單標簽分類任務可以去看pytorch_metric_learning這個庫有實現…

學習Uni-app開發小程序Day18

昨天學習了使用輪播顯示圖片和文字&#xff0c;輪播方式縱向和橫向。今天使用擴展組件和scroll-view顯示圖片&#xff0c;使用scroll-view的grid方式、插槽slot、自定義組件、磨砂背景定位布局做專題組件 這就是需要做成的效果&#xff0c;下面將一步一步的完成。 首先&#x…

如何高效創建與配置工程環境:零基礎入門

新書上架~&#x1f447;全國包郵奧~ python實用小工具開發教程http://pythontoolsteach.com/3 歡迎關注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目錄 一、工程環境的搭建與準備 二、配置虛擬環境與選擇解釋器 三、編寫代碼與自動添加多行注釋 …

git describe --tags報錯 fatal: No names found, cannot describe anything.

文章目錄 git describe --tags報錯 fatal: No names found, cannot describe anything. git describe --tags報錯 fatal: No names found, cannot describe anything. 問題描述&#xff1a; git describe --tags fatal: No names found, cannot describe anything.原因分析&a…

SpringMVC筆記

一、SpringMVC 簡介 1.1 什么是 MVC MVC 是一種軟件架構的思想&#xff0c;將軟件按照模型、視圖、控制器來劃分 1.M&#xff1a;Model 模型層&#xff0c;指工程中的 JavaBean &#xff0c;作用是處理數據 JavaBean 分為兩類 實體類Bean&#xff1a;專門存儲業務數據的…

C++vector的簡單模擬實現

文章目錄 目錄 文章目錄 前言 一、vector使用時的注意事項 1.typedef的類型 2.vector不是string 3.vector 4.算法sort 二、vector的實現 1.通過源碼進行猜測vector的結構 2.初步vector的構建 2.1 成員變量 2.2成員函數 2.2.1尾插和擴容 2.2.2operator[] 2.2.3 迭代器 2…