1、什么是全棧工程師?
全棧工程師簡單來說是全能型人才可很,能把服務(wù)器搭建完成诗力、能夠把數(shù)據(jù)庫建好、能夠?qū)憌eb程序等 一個人獨(dú)立完成
棧 是堆棧的棧
2我抠、棧的特點(diǎn):先進(jìn)后出苇本,后進(jìn)先出
??? * 全棧工程師的起點(diǎn)是安裝和部署環(huán)境
??? * 安裝數(shù)據(jù)庫
??? * 有一定的業(yè)務(wù)分析能力
??? * 針對業(yè)務(wù)進(jìn)行建模、建立數(shù)據(jù)庫表
??? * 寫web程序?qū)?shù)據(jù)庫進(jìn)行操作
??? * 混合APP開發(fā)模式
3菜拓、webAPP是指單純把網(wǎng)頁封裝成一個APP瓣窄,不具備調(diào)用原生APP的能力
要學(xué)習(xí)的知識有:OC、JAVA要會一點(diǎn)纳鼎, HTML5俺夕、JS必須會裳凸, PHP/JAVA選擇一種
4、全棧工程師是通往架構(gòu)師的起點(diǎn)
5劝贸、編程語言
?最原始的編程語言:機(jī)器語言
機(jī)器語言是用二進(jìn)制代碼表示的計算機(jī)能直接識別和執(zhí)行的一種機(jī)器指令的集合
6姨谷、匯編語言
在20世紀(jì)50年代產(chǎn)生的一種用于電子計算機(jī)、微處理器映九、微控制器或其他可編程器件的低級語言梦湘,亦稱為符號語言
7、C語言
20世紀(jì)60年代末期C語言和UNIX操作系統(tǒng)一起誕生氯迂,C語言和匯編語言比起來是高級語言践叠。
* 因?yàn)镃語言具有附庸性,寫好的語言在別的機(jī)器都可以編譯嚼蚀,一處編寫禁灼,到處編譯;而匯編語言不可以
* C語言有自己的函數(shù)轿曙,可以保存在函數(shù)庫里弄捕,以后用直接調(diào)用;和匯編比起來算是高級語言
* C語言又叫做結(jié)構(gòu)化的編程語言导帝,因?yàn)镃語言有了函數(shù)守谓,函數(shù)可以調(diào)用函數(shù),函數(shù)之間可以傳參數(shù)您单、有返回值斋荞,這樣代碼看起來更清晰、更有模塊化虐秦。
* 最重要的特點(diǎn) “抽象”
8平酿、c++語言
1. C++語言是一種優(yōu)秀的面向?qū)ο蟪绦蛟O(shè)計語言,它在C語言的基礎(chǔ)上發(fā)展而來悦陋,但它比C語言更容易為人們學(xué)習(xí)和掌握蜈彼。 C++以其獨(dú)特的語言機(jī)制在計算機(jī)科學(xué)的各個領(lǐng)域中得到了廣泛的應(yīng)用。 面向?qū)ο蟮脑O(shè)計思想是在原來結(jié)構(gòu)化程序設(shè)計方法基礎(chǔ)上的一個質(zhì)的飛躍俺驶,C++完美地體現(xiàn)了面向?qū)ο蟮母鞣N特性幸逆。
2. 語言只是把一個功能模塊封裝成一個函數(shù),只執(zhí)行一個特定的指令暮现,但是他解決不了日常生活中的問題还绘。
9、JAVA
1. Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言栖袋。 Java 技術(shù)具有卓越的通用性蚕甥、高效性、平臺移植性和安全性栋荸, 廣泛應(yīng)用于PC、數(shù)據(jù)中心、游戲控制臺晌块、科學(xué)超級計算機(jī)爱沟、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群匆背。
2. C和C++有一個弊端:有指針呼伸,需要人為去管理內(nèi)存的內(nèi)存的分配和釋放,這樣很容易出bug钝尸,會造成嚴(yán)重的后果括享。
比如“銀行”、“證券”等金融產(chǎn)業(yè)
3. C和C++所說的跨平臺并不是真正的跨平臺珍促,只是把源代碼在不同的機(jī)器上進(jìn)行編譯铃辖。 而Java是可以在一臺機(jī)器上寫代碼,寫好之后打包猪叙,然后可以在任何一臺裝有Java的機(jī)器上進(jìn)行使用娇斩,實(shí)現(xiàn)了真正意義上的跨平臺。
4. Java就是一個精簡版的C++穴翩,不用再去管內(nèi)存和指針了犬第,程序員犯錯的幾率就降低了,這也是Java打敗C++的原因芒帕。
10歉嗓、PHP
PHP,一個嵌套的縮寫名稱背蟆,是英文超級文本預(yù)處理語言(PHP:Hypertext Preprocessor)的縮寫鉴分。 PHP 是一種 HTML 內(nèi)嵌式的語言,PHP與微軟的ASP頗有幾分相似淆储,都是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言冠场,語言的風(fēng)格有類似于C語言,現(xiàn)在被很多的網(wǎng)站編程人員廣泛的運(yùn)用本砰。 PHP 獨(dú)特的語法混合了C碴裙、Java、Perl 以及 PHP 自創(chuàng)新的語法点额。它可以比 CGI 或者 Perl 更快速的執(zhí)行動態(tài)網(wǎng)頁舔株。 PHP最初是由勒多夫在1995年開始開發(fā)的;現(xiàn)在PHP的標(biāo)準(zhǔn)由the PHP Group維護(hù)还棱。PHP以PHP License作為許可協(xié)議载慈,不過因?yàn)檫@個協(xié)議限制了PHP名稱的使用,所以和開放源代碼許可協(xié)議GPL不兼容珍手。
11办铡、 Java被PHP打敗的原因
* 過度標(biāo)準(zhǔn)化
* 大量的預(yù)先設(shè)計
12辞做、函數(shù)式編程 Ruby
Ruby,一種為簡單快捷的面向?qū)ο缶幊?面向?qū)ο蟪绦蛟O(shè)計)而創(chuàng)的腳本語言寡具,在20世紀(jì)90年代由日本人松本行弘(Yukihiro Matsumoto)開發(fā)秤茅, 遵守GPL協(xié)議和Ruby License。它的靈感與特性來自于 Perl童叠、Smalltalk框喳、Eiffel、Ada以及 Lisp 語言厦坛。 由 Ruby 語言本身還發(fā)展出了JRuby(Java平臺)五垮、IronRuby(.NET平臺)等其他平臺的 Ruby 語言替代品。 Ruby的作者于1993年2月24日開始編寫Ruby杜秸,直至1995年12月才正式公開發(fā)布于fj(新聞組)放仗。因?yàn)镻erl發(fā)音與6月誕生石pearl(珍珠)相同,因此Ruby以7月誕生石ruby(紅寶石)命名亩歹。
?特點(diǎn):?使用更加方便
* 不要求提前設(shè)計好接口和類
* 減少勞動力匙监、
* 流式數(shù)據(jù)處理,通過編程環(huán)境來識別這句話的用意
* 針對人的思維模式的編程語言
* 電腦像人一樣思考
13小作、強(qiáng)類型經(jīng)常是靜態(tài)類型亭姥,動態(tài)類型不一定是弱類型。 區(qū)分語言類型是強(qiáng)類型還是弱類型看他的 數(shù)字123 和 字符串“123” 參與運(yùn)算的時候是否會有區(qū)別顾稀, 如果得到的是一個數(shù)字达罗,需要數(shù)字轉(zhuǎn)型,那他就是強(qiáng)類型静秆;
動態(tài)類型和靜態(tài)類型區(qū)別:動態(tài)類型 是聲明變量的時候不指定具體的類型粮揉; 靜態(tài)類型 在聲明變量的時候必須聲明變量的類型。
鏈?zhǔn)秸Z法 OC / jQuery $a().b().c().d(); 傳統(tǒng)的編程語言都可以寫成鏈?zhǔn)秸Z法抚笔,但是性能會特別差扶认。
Ruby是函數(shù)式編程語言,其他的指令式編程語言或命令式編程語言