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