那些你不能不會的 Linux 基礎指令!(上)
那些你不能不會的 Linux 基礎指令!(上)感謝您點進本篇文章,我是 LukeTseng,近期接觸到 Linux 系統,時常需要面對黑色終端機,有些時候想做到一些操作,卻也不知道那個指令叫什麼,我也沒有好好奠基 Linux 的基礎指令,所以特此製作本篇文章!希望能解決到你我的痛點! 若本篇文章某處有誤,敬請告知,感謝! 一個點跟兩個點的意義一個點 . 在 Linux 中代表當前目錄的意思,兩個點 .. 則為上一個目錄。 檔案與目錄操作ls首先要介紹的是 ls 指令,英文全名是 list directory contents,主要是用來「列出目前目錄下的所有檔案與資料夾名稱(不含隱藏檔案)」,作用同於 Windows 系統的 dir 指令。 基本語法如下: 1ls [options] [files or directories] options 則為可選的參數,可加可不加。 若直接 ls 該檔案名稱時,會直接顯示檔案名稱,若沒有找到則會顯示 "No such file or directory"。 而 ls 目錄,則會顯示該目錄裡面的所有檔案與資料夾名稱。 l...
【Python 網路爬蟲筆記】Selenium Library、爬取 Hackmd 文章專題 - part 4
【Python 網路爬蟲筆記】Selenium Library、爬取 Hackmd 文章專題 - part 4感謝你點進本篇文章!!我是 LukeTseng,一個熱愛資訊的無名創作者,由於近期大學開設大數據分析程式設計這門課程,裡面談到了爬蟲概念,讓我激起一些興趣,因而製作本系列筆記。 聲明:本篇筆記僅供個人學習用途,斟酌參考。 本篇筆記使用 Jupyter Notebook,搭載 Anaconda 虛擬環境,如需下載者可至該網址:https://www.anaconda.com/download 安裝 Selenium 模組透過以下指令: 1pip install selenium 在 Jupyter Notebook(安裝完後記得 Restart Kernel 才會啟用): 1!pip install selenium 什麼是 Selenium?Selenium 是一種開源的網頁瀏覽器自動化工具,可以透過程式碼來模擬 user 在瀏覽器上的各種操作(像人一樣),從而完成自動化測試或網頁爬蟲任務。 Selenium 就是動態爬蟲中應用到最重要的技術。 Selenium 用 We...
【Leetcode C++ 解題筆記】Stack - part 3
【Leetcode C++ 解題筆記】Stack - part 3本筆記僅供個人學習用途,內容斟酌參考。 20. Valid ParenthesesProblem Source:https://leetcode.com/problems/valid-parentheses/description/?envType=problem-list-v2&envId=stack 難度:Easy 題目就是要你對這三個括號 ( [ { 去做匹配,就是要成對的括號,然後輸出 true,否則為 false。 這一道題目是非常經典的 Stack 題,務必要學會。 解題思路(0 ms): 用 C++ STL 內建的容器 stack <char> result,遍歷字串 s 的所有字元,如果遇到左括號就先堆進來,不是的話檢查是不是空的以及堆疊頂端是否為該括號的左括號,如果兩者擇一是的話就回傳 false,表示這是不合法的。 範例程式碼: 12345678910111213141516171819202122class Solution {public: bo...
【Uva 解題筆記】12149 - Feynman
【Uva 解題筆記】12149 - FeynmanUva Online Judge:https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3301 Zerojudge:https://zerojudge.tw/ShowProblem?problemid=a111 PDF Source:https://onlinejudge.org/external/121/12149.pdf 題目翻譯: 理查·菲利普斯·費曼(Richard Phillips Feynman)是一位著名的美國物理學家,也是諾貝爾物理學獎得主。他從事理論物理學研究,同時也開創了量子計算領域。他曾到南美洲待了十個月,在熱帶地區演講並享受生活。他也以他的著作「別鬧了,費曼先生!」和「你管別人怎麼想?」而聞名,這些書中包含了一些他在赤道以下的冒險經歷。 他一生都熱衷於解謎題、製作鎖和密碼。最近,一位曾在 1949 年接待這位年輕物理學家的南美洲老農夫,找到了一些被認為是...
【Uva 解題筆記】12015 - Google is Feeling Lucky
【Uva 解題筆記】12015 - Google is Feeling LuckyUva Online Judge:https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3166 Zerojudge:https://zerojudge.tw/ShowProblem?problemid=a130 PDF Source:https://onlinejudge.org/external/120/12015.pdf 題目翻譯: Google 是最著名的網際網路搜尋引擎之一,它提供和開發了許多網路服務和產品。在其搜尋引擎網站上,有一個有趣的按鈕「好手氣」吸引了我們的目光。這個功能讓使用者可以跳過搜尋結果頁面,直接進入首選頁面。這太省事了,節省了大量時間。 問題是,當使用者輸入一些關鍵字並按下「好手氣」按鈕時,會出現哪個網頁呢?Google 做了很多工作,並提出了優秀的方法來處理這個問題。在這個簡化的問題中,讓我們只考慮 Google 為每...
什麼是 Hamming Code(漢明碼)?
什麼是 Hamming Code(漢明碼)?歡迎你點入本篇文章,會促成我想做這篇的原因,主要是因為在上計概時,突然浮現很多靈感,跟一大堆的問題(教授,為什麼要講的這麼淺白呢?我想知道更多啊啊!),為了一次解決我所有的困惑,於是製作本篇文章。 若文章有任何疑點及錯誤的地方歡迎提出。 為什麼需要這個東東?在資料傳輸或儲存的過程中,位元(bit)可能因雜訊、干擾或硬體錯誤而被翻轉(做補數 0 -> 1, 1-> 0),導致資料錯誤。為了解決這個問題,1950 年代美國數學家 Richard Wesley Hamming 發明了 Hamming Code(漢明碼)。 Hamming Code 是一種錯誤偵測與單一錯誤修正(Single Error Correction, SEC)的編碼機制,在傳輸資料時會加入一些額外的同位元(parity bits),使接收端能判斷是否發生錯誤,並自動修正錯誤的位元。 若結合奇偶校驗位(overall parity bit),還可以達到 SECDED:Single Error Correction, Double Error Detectio...
什麼是 CRC(Cyclic Redundancy Check)檢測?
什麼是 CRC(Cyclic Redundancy Check)檢測?歡迎你點入本篇文章,會促成我想做這篇的原因,主要是因為在上計概時,突然浮現很多靈感,跟一大堆的問題(教授,為什麼要講的這麼淺白呢?我想知道更多啊啊!),為了一次解決我所有的困惑,於是製作本篇文章。 若文章有任何疑點及錯誤的地方歡迎提出。 CRC 是啥?能吃嗎?CRC 的中文全名叫做循環冗餘校驗(Cyclic Redundancy Check, CRC),是一種廣泛應用於數位網路和儲存裝置中的錯誤偵測碼,用於檢測數據傳輸或儲存後可能出現的意外變化。 這種 CRC 校驗的方法是由 W. Wesley Peterson 這個人在 1961 年所發表的。 CRC 的核心概念是在發送端(Sender)根據要傳送的數據,按照特定規則產生一個固定位數的校驗碼(也稱為檢查和),將其附加在原始數據(Original Data)後面一起傳送。接收端(Receiver)收到數據後,使用相同的算法重新計算校驗碼,並與接收到的校驗碼進行比對。如果兩者一致,則該數據傳輸正確;若不一致,則表示這個數據在傳輸過程中發生了錯誤。 總之呢,CRC...
【Uva 解題筆記】494 - Kindergarten Counting Game
【Uva 解題筆記】494 - Kindergarten Counting GameUva Online Judge:https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=435 Zerojudge:https://zerojudge.tw/ShowProblem?problemid=a011 PDF Source:https://onlinejudge.org/external/4/494.pdf 題目翻譯: 每個人圍成一圈坐下。好的,仔細聽我說。 “Woooooo, you screwy wabbit!” 現在,能有人告訴我我剛說了多少個字嗎? Input 程式的輸入將由一系列的行組成,每一行包含多個單字(至少一個)。一個「單字」的定義是連續的字母序列(大寫和/或小寫字母)。 Output 你的程式應該要輸出每一行輸入的單字數量。每個單字計數應該印在單獨的一行上。 Sample Input 1234Meep Meep!I t...
基礎邏輯電路(下)
基礎邏輯電路(下)歡迎你點入本篇文章,會促成我想做這篇的原因,主要是因為在上計概時,突然浮現很多靈感,跟一大堆的問題(教授,為什麼要講的這麼淺白呢?我想知道更多啊啊!),為了一次解決我所有的困惑,於是製作本篇文章。 若文章有任何疑點及錯誤的地方歡迎提出。 本篇文章主要作為個人學習用途,撰筆形式概要以筆記形式撰筆。另外本篇文章以入門為導向,若需詳細閱讀相關學門,請搜尋「數位系統導論」或「數位系統設計」。 Sum of Products(SOP) Form先做 AND 運算,再做 OR 運算。 如: $(A \cdot B) + (C \cdot D) + \cdots$ 主要是用 $+$ 號連接多項 Products,下圖可能會比較清晰一點。 Image Source:What is Sum Of Product (SOP) Form? - GeeksforGeeks 為什麼需要 SOP?因為可以從真值表直接算出布林運算式,接著進一步簡化可畫出電路圖,這是一種蠻好的方式。 最小項(Minterm)最小項是構成 SOP 的基本單位,是一個 AND 項(積項),具有以下特點: 包含...
基礎邏輯電路(上)
基礎邏輯電路(上)歡迎你點入本篇文章,會促成我想做這篇的原因,主要是因為在上計概時,突然浮現很多靈感,跟一大堆的問題(教授,為什麼要講的這麼淺白呢?我想知道更多啊啊!),為了一次解決我所有的困惑,於是製作本篇文章。 若文章有任何疑點及錯誤的地方歡迎提出。 本篇文章主要作為個人學習用途,撰筆形式概要以筆記形式撰筆。另外本篇文章以入門為導向,若需詳細閱讀相關學門,請搜尋「數位系統導論」或「數位系統設計」。 布林代數式(Boolean Algebra)Boolean Algebra 是數學當中的一個分支,專門用來處理 0 跟 1 這種真(True)假(False)值。主要針對二進位變數以及邏輯運算,如最基礎的 AND、OR、NOT。 邏輯運算(Logical Operations) AND or Conjunction(關聯) OR or Disjunction(無關) NOT or Negation(否定) AND 用布林代數式可表示為 $A \cdot B$ 或是 $A \wedge B$ 。 OR 用布林代數式可表示為 $A + B$ 或是 $A \lor B$ 。 NOT 用...
【Python 筆記】正規運算式(Regular Expression)
【Python 筆記】正規運算式(Regular Expression)感謝您點進本篇文章,本篇文章為我 LukeTseng 個人首篇 Python 筆記系列文章,主要記錄我個人學習軌跡,所有內容皆用於個人學習用途,斟酌參考。若文章有任意處有誤,煩請各位指點,謝謝。 簡介這東西的名字很多,有什麼正規表達式、正規表示法、規則運算式、常規表示法等等,我個人比較習慣叫他是正規運算式,總之他的名字就是 Regular Expression(簡稱 RE、regex)就對了,在這之後我都叫他是 regex 縮寫。 regex 是一套用來描述和比對字串樣式規則的「語法」或「表示法」,通常被嵌入在各大程式語言當中,例如我們最愛用的 Python 就是其一。regex 在處理和解析字串方面十分強大,因此也是我們要學習的對象。 你可能想說在 notepad 裡面就可以用搜尋、取代這些功能了,為什麼還需要 regex?因為 regex 他不只是只有搜尋、取代這些功能而已,他還有篩選的功能,例如可以篩出特定字元、字串,以此來找到電子郵件格式及電話號碼。 在 Python 使用 regex1import ...
什麼是奇偶校驗?(Parity Bit)
什麼是奇偶校驗?(Parity Bit)歡迎你點入本篇文章,會促成我想做這篇的原因,主要是因為在上計概時,突然浮現很多靈感,跟一大堆的問題(教授,為什麼要講的這麼淺白呢?我想知道更多啊啊!),為了一次解決我所有的困惑,於是製作本篇文章。 若文章有任何疑點及錯誤的地方歡迎提出。 Parity Bit Parity bit(同位位元 or 奇偶校驗位)為最簡單且廣泛使用的錯誤檢測方法,透過在資料中增加一個額外的位元來檢測傳輸或儲存過程中是否發生錯誤。這個概念在現代計算機系統與串列通訊中扮演著重要的角色。From Wikibooks : https://zh.wikibooks.org/zh-tw/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%B3%BB%E7%BB%9F/%E5%A5%87%E5%81%B6%E6%A0%A1%E9%AA%8C 原理做奇偶校驗前先計算二進位中 1 的個數,在 1 byte 中,通常有 7 bits 用於實際資料,第 8 個 bit 用來當作檢查位(或稱校驗位)。檢查位的值會根據其他 7 個 bits 中「1」的個數來決定,使整個 by...
Excess Notation 與儲存實數(含浮點數)的方法
Excess Notation 與儲存實數(含浮點數)的方法歡迎你點入本篇文章,會促成我想做這篇的原因,主要是因為在上計概時,突然浮現很多靈感,跟一大堆的問題(教授,為什麼要講的這麼淺白呢?我想知道更多啊啊!),為了一次解決我所有的困惑,於是製作本篇文章。 另外本篇偏向於做題篇,原理部分可能點到為止。 若文章有任何疑點及錯誤的地方歡迎提出。 Excess Notation(移碼、偏移表示法)Excess Notation(也叫超額表示法)主要用於浮點數的指數(exponent)部分。 原理是將實際的數值加上一個固定的偏移值(bias)(如 127 或 1023),使得所有可表示的數值都變成非負數,並以便於無符號(unsigned)方式儲存與比較。 於 Excess Notation 中,假設偏移量是 $N$ ,則實際要表示的數 $x$ 會轉成儲存值 $x{excess}$ 。 $$x{excess} = x + N$$ 舉一個例子,IEEE 754 單精度浮點數的指數以 excess-127 表示(dash 後面的 127 就是偏移量),若指數為 $2$ 那儲存值就會是 $2 +...
【Uva 題庫解題】C++ 個人解題筆記 - part4
【Uva 題庫解題】C++ 個人解題筆記 - part4本次題庫擷取自 CPE 2025/09/30 歷屆考題(本文撰筆日期 2025/10/03 時 CPE 官網尚未更新,但在瘋狂程設已有歷屆試題)。 練習題第一題是 Hello World,第二題為 Rock, Scissor, Paper,第三題則為必考題 Fourth Point,第四題是 LCM Pair Sum。 Uva 10443 - Rock, Scissor, PaperUva Online Judge:https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1384 No Zerojudge :( PDF Source:https://onlinejudge.org/external/104/10443.pdf 題目翻譯: Bart 的妹妹 Lisa 在一個二維網格上創造了一個新的文明。一開始,每個網格位置可能被三種生命體之一佔據:石頭(Rock)、剪刀(Sci...
【VSCode & Ubuntu】超詳細教學!如何在 VSCode 遠端控制 VMWare Terminal
【VSCode & Ubuntu】超詳細教學!如何在 VSCode 遠端控制 VMWare Terminal大家好我是 LukeTseng,會想撰寫本次文章主要是因為在虛擬機與 Windows 之間切換複製貼上、打指令太麻煩了,而且 Ubuntu 的 vim 編輯器用的不是那麼習慣XD,所以特此製作本篇文章介紹如何在 VSCode 透過 SSH 遠端控制 VMWare Ubuntu 的 Terminal。 若本篇文章部分指令或敘述有誤,麻煩各位敬請勘誤,感謝你的閱讀。 若還沒安裝過 VSCode 的可以前往該連結下載:https://code.visualstudio.com/ VSCode Extension : Remote - SSH在左側欄位找到一個有四個方塊圖案的,點下去後,來到我們的擴充商店,搜尋 Remote 即可找到 【Remote - SSH】插件。 註:這邊我已經安裝過了,所以會出現 Uninstall 的字樣。 虛擬機設定開啟我們的虛擬機,開啟【Edit virtual machine settings】: 找到 【Network Adapter...






