20181021_ARTS_week17
第十七週,演算法題 Remove Element,看了一篇講用 WebWorker 處理非同步資料的文章,介紹了使用物件展開式來簡化呼叫函式時要省略的引數,分享了
Algorithm
/** * * Remove Element * https://leetcode.com/problems/remove-element/submissions/ * * @param {number[]} nums * @param {number} val * @return {number} */ var removeElement = function (nums, val) { if (nums.length == 0) return 0; var i = 0; for (var j = 0; j < nums.length; j += 1) { if (nums[j] != val) { nums[i] = nums[j] i += 1; } } return i }; console.log(removeElement([0,1,2,2,3,0,4,2], 2))
Review
Improving your Async functions with WebWorkers
ofollow,noindex" target="_blank">http://www.jstips.co/en/javascript/improving-your-async-functions-with-webworkers/?nsukey=pTemAsdIVo93vJEweycCfwgRUfqYH2JARg7OngZG%2FOytE6zZbEHiZuHMzBFl1Exnbk0L%2FucBrR9FydfXCrxjIFToZu%2Fvhh4L5CNILN7AWJ9halt5aXVNc8WXzYrHpqnnvYSdT5CO%2F5CiPCrOYj5pTQ%3D%3D
文中給出了一個使用 WebWorker 來處理非同步資料的例子,感覺還挺有參考價值的。
// my_worker.js const do_a_lot_of_processing = (data) => { .... } onmessage = (e) => { postMessage(do_a_lot_of_processing(e.data)); } // main.js const myWorker = new Worker('my_worker.js'); async function get_useful_data() { const raw_data = await request(some_url); myWorker.postmessage(raw_data); } const show_data => (e) { const data = e.data; ... } myWorker.onmessage(show_data); get_useful_data();
Tip
介紹一個 ES6 下呼叫方法有時候不填其中一個引數時的處理方法。
一般情況下,不填某個引數,就會報錯。
> method('parameter1', , 'parameter3'); Uncaught SyntaxError: Unexpected token ,
當然,這裡可以使用 null 來代替,其實更好的方法是使用物件展開式。
> method('parameter1', , 'parameter3'); Uncaught SyntaxError: Unexpected token ,
Share
最近在極客時間上《程式員進階攻略》專欄看了一篇文章,內容是講寫作方面的。其實我一直認為,基本的寫作能力是每個人都必須的。
老實說,看了一段時間這個專欄,感覺名不符實,專欄題目是程式設計師進階攻略,但是內容大多是偏向軟技能方面的,不是說軟技能不好,每個人都需要很多軟技能方面的東西,但既然題目是程式設計師進階,我期望的是更多程式員編碼設計等方面的進階。
誠然,軟技能是大多程式設計師晉升道路上必不可少的東西,可以理解為橫向的邊界拓展。 而編碼設計能力是縱向的能力拓展,這個才是程式設計師畢業後幾年需要提高的,然而這項能力的提升需要大量的實踐。
想通這點之後,似乎就可以理解為什麼這個專欄很多內容都是偏軟技能方面了,因為編碼這個硬技能很難通過幾篇文章講清楚,必須有大量的實踐與學習。想通過幾篇文章就有很大提高,不過是鏡中花水中月。
想通之後,也算修正了自己的期望,從軟技能的培養上看,這個專欄還是不錯的,另外也推薦一本書《程式碼整潔之道-程式設計師的職業素養》。
碎碎念
記錄一些所思所想,寫寫科技與人文,寫寫生活狀態,寫寫讀書心得,主要是扯淡和感悟。 歡迎關注,交流。
微信公眾號:程式設計師的詩和遠方
公眾號ID : MonkeyCoder-Life