国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

后端知識(shí)點(diǎn)總結(jié)——NODE.JS基礎(chǔ)

Freeman / 2692人閱讀

摘要:后端知識(shí)點(diǎn)總結(jié)基礎(chǔ)不是是一種軟件開(kāi)發(fā)平臺(tái),它的競(jìng)爭(zhēng)對(duì)象歷史第一次有一種語(yǔ)言可以通吃前后端網(wǎng)站阿里云鏡像版本年初年中年底最新版本功能強(qiáng)大可靠,適合大型企業(yè)級(jí)項(xiàng)目簡(jiǎn)單易用適合互聯(lián)網(wǎng)項(xiàng)目易用適合平臺(tái)性能好適合服務(wù)器端密集型項(xiàng)目不適合密集型項(xiàng)目密集

后端知識(shí)點(diǎn)總結(jié)——NODE.JS基礎(chǔ) 1.Node.js
 Node.js不是JS,是一種軟件開(kāi)發(fā)平臺(tái),它的競(jìng)爭(zhēng)對(duì)象JSP/PHP/ASP.NET,歷史第一次有一種語(yǔ)言可以通吃前后端.
 網(wǎng)站:阿里云鏡像
 https://npm.taobao.org/mirrors/node/
 版本:0.12(16年初)  4.x(16年中)  6.x(16年底)
 LTS:Long Term Support
 Current:最新版本
 
   

JSP = HTML+JAVA 功能強(qiáng)大可靠,適合大型企業(yè)級(jí)項(xiàng)目
PHP = HTML+PHP 簡(jiǎn)單易用,適合互聯(lián)網(wǎng)項(xiàng)目
ASP.NET = HTML+C# 易用,適合windows 平臺(tái)

       30w==2w+0.5w+20w+10w

Node.JS = HTML+”JS” 性能好,適合服務(wù)器端IO密集型項(xiàng)目,

                     不適合CPU密集型項(xiàng)目

CPU密集項(xiàng)目:滴滴打車,天氣預(yù)報(bào),大數(shù)據(jù)分析,大數(shù)據(jù)計(jì)算..
IO密集項(xiàng)目:查詢,修改,刪除,

2.Node運(yùn)行的兩種方式

(1)交互模塊---簡(jiǎn)單了解(測(cè)試新功能)
REPL:輸入一行代碼執(zhí)行一行
注意:交互模自帶輸出功能,不必一定要 console.log()
node 回車 進(jìn)入交互模式
.exit 退出

(2)腳本模塊—正式項(xiàng)目中使用

  把要執(zhí)行所有語(yǔ)句編寫(xiě)一個(gè)文本文件中(后綴任意,沒(méi)有),一次性提交node解析器執(zhí)行.
  node 完整路徑/x.js 回車
  提交:只要安裝成node.js,重啟webstorm,ws可以自動(dòng)發(fā)現(xiàn)node.exe解析,
  新的項(xiàng)目和文件編寫(xiě)一定UTF-8


3.nodejs中特有概念—模塊---(重點(diǎn))

一個(gè)項(xiàng)目中多個(gè)”模塊”,訂單模塊,用戶模塊,支付模塊....

     node.js按照功能,可以把函數(shù),對(duì)象分別保存不同文件或目錄下,
     這些目錄和文件在node.js稱為一個(gè)“模塊”
     04_node.js  05.js 
  ##注意:Node.JS每個(gè)一個(gè)模塊都是一個(gè)獨(dú)立構(gòu)造函數(shù),
    Node.JS解析器自動(dòng)為每一個(gè).js文件添加如下代碼.
    (function(exports,require,module,__filename,__dirname){
         exports:{} 用于聲明向外部導(dǎo)出自己成員
         require:fn 用于導(dǎo)入其它的模塊,并且創(chuàng)建指定模塊對(duì)象
         module: 當(dāng)前模塊對(duì)象
         __filename
         __dirname

var i = 10;

         var j = 11;
         console.log(i+j);

});

4.Node.js 模塊中exports和module.exports對(duì)象區(qū)別是什么?

二者都可以用于向外導(dǎo)出自己內(nèi)部成員,
但:實(shí)際向外導(dǎo)出成員 module.exports
exports 對(duì)應(yīng)一個(gè)引用

   每個(gè)模塊都可以使用自己require();引入另一個(gè)模塊—底層本質(zhì)是創(chuàng)建指定模塊一個(gè)對(duì)象實(shí)例.
   08_data.js  聲明二個(gè)變量一個(gè)函數(shù) ->導(dǎo)出一個(gè)變量一個(gè)函數(shù)
   09_app.js   引入

5.nodejs 模塊-目錄模塊

自定義模塊的兩種形式
(1)文件模塊

  創(chuàng)建一個(gè)JS文件,如m3.js,導(dǎo)出其公開(kāi)數(shù)據(jù),
  其它模塊可以require("./m3");引入

(2)目錄模塊

   方式一:創(chuàng)建一個(gè)目錄,假設(shè)m4,其中創(chuàng)建index.js文件,導(dǎo)
          出需要公開(kāi)數(shù)據(jù)。其它模塊引入
          var m = require(“./m4”);
   方式二:創(chuàng)建一個(gè)目錄,假設(shè)m5,其中創(chuàng)建5.js文件,導(dǎo)出需要
         公開(kāi)數(shù)據(jù)數(shù)據(jù),創(chuàng)建package.json文件 main指定啟動(dòng)

文件 5.js 其它模塊引入

   var m = require(“./m5”);
   方式三:創(chuàng)建一個(gè)目錄,必須名為 node_modules 
   ,其中再創(chuàng)建目錄模塊,假設(shè) m6 其中創(chuàng)建 package.json
   文件,其中聲明 main屬性指定默認(rèn)執(zhí)行啟動(dòng)js,如6.js,
   其中導(dǎo)出需要公共數(shù)據(jù),其它模塊引入
   require(“m6”);
   
    
          
文件模塊    目錄模塊(方式三)

程序結(jié)構(gòu) m1.js node_modules

    m2
   package.json
   2.js

模塊名稱 m1 m2
導(dǎo)出數(shù)據(jù) module.exports module.exports
導(dǎo)入模塊 var m = require(“./m1”); var m = require(“m2”);

6.Node.js 解析引擎自帶 原生模塊—Buffer(緩沖區(qū))

Buffer:緩沖區(qū),本質(zhì)上是一塊內(nèi)存區(qū)域,用于暫存以后要用到數(shù)據(jù)
(數(shù)字,字符串,二進(jìn)制圖片/音頻/視頻),該區(qū)域稱為“緩存”

分配置一個(gè)指定大小緩沖區(qū) 1024字節(jié)

建議:緩沖區(qū)大小不超過(guò) 512KB 512*1024

var buff1 = Buffer.alloc(1024);
使用一個(gè)數(shù)組創(chuàng)建緩沖區(qū)
var buff2 = Buffer.from([1,2,3]);
使用一個(gè)字符串創(chuàng)建緩沖區(qū)

var buff4 = Buffer.from(“abc”);

將一個(gè)緩沖區(qū)內(nèi)容轉(zhuǎn)換字符串{如果緩沖區(qū)數(shù)據(jù)是字符串}

var str = buff4.toString();

Node.js 原生模塊—QueryString

 querystring模塊用于處理HTTP請(qǐng)求URL中查詢字符串
 var obj = qs.parse(str);   把查詢字符串解析js對(duì)象
 var str = qs.stringify(obj) 把js對(duì)象轉(zhuǎn)換為查詢字符串
 

Node.js 原生模塊—URL

url模塊用于解析一個(gè)HTTP請(qǐng)求地址,獲取其中各個(gè)部分
var obj = url.parse(str); 把一個(gè)URL地址為js對(duì)象
var obj = url.parse(str,true); 功能同上,并且把其中查詢字符串轉(zhuǎn)換

                      js obj

Node.js 原生模塊—fs—(重點(diǎn))

文件:在node.js 我們系統(tǒng)文件或者目錄統(tǒng)稱為文件
fs 模塊提供對(duì)文件和目錄進(jìn)行,增刪改查,讀定文件內(nèi)容
(1) 同步讀寫(xiě)文件(阻塞)

同步讀取文件內(nèi)容 var data = fs.readFileSync(fileName); 同步向文件寫(xiě)內(nèi)容 fs.writeFileSync(fileName,data);

注意:(1)如果當(dāng)前寫(xiě)入文件并不存在,自動(dòng)創(chuàng)建一個(gè)

  a.txt
  (2)如果當(dāng)前寫(xiě)入目錄并不存在,報(bào)錯(cuò)
  d:/abc/a.txt
  (3)如果當(dāng)前文件己經(jīng)存在內(nèi)容,清空
同步向文件追加內(nèi)容

fs.appendFileSync(fileName,data);

(2) 異步讀寫(xiě)文件(非阻塞)

異步讀取數(shù)據(jù) fs.readFile(fileName,function(err,data){ });
           函數(shù):文件讀取完成后調(diào)用
           err:讀取文件不存在,權(quán)限不足,
           自動(dòng)創(chuàng)建錯(cuò)誤對(duì)象 
     #異步寫(xiě)數(shù)據(jù)    fs.writeFile(fileName,data,function(err){})
                    函數(shù):文件寫(xiě)結(jié)束調(diào)用
     #異步追加數(shù)據(jù)  fs.appendFile(fileName,data,function(err){})
                    函數(shù):文件追加結(jié)束

Node.js 原生模塊--http

HTTP 模塊可用于編寫(xiě)基于HTTP協(xié)議客戶端程序(即瀏覽器),也可以編寫(xiě)一個(gè)基于HTTP協(xié)議服務(wù)器(APACHE)
APACHE[1000并發(fā)量] nginx[28000] IIS[微軟](méi)

用http模塊編寫(xiě)一個(gè)web服務(wù)器

(1)創(chuàng)建服務(wù)器對(duì)象        var server  = http.createServer();
(2)綁定監(jiān)聽(tīng)端口 1-65535  server.listen(3000);
(3)接收客戶端請(qǐng)求,      server.on(“request”,(req,res)=>{..})
(4)并且響應(yīng)客戶消息      res.end(str...);

req:請(qǐng)求對(duì)象:保存客戶端請(qǐng)求消息
req.url 請(qǐng)求url地址

res:響應(yīng)對(duì)象:服務(wù)器發(fā)送數(shù)據(jù)客戶端,修改響應(yīng)格式

三個(gè)常用對(duì)象:
(1) server 代表服務(wù)器對(duì)象

(2) req (request)請(qǐng)求對(duì)象,保存客戶端很多信息
req.url 客戶請(qǐng)求地址
req.method 客戶請(qǐng)求方式
req.httpVersion HTTP版本
req.headers 請(qǐng)求頭

(3) res (response)響應(yīng)對(duì)象,保存服務(wù)器端向客戶發(fā)送數(shù)據(jù)
res.statusCode = 200;
res.setHeader(); 設(shè)置響應(yīng)頭
res.write(); 向客戶端輸入響應(yīng)消息主體
res.end(); 通知客戶端,響應(yīng)消息結(jié)束(只能一次)
常見(jiàn)錯(cuò)誤:程序端口被占用
listen EADDRINUSE :::3000
解決:查找前面程序停止即可

11.node.js 第三方模塊 (mysql/express)

使用node.js訪問(wèn)mysql服務(wù)器

為了精簡(jiǎn)NODE.JS解析器,官方?jīng)]有提供訪問(wèn)任何數(shù)據(jù)庫(kù)相關(guān)模塊,

必須使用工具 npm 下載第三方模塊,在www.npmjs.org 搜索關(guān)鍵字
Mysql 可以得到相關(guān)模塊,每個(gè)模塊使用說(shuō)明.

示例:下載
npm install mysql  簡(jiǎn)寫(xiě)  npm i mysql

mysql模塊使用步驟
(1)復(fù)制模塊 node_modules day03根目錄下
(2)加載mysql模塊 const mysql = require(“mysql”);
(3)創(chuàng)建到數(shù)據(jù)庫(kù)服務(wù)器連接

                      var conn = mysql.createConnection({})

(4)發(fā)送sql語(yǔ)句并且獲取服務(wù)器返回結(jié)果

               conn.query(sql,(err,result)=>{});

(5)關(guān)閉連接 conn.end();

12.nodejs第三方模塊express (重點(diǎn))

下載express 模塊
npm i express http高級(jí)模塊
npm i body-parser 處理post請(qǐng)求
npm i cookie-parser 處理cookie
npm i express-session 處理session
npm i cors 跨域

express模塊
使用官方提供HTTP模塊可以創(chuàng)建一個(gè)web服務(wù)器應(yīng)用,但此模塊
非常底層,要處理各種情形,比較繁瑣。推薦使用HTTP高層模塊,
express—第三方模塊,是一個(gè)基于node.js http模塊的高層模塊,簡(jiǎn)化
服務(wù)器端開(kāi)發(fā)。
(1) 下載模塊 npm i express
(2) 將模塊內(nèi)容復(fù)制項(xiàng)目中 day04/node_modules
(3) 加載相應(yīng)模塊 http/express
(4) 創(chuàng)建express對(duì)象,再創(chuàng)建服務(wù)器對(duì)象,并且綁定監(jiān)聽(tīng)端口
var app = express();
var server = http.createServer(app);
server.listen(3000);

常規(guī)語(yǔ)法規(guī)則:
app.get(請(qǐng)求地址,回調(diào)函數(shù));

接收客戶請(qǐng)求 GET /index.html

app.get(“/index.html”,(req,res)=>{});

接收客戶請(qǐng)求 POST /index.html

app.post(“/index.html”,(req,res)=>{});

示例:
以前:login.php 參數(shù) 數(shù)據(jù)庫(kù) json

$.get(“l(fā)ogin.php”,…..);

現(xiàn)在:app.get(“/login.do”,(req,res)=>{

 參數(shù) 數(shù)據(jù)庫(kù) json

});
$.get(“/login.do”…..);

13.express req和res對(duì)象

res.sendFile(__dirname+文件絕對(duì)路徑); =fs.read+res.write+res.end
res.send(向客戶端返回html字符串響應(yīng));
res.json(obj); =setHead()+JSON.parse()+res.write()+res.end()

express GET 請(qǐng)求 接收參數(shù)二種方法
#GET /login.do?uid=10&uname=tom
app.get(“/login.do”,(req,res)=>{

//express為每一個(gè)req對(duì)象添加屬性query
req.query.uid;
req.query.uname;

});

GET /login.do/12/tom

app.get(“/login.do/:uid/:uname”,(req,res)=>{
//express 為每個(gè)req對(duì)象添加一個(gè)params 屬性
req.params.uid
req.params.uname
});

14.為了項(xiàng)目提高效率?創(chuàng)建連接池

(1)創(chuàng)建連接池
var pool = mysql.createPool({…}); host;user;password;
connectionLimit:5 連接池中活動(dòng)連接5個(gè)
建議范圍:5~25
1億(PV/1day)= 8小時(shí)=28800秒=10-100=34/s
100000000/28800/100=
(2)所有應(yīng)用程序 租連接
pool.getConnection((err,conn)=>{
});
(3)歸還連接 conn.release();

15.請(qǐng)求方式:HTTP協(xié)議
  請(qǐng)求方法:用于標(biāo)識(shí)此次請(qǐng)求的目的
  GET    表示客戶端想”獲得”指定資源
  POST   表示客戶端想”上傳/添加”指定數(shù)據(jù)給服務(wù)器,

請(qǐng)求數(shù)據(jù)在請(qǐng)求主體中

  PUT    表示客戶端想”放置”數(shù)據(jù)在服務(wù)器
  DELETE 表示客戶端想”刪除”服務(wù)器上指定資源
16.發(fā)送請(qǐng)求

瀏覽器發(fā)送GET請(qǐng)求

   地址欄輸入url回車/表單GET/AJAX GET/超鏈接/js跳轉(zhuǎn)/img src
 瀏覽器發(fā)送POST請(qǐng)求
   表單POST/AJAX POST
 瀏覽器發(fā)送DELETE請(qǐng)求
   AJAX-DELETE
 瀏覽器發(fā)送PUT請(qǐng)求
   AJAX-PUT
  

項(xiàng)目:{跨域}
兩臺(tái)web服務(wù)器 {nodejs 服務(wù)器業(yè)務(wù)功能}

              {apaceh 服務(wù)器接收請(qǐng)求響應(yīng)html靜態(tài)資源}

一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器 {數(shù)據(jù) mysql服務(wù)器}

擴(kuò)展思路與知識(shí)儲(chǔ)備

注意事項(xiàng):
如果客戶端跨域請(qǐng)求服務(wù)器資源為了保存session工作正確
需要在ajax請(qǐng)求添加屬性
xhrFields:{withCredentials:true}

17.項(xiàng)目瓶頸:數(shù)據(jù)庫(kù)

原理:數(shù)據(jù)庫(kù)中數(shù)據(jù)保存在磁盤(pán)上的某一組文件
解決一:提供SQL查詢效率

     SELECT uid,uname,age FROM xz_user;
     數(shù)據(jù)庫(kù)對(duì)象:索引 提高查詢效率[select];

降低更新效率[update/delete/insert]

     什么項(xiàng)目用:索引 查詢多更新少
     索引為什么快:工作原理
     美團(tuán)快遞:送餐{死心眼}  數(shù)據(jù)庫(kù)默認(rèn)工作方式
     美團(tuán)快遞:送餐{機(jī)靈}   
      ALTER TABLE xz_user ADD INDEX (uname)
      SELECT uid FROM xz_user WHERE uname = “tom”;
      400w-?沒(méi)有加索引之前 查詢一條記錄 2s
      400w->加索引之后      查詢一條記錄 0.00002s

解決二:主從數(shù)據(jù)庫(kù)服務(wù)器{一個(gè)服務(wù)器負(fù)責(zé)寫(xiě)數(shù)據(jù)<主>}

                      {多個(gè)從服務(wù)器負(fù)責(zé)讀數(shù)據(jù)<從>}

解決三:內(nèi)存級(jí)數(shù)據(jù)庫(kù)服務(wù)器{NOSQL} 極高數(shù)據(jù)讀寫(xiě) Redis

      數(shù)據(jù)庫(kù)讀寫(xiě)速度太高->數(shù)據(jù)庫(kù)壓力太大{出問(wèn)題} cpu 100%
      社區(qū):php/mysql    在線人數(shù)   t_online   2 服務(wù)器down
      $phpcount = 1;  ->redis ++ --  效率很好
      

tts:學(xué)生登錄 8:45~9:30 ->mysql?Redis

      微博/微信    微博[點(diǎn)贊]   120 Redis

(2)提高項(xiàng)目{PV Page View} 高性能服務(wù)器/頁(yè)面靜態(tài)化
Nginx/

(3)安全角度

 SQL   注入       node.js  ?
 XSS   攻擊 腳本  oa[報(bào)銷/申請(qǐng)辦公用品/審批]  [確認(rèn)]
                  document.all.readonly = true
 過(guò)濾用戶所有輸入值/所有危險(xiǎn)字符串判斷
 DDOS 攻擊 向某個(gè)網(wǎng)站發(fā)送大量垃圾 防火墻
 解決:網(wǎng)店->天貓->阿里云   6G/s

(4)數(shù)據(jù)分析數(shù)據(jù)挖掘(大數(shù)據(jù)/人工智能)

18.中間件-(路由級(jí)中間件)

1.Express 是一個(gè)自身功能極簡(jiǎn),完全是中間件構(gòu)成web框架
從本質(zhì)上講一個(gè)express應(yīng)用就是由中間件組成系統(tǒng).

2.中間件(Middleware)是一個(gè)函數(shù),它可以訪問(wèn)請(qǐng)求對(duì)象和響應(yīng)對(duì)象
(req request,res response),可以控制請(qǐng)求-響應(yīng)流程,有一個(gè)參數(shù)
next變量 下一個(gè)中間件

3.中間件功能包括
執(zhí)行任何代碼
修改請(qǐng)求和響應(yīng)對(duì)象
終結(jié)請(qǐng)求-響應(yīng)循環(huán) [攔載器]
調(diào)用下一個(gè)中間件

4.中間件分類
應(yīng)用級(jí)中間件(*)
路由級(jí)中間件(*)
錯(cuò)誤處理中間件
內(nèi)置中間件

5.標(biāo)準(zhǔn)語(yǔ)法
app.use(url,(req,res,next)=>{

});
url:攔載地址(觸發(fā)地址)
req:請(qǐng)求對(duì)象
res:響應(yīng)對(duì)象
next:調(diào)用下一個(gè)中間件或路由

6.路由中間件
路由 = 請(qǐng)求方法+請(qǐng)求地址+處理函數(shù)
示例: app.get(“/list”,(req,res)=>{…})

語(yǔ)法

var router = express.Router();   //創(chuàng)建路由中間件對(duì)象
router.get(“/find”,(req,res)=>{});

router.post(“/list”,(req,res)=>{});
module.exports = router;

app.use(“/user”,router);

http://127.0.0.1:3000/user/find
http://127.0.0.1:3000/user/list

(1)創(chuàng)建三個(gè)路由文件
router/userRouter.js 保存所有用戶功能
router/orderRouter.js 保存所有訂單功能
router/productRouter.js 保存所有產(chǎn)品功能

app.js
var userRouter = require(“./router/userRouter”);
var orderRouter = require(“./router/orderRouter”);
var productRouter = require(“./router/productRouter”);

app.use(“/user”,userRouter);
app.use(“/order”, orderRouter);
app.use(“/product”, productRouter);

http://127.0.0.1:3000/user/list
http://127.0.0.1:3000/order/list

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/94158.html

相關(guān)文章

  • node技術(shù)棧 - 收藏集 - 掘金

    摘要:異步最佳實(shí)踐避免回調(diào)地獄前端掘金本文涵蓋了處理異步操作的一些工具和技術(shù)和異步函數(shù)。 Nodejs 連接各種數(shù)據(jù)庫(kù)集合例子 - 后端 - 掘金Cassandra Module: cassandra-driver Installation ... 編寫(xiě) Node.js Rest API 的 10 個(gè)最佳實(shí)踐 - 前端 - 掘金全文共 6953 字,讀完需 8 分鐘,速讀需 2 分鐘。翻譯自...

    王偉廷 評(píng)論0 收藏0
  • 最近學(xué)到的前后端分離知識(shí)

    摘要:文本已收錄至我的倉(cāng)庫(kù),歡迎前后端分離這個(gè)詞相信大家都聽(tīng)過(guò),不知道大家是怎么理解的呢。流下不學(xué)無(wú)術(shù)的淚水目前我了解到的前后端分離,首先部署是分離的至少不會(huì)跟綁定在一起部署接口只返回?cái)?shù)據(jù)關(guān)于前端這幾大框架這幾個(gè)我都是沒(méi)有寫(xiě)過(guò)的,所以也就不多了。 前言 只有光頭才能變強(qiáng)。文本已收錄至我的GitHub倉(cāng)庫(kù),歡迎Star:https://github.com/ZhongFuCheng3y/3y ...

    MoAir 評(píng)論0 收藏0
  • 本命年一定要記得穿紅褲衩:2015年總結(jié)

    摘要:年終總結(jié)結(jié)果到這個(gè)時(shí)間才寫(xiě),其實(shí)也是無(wú)奈。這一年最重要的事情就是順利從一只學(xué)生狗轉(zhuǎn)職為一只社畜。四月份畢業(yè)之后以前端工程師的職位入職天貓,到現(xiàn)在也差不多工作一年了。 年終總結(jié)結(jié)果到這個(gè)時(shí)間才寫(xiě),其實(shí)也是無(wú)奈。本來(lái)計(jì)劃過(guò)年寫(xiě)的,沒(méi)想到Steam竟然開(kāi)了個(gè)農(nóng)歷春節(jié)特惠,然后就被各種游戲打了,辣雞平臺(tái),斂我錢(qián)財(cái),頹我精神,耗我青春,害我單身 以下全都是個(gè)人看法,如果有不認(rèn)同的地方,請(qǐng)大吼一聲...

    AlienZHOU 評(píng)論0 收藏0
  • 本命年一定要記得穿紅褲衩:2015年總結(jié)

    摘要:年終總結(jié)結(jié)果到這個(gè)時(shí)間才寫(xiě),其實(shí)也是無(wú)奈。這一年最重要的事情就是順利從一只學(xué)生狗轉(zhuǎn)職為一只社畜。四月份畢業(yè)之后以前端工程師的職位入職天貓,到現(xiàn)在也差不多工作一年了。 年終總結(jié)結(jié)果到這個(gè)時(shí)間才寫(xiě),其實(shí)也是無(wú)奈。本來(lái)計(jì)劃過(guò)年寫(xiě)的,沒(méi)想到Steam竟然開(kāi)了個(gè)農(nóng)歷春節(jié)特惠,然后就被各種游戲打了,辣雞平臺(tái),斂我錢(qián)財(cái),頹我精神,耗我青春,害我單身 以下全都是個(gè)人看法,如果有不認(rèn)同的地方,請(qǐng)大吼一聲...

    xi4oh4o 評(píng)論0 收藏0
  • 前端架構(gòu)師親述:前端工程師成長(zhǎng)之路的 N 問(wèn) 及 回答

    摘要:?jiǎn)栴}回答者黃軼,目前就職于公司擔(dān)任前端架構(gòu)師,曾就職于滴滴和百度,畢業(yè)于北京科技大學(xué)。最后附上鏈接問(wèn)題我目前是一名后端工程師,工作快五年了。 showImg(https://segmentfault.com/img/bVbuaiP?w=1240&h=620); 問(wèn)題回答者:黃軼,目前就職于 Zoom 公司擔(dān)任前端架構(gòu)師,曾就職于滴滴和百度,畢業(yè)于北京科技大學(xué)。 1. 前端開(kāi)發(fā) 問(wèn)題 大...

    crossoverJie 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

Freeman

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<