Cleo

致力於構建網站、網路服務的軟體工程師.

Network
[Network] 12. 常見的加密演算法,含 python 實現

[Network] 12. 常見的加密演算法,含 python 實現

什麼叫數據加密 數據加密是指利用加密演算法和祕鑰將明文轉變爲密文的過程。常見的加密方式有 base64、RSA、MD5、SHA-1、HMAC、DES/AES、ECC 數據加密的方式 單向加密: 指只能加密數據而不能解密數據,這種加密方式主要是爲了保證數據的完整性 常見的加密演算法有 MD5、sha 系列等(位於 python...

Network
[Network] 11. TCP 與 UDP,含 python 實現

[Network] 11. TCP 與 UDP,含 python 實現

TCP 和 UDP 的區別以及優缺點? ▍簡述 TCP:有連線,所以握手過程會消耗資源,過程為可靠連線,不會丟失資料,適合大資料量交換 UDP:非可靠連線,會丟包,沒有校驗,速度快,無須握手過程   TCP UDP...

爬蟲
[Python爬蟲] 02-09. lxml 解析 HTML 程式碼

[Python爬蟲] 02-09. lxml 解析 HTML 程式碼

之前在爬蟲系列文的第 5 篇我們說明過用 BeautifulSoup 來解析 HTML,不過要是你對 xpath 很熟悉的話可以試試看使用 lxml,速度會快很多。 特色...

ChatRobot
[Python ChatRobot] 02. 部屬 Wechat Robot 到 GCP

[Python ChatRobot] 02. 部屬 Wechat Robot 到 GCP

首先先到 google 申請 GCP 服務吧,目前(2018)提供新加入成員一年 & 300 美元的試用額度。 https://console.cloud.google.com/ 點選免費試用,會要求你填寫信用卡資訊,送出後會收到刷卡通知,之後會在收到退刷,時間到期或是金額用畢會先通知不會自動扣款。...

ChatRobot
[Python ChatRobot] 01. Wechat Robot-itchat

[Python ChatRobot] 01. Wechat Robot-itchat

itchat 可以實現一個聊天機器人的 server,可以主動發送訊息及文件,也可以做為回覆機器人,登入方式是透過 wechat 網頁版,掃 QRcode 登入(現在為了避免濫用,wechat 官方網頁版有限制新用戶不可使用,所以請準備一個有在使用的 wechat 帳號),在啟動之後...

Network
[Network] 10. 常見的駭客攻擊方式

[Network] 10. 常見的駭客攻擊方式

SQL Injection 1 簡稱 SQL 攻擊或隱碼攻擊,是發生於應用程式與資料庫層的安全漏洞。 在輸入的字串之中 夾帶 SQL 指令,在設計不良的程式當中忽略了字元檢查,那麼這些夾帶進去的惡意指令就會被資料庫伺服器誤認為是正常的...

Network
[Network] 09. REST & RESTful

[Network] 09. REST & RESTful

Representational State Transfer 是一種網路架構風格。 REST 是設計風格而不是標準,REST 通常基於使用 HTTP,URI,和 XML 以及...

爬蟲
[Python爬蟲] 08. async 和 await 非同步爬蟲

[Python爬蟲] 08. async 和 await 非同步爬蟲

python 中的 request,是發出一個 request 後,它會等待 server 回應後再發出下一個 request,這段等待的時間我們的機器是閒置的,為了提升效率所以採用非同步的方式。 Async 與...

爬蟲
[Python爬蟲] 07. multiprocessing 多執行續爬蟲

[Python爬蟲] 07. multiprocessing 多執行續爬蟲

什麼是分佈式爬蟲 程式一般是單 process 跑的,指令也是一條條處理的,每執行完一條指令才能跳到下一條,如果我們能合理利用計算資源,在 下載一部分網頁的時候就已經開始分析另一部分網頁了,這將會大大節省整個程序的運行時間;又或者我們能 同時下載多個網頁,同時分析多個網頁。multiprocessing 應用在需要爬蟲的工作越多的時候效果較好(也就是 Pool 裡面的任務較多時)。 multiprocessing...

爬蟲
[Python爬蟲] 06. 幾種防爬蟲機制

[Python爬蟲] 06. 幾種防爬蟲機制

常見的幾種反爬蟲機制 1 網站的防爬蟲機制,一般都是在 requests 的階段會碰到問題。 常見防爬蟲機制 網站使用識別技術:網站登入使用驗證碼,可參考此文 01. pytesseract 驗證碼自動識別。...

爬蟲
[Python爬蟲] 05. BeautifulSoup 解析 HTML 程式碼

[Python爬蟲] 05. BeautifulSoup 解析 HTML 程式碼

BeautifulSoup 1 2 運作方式就是讀取 HTML 原始碼,自動進行解析並產生一個 BeautifulSoup 物件,此物件中包含了整個 HTML 文件的結構樹。...

爬蟲
[Python爬蟲] 04. Selenium 瀏覽器模擬

[Python爬蟲] 04. Selenium 瀏覽器模擬

Selenium 1 Selenium 它能控制你的瀏覽器,多是應用在瀏覽器自動化方面,可依照指令將會像自動機器人一樣確實地執行,並且記錄一切測試的過程與錯誤;但在爬蟲也是個好工具,在一些動態網頁經過執行 js 後才能顯現,Selenium 便是一個很好解決動態網頁爬蟲的工具。 本篇文章是針對爬蟲內容編寫,詳細目錄 01.python 爬蟲入門。...

爬蟲
[Python爬蟲] 03. requests HTTP GET&POST

[Python爬蟲] 03. requests HTTP GET&POST

本篇介紹如何對目標網頁的 Server 發出 HTTP requests,需要一點通訊協定的基礎,可參考本文 01. Http 協定 。 本篇文章是針對爬蟲內容編寫,詳細目錄。...

爬蟲
[Python爬蟲] 02. HTML 跟 CSS 基礎

[Python爬蟲] 02. HTML 跟 CSS 基礎

本篇文章是針對爬蟲內容編寫,詳細目錄 01.python 爬蟲入門。 HTML 就是一張素顏的臉,而 CSS 就是化妝品,能把原本不怎麼起眼的 HTML 頁面打扮得美美的。 HTML...

爬蟲
[Python爬蟲] 01. python 爬蟲入門

[Python爬蟲] 01. python 爬蟲入門

爬蟲可以減少一些人工上的麻煩事,在大量或是經常性的工作,自動化便是一個重要的議題。簡單來說就是把網頁內容給拿回來,接著透過程式去篩選出有意義的資訊!關於 python 爬蟲有幾種方式,第一種是 Selenium 模擬瀏覽器的操作,查看 HTML 網頁原始碼,獲得頁面元素,可適用於動態網頁。第二種是使用 requests Api get/post...

Jekyll
[Jekyll] 03. Github 個人網站 & 域名绑定

[Jekyll] 03. Github 個人網站 & 域名绑定

GitHub 提供免費的 Git Server ,如果推上去的分支的名字剛好叫做 {你的Github名稱}.github.io,你可以用 GitHub 當做靜態檔案的伺服器。 [jekyll] 第一二篇請先詳閱...

Python
[Python] 01. pytesseract 驗證碼自動識別

[Python] 01. pytesseract 驗證碼自動識別

[10.31更新] 在爬某間公司的驗證碼發現,爬 html 中的圖片的 url,另開顯示的是"Access Denied"字樣,不同於之前爬蟲的平台是顯示驗證碼圖片本人啊!其原因是他的驗證碼是使用動態產生,後來研究之後解決方式是使用打 api 的方式,必須帶 cookie,回應的就會是驗證碼圖片了。(詳細教學在爬蟲篇在說明) [前言碎念]...

Network

[Network] 08. HTTPS 加密傳輸

2021/7/27 增加寶典-HTTP 和 HTTPS 區別 傳統密碼學 換置、取代。 換置:字元位移。 取代:用另一個字元取代。 近代密碼學...

Network

[Network] 07. 通訊方式

輪詢(Polling)* 1 ex. 每 5 秒發一次請求。 讓瀏覽器每隔一段時間就自動送出一個 HTTP 請求(Request)給 Server,獲取最新的網頁資料。...

Jekyll
[Jekyll] 02. 建立一個 jekyll 檔案架構

[Jekyll] 02. 建立一個 jekyll 檔案架構

建立基礎 在你的電腦上,用 jekyll 建立一個架構。 在本機端建立 Jelyll 檔案結構,因為 Github 的 github...

資料庫
[資料庫] 03. 資料庫設計

[資料庫] 03. 資料庫設計

一些名詞 欄位 空值 表示: 不適用(如女學生無兵役)。 未知(如學校資料中沒有學生的手機)。 view:來自Table,可能合併多個Table。 關連模行中: Table:也稱關連、實體(Entity)。 縱:欄位(Field)、屬性(Attribute)。...

Network

[Network] 06. HTTP 服務

創建HTTP服務 Web Service,WCF,Web API。在 .net 平台下,有很多的選擇來構建一個 HTTP Services。1 Web Service...

Network
[Network] 05. Cache & Redis

[Network] 05. Cache & Redis

前端 Cache Client 瀏覽器緩存,不再去向 Server 溝通。(存放在:瀏覽器 > F12 > App...

Jekyll
[Jekyll] 01. Jekyll 建置環境篇

[Jekyll] 01. Jekyll 建置環境篇

What’s Jekyll Jekyll 是使用 Ruby 開發的「靜態網站產生器」,也就是部落格 framework,讓使用者可以簡單的建構出靜態頁面的部落格,配合 Github Pages ,將我們的...

資料庫
[資料庫] 02. 資料模型

[資料庫] 02. 資料模型

​ 實體 人事時地物 強實體:有鍵值屬性(學號)的屬性,如 [學生] 弱實體:必須依附在其他實體才能存在,如 [監護人] 屬性 如員工的 [代號]...

Network
[Network] 04. Cookie & Session

[Network] 04. Cookie & Session

Http 是無狀態協議 Cookie  是存放一些不重要的資訊在用戶端瀏覽器裡,用來增加網站的互動力,有有效期限。 帳號認證、追蹤網頁瀏覽行為、管理使用者的喜好資訊。 是 Server 將資訊儲存在 Client Browser。...

資料庫
[資料庫] 01. 資料庫管理系統簡介

[資料庫] 01. 資料庫管理系統簡介

特點 原始資料(Raw Data):將資料有系統和結構化的紀錄 降低資料重複性及不一致性: 將所有資料集3e中在特定伺服器中,可避免資料在不同主機,資料異步狀況 若資料在不同資料庫中,資料庫管理系統彼此可透過協調者達到分散式處理 並行控制(Concurrency Control):解決多人存取的情況下資料錯誤的狀況 資料永久性:資料備份/資料故障後還原/資料複寫 存取控制:身分認證/授權能供職責劃分...

Network
[Network] 03. Web API、URI 設計原則

[Network] 03. Web API、URI 設計原則

2021.07.27 增加寶典-URI 設計原則 ASP.NET Web API 是一種架構,可讓您更輕鬆建置 HTTP 服務並擴及各種用戶端,包括瀏覽器和行動裝置。 ASP.NET...

Network
[Network] 02. HTTP Status Code

[Network] 02. HTTP Status Code

2021/7/27 增加寶典解釋 HTTP狀態碼(HTTP Status Code)1 就是使用者(Client 端)發送一個 Request(請求),接著伺服器(Server 端)處理請求,並回傳一個 Response(回應)。...

MVC教學
[MVC教學] 05. HTTP GET/POST

[MVC教學] 05. HTTP GET/POST

第一個 Web API VS>檔案>新增>專案>Visual C#>Web>ASP.NET Web 應用程式>Web API using System;...

Network
[Network] 01. Http 協定、請求方式、HTTP Headers

[Network] 01. Http 協定、請求方式、HTTP Headers

2021/7/27 增加寶典-HTTP 請求頭、HTTP 響應頭、Post 和 Get 的區別 HTTP 是什麼 Hyper...

MVC教學
[MVC教學] 04. Route Controller

[MVC教學] 04. Route Controller

什麼是Route? 像是郵差依據包裹上的地址,透過地圖找到目的地然後投遞。 而對應到程式中 [網址] 就是你包裹要送達的目的地址,Route 就是 [地圖],而網址的 [參數] 就是你要投遞的包裹。 不須變數的Route...

MVC教學
[MVC教學] 03. MVC 架構與說明

[MVC教學] 03. MVC 架構與說明

簡介 Model-View-Controller(MVC)是一種設計模式(design pattern),主要目的是用來簡化應用程式的開發與增強程式的可維護性。 像 資料庫 查詢語句(SQL query)這樣的資料層程式碼和像 HTML 這樣的表示層程式碼是混在一起,MVC 可以從根本上強制性地將它們分開。...

MVC教學
[MVC教學] 02. Adout .Net Framework

[MVC教學] 02. Adout .Net Framework

.Net Framework 1 .NET Framework 是適用於 Windows 的 受控執行環境,可為執行中的應用程式提供多樣的服務。 .NET...

MVC教學
[MVC教學] 01. What is C#?

[MVC教學] 01. What is C#?

C# 是什麼 Microsoft 微軟公司所開發出來的語言,通常 C# 比較適合在 Windows 底下運行,Linux、MacOS 則需透過 Mono...

Getting Started with Sleek

Getting Started with Sleek

Getting started GitHub Pages can automatically generate and serve the...

Guides
Markdown Cheatsheet

Markdown Cheatsheet

Markdown is a way to style text on the web....