為什麼寫這個教程? 最近在學C++,翻了幾次菜鳥教程後,想寫個項目練練手。之前瞭解過ngrok,一個內網穿透工具,簡單講就是在內網中部署自己的服務,通過這個工具,可以讓公網上的用戶訪問到服務。 之前看了部分源碼,想把自己的一些優化想法用C實現一下,所以斷斷續續花了2個多月寫了C版本的CProxy。 ...
0、編程入門
1、概述
電腦包括硬體和軟體兩部分。
硬體:可看見的物理部分;
軟體:看不見的指令。
程式設計
定義:開發軟體。
應用場景:淘寶、京東等軟體。
程式設計語言
幫助開發軟體的工具。如:Java
如何選擇程式設計語言
- 語言有多種,都有專門的用途。
- 沒有”最好“的語言,均有長處和短處。
- 經驗豐富的程式員知道各種語言擅長的應用場景,會竟可能的掌握多種語言。
- 掌握一種語言後,更易上手其他的編程語言。
- 關鍵是使用程式設計方法解決問題。
2、電腦硬體介紹
馮諾依曼體繫結構
電腦硬體介紹-中央處理器
中央處理器(CPU):由控制單元和算術/邏輯單元組成。是電腦的大腦。從記憶體中獲取指令,然後執行這些指令。
- 控制單元:控制 和 協調 其他組件的動作;
- 算術/邏輯單元:數值運算 和 邏輯比較。
CPU內部時鐘:運算速度,單位GHz。如:AMD Ryzen 5 2600 3.40Ghz。
1G=1024M 1M=1024K 1K=1024
CPU核心:多核可提高處理能力。
IT定律之電腦行業發展規律
- 摩爾定律:每隔18個月CPU性能翻倍,而價格不變。
- 安迪-比爾定律:微軟會吃掉硬體提升帶來的好處,迫使用戶購買新機。
- 反摩爾定律:同一CPU的價格會在18個月後減半。
電腦硬體介紹-存儲設備
記憶體速度快,但斷電後數據會丟失,因此需要將數據保存在存儲設備,需要時再調用。
存儲設備(ROM):硬碟、光碟、U盤。(曾有 軟盤 ,為電腦本有的A盤和B盤)。
電腦硬體介紹-記憶體
比特(bit)和位元組(byte)
- 電腦是一系列的電路開關。每個開關存在兩種狀態:關(0)和開(1);
- 一個0或1存儲為一個比特(bit),是電腦的最小存儲單位;
- 1位元組(byte)= 8比特(bit),是電腦的最基本存儲單元;
- 換算進位:1GB=1024MB ,1MB=1024KB,1KB=1024B。(註:B是位元組(byte)的縮寫,1B=8)
記憶體(RAM,Random-Access Memory):有一組有序的位元組序列組成,用於臨時存儲 程式 及 數據 。
- 一個程式和他的數據在被CPU執行之前,必須先移動到記憶體中。因為慢速的硬碟無法滿足快速的CPU運行速度,需要速度較快的記憶體做中介。
- 記憶體容量有限且斷電會清除數據,需要硬碟保存數據。
- 每個位元組都有一個唯一的地址,用來確定位元組的位置,以便存儲和獲取數據。
電腦硬體介紹:輸入和輸出設備
常見的輸入設備:鍵盤、滑鼠
常見的出書設備:顯示器、印表機
顯示器屏幕解析度:是指顯示設備水平和垂直方向上顯示的像素(px)數。如720p,1080p,解析度越高,圖像越銳化、越清晰。
電腦硬體介紹:通信設備
電腦可以通過通信設備進行聯網。
3、電腦發展史上的鼻祖
阿蘭·圖靈:電腦之父 和 人工智慧之父;“用有限的指令和有限的空間可算進一切可算之物”。
馮·諾依曼:電腦之父 和 博弈論之父;“數字電腦的數制採用二進位;電腦應該按照程式順序執行“。
4、操作系統
- 操作系統(Operating System)是運行在電腦上最重要的程式,他可以管理和控制電腦的活動。
- 主要任務:
- 控制和監視系統的活動
- 分配和調配系統資源
- 調度操作
5、萬維網
- 萬維網(World Wide Web,www,環球信息網)簡稱Web,發明者蒂姆·伯納斯·李;
- 分為 web客戶端 和 web伺服器 ;
- web客戶端 (常用瀏覽器)訪問 web伺服器 上的頁面;
- 所有資源被分配一個全局“統一資源標識符“(URI)表示;
- 超文本傳輸協議(Hypertext Transfer Protocol)傳輸資源。
註:互聯網>網際網路>萬維網
6、職業發展與提升
總體分為三條線:管理線、技術線、創業線
7、學習經驗探討
- 邊學邊做筆記
- 看得懂,練的熟