欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

go語(yǔ)言精簡(jiǎn)體積 go語(yǔ)言nil

程序員的開源月刊《HelloGitHub》第 68 期

HelloGitHub 分享 GitHub 上有趣、入門級(jí)的開源項(xiàng)目。

成都創(chuàng)新互聯(lián)公司作為成都網(wǎng)站建設(shè)公司,專注網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),有關(guān)企業(yè)網(wǎng)站設(shè)計(jì)方案、改版、費(fèi)用等問題,行業(yè)涉及報(bào)廢汽車回收等多個(gè)領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認(rèn)可。

這里有實(shí)戰(zhàn)項(xiàng)目、入門教程、黑 科技 、開源書籍、大廠開源項(xiàng)目等,涵蓋多種編程語(yǔ)言 Python、Java、Go、C/C++、Swift...讓你在短時(shí)間內(nèi)感受到開源的魅力,對(duì)編程產(chǎn)生興趣!

1、 toybox :該項(xiàng)目將 200 多個(gè)常用的 Linux 命令行工具,做成一個(gè)可執(zhí)行文件。從而可以讓 Android 這種原本不支持 Linux 命令的系統(tǒng),也得以用上 ls、find、ps 等命令。還可以用于快速構(gòu)建最小的 Linux 環(huán)境

2、 the_silver_searcher :比 ack 更快的命令行搜索工具。速度快、功能強(qiáng)大、使用簡(jiǎn)單,支持 Linux、Windows、macOS 操作系統(tǒng),還能夠整合進(jìn) Vim 和 Emacs 等編輯器

3、 WindTerm :支持 SSH/Telnet/Serial/Shell/Sftp 的終端工具。雖然該軟件完全免費(fèi),但部分代碼尚未完全開源,對(duì)安全敏感的同學(xué)可以再觀望下

4、 wavefunctioncollapse :基于波函數(shù)坍縮 (WFC) 算法,實(shí)現(xiàn)的無(wú)限城市示例。城市里有房子、樓梯、樹木、連接房屋的通道,你可以在城市中自由移動(dòng)、跳躍、飛行,但不論你怎么移動(dòng)都找不到盡頭,因?yàn)檫@座城市會(huì)無(wú)限延伸

5、 NETworkManager :管理和解決網(wǎng)絡(luò)問題的工具。它集成了 IP 和端口掃描、WiFi 分析器、跟蹤路由、DNS 查詢等工具

6、 ppsspp :能夠運(yùn)行在 Android 和 PC 上的開源 PSP 模擬器

7、 leocad :用來創(chuàng)建虛擬樂高模型的 CAD 工具。適用于 Windows、Linux 和 macOS 系統(tǒng)

8、 csshake :用 CSS 實(shí)現(xiàn)抖動(dòng)效果

9、 MangoDB :真正開源的 MongoDB 替代品。它底層采用 PostgreSQL 作為存儲(chǔ)引擎,用 Go 語(yǔ)言實(shí)現(xiàn)了 MongoDB 協(xié)議,所以幾乎兼容所有的 MongoDB 庫(kù),遷移起來毫無(wú)負(fù)擔(dān)。如果你用不到 MongoDB 的高級(jí)功能,還受限于它的開源協(xié)議,那么這個(gè)項(xiàng)目可作為 MongoDB 的開源替代方案。它才剛剛起步,建議觀望一段時(shí)間或做足測(cè)試再用于生產(chǎn)環(huán)境

10、 caddy :用 Go 編寫的輕量級(jí) Web 服務(wù)器。它相較于 Apache、Nginx 這些知名 Web 服務(wù)器,獨(dú)特點(diǎn)在于提供了編譯好的可執(zhí)行文件,實(shí)現(xiàn)了真正的開箱即用。無(wú)需任何配置即可擁有免費(fèi)的 HTTPS、自動(dòng)把 Markdown 文件轉(zhuǎn)化成 HTML 等人性化的功能。如果是搭建中小型的 Web 服務(wù),它完全夠用而且省時(shí)省心

11、 croc :可以讓任意兩臺(tái)計(jì)算機(jī),安全方便地傳輸文件和文件夾的工具。輕松實(shí)現(xiàn)端到端加密的跨平臺(tái)文件傳輸,還支持多文件傳輸、傳輸中斷和恢復(fù)等功能

12、 jnativehook :獲取鍵盤和鼠標(biāo)事件的 Java 庫(kù)。輕松監(jiān)聽按鍵、鼠標(biāo)移動(dòng)、點(diǎn)擊等事件

13、 spider-flow :用流程圖的方式編寫爬蟲的平臺(tái)。無(wú)需寫代碼就可以快速完成一個(gè)簡(jiǎn)單的爬蟲

14、 greenDAO :高性能的 Android ORM 庫(kù)。擁有體積小、易于使用、支持?jǐn)?shù)據(jù)庫(kù)加密等特點(diǎn),通過它 Android 開發(fā)者可以采用面向?qū)ο蟮姆绞讲僮鲾?shù)據(jù)庫(kù),不需要再手寫和拼接 SQL 啦

15、 vue-color-avatar :純前端實(shí)現(xiàn)的矢量風(fēng)格頭像生成網(wǎng)站。可以通過搭配不同的素材,生成個(gè)性化頭像。該項(xiàng)目使用 Vite + Vue3 開發(fā),能夠幫助前端初學(xué)者熟悉 Vue3 語(yǔ)法并掌握項(xiàng)目搭建的相關(guān)知識(shí)

16、 colorfu :自動(dòng)生成由文字/顏色/圖片/紋理元素組成的壁紙

17、 pm2 :Node.js 的進(jìn)程管理工具。它容易上手操作簡(jiǎn)單,可以有效地提高 Node.js 程序運(yùn)行的穩(wěn)定性,支持自動(dòng)重啟、負(fù)載均衡、不停服務(wù)重啟、性能監(jiān)控等功能,多用于生產(chǎn)環(huán)境中管理、監(jiān)控 Node.js 進(jìn)程

18、 automa :通過圖形化界面拖拽功能模塊,實(shí)現(xiàn)瀏覽器自動(dòng)操作的擴(kuò)展工具。輕松實(shí)現(xiàn)自動(dòng)填表、截圖、定時(shí)執(zhí)行等操作。讓瀏覽器自動(dòng)完成預(yù)設(shè)工作流的插件,從而減少重復(fù)性操作提高效率

19、 PyWebIO :快速構(gòu)建 Web 應(yīng)用的 Python 工具。通過該項(xiàng)目你可在不寫 HTML、CSS、JS 代碼的前提下,僅用 Python 快速完成一個(gè)包含數(shù)據(jù)展示、表單的小型 Web 應(yīng)用頁(yè)面

20、 pottery :以 Python 的方式操作 Redis 的庫(kù)。忘記那些 Redis 命令吧,只要你知道如何使用 Python 字典,那么你就會(huì)用這個(gè)庫(kù)操作 Redis

21、 zulip :完全開源的企業(yè)級(jí)即時(shí)通訊項(xiàng)目。后端采用 Python 語(yǔ)言實(shí)現(xiàn)性能足夠強(qiáng)大,功能齊全相當(dāng)于開源、免費(fèi)的 Slack,擁有拖拽上傳文件、代碼高亮、Markdown 語(yǔ)法、應(yīng)用整合、容易接入的 API 等功能,還支持 Web、PC、iOS 和 Android 主流平臺(tái),眾多知名企業(yè)都在用,能夠有效地提高團(tuán)隊(duì)溝通和辦公效率。同時(shí)該項(xiàng)目對(duì)新手用戶友好,如果你想加入一個(gè)不錯(cuò)的 Python 開源項(xiàng)目,推薦你花時(shí)間研究下它一定會(huì)有所收獲

22、 webssh :簡(jiǎn)單的 SSH 連接服務(wù)器的 Python Web 應(yīng)用。該項(xiàng)目后端采用 Tornado Web 框架和 Python SSH 庫(kù) paramiko,前端是 TypeScript 寫的命令行前端組件 Xterm.js 實(shí)現(xiàn)。整個(gè)項(xiàng)目簡(jiǎn)單還具有實(shí)用價(jià)值,可作為 Python Web 的實(shí)戰(zhàn)項(xiàng)目學(xué)習(xí)

23、 django-debug-toolbar :Django 的調(diào)試工具欄。可顯示當(dāng)前請(qǐng)求和響應(yīng)有關(guān)的各種調(diào)試信息,包括耗時(shí)、SQL、配置、性能等信息

24、 hyperfine :命令行基準(zhǔn)測(cè)試工具。可用來查看和對(duì)比命令的耗時(shí),支持多次運(yùn)行的統(tǒng)計(jì)分析、結(jié)果導(dǎo)出等功能

25、 xcode-dev-cleaner :用于清理各種 Xcode 的緩存數(shù)據(jù),釋放存儲(chǔ)空間。注意是清除 Xcode 緩存數(shù)據(jù),不是卸載 Xcode 哈

26、 toml :更易讀和易于維護(hù)的配置文件格式。如果你厭倦了 INI 的局限性、層層嵌套的 JSON 和 YAML 令人心驚膽戰(zhàn)的縮進(jìn)語(yǔ)法,不防給 TOML 一個(gè)機(jī)會(huì),它支持多種數(shù)據(jù)類型、拋棄了縮進(jìn)和嵌套,而且眾多流行編程語(yǔ)言都有對(duì)應(yīng)的庫(kù)。TOML 已經(jīng)足夠成熟,絕對(duì)值得一試

27、 waka-readme-stats :自動(dòng)在 GitHub 個(gè)人首頁(yè)展示編程時(shí)長(zhǎng)的工具。該項(xiàng)目通過 WakaTime 記錄用戶在 IDE 的使用時(shí)間,統(tǒng)計(jì)編程時(shí)長(zhǎng)和數(shù)據(jù),然后采用 GitHub Action 自動(dòng)獲取并動(dòng)態(tài)更新到 GitHub 個(gè)人首頁(yè)。輕而易舉地展示自己的編程時(shí)長(zhǎng)

28、 PathPlanning :常見的路徑規(guī)劃算法集合。項(xiàng)目包含了 Python 代碼實(shí)現(xiàn)、運(yùn)行過程動(dòng)畫以及相關(guān)論文

29、 howdy :為 Linux 系統(tǒng)提供人臉識(shí)別解鎖電腦的工具。通過電腦內(nèi)置的攝像頭和紅外設(shè)備,實(shí)現(xiàn)了類似 Windows Hello 風(fēng)格的身份認(rèn)證,可用于登陸、鎖屏、sudo 等任何需要輸入密碼的地方

30、 The-Open-Book :開源的電子水墨屏閱讀設(shè)備。動(dòng)手能力強(qiáng)的同學(xué)可跟著這個(gè)項(xiàng)目,從焊電路板開始親手制作出一個(gè)類 Kindle 的 4.2 英寸閱讀設(shè)備

31、 fl_chart :Flutter 圖表庫(kù)。它支持折線圖、條形圖、餅圖、散點(diǎn)圖和雷達(dá)圖

32、 ugo-compiler-book :《從頭開發(fā)一個(gè)迷你 Go 語(yǔ)言》該書教你從頭實(shí)現(xiàn)迷你 Go 語(yǔ)言,內(nèi)容包含了詞法解析、語(yǔ)法樹構(gòu)建、函數(shù)閉包、接口、CGO 的實(shí)現(xiàn)等內(nèi)容

33、 archbase :教科書《計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)》第三版

34、 spring-in-action-v6-translate :《Spring 實(shí)戰(zhàn)第 6 版》中文翻譯

35、 best_AI_papers_2021 :2021 年必看的人工智能論文列表。該項(xiàng)目不是簡(jiǎn)單的羅列論文,它不僅包含相關(guān)論文的代碼、效果展示,還有深入的文章和講解視頻。通過學(xué)習(xí)這些前沿的人工智能論文,提前了解 AI 在未來更多可能性

36、 AnimeGANv2 :可以將圖片和視頻轉(zhuǎn)換成漫畫風(fēng)格的工具。采用的是神經(jīng)風(fēng)格遷移+生成對(duì)抗網(wǎng)絡(luò)(GAN)的組合,轉(zhuǎn)換速度快

感謝您的閱讀,如果覺得內(nèi)容還不錯(cuò)的話 求贊、求分享 ,您的每一次支持都將讓 HelloGitHub 變得更好!

使用scratch構(gòu)建最小化Go程序的docker image

由于Golang編譯之后的文件是二進(jìn)制,而scratch是docker最基礎(chǔ)的空image,所以可以使用scratch來構(gòu)建Go程序的docker image,使得最終構(gòu)建的image最小化.

構(gòu)建image過程分為兩步:

對(duì)于無(wú)需cgo交叉編譯的程序,使用scratch來作為最終運(yùn)行的基礎(chǔ)image非常合適。

首先,選擇合適版本的golang基礎(chǔ)image來build,這里沒有必要選擇更小的golang alpine,build過程中pull一般會(huì)有緩存所以pull速度差別不大,此外alpine中沒有g(shù)it和ssl,我們?cè)跇?gòu)建image過程中都有可能用到,況且alpine也不會(huì)影響最終image大小。

禁掉cgo交叉編譯,我們服務(wù)器一般為linux amd64,build二進(jìn)制文件。

對(duì)于絕大多數(shù)go程序而言,是無(wú)需root來運(yùn)行,根據(jù)docker best practice,使用non-root來運(yùn)行程序能夠帶來更好的安全性,所以我們使用non-root用戶來運(yùn)行,創(chuàng)建一個(gè)appuser,之后再拷貝到scratch運(yùn)行image中。(scratch是空image,所以在builder中創(chuàng)建user,再拷貝。)

多數(shù)程序可能會(huì)用到ssl,我們將builder中的crt拷貝一下即可。(如果builder是alpine,不能拷貝,需要在alpine中apk先預(yù)裝一下。)

完整版Dockerfile

有些Go程序是需要cgo交叉編譯的,例如ethereum. 對(duì)于需要cgo的程序,相對(duì)于scratch,更推薦使用alpine來作為基礎(chǔ)image,原因是alpine中帶有l(wèi)ibc,并且體積也才2MB多。而scratch中沒有,當(dāng)然也可以在builder中l(wèi)dd依賴并拷貝到scratch中。只是用alpine會(huì)更方便一些。

在alpine中只要軟鏈接一下就可以使用。

此外,創(chuàng)建non-root用戶的步驟也沒有必要在builder中進(jìn)行了,可以直接在alpine中創(chuàng)建。

完整版Dockerfile

golang程序在編譯時(shí)去掉了符號(hào)信息,怎么逆向

使用原始build編譯的大小

6,107KB

通過去除部分連接和調(diào)試,build部分參數(shù)查看結(jié)果。

-a 強(qiáng)制編譯所有依賴包。

-s 去掉符號(hào)信息

-w 去掉DWARF調(diào)試信息,得到的程序就不能用gdb調(diào)試了

不建議s和w同時(shí)使用。

go build -ldflags -w test.go

但是體積還是有點(diǎn)大

4,633KB

為什么現(xiàn)在很多企業(yè)都不用易語(yǔ)言呢?就因?yàn)橄訔壦侵形膯幔?/h2>

原因一一列舉如下:

易語(yǔ)言是一個(gè)自主開發(fā),適合國(guó)情,不同層次不同專業(yè)的人員易學(xué)易用的漢語(yǔ)編程語(yǔ)言。

1、易語(yǔ)言是從編碼到集成環(huán)境全部擁有知識(shí)產(chǎn)權(quán)的一套產(chǎn)品,而這在其他編程語(yǔ)言中是不可想像的。大多數(shù)其他的BASIC語(yǔ)言、Pascal語(yǔ)言、Go語(yǔ)言、C語(yǔ)言、Lua語(yǔ)言、Javascript等等語(yǔ)言都沒有對(duì)編碼的知識(shí)產(chǎn)權(quán)(Java語(yǔ)言不太清楚),幾乎全部免費(fèi)開放。

所以你有可以在同一個(gè)語(yǔ)言里,找到無(wú)數(shù)個(gè)不同版本的編譯器;以C語(yǔ)言為例,從免費(fèi)的Watcom C Compiler、GNU C Compiler到收費(fèi)的Visual Studio、Borland C Compiler,不同版本的編譯器之間,可以說是自由競(jìng)爭(zhēng)的關(guān)系;今天你覺得GCC代碼生成效率太低,明天就可以改用Watcom C Compiler,后天你兜兜里閑錢多了,想玩玩可視化或者開發(fā)Windows應(yīng)用,轉(zhuǎn)身就可以改用Visual Studio,……(以下省略無(wú)數(shù)的C編譯器)

用戶的選擇多,編譯器的應(yīng)用生態(tài)就好,用戶也有機(jī)會(huì)用到更加物美價(jià)廉的編譯器,而不是只能吊死在一棵樹上。這也就是為何現(xiàn)在的很多

2、資質(zhì):求職者被企業(yè)錄用,看的就是能力,但是可以證明它的,不過就文憑和證書:像三級(jí)數(shù)據(jù)庫(kù)證書、二級(jí)C程序設(shè)計(jì)語(yǔ)言證書、好像還有研究生編程水平證書等等。可是易語(yǔ)言的證書在哪里呢,要去哪里考呢?難道要花錢去公證處證明“本人具有某某某企業(yè)所需易語(yǔ)言編程能力”?

3、應(yīng)用:其實(shí)還是生態(tài)問題,別的什么的語(yǔ)言起步早,使用人群廣泛,程序之間銜接的方式也多,現(xiàn)成的可以提供參考的程序代碼也多,甚至于還有各專業(yè)領(lǐng)域、網(wǎng)上社區(qū)/社群的共享的代碼資源,像BSD協(xié)議的,GPL協(xié)議的,Mozilla協(xié)議的,等等等等;如今只要你能找,會(huì)搜索,不會(huì)代碼,專業(yè)內(nèi)的編程問題,基本上都不是問題。但是易語(yǔ)言……,這個(gè)不太好找。

加上很多對(duì)代碼能力有需求的企業(yè),內(nèi)部很早可能已經(jīng)有工程人員在維護(hù)代碼庫(kù)了,易語(yǔ)言出現(xiàn)太晚;在現(xiàn)代軟件工程管理技術(shù)廣泛應(yīng)用的時(shí)代,代碼工程量無(wú)限擴(kuò)張的時(shí)代,如若改弦更張,代碼太多,事情太難,成本投入難以預(yù)期。

4、知識(shí)產(chǎn)權(quán)貿(mào)易:今天的世界是全球化的世界,是貿(mào)易全球化的世界。2001年中國(guó)加入 WTO,簽署了關(guān)于貨物貿(mào)易、服務(wù)貿(mào)易、知識(shí)產(chǎn)權(quán)貿(mào)易的一攬子協(xié)議。有句話“引進(jìn)來,走出去”,引什么?就是要引資,引人才,引技術(shù)。2000年是中國(guó)經(jīng)濟(jì)飛速發(fā)展的時(shí)代,正是處于對(duì)技術(shù)的高需求時(shí)期。用土到掉渣的話來說,當(dāng)時(shí)很多代碼、集成電路、機(jī)床,那都是Made in外國(guó)的,用的語(yǔ)言當(dāng)然也是外國(guó)的,易語(yǔ)言當(dāng)然就用不上。不學(xué)著這些語(yǔ)言,那么該怎么使用、消化外來的知識(shí),又該怎么轉(zhuǎn)化別人的知識(shí),為我所用,到最后實(shí)現(xiàn)“走出去”呢

2000年易語(yǔ)言在中國(guó)發(fā)布了最早的版本,而其影響力有限,原因就在這里。

5、中國(guó)計(jì)算機(jī)技術(shù)的發(fā)展歷史,就是中國(guó)高技術(shù)發(fā)展史的重要部分,與國(guó)家發(fā)展息息相關(guān);(在2000年的很早以前)從863計(jì)劃開始,國(guó)家投入大量人力物力,首要的是縮小與發(fā)達(dá)國(guó)家的差距,提高計(jì)算能力和相關(guān)軟硬件技術(shù),服務(wù)于國(guó)防事業(yè)、科研事業(yè),并最終改善民生,服務(wù)人民。(國(guó)防科技大學(xué)就出版了很多關(guān)于計(jì)算機(jī)技術(shù)的書)從學(xué)科科研發(fā)展歷史這個(gè)角度來看,宗旨在于普及中文編程的易語(yǔ)言不是人才培養(yǎng)、科教強(qiáng)國(guó)的重點(diǎn)所在。在技術(shù)發(fā)展這一塊,完全不必搞“大煉鋼”式的全民行動(dòng),反而只要能集中力量,做好有助于國(guó)家綜合實(shí)力的事就行。(像以前的計(jì)算機(jī)上計(jì)算的導(dǎo)彈運(yùn)行軌跡,用的是什么編程語(yǔ)言不重要,機(jī)器語(yǔ)言、匯編語(yǔ)言都OK,不在乎文學(xué)式的大家都懂,而在于科研人員能夠?qū)崿F(xiàn)目標(biāo),國(guó)家可以實(shí)現(xiàn)其目的)

當(dāng)前名稱:go語(yǔ)言精簡(jiǎn)體積 go語(yǔ)言nil
文章轉(zhuǎn)載:http://chinadenli.net/article26/dojiejg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT關(guān)鍵詞優(yōu)化網(wǎng)站營(yíng)銷企業(yè)網(wǎng)站制作網(wǎng)站導(dǎo)航虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)