2017年8月9日 星期三

MySQl Error: Data too long for text column


近期站台在塞資料時,
 MySQL 拋出以下錯誤:

Error Message:
Data too long for column 'xxxx' at row 1

發現要塞 80k 資料進 text 型別的欄位失敗了!
看來是跟 MSSQL 的設計不同 ( 我是從 MSSQL 遷徙過來的 )
為了得到正確的觀念,查了一下 MySQL TEXT 欄位的定義
原來 MySQL 還有對 Text 再做細分,如下:

      Type | Maximum length
-----------+-------------------------------------
  TINYTEXT |           255 (2 8−1) bytes
      TEXT |        65,535 (216−1) bytes = 64 KiB
MEDIUMTEXT |    16,777,215 (224−1) bytes = 16 MiB
  LONGTEXT | 4,294,967,295 (232−1) bytes =  4 GiB

以後要用 TEXT 欄位,還是要多注意實際情況選擇正確的型別囉!

2017年8月8日 星期二

讀書心得:如何設計好網站


近期一直困擾著什麼樣的操作方式對 user 才是好的,

之前一直覺得好不好用應該問使用者,
請使用者提出一些意見或想法,
但使用者幾乎不可能提出什麼好的想法,
亨利福特曾說:如果當年去問顧客要什麼,他們肯定會回答我:給我一匹更快的馬

所以找看看有沒有什麼幫助的書,
找到了這本覺得不錯,分享給各位

書名:如何設計好網站:Dont Make Me Think
ISBN:9789863750086


簡單分享一下心得:

  1. 別讓 user 動腦去想
    • 這絕對也是最重要的易用性規則,不用動腦就知道怎麼用,就對了
  2. 使用者看網頁,是用掃視、矇著用的
    • 使用者上網站,大致掃一遍網頁,看到有興趣的就點進去,不會從頭到尾看完的
  3. 省略不必要的贅字
    • 作者建議一段文字,先篩選掉 1/3 後,再篩選掉 1/3,這樣就差不多了
  4. 麵包屑很重要,讓 user 知道人在何處
  5. 每頁都應該有固定的地方,可以回到首頁
    • 如:左上方的 logo,當user迷路時,可以有重新開始的機會
  6. 易用性測試
    1. 場地:二間會議室
    2. 參與人員:受測者,陪測者,觀測者
      1. 受測者,作者建議不要找相關領域,因為是不是相關領域根本不重要,
      2. 專家級的使用者,不會介意多幾個清楚的說明
    3. 週期:一個月一次
      1. 如:每月第四週星期三上午
    4. 什麼時候開始測?
      1. 開發前就可以開始測
      2. 建立簡單的雛型就可以測
      3. 沒有雛型,那就測競爭對手的網站
    5. 情境:
      1. 聘請相關或不相關領域的受測者,進行功能操作,
        會有一名陪測員說明系統及測試的任務,如:建立版型,版型發佈等等,
      2. 陪測員不能刻意引導受測者
      3. 受者測操作時,需大聲說出目前的想法,如:怎麼這麼難用!
      4. 在測試的 pc 上安裝螢幕分享軟體(含使用者的聲音、滑鼠位置等等),
        同步給另一間會議室的主管、RD相關人等觀察
      5. 觀察者在觀察時,同步記綠發現的問題,並將紀錄到的問題排列優先順序( 投票等等 ),
        ps:可能會有異想不到的發現喔!
      6. 處理的問題量及難度,要可以在下次測試前改完,不可太多
  7. 利用易用性測試,擺脫討論不完的爭論
    • 例如:在勾選某類型資料時,要使用下拉選單還是 checkbox list,
    • 這種每個人都有不同的經驗及偏好,這是爭論不完又浪費時間的;


當然還有其他細節我沒有提到,有興趣的話,可以看看這本書囉!

2017年8月2日 星期三

Gmail Error handling: 5.5.1 Authentication Required


透過 Gmail SMTP 發信,卻遇到以下錯誤訊息:

Gmail Error :The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required

原因:
因為 google 會檢查帳戶平時的使用狀態並做一些保護機制,平時登入地點是在固定地方,但若今天帳戶要設定在 VM 上,而 VM 在別的區域,那 google 會判定帳戶有風險,於是會鎖住登入的那台 server,並拋出這個 exception

解決方式:
在被鎖住的 server ,透過網頁登入 gmail,此時 gmail 會問你一些安全性問題,進行設定後,即可正常收發信件了!

reference: https://stackoverflow.com/questions/20906077/gmail-error-the-smtp-server-requires-a-secure-connection-or-the-client-was-not