# 筆記
## 安裝環境概要
課后配置環境
## 學會學習筆記(markdown)
1.文本編輯軟件:Atom是githup開源的的一個編輯器,也是一個很好的markdown編輯器。成為
一個合格的軟件開發者第一個要學會編寫文檔
2.Atom支持markdown的編輯和渲染
3.markdown操作演示
## 全棧工程師
1.簡單點說是全能型人才,一個人可以把服務器搭建起來,數據庫建好,寫web程序連接數據
庫,包括網頁+ios,Android客戶端,一個人都能把這些搞定的我們叫做全棧工程師
## 全棧工程師需要做什么?
從安裝配置部署環境起——>部署web開發環境——>安裝數據庫——>分析業務建模——>建數據庫表——>
寫web程序連接數據庫進行對數據庫增刪改查——>進行與前端連接
### 前端分為兩類
1.客戶端需要Android和ios 2.網頁端程序需要html,css ,和js,兩者結合起來為混合app
開發模式。
#### 原生app程序:
Android使用java ,ios使用oc
弊端:開發周期慢,成本高,app更新每次都需要向各個應用商店提交審核。
#### 混合app開發:
原生app開發(調用藍牙等硬件功能調用全部用oc或者java編寫,然后封裝一個sdk)+網頁app
開發
#### 全棧工程師需要技能:
數據庫,服務器端,本地存儲,本地API,網頁,綜合技術應用.
## 編程語言
機器語言:是0101二進制代碼它與硬件電路相關
匯編語言:直接通過英文單詞給機器下指令,經過編譯器解析后,直接生成機器碼
高級語言:從C開始 c++? java等
C與Unix同時出現,C語言特點是一處編寫,到處編譯,C語言是結構化的編程語言
匯編語言:可移植性差
建模: 針對現實生活中的事或者物進行抽象
java面向對象核心觀點:排除干擾信息,只掌握核心信息
C++和C弊端:指針,指針要人為去管理,指針要管理內存的分配和釋放 指針操作失誤就會產生
嚴重后果并且不是真正的跨平臺,只是可以在不同機器上編譯,而Java在一臺機子上寫代碼并
且編譯好并打包,放到其他裝有Java的機子上就能用,有了JVM實現了真正的跨平臺
Java特點:一處編譯到處運行
java和C++對比:java不會內存泄漏,Java內存分配釋放由jvm管理,減輕了程序員的工作量
php比java更效率,框架方便簡單。
Ruby是完全面向對象的:任何一點數據都是對象,包括在其他語言中的基本類型(比如:整數,布
爾邏輯值),每個過程或函數都是方法。
強類型是靜態類型
動態類型未必是弱類型
以前所有語言都叫指令式或者命令式語言