標籤:

編程的思考 其一

編程的思考 其一

來自專欄 折木的筆記斷斷續續,也編程快兩年了。從一無所知的菜鳥,到現在,算是摸到了真正程序員的門檻吧。

其實小時候就很喜歡計算機,不過那時只是喜歡用來玩遊戲。因為社會輿論宣傳的網癮,當初還害怕過自己也會上癮。但目前為止的人生中,還沒有見過真正的網癮。所謂的網癮,不過是對現實的逃避,想逃避進自己理想的桃花源罷了。

那現在的自己,相比於工作之前的自己,到底有了哪些成長呢?

初登編程之道,誰也離不開那一句「Hello,Word」,當時看到窗口中真的列印除了Hello,World的欣喜,現在想起來也似乎能觸摸到當時的那種感覺。但直到目前為止,我都沒有能夠真正從頭到位清楚描述,那一句helloworld是通過計算機怎樣的處理才能顯示到屏幕上的。我直到的流程是,我們的寫的語言轉換成了彙編,然後再轉換成二進位執行文件,由操作系統去執行,然後就是我們學的微機原理的知識了,操作系統將要顯示的數據放入寄存器中,然後起本身去輪詢寄存器中內容來展示。也就是直到整個大概流程,但是細節的實現確是知之甚少。

現在的自己,不再像初時的自己一樣,花過多的時間於語言本身的學習上。編程語言本身都是圖靈等價的,並且現在的計算機都是馮諾依曼體系,所以語言本身並不會有太大的區別。雖然現在函數式編程慢慢流行起來,但是其實也不過是因為機器的成本越來越低,我們要選擇更適合我們本身思考的語言來進行編程,以提高我們的產出。

對整個互聯網運行的背後的技術原理有了一個相對清晰的輪廓。知道自己打開一個網頁的背後究竟發生了那些事情。我們請求一個網址,首先要去查詢DNS伺服器,作域名到IP地址的轉換,因為域名只是為了方便我們記憶,最終計算機要找尋到我們要請求的地址,是通過ip地址的,其實就像是名字與身份證號的關係,我們要唯一確定一個人的身份,還是通過身份證號來進行確定的。DNS返回對應的伺服器地址之後,我們就開始嘗試對伺服器進行連接。這時候路由定址就出廠了,即使知道了ip地址,又怎麼能夠在那麼大的世界,迅速找到那台對應的伺服器呢。因為ip地址本身就是32位,在同一個地區,前面的N位是相同的,就如同全國的郵政編碼一般,是有省市區的劃分的。【感覺路由定址背後的原理又是足足一本書了】。因為是Http連接,就不得不提到其中的三次握手了,其實就像是打電話剛開始可能會問對方聽得清楚么,確定聽得清楚之後再進行內容的傳輸。Http協議本身是無狀態的,什麼意思呢,就是正常情況下,你發兩次請求過來,Http協議本身並沒有辦法判斷出這兩次請求都來自於你。這就引出了cookies,在你第一次連接之後,伺服器本身給你返回一個值,以後你每次對這台伺服器(其實應該是域名)進行請求的時候,把這個值給帶上,伺服器就會知道是你在進行訪問了。最終當你不需要在訪問的時候,可以主動斷開連接,釋放伺服器資源。即使你不主動斷開,伺服器為了節省資源,也會在你一段時間無操作之後進行斷開的。

前端與後台的關係。前端主要是負責展示,以及處理不敏感的數據,後台的話,一是為了進行數據的同步,還有就是數據的安全。只有前端的話很容易被人修改和偽造數據。只有後台的話,數據又該以怎麼樣的方式出現在我們眼前呢?眼前是否還有那精美的網頁與APP呢?

詞不達意,看來自己還沒有真正能夠做到融匯貫通呢!不過,會一直堅持寫下去的!

推薦閱讀:

不太明白......[偶記]
學編程有前途嗎?
挑戰真正的編程能力 ——「 PHP挑戰賽 」下周開始
目前市場上,你用過的最好用的文本編輯器是什麼?
對於UiPath的初步了解

TAG:編程 |