ModernWeb 2021 與會隨筆(10/12~10/15)

Modern Web 2021 共筆

10/13

依照古法、純手工打造的視訊聊天網站,不純免錢!/

  • GitHub 範例程式碼

  • 確認是否有在線上:long polling or websocket(比較建議用後者)

  • 取得麥克風和鏡頭權限:MediaDevices.getUserMedia()

  • 用 WebRTC 傳送串流資料:socket.io

    • Signal Server:peer.js。Signal Sever 的作用類似媒人婆,介紹雙方的資訊(Session Description Protocol,SDP,紀錄 IP、agent、decode、encode 等資訊),雙方認識後就讓他們點對點直接溝通,不必再透過媒人婆溝通

    • 如果是內網 IP,會透過 NAT(Network Address Translation)轉成 public IP

    • STUN(Simple Traversal of UDP over NATs)、處理不同網路的連線(via TURN server):不知道這兩個是啥,暫且搜尋到這篇介紹:明辨STUN/TURN協定 輕鬆跨越NAT建立連線



10/14:測試

八個沒人告訴你的網頁自動化測試挑戰/ 林佳妤(Melo)

    主要針對 code less 的工具而言(用螢幕錄製的方式製作 test case),例如 Selenium IDE

  1. 測試「滑鼠滑過元件後要發生指定變化」,錄製時會錄到非目標的「mouse over」事件。解一:選擇目標 mouse over。解二:調整敏感度

  2. 按鈕被別的東西擋住,使用者按不到,但測試按得到,造成測試通過,但其實功能不合格。解:verify visibility

  3. 如何確認按鈕已經 disable?

      有 HTML 和 CSS 兩種方法可以 disable 按鈕,檢查是否有使用其中一種方法

    • HTML:disable 屬性

    • CSS: 解一:用 get computed style 計算 pointer-events 屬性(需要比較多程式背景知識)。解二:verify css(code-less)

  4. 在某些網頁,播放後輸入值沒有寫進 input 欄位。解:sendKey 後下 blur 指令(unfocus input 欄位)

  5. sendKey 和 editContent 的差別:前者比較像是模擬使用者用鍵盤操作,後者是編輯元素的 innerHTML

  6. code less 工具如何避免重複的操作(例如測試某些功能之前都要先登入)。解:單獨錄製 login,然後在需要登入的測試中 include login,就可以重複使用 login,而不需每次都做一個新的 login

  7. 擷取元素更多屬性

    • storeElement:把一個元素存到變數裡,用變數存取屬性

    • storeElements:把符合條件的元素(可以不只一個)存到陣列裡。可取得元素原生屬性(HTML、CSS),其他屬性可能無法取得

  8. Viewport 大小 vs. Window 大小。前者不包括瀏覽器的側邊欄、分頁欄、書籤欄等等,RWD 建議測 Viewport 比較準,因為不同瀏覽器 Viewport 比例可能不同。


做 A/B Testing 好難,你有試過 Google Optimize 嗎?/ 賴學誠(Kyo)

  • 好的 A/B Testing,每次變量只有一個

  • 體驗 -> 分析 -> 改善 -> 體驗 的循環

  • Google Optimize 原理:把修改的部分存一份在 google 那裡,符合條件的使用者會去 google 那裡抓回來套用在客戶端。所以不用改產品的原始碼,也可以做 A/B Testing

  • Mod Header 無法模擬區域限制,要用 VPN


API 開發、測試、除錯一次到位!使用 MSW 深入淺出 Mock API/ Yuri



10/15:資安

接觸資安才發現前端的水真深/ 胡立(Huli)


機智踩雷生活/ PD Lee

  • 駭客年會第一屆地下網管二十年(駭客友善年代)

  • Apt 攻擊(客製化的攻擊) => 沒有 total solution

  • Incident Response(被入侵後要怎麼辦):修補漏洞、保留數位證據(上法庭用)

  • 什麼是紅隊演練

  • 資安驗收方法

    • OWASP top ten:用這個作為驗收標準是不夠的,攻擊不只最熱門的這十種,而且舊的攻擊手法也要防範

      OWASP testing guide:要用這個作為驗收標準才對

    • 白箱檢測比較建議用在開發階段

    • 紅隊檢測是檢查整個網路環境,比較不適合用在驗收單一系統

    • 滲透測試:若能找到厲害的滲透測試人員,則能做完整檢測。但成本高,通常只用在重大系統的驗收

  • EditThisCookie - chrome extension

Comments

Popular posts from this blog

Alpha Camp 全端開發課程學習心得

在 javascript 用 regular expression 為金額加上千位數分隔符號

shop_platform - sqlalchemy.exc.TimeoutError