摘要:年,甲骨文公司收購升陽微系統公司,成為旗下產品。隨著的不斷成熟,它也逐漸用于更多大規模網站和應用,比如維基百科和等網站。例如維基百科已于年正式宣布將從遷移到數據庫。
很早很早的時候,computer這個東西習慣于被稱之為計算機,因為它的主要功能是完成一些科學計算的東西,我記得自己鼓搗它的時候,就是計算,根本就沒有想到它有早一日還可以用來做別的。后來另外一個名字“電腦”逐漸被人們接收了,特別是網絡發展起來之后,computer這個東西,如果要不上網,簡直就不知道干什么。而且,現在似乎還有一個趨勢,越來越強化網絡的作用,而本機的功能雖然硬件在提升,可以做的事情感覺不多了。
不管怎么,網絡是離不開了。上網,連上網之后干什么呢?就是要登錄某某網站。不是聯網之后自動的網上內容就涌進自己的計算機,而是要操作一下那個瀏覽器,輸入網址,打開某個網站的頁面,才能得到我們要看的內容。所以,網絡上,必須有網站,才能讓別人來看。上網——看網頁,這是發生頻率非常高的動作。
那么這里就涉及到網站。網站是誰做的呢?這是廢話,人做的。只不過這里的人可能是給某個公司打工的,也可能是類似個體戶的。
網站怎么做呢?做法很多啦。有直接用html網頁寫的,有用別的什么開源系統做的,等等。
從本講開始,我和列位看官就來看看,用python怎么做一個網站。
維基百科對網站有如下描述:
網站組成網站(英文:Website)是指在互聯網上,根據一定的規則,使用HTML等工具制作的用于展示特定內容的相關網頁的集合。簡單地說,網站是一種通信工具,就像布告欄一樣,人們可以通過網站來發布自己想要公開的信息,或者利用網站來提供相關的網絡服務。人們可以通過網頁瀏覽器來訪問網站,獲取自己需要的信息或者享受網絡服務。世界上第一個網站由蒂姆·伯納斯-李創建于1991年8月6日。
網站是由兩大部分組成,一是服務器,二是程序。
服務器,是硬件部分。如果看官有條件,可以自己購買服務器,然后自己建立機房或者托管到什么信的機房等等,這樣擁有了自己的服務器啦。當然,要不少銀兩的。如果銀兩不足,就可以用省錢的方法,購買某公司所提供的服務器空間,因為市場經濟帶來的好處,總有人會想到不是人人都自己買得起服務器的,也不是人人都有必要自己買服務器的。但是,如果還要做網站,自己又不擁有服務器怎么辦?所以,有人就做這個生意,出租他自己的服務器的一部分空間給我們這些窮人,這樣就雙贏了,窮人只要有技術,就可以很低的代價在網上擁有自己的網站,富人(出租服務器的)也能夠通過出租收租金啦。就好比租房子的人和房東的關系一樣。當然,這樣做的結果就是必須要跟別人共同租用一個服務器,如果自己多帶帶租一個,價格就又貴了。
如果,我是說如果,如果你做的網站不打算放到網上讓別人隨時看(有這樣的嗎?那不是白做了嗎?有!而且很多,比如我的網站還沒有做好,我就不讓別人看),這時候還可以將自己的電腦當做一個服務器,在自己的電腦上發布自己的網站,自我欣賞,必要時把把旁邊人拉到顯示器前面看看吧。很自戀啦。(在自己的電腦發布的網站,其實也能夠通過互聯網被人看到,就是需要一點小小的技術來發布了,這個不是重點,本教程不講,需要者可以google或者聯系我。)
看官和我在后續的學習中,用的服務器就是自己的電腦啦。我們都是喜歡自戀的。
另外一部分就是服務器里面裝的軟件部分,通常所說的網站,更多的是指這個部分。一般來講,這個部分是比較復雜的,因為網站不同,而有很多不同的程序。但是,不管什么網站,都得有一個讓別人看的界面,這就是一個網頁,或者說,只要有一個網頁了,它就可以做為一個網站發布出去。
那么就出現了一種比較簡單的網站,就是由一些網頁組成,而且,這些網頁僅僅是用html代碼寫成的(或者用html網頁編輯工具,有圖文形式的,就可以編輯網頁),回想我最早做的那個網頁,就是純粹用html代碼寫的。這樣寫出來的網頁,用行話說是“靜態的”。意思就是指它不允許用戶和網站有什么交互,只是讓別人看。比如看客手欠,非要搜索什么東西,對不起,網站不提供此功能。這種網站現在比較少了。
如果要增加交互功能,怎么辦?那就要有處理用戶向網站提交的信息的程序了。這樣,網站就多了一部分,行話常說是“后端”,對應前面說的那個直接展示給看客的叫做“前端”。“后端”所做的事情就是處理“前端”用戶提交的信息,然后給用戶一個反饋。這樣就交互起來了。
此外,為了將網站上的數據保存起來,通常會用到一個叫做“數據庫”的東西(這個不是必須的,有的網站就沒有數據庫,有的網站用別的方式存儲數據,比如文本等),數據庫主要是存儲某些數據,讓網站的后端和前端從這里將某些數據讀出來,顯示給看官,或者將看官提交的某些數據存進去,以便以后使用。
數據庫是計算機行業中的一個專業門來,看官有興趣,可以在這個行業中深入,公司里面有個職位:DBA,就是干這個的。
數據庫,簡單來說是本身可視為電子化的文件柜——存儲電子文件的處所,使用者可以對文件中的數據運行新增、截取、更新、刪除等操作。
數據庫管理員 (英語:Database administrator,簡稱DBA),是負責管理數據庫的人。數據庫管理員負責在系統上運行數據庫,執行備份,執行安全策略和保持數據庫的完整性。因為管理數據庫是個很龐大的職務,每個公司或組織的數據庫管理員的需要也是很不同。一個大公司可能有很多數據庫管理員,但是一個小公司可能也沒有數據庫管理員,而讓系統管理員管理數據庫。
綜合以下,一般來講,網站應該是這樣的:
為了寫一個漂亮的前端,一般都要用CSS和JavaScript,但是,本教程中,因為不是專門講授這些,所以,涉及到前端的時候,就不用CSS和JavaScript了,這樣的一個惡果就是界面相當丑陋。請看官忍受吧。
在控制端,就是前面說的后端,僅適用一種語言:Python。這是本教程的終極目的,如何用Python做網站。
數據庫,我選用MySQL,關于這個數據庫有很多傳說。例如維基百科上這么說:
MySQL(官方發音為英語發音:/ma? ??skju???l/ "My S-Q-L",1,但也經常讀作英語發音:/ma? ?si?kw?l/ "My Sequel")原本是一個開放源代碼的關系數據庫管理系統,原開發者為瑞典的MySQL AB公司,該公司于2008年被升陽微系統(Sun Microsystems)收購。2009年,甲骨文公司(Oracle)收購升陽微系統公司,MySQL成為Oracle旗下產品。
MySQL在過去由于性能高、成本低、可靠性好,已經成為最流行的開源數據庫,因此被廣泛地應用在Internet上的中小型網站中。隨著MySQL的不斷成熟,它也逐漸用于更多大規模網站和應用,比如維基百科、Google和Facebook等網站。非常流行的開源軟件組合LAMP中的“M”指的就是MySQL。
但被甲骨文公司收購后,Oracle大幅調漲MySQL商業版的售價,且甲骨文公司不再支持另一個自由軟件項目OpenSolaris的發展,因此導致自由軟件社區們對于Oracle是否還會持續支持MySQL社區版(MySQL之中唯一的免費版本)有所隱憂,因此原先一些使用MySQL的開源軟件逐漸轉向其它的數據庫。例如維基百科已于2013年正式宣布將從MySQL遷移到MariaDB數據庫。
不管怎么著,MySQL依然是一個不錯的數據庫選擇,足夠支持看官完成一個相當不小的網站。
至于服務器空間,就放在自己的電腦上吧。
從數據庫開始數據庫是我們要做的網站的一個基礎,我在這里不演示不用數據庫的情況,因為那種玩具網站,雖然講授簡單,但是看官總是有點暈乎,距離真實的環境差距太大了,既然學,就學點真的。
從現在開始,就進入網站建設的進程。
安裝MySQL你的電腦不會天生就有MySQL,它本質上也是一個程序,需要安裝到電腦中。
如果看官跟我一樣,用的是ubuntu操作系統,可以用下面的方法(我相信,用ubuntu的一定很少,不過,如果看官要成為一個優秀的程序員,我還是推薦使用這個操作系統,或者別的LINUX發行版。哈哈)。
第一步,在shell端運行如下命令:
sudo apt-get install mysql-server
這樣,看官的電腦上就已經安裝好了這個數據庫。當然,當然,還要進行配置。
第二步,配置MySQL
默認的MySQL安裝之后根用戶是沒有密碼的,看官注意,這里有一個名詞“根用戶”,其用戶名是:root。運行:
$mysql -u root
在這里之所以用-u root是因為我現在是一般用戶(firehare),如果不加-u root的話,mysql會以為是firehare在登錄。注意,我在這里沒有進入根用戶模式,因為沒必要。一般來說,對mysql中的數據庫進行操作,根本沒必要進入根用戶模式,只有在設置時才有這種可能。
進入mysql之后,會看到>符號開頭,這就是mysql的命令操作界面了。
下面設置Mysql中的root用戶密碼了,否則,Mysql服務無安全可言了。
mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456";
注意,我這兒用的是123456做為root用戶的密碼,但是該密碼是不安全的,請大家最好使用大小寫字母與數字混合的密碼,且不少于8位。
以后如果在登錄數據庫,就可以用剛才設置的密碼了。
除了上面的安裝過程,看官如果用的是別的操作系統,可以在google上搜索相應的安裝方法,恕我不在這里演示,因為我只能演示在ubuntu上的安裝流程。不過,google會幫你解決安裝遇到的問題。
運行mysql安裝之后,就要運行它,并操作這個數據庫,建立一個做網站的基礎。我這樣來運行數據庫:
qw@qw-Latitude-E4300:~$ mysql -u root -p Enter password:
輸入數據庫的密碼,之后出現:
Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 373 Server version: 5.5.38-0ubuntu0.14.04.1 (Ubuntu) Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type "help;" or "h" for help. Type "c" to clear the current input statement. mysql>
看到這個界面內容,就說明你已經進入到數據里面了。接下來就可以對這個數據進行操作。例如:
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | carstore | | cutvideo | | itdiffer | | mysql | | performance_schema | | phpcms | | phpcms2 | | pushsystem | | sipras | | test | +--------------------+
用這個命令,就列出了當前mysql已經有的數據庫。
除了這種用命令行形式對數據庫進行操作之外,還有不少可視化方式操作數據庫的工具。這里也不作介紹,有興趣的請google。不過,我喜歡命令行。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/37404.html
摘要:我的決定是學人工智能,當時對這個比較感興趣。從機器學習學到深度學習再學回機器學習。面試,成功地去公司從事機器學習深度學習方面的基礎工作。這個系列不僅僅以學習為目的,目的是為了達到機器學習的工作入門標準。 每個字都是經驗所得,都是站在一個零基礎的人的角度寫的,純手打+網上優秀資源整合,希望大家能每個字都認真看。 接下來文章會側重在以下幾方面 1、零基礎如何進行人工智能的自學(以找工作為目...
摘要:我的決定是學人工智能,當時對這個比較感興趣。從機器學習學到深度學習再學回機器學習。面試,成功地去公司從事機器學習深度學習方面的基礎工作。這個系列不僅僅以學習為目的,目的是為了達到機器學習的工作入門標準。 每個字都是經驗所得,都是站在一個零基礎的人的角度寫的,純手打+網上優秀資源整合,希望大家能每個字都認真看。 接下來文章會側重在以下幾方面 1、零基礎如何進行人工智能的自學(以找工作為目...
閱讀 1817·2021-11-18 13:21
閱讀 1953·2021-10-18 13:30
閱讀 1539·2021-10-12 10:13
閱讀 906·2021-10-09 09:43
閱讀 5413·2021-09-22 15:13
閱讀 3583·2021-08-11 10:22
閱讀 935·2019-08-30 13:46
閱讀 3519·2019-08-30 13:21