2017年1月13日 星期五

windows7 ie edge 無法使用devtool

第一次發生時跟隨錯誤指示一一下載所需的東西又重開機超多次,搞到惱怒

第二次同事提供下載IE11-Windows6.1-KB3008923-x64,直接安裝就好了,備份用

https://www.microsoft.com/en-us/download/details.aspx?id=45154

2017年1月6日 星期五

2017年,學習清單

JavaScript全攻略:克服JS的奇怪部分

Build Enterprise Applications with Angular 2

Learning Data Structures in JavaScript from scratch

Angular 2 and NodeJS - The Practical Guide to MEAN Stack 2.0

Accelerated ES6 JavaScript Training

ES6 Javascript: The Complete Developer's Guide

Vue JS 2 - The Complete Guide (incl. Vuex)

Pre-Programming: Everything you need to know before you code

Essential Angular(電子書): https://leanpub.com/essential_angular



在Udemy手滑刷了7個課程,還不確定要怎麼進行,2017年加油!


parentNode

今天有一段code:

var parents = a.parentNode.parentNode.parentNode.parentNode;

被唸說parentNode太長了...

查了一下pur js有沒有類似jquery的closest,結果是沒有的...還是自刻個func


reference: How to find and access parent nodes via JavaScript

Find the closest ancestor element that has a specific class

[疑惑] 陣列遍歷: while vs for 迴圈,逗幾?

我看了while迴圈後,覺得他比for還要易寫
但我卻很少見人這樣寫(應該是公司裡很少看到)

Javascript Performance: While vs For Loops

前幾篇是說while比較快,而最後一篇2016年的補充是指for比較快並且指出要考慮可讀性

疑惑是用while可讀性比較差嗎?

這篇也說while比較不好懂: JavaScript Best Practice Part.2: Performance




怎样快速而优雅地遍历 JavaScript 数组

這篇寫得還滿詳細的,有幾種遍歷的方式
他的第一組for-in未優化的代碼1裡我在某次面試有遇過
我記得面試官有提到若是Array的prototype有被改過會出問題(印象中是這種說法)

參考這篇: Why is using “for…in” with array iteration a bad idea?



不過以上文章都太久以前了,應該要再看看新一點的文章

延伸閱讀: The for Loop vs. forEach in JavaScript

如何判斷變數不是null

原則上就兩種寫法,有人問這兩種哪個是最佳實務

if (!myvar){}

或是

if (myvar !== null){}


第一種寫法可行的原因是因為null是falsy value雖然不是false,但在判斷時會被認為是false
以下幾個都是falsy value:

  • null
  • undefined
  • 0
  • "" (the empty string)
  • false
  • NaN

看似都可以判斷是不是null,但其實有點不同,
第一種是判斷是true或false,所以上述falsy value的情況都會被視為是false
而第二種只確認變數是不是null,所以根據題目的問法,單純只判斷是不是null,第二種比較正確


2016年8月4日 星期四

isPageObj is not a function


isPageObj is not a function 嘛...看到這種錯誤都有點頭痛,
因為isPageObj並不是知名library裡的function
單純只是公司其他同事寫的東西

發生原因是因為公司主站使用了公司自己寫的framwork,有其搭配的library
但目前其他站都不是使用這個framwork,兩者引用的外部library檔非常不同
今天我的任務是要用公司的framwork來開發其他站,
而當我正在視探性的把主站使用的library用到其他站後出現了這個問題

在google "is not a function"一番後常見的有jquery conflict會有類似的問題,或像是哪個library順序錯誤之類的
隱約記得出現is not a function雖然紅線或是重點會放在isPageObj這個字詞上
但印象中會出問題的是他前面一個東西

以這次例子是_.isPageObj,直覺應該是那個_出問題
於是就先設中斷點在isPageObj所在的function裡,然後就看_跟live的code有沒有不一樣
果然就看到在dev裡的_是underscore的東西,而live裡的_是我們公司自己framework的東西
所以最後去看header,主站的確沒有再使用underscore等其他library了,而我眼殘沒看到,所以移掉後就成功了了




==============
昨天突然遇到一個以前遇過的問題,但自認為是很白癡的議題所以一直沒筆記下來,
但再次遇到時還是不禁需要一點時間再回想...早知道就寫下來了
或是像之前每天與selenium為伍,但開發完後過一陣子再回來摸時,竟然非常陌生,當初還覺得已經熟到不會忘了...

2015年6月30日 星期二

[Selenium][散知識][恍神] 奇妙的出錯,請看看測試資料有沒有小錯誤

昨測試時出現個奇妙的bug
我的所有測試資料都寫成陣列,而第一筆一直出錯,第二筆確沒事
當時本來猜測是因為特殊字元的關係嗎?還是我寫的test不夠正確?
就這樣反覆debug了約一個下午

今早一來公司再看了一下,原來是我的第一筆資料裡面藏了一個空格!!!!!!
畢竟我當初是複製貼上的方式,可能在copy整段文字時連同後方的空格也複製了
這真的有點難看到,其實原本從噴出來的錯誤應該也可以看得到
但實在太微小了,當初只有檢查到底整段字有哪裡跟實際的畫面有不一樣,卻沒注意到後方有一個小空格

因為第二個測試是要base在前一個畫面有成功轉換才會成功
但沒道理第二個成功了,第一個卻失敗,這表示頁面是有成功轉換的,但卻說找不到element
原本是朝向我是不是錯用了elementlocated,初期寫test也常常在這裡出錯

萬惡的空格阿~~~