跳至主要内容

科技週刊-第十三期

一、升學非常重要的APCS該如何準備?全新學習平台APCS Guide 該怎麼用?

想要了解APCS該怎麼準備之前,首先我們要認識什麼是APCS。APCS全稱為「大學程式設計先修檢測」,是英文Advanced Placement Computer Science的縮寫,為教育部推動多元展能的重要項目。該考試分為觀念題與實作題並且每年舉辦三次,成績可用於包含申請入學、特殊選才在內的許多大學入學管道,是資通訊科系非常重要的能力證明。

圖片

除了學生之外,APCS檢測開放所有對於程式有興趣的社會人士報名,其免費檢測的性質也吸引不少人報名。幾乎所有人都知道這個檢測的重要性,然而對於第一次接觸到程式領域的新手來說,時常因為市面上難度不一且零散的教學搞得無從下手。在這樣的背景下,有一群高中與大學的學生們注意到的這個問題,於是啟動「APCS Guide 程式教育創新計畫」,著手打造了一個完整的學習平台。

圖片

剛接觸程式領域的人時常會不知道概念之間的層級,總是對於要先學什麼感到困惑,這個平台很好的解決了這個問題。網站的課程從先備知識到基礎與法,乃至於進階的演算法都有列出來,讓你不會迷茫要學什麼。而程式最重要的就是刷題練習,而平台也幫大家從眾多網站中精選出合適難易度的題目,並提供詳細的解析作為題後檢討。

然而這個網站還是有其不足之處,畢竟大家吸收程度不一,有時還是不能很好的理解所有教學文章的內容,這時候就得搭配其他人寫的教學文章閱讀了。除此之外就像是學生準備學測、會考等大考會有模擬考一樣,APCS也有模擬考可以參加。APCS模擬測驗每個月都會舉辦一次,協助大家驗證自己的學習成果,在正式考試中發揮更好的表現。

圖片

by YD

二、小編教你如何整朋友:《Minecraft》彈簧礦車陷阱大揭密!

https://www.youtube.com/watch?v=TRHjWG3Q7BQ

你是不是也曾經想過要在《Minecraft》裡整整朋友?這次,小編為你帶來一個超有趣的「彈簧礦車」陷阱教學,不僅容易製作,還可以用來惡搞那些毫無防備的玩家!這個陷阱利用紅石機關和礦車加速設計,會讓你的朋友在毫無防備的情況下被瞬間彈射出去! 教學內容概要 在這篇教學中,我們將會介紹如何設置彈簧礦車,並讓它在合適的時機觸發發射效果。這個玩法結合了高速度旋轉與瞬間發射,不僅有趣,更可以創造令人意想不到的效果! 想學會怎麼做嗎?趕快看看教學內容,並開始在《Minecraft》裡挑戰你的朋友吧!誰知道,也許你的彈簧礦車會成為下一個風靡玩家的熱門玩法呢?

小編的話 上次介紹的「高速旋轉礦車」玩法還記得嗎?這次我們的「彈簧礦車」更進一步,不僅能帶來速度感,還能為你的遊戲增加樂趣與驚喜。小編親自測試過,真的是太有趣了!還等什麼?趕快試試吧!

三、http與https

或許大家多多少少都有見過以下畫面:

圖片

會有奇怪的廣告彈窗,或是莫名的威脅,但其實這都和http有著密切關係。 一次http請求路線大約如下

圖片

一次請求會經過數個路由器,而http數據在傳輸時是以明文形式傳送,以致很容易攔截與竄改其中數據。在早期,很多網路服務商、遊戲商、民間駭客......會用著自己角色與技術之便,攔截數據並插入彈窗程式碼,才會有莫名的彈窗出現。 然而隨著網路時代的到來,傳輸的數據越來越具有價值,人們也漸漸意識到數據安全的重要,所以才出現了https。 https,這裡的「s」其實指的是「安全」(secure),最早(1994年)是由Netscape在自己的瀏覽器中實現並支持,但是要如何使做出所謂的「安全」?其實很簡單,加密就好。可如果使用類似凱撒密碼那類的「對稱加密」,其實還是有些危險,若把密鑰先以明文傳給對方,那被攔截了大家都會知道怎麼加密的,因此此加密變得毫無意義。 大家一籌莫展之際,「非對稱加密」出現了,主要是使用一對公私鑰(公鑰與私鑰)進行加密。公鑰加密的數據只能用私鑰解密,公鑰加密本身無法解密;私鑰加密的數據只能用公鑰解密,私鑰加密本身無法解密。其簡化過程如下 (藍色公鑰、橘色私鑰)

圖片

伺服器先將公鑰發送給用戶

圖片

隨機生成一個數據並用剛剛發過來的公鑰加密,隨後回傳伺服器。

圖片

伺服器收到後使用私鑰解密後,得到與用戶生成相同的數據。

圖片

後面傳輸的重要訊息就使用用戶生成的這個數據加密解密(密鑰變成用戶生成的數據)。 而就算攻擊者獲取了公鑰與用戶使用公鑰加密的數據也沒有關係,因為公鑰加密的數據只能用私鑰解密,公鑰本身無法解密,而私鑰從始自終都在伺服器端,所以也不用怕被攔截。 但如果攻擊者「攔截」了正在傳送給用戶的公鑰,並把公鑰替換成自己的公私鑰對該怎麼辦呢? 機制的企業們快速的研究出了“SSL”(現在是TLS),並聯合大量第三方機構(CA)。不過這不會在今天的討論中。

圖片

為了給大家更直觀的了解http與https的差異,以下表格供大家參考。

HTTP (HyperText Transfer Protocol)

  • 工作原理: 客戶端(通常是瀏覽器)發送一個HTTP請求到伺服器。 伺服器處理請求後返回一個HTTP響應,包括網頁內容(HTML文檔)、圖像、CSS文件等。 請求和響應的過程中,數據以明文形式傳輸,沒有任何加密或身份驗證。
  • 缺點: 數據洩露風險: 因為數據未加密,攻擊者可以輕易攔截、竊取數據甚至竄改數據。 無法驗證身份: 無法確保與伺服器通訊的是正確的伺服器,可能會成為釣魚網站的受害者。
  • 無狀態性: HTTP是一個無狀態協議,這意味著每個請求是獨立的,伺服器不會記住先前的請求狀態。 需要通過Cookie、Session等技術來維持狀態,特別是對於登入和購物車等應用。

HTTPS (HyperText Transfer Protocol Secure)

  • 工作原理: 客戶端請求HTTPS連接時,伺服器首先傳送SSL/TLS證書。 客戶端驗證證書的有效性(確保證書由可信任的CA頒發)。 雙方通過SSL/TLS握手協商一個對稱密鑰,用來加密後續的數據傳輸。 加密的數據通過SSL/TLS隧道傳輸,保護了數據的機密性和完整性。
  • SSL/TLS: SSL(Secure Sockets Layer): 是最早的加密協議版本,現已被TLS取代。 TLS(Transport Layer Security): 是SSL的改進版本(在1999由IETF標準化),為現今普遍使用的協議版本。
  • 優點: 數據保護: 通過加密技術,保護數據在傳輸過程中的機密性,防止竊聽。 身份驗證: 確保客戶端與正確的伺服器通訊,防止中間人攻擊。 數據完整性: 防止數據在傳輸過程中被篡改。
  • 缺點: 性能開銷: SSL/TLS握手過程和加解密操作會增加一定的計算開銷,雖然這個差異在現代技術研究下已經變得非常小。 證書成本: 須購買SSL/TLS證書(雖然也有免費的如Let's Encrypt),還需要定期更新證書。

其實更直接的說就是是否加密,是否安全的差異而已,但還是更推薦https~畢竟沒有人想被窺探與被許多廣告干擾。

By x86