Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 无码专区aaaaaa免费视频,手机亚洲第一页,亚洲久久在线

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          推薦7個(gè)高性能JavaScript代碼高亮插件

          推薦7個(gè)高性能JavaScript代碼高亮插件

          于喜歡寫技術(shù)博客的同學(xué)來(lái)說(shuō),一定對(duì)代碼高亮組件非常熟悉。一款優(yōu)秀的JavaScript代碼高亮插件,將會(huì)幫助你渲染任何一種編程語(yǔ)言,包括一些關(guān)鍵字的著色,以及每行代碼的縮進(jìn)等。今天我們要來(lái)分享一些高性能的JavaScript代碼高亮插件,這些JavaScript代碼高亮插件將非常有效地幫你實(shí)現(xiàn)在網(wǎng)頁(yè)上的代碼編輯和展示。

          1、SyntaxHighlighter – 最優(yōu)秀的JavaScript代碼高亮插件

          SyntaxHighlighter 是一款完全基于JavaScript的代碼高亮插件,SyntaxHighlighter 可以對(duì)大部分編程語(yǔ)言進(jìn)行著色渲染,而且代碼高亮的性能也非常不錯(cuò)。SyntaxHighlighter 可以自定義主題文件,在初始化的時(shí)候指定自己喜歡的主題即可。

          官方網(wǎng)站:http://alexgorbatchev.com/SyntaxHighlighter/

          2、Google Code Prettify – 自由地JavaScript代碼高亮插件

          Google Code Prettify是一款由Google推出的JavaScript代碼高亮插件,Google Code Prettify可以對(duì)C/C++, Java, Python, Ruby, PHP, VisualBasic, AWK, Bash, SQL, HTML, XML, CSS, JavaScript, Makefiles和部分Perl編程語(yǔ)言代碼高亮著色。

          官方網(wǎng)站:http://code.google.com/p/google-code-prettify/

          3、Highlight.js – 多風(fēng)格JavaScript代碼高亮插件

          highlight.js是一個(gè)用于在任何web頁(yè)面上高亮著色顯示各種示例源代碼語(yǔ)法的JavaScript項(xiàng)目。具有以下特色:

          • 支持 92 種語(yǔ)言,49 種代碼格式化風(fēng)格。
          • 自動(dòng)檢測(cè)語(yǔ)言種類
          • 支持多語(yǔ)言混合的代碼高亮
          • 支持Node.js
          • 支持使用任何HTML標(biāo)記
          • 兼容任意js框架

          官方網(wǎng)站:https://highlightjs.org/

          4、Prism.JS - 輕量級(jí)JavaScript代碼高亮插件

          Prism.JS是目前最為輕量級(jí)的JavaScript代碼高亮插件,他壓縮后只有2KB的大小,Prism.JS也支持大部分流行的編程語(yǔ)言,并且支持多種主題樣式,開(kāi)發(fā)者只需要引用CSS文件和JS文件即可完成。

          官方網(wǎng)站:http://prismjs.com/

          5、jQuery.Syntax – jQuery輕量級(jí)代碼高亮插件

          這款代碼高亮插件是基于jQuery的,同樣也是輕量級(jí)的,渲染速度非常快。同時(shí)jQuery.Syntax還具有wordpress的插件應(yīng)用,對(duì)于個(gè)人博主來(lái)說(shuō),使用wordpress和jQuery.Syntax可以完美實(shí)現(xiàn)0代買的高亮功能。

          官方網(wǎng)站:http://www.codeotaku.com/projects/jquery-syntax/index.en

          6、DlHighlight – jQuery簡(jiǎn)單高效代碼高亮插件

          DlHighlight是基于JavaScript的代碼高亮插件,非常簡(jiǎn)單,目前只支持JavaScript, CSS, XML, HTML。

          官方網(wǎng)站:http://mihai.bazon.net/projects/javascript-syntax-highlighting-engine

          7、Rainbow.js – 可擴(kuò)展的JavaScript代碼高亮插件

          Rainbow 是JavaScript開(kāi)發(fā)的語(yǔ)法高亮工具。被設(shè)計(jì)為輕量級(jí)(壓縮后僅1.4 kb),使用簡(jiǎn)單,可擴(kuò)展。語(yǔ)法高亮主題完全通過(guò)CSS定義。基于正則表達(dá)式實(shí)現(xiàn)。

          官方網(wǎng)站:http://craig.is/making/rainbows

          這幾個(gè)JavaScript代碼高亮插件都是比較常用的,如果你有更優(yōu)秀的代碼高亮插件,歡迎告訴我們。

          本文作者:碼農(nóng)網(wǎng)– 小峰

          本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯


          TML編輯器是一種用于創(chuàng)建、編輯和預(yù)覽HTML(超文本標(biāo)記語(yǔ)言)代碼的工具或應(yīng)用程序。它提供了一個(gè)直觀的界面,使用戶能夠輕松地編寫和設(shè)計(jì)網(wǎng)頁(yè)內(nèi)容。本文主要介紹HTML 常用編輯器(Visual Studio Code、Sublime Text、Atom、Notepad++和Dreamweaver)。


          參考文檔:https://www.cjavapy.com/article/3299/


          1、Visual Studio Code(VS Code )


          Visual Studio Code(簡(jiǎn)稱VS Code)是一款由微軟開(kāi)發(fā)的跨平臺(tái)源代碼編輯器,支持Windows、macOS和Linux等多種操作系統(tǒng)。它被廣泛用于Web開(kāi)發(fā),包括編輯HTML、CSS、JavaScript等前端技術(shù)。VS Code是一款輕量級(jí)的代碼編輯器,啟動(dòng)迅速,占用資源少。VS Code提供了豐富的擴(kuò)展和插件,可以根據(jù)需求安裝插件來(lái)增強(qiáng)編輯器功能。


          1)安裝和配置


          官網(wǎng)地址:Visual Studio Code - Code Editing. Redefined


          根據(jù)操作系統(tǒng)下載并安裝相應(yīng)版本的VS Code。打開(kāi)VS Code后,可以根據(jù)自己的喜好配置編輯器設(shè)置,如主題、字體等。


          2)新建HTML文件


          在 VS Code 安裝完成后,選擇" 文件(F)->新建文件(N) ",在新建的文件中輸入以下代碼:


          <!DOCTYPE html>
          <html>
          <head>
          <meta charset="utf-8">
          <title>編程之路(cjavapy.com)</title>
          </head>
          <body>
           
          <h1>我的第一個(gè)標(biāo)題</h1>
           
          <p>我的第一個(gè)段落。</p>
           
          </body>
          </html>


          3)編輯HTML文件


          在VS Code中,點(diǎn)擊左上角的"文件"菜單,選擇"打開(kāi)文件",或者使用快捷鍵Ctrl+O(Windows)或Cmd+O(macOS)來(lái)打開(kāi)HTML文件。


          在編輯器中可以直接修改HTML文件的內(nèi)容。VS Code會(huì)自動(dòng)識(shí)別HTML標(biāo)記,并提供代碼高亮和智能提示功能。編輯完成后,使用快捷鍵Ctrl+S(Windows)或Cmd+S(macOS)來(lái)保存HTML文件。


          4)插件推薦


          HTML CSS Support:提供對(duì)HTML和CSS的支持,包括代碼片段、自動(dòng)補(bǔ)全等功能。


          Live Server:啟動(dòng)一個(gè)本地開(kāi)發(fā)服務(wù)器,實(shí)時(shí)預(yù)覽HTML頁(yè)面的效果。


          Prettier:格式化HTML代碼,使代碼結(jié)構(gòu)更整潔。


          Auto Close Tag:自動(dòng)閉合HTML標(biāo)簽,提高編碼效率。


          Bracket Pair Colorizer:對(duì)成對(duì)的括號(hào)進(jìn)行著色,方便識(shí)別代碼塊。


          2、Sublime Text


          Sublime Text是一款流行的跨平臺(tái)源代碼編輯器,支持Windows、macOS和Linux等多種操作系統(tǒng)。它被廣泛用于Web開(kāi)發(fā),包括編輯HTML、CSS、JavaScript等前端技術(shù)。


          Sublime Text的界面非常簡(jiǎn)潔,沒(méi)有多余的菜單和工具欄,更便于專注于代碼編輯。Sublime Text支持多種編程語(yǔ)言,包括HTML、CSS、JavaScript、Python、Java等。Sublime Text擁有強(qiáng)大的插件系統(tǒng),用戶可以根據(jù)需要安裝插件來(lái)擴(kuò)展編輯器功能。用戶可以自定義快捷鍵、主題、顏色方案等,以滿足個(gè)性化需求。Sublime Text啟動(dòng)迅速,響應(yīng)快速,適合于快速編輯代碼。


          1)安裝和配置


          官網(wǎng)地址:Sublime Text - Text Editing, Done Right


          根據(jù)操作系統(tǒng)下載并安裝相應(yīng)版本的Sublime Text。打開(kāi)Sublime Text后,可以根據(jù)自己的喜好進(jìn)行編輯器設(shè)置,如字體、主題等。


          2)新建HTML文件


          在Sublime Text 安裝完成后,選擇" File->New File ",在新建的文件中輸入以下代碼:


          <!DOCTYPE html>
          <html>
          <head>
          <meta charset="utf-8">
          <title>編程之路(cjavapy.com)</title>
          </head>
          <body>
           
          <h1>我的第一個(gè)標(biāo)題</h1>
           
          <p>我的第一個(gè)段落。</p>
           
          </body>
          </html>


          3)編輯HTML文件


          在Sublime Text中,點(diǎn)擊左上角的"File"菜單,選擇"Open File",或者使用快捷鍵Ctrl+O(Windows)或Cmd+O(macOS)來(lái)打開(kāi)HTML文件。在編輯器中可以直接修改HTML文件的內(nèi)容。Sublime Text會(huì)自動(dòng)識(shí)別HTML標(biāo)記,并提供代碼高亮和智能提示功能。編輯完成后,使用快捷鍵Ctrl+S(Windows)或Cmd+S(macOS)來(lái)保存HTML文件。


          4)插件推薦


          Emmet:提供HTML/CSS快速編寫和自動(dòng)完成功能,可以大大提高編碼效率。


          Sublime Linter:對(duì)代碼進(jìn)行實(shí)時(shí)語(yǔ)法檢查,幫助發(fā)現(xiàn)潛在的錯(cuò)誤和警告。


          Color Highlighter:對(duì)CSS中的顏色進(jìn)行高亮顯示,方便調(diào)試和修改樣式。


          SideBarEnhancements:增強(qiáng)側(cè)邊欄功能,提供更多文件操作選項(xiàng)。


          3、Dreamweaver


          Dreamweaver是由Adobe公司開(kāi)發(fā)的一款全球知名的網(wǎng)頁(yè)設(shè)計(jì)和開(kāi)發(fā)工具。它為開(kāi)發(fā)人員和設(shè)計(jì)師提供了一個(gè)可視化的界面,可以直觀地創(chuàng)建和編輯網(wǎng)頁(yè)內(nèi)容,同時(shí)也支持手動(dòng)編輯代碼。Dreamweaver提供可視化界面,可以直觀地拖拽和編輯網(wǎng)頁(yè)元素,無(wú)需手動(dòng)編寫代碼。除了可視化界面,Dreamweaver也支持手動(dòng)編輯代碼,適合于開(kāi)發(fā)人員和設(shè)計(jì)師。Dreamweaver可在Windows和macOS等多個(gè)平臺(tái)上運(yùn)行。Dreamweaver集成了代碼編輯器、預(yù)覽窗口、文件管理器等功能,提供全面的開(kāi)發(fā)環(huán)境。


          1)安裝和配置


          官網(wǎng)地址:Website design software | Adobe Dreamweaver


          根據(jù)操作系統(tǒng)下載并安裝相應(yīng)版本的Dreamweaver。打開(kāi)Dreamweaver后,,根據(jù)需要進(jìn)行編輯器設(shè)置,如界面語(yǔ)言、字體、代碼顏色等。


          2)編輯HTML文件


          在Dreamweaver中,點(diǎn)擊左上角的"File"菜單,選擇"New",然后選擇"HTML",即可新建一個(gè)空白的HTML文件。內(nèi)容如下:


          <!DOCTYPE html>
          <html>
          <head>
          <meta charset="utf-8">
          <title>編程之路(cjavapy.com)</title>
          </head>
          <body>
           
          <h1>我的第一個(gè)標(biāo)題</h1>
           
          <p>我的第一個(gè)段落。</p>
           
          </body>
          </html>


          使用可視化界面,可以直接拖拽頁(yè)面元素、調(diào)整布局、插入圖片等。若需要手動(dòng)編輯HTML代碼,可以在下方的代碼編輯器中進(jìn)行修改。Dreamweaver會(huì)自動(dòng)提供代碼補(bǔ)全和語(yǔ)法高亮功能。在Dreamweaver中,可以實(shí)時(shí)預(yù)覽網(wǎng)頁(yè)效果,點(diǎn)擊右上角的"Live View"按鈕即可。


          3)CSS和JavaScript支持


          Dreamweaver也支持CSS和JavaScript的編輯和預(yù)覽,可以幫助創(chuàng)建更豐富的網(wǎng)頁(yè)效果。在編輯器中可以直接編輯CSS樣式和JavaScript代碼,并實(shí)時(shí)查看效果。


          4)網(wǎng)頁(yè)上傳和發(fā)布


          Dreamweaver集成了FTP功能,可以直接將編輯好的網(wǎng)頁(yè)上傳到服務(wù)器。點(diǎn)擊"Site"菜單,選擇"Manage Sites",配置好站點(diǎn)設(shè)置,即可進(jìn)行上傳和發(fā)布。


          5)Dreamweaver模板和庫(kù)


          Dreamweaver提供模板和庫(kù)功能,可以保存和復(fù)用常用的網(wǎng)頁(yè)元素和樣式,提高開(kāi)發(fā)效率。


          參考文檔:https://www.cjavapy.com/article/3299/

          里記錄每周值得分享的 Go 語(yǔ)言相關(guān)內(nèi)容,周日發(fā)布。

          歡迎投稿,推薦或自薦文章/軟件/資源等,請(qǐng)提交 issue[1]

          由于頭條不允許外鏈,文中大量鏈接,可以通過(guò)文末「了解更多」查看。

          鑒于大部分人可能沒(méi)法堅(jiān)持把英文文章看完,因此,周刊中會(huì)盡可能推薦優(yōu)質(zhì)的中文文章。優(yōu)秀的英文文章,我們的 GCTT 組織會(huì)進(jìn)行翻譯。

          題圖:GopcherCon 2019 合成

          刊首語(yǔ)

          Go 1.13 在 8 月份還是沒(méi)有發(fā)布,Delay 了。堅(jiān)持了 10 年的按時(shí)發(fā)布,這次沒(méi)有按時(shí),大家覺(jué)得跟 Brad 的老婆生二胎休假有很大關(guān)系,少了核心開(kāi)發(fā)者。Go 1.13 在 Module 上花的精力也很大。

          目前 1.13 的 issue 列表:https://github.com/golang/go/milestone/83

          Go 1.13 畢竟沒(méi)有帶來(lái)泛型,所以,大部分人對(duì)它的期待其實(shí)沒(méi)有多少。當(dāng)然,也有人很期待,主要在 Module 方面的改進(jìn)和完善。

          說(shuō)實(shí)話,堅(jiān)持了這么多年按時(shí)發(fā)布,這個(gè)時(shí)候不能按時(shí)發(fā)布,內(nèi)心還是有一點(diǎn)遺憾,當(dāng)然無(wú)傷大雅!

          資訊

          1、Go 語(yǔ)言調(diào)試器 Delve 發(fā)布 1.3.0[2]

          Go 語(yǔ)言實(shí)現(xiàn)的 Go 語(yǔ)言調(diào)試器,發(fā)布 1.3.0,支持 Go 1.13。

          2、GoLand 2019.2.1 發(fā)布,JetBrains 打造的 Go 語(yǔ)言 IDE[3]

          這是對(duì) GoLand 2019.2 的 bug-fix 更新版本。更新內(nèi)容包括對(duì) UI 的修復(fù)、對(duì)自動(dòng)補(bǔ)全代碼功能的改進(jìn)、對(duì)導(dǎo)入功能的優(yōu)化、改進(jìn) SQL 注入功能以及改進(jìn)代碼格式化工具等。

          另外,GoLand 公布了 2019.3 Roadmap[4],有望引入遠(yuǎn)程開(kāi)發(fā)功能。

          3、GKTemplate v0.0.4,采用 Go 開(kāi)發(fā)的 DedeCMS 模板解析器[5]

          GKTemplate 是一個(gè) Go 語(yǔ)言開(kāi)發(fā)的模板引擎,由于 Go 語(yǔ)言內(nèi)置的模板引擎自由度過(guò)高,導(dǎo)致開(kāi)發(fā)使用相對(duì)比較困難,對(duì)界面模板制作要求會(huì)比較高,GKTemplate 是一款基于標(biāo)簽、屬性機(jī)制的模板引擎,在犧牲部分自由度、性能的前提下,優(yōu)化模板語(yǔ)義機(jī)制,使得開(kāi)發(fā)、制作模板變得更為輕松簡(jiǎn)單。

          4、go-fastdfs v1.3.2 發(fā)布,修正跨域 options 方法[6]

          go-fastdfs是一個(gè)基于http協(xié)議的分布式文件系統(tǒng),它基于大道至簡(jiǎn)的設(shè)計(jì)理念,一切從簡(jiǎn)設(shè)計(jì),使得它的運(yùn)維及擴(kuò)展變得更加簡(jiǎn)單,它具有高性能、高可靠、無(wú)中心、免維護(hù)等優(yōu)點(diǎn)。

          項(xiàng)目 GitHub 地址:https://github.com/sjqzhang/go-fastdfs

          5、Consul 1.6 GA 發(fā)布[7]

          Consul 是 HashiCorp 公司推出的開(kāi)源工具,也是主流的用于實(shí)現(xiàn)分布式系統(tǒng)服務(wù)發(fā)現(xiàn)與配置的方案。HashiCorp 對(duì) Consul 的介紹是一個(gè)多云服務(wù)網(wǎng)絡(luò)平臺(tái),用于在跨任何運(yùn)行時(shí)平臺(tái)和公共云或私有云的場(chǎng)景連接和保護(hù)服務(wù)。

          本次更新主要集中在 Consul Connect(為其增加了一些主要新特性)和 Consul 的服務(wù)網(wǎng)格解決方案方面,此外還有一些改進(jìn)和錯(cuò)誤修復(fù)。

          6、Go 語(yǔ)言開(kāi)發(fā)工具 LiteIDE X36.1 發(fā)布[8]

          在目錄管理窗口中加入了文件復(fù)制/粘貼功能,修復(fù)了以 _ 開(kāi)始符號(hào)查找錯(cuò)誤,更新了 gotools & gocode。

          7、Gorilla WebSocket: Go 語(yǔ)言的 WebSocket 實(shí)現(xiàn),發(fā)布 1.4.1 版本[9]

          這次版本主要修復(fù) DoS 的問(wèn)題,建議升級(jí)。

          問(wèn)答

          1、如何閱讀Golang的源碼?[10]

          學(xué)習(xí)go語(yǔ)言的過(guò)程中,覺(jué)得源碼寫的很棒,但是有點(diǎn)晦澀,該怎么閱讀?本文給出建議。

          2、在循環(huán)中 append map 到 map slice,map slice 中的數(shù)據(jù)全部為最后一次 append 的數(shù)據(jù)[11]

          map 是引用類型,即使 slice 通過(guò) append 賦值了多份 map 變量,但是其內(nèi)部指向是同一個(gè)地址。

          3、golang 等值比較是不是直接比較地址呢?[12]

          首先要說(shuō) Go 的等值比較的是值,而不是地址。Go 中變量的可比較類型是內(nèi)置的,所有基本類型都可以進(jìn)行比較,另外 interface 和 struct 也可以比較。兩個(gè)變量可比較的提前必須是相同類型。但有一點(diǎn)需要說(shuō)明的是,interface 是不確定的類型,所有它不但會(huì)比較值,還會(huì)比較具體的類型。

          4、golang 中如何禁止一個(gè)導(dǎo)出類型直接構(gòu)造,必須通過(guò)new函數(shù)來(lái)構(gòu)造?[13]

          其他的 oo 語(yǔ)言實(shí)現(xiàn)題主要求是非常簡(jiǎn)單的,只要定義相應(yīng)的私有成員屬性并通過(guò)構(gòu)造函數(shù)控制輸入的參數(shù)即可。

          那么 Go 該如何實(shí)現(xiàn)呢?其實(shí)也很簡(jiǎn)單,思路與 oo 是類似的。只是我們把 oo 語(yǔ)言中的構(gòu)造函數(shù)換成了 Go 中的工廠方法,私有變量變成了 Go 包級(jí)別的私有成員屬性。我們只需要通過(guò)定義指定的可導(dǎo)出的工廠方法創(chuàng)建實(shí)例即可。

          5、Golang中 fmt.Println 和直接 println 有什么區(qū)別?[14]

          println 主要是 Go 自己使用,比如源碼、標(biāo)準(zhǔn)庫(kù)等,而 fmt 才是給 Go 開(kāi)發(fā)人員使用的。而且要提的是 println 不能保證兼容性,可能在未來(lái)的某一天就不存在了,但 fmt 中的函數(shù)就不存在著這樣的問(wèn)題。

          當(dāng)然,兩者的使用和效果上也是有區(qū)別的,如 println 輸出是到標(biāo)準(zhǔn)錯(cuò)誤的,而非標(biāo)準(zhǔn)輸出。

          此外,Go 語(yǔ)言中文網(wǎng)微信群有人提出了一個(gè)詭異的問(wèn)題,我為知識(shí)星球用戶做了詳細(xì)的分析解答:由群里討論的關(guān)于 println 和 fmt.Println “詭異”問(wèn)題的思考總結(jié)[15]

          文章

          1、使用 Go Modules(模塊)進(jìn)行依賴項(xiàng)遷移[16]

          本篇文章是 Go Modules 系列官方博客文章的第 2 部分。第 1 部分請(qǐng)參閱:Go Modules 的使用方法(中文翻譯版)[17]

          2、GCTT 出品 | Go 的調(diào)度器追蹤

          我喜歡 Go 語(yǔ)言的一個(gè)原因就是因?yàn)樗梢陨煞治龊驼{(diào)試信息。當(dāng)程序在執(zhí)行的時(shí)候 Go 有一個(gè)特殊的環(huán)境變量 GODEBUG,它在運(yùn)行階段可以生成調(diào)試信息。你可以獲取程序回收器和調(diào)度器的概要信息以及詳細(xì)的信息。更主要的是你不需要添加任何的額外工作重新編譯就可以完成調(diào)試

          在這篇文章里,我將通過(guò)一個(gè)簡(jiǎn)單的 Go 程序演示如果使用調(diào)度跟蹤信息。如果你對(duì)調(diào)度器有一定的了解那么它對(duì)你是用的。

          3、使用 GitHub Actions 自動(dòng)化構(gòu)建 Golang 應(yīng)用[18]

          GitHub Actions 是前段時(shí)間推出的自家的自動(dòng)化構(gòu)建工具。允許構(gòu)建一個(gè)完整的 CI/CD Pipeline,與 GitHub 生態(tài)系統(tǒng)深度集成。目前還未開(kāi)放,開(kāi)通過(guò) https://github.com/features/actions/signup 申請(qǐng)。本文介紹用該功能構(gòu)建 Go 應(yīng)用。

          對(duì) GitHub Actions 感興趣的進(jìn)一步看看此文:使用Github Actions教程[19]。這里還有一篇英文文章:使用 GitHub Actions 對(duì)Go項(xiàng)目持續(xù)集成[20]

          4、如何在 Golang API 中避免內(nèi)存泄漏?[21]

          建議你在將 Golang API 投入生成之前閱讀此文,此文是基于真實(shí)的線上問(wèn)題修復(fù)經(jīng)歷,如有巧合,純屬踩雷!

          5、go 學(xué)習(xí)筆記之萬(wàn)萬(wàn)沒(méi)想到寵物店竟然催生出面向接口編程?[22]

          講故事的方式講解面向接口編程。

          6、Hi, 使用多年的 go pprof 檢查內(nèi)存泄漏的方法居然是錯(cuò)的?![23]

          本文介紹一下 Go pprof 工具查找內(nèi)存泄漏的一個(gè)不太常用的方法。

          7、明白了,原來(lái) Go web 框架中的中間件都是這樣實(shí)現(xiàn)的[24]

          這篇文章想談?wù)?Go 的裝飾器模式、pipeline(filter)模式以及常見(jiàn) web 框架中的中間件的實(shí)現(xiàn)方式。

          8、Golang實(shí)現(xiàn)單機(jī)百萬(wàn)長(zhǎng)連接服務(wù) - 美圖的三年優(yōu)化經(jīng)驗(yàn)

          美圖長(zhǎng)連接服務(wù)歷時(shí)三年,在內(nèi)存優(yōu)化上積累比較豐富的實(shí)踐經(jīng)驗(yàn),本文將會(huì)介紹我們團(tuán)隊(duì)這些年在內(nèi)存優(yōu)化道路上做的一些嘗試。

          9、Go 語(yǔ)言測(cè)試驅(qū)動(dòng)開(kāi)發(fā)[25]

          Go 語(yǔ)言對(duì)測(cè)試的原生支持以及完善的測(cè)試類庫(kù)框架使得 TDD 的實(shí)施成本相對(duì)較低,這相當(dāng)于放大了 TDD 的收益。在此向廣大 gopher 們安利一波,說(shuō)不定你也會(huì)愛(ài)上它。本篇將從實(shí)際業(yè)務(wù)視角觸發(fā),通過(guò)一個(gè)示例來(lái)演示如何運(yùn)用TDD來(lái)構(gòu)建我們的Go程序。

          10、Go 組件學(xué)習(xí)——database/sql 數(shù)據(jù)庫(kù)連接池你用對(duì)了嗎[26]

          通過(guò)實(shí)際 case 講解連接池的一些概念和使用。

          11、Go 內(nèi)存泄漏?不是那么簡(jiǎn)單![27]

          最近遇到一個(gè)Go內(nèi)存不釋放的問(wèn)題,記錄一下測(cè)試和調(diào)研的情況。我到不把它歸為Go內(nèi)存泄漏的問(wèn)題,因?yàn)樗鸵话愕膬?nèi)存泄漏的方式不同。

          12、golang goroutine 和 線程[28]

          本文由進(jìn)程、線程進(jìn)而引出 goroutine。這些操作系統(tǒng)相關(guān)的概念,我們都是需要掌握的。

          13、Go進(jìn)階:如何開(kāi)發(fā)多彩動(dòng)感的終端 UI 應(yīng)用[29]

          終端(Terminal)是計(jì)算機(jī)系統(tǒng)的輸入輸出設(shè)備,由于歷史的原因終端這個(gè)概念非常混亂,終端的發(fā)展經(jīng)歷了字符終端圖形終端網(wǎng)絡(luò)終端 三個(gè)階段。如果你酷炫的終端 UI 有要求,此文很適合你。

          14、Go語(yǔ)言學(xué)習(xí)——如何實(shí)現(xiàn)一個(gè)過(guò)濾器[30]

          基于 Go 語(yǔ)言造輪子實(shí)現(xiàn)一個(gè)過(guò)濾器的雛形,通過(guò)實(shí)現(xiàn)一個(gè)相對(duì)優(yōu)雅可擴(kuò)展的過(guò)濾器熟悉了 type 的用法,Context.WithValue 的作用。

          15、通過(guò)布局屬性來(lái)減少結(jié)構(gòu)體尺寸(英文)[31]

          關(guān)于在定義結(jié)構(gòu)時(shí)內(nèi)存如何工作的快速但有用的提示。

          開(kāi)源項(xiàng)目

          1、Lute: 一款結(jié)構(gòu)化的 Markdown 引擎,為未來(lái)而構(gòu)建[32]

          完整實(shí)現(xiàn)了最新的 GFM[33]/CommonMark[34] 規(guī)范,對(duì)中文語(yǔ)境支持更好。Go 語(yǔ)言中文網(wǎng)計(jì)劃將網(wǎng)站改為使用它。

          2、script: 在 Go 中輕松編寫類似 shell 的腳本[35]

          如果不喜歡 shell 腳本,不妨試試這個(gè)。

          3、migrator: 數(shù)據(jù)庫(kù)遷移工具[36]

          特色:

          • 輕量級(jí)實(shí)現(xiàn),支持 database/sql。Migrator 不需要任何 ORM 或其他重型庫(kù)作為依賴項(xiàng)。它只是由少于 200 行代碼的單個(gè)文件組成;
          • 輕松嵌入您的應(yīng)用程序,無(wú)需安裝/使用單獨(dú)的二進(jìn)制文件;
          • 支持 Go 遷移,無(wú)論是事務(wù)還是非事務(wù);
          • 使用靈活;

          4、ale: Go 實(shí)現(xiàn)的 Lisp 環(huán)境[37]

          愛(ài)好 Go 的有會(huì) Lisp 的嗎?

          5、go-prompt: 在 Go 中構(gòu)建強(qiáng)大的交互式提示,受 python-prompt-toolkit 的啟發(fā)[38]

          一個(gè)用于構(gòu)建強(qiáng)大的交互式提示的庫(kù),受到 python-prompt-toolkit 的啟發(fā),可以更輕松地使用 Go 構(gòu)建跨平臺(tái)的命令行工具。

          6、chroma: 純 Go 語(yǔ)言實(shí)現(xiàn)的通用語(yǔ)法高亮庫(kù)[39]

          Chroma 采用源代碼和其他結(jié)構(gòu)化文本,并將其轉(zhuǎn)換為語(yǔ)法高亮 HTML,ANSI 色文本等。Chroma主要基于 Pygments,包括 Pygments 詞法分析器和樣式的翻譯器。可見(jiàn),chroma 不僅可以用于 HTML 頁(yè)面語(yǔ)法的高亮,還支持終端的高亮。支持的語(yǔ)言還是很全的。

          7、godocc: 帶有顏色的 godoc 工具[40]

          接受 doc 使用的所有參數(shù)和標(biāo)志。Godocc 只是 go doc 工具的簡(jiǎn)單包裝器。界面很美觀!

          8、imaging: 基本圖像處理功能庫(kù)[41]

          有圖像?想要在 Go 中調(diào)整大小、旋轉(zhuǎn)或裁剪它們嗎?試試這個(gè)庫(kù)。

          原圖:

          各種處理結(jié)果:

          更多其他效果,看看該庫(kù)的首頁(yè)。

          9、busgo/forest: 分布式任務(wù)調(diào)度平臺(tái)[42]

          by @busgo 推薦。#issue2[43]

          資源&&工具

          1、GopherCon 2019 大會(huì)演講視頻全集[44]

          視頻在 youtube 上。lightning talk視頻在這里:https://www.youtube.com/playlist?list=PL2ntRZ1ySWBedT1MDWF4xAD39vAad0DBT 。有人搬到國(guó)內(nèi) B 站了,可以在 B 站觀看 https://www.bilibili.com/video/av65679861。這里還有英文文字版:https://about.sourcegraph.com/go/

          2、Go 微服務(wù)框架 go-micro 系列教程[45]

          微服務(wù)很火,微服務(wù)的本質(zhì)是讓專業(yè)的人做專業(yè)的事情,做出更好的東西。這個(gè)系列講解 go-micro 構(gòu)建微服務(wù)。目前更新到 2.3 章節(jié)。

          • golang微服務(wù)框架go-micro 入門筆記1.搭建 go-micro環(huán)境[46]
          • golang微服務(wù)框架go-micro 入門筆記2.1 micro工具之micro api[47]
          • golang微服務(wù)框架go-micro 入門筆記2.2 micro工具之微應(yīng)用利器micro web[48]
          • golang微服務(wù)框架go-micro 入門筆記2.3 micro工具之消息訂閱和發(fā)布[49]

          3、gostringsr2: Python 實(shí)現(xiàn)的用于 Go 的逆向工程[50]

          極客可以了解下。這里有一篇介紹的英文文章:https://carvesystems.com/news/reverse-engineering-go-binaries-using-radare-2-and-python/ 。

          4、yeetgif: Go 語(yǔ)言實(shí)現(xiàn)的 GIF 效果的 CLI[51]

          可組合 GIF 效果的 CLI,具有合理的默認(rèn)值。專為 Slack/Discord 定制 emoji 表情。很有趣的一個(gè)工具。

          5、Go 面試每天一篇(第 9 天)

          連續(xù)堅(jiān)持是一件很難的事情,期待作者能堅(jiān)持更新,作者的公眾號(hào)也可以關(guān)注一波。面試題是大家永恒關(guān)注的話題,因此,Go 語(yǔ)言中文網(wǎng)開(kāi)啟了一個(gè)項(xiàng)目,專門用來(lái)收集、解答各種 Go 語(yǔ)言相關(guān)的筆試、面試題,歡迎你提 issue。項(xiàng)目地址:Go-Interview-QA[52]

          6、go-web-app: 用于設(shè)置 Go WebAssembly 前端應(yīng)用程序的 CLI[53]

          訂閱

          這個(gè)周刊每周日發(fā)布,同步更新在Go語(yǔ)言中文網(wǎng)[54]微信公眾號(hào)[55][56]

          微信搜索"Go語(yǔ)言中文網(wǎng)"或者掃描二維碼,即可訂閱。

          參考資料

          [1]

          提交 issue: https://github.com/polaris1119/golangweekly/issues

          [2]

          Go 語(yǔ)言調(diào)試器 Delve 發(fā)布 1.3.0: https://studygolang.com/topics/9989

          [3]

          GoLand 2019.2.1 發(fā)布,JetBrains 打造的 Go 語(yǔ)言 IDE: https://www.oschina.net/news/109407/goland-2019-2-1-released

          [4]

          2019.3 Roadmap: https://www.oschina.net/news/109439/goland-2019-3-roadmap

          [5]

          GKTemplate v0.0.4,采用 Go 開(kāi)發(fā)的 DedeCMS 模板解析器: https://www.oschina.net/news/109395/gktemplate-0-0-4-released

          [6]

          go-fastdfs v1.3.2 發(fā)布,修正跨域 options 方法: https://www.oschina.net/news/109466/go-fastdfs-1-3-2-released

          [7]

          Consul 1.6 GA 發(fā)布: https://www.oschina.net/news/109463/consul-1-6-general-availability

          [8]

          Go 語(yǔ)言開(kāi)發(fā)工具 LiteIDE X36.1 發(fā)布: https://www.oschina.net/news/109448/liteide-x36-1-released

          [9]

          Gorilla WebSocket: Go 語(yǔ)言的 WebSocket 實(shí)現(xiàn),發(fā)布 1.4.1 版本: https://github.com/gorilla/websocket/releases/tag/v1.4.1

          [10]

          如何閱讀Golang的源碼?: https://studygolang.com/articles/23154

          [11]

          在循環(huán)中 append map 到 map slice,map slice 中的數(shù)據(jù)全部為最后一次 append 的數(shù)據(jù): https://segmentfault.com/q/1010000019881129/a-1020000019949131

          [12]

          golang 等值比較是不是直接比較地址呢?: https://segmentfault.com/q/1010000019940462/a-1020000019941598

          [13]

          golang 中如何禁止一個(gè)導(dǎo)出類型直接構(gòu)造,必須通過(guò)new函數(shù)來(lái)構(gòu)造?: https://www.zhihu.com/question/333771024/answer/741498087

          [14]

          Golang中 fmt.Println 和直接 println 有什么區(qū)別?: https://www.zhihu.com/question/335186436/answer/750846252

          [15]

          由群里討論的關(guān)于 println 和 fmt.Println “詭異”問(wèn)題的思考總結(jié): https://studygolang.com/topics/9992

          [16]

          使用 Go Modules(模塊)進(jìn)行依賴項(xiàng)遷移: https://studygolang.com/articles/23133

          [17]

          Go Modules 的使用方法(中文翻譯版): https://studygolang.com/articles/19334

          [18]

          使用 GitHub Actions 自動(dòng)化構(gòu)建 Golang 應(yīng)用: https://www.qikqiak.com/post/use-github-actions-build-go-app/

          [19]

          使用Github Actions教程: https://tech.mojotv.cn/go/golang-github-actions

          [20]

          使用 GitHub Actions 對(duì)Go項(xiàng)目持續(xù)集成: https://onepage.nopub.io/p/Using-GitHub-Actions-with-Go-2ca9744b531f4f21bdae9976d1ccbb58

          [21]

          如何在 Golang API 中避免內(nèi)存泄漏?: https://studygolang.com/articles/23172

          [22]

          go 學(xué)習(xí)筆記之萬(wàn)萬(wàn)沒(méi)想到寵物店竟然催生出面向接口編程?: https://studygolang.com/articles/23169

          [23]

          Hi, 使用多年的 go pprof 檢查內(nèi)存泄漏的方法居然是錯(cuò)的?!: https://colobu.com/2019/08/20/use-pprof-to-compare-go-memory-usage/

          [24]

          明白了,原來(lái) Go web 框架中的中間件都是這樣實(shí)現(xiàn)的: https://colobu.com/2019/08/21/decorator-pattern-pipeline-pattern-and-go-web-middlewares/

          [25]

          Go 語(yǔ)言測(cè)試驅(qū)動(dòng)開(kāi)發(fā): https://juejin.im/post/5d653d90f265da039d32dda9

          [26]

          Go 組件學(xué)習(xí)——database/sql 數(shù)據(jù)庫(kù)連接池你用對(duì)了嗎: https://juejin.im/post/5d624abde51d45621655352c

          [27]

          Go 內(nèi)存泄漏?不是那么簡(jiǎn)單!: https://colobu.com/2019/08/28/go-memory-leak-i-dont-think-so/

          [28]

          golang goroutine 和 線程: https://www.jianshu.com/p/588c6dceb5cf

          [29]

          Go進(jìn)階:如何開(kāi)發(fā)多彩動(dòng)感的終端 UI 應(yīng)用: https://tech.mojotv.cn/tutorial/golang-term-tty-pty-vt100

          [30]

          Go語(yǔ)言學(xué)習(xí)——如何實(shí)現(xiàn)一個(gè)過(guò)濾器: https://www.cnblogs.com/bigdataZJ/p/go-filter.html

          [31]

          通過(guò)布局屬性來(lái)減少結(jié)構(gòu)體尺寸(英文): https://preslav.me/2019/08/27/reduce-struct-size-by-laying-out-attributes-accordingly/

          [32]

          Lute: 一款結(jié)構(gòu)化的 Markdown 引擎,為未來(lái)而構(gòu)建: https://github.com/b3log/lute

          [33]

          GFM: https://github.github.com/gfm/

          [34]

          CommonMark: https://commonmark.org/

          [35]

          script: 在 Go 中輕松編寫類似 shell 的腳本: https://github.com/bitfield/script

          [36]

          migrator: 數(shù)據(jù)庫(kù)遷移工具: https://github.com/lopezator/migrator

          [37]

          ale: Go 實(shí)現(xiàn)的 Lisp 環(huán)境: https://github.com/kode4food/ale

          [38]

          go-prompt: 在 Go 中構(gòu)建強(qiáng)大的交互式提示,受 python-prompt-toolkit 的啟發(fā): https://github.com/c-bata/go-prompt

          [39]

          chroma: 純 Go 語(yǔ)言實(shí)現(xiàn)的通用語(yǔ)法高亮庫(kù): https://github.com/alecthomas/chroma

          [40]

          godocc: 帶有顏色的 godoc 工具: https://github.com/inancgumus/godocc

          [41]

          imaging: 基本圖像處理功能庫(kù): https://github.com/disintegration/imaging

          [42]

          busgo/forest: 分布式任務(wù)調(diào)度平臺(tái): https://studygolang.com/p/busgo

          [43]

          #issue2: https://github.com/polaris1119/golangweekly/issues/2

          [44]

          GopherCon 2019 大會(huì)演講視頻全集: https://www.youtube.com/playlist?list=PL2ntRZ1ySWBdDyspRTNBIKES1Y-P__59_

          [45]

          Go 微服務(wù)框架 go-micro 系列教程: https://www.jianshu.com/p/41005492033f

          [46]

          golang微服務(wù)框架go-micro 入門筆記1.搭建 go-micro環(huán)境: https://www.jianshu.com/p/41005492033f

          [47]

          golang微服務(wù)框架go-micro 入門筆記2.1 micro工具之micro api: https://www.jianshu.com/p/5c9e876ac467

          [48]

          golang微服務(wù)框架go-micro 入門筆記2.2 micro工具之微應(yīng)用利器micro web: https://www.jianshu.com/p/7821d240b109

          [49]

          golang微服務(wù)框架go-micro 入門筆記2.3 micro工具之消息訂閱和發(fā)布: https://www.jianshu.com/p/cd2e80de45e7

          [50]

          gostringsr2: Python 實(shí)現(xiàn)的用于 Go 的逆向工程: https://github.com/CarveSystems/gostringsr2

          [51]

          yeetgif: Go 語(yǔ)言實(shí)現(xiàn)的 GIF 效果的 CLI: https://github.com/sgreben/yeetgif

          [52]

          Go-Interview-QA: https://github.com/studygolang/Go-Interview-QA

          [53]

          go-web-app: 用于設(shè)置 Go WebAssembly 前端應(yīng)用程序的 CLI: https://github.com/talentlessguy/go-web-app

          [54]

          Go語(yǔ)言中文網(wǎng): https://studygolang.com/go/weekly

          [55]

          微信公眾號(hào): https://weixin.sogou.com/weixin?query=Go%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91

          [56]

          : https://www.toutiao.com/c/user/59903081459/#mid=1586087918877709


          主站蜘蛛池模板: 国产午夜精品一区二区三区漫画| 无码国产精品一区二区免费模式| 成人区精品一区二区不卡| 日韩一区二区电影| 久久人妻无码一区二区| 人妻少妇精品视频一区二区三区 | 91久久精品午夜一区二区| 中文字幕VA一区二区三区 | 好吊视频一区二区三区| 国产色综合一区二区三区| 91一区二区三区四区五区 | 日韩爆乳一区二区无码| 婷婷亚洲综合一区二区| 日韩精品无码一区二区三区| 鲁丝片一区二区三区免费| 国产精品 视频一区 二区三区| 中文字幕乱码人妻一区二区三区| 亚洲国产日韩一区高清在线| 性色AV一区二区三区| 久草新视频一区二区三区| 一区二区免费视频| 国产成人欧美一区二区三区| 视频在线观看一区| 夜夜添无码试看一区二区三区| 波多野结衣AV无码久久一区| 青青青国产精品一区二区| 91视频国产一区| 国产成人精品a视频一区| 国产精品日本一区二区不卡视频 | 国产一区二区好的精华液 | 国模吧一区二区三区| 亚洲午夜精品一区二区麻豆| 无码av不卡一区二区三区| 波多野结衣免费一区视频 | 蜜臀AV无码一区二区三区| 国产精品女同一区二区久久| 久久中文字幕一区二区| 国产亚洲福利一区二区免费看| 亚洲AV美女一区二区三区| 在线观看精品视频一区二区三区| A国产一区二区免费入口|