国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

我為什么使用Linux做開發(fā)

這篇具有很好參考價(jià)值的文章主要介紹了我為什么使用Linux做開發(fā)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

系統(tǒng)選擇


目前市面上主流的桌面操作系統(tǒng)在大多數(shù)人眼里只有Windows和MacOS,那為什么我沒(méi)選擇它們兩呢?

首先,不選MacOS的原因,就是太貴。當(dāng)然這是我的原因不是蘋果的原因,我最早使用Linux寫代碼的時(shí)候是2018年,那時(shí)候剛畢業(yè)上班不久,根本買不起Mac(雖然現(xiàn)在也覺(jué)得有點(diǎn)貴)。

在沒(méi)有接觸Linux之前,我也是使用Winows的。眾所周知,其實(shí)Windows也是收費(fèi)的,那時(shí)候用的基本是破解版本的Windows系統(tǒng)。雖然當(dāng)時(shí)買筆記本電腦會(huì)預(yù)裝Windows系統(tǒng),但是預(yù)裝的基本都是家庭版。依稀記得當(dāng)時(shí)Windows家庭版無(wú)法開啟某些Windows功能(沒(méi)記錯(cuò)的話當(dāng)時(shí)是無(wú)法開啟Windows的虛擬化功能),所以就算我買了預(yù)裝Windows系統(tǒng)的筆記本電腦,依然還是需要自行重裝Windows專業(yè)版系統(tǒng),那時(shí)候就是使用激活軟件破解Windows專業(yè)版。但是作為程序員,我個(gè)人是很反感破解軟件的,因?yàn)槲也幌胍院笪覍懙能浖脖粍e人破解。然后在某些機(jī)緣巧合之下,我加入了一些Linux愛(ài)好者社區(qū),慢慢開始接觸Linux桌面。

重新認(rèn)識(shí)Linux


我第一次接觸Linux是大學(xué)的課程,那時(shí)候教學(xué)用的是Centos。那時(shí)候在我印象中Linux就是黑乎乎的命令行窗口,只能部署一些服務(wù)端的的程序,畢業(yè)以后從事Java后端開發(fā),接觸的Linux也是服務(wù)端版本,所以我根本不知道Linux還有桌面環(huán)境!

直到一次偶然的機(jī)會(huì),在B站刷到一位大佬自己整活的Linux桌面,相當(dāng)個(gè)性化,讓我深受震撼。然后就開始根據(jù)視頻信息去搜索Linux桌面相關(guān)的知識(shí),也因此加入了一些Linux社區(qū),從此開始我的Linux桌面探險(xiǎn)之旅。

Linux桌面


在開始介紹我的Linux探險(xiǎn)之旅前,先簡(jiǎn)單說(shuō)一下Linux的組成,Linux的組成部分可以分為以下三個(gè)主要部分:

  1. Linux內(nèi)核(Kernel): Linux內(nèi)核是操作系統(tǒng)的核心,負(fù)責(zé)管理硬件資源,提供系統(tǒng)服務(wù),以及允許軟件應(yīng)用進(jìn)行控制硬件的基礎(chǔ)。它是一個(gè)由Linus Torvalds在1991年首次發(fā)布的開源軟件項(xiàng)目,至今仍在不斷的發(fā)展和更新中。GitHub - torvalds/linux: Linux kernel source tree。
  2. Linux發(fā)行版(Distributions): Linux發(fā)行版是基于Linux內(nèi)核的操作系統(tǒng),包括了內(nèi)核以及一套完整的軟件和應(yīng)用程序,如GNU工具集、桌面環(huán)境、辦公軟件等。每個(gè)發(fā)行版都可能有不同的包管理系統(tǒng)、默認(rèn)桌面環(huán)境、預(yù)裝軟件、用戶界面以及獨(dú)特的安裝和配置工具。常見(jiàn)的Linux發(fā)行版包括Ubuntu、Fedora、Debian、CentOS、Arch Linux、Red Hat Enterprise Linux等。
  3. 桌面環(huán)境(Desktop Environment, DE): 桌面環(huán)境是提供圖形用戶界面(GUI)的軟件集合,使得用戶可以通過(guò)圖形窗口和菜單進(jìn)行交互,而不是僅通過(guò)命令行。桌面環(huán)境通常包括窗口管理器、圖標(biāo)、工具欄、文件管理器、終端模擬器等組件。常見(jiàn)的桌面環(huán)境有GNOME、KDE Plasma、XFCE等。

Linux內(nèi)核和發(fā)行版以及桌面環(huán)境的組合提供了所需的完整Linux桌面系統(tǒng)。用戶可以根據(jù)自己的需要選擇合適的發(fā)行版和桌面環(huán)境,以滿足個(gè)人偏好和特定用途。

這里再順便提一下GNU和Linux的關(guān)系,可能大家經(jīng)常會(huì)看到”GNU/Linux“這樣的詞匯。

GNU和Linux是兩個(gè)密切相關(guān)但各自獨(dú)立的概念,它們共同構(gòu)成了現(xiàn)代Linux操作系統(tǒng)的基礎(chǔ):

GNU: GNU是一個(gè)自由軟件操作系統(tǒng)項(xiàng)目,由Richard Stallman在1983年啟動(dòng),目的是創(chuàng)建一個(gè)完全由自由軟件組成的操作系統(tǒng)。"GNU"是"GNU's Not Unix"的遞歸縮寫,表明GNU雖然類似于Unix,但不包含任何Unix代碼。GNU項(xiàng)目創(chuàng)建了許多用于操作系統(tǒng)的核心組件,如GNU Compiler Collection (GCC)、GNU C Library (glibc)和GNU Core Utilities (coreutils)。GNU項(xiàng)目也提倡自由軟件哲學(xué),推動(dòng)了GNU通用公共許可證(GPL)的編制和普及。

今天談?wù)摰腖inux操作系統(tǒng),通常指的是"GNU/Linux"系統(tǒng),它是指使用Linux內(nèi)核和GNU軟件及工具的操作系統(tǒng)。Linux提供了操作系統(tǒng)的核心,即內(nèi)核,而GNU提供了構(gòu)建完整操作系統(tǒng)所需的許多基本工具和庫(kù)。

但是大多數(shù)情況下,通常將整個(gè)操作系統(tǒng)簡(jiǎn)稱為"Linux",但嚴(yán)格來(lái)講,當(dāng)包括了大量GNU軟件的時(shí)候,它應(yīng)該被稱為"GNU/Linux"。

那些年我折騰過(guò)的Linux桌面


上面給大家說(shuō)了,在安裝Linux的時(shí)候我們需要考慮三個(gè)部分,Linux內(nèi)核、發(fā)行版、桌面環(huán)境(DE)。但是發(fā)行版其實(shí)就是Linux內(nèi)核+工具集,所以發(fā)行版是依賴Linux內(nèi)核才能運(yùn)行的。因此大多數(shù)時(shí)候你選擇了一個(gè)發(fā)行版里面就包含了內(nèi)核,就不需要再選擇Linux內(nèi)核了(安裝完成后可以更換內(nèi)核)。

而我第一款Linux桌面系統(tǒng)是Ubuntu+GNOME(DE 桌面環(huán)境)的組合。至于為什么是Ubuntu+GNOME,因?yàn)樵谀菚r(shí)候我只接觸過(guò)Centos和Ubuntu。而我去網(wǎng)上搜索Centos和Ubuntu的桌面版本時(shí),大多數(shù)網(wǎng)站都是建議Ubuntu桌面,事實(shí)上也是如此。而Ubuntu桌面版默認(rèn)的桌面環(huán)境(DE)就是GNOME。

這么多年過(guò)去了,我陸續(xù)使用過(guò)很多Linux發(fā)行版和DE的不同組合。發(fā)行版使用過(guò)Manjaro、大蜥蜴、Debian、Deepin(非UOS)、Arch、CutfishOS等,桌面環(huán)境使用過(guò)GNOME、KDE、XFCE、DDE(國(guó)產(chǎn)Deepin DE)、I3等。目前(2024-03-11)使用的是Arch+KDE,在寫這篇文章的時(shí)候剛好KDE6發(fā)布了,這幾天也折騰了一下KDE6,給大家看看效果:

使用Linux遇到的問(wèn)題?


上面講了我是如何選擇Linux桌面的,接下來(lái)講講大家可能最關(guān)心的問(wèn)題,那就是Linux桌面能不能像Windows和MacOS那樣正常辦公或者開發(fā)?

Linux桌面相比Windows和MacOS目前最大的問(wèn)題就是生態(tài),我記得我剛開始使用Linux桌面的時(shí)候國(guó)內(nèi)很多軟件都沒(méi)有Linux版本,大多數(shù)情況下都是使用Wine等技術(shù)來(lái)兼容使用Windows版本。目前情況改善了很多,目前主流的國(guó)產(chǎn)辦公軟件都有Linux版本了,比如我們常用的釘釘、飛書、騰訊會(huì)議等。QQ、微信也都出了Linux原生版本。

這里不得不吐槽一下騰訊了,QQ是2023年開始推出全平臺(tái)重構(gòu)版本的,在這之前的QQ Linux版本幾乎就不可用;而微信截至目前(2024-3-11)還只有一個(gè)原生Linux測(cè)試版本,而且還有白名單限制僅限UOS和麒麟系的Linux發(fā)行版使用。反觀人家WPS,Linux版本的WPS一直都沒(méi)有廣告,雖然前不久WPS也官宣Windows版本去掉廣告了,而且WPS Linux版本一直活躍更新,功能也不比Windows版本少。

而開發(fā)相關(guān)的軟件,作為Java后端常用的Idea、DataGrip、Navicat等都有Linux版本,其他的開發(fā)工具大多數(shù)也都有Linux版本,比如VsCode。這里不得不說(shuō)國(guó)外的軟件在全平臺(tái)支持上確實(shí)要比國(guó)內(nèi)軟件好太多了。

這里給大家列一下我常用的一些軟件:

功能 軟件名稱 官方地址
截圖 Flameshot https://flameshot.org/
郵件 Mailspring https://www.getmailspring.com/
文件管理 Spacedrive https://github.com/spacedriveapp/spacedrive
文檔處理 Wps https://www.wps.com/office/linux/
看圖 Gthumb https://github.com/GNOME/gthumb
SSH Xterminal https://xterminal.cn/
視頻剪輯 Kdenlive https://kdenlive.org/zh/
字幕 Arctime https://arctime.org/
Java IDE IntelliJ IDEA https://www.jetbrains.com/idea/
DataBase IDE DataGrip https://www.jetbrains.com/datagrip/
Vpn V2raya https://v2raya.org/
輸入法 Rime + Fcitx5 https://rime.im/
文本編輯 Neovim https://neovim.io/
系統(tǒng)備份 Timeshift https://github.com/linuxmint/timeshift
接口測(cè)試 Insomnia https://insomnia.rest/
Redis客戶端 Redisinsight https://github.com/RedisInsight/RedisInsight
終端 Warp https://www.warp.dev/

Linux桌面的優(yōu)缺點(diǎn)


在這里總結(jié)一下我認(rèn)為的Linux桌面的優(yōu)點(diǎn)和缺點(diǎn)。

  • 優(yōu)點(diǎn):
    1. 開源免費(fèi),無(wú)論是Windows還是MacOS都是收費(fèi)的,而Linux是開源免費(fèi)的,開源項(xiàng)目總比閉源項(xiàng)目在安全性上更可靠。
    2. 發(fā)行版眾多,Linux有很多發(fā)行版,可以根據(jù)自己的喜好選擇不同的發(fā)行版,不會(huì)像Windows和MacOS那樣被一家公司或者組織束縛。
    3. 自由度高,Linux上面你可以隨便折騰,一個(gè)發(fā)行版可以換不同的桌面環(huán)境,不會(huì)像Windows和MacOS那樣只有一個(gè)桌面環(huán)境,而且桌面環(huán)境可以高度個(gè)性化。
    4. 穩(wěn)定性好,Linux的穩(wěn)定性比Widnows要好很多,這也是服務(wù)器操作系統(tǒng)大多數(shù)都是Linux的原因之一。
    5. 技術(shù)支持好,這個(gè)跟發(fā)行版有很大的關(guān)系,比如我正在使用的Arch Linux,有非常完善的Wiki系統(tǒng),而且有非?;钴S的社區(qū)。當(dāng)你在使用中出現(xiàn)問(wèn)題,絕大多數(shù)情況下你都可以在Arch wiki上找到解決方案,極少數(shù)找不到解決方案的問(wèn)題你也可以在Arch社區(qū)發(fā)帖提問(wèn),會(huì)有很多熱心的大佬給你提供建議和幫助。這點(diǎn)我想如果你不是Widnows企業(yè)用戶的話估計(jì)很難得到技術(shù)支持。
  • 缺點(diǎn):
    1. 軟件生態(tài)差,目前Linux相比Windows和MacOS最大的問(wèn)題就是軟件應(yīng)用生態(tài)不足了,但是如果只是普通辦公和開發(fā)也完全足夠了。
    2. 對(duì)新手不友好,雖然Linux桌面環(huán)境已經(jīng)在努力改善了,但是依然會(huì)出現(xiàn)很多和開發(fā)相關(guān)的名詞和知識(shí),對(duì)于非計(jì)算機(jī)行業(yè)的朋友可能不太友好。
    3. 游戲支持差,對(duì)于喜歡玩游戲的朋友來(lái)說(shuō),Linux就不適合了,雖然Steam也有Linux版,但是里面可玩的游戲很少。

上面的優(yōu)缺點(diǎn)我認(rèn)為是對(duì)所有人都適用的,我作為Java后端使用Linux開發(fā)還有其他的優(yōu)勢(shì):

  1. 容器化技術(shù)原生支持,比如Docker,就是使用Linux命名空間(namespaces)和資源隔離(CGroups)實(shí)現(xiàn)的。
  2. Linux上寫的Java代碼直接部署在Linux服務(wù)器上能避免一些操作系統(tǒng)差異引起的bug,雖然Java號(hào)稱跨平臺(tái)的,但是還是可能會(huì)因?yàn)橐恍┎僮飨到y(tǒng)上的差異導(dǎo)致的bug。比如Tomcat默認(rèn)端口是80,如果你在Widnows上開發(fā)是能正常運(yùn)行的,但是你將寫好的程序打包到Linux上以非root用戶是無(wú)法運(yùn)行的,因?yàn)長(zhǎng)inux上1024以下的端口是普通用戶無(wú)法使用的。
  3. 能學(xué)習(xí)更多的Linux知識(shí),對(duì)于工作中需要使用Linux的人來(lái)說(shuō),這確實(shí)能提升技術(shù)能力。

以上就是我分享的為什么使用Linux做開發(fā)的經(jīng)驗(yàn),當(dāng)然也不是勸大家使用Linux桌面,這個(gè)根據(jù)個(gè)人情況自己決定,本文只是純經(jīng)驗(yàn)分享。

本文使用 markdown.com.cn 排版文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-838610.html

到了這里,關(guān)于我為什么使用Linux做開發(fā)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 為什么超過(guò)500萬(wàn)開發(fā)者選擇了ASP.NET Core?

    為什么超過(guò)500萬(wàn)開發(fā)者選擇了ASP.NET Core?

    ASP.NET Core 是一個(gè)新的開源和跨平臺(tái)的框架,用于構(gòu)建如 Web 應(yīng)用、物聯(lián)網(wǎng)(IoT)應(yīng)用和移動(dòng)后端應(yīng)用等連接到互聯(lián)網(wǎng)的基于云的現(xiàn)代應(yīng)用程序。 ASP.NET Core 應(yīng)用可運(yùn)行于 .NET Core 和完整的 .NET Framework 之上。構(gòu)建它的目的是為那些部署在云端或者內(nèi)部運(yùn)行(on-premises)的應(yīng)用提供

    2024年02月04日
    瀏覽(22)
  • winform使用SetParent 嵌入excel,打開的excel跟隨dpi 25%*125%縮放了兩次,目前微軟官方?jīng)]有好的解決方案,為什么

    雙重縮放問(wèn)題在將 Excel 嵌入到 WinForm 中時(shí)確實(shí)可能會(huì)出現(xiàn),這是因?yàn)閮蓚€(gè)不同的應(yīng)用程序(WinForm 和 Excel)之間的 DPI 縮放邏輯不一致,導(dǎo)致雙重縮放的結(jié)果。 在 Windows 操作系統(tǒng)中,DPI 縮放是一種全局的設(shè)置,用于適應(yīng)高 DPI 顯示設(shè)備,從而提高顯示元素的大小。當(dāng)您將 Ex

    2024年02月14日
    瀏覽(27)
  • 為什么 Golang Fasthttp 選擇使用 slice 而非 map 存儲(chǔ)請(qǐng)求數(shù)據(jù)

    為什么 Golang Fasthttp 選擇使用 slice 而非 map 存儲(chǔ)請(qǐng)求數(shù)據(jù)

    Fasthttp 是一個(gè)高性能的 Golang HTTP 框架,它在設(shè)計(jì)上做了許多優(yōu)化以提高性能。其中一個(gè)顯著的設(shè)計(jì)選擇是使用 slice 而非 map 來(lái)存儲(chǔ)數(shù)據(jù),尤其是在處理 HTTP headers 時(shí)。 為什么呢? 本文將從簡(jiǎn)單到復(fù)雜,逐步剖析為什么 Fasthttp 選擇使用 slice 而非 map,并通過(guò)代碼示例解釋這一

    2024年01月22日
    瀏覽(21)
  • 為什么選擇C/C++內(nèi)存檢測(cè)工具AddressSanitizer?如何使用AddressSanitizer?

    目錄 1、C++程序中的內(nèi)存問(wèn)題 2、AddressSanitizer是什么? 3、AddressSanitizer內(nèi)存檢測(cè)原理簡(jiǎn)述

    2024年02月09日
    瀏覽(16)
  • 為什么不用Go開發(fā)操作系統(tǒng)?

    為什么不用Go開發(fā)操作系統(tǒng)?

    ? 操作系統(tǒng) (OS) 是計(jì)算機(jī)系統(tǒng)的心臟和靈魂,它管理著計(jì)算機(jī)的硬件和軟件資源,并為用戶提供與計(jì)算機(jī)交互的方式。傳統(tǒng)上,C 和 Assembly 等語(yǔ)言因其低開銷和 “接近機(jī)器碼” 的特性而被用于開發(fā)操作系統(tǒng)。 但諸如 Go 等高級(jí)語(yǔ)言的興起引入了一些特性,這些特性或許可以使

    2024年02月06日
    瀏覽(38)
  • 為什么很多程序員喜歡linux系統(tǒng)?

    a Linux哪些行業(yè)在運(yùn)用? Linux系統(tǒng)運(yùn)用極其廣泛,不少用戶只知道windows,是因?yàn)?,Linux的運(yùn)用主要是在企業(yè)端?,F(xiàn)在科技極其發(fā)達(dá),我們手機(jī)在手,就能干很多事情,只需點(diǎn)一點(diǎn)屏幕,輕松完成聊天、娛樂(lè)、甚至支付功能。這些操作看似簡(jiǎn)單,但其背后,有一系列復(fù)雜請(qǐng)求和響

    2024年02月03日
    瀏覽(27)
  • 【Linux(0)】為什么要學(xué)習(xí)Linux,為什么互聯(lián)網(wǎng)公司在招聘時(shí),會(huì)提出要有Linux經(jīng)驗(yàn),及其使用;一些Linux常見(jiàn)指令

    【Linux(0)】為什么要學(xué)習(xí)Linux,為什么互聯(lián)網(wǎng)公司在招聘時(shí),會(huì)提出要有Linux經(jīng)驗(yàn),及其使用;一些Linux常見(jiàn)指令

    ??作者簡(jiǎn)介: 加油,旭杏,目前大二,正在學(xué)習(xí) C++ , 數(shù)據(jù)結(jié)構(gòu) 等?? ??作者主頁(yè):加油,旭杏的主頁(yè)?? ?本文收錄在:再識(shí)C進(jìn)階的專欄?? ??代碼倉(cāng)庫(kù):旭日東升 1?? ??歡迎大家點(diǎn)贊 ?? 收藏 ? 加關(guān)注哦!?? ???????在學(xué)習(xí)完C語(yǔ)言后,緊接著,我們要來(lái) 學(xué)習(xí)Li

    2024年02月05日
    瀏覽(23)
  • 為什么建議使用虛擬機(jī)來(lái)安裝Linux?

    個(gè)人認(rèn)為,通過(guò)虛擬機(jī)軟件學(xué)習(xí)是初學(xué)者學(xué)習(xí) Linux 的最佳方式。 在與部分初學(xué)者的交流中,我發(fā)現(xiàn)很多初學(xué)者都認(rèn)為,學(xué)習(xí) Linux 就必須將自己的電腦裝成 Linux 系統(tǒng)或者必須要有真正的服務(wù)器設(shè)備。而實(shí)際上,這是一些機(jī)構(gòu)、書籍或網(wǎng)絡(luò)文章給大家傳導(dǎo)的錯(cuò)誤思想。 其實(shí),

    2024年02月08日
    瀏覽(38)
  • 為什么選擇新風(fēng)機(jī)?

    為什么選擇新風(fēng)機(jī)?

    ? 現(xiàn)如今,新風(fēng)機(jī)已經(jīng)是很多場(chǎng)地的熟客了,那大家可能疑惑為什么選擇新風(fēng)機(jī)呢?那就讓我揭曉答案吧!新風(fēng)機(jī)有很多益處,讓我大致簡(jiǎn)述一下吧。 改善室內(nèi)空氣質(zhì)量:新風(fēng)機(jī)能夠引入新鮮的外界空氣,并排除室內(nèi)的污濁空氣,有效凈化空氣,降低顆粒物、細(xì)菌、異味等有

    2024年02月11日
    瀏覽(24)
  • Java開發(fā)手冊(cè)中為什么禁止使用BigDecimal的equals方法做等值比較已經(jīng)為什么禁止使用double直接構(gòu)造BigDecimal

    Java開發(fā)手冊(cè)中為什么禁止使用BigDecimal的equals方法做等值比較已經(jīng)為什么禁止使用double直接構(gòu)造BigDecimal

    阿里Java開發(fā)手冊(cè)嵩山版中明確指出: 1、BigDecimal的等值比較應(yīng)使用compareTo()方法,而不是equals()方法 equals()方法會(huì)比較值和精度(1.0與1.00返回結(jié)果為false),而compareTo()則會(huì)忽略精度 2、禁止使用構(gòu)造方法BigDecimal(double)的方式把double值轉(zhuǎn)換為BigDecimal對(duì)象 BigDecimal(double)存在精度損

    2024年02月07日
    瀏覽(34)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包