使用Python編寫解壓縮工具


不管是儲存或是傳輸用途,壓縮檔一直是非常常見的檔案格式。一般而言,許多系統與軟體都提供解壓縮功能,我們也可以嘗試著自己製作一個解壓縮工具

自己製作一個解壓縮工具?使用情境為何?

一般而言,許多系統與軟體都提供解壓縮功能,想要解壓縮可說是非常輕易達成。但試想一些情況,若今天有一堆壓縮檔案需要進行解壓縮呢?可能有一些工具一時之間就無法起到很好的作用了。

所以除了磨練自己寫程式的能力之外,我們也能藉此機會,自己客製化具有解壓縮功能的小工具,以解決某些特殊問題。

一堆壓縮檔案需要解壓縮?何種情況下會有這樣的需求?

基本上之所以會有一堆壓縮檔案,可能是為了儲存以及分享用途,所以對檔案進行分門別類後,個別進行壓縮。

哪天誰需要使用這些資料時,就會遇到這樣的解壓縮問題。

舉個例子,在台灣期貨交易所網站中,提供多種商品的詳細資料下載,可能以天、週或是年為單位,部分檔案格式是zip壓縮檔,像是期貨前30個交易日期貨每筆成交資料期貨前30個交易日期貨價差委託成交概況表期貨前30個交易日期貨價差每筆成交資料選擇權前30個交易日選擇權每筆成交資料等等,像這些以zip壓縮檔形式,並且以天為單位做區分的檔案,一次下載下來,若能夠一次解完壓縮,可說是幫個大忙了。

透過Python開啟外部指令進行爬蟲(以下載台灣期貨交易所的公開資料為例)


為了方便、大量與快速取得資料,爬蟲不可或缺,本次來介紹如何使用python進行爬蟲,並且使用外部指令進行主要功能實現。

前言

一般我們普遍認為開源節流是重要的金錢觀,為了維護我們的資產,錢要進得來,同時花出去的錢也要能夠獲得控制。事實上,開源與節流這兩件事誰更重要,當然是開源,開源意味著資產增加,但節流,再怎麼節省,錢包還是這麼大。但或許是因為人心,我們比起獲利,會更害怕損失,於是節流反而對我們來說卻是重點。

另一方面,存錢也是一個很重要的節流方式,但仔細想想,這些錢如果不去利用,其實就是一種浪費。怎麼說呢?如果這些錢能夠透過各種方式,比如投資,讓錢生財,自然也是一種開源的方式。那當然像是投資這種事會有風險,所以它才會有獲利,不是嗎?

開源節流、開源節流,為何要一起講,我認為最好的解釋就是在開源的同時,我們要想著如何節流;反過來說,在我們想著如何節流的時候,我們也要保持考慮如何開源。根據自己的情況、環境與條件,最大限度的提高獲利,並將損失降低至最小。這在程式人眼中看來,自然是一個最佳化問題。

本篇並不討論如何分析這樣子的最佳化問題,所以並不提供任何策略與方向(投資請衡量自身情況,風險與獲利自行承擔),只著重在如何取得用來分析的資料,畢竟沒有資料,也無法開始。無論是人或是機器,都需要感知外界的環境變化與資訊,經過深思熟慮後,才能做出一個好的應對方式。

MATLAB爬蟲(以下載台灣期交所的公開資料為例)


爬蟲這項技術說實在確實非常重要,也與我們的生活息息相關,現在的網路如此發達,無法想像的資料量也還是在成長著,為了更方便地取得與處理資料,在自動化的議題上,爬蟲便成為了不可或缺的其中一項技術。

台灣期貨交易所

台灣期貨交易所(Taiwan Futures exchange),顧名思義,是在台灣所成立的金融衍生性商品的交易設施,交易商品包含期貨以及選擇權等商品,這兩種都是一種契約。而台灣期貨交易所為了讓交易人能夠快速了解在台灣期貨市場(Futures Market)的動態消息,特別提供了一個官方網站平台(www.taifex.com.tw),上面有台灣期貨交易所相關的公司介紹,包含願景以及交易商品有哪些,還有當前期貨市場上的最新消息。當然,對於想要更進一步了解金融市場的人而言,想必也會特別關注統計資料以及交易資訊了。再來他們也提供了法規規定以及交易規則等等參考檔案,資訊非常完整。

台灣期貨交易所不僅提供交易資訊的查詢,也有提供近期的交易資料下載,其提供的資料也都已經結構化處理過,我們只需要視情況轉換為自己想要的處理格式便可。如果我們想要收集這些資料,以便進行相關的研究與分析(別把自己下載資料拿去交易或相關形式的轉讓等等,避免違法),使用爬蟲技術並讓其自動化是非常方便的。

MATLAB可視化圖形(搭配Google搜尋器Calculator渲染引擎)


可視化圖形對我們非常重要,透過視覺上的輔助可以幫助我們解決更多問題,比方說尋找一個函數的最高、最低點等等,而MATLAB也提供非常強大的繪圖功能,非常直得我們去使用。


最近發現了Google搜尋引擎支援3D繪圖操作,使用的是WebGL技術,覺得非常地新奇、有趣。相關官方文件參考如下:

Microsoft Teams相關設定


本篇將解決Microsoft Teams的相關議題,如取消自動登入、設定會議簡報分享功能、如何錄製視訊會議、錄製影片後要在哪裡找到等等

對於遠端工作,或是有遠端進行視訊、會議紀錄等等需求,各種軟體與服務五花八門,有的不需額外安裝,輕便性非常足夠、也有依附在自家產品上的,提供更完整的個人或團體服務。而當今這種線上即時通訊需求越發重要的情況下,能夠熟用幾款工具是現代人需要的技能之一了。
本篇主要是要解決Microsoft Teams相關的設定問題,比如取消自動登入卻找不到相關的設定選項、以及進行視訊會議或線上上課分享簡報時,避免被團隊中的某人中途插斷找不到錄製視訊會議選項等等的問題。

Windows遠端桌面連線


由於電腦在使用上的移動限制,遠端連線給予我們更方便地使用電腦。

遠端桌面連線-Windows

事實上,遠端桌面連線的方法有好幾種,多半能透過安裝一些軟體來達成,比如TeamViewer、Anydesk等等。但如果本身使用的作業系統為Windows的話,不妨直接使用看看內建的"遠端桌面連線"功能~~~接下來,會先從如何確定連線對象的位置開始講起,再來將會從兩個方面作介紹,包含如何連線至遠端裝置以及如何開放讓遠端裝置連線進來

元大API即時行情串接(三)


為了取得即時的報價,更詳細的raw data,除了可以方便我們做股票、期貨等金融商品的分析。最重要的是,可以用來做自動下單、高頻交易、隨到隨撮等的用途。


本篇接續著第二篇元大API即時行情串接(二),在介紹完如何建置環境、導入API元件並確認連線功能後,接下來將要介紹更多可用的功能。本篇主要注重在追蹤連線狀態,以及連線異常發生時的提示通知顯示

元大API即時行情串接(二)


為了取得即時的報價,更詳細的raw data,除了可以方便我們做股票、期貨等金融商品的分析。最重要的是,可以用來做自動下單、高頻交易、隨到隨撮等的用途。


本篇接續著第一篇元大API即時行情串接(一),在介紹完行情API相關觀念以及環境安裝之後,將緊接著介紹更進一步的串接觀念與步驟。所以在使用元大行情API之前,我們必須先知道它的流程以及相關的連線資訊。
首先,我們透過此API去請求資料的對象資料如下:

主機IP: 203.66.93.84
Domain: apiquote.yuantafutures.com.tw
T盤Port: 80 or 443
T+1盤Port: 82 or 442


有了伺服器端的IP位址以及對應的主機的Port number,我們就能鎖定位置,再來是一個簡化的流程:


線上課程平台 - Google Classroom


如果你是教師、教學助理等等,會有需要開班上課的需求的話,若有一個可以集中管理的平台應該會非常有幫助,而Google Classroom就是其中之一個好用的平台...

簡單介紹

Google Classroom專門對有開設課程需求的團體或個人提供服務,功能包括課程討論區、行事通知、進度提醒、派發作業或問券等等排程、成績表與相關總分或加權平均計算、繳交狀態紀錄、Email聯絡,並且結合Google日曆與Google雲端硬碟做搭配,顯現出Google系列套裝產品的方便性。

元大API即時行情串接(一)


為了取得即時的報價,更詳細的raw data,除了可以方便我們做股票、期貨等金融商品的分析。最重要的是,可以用來做自動下單、高頻交易、隨到隨撮等的用途。

申請到期貨證券的帳戶,除了可以選擇電子下單,如AP(Application, 主要使用於電腦環境)、APP(主要使用於手機環境)或Web(網頁,只要有瀏覽器就行),還有語音下單之外。在開通API的使用(一般需另外提出申請要求,預設不開通)後,便能夠開始動手撰寫屬於自己的行情報價、自動下單的程式。當然,也能夠去使用別人已經寫好的的應用程式去執行。本篇主要介紹元大API,注重在即時行情串接

首先,我們必須去下載元大的行情API元件,並安裝、建置於我們的電腦環境之中。下載網址如下:
點擊後可以發現有分交易API以及行情API,而且除了API元件以及相關說明文件之外,也有不同程式語言的範例可以去參考,算是還不錯的服務。