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 天天操天天操天天,在线观看一区二区三区四区,亚洲美女视频在线观看

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

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

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

          mysq5.7.44源代碼方式下載安裝配置

          mysq5.7.44源代碼方式下載安裝配置

          ysq5.7.44源代碼方式

          下載安裝配置

          官網(wǎng)文檔

          https://dev.mysql.com/doc/refman/5.7/en/installing-source-distribution.html

          mysql下載

          打開(kāi)mysql官網(wǎng)網(wǎng)站 https://www.mysql.com/,點(diǎn)擊download進(jìn)入下載頁(yè)面。

          在下載頁(yè)面中找到mysql社區(qū)服務(wù)器版本,點(diǎn)擊“MySQL Community (GPL) Downloads ?”進(jìn)入社區(qū)服務(wù)器版的下載頁(yè)面。

          點(diǎn)擊社區(qū)服務(wù)器版“MySQL Community Server”

          點(diǎn)擊存檔“Archives”,選擇操作系統(tǒng),操作系統(tǒng)版本,找到源碼。

          源安裝先決條件

          gcc-c++編譯器

          yum install -y gcc-c++

          CMake編譯工具

          CMake是一個(gè)跨平臺(tái)的開(kāi)源構(gòu)建工具,用于構(gòu)建mysql軟件。他寫(xiě)CMakeLists.txt文件來(lái)描述項(xiàng)目的結(jié)構(gòu),用cmake生成makefile文件,共make編譯使用。

          yum install cmake

          cmake官網(wǎng)下載 https://cmake.org/download/,源碼編譯見(jiàn)軟件包中的readme文件。

          查看cmake版本

          cmake --version

          make編譯工具

          一般系統(tǒng)自帶這個(gè)編譯工具,可以通過(guò)make --version查看版本。

          OpenSSL 庫(kù)

          需要 SSL 庫(kù)來(lái)支持加密連接、隨機(jī)數(shù)生成。

          yum install openssl-devel

          Boost C++ 庫(kù)

          Boost是一個(gè)由C++社區(qū)開(kāi)發(fā)和維護(hù)的開(kāi)源C++庫(kù)集合,旨在擴(kuò)展C++語(yǔ)言的功能和性能。

          構(gòu)建 MySQL 需要 Boost C++ 庫(kù),必須安裝Boost 1.59.0,安裝 Boost 后,根據(jù)調(diào)用WITH_BOOST在CMake 時(shí)為選項(xiàng)設(shè)置的值告訴構(gòu)建系統(tǒng) Boost 文件的放置位置。

          見(jiàn)以下兩個(gè)選項(xiàng):

          -DDOWNLOAD_BOOST=1 \

          -DWITH_BOOST=/usr/local/boost

          ncurses 庫(kù)

          ncurses庫(kù)是一個(gè)用于創(chuàng)建文本用戶界面(TUI)的開(kāi)發(fā)庫(kù)。

          yum install ncurses-devel

          Perl庫(kù)

          如果您打算運(yùn)行測(cè)試腳本,則需要 Perl。

          mysql安裝

          創(chuàng)建mysql用戶和組

          groupadd mysql

          useradd -r -g mysql -s /bin/false mysql

          安裝

          解壓

          cd /soft

          tar zxvf mysql-5.7.44.tar.gz

          cd mysql-5.7.44

          創(chuàng)建構(gòu)建目錄

          mkdir build

          cd build

          構(gòu)建make編譯文件

          cmake .. \

          -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

          -DMYSQL_DATADIR=/home/mysql \

          -DSYSCONFDIR=/etc \

          -DDEFAULT_CHARSET=utf8mb4 \

          -DDEFAULT_COLLATION=utf8mb4_general_ci \

          -DMYSQL_TCP_PORT=3306 \

          -DDOWNLOAD_BOOST=1 \

          -DWITH_BOOST=/usr/local/boost

          說(shuō)明:

          -DCMAKE_INSTALL_PREFIX:配置安裝到特定路徑

          -DMYSQL_DATADIR:配置數(shù)據(jù)目錄

          -DSYSCONFDIR:配置選項(xiàng)文件的目錄

          -DDEFAULT_CHARSET:配置mysql服務(wù)字符集,默認(rèn)字符是latin1(cp1252西歐)字符集

          -DDEFAULT_COLLATION:服務(wù)器排序規(guī)則。默認(rèn)排序規(guī)則使用 latin1_swedish_ci。

          -DMYSQL_TCP_PORT:服務(wù)器偵聽(tīng) TCP/IP 連接的端口號(hào)。默認(rèn)值為 3306。

          -DDOWNLOAD_BOOST:檢查是否有boost庫(kù)

          重新構(gòu)建時(shí)運(yùn)行以下命令清楚歷史構(gòu)建信息

          make clean

          rm -rf CMakeCache.txt

          編譯&安裝

          make

          make install

          mysql設(shè)置

          創(chuàng)建mysql用戶和組

          groupadd mysql

          useradd -r -g mysql -s /bin/false mysql

          添加環(huán)境變量

          echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile

          source /etc/profile

          echo $PATH

          初始化數(shù)據(jù)目錄

          切換到mysql軟件根目錄

          cd /usr/local/mysql

          創(chuàng)建mysql-files目錄

          mkdir mysql-files

          chown mysql:mysql mysql-files

          mysql-files目錄提供了一個(gè)方便的位置來(lái)用作系統(tǒng)變量的值 secure_file_priv,這將導(dǎo)入和導(dǎo)出操作限制到特定目錄。

          創(chuàng)建mysql配置文件

          vi /etc/my.cnf

          [mysqld]

          basedir=/usr/local/mysql

          datadir=/home/mysql

          MySQL安裝完成后,必須初始化數(shù)據(jù)目錄。

          bin/mysqld --defaults-file=/etc/my.cnf \

          --initialize \

          --user=mysql

          --defaults-file:指定初始化時(shí)的配置文件,必須在選項(xiàng)的第一位。(配置文件中只能有basedir和datadir,其他選項(xiàng)需要在初始化后才能加入)

          --initialize:初始化

          --user:指定mysql軟件運(yùn)行用戶

          注意:初始化數(shù)據(jù)庫(kù)目錄時(shí),除了使用--basedir、--datadir、--user選項(xiàng)外,不應(yīng)該使用其他選項(xiàng)。其他選項(xiàng)可以在初始化完成后再my.cnf中指定,然后重啟mysql服務(wù)。意思就是說(shuō)初始化數(shù)據(jù)庫(kù)目錄時(shí)最多只能使用--basedir、--datadir、--user選項(xiàng)。

          部署自動(dòng)支持安全連接的服務(wù)器

          bin/mysql_ssl_rsa_setup

          啟動(dòng)服務(wù)器

          bin/mysqld_safe --user=mysql &

          對(duì)于使用 RPM 包安裝 MySQL 的 Linux 系統(tǒng),服務(wù)器啟動(dòng)和關(guān)閉是使用 systemd 而不是mysqld_safe管理的,并且 不安裝mysqld_safe 。

          開(kāi)機(jī)啟動(dòng)啟動(dòng)服務(wù)器

          cd support-files/

          cp mysql.server /etc/init.d/mysql

          chmod +x /etc/init.d/mysql

          chkconfig --add mysql

          啟動(dòng)停止和重啟

          service mysql start

          service mysql stop

          service mysql restart

          修改root密碼

          登錄mysql后運(yùn)行如下命令修改密碼,登錄密碼在初始化數(shù)據(jù)目錄時(shí)有顯示。

          ALTER USER 'root'@'localhost' IDENTIFIED BY 'Welcome123#';

          查看用戶

          查看默認(rèn)存在的用戶

          select user,host from mysql.user;

          使用systemd管理MySQL服務(wù)器

          創(chuàng)建MySQL的systemd服務(wù)單元文件

          你需要在“/etc/systemd/system/”創(chuàng)建一個(gè)“mysql.service”的文件,告訴systemd如何管理MySQL服務(wù)。

          文件內(nèi)容如下:

          [Unit]

          Description=MySQL Server

          After=network.target

          [Service]

          ExecStart=/usr/local/mysql/bin/mysqld_safe --user=mysql

          ExecStop=/usr/local/mysql/bin/mysqladmin shutdown

          User=mysql

          Group=mysql

          Restart=always

          [Install]

          WantedBy=multi-user.target

          說(shuō)明:

          After=network.target 是systemd服務(wù)單元文件中的一個(gè)指令,它指定了服務(wù)單元所依賴的其他單元。具體來(lái)說(shuō),network.target 是一個(gè)systemd的單元,表示網(wǎng)絡(luò)服務(wù)已經(jīng)啟動(dòng)并可用。

          Restart=always 意味著當(dāng)服務(wù)意外退出(即非正常退出)時(shí),systemd會(huì)自動(dòng)嘗試重新啟動(dòng)該服務(wù)。

          WantedBy=multi-user.target 是systemd服務(wù)單元文件中的一個(gè)指令,它定義了服務(wù)的啟動(dòng)級(jí)別(run level)。在systemd中,系統(tǒng)的啟動(dòng)級(jí)別通過(guò)一個(gè)稱(chēng)為 target 的單元來(lái)表示。multi-user.target 是系統(tǒng)的多用戶運(yùn)行級(jí)別,通常用于大多數(shù)服務(wù)器環(huán)境,表示系統(tǒng)已經(jīng)啟動(dòng)到了可以提供多用戶登錄和運(yùn)行多個(gè)服務(wù)的階段。WantedBy=multi-user.target 指定了MySQL服務(wù)的啟動(dòng)級(jí)別,并告訴systemd在系統(tǒng)啟動(dòng)到多用戶運(yùn)行級(jí)別時(shí)啟動(dòng)MySQL服務(wù)。

          重新加載systemd管理器配置

          創(chuàng)建完服務(wù)單元文件后,需要通知systemd重新加載它的配置,以便識(shí)別到新的MySQL服務(wù)單元。

          systemctl daemon-reload

          述 | 楊曉兵

          編輯 | 伍杏玲

          出品 | CSDN(ID:CSDNnews)

          編者前記:

          編譯器是連接人類(lèi)世界與機(jī)器世界之間的一座橋梁,它可將程序員理解的高級(jí)語(yǔ)言,轉(zhuǎn)換成程序高效執(zhí)行的機(jī)器碼。在 C/C++ 編譯器里,有 VC、Borland C++、GCC、Watcom C/C++ 等國(guó)外熱門(mén)編譯器,但屬于國(guó)內(nèi)自主研發(fā)的編譯器較少。

          畢竟開(kāi)發(fā)一款實(shí)用的編譯器不易,涉及前端詞法、語(yǔ)法分析、語(yǔ)意分析、大量的編譯優(yōu)化等工作。而有一支團(tuán)隊(duì),不惜花費(fèi)十余年精力完全自主研發(fā)出一款 YC 編譯器和 YC 瀏覽器內(nèi)核。

          為何他們不遺余力地自主研發(fā)編譯器和瀏覽器內(nèi)核?這款編譯器有何優(yōu)點(diǎn)呢?下面由 YC 編譯器的主要作者之一——楊曉兵,來(lái)講述這背后十多年來(lái)的漫漫研發(fā)路。

          以下為楊曉兵自述:

          初衷:“做一些對(duì)軟件行業(yè)進(jìn)步有幫助的東西”

          十多年前,我在中國(guó)科學(xué)院電子學(xué)研究所工作,參與設(shè)計(jì)一些硬件電路。當(dāng)時(shí)我對(duì)硬件的興趣遠(yuǎn)超軟件,后創(chuàng)業(yè)專(zhuān)門(mén)從事軟件工作。

          我在創(chuàng)業(yè)的過(guò)程中發(fā)現(xiàn),做此類(lèi)軟件雖能賺錢(qián),但無(wú)論做得怎樣,對(duì)軟件科學(xué)的進(jìn)步都無(wú)絲毫作用。盡管付出很多,卻無(wú)成就感。

          操作系統(tǒng)、數(shù)據(jù)庫(kù)、編譯器以及瀏覽器內(nèi)核是不需要特殊專(zhuān)業(yè)知識(shí)的、開(kāi)發(fā)難度非常大、最基礎(chǔ)的軟件產(chǎn)品。

          我想從這幾種軟件中選擇其中一項(xiàng)來(lái)自主研發(fā),雖然不能肯定做出什么成就,但我有希望能做出一些對(duì)軟件行業(yè)進(jìn)步有所幫助的東西,使自己不枉踏入軟件這個(gè)行業(yè)。根據(jù)當(dāng)時(shí)的情況,我發(fā)現(xiàn)可先從瀏覽器內(nèi)核下手,于是我除了維護(hù)原有產(chǎn)品外,把主要精力都投入到瀏覽器的研發(fā)中。

          創(chuàng)新將 C 代碼內(nèi)嵌到 HTML

          兩年后,我們研發(fā)完成瀏覽器內(nèi)核的基本功能,如 HTML 的解析和顯示、JavaScript 腳本的執(zhí)行等。

          此時(shí),我們發(fā)現(xiàn) HTML 的標(biāo)準(zhǔn)越來(lái)越復(fù)雜,導(dǎo)致開(kāi)發(fā)難度越來(lái)越大,如果按照這樣的發(fā)展,瀏覽器內(nèi)核將無(wú)法走入市場(chǎng)。

          于是我重新思考:如果把 C 語(yǔ)言處理成像 JavaScript 腳本嵌入到 HTML 中,用內(nèi)嵌 C 代碼的 HTML 超文本做軟件的人機(jī)交互界面,這款內(nèi)核應(yīng)該會(huì)有點(diǎn)競(jìng)爭(zhēng)優(yōu)勢(shì)。

          于是我們花費(fèi)兩年半的時(shí)間將標(biāo)準(zhǔn) C 語(yǔ)言以 JavaScript 相似的方式在 HTML 中執(zhí)行,并擴(kuò)展了一個(gè) HTML 標(biāo)簽:<user>,每個(gè) user 標(biāo)簽都可以用屬性 src 指定一個(gè) C 源碼文件,user標(biāo)簽的顯示界面和所有行為都由它的 C 代碼決定。

          同時(shí)將 C 編譯器做成一個(gè)函數(shù),用該函數(shù)編譯生成 C 程序的可執(zhí)行代碼,執(zhí)行代碼可被存入文件或直接執(zhí)行。此時(shí),我們將編譯器取名為 YC 編譯器,瀏覽器內(nèi)核取名為 YC 瀏覽器。

          三年又三年,漫漫研發(fā)路

          隨后,我們繼續(xù)完善瀏覽器內(nèi)核,將其中的一些內(nèi)核代碼獨(dú)立出來(lái)用內(nèi)嵌編譯器動(dòng)態(tài)編譯執(zhí)行,并將大部分內(nèi)核源代碼開(kāi)源。

          與此同時(shí),我們又遇到一個(gè)問(wèn)題:YC 編譯器雖然編譯速度較快,生成的卻是字節(jié)碼,執(zhí)行速度慢,而且與原生代碼相互調(diào)用(特別是回調(diào)函數(shù))的處理相當(dāng)繁瑣。因此用當(dāng)時(shí)的 YC 編譯器難以勝任開(kāi)源代碼的編譯工作。

          為了解決自編譯瀏覽器內(nèi)核代碼的問(wèn)題,我們決定修改 YC 編譯器,使它的字節(jié)碼轉(zhuǎn)換為原生的執(zhí)行碼,并擴(kuò)展語(yǔ)法,使之具有少量的 C++ 語(yǔ)法。這個(gè)工作持續(xù)了三年。

          三年后,YC 編譯器功能增多,它提供一個(gè)函數(shù)像調(diào)用動(dòng)態(tài)鏈接庫(kù)一樣直接調(diào)用 C 源碼中的函數(shù)。此時(shí),瀏覽器內(nèi)核開(kāi)源部分都可以用 YC 編譯器實(shí)時(shí)編譯執(zhí)行了。

          我們繼續(xù)改進(jìn)瀏覽器內(nèi)核,將速度很慢的 JavaScript 字節(jié)碼改為二進(jìn)制原生代碼,使 JavaScript 的執(zhí)行速度約提高約 100 多倍。同時(shí)將瀏覽器內(nèi)核代碼全部模塊化并開(kāi)源,每個(gè)模塊都用 YC 編譯器動(dòng)態(tài)編譯執(zhí)行,編譯器的部分源碼也開(kāi)源(如內(nèi)嵌匯編編譯器源碼、反匯編源碼、C/C++ 字節(jié)碼的執(zhí)行源碼等),所有的開(kāi)源代碼均由內(nèi)嵌的 YC 編譯器自動(dòng)檢測(cè)編譯,動(dòng)態(tài)執(zhí)行。這個(gè)工作大概耗時(shí)四年。

          開(kāi)發(fā)至此,我想起谷歌和火狐瀏覽器都已開(kāi)源,為什么不去看看它們的源代碼呢?于是找到這兩個(gè)瀏覽器的源碼。

          當(dāng)時(shí)由于一些原因,我分析谷歌瀏覽器源碼沒(méi)有編譯通過(guò),而火狐的源碼很順利就編譯成功了,于是我就走上了分析火狐源碼之路。

          下載的火狐源碼由純 C 代碼和 C++ 代碼兩部分組成,經(jīng) Visual C++ 2013 編譯生成一個(gè) xul.dll 文件和一個(gè) firefox.exe 文件。

          我首先分析了它的 C 代碼,將所有的輸出函數(shù)全部改為類(lèi)接口,并讓 xul.dll 通過(guò) YC 編譯器函數(shù) YC_cppLoad 進(jìn)行實(shí)時(shí)編譯,然后用類(lèi)接口調(diào)用 C 源碼中的函數(shù)。這一步進(jìn)行得很順利,若修改了火狐的 C 代碼,只要重新運(yùn)行火狐瀏覽器便可生效,無(wú)需其它操作。

          曾經(jīng)的辦公桌

          接下來(lái)開(kāi)始分析火狐 C++ 代碼。YC 編譯器只實(shí)現(xiàn)了少數(shù)幾個(gè) C++ 語(yǔ)法,不能編譯火狐 C++ 代碼,故分析起來(lái)非常困難。

          為什么火狐 C 代碼容易分析,而它的 C++ 代碼難以分析呢?原來(lái)我用 YC 編譯器將它的 C 代碼生成匯編代碼文件、變量結(jié)構(gòu)定義文件、宏定義文件和預(yù)編譯文件,通過(guò)這幾個(gè)文件,大大減少了分析難度。

          因此我再次決定修改 YC 編譯器,使之完全支持 C++11 標(biāo)準(zhǔn),因?yàn)榛鸷?C++ 代碼幾乎使用了所有的 C++11 語(yǔ)法特性。先使用 STL 標(biāo)準(zhǔn)模板庫(kù)代碼進(jìn)行編譯器的修改和調(diào)試,出乎預(yù)料,這個(gè)過(guò)程竟用了三年時(shí)間!之后,我用 YC++ 編譯器開(kāi)始調(diào)試火狐 C++ 代碼。原以為 STL 那么復(fù)雜的代碼都可以編譯通過(guò)并正確執(zhí)行,火狐 C++ 代碼應(yīng)該能很快就編譯通過(guò)。沒(méi)想到,很多語(yǔ)法細(xì)節(jié) STL 沒(méi)有用到,而火狐 C++ 源碼用到了。于是又繼續(xù)修改 YC 編譯器,對(duì)火狐 C++ 的各個(gè)模塊進(jìn)行編譯,這個(gè)過(guò)程持續(xù)了一年多

          雖然 YC 編譯器可以編譯全部火狐 C++ 代碼,但如何生成執(zhí)行代碼呢?先從主程序 Firefox.cpp 入手,經(jīng)整理,這個(gè)程序可用 YC 編譯器生成執(zhí)行代碼 Firefox.exe,并能順利運(yùn)行。

          由于火狐 C++ 各模塊耦合緊密,很難拆分,經(jīng)過(guò)一個(gè)多月的工作,仍未能將其拆成多個(gè)獨(dú)立的源碼模塊以便于用 YC 編譯器實(shí)時(shí)編譯,動(dòng)態(tài)執(zhí)行,這也許是我對(duì)火狐 C++ 源碼的整體結(jié)構(gòu)還不甚清楚之故,只見(jiàn)其樹(shù)木不見(jiàn)其森林。

          楊曉兵

          當(dāng)我準(zhǔn)備對(duì)火狐 C++ 代碼進(jìn)行再一次總體分析時(shí),有個(gè)偶然的機(jī)會(huì)參與到一個(gè)學(xué)校管理系統(tǒng)的開(kāi)發(fā)中,因原有的管理系統(tǒng)經(jīng)常出故障,操作極其不方便。盡管沒(méi)有開(kāi)發(fā) Web 服務(wù)程序的經(jīng)歷,但我做的軟件與 Web 服務(wù)器有極大關(guān)系。

          經(jīng)了解,要開(kāi)發(fā)這種管理系統(tǒng)需要的軟件有:Apache 或 Nginx 服務(wù)器,數(shù)據(jù)庫(kù) MySQL 或其它,編程工具 ASP 或 JSP 或 PHP 等,于是啟發(fā)我們自己研發(fā)這些工具。YC 的 C/C++ 和 JavaScript 編譯器和 HTML 解析器正好派上用場(chǎng)。

          經(jīng)過(guò)一段時(shí)間,一個(gè)穩(wěn)定的、可任意擴(kuò)展的、多線程高并發(fā)的 HTTP 服務(wù)器就完成了。該服務(wù)器處理 YSP 文件生成網(wǎng)頁(yè)傳給瀏覽器。

          YSP 是我設(shè)計(jì)的與 ASP、JSP 和 PHP 功能相似的一種網(wǎng)頁(yè)編程語(yǔ)言。YC 服務(wù)器執(zhí)行 YSP 文件中的內(nèi)嵌 C/C++ 或 JavaScript 代碼,生成 HTML 超文本傳給終端設(shè)備。工具做好后,不久便做出了管理系統(tǒng)的雛形,這個(gè)雛形在發(fā)布的 YC 編譯器中可見(jiàn)到。

          做了上述這些工作后,我想是時(shí)候該寫(xiě)本書(shū)介紹一下 YC 編譯器了,經(jīng)過(guò)一段時(shí)間編寫(xiě)的《YC編譯器—多語(yǔ)言程序設(shè)計(jì)》(暫名)即將出版。

          當(dāng)我把書(shū)完成后,便立即投入64位的C/C++和JavaScript編譯器的開(kāi)發(fā),目前開(kāi)發(fā)進(jìn)展順利,已進(jìn)入測(cè)試階段。

          編者后記:

          三年時(shí)間,可將一個(gè)呱呱落地的嬰兒變成蹦蹦跳跳的幼兒,可將一名懵懂的職場(chǎng)新人變成沉穩(wěn)的老兵。而楊曉兵團(tuán)隊(duì)沉下心,迎難而上,花費(fèi)三年又三年、再一年、兩年、四年的時(shí)間只為突破一個(gè)個(gè)技術(shù)難點(diǎn),最終自研出 YC 編譯器和 YC 瀏覽器內(nèi)核。

          在這過(guò)程中,楊曉兵坦言最大的挑戰(zhàn)不僅是技術(shù),還有思維的高度。這期間不僅有大量的研發(fā)工作,還為了優(yōu)化,多次重寫(xiě)代碼,讓他堅(jiān)持下來(lái)的是想為計(jì)算機(jī)軟件科學(xué)的發(fā)展做貢獻(xiàn)的匠心。

          目前楊曉兵團(tuán)隊(duì)正在開(kāi)發(fā) 64 位 C/C++ 編譯器,談及未來(lái),楊曉兵表示先在國(guó)內(nèi)推廣,再走向海外。祝福楊曉兵。

          YC編譯器傳送門(mén):http://www.ycbro.com


          TML編輯器是一種用于創(chuàng)建、編輯和預(yù)覽HTML(超文本標(biāo)記語(yǔ)言)代碼的工具或應(yīng)用程序。它提供了一個(gè)直觀的界面,使用戶能夠輕松地編寫(xiě)和設(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)稱(chēng)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)有多余的菜單和工具欄,更便于專(zhuān)注于代碼編輯。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快速編寫(xiě)和自動(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)編寫(xiě)代碼。除了可視化界面,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/


          主站蜘蛛池模板: 亚洲AV乱码一区二区三区林ゆな| 精品无码国产一区二区三区AV| 国产伦精品一区二区三区免费迷 | 国产成人精品久久一区二区三区av | 亚洲日韩AV一区二区三区中文 | 天堂资源中文最新版在线一区 | 婷婷亚洲综合一区二区| 亚洲Aⅴ无码一区二区二三区软件| 在线观看亚洲一区二区| 国产精品无码AV一区二区三区| 波多野结衣在线观看一区二区三区 | 亚洲一区二区高清| 精品一区二区三人妻视频| 人妻无码久久一区二区三区免费| 中文字幕在线无码一区| www.亚洲一区| 东京热人妻无码一区二区av| 日本精品夜色视频一区二区| 少妇人妻精品一区二区| 欧美成人aaa片一区国产精品| 无码精品尤物一区二区三区| 久久国产精品最新一区| 国产激情无码一区二区app| 日韩人妻无码一区二区三区久久99| 福利视频一区二区牛牛| 国产精品污WWW一区二区三区 | 精品福利一区二区三| 国产波霸爆乳一区二区| 亚洲成AV人片一区二区密柚| 国偷自产Av一区二区三区吞精| 激情内射日本一区二区三区| 国产精品无码AV一区二区三区| 久久国产精品视频一区| 亚洲日本va一区二区三区| 国内精品一区二区三区最新 | 无码av免费一区二区三区试看| 久久久av波多野一区二区| 日韩av片无码一区二区不卡电影| 色婷婷亚洲一区二区三区| 国产一区二区三区露脸| 日韩人妻无码一区二区三区综合部|