ICT 每周速報(Week 35, 2021)

Willis WAN, Chun Yu | 2021-09-03

🖊 本周重點

  • 兩大網絡公司共同建立跨海電纜
  • Stack Overflow 21 年調查:邊種程式語言最值得學?
  • 大部分公司預期客戶資料將外洩

🗞 News 1: 兩大網絡公司共同建立跨海電纜

兩大網絡公司,Facebook 同 Google,將會共同投資建立跨海電纜。呢條跨海電纜會橫跨印尼同日本,為沿路嘅島國提供網絡連接。

呢條 12,000 公里嘅跨海電纜將會連接日本、台灣、關島、菲律賓、新加坡同印尼。電纜會以光纖(Optical Fibre)連接,提供 190 Tb/s 嘅頻寛,更好咁支持 4G、5G 同寛頻上網服務。

Google 期望呢條新嘅跨海電纜會提供多條進出亞洲嘅通訊路徑。

ICT 重點

我哋上網個陣,好少會諗到實際上個伺服器係地球嘅邊一點,所以我哋有時會叫互聯網做「雲端」。但係實際上,我哋上網嘅時候做嘅每一個請求(Requests)都會經過唔同嘅電線同電纜。如果伺服器同客戶端嘅實際距離越遠,要經過嘅電纜越長,要用嘅時間就越多。所以呢點其實同寄信無乜大分別,除咗光纖快好多之外。

跨海電纜係互聯網通訊嘅重要一環。我記得係 2006 年嘅時候,仲讀緊小學嘅 Willis 玩緊一隻遊戲叫「彩虹冒險」(Survival Projects;勿相認)。彩虹冒險嘅代理商係台灣嘅公司,咁伺服器當然就係台灣。係個年嘅 12 月,台灣發生咗一場 7.0 級嘅地震,導致 8 條海底電纜斷裂,其中有至少 6 條係連接香港。呢場地震令小市民用唔到 Yahoo、Google、Live Messanger、ICQ 等傳奇服務,亦令跨國金融機構連接唔到外地嘅交易系統。(當然,最大問題係令到 Willis 打唔到機。)個次嘅電纜修復工作要去到 2007 年 2 月先完成得曬。

去到 2021 年,互聯網嘅重要性比 2006 年重要得多,所以唔同嘅公司都建立越嚟越多嘅跨海電纜。據統計,全球依家有 426 條跨海電纜。 TeleGeography 有一幅好好嘅地圖,繪畫咗唔同電纜嘅起點同終點。更多嘅電纜確保整個互聯網有更好嘅恢復力(Resilience),係面對災難時都可以保持通訊暢通。

Submarine Cables

相關課題

  • 必修部分第 16 課:關於廣域網絡
  • 必修部分第 16 課:關於光纖電纜

新聞來源/詳細閱讀

🔖 News 2: Stack Overflow 21 年調查:邊種程式語言最值得學?

識少少 Programming 嘅同學仔一定會聽過 Stack Overflow 呢個網站。Stack Overflow 係一個 Programmer 嘅平台。當一個 Programmer 有嘢唔明嘅話,就會上 Stack Overflow 去問,然後就會有啲好心嘅 Programmers 去答。

每一年,Stack Overflow 都會問下佢哋嘅用戶關於 Programming 嘅問題,例如佢哋最常用嘅 Language 係乜嘢,用乜嘢整合開發環境(Integrated Development Environment;IDE)。以下係一啲比較得意嘅問題,同埋 2021 年嘅調查結果。

ICT 重點

1. 第一次 Coding 係幾時?

  • 第一名: 11 - 17 歲
  • 第二名: 18 - 24 歲
  • 第三名: 5 - 10 歲

所以大部分嘅 Developer 都係喺中學嘅時期開始學 Coding!Willis 都差唔多,我喺 15 歲嘅時候開咗好簡單嘅 C++ ,之後就去到大學先真係開 Python 同 Web Application Programming!

2. 有邊啲類型嘅 Developer?

  • 第一名:全端程序員
  • 第二名:後端程序員
  • 第三名:前端程序員
  • 第四名:桌面及企業程序員
  • 第五名:手機程序員
  • 第六名:DevOps 專家
  • 第七名:系統管理員
  • 第八名:數據庫管理員

頭三名其實都係網頁應用程序員(Web Application Developer):前端係指網頁上嘅 Style 同 Design,後端係指數據庫上嘅 Design,而全端係指前後端都要識。同學可能會以為整 Desktop App 嘅 Developers 比較多,但其實依家好多 Web App 嘅 Library 都同時可以將個網頁轉譯成手機同桌面 Apps,所以 Web App Developers 比以前多咗好多㗎!

3. 最受歡迎嘅 Programming Languages?

  • 第一名:JavaScript
  • 第二名:HTML/CSS
  • 第三名:Python
  • 第四名:Java
  • 第五名:Node.js
  • 第六名:TypeScript
  • 第七名:C#
  • 第八名:Bash/Shell
  • 第九名:C++
  • 第十名:PHP

好似前面條問題講 Web Development 有幾咁受歡迎,係呢頭十種語言入面,第一、二、五、六、十名都係 Web Development 經常會用嘅 Language。第四、七、八、九名就通常係 Desktop 或者 Mobile Application Development。心水清嘅同學就會問:「咦咁 Python 呢?」Python 勁就勁在係各個方面都做得好好,尤其是係機器學習(Machine Learning)、數據視覺化(Data Visualisation)、後端開發等等。由於 Python 簡單易明嘅語法(Syntax),成為唔少人嘅入門 Language。

點解呢個世界有咁多種 Programming Languages 呢?因為唔同嘅 Language,佢哋想解決嘅問題都唔同。例如,我哋想通數據庫溝通,我哋就會用 SQL。另外,唔同嘅 Language 可能解決緊同一個問題,但係佢哋解決問題嘅方式同效率都唔通。例如,Python 嘅 Syntax 簡單,但係執行速度較慢;C++ 執行得好快;Java 就用物件導向(Object-oriented)嘅方式去解決。

相關課題

  • 選修單元 D 第 16 課:關於選擇程序語言

新聞來源/詳細閱讀

📱 News 3: 大部分公司預期客戶資料將外洩

有資訊保安公司進行咗一次調查。調查結果指出,全球有 80% 嘅組織預期係嚟緊十二個月內會發生至少一次顧客數據外洩事故。

同一份調查入面總結咗幾個常見嘅保安風險,包括:

  • 中間人攻擊(Man-in-the-middle Attack;MITM Attack)
  • 勒索軟件(Ransomware)
  • 釣魚及社會工程(Phishing and Social Engineering)
  • 無檔案攻擊(Fileless Attack)
  • 殭屍網絡(Botnet)

ICT 重點

想特別講下中間人攻擊。你可能會問:「ICT 有教過 MITM 咩?」Ummm,再講落去 Willis 就會嬲呢個垃圾嘅 Syllabus 架啦,聽住先啦。

首先,仲記唔記得非對稱加密 Asymmetric Encryption?唔記得嘅話,可以睇翻上兩個星期嘅每周速報。係 Asymmetric Encryption 入面,要做任何嘅 Communication 就一定要對方嘅 Public Key。但係我哋信唔信得過收到嘅 Public Key 呢?假設 Alice 同 Bob 想互相 send messages,但係黑客 Xavier 截取到通信:

Man-in-the-middle Attack

變相姐係話,我哋無辦法核實非對稱加密中收到嘅公用鑰(Public Key)。如果溝通嘅唔係 Alice 同 Bob,而係你同網上銀行嘅話,咁就大獲啦!

有咩方法可以核實到條 Public Key 呢?先想像下,如果每條 Public Key 都係一張身份證,每張身份證上面有名啊、日期啊資料嘅話,咁每次睇到條 Key 同睇到張身份證一樣咁有公信力嘅話,咁就解決到 MITM 啦!

所以,係第 28 課,我哋學過一個字叫「公開密碼匙基礎建設 Public Key Infrastructure」(PKI)。呢個 PKI 其實就係身份證嘅簽發中心;係 generate 條 public key 嘅時候,我哋會將自己嘅 public key 交俾 PKI 入面嘅核證機關(Certificate Authority;CA),然後 CA 會俾返張數碼證書(Digital Certificate)我哋:

咁以後 Alice 同 Bob 溝通嘅時候,除咗會出示 Public Key 之外,亦都會出示埋 Digital Certificate。如果佢出示到張 Certificate 嘅話,咁佢個 Public Key 就信得過啦!呢個亦都係保安插口層(Secure Socket Layer)嘅玩法!

相關課題

  • 必修部分第 28 課:關於非對稱加密
  • 必修部分第 28 課:關於公開密碼匙基礎建設
  • 必修部分第 28 課:關於數碼證書
  • 必修部分第 28 課:關於保安插口層

新聞來源/詳細閱讀

問題回顧

  1. 跨海電纜對互聯網通訊有幾重要?
  2. 點解呢個世界有咁多種 Programming Languages?
  3. 公開密碼匙基礎建設(PKI)點樣防止中間人攻擊(MITM)?

鐘意篇文嘅話,麻煩係下面個 IG Post 上面俾個 Like ❤️ 感謝感謝

更多內容