20181202_ARTS_week23
本週演算法題 Length of last word;看了一篇講 ES6 結構以及應用場景的文章;分享使用 npm audit 來檢查專案中依賴的風險;分享了『程式員到一定年齡之後競爭力是什麼』的一點想法。
Algorithm
/** * @param {string} s * @return {number} */ var lengthOfLastWord = function (s) { s = s.trim(); let words = s.split(" "); return words[words.length - 1].length }; console.log(lengthOfLastWord("Hello World")) console.log(lengthOfLastWord("a "))
這個沒啥特別好說的,還是比較容易的,就是一開始要去掉頭尾的空格。
Review
ES6: Understanding the destructuring assignment syntax in Javascript
https://hackernoon.com/understanding-the-destructuring-assignment-syntax-in-javascript-c3bf8e1e908a
這篇文章講了 ES6 中解構語法的作用。
比如結構 object:
const car = { brand: 'ferrari', type: 'sportscar', horsepower: 600, wheels: 4 }; const { brand, type } = car; console.log(brand); // ferrari console.log(type); // sportscar
同時還介紹了一些使用場景:
const carFunction = ({ brand, engine: { horsepower, liters }}) => { return `${brand} with engine of ${horsepower} horsepower and ${liters} liters` } const car = { brand: 'ferrari', type: 'sportscar', engine: { horsepower: 600, liters: 4, fuel: 'gas' }, wheels: 4 }; console.log(carFunction(car)); // ferrari with engine of 600 horsepower and 4 liters
如果對解構語法不是很瞭解的話,推薦看看。
Tip
最近爆出了 npm 包 event-stream 被人惡意篡改,依賴中加入了惡意程式碼,而這些依賴程式碼會竊取使用者的數字貨幣。
嚴重的是 event-stream 被很多很多前端流行框架和庫使用,包括 Vue 的腳手架 vue-cli。
其實 npm 6 之後,有加入相關的支援。可以使用 npm audit
命令來檢查你的專案是否有風險。必要條件需要 package-lock.json
,如果專案裡面沒有這個檔案可以用 npm i --package-lock-only
來建立一個。
這個命令之後也會提示現有專案的依賴是否有什麼風險:
found 53 vulnerabilities (18 low, 20 moderate, 14 high, 1 critical) run `npm audit fix` to fix them, or `npm audit` for details
更多資訊可以看 npm 的文件 ofollow,noindex" target="_blank">https://docs.npmjs.com/auditing-package-dependencies-for-security-vulnerabilities
Share
最近在想一個問題:程式設計師到一定年齡之後競爭力是什麼?
當然,我現在也只有一點朦朦朧朧的想法,還不是很具體,也可能很一廂情願。
可能有人覺得競爭力是程式設計經驗,但是老實說,技術世界瞬息萬變,如果不努力學習,經驗很可能變成枷鎖。比如以前一直以為 Hibernate 會是 Java 語言和資料庫互動的第一選擇,然而不過幾年,MyBatis 的受歡迎程度已經遠遠超過了 Hibernate。
也有人覺得可能是學習能力,但是老實說,學習能力並不完全隨著年齡增長,甚至在一定年齡之後有太多東西讓你分心,家庭,孩子,父母,自己的身體等等,你能投入學習的時間精力也會被壓縮。衝勁往往也比不過一些年輕人了。
到最近因為一些事情,讓我開始有一點朦朧的想法,我覺得有可能是產品力。 可能很多人會覺得我就寫好程式碼,產品的事情產品做就好了。其實不然,如果你只悶頭寫程式碼,只是一個完成需求的機器,也就是真正的碼農。
而正因為你年紀大了,經歷的產品多了,用過的產品多了,同時也懂技術,有眼界有視野,這樣往往能有一些特別的想法,不再僅僅侷限於一個程式設計師,而是能圍繞整個產品有想法,這種能力不是年輕努力就能達到的,一定程度上說,也是有獨特競爭力的。
暫時也只有這種朦朧的想法,還是要繼續去思考。
碎碎念
記錄一些所思所想,寫寫科技與人文,寫寫生活狀態,寫寫讀書心得,主要是扯淡和感悟。 歡迎關注,交流。
微信公眾號:程式設計師的詩和遠方
公眾號ID : MonkeyCoder-Life