一般來說,我們的網(wǎng)頁代碼編程都是基于一定的規(guī)則來完成編寫的,而大部分的情況下我們采用也是utf的編輯規(guī)則。下面,昭通電腦培訓就通過案例分析來了解一下服務器開發(fā)可以使用哪些編碼規(guī)則。
創(chuàng)新互聯(lián)主營龍勝網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,app軟件開發(fā),龍勝h5成都小程序開發(fā)搭建,龍勝網(wǎng)站營銷推廣歡迎龍勝等地區(qū)企業(yè)咨詢
服務器開發(fā)適用哪些編程開發(fā)規(guī)則
那么什么是編碼?什么是UTF-8?
我們都知道,計算機使用0和1來存儲文本。比如字符“C”被存成“01000011”,那么計算機在顯示這個字符時需要經(jīng)過兩個步驟:
計算機讀取“01000011”,得到數(shù)字67,因為67被編碼成“01000011”。
計算機在Unicode字符集中查找67,找到了“C”。
同樣的:
我的電腦將“C”映射成Unicode字符集中的67。
我的電腦將67編碼成“01000011”,并發(fā)送給Web服務器。
幾乎所有的網(wǎng)絡應用都使用了Unicode字符集,因為沒有理由使用其他字符集。
Unicode字符集包含了上百萬個字符。簡單的編碼是UTF-32,每個字符使用32位。這樣做簡單,因為一直以來,計算機將32位視為數(shù)字,而計算機在行的就是處理數(shù)字。但問題是,這樣太浪費空間了。
UTF-8可以節(jié)省空間,在UTF-8中,字符“C”只需要8位,一些不常用的字符,比如“”需要32位。其他的字符可能使用16位或24位。一篇類似本文這樣的文章,如果使用UTF-8編碼,占用的空間只有UTF-32的四分之一左右。
MySQL的“utf8”字符集與其他程序不兼容,它所謂的“”,可能真的是一坨
MySQL簡史
為什么MySQL開發(fā)者會讓“utf8”失效?我們或許可以從提交日志中尋找答案。
MySQL從4.1版本開始支持UTF-8,也就是2003年,而今天使用的UTF-8標準(RFC3629)是隨后才出現(xiàn)的。
舊版的UTF-8標準(RFC2279)多支持每個字符6個字節(jié)。2002年3月28日,MySQL開發(fā)者在一個MySQL4.1預覽版中使用了RFC2279。
同年9月,他們對MySQL源代碼進行了一次調(diào)整:“UTF8現(xiàn)在多只支持3個字節(jié)的序列”。
是誰提交了這些代碼?他為什么要這樣做?這個問題不得而知。在遷移到Git后(MySQL開始使用的是BitKeeper),MySQL代碼庫中的很多提交者的名字都丟失了。2003年9月的郵件列表中也找不到可以解釋這一變更的線索。
隨著Internet編程技術的不斷發(fā)展,越來越多的大學畢業(yè)生加入了Web開發(fā)行業(yè)中,我們都知道Web開發(fā)需要使用css進行定位和布局。下面,昭通北大青鳥帶大家來看看如何編寫css代碼。
前端系統(tǒng)的變化可以描述為每天都在變化。在短短的一年時間里,理論,框架,構建工具甚至開發(fā)語言都發(fā)生了巨大的變化。隨著新項目即將開始,我花時間審查了上一個項目的前端架構。我已經(jīng)產(chǎn)生了很多想法,我將盡可能地記錄它們以準備新的框架。
一、OOCSS(面向?qū)ο蟮腃SS)
OOCSS的使用主要有兩個原則,一種是分離結構和外觀,其中主要包括分離容器和內(nèi)容。OOCSS主要基于對象的編程方法,OOCSS的目的主要是支持代碼的復用,最終保證樣式能很好的進行添加和維護。OOCSS也存在一些缺點,它主要適合大型網(wǎng)站的開發(fā)項目,因為大型網(wǎng)站的可重用性組件非常多,在運行小項目的時候沒有非常好的才、效果,所有在選擇的時候應該根據(jù)項目的情況進行選擇。
二、BEM(塊元素修飾符)
BEM是一個名為命名約定的CSS。它不涉及如何編寫CSS的結構。在進行電腦培訓的過程中,電腦培訓建議僅為每個元素添加具有以下內(nèi)容的CSS類名稱。在BEM模式下,它看起來很麻煩且冗余,但每個CSS類名稱都能夠很好地描述出它的作用。與LESS或SASS結合使用時,會降低其寫入復雜度。
三、規(guī)則文檔
很多人更加傾向于關注大方面并忘記了細節(jié),一份定義明確的規(guī)則文檔能夠提醒我們根據(jù)需要進行編寫代碼。一份好的規(guī)則文件應遵循以下規(guī)范:其中需要包含不可變規(guī)則,而不是一般描述需要始終將規(guī)則細化為最簡單的表達式,首先解釋規(guī)則是什么,然后說“如果沒有,那會發(fā)生什么?并且昭通昭通北大青鳥認為每條規(guī)則必須包含以下單詞之一-始終,從不,僅,每個,不需要。
四、綜合方案
就如開頭的介紹,BEM的簡單使用并沒有解決我們在項目中遇到的問題,反而還會產(chǎn)生其他的新的問題,但這不是BEM的責任。IT培訓認為作為前端架構的重要組成部分,CSS主要是需要為項目選擇出合適的解決方案,而不是因為它在業(yè)界很受歡迎而使用它。
java項目一般都是團隊開發(fā),當多人共同編寫一個項目的時候。代碼的整合就需要用到專門的源碼管理工具了。另外java項目版本的不斷更新,也需要版本的管理。所以源碼管理與版本控制工具也是每個java程序員必須要熟練掌握的。目前比較流行的java版本控制工具主要有svn、git這兩款軟件。昭通北大青鳥認為這兩種工具也是每個java程序員必須要熟練掌握的。
SVN
SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統(tǒng),相較于RCS、CVS,它采用了分支管理系統(tǒng),它的設計目標就是取代CVS?;ヂ?lián)網(wǎng)上很多版本控制服務已從CVS遷移到Subversion。說得簡單一點SVN就是用于多個人共同開發(fā)同一個項目,共用資源的目的。SVN的缺陷是過分依賴網(wǎng)絡,不適合分布式開發(fā)。
使用svn的工作流程如下:1、早上從從服務器下載項目組最新代碼。
2、進入自己的分支,進行工作,每隔一個小時向服務器自己的分支提交一次代碼(很多人都有這個習慣。因為有時候自己對代碼改來改去,最后又想還原到前一個小時的版本,或者看看前一個小時自己修改了哪些代碼,就需要這樣做了)。
3、下班時間快到了,把自己的分支合并到服務器主分支上,一天的工作完成,并反映給服務器。
Git
Git是一個開源的分布式版本控制系統(tǒng),可以有效、高速的處理從很小到非常大的項目版本管理。
Git是LinusTorvalds為了幫助管理Linux內(nèi)核開發(fā)而開發(fā)的一個開放源碼的版本控制軟件。與常用的版本控制工具CVS,Subversion等不同,它采用了分布式版本庫的方式,不必服務器端軟件支持(ps:這得分是用什么樣的服務端,使用http協(xié)議或者git協(xié)議等不太一樣。并且在push和pull的時候和服務器端還是有交互的。),使源代碼的發(fā)布和交流極其方便。
目前GIT已經(jīng)可以在windows下使用,主要方法有二:msysgit和Cygwin。Cygwin和Linux使用方法類似,Windows版本的GIT提供了友好的GUI(圖形界面),安裝后很快可以上手使用。