主頁 > 企業開發 > 如何在OSX12.5上安裝MacVim并讓它運行REPLforLisp?

如何在OSX12.5上安裝MacVim并讓它運行REPLforLisp?

2022-09-09 02:28:52 企業開發

更新:由于 vim 的默認構建發生了變化,并且 MacOS 12.5 上的目錄結構發生了變化,不再安裝 Python 框架,在安裝 Python3 版本 3.10 和 vim 或 MacVim 時,SLIMV 啟動的 REPL 不適用于 MacVim 的 vim。現在只需 brew 目錄結構中的符號鏈接即可解決問題。原始問題如下:

我已經在 OS X 12.5 (Monterey) 上安裝了 MacVim,并且在將 Slimv 安裝到 ~/.vim/pack/plugins/start/slimv 中后,Lisp 突出顯示作業。雖然從 Dock 啟動的 MacVim 或從終端啟動的 vim 的突出顯示和自動括號管理作業正常,但系統不會運行 REPL,說 vim 的版本沒有為 python 啟用。

我通過brew安裝了vim并啟用了python選項,并通過檢查--version確認。MacVim 通過“brew install --cask macvim”安裝在 /applications 中。

我嘗試設定一個 PATH 以包含帶有 launchctl 的 brew 目錄。我嘗試在 MacVim .plist 檔案中添加一個目錄子句以包含 brew 目錄。還嘗試修改 /etc/paths 并將檔案添加到 /etc/paths.d 但沒有成功。

MacVim 或 vim 中是否有指向 brew 加載的 vim 版本的設定?讓 REPL 在 vi??m 中作業的其他建議?

用戶 romainl,一種 stackoverflower 要求我為 vim 添加 --version 輸出。(我認為這是為了確認 python 功能,所以我隔離了這些行。)

sholland@HHC ~ % which vim
/opt/homebrew/bin/vim
sholland@HHC ~ % echo $path
/opt/homebrew/bin /opt/homebrew/sbin /usr/local/bin /usr/bin /bin /usr/sbin /sbin /opt/X11/bin /Library/Apple/usr/bin
sholland@HHC ~ % vim --version 
VIM - Vi IMproved 9.0 (2022 Jun 28, compiled Jul 25 2022 08:23:04)
macOS version - arm64
Included patches: 1-65
Compiled by GitHub Actions
Huge version with MacVim GUI.  Features included ( ) or not (-):
 acl                find_in_path       mouse_xterm       -tcl
 arabic             float              multi_byte         termguicolors
 autocmd            folding            multi_lang         terminal
 autochdir         -footer            -mzscheme           terminfo
-autoservername     fork()             netbeans_intg      termresponse
 balloon_eval       fullscreen         num64              textobjects
 balloon_eval_term  gettext            odbeditor          textprop
 browse            -hangul_input       packages           timers
  builtin_terms     iconv              path_extra         title
 byte_offset        insert_expand      perl/dyn           toolbar
 channel            ipv6               persistent_undo    transparency
 cindent            job                popupwin           user_commands
 clientserver       jumplist           postscript         vartabs
 clipboard          keymap             printer            vertsplit
 cmdline_compl      lambda             profile            vim9script
 cmdline_hist       langmap            python/dyn         viminfo
 cmdline_info       libcall            python3/dyn        virtualedit
 comments           linebreak          quickfix           visual
 conceal            lispindent         reltime            visualextra
 cryptv             listcmds           rightleft          vreplace
 cscope             localmap           ruby/dyn           wildignore
 cursorbind         lua/dyn            scrollbind         wildmenu
 cursorshape        menu               signs              windows
 dialog_con_gui     mksession          smartindent        writebackup
 diff               modify_fname       sodium            -X11
 digraphs           mouse             -sound             -xfontset
 dnd                mouseshape         spell              xim
-ebcdic             mouse_dec          startuptime       -xpm
 emacs_tags        -mouse_gpm          statusline        -xsmp
 eval              -mouse_jsbterm     -sun_workshop      -xterm_clipboard
 ex_extra           mouse_netterm      syntax            -xterm_save
 extra_search       mouse_sgr          tag_binary        
-farsi             -mouse_sysmouse    -tag_old_static    
 file_in_path       mouse_urxvt       -tag_any_white     
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/Applications/MacVim.app/Contents/Resources/vim"
Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe -DMACOS_X -DMACOS_X_DARWIN -g -O2 -arch x86_64 -arch arm64 -I/usr/local/Cellar/libsodium/1.0.18_1/include -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -Wall -Wextra -Wshadow -Werror -Wno-error=missing-field-initializers -Wno-error=deprecated-declarations -Wno-error=unused-function 
Linking: clang -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/[email protected]/lib -L/usr/local/opt/readline/lib -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/[email protected]/lib -L/usr/local/opt/readline/lib -arch x86_64 -arch arm64 -L/usr/local/lib -o Vim -lm -lncurses /usr/local/lib/libsodium.a -liconv /usr/local/lib/libintl.a -framework AppKit -fstack-protector -L/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE

我認為當 Slimv 執行時,它會在 /usr/bin 中選擇 vim。那個vim沒有python能力。或者它只是無法在任何地方找到 vim。--version for /usr/bin/vim 下面:

sholland@HHC ~ % /usr/bin/vim --version | grep python
 cmdline_hist      -langmap           -python             viminfo
 cmdline_info       libcall           -python3            virtualedit

擴展上述內容,我看到我可以在 vim 中執行 :ver 。我還發現有一個 python 可用性測驗。這給出了一個有趣的結果(在 vim 命令模式下運行):

:execute (has('python3') ? "python3" : "python") . " import sys; print(sys.version)"

E370: Could not load library /System/Library/Frameworks/Python.framework/Versions/2.7/Python: dlopen(/System/Library/Frameworks/Python.fra
mework/Versions/2.7/Python, 0x0009): tried: '/System/Library/Frameworks/Python.framework/Versions/2.7/Python' (no such file), '/Library/Fr
ameworks/Python.framework/Versions/2.7/Python' (no such file)
E263: Sorry, this command is disabled, the Python library could not be loaded.


:ver
VIM - Vi IMproved 9.0 (2022 Jun 28, compiled Jul 25 2022 08:23:04)
macOS version - arm64
Included patches: 1-65
Compiled by GitHub Actions
Huge version with MacVim GUI.  Features included ( ) or not (-):
 acl                dialog_con_gui     jumplist           multi_byte         sodium             vertsplit
 arabic             diff               keymap             multi_lang        -sound              vim9script
 autocmd            digraphs           lambda            -mzscheme           spell              viminfo
 autochdir          dnd                langmap            netbeans_intg      startuptime        virtualedit
-autoservername    -ebcdic             libcall            num64              statusline         visual
 balloon_eval       emacs_tags         linebreak          odbeditor         -sun_workshop       visualextra
 balloon_eval_term  eval               lispindent         packages           syntax             vreplace
 browse             ex_extra           listcmds           path_extra         tag_binary         wildignore
  builtin_terms     extra_search       localmap           perl/dyn          -tag_old_static     wildmenu
 byte_offset       -farsi              lua/dyn            persistent_undo   -tag_any_white      windows
 channel            file_in_path       menu               popupwin          -tcl                writebackup
 cindent            find_in_path       mksession          postscript         termguicolors     -X11
 clientserver       float              modify_fname       printer            terminal          -xfontset
 clipboard          folding            mouse              profile            terminfo           xim
 cmdline_compl     -footer             mouseshape         python/dyn         termresponse      -xpm
 cmdline_hist       fork()             mouse_dec          python3/dyn        textobjects       -xsmp
 cmdline_info       fullscreen        -mouse_gpm          quickfix           textprop          -xterm_clipboard
 comments           gettext           -mouse_jsbterm      reltime            timers            -xterm_save
 conceal           -hangul_input       mouse_netterm      rightleft          title
 cryptv             iconv              mouse_sgr          ruby/dyn           toolbar
 cscope             insert_expand     -mouse_sysmouse     scrollbind         transparency
 cursorbind         ipv6               mouse_urxvt        signs              user_commands
 cursorshape        job                mouse_xterm        smartindent        vartabs
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/Applications/MacVim.app/Contents/Resources/vim"
Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe -DMACOS_X -DMACOS_X_DARWIN -g
 -O2 -arch x86_64 -arch arm64 -I/usr/local/Cellar/libsodium/1.0.18_1/include -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -W
all -Wextra -Wshadow -Werror -Wno-error=missing-field-initializers -Wno-error=deprecated-declarations -Wno-error=unused-function
Linking: clang -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/[email protected]/lib -L/usr/
local/opt/readline/lib -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/[email protected]/lib
 -L/usr/local/opt/readline/lib -arch x86_64 -arch arm64 -L/usr/local/lib -o Vim -lm -lncurses /usr/local/lib/libsodium.a -liconv /
usr/local/lib/libintl.a -framework AppKit -fstack-protector -L/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE
Press ENTER or type command to continue

這里有趣的是 vim 報告它啟用了 python 和 python3。但是,python 測驗命令出錯,說它找不到檔案。

uj5u.com熱心網友回復:

MacVim 沒有 python3,它有 python3/dyn,這是完全不同的。:help python-dynamic

前者可以通過以下方式進行測驗:

:echo has('python3_dynamic')

而后者可以通過以下方式進行測驗:

:echo has('python3')

您嘗試設定錯誤的插件測驗 python3

if ( !exists( 'g:slimv_python_version' ) && has( 'python3' ) ) ||

這在 MacVim 中根本行不通, wherehas( 'python3' )總是錯誤的。

如果你想使用那個插件,你有兩個選擇:

  • 正確配置 Vim 并修補插件,
  • 使用用 python3.

uj5u.com熱心網友回復:

@romainl 上面令人難以置信的答案讓我在我的最后做一些黑客攻擊,現在 MacVim 和 vim 正在 MacOS 12.5 上作業。

在 mac 上的 vim 上運行 slimv 的問題是 mac 已經放棄了對 python 框架的支持。如果您使用 brew 安裝了支持 python 的 vim,vim 和 macvim 將找到新版本的 python。然而,vim 和 macvim 目前尋找的是 Python3.9 而不是任何 Python3。錯誤訊息“Vim 編譯時沒有 Python 功能或未安裝 Python。無法運行 SWANK 客戶端。按 ENTER 繼續。” 不完整,因為問題不是沒有安裝 Python3,而是沒有安裝 Python3.9。此外,從 brew 安裝的 vim 啟用了動態加載。此修復適用于使用動態 python 支持編譯 vim 時。

  1. 首先,測驗您的系統,看看問題是否與我的問題相似。您應該運行 vim 并安裝 slimv。編輯 lisp 檔案時,您將獲得括號管理作業,因為您按照說明將 slimv 放入 .vim 檔案夾中。退出命令模式并輸入兩個字符序列“,c”。這應該為 Lisp 啟動 REPL。如果您收到錯誤“Vim 編譯時沒有 Python 功能或未安裝 Python。無法運行 SWANK 客戶端。按 ENTER 繼續”,則此注釋適用。

  2. 檢查你的 vim 是否在 brew 目錄中,并且 vim 是用 python 的動態版本編譯的。動態 python 版本被列為 pythonx/dyn。也就是說,從終端中的用戶目錄運行:

sholland@HHC ~ % which vim 
/opt/homebrew/bin/vim 
sholland@HHC ~ % vim --version | grep python
  cmdline_hist       langmap            python/dyn         viminfo
  cmdline_info       libcall            python3/dyn        virtualedit
  1. 檢查需要哪個版本的 Python。通過在命令模式下進入 vim 或 MacVim 來執行此操作

:執行(“python3”)。“匯入系統;列印(sys.version)”

  1. 錯誤訊息應為 E370:無法加載庫。此外,您將找到 vim 嘗試查找 Python3 的所有目錄。

  2. 轉到 Versions homebrew 目錄,例如終端中的 /opt/homebrew/Frameworks/Python.framework/Versions。從第 4 步確定 vim 想要的 Python 版本。你要做的是創建一個 vim 想要的版本到當前 Python 版本的符號鏈接。或者,您可以從 brew 安裝該版本的 Python3,但這超出了本說明的范圍。在我寫這篇筆記的時候,你需要一個從 3.9 到當前的符號鏈接。

cd /opt/homebrew/Frameworks/Python.framework/Versions

ln -s ./當前 3.9

您現在應該可以在 vim 中編輯 lisp 檔案了。重新運行 vim 命令 :execute ("python3") 。“ import sys; print(sys.version)”,您將看到正在運行的 Python 版本。現在編輯一個 Lisp 檔案,",c" 現在應該啟動 SWANK 服務器,你應該得到分屏來運行 REPL。

現在,SLIMV 檔案說您需要構建 vim 的確切版本。我只是希望 3.9 版與我系統上安裝的當前 3.10 版差別不大。如果將來事情分崩離析,您可能需要 brew install 3.9 版或以其他方式調整這些方向。我希望能夠將我的 python 升級到最新版本并讓 SLIMV 運行它,認為它是 v3.9。我知道 vim 將來會鏈接到 python3v10 并且需要一個特定的版本。隨著 vim 更改所需的 Python3 版本,可能需要更改符號鏈接。

顯然,SLIMV 和 python 和 vim 以及 MacVim 的 brew install 需要做一些協調。我已經向 vim.org 和 SLIMV 的作者提交了錯誤報告。他們在軟體方面做得非常出色。只是 Apple 對 Python 的支持和目錄結構的變化以及 vim 對默認選項的更改造成了兩個小問題。軟體人員努力維護兼容性,因此代碼最終可能會比我在這里撰寫的代碼復雜一些。

期待將 Lisp 與 vim 和 REPL 一起使用!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/505768.html

標籤:Python 苹果系统 vim 口齿不清 自制

上一篇:CGEventPost在(MacOS)launchd守護程式中不起作用

下一篇:Java根據intn拆分字串

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • IEEE1588PTP在數字化變電站時鐘同步方面的應用

    IEEE1588ptp在數字化變電站時鐘同步方面的應用 京準電子科技官微——ahjzsz 一、電力系統時間同步基本概況 隨著對IEC 61850標準研究的不斷深入,國內外學者提出基于IEC61850通信標準體系建設數字化變電站的發展思路。數字化變電站與常規變電站的顯著區別在于程序層傳統的電流/電壓互 ......

    uj5u.com 2020-09-10 03:51:52 more
  • HTTP request smuggling CL.TE

    CL.TE 簡介 前端通過Content-Length處理請求,通過反向代理或者負載均衡將請求轉發到后端,后端Transfer-Encoding優先級較高,以TE處理請求造成安全問題。 檢測 發送如下資料包 POST / HTTP/1.1 Host: ac391f7e1e9af821806e890 ......

    uj5u.com 2020-09-10 03:52:11 more
  • 網路滲透資料大全單——漏洞庫篇

    網路滲透資料大全單——漏洞庫篇漏洞庫 NVD ——美國國家漏洞庫 →http://nvd.nist.gov/。 CERT ——美國國家應急回應中心 →https://www.us-cert.gov/ OSVDB ——開源漏洞庫 →http://osvdb.org Bugtraq ——賽門鐵克 →ht ......

    uj5u.com 2020-09-10 03:52:15 more
  • 京準講述NTP時鐘服務器應用及原理

    京準講述NTP時鐘服務器應用及原理京準講述NTP時鐘服務器應用及原理 安徽京準電子科技官微——ahjzsz 北斗授時原理 授時是指接識訓通過某種方式獲得本地時間與北斗標準時間的鐘差,然后調整本地時鐘使時差控制在一定的精度范圍內。 衛星導航系統通常由三部分組成:導航授時衛星、地面檢測校正維護系統和用戶 ......

    uj5u.com 2020-09-10 03:52:25 more
  • 利用北斗衛星系統設計NTP網路時間服務器

    利用北斗衛星系統設計NTP網路時間服務器 利用北斗衛星系統設計NTP網路時間服務器 安徽京準電子科技官微——ahjzsz 概述 NTP網路時間服務器是一款支持NTP和SNTP網路時間同步協議,高精度、大容量、高品質的高科技時鐘產品。 NTP網路時間服務器設備采用冗余架構設計,高精度時鐘直接來源于北斗 ......

    uj5u.com 2020-09-10 03:52:35 more
  • 詳細解讀電力系統各種對時方式

    詳細解讀電力系統各種對時方式 詳細解讀電力系統各種對時方式 安徽京準電子科技官微——ahjzsz,更多資料請添加VX 衛星同步時鐘是我京準公司開發研制的應用衛星授時時技術的標準時間顯示和發送的裝置,該裝置以M國全球定位系統(GLOBAL POSITIONING SYSTEM,縮寫為GPS)或者我國北 ......

    uj5u.com 2020-09-10 03:52:45 more
  • 如何保證外包團隊接入企業內網安全

    不管企業規模的大小,只要企業想省錢,那么企業的某些服務就一定會采用外包的形式,然而看似美好又經濟的策略,其實也有不好的一面。下面我通過安全的角度來聊聊使用外包團的安全隱患問題。 先看看什么服務會使用外包的,最常見的就是話務/客服這種需要大量重復性、無技術性的服務,或者是一些銷售外包、特殊的職能外包等 ......

    uj5u.com 2020-09-10 03:52:57 more
  • PHP漏洞之【整型數字型SQL注入】

    0x01 什么是SQL注入 SQL是一種注入攻擊,通過前端帶入后端資料庫進行惡意的SQL陳述句查詢。 0x02 SQL整型注入原理 SQL注入一般發生在動態網站URL地址里,當然也會發生在其它地發,如登錄框等等也會存在注入,只要是和資料庫打交道的地方都有可能存在。 如這里http://192.168. ......

    uj5u.com 2020-09-10 03:55:40 more
  • [GXYCTF2019]禁止套娃

    git泄露獲取原始碼 使用GET傳參,引數為exp 經過三層過濾執行 第一層過濾偽協議,第二層過濾帶引數的函式,第三層過濾一些函式 preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp'] (?R)參考當前正則運算式,相當于匹配函式里的引數 因此傳遞 ......

    uj5u.com 2020-09-10 03:56:07 more
  • 等保2.0實施流程

    流程 結論 ......

    uj5u.com 2020-09-10 03:56:16 more
最新发布
  • 使用Django Rest framework搭建Blog

    在前面的Blog例子中我們使用的是GraphQL, 雖然GraphQL的使用處于上升趨勢,但是Rest API還是使用的更廣泛一些. 所以還是決定回到傳統的rest api framework上來, Django rest framework的官網上給了一個很好用的QuickStart, 我參考Qu ......

    uj5u.com 2023-04-20 08:17:54 more
  • 記錄-new Date() 我忍你很久了!

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 大家平時在開發的時候有沒被new Date()折磨過?就是它的諸多怪異的設定讓你每每用的時候,都可能不小心踩坑。造成程式意外出錯,卻一下子找不到問題出處,那叫一個煩透了…… 下面,我就列舉它的“四宗罪”及應用思考 可惡的四宗罪 1. Sa ......

    uj5u.com 2023-04-20 08:17:47 more
  • 使用Vue.js實作文字跑馬燈效果

    實作文字跑馬燈效果,首先用到 substring()截取 和 setInterval計時器 clearInterval()清除計時器 效果如下: 實作代碼如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta ......

    uj5u.com 2023-04-20 08:12:31 more
  • JavaScript 運算子

    JavaScript 運算子/運算子 在 JavaScript 中,有一些運算子可以使代碼更簡潔、易讀和高效。以下是一些常見的運算子: 1、可選鏈運算子(optional chaining operator) ?.是可選鏈運算子(optional chaining operator)。?. 可選鏈操 ......

    uj5u.com 2023-04-20 08:02:25 more
  • CSS—相對單位rem

    一、概述 rem是一個相對長度單位,它的單位長度取決于根標簽html的字體尺寸。rem即root em的意思,中文翻譯為根em。瀏覽器的文本尺寸一般默認為16px,即默認情況下: 1rem = 16px rem布局原理:根據CSS媒體查詢功能,更改根標簽的字體尺寸,實作rem單位隨螢屏尺寸的變化,如 ......

    uj5u.com 2023-04-20 08:02:21 more
  • 我的第一個NPM包:panghu-planebattle-esm(胖虎飛機大戰)使用說明

    好家伙,我的包終于開發完啦 歡迎使用胖虎的飛機大戰包!! 為你的主頁添加色彩 這是一個有趣的網頁小游戲包,使用canvas和js開發 使用ES6模塊化開發 效果圖如下: (覺得圖片太sb的可以自己改) 代碼已開源!! Git: https://gitee.com/tang-and-han-dynas ......

    uj5u.com 2023-04-20 08:01:50 more
  • 如何在 vue3 中使用 jsx/tsx?

    我們都知道,通常情況下我們使用 vue 大多都是用的 SFC(Signle File Component)單檔案組件模式,即一個組件就是一個檔案,但其實 Vue 也是支持使用 JSX 來撰寫組件的。這里不討論 SFC 和 JSX 的好壞,這個仁者見仁智者見智。本篇文章旨在帶領大家快速了解和使用 Vu ......

    uj5u.com 2023-04-20 08:01:37 more
  • 【Vue2.x原始碼系列06】計算屬性computed原理

    本章目標:計算屬性是如何實作的?計算屬性快取原理以及洋蔥模型的應用?在初始化Vue實體時,我們會給每個計算屬性都創建一個對應watcher,我們稱之為計算屬性watcher ......

    uj5u.com 2023-04-20 08:01:31 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:01:10 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:00:32 more