阿Han
92
位追蹤者
追蹤
哈囉,我是阿Han,是一位 👩💻 軟體工程師,喜歡閱讀、學習以及撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習。
阿Han的沙龍
90
會員
258
內容數
加入
前往沙龍
哈囉,我是阿Han,是一位 👩💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
加入
前往沙龍
發佈內容
我的成就
由新到舊
【💊 Python的解憂錦囊】python -m build 打包時也能包含被引用的目錄
情況描述 我們在「【🔒 Python 先修班】教你親手打包專屬套件庫的手作課(pip install…)」有提到如何打包Python讓自己的程式變成套件, 讓其他人可以用pip install的方式進行安裝,😲 But… 我們實際上打包後, 發現到引用的檔案都有被打包進去,但目錄卻未被打包
2024-04-26
4
【💊 Python的解憂錦囊 - FastAPI】使用 lifespan 來共享資料與管理生命週期
我們在「【🔒 Python API框架篇 - FastAPI】Ep.1 啟航」有分享 FastAPI 這套API框架, 那麼當我們想要在應用程式剛執行時就註冊一些事件或者共享GPU運算模型、變數…等,當整個應用程式關閉時也進行釋放作業, 這樣的一個週期循環就是所謂的生命週期, 而在FastAPI這
2024-04-23
3
【🔒 影像辨識 - OpenCV系列】Ep.4 關於FPS
Frames per second簡稱FPS, 也就是每秒幾個幀數的意思, 平常我們看到的影片背後其實都是一張張圖片的組成, 而這一幅畫面就是影片的每一幀。 由於人眼的特殊生理結構, 畫面的幀數只要高於每秒10 - 12張的時候就會認為是連貫的, 這也就是為什麼電影膠片是一格格的拍攝出來, 但是藉
2024-04-19
2
【💊 Python的解憂錦囊 - FastAPI】Sharing State讓路由共享資訊
當我們在開發一個AI應用服務時, 常常會需要載入大模型, But… 我們總不可能每一次的請求就載入一次模型吧! 這樣太沒有效率了, 也非常的浪費資源, 因此我們通常會希望應用程式啟動時就能夠載入模型, 之後每一次的請求只要讓模型進行運算即可, 那麼在FastAPI的框架中究竟要如何使用呢? 首
2024-04-16
7
【🔒 Python API框架篇 - FastAPI】Ep.1 啟航
關於FastAPI這個框架為什麼有什麼樣的優勢, 為什麼會這麼熱門? 歡迎參考「【Python 技術選型】如何選出適合的API框架呢?」。 站在巨人的肩膀上 FastAPI主要基於以下兩個重要的元件組成, Starlette與Pydantic, 就讓我們來看看兩者的關係吧! 安裝 pip
2024-03-26
5
【Python 知識科普】 關於WSGI與ASGI
使用Python開發後端API的經驗中應該會常常看到WSGI與ASGI這兩個名詞, 兩者的差異究竟是什麼呢? 就讓我們來為您科普一番。 什麼是WSGI 全名為「Web Server Gateway Interface」 Web伺服器閘道介面,主要規範HTTP請求如何與伺服器溝通, 通
2024-03-19
6
【Python 技術選型】如何選出適合的API框架呢?
當我們在撰寫一套系統的時候, 總是會提供一個介面讓使用者來觸發功能模組並回傳使用者所需的請求, 而傳統的安裝包模式總是太侷限, 需要個別主機獨立安裝, 相當繁瑣, 但隨著時代的演進與互聯網的崛起, 大部分的工作都可以藉由網頁端、裝置端來觸發, 而伺服端則是負責接收指令、運算與回傳結果, 雲端
2024-03-12
4
【💊 Python的解憂錦囊】OpenCV如何讀取特定時間區段?
當我們在進行影像處理時, 在Python的世界最常聽到的就是OpenCV, 而我們在處理影片時也會想要僅針對某時間段的影片進行處理, 今天我們就來教您如何透過OpenCV來讀取特定的時間區段。 在進入主題之前, 有一些基本概念務必先行建立, 一個影片是由多張圖片組成的, 因此最小單元為一張圖
2024-03-05
6
【Python 軍火庫🧨 - silero-vad】 偵測語音活動的神兵利器
當我們在進行「語音辨識」的應用開發時, 首先會面臨一個問題, 那就是究竟要怎麼知道哪些段落是「人在說話的區段」, 精確的標示出這些區段之後, 我們除了可以儲存成純對話的段落, 還可以做出時間軸的字幕檔, 應用非常廣泛, 因此學會怎麼用VAD是進入語音領域非常重要的其中一個環節。 VAD代表
2024-02-27
6
【🔒 影像辨識 - OpenCV系列】Ep.3 點陣圖與向量圖
點陣圖 點陣圖是由許多方格像素組成的圖片, 因此我們常常在將圖片放大時會呈現像是馬賽克的狀況, 假設期望圖片越清晰那所需要的像素會較多個, 因此空間耗用量也相對較大。 常見的格式有: .JPG .PNG .GIF .BMP .TIFF等格式。 繪製程式碼: 向量圖 向量
2024-02-22
6
【Python 軍火庫🧨 - EasyOCR】讓我們對圖片進行文字辨識吧
EasyOCR是一個能夠幫助你對圖片中的文字進行辨識的工具,透過進階分析,可以應用在文件掃描、自動化數據輸入、發票掃描等領域。本章節將介紹如何安裝、引用模型、進行文字辨識、以及辨識結果的分析。透過學習,你可以建立屬於自己的文字辨識系統。
2024-02-20
8
【💎Python 軍火庫 - websockets】傳送/接收音檔並轉換成numpy(進階篇)
我們在 【Python 軍火庫🧨 - websockets】傳送/接收音檔並轉換成numpy(基礎篇) 有聊到要如何透過Websocket來傳送音檔,但上一篇的作法是在Client端就進行音訊的解碼動作,這樣會有一個缺點,假設Client的機器運算效能較差,那麼運算的結果勢必會較慢出現,對於使用者
2024-02-13
4
【Python 軍火庫🧨 - websockets】傳送/接收音檔並轉換成numpy(基礎篇)
關於Websockets的篇章, 有興趣的朋友歡迎參考: 【Python 軍火庫 - websockets】雙向溝通的渠道 【Python 軍火庫 - websockets】用json來溝通吧! 而這一篇章的主題主要是來分享如何透過websockets傳遞音檔並進行解碼, 我們都知道聲
2024-02-12
3
【🔒 影像辨識 - OpenCV系列】Ep.2 關於影像的顏色
繼上次分享的「【🔒 影像辨識 - 影像處理】Ep.1 關於影像的基本單位, 相信我們對於影像的儲存應該有了基本的認識了, 那麼接下來我們會需要的是了解顏色的組成。 我們除了在文章裡講述概念之外, 也會提供實作的數位作品分享給大家, 請大家根據範例學習與練習。 關於顏色 灰階的時代 早期尚未
2024-02-07
7
【Python 軍火庫 🧨 - websockets】用json來溝通吧!
本文介紹了Python如何使用websockets進行雙向溝通,包括文字、json、xml和音訊的傳遞。特別著重於json資料交換格式,以及websockets通道的基本流程和關鍵的編碼與解碼。最終談到WebSocket對於傳統同步程式的轉變及對asyncio等套件的重要性。
2024-02-06
5
【🔒 影像辨識 - OpenCV系列】Ep.1 關於影像的基本單位
歡迎來到「阿Han的軟體心法實戰營 - 影像處理」系列的文章區,我們會針對影像處理的相關知識、開發技巧進行分享,並教你手把手用程式寫出屬於自己的影像處理程式, 當然也會包括AI模型訓練的部分,就讓我們一起來探索影像處理的領域吧! 在進入影像辨識的世界之前, 我們先來了解一下關於解析度的基本概念吧!
2024-02-04
5
【💊 Python的解憂錦囊】 函數裡的1個*args與2個**kwargs有什麼不同?
我們常常在看開源專案時, 會在函式中看到「*args」與「**kwargs」這兩個參數, 一直以來都很好奇也尚未使用, 趁著好奇心強烈的時期趕緊來了解一番, 並且將學習過程轉化為易懂的概念提供給有需要的朋友參考, 也期望我們能夠共同學習程式語言, 讓科技引領世界進步。 首先是 *args 會
2024-02-02
7
【Python 軍火庫🧨 - websockets】雙向溝通的渠道
Websocket是一種網路傳輸的協定,讓建立一次handshake的過程就可以相互傳遞資料,而非同步的過程能夠讓處理事情更有效率,這篇文章將帶你深入瞭解Websocket如何運作、以及其特點與優勢。
2024-01-29
7
【🔒 江湖一點訣】不要讓軟體開發引發 🥊 超派鐵拳 的對立內耗
這篇文章主要討論了Toyz超派事件背後的訊息與軟體研發的關聯性,並提出瞭如何減少被批評、以及如何讓機器充當QA的建議。另外也推薦了一些關於良好寫作習慣的主題。通過AI協助排除繁瑣事務,著重於高品質的人際互動,減少分歧與紛爭。
2024-01-25
3
【Python - asyncio】非同步 I/O 簡介
為什麼需要非同步? 我們在「【Web微知識系列】 Web Workers」有介紹到在瀏覽器可執行腳本Javascript環境底下如何完成非同步的操作, 主要是為了讓任務更有效率的進行, 不會因為一個非常耗時的工作堵塞住整個服務, 導致無法服務他人的窘境。 大家應該經常在餐廳裡會看到服務員協
2024-01-23
7
【🎓 Python的深度問答集】torchaudio 對部分段落進行音訊解碼
torchaudio 是 PyTorch 的官方音訊處理庫,提供了許多用於音訊數據讀取、轉換和處理的工具和功能。它旨在簡化音訊數據的加載、預處理和後續處理過程,同時與 PyTorch 緊密整合, 包括我們常常用於資料科學處理的Tensor資料。 這個篇章主要在分享我們如何使用標準的I/O進行讀
2024-01-21
5
【💊 Python的解憂錦囊】soundfile Not allowed for existing files (e
我們在處理音檔時常常會使用到 [soundfile](https://pypi.org/project/soundfile/) 這套工具, 當我們試圖讀取檔案時卻發生了這樣的錯誤訊息… TypeError: Not allowed for existing files (except 'RAW')
2024-01-16
5
【💊 Python的解憂錦囊】multiprocess/multithread 如何重複使用大模型
關於多執行緒/多行程的使用方式 在Python 3.2版本之後加入了「concurrent.futures」啟動平行任務, 它可以更好的讓我們管理多執行緒/多行程的應用場景,讓我們在面對這種併發問題時可以不必害怕, 用一個非常簡單的方式就能夠處裡, 底下我們將為您展示一段程式碼: imp
2024-01-09
5
【💊 Python的解憂錦囊】OSError: [Errno 99] error while attempting t
這個問題發生在我們開發Python的Websocket Server時, 使用以下的程式碼架設服務 start_server = websockets.serve(server, 'localhost', args.port) async with start_server:
2024-01-02
6
【程式語言 - Nodejs】431 Request Header Fields Too Large
咦!奇怪, 怎麼網頁用一用就出現以下的畫面了, 到底是怎麼回事啊? 不用慌張, 讓我們仔細看看中間的「HTTP ERROR 431」,看到這樣的錯誤代碼, 相信心中隱約已經知曉我們的請求標頭內容太大了, 超過限制導致這樣的問題發生, 讓我們先詳細查閱這樣的錯誤訊息吧! 📚 https://
2023-12-26
6
【Linux疑難雜症】Linux如何快速檢查csv某個欄位值是否重複
情境描述 小明身為Linux系統工程師, 目前接到一個緊急任務, 需要在客戶端確保csv表的某個欄位的值不能重複, 對於軟體工程師來說只要寫個程式就能夠解決, 但客戶端並沒有相關的程式語言啊! 這時候只能夠使用現成的工具來完成,而經驗老道的我們很快就想到了解決方法, 不要急, 就讓我們一步
2023-12-19
8
【🔒程式碼質量案例 】函數太過複雜 …has a Cognitive Complexity of (exceeds
歡迎來到 【👌 程式碼質量案例】 系列, 這邊我們將分享實際開發過程中會遇到的程式碼難以維護的案例及解決方法, 期望透過這些技巧讓我們的產品更加的穩健也更容易於維護。 P.S 本篇會以Python程式語言進行示範, 其他語言的處理方式也雷同, 包括Javascript、Golang…等。 📖
2023-12-15
10
【💊 Python的解憂錦囊】亂數按比例分配資料集
假設我們今天想要訓練一個AI模型, 那麼我們會有一批大型資料集, 通常會根據比例來切分三個模型訓練所需的訓練集(train)、驗證集(dev)、測試集(test), 而我們本次會示範一下Python如何對一個List清單進行切分, 基本上大同小異, 我們只要掌握作法即可概念相通。 任務提示
2023-12-12
7
【🔒程式碼質量案例 】參數太多的煩惱 …has 5 arguments (exceeds 4 allowed)
歡迎來到 【🔒程式碼質量案例 】 系列, 這邊我們將分享實際開發過程中會遇到的程式碼難以維護的案例及解決方法, 期望透過這些技巧讓我們的產品更加的穩健也更容易於維護。 P.S 本篇會以Python程式語言進行示範, 其他語言的處理方式也雷同, 包括Javascript、Golang…等。
2023-12-08
7
【💊 Python的解憂錦囊】typing模組 - 自由彈性之下帶點引導的TypedDict
我們在使用Python語言進行軟體開發時, 常常會需要dict這個資料結構來儲存複雜結構的資料, 就如同JSON一般, 我們會具有這樣的Key/Value模式組成的資料結構, 如下圖: 而當我們在Python的世界裡, 除了嚴謹規範資料欄位的@dataclass之外, 更常使用的就是「di
2023-12-05
7
【💊 Python的解憂錦囊】Click如何驗證參數?
我們在「【🔒 Python 先修班】👆 打造友善的使用者互動CLI介面」有介紹Python的Click命令列參數設計介面的方式, 那我們除了設計出介面提供使用者互動之外, 有時候也需要一點驗證機制, 畢竟我們心裡都清楚「garbage in, garbage out」的後果, 為了減少這種狀
2023-11-28
7
【🔒 Python 先修班】🖌️ 裝飾器(Decorator),人要衣裝、 佛要金裝、 程式函式更要封裝
寫程式不僅只是能動, 更要能夠看得懂, 如果我們的程式碼可以更貼近人類能懂的語言時, 後續的維護肯定會大幅度的減少成本, 想想我們回頭看看三個月前的程式碼是什麼感受吧…😫😫😫, 為了避免這樣的窘境, 我們還真的應該好好的為我們的程式碼負責, 除了「【🔒 Python 先修班】培養良好的Cod
2023-11-24
5
【Linux疑難雜症】Bash腳本將執行指令記到LOG檔並同時輸出於螢幕的tee
我們在進行Linux作業時, 常常會撰寫一些腳本來進行我們的任務, 而我們執行任務當下假如沒有將當時的參數紀錄起來常常事後追朔時很容易就遺漏掉, 尤其是在AI模型訓練這一塊, 每次的訓練都是好幾個小時甚至好幾天⏱️⏱️⏱️, 我們常常會需要對模型訓練的參數與結果進行分析, 那麼蛛絲馬跡就非常重要了,
2023-11-21
6
【🔒 Python 先修班】👆 打造友善的使用者互動CLI介面
您是否苦於網路資訊爆炸嗎? 教學何其多,但卻無法好好選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。 使用Linux作業系統的朋友們應該對於「htop
2023-11-17
6
【Python 軍火庫 - Click👆】一「點」就通的CLI使用者互動介面
Python雖然是直譯式的腳本語言, 用起來非常方便, 但當我們的工具越發成熟時, 就會需要將使用方式、介面給設計好, 那通常都會用來處理後端伺服器的作業, 也比較面向IT端, 因此我們通常會以Command Line的形式與使用工具的人進行互動, 而內建模組雖然有「argparse」可以讓我們
2023-11-14
10
【Linux疑難雜症】關於pushd與popd的妙用
我們偶爾在Linux的Bash腳本都會看到「pushd …」、「popd」的影子, 一開始看到也覺得這是什麼碗粿…, 這樣很難讀耶, 但指令被發明出來一定是有它存在的意義與道理的, 我們不能因為未知就直覺的認為該指令毫無作用, 而是要在正確的情境之下去使用。 pushd與popd我們就理解
2023-11-08
8
【程式語言 - Go】關於Struct List的排序
排序這個動作在軟體開發中常常會使用到, 從使用者期望所見的順序到資料處理的效能議題都與排序息息相關, 因此掌握程式語言的排序功能是非常重要的一個環節, 而我們在閱讀他人的Go專案程式碼時也會看到排序的方式有些許不同, 那究竟有何差異呢? 就讓我們繼續看下去吧… 其實在進入今天的主題之前, 我們
2023-11-03
13
【🔒 Python 先修班】🧐 請加入自動化QA(pre-commit)來幫我們檢核程式碼
您是否苦於網路資訊爆炸嗎? 教學何其多,但卻無法好好選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。 我們開發程式的時候, 常常會使用Git來管理我們的
2023-10-31
10
【Python 軍火庫🧨 - Ruff】更加豐富強大的Python Linter
我們在「【🔒 Python 先修班】⬆️ 培養良好的Coding Style讓專業度 Up!Up!Up!」談到了Coding Style, 在文末也分享了pylint的程式碼檢查工具, 雖然內建、簡單快速上手, 但隨著技術的演進, 我們總需要又快、又好、又簡單的工具做為預設的工具庫, Ruff
2023-10-28
13
【💊 Python的解憂錦囊】如何在multithread/multiprocess傳遞固定參數?
撰寫Python的朋友都知道multithread/multiprocess能為我們帶來效能的改進,減少硬體資源的閒置,但在撰寫的過程中常常會發現到我們所設計的工作池模式會需要將「待辦清單」的工作項目當成參數傳遞進去執行, 除了「待辦清單」之外, 其餘的參數基本上都是固定的, 基於這樣的需求之下
2023-10-24
10
【💊 Python的解憂錦囊】如何將@dataclass的資料結構轉成csv並輸出
我們在「【💊 Python的解憂錦囊】如何將dict轉成json並儲存」有介紹過如何將dict型態的資料轉換成json,除了json之外, 另一個耳熟能詳的資料交換格式就是csv了, 我們常常會將csv讀進來, 並使用預先設計的@dataclass來存放, 如此一來實際運行時, 更能夠貼近於我
2023-10-21
10
【💊 Python的解憂錦囊】如何將dict轉成json並儲存
關於json的資料交換格式請參考「【程式語言 - Javascript】輕量資料格式 JSON」, 我們常常會在使用套件的過程中發現回傳值的型態都會有「dict」的蹤跡, 為什麼呢? 因為動態、彈性、靈活, 不需要預先定義類別來明確指定每個欄位的內容, 但缺點就是文件必須寫清楚內容物是哪些, 否
2023-10-17
10
【🔒 Python 先修班】📜 讓事件留下點證據的Log模組
您是否苦於網路資訊爆炸嗎? 教學何其多,但卻無法好好選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。 系統運行的過程中難免會發生一點小插曲, 意外難免, 但
2023-10-14
11
【Python 軍火庫🧨 - functools】使用partial來設計函數樣板
「functools.partial」是Python中的一個標準函式庫,它可以讓我們基於既有的函式封裝成多種不同用途的函式,就如同上圖所示,我們設計了一個乘法(multiply)的函數,使用了partial讓函數的參數「c」固定下來依據用途不同變化出「double」、「triple」,這樣一來我
2023-10-11
11
【💊 Python的解憂錦囊】torch.hub.load載入Local模型
最近正好在研究「silero-vad」這套工具, 但根據官方教學,預設的載入方式會從網路上進行下載模型的動作: model, utils = torch.hub.load(repo_or_dir='snakers4/silero-vad',
2023-10-03
14
【🔒 Python 先修班】🧙♂️給正在踏上軟體業修仙之路的一篇概覽秘笈Part.1
這一篇主要來談談公司的團隊在於開發一套系統時,對於程式語言開發的初入者需要學些什麼樣的重要技能,對應到Python我們應該學哪些? 畢竟我們的時間、資源、精神都有限,不可能每一樣都學習到深入,所以我們需要的是正在業界的前輩所分享的經驗談,正好您也很幸運的看到這一篇,濃縮了軟體開發生涯中幾年的經驗,並
2023-10-02
13
【💊 Python的解憂錦囊】devpi上傳時…不料卻發生了ConnectionResetError
我們在「【💎Python 軍火庫 - devpi】pip install…等太久了嗎🤔? 您需要來點緩存機制」有介紹過pypi套件緩存的架設方式, 那架設好了之後, 我們在下載的部份會有一層快取及代理的前哨站, 但假如我們的套件不在pypi平台時怎麼辦呢? 就像torch的套件就必須仰賴外部的來
2023-09-28
9
【💊 Python的解憂錦囊】如何檢查套件版本
相信玩過Python一陣子的朋友應該曾經都遇到過套件版本衝突的問題吧…, 這實在是很惱人, 但如果我們能夠快速的檢驗我們所安裝的套件是否如我們所預期的版本, 該有多好, 如此一來能夠讓自己更加安心一些, 那麼今天將提供兩種方法讓我們來檢查一番。 列出所有套件及版本 簡單且暴力。 pip lis
2023-09-27
7
【創意思考系列】曼陀羅思考法Ep.1 - 關於左腦思維的垂直思考法
圖片來源... 垂直思考法顧名思義就是將問題由上到下深入思考,直到發現問題的核心,嗯...,聽起來很理想,但我們也很容易落入陷阱喔! 以下會用一個實際案例來加以說明,讓大家更容易了解到垂直思考的缺陷之處,因此除了垂直思考以外,還需要搭配水平思考才能相互輔助,下一章我們會來說說水平思考如何補足垂直思
2023-09-25
5
【💎Python 軍火庫 - devpi】pip install…等太久了嗎🤔? 您需要來點緩存機制
pip下載與安裝的過程太久嗎? 網路斷線怎麼辦? 內網需求怎麼達成?…, 相信這幾個心中的疑問在我們開發Python的過程中都會遇到, 尤其是一個完整的套件需要依賴上千百種的額外套件時, 這個過程真的是非常久啊! 難道我們不能加速嗎? 看到這篇的您非常的幸運, 我們會實際教您如何架設本地端的Pyth
2023-09-22
8
【🔒 Python 先修班】📄 請試著用dataclass來框住資料
您是否苦於網路資訊爆炸嗎? 教學何其多,但卻無法好好選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。 身為專業的軟體開發者的我們, 除了讓程式會動之外, 也
2023-09-21
8
【💊 Python疑難雜症】TypeError: exceptions must derive from Base..
當您看到這樣的訊息時: TypeError: exceptions must derive from BaseException 可能會很困惑究竟是什麼原因導致這樣的錯誤發生, 那本章節將會告訴您以下: 怎麼發生的? 怎麼解決? 我們應該用Exception或BaseException嗎
2023-09-19
9
【🔒 Python 先修班】用心 🛡️ 守護我們辛苦打造的程式(Unit Test單元測試防護指南)
歡迎支持與學習,讓阿Han幫您脫離無限加班的惡性循環… 您是否苦於網路資訊爆炸嗎? 教學何其多,但卻無法好好選擇的困境呢? 歡迎加入實戰營, 這裡不給您冗餘的雜訊, 單刀直入直接送您重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。
2023-09-16
5
【💊 Python的解憂錦囊】 tqdm進度條客製化工序
我們在「【Python 軍火庫🧨 - tqdm】讓我們為工作加上進度條吧」介紹了tqdm進度條的基本用法, 基本上的使用案例都沒什麼問題, 通常也都是以「數量」為單位進行進度的回報, 但假設我們今天處理的任務是關於音訊的部份呢? 這時候更新的單位就需要從「數量」轉為「時間」了, 那tqdm有提供這
2023-09-14
7
【💊 Python的解憂錦囊】ArgumentParser 布林與陣列的處理技巧(boolean/array)
您是否苦於網路資訊爆炸嗎? 教學何其多,但卻無法好好選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。 我們是不是常常看到一些很厲害的專案, 只要「pip i
2023-09-13
8
【🔒 Python 先修班】🆘 正確的處理例外錯誤(Try…Except…), 讓我們降低例外的錯誤因子
學習軟體開發的路上常常苦於網路資訊爆炸嗎? 教學何其多,但卻遇到無法明確選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您業界開發重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。 人生的道路中總會來點意外與
2023-09-12
10
【Linux疑難雜症】終止程序(kill process)的關鍵密碼
我們執行應用程式的時候,如果應用程式存在著BUG導致系統沒有回應時,在Windows體系之下我們可以用「Ctrl + Alt + Delete」開啟工作管理員並找到該程式進行強制終止,但Linux呢? 我們來看看究竟要如何下指令來強制終止吧! 第一式: 逐個突破 我們的程式發生問題導致系統延宕時
2023-09-11
11
【Python 軍火庫🧨 - tqdm】讓我們為工作加點進度條吧
我們在安裝程式的時候, 通常安裝包都會有進度條的顯示, 雖然那是GUI的部份, 但命令列是否也可以這樣呢? 答案是可以的, 在Python就有這麼一套工具專門在顯示我們程式運行的進度, 只要掌握如何回報進度、更新進度, 接下來渲染與互動的部份就交由tqdm這套件去處理即可。 這會對於我們在掌握
2023-09-09
5
【🔒 Python實戰營 - Data Science 必修班】Pandas 資料清洗技 - 整形式
繼「【🔒 Python實戰營 - Data Science 必修班】Pandas 資料清洗技 - 填補式」之後,我們已經學會怎麼填補空缺資料了,那這個章節我們來教您如何對某些欄位有條件的整形,有時候我們的資料來源某些欄位資料格式不一,甚至型態都不是正規統一的值,此時我們就需要針對這些值進行一些處理
2023-09-08
5
【資料交換格式 - TOML】更加人性化的資料交換格式
上一篇我們為您帶來了「【資料交換格式 - YAML】YAML真的有比較好嗎? 與JSON相比又如何?應用場景…」,相信對於YAML與JSON這兩種資料交換格式已經相對的熟悉了吧,那這次我們介紹一個更新的資料交換格式TOML,從上一篇我們可以知道YAML相較於JSON之下帶來了許多的好處,也越來越多的
2023-09-07
8
【💊 Python的解憂錦囊】Milliseconds To hh:mm:ss(毫秒轉成小時、分鐘和秒)
您是否苦於網路資訊爆炸嗎? 教學何其多,但卻無法好好選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。 有時候我們在處理字幕檔或者是音訊時, 常常會計算時間這
2023-09-06
7
【Python 軍火庫🧨 - tenacity】升級裝備囉! 讓你寫出來的程式更加的強健
我們開發程式的過程中難免會依賴DB或其他服務, 但複雜的網路環境下我們並沒有辦法確保我們發送的請求是否正確的送達, 因此我們可以在程式中加入Retry機制, 提升我們軟體的強健性。 然而在Python的程式語言裡正好有一個 tenacity 套件非常適合讓我們的Retry作業更加順利, 它是一
2023-09-05
9
【🔒 Python 先修班】培養良好的Coding Style讓專業度 Up!Up!Up! ⬆️
軟體開發的時候, 我們通常會與一個團隊一起奮鬥, 那團隊之間勢必需要培養一個良好的默契, 以及相近的風格, 這樣共事起來才會更加的有效率, 而Coding Style就是讓團隊具有一個參考的標準, 但風格百百種, 我們究竟應該怎麼選擇呢? 這個篇章我們會建議及幫助您選擇一個良好的Coding St
2023-09-04
9
【💊 Python的解憂錦囊】 setuptools.errors.PackageDiscoveryError: ..
這個章節雖然發生問題, 但也很好的為我們如何解決問題的能力而訓練, 我們也會搭配AI來幫我們找問題, 當然也會一五一十的告訴您該如何問對問題, 關於問對問題很重要可以參考「」, 我們相信過程會對大家有幫助, 請耐心閱讀…, 我們會告訴您AI說正確但事實上並非正確的情境。 我們在「【🔒 Pytho
2023-09-03
7
【🔒 股市韭菜系列】明年股息推算,以「xx」為例
為什麼股息的推算很重要? 當第三季財報公布後到隔年第一季之前是財報的空窗期,這段期間並不知道第四季的狀況,因此最適合用來推估明年的股利,並對照目前股價來計算是否為便宜價,至於如何推估呢? 首先我們需要觀察一段區間,並且評估這間公司盈餘的分配比例,那麼唯一的變數就是在第四季的EPS,只要我們合理的抓一
2023-09-02
5
【🔒 Python 先修班】我應該怎麼開始學Python?(培養您的🤖 AI腦)
您是否苦於網路資訊爆炸嗎? 教學何其多,但卻無法好好選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。 ✅ 在這裡可以學到什麼 這裡您可以學到業界開發的實戰
2023-09-01
11
【Python 疑難雜症 - Pytube】RegexMatchError: channel_name: could..
我們在「【資料處理神器區 - Pytube系列】 蒐集情報讓數據會說話」有介紹怎麼分析Youtube影音資訊,但過程中卻遇到了一些問題...,沒關係,動動手做個Maker來解決麻煩吧! 前景提要 故事是這樣的, 小明在使用pytube進行Youtube頻道的分析時, 發現到奇怪, 原本抓影片可以
2023-08-31
10
【🔒 江湖一點訣】從山道猴子的一生來聊聊軟體開發
⏳ 限時精選好文,歡迎支持與學習 這陣子看到了「山道猴子的一生」這部影片,非常的寫實也勸世,描寫了社會的現況,...
2023-08-30
10
【Python 軍火庫🧨 - PySubs2】原始碼深度解析 - 如何增加新的段落(append new sub)
我們在「【Python 軍火庫 - PySubs2】 字幕檔提取工具的好幫手(ass、ssa、srt、vtt…)」有稍微跟大家介紹了字幕檔處理工具的基本用法,相信對於讀取字幕,更改文字內容應該是再容易不過的事了,咦…,但我們好像都沒有看到關於新增「段落」的資訊耶,不曉得是我沒有仔細尋找還是真的沒
2023-08-29
8
【Docker】如何掛載遠端主機目錄? NFS Volume
相信Docker近幾年已經是IT與軟體開發者最常使用的一套虛擬系統了, 詳細是什麼就不多說了, 歡迎參考「📚【Docker】初探微服務時代的虛擬化技術」, 而我們使用Docker時, 有時候因為有AI的需求,需要載入別台機器的大容量模型, 但我們又不希望整個模型搬移, 浪費了兩台的空間, 這時候就
2023-08-28
9
【資料交換格式 - YAML】YAML真的有比較好嗎? 與JSON相比又如何?應用場景…
我們在「」有稍微介紹了JSON格式, 也知曉JSON格式非常簡單暴力, 只要一對<key>與<value>就能成行, 對於工程人員來說已經比XML、文字檔…等傳統格式更加容易理解, 而且也具備一定的資料型態基礎, 但使用這麼久以來常常發現到想要對某個欄位註解時好像不太容易, 頂多就是多一個欄位叫做「
2023-08-27
10
【💎 Message Queue - RabbitMQ】 以Docker來說明RabbitMQ的HA機制
⏳ 精選好文歡迎收藏學習... 什麼是MQ? 🎁 送給你以下三篇基礎... 【Message Queue】 井然有序的排隊機制 - 基本介紹 【Message Queue - RabbitMQ】模型架構 【Message Queue - RabbitMQ】 不斷的試誤…, 用Docker來
2023-08-26
8
【🔒 Python 先修班】教你親手打包專屬套件庫的手作課
⏳ 優質好文,歡迎支持與學習,讓阿Han給你最歡樂的學習課程、最貼近業界的實戰技巧…,just for fun fun fun…😄 相信對於具有開發基礎的學員們來說,基本的開發工程相信已經得心應手了, 那麼您們可能會苦於這些問題: ❓ 哇! pip install別人的程式好方便
2023-08-25
4
【程式語言 - Javascript】輕量資料格式 JSON
JSON 全名 JavaScript Object Notation,其格式基本上就是key: value的組成如下: { "name": "Bob", "age": 40, "childs": [ { "name": "Justin", "
2023-08-24
8
【💊 Python的解憂錦囊】取得沒有副檔名檔案名稱(filename without the extension)
請耐心閱讀到最後, 我們會提供更優雅的方式來處理這項需求… 故事起源 我們常常在使用Python的過程中會進行I/O的一些處理, 那麼最基本的就會是讀取檔案列表並對每一個特定的檔案名稱進行處理, 像這樣: import glob mp4_files = glob.glob(os.path
2023-08-23
7
【Hugging Face】Ep.8 專業的標準化推理家(Inference API)
前面幾個篇章已經大致上介紹了Hugging Face這個平台的一些基本概念了,既然我們都能夠在平台上找到各式各樣的模型,而且也能夠照著教學一步步的來下載並使用,但有沒有更簡單的方式呢? 比如說,我們專注在應用端上的開發,AI的推理就藉由平台進行呢? 答案肯定是有的,近期越來越多開源的平台也都開放這
2023-08-22
8
【💎 Message Queue - RabbitMQ】團結力量大的群集架構 Cluster
目的 當消費者和生產者在某個節點故障之下還能夠正常運作。 增加多個節點來擴展訊息的吞吐量。 簡單來說就是打群架,透過多台主機的方式處理龐大的訊息量。 集群的模式有哪些? Cluster: 不支持跨網段。 可以隨意動態增加/減少。 目前常用的方式。 Federation: 應用
2023-08-21
8
【Python 軍火庫🧨 - PySubs2】 字幕檔提取工具的好幫手(ass、ssa、srt、vtt…)
關於字幕檔我們常常會看到「.srt」、「.ass」、「.vtt」…等影片的字幕格式, 但你知道嗎? 這些字幕檔是很重要的一個寶貴資訊, 可以從中對段落的長度、文字進行提取, 此時就需要一個強大的工具來幫我們解析一下字幕檔, 就讓我們來看看怎麼用吧! 安裝 pip install pysubs2
2023-08-20
9
【🔒 Python 先修班】建立不害怕犯錯的開發環境(Docker + Compose + Python + ...)
限時好文,歡迎支持,讓阿Han給你最貼近業界的開發實戰教學… 為什麼不害怕犯錯很重要? 開發的過程中我們最害怕的就是我的程式把系統搞掛了…,這樣一來重新安裝作業系統的成本非常高,包括還原也是,我想這會阻礙我們學習的動力,那究竟有什麼樣的技術能夠讓我們開發的同時也能夠勇於犯錯呢? 答案就是「容器化」
2023-08-19
10
【資料處理神器區 - Pytube系列】 蒐集情報讓數據會說話
這次要來介紹「pytube」這套神器, 當我們需要對影音進行統計分析時就需要使用這把利器來破關, 尤其是AI時代的來臨, 我們會需要大量的資料來進行模型的訓練, 而我們總不可能海量的去撈取這些資料, 會非常沒有效率也浪費空間, 因此我們會先進行偵查的任務, 需要派出偵察隊來蒐集youtube的影音資
2023-08-18
6
【Linux疑難雜症】ssh timeout… WTF 被踢拉…
Linux是一個非常好用、兼具效能、靈活度高的作業系統, 唯一的缺點就是學習曲線較為陡峭, 一開始難以入門, 但假若學會了, 對於我們的作業效率勢必事半功倍, 尤其是軟體工程師、IT人員…。 過程中難免遇到一些零零總總的狀況, 不過沒關係! 一項項慢慢解決即可。 前景提要 有一天,工程
2023-08-17
7
【🔒 江湖一點訣】關於寫作,你不需要很厲害才開始,但你從現在開始就可以很厲害
看到標題有沒有頓時覺得很饒舌? 嗯...,停下來! 再看一次,沒錯,寫作永遠不嫌晚,只要你從現在開始就很厲害...,為什麼? 我要告訴你關於寫作的一個大秘密,請你耐心仔細的看完這篇文章,阿Han會將怎麼開始寫作的、寫作過程中得到什麼、改變了什麼...相關的獨家心法不藏私的全部送給你,但最重要的一句還
2023-08-16
9
【Docker 容器化】初探微服務時代的虛擬化技術
講到Docker之前就必須先談談容器化, 容器化是一種軟體開發的方法, 將程式、依賴及組態封裝在映像檔之中, 那映像檔對於大部份的人來說一定非常的熟悉, 尤其是VM這個詞, 虛擬化技術的先行者, 有了這項技術之後, 我們就可以減少一些因為環境產生的問題導致難以排查程式錯誤的狀況, 甚至可以避免因為A
2023-08-15
10
【🔒 Python實戰營 - Data Science 必修班】Pandas 資料清洗技 - 填補式
繼「【Google Colab Python系列】 資料處理神器 Pandas 起手式」之後,相信對於各位來說已經是小兒科了吧,沒關係! 我們今天來增加一點點小挑戰,你知道嗎? Pandas對於大部分人的第一印象就是「不就表格化而已,有什麼了不起?」、「幫我們整理格式轉換的介接器」...,但其實它不
2023-08-14
6
【Linux疑難雜症】Argument list too long的解決辦法
圖片來源... 故事的起源… 圖片來源... 首先我們來查查看目標的目錄有多少檔案, 結果卻… # 查看檔案有多少量 ll *.txt|wc -l # 悲劇發生了... -bash: /usr/bin/ls: Argument list too long 那我們試著搬移檔案呢?
2023-08-13
7
【Python套件管理區 - PyPI系列】平台開始使用F2A來管制套件囉
一早看著IThome的新聞發現到這個標題「📢 PyPI新帳號現需要啟用雙因素驗證才能執行管理操作」, 而近期幾乎都在接觸Python語言, 在Python的生態圈裡相信對於「pip install…」應該相當熟悉了吧! 但對於背後的平台相信我們不曾仔細去了解一番, 這好藉著這次的觀點也順便來介紹一
2023-08-12
3
【🔒 Python實戰營 - Data Science 必修班】成為初級資料工程師之路
嗨! 各位學員大家好,歡迎來到「🔒 Python實戰營 - Data Science 必修班」,為什麼會設計成必修班呢? 我們都知道AI的趨勢已經勢在必行,前往AI的道路上最基礎的就是資料處理、資料科學,AI模型訓練的過程中最忌諱的就是垃圾進、垃圾出,這不僅在AI模型適用,包括我們傳統的軟體開發
2023-08-11
5
【🔒 江湖一點訣】初入軟體領域的寶典心法碎碎念
幫你揭開序幕 我們忙碌的生活中已經離不開科技,尤其是手機,各式各樣的APP充斥在我們眼前,多元有趣的應用吸引了我們的眼球,也造就了注意力經濟,那麼只要誰家的應用好、夠清晰簡潔,不用過多的解釋就能夠讓用戶上手,在眾多的競爭者中脫穎而出就有機會「賺」到所謂的注意力經濟財,那麼問題來了,這些APP甚至
2023-08-10
5
【資料處理神器區 - NumPy系列】 奠定資料科學的基礎模組(安裝與認識維度)
學習資料科學的過程中相信最熱門的目前應該是Python程式語言了,而Python的世界裡再進行資料科學時最常用的有「Pandas」、「SciPy」、「Scikit-learn」...等,而這些的基礎幾乎都與「NumPy」離不開關係,因為「NumPy」就是地基,這些較為高階的套件則是基於地基發展而起。
2023-08-09
8
【資料庫寶典 - MongoDB】基礎介紹
我們在「【資料庫寶典】什麼是NoSQL?能吃嗎?」有談到一些NoSQL的特性,雖然本質上有所差異,但兩方技術發展的產品也都開始互相支援了,比如說MongoDB後來也發展出類SQL語法讓熟悉SQL的開發者可以降低進入門檻,而SQL、postgresql…等也紛紛納入一些NoSQL的元素,雙方都有開始接
2023-08-08
7
【💎 資料庫寶典】什麼是NoSQL?能吃嗎?
定義 NoSQL並不是真的不用SQL, 而是常被業界定義為「Not Only SQL」, 也就是說不只能透過類似SQL的API來存取這類DB。 發展NoSQL的原因 由於RDBMS面臨到一些難題如下: 1. Big Data 傳統的RDBMS是設計在單個節點上運作, 因此當資料量越
2023-08-07
7
【Google Colab Python系列】 資料處理神器 Pandas Grouping & Reshapi
過往我們有介紹了「【Google Colab Python系列】 資料處理神器 Pandas 起手式」, 相信對於pandas的基本操作具有一定的基礎知識了, 主要著重在基本的操作, 讓我們快速篩選與分析資料, 但真實的世界是有可能具有很多類型的資料集分別儲存, 而不同的資料集又具有一些相似度, 需
2023-08-05
6
【Google Colab Python系列】 資料處理神器 Pandas 合併之術(join、concat)
上一篇我們有介紹了「【Google Colab Python系列】 資料處理神器 Pandas 起手式」, 相信對於pandas的基本操作具有一定的基礎知識了, 主要著重在基本的操作, 讓我們快速篩選與分析資料, 但真實的世界是有可能具有很多類型的資料集分別儲存, 而不同的資料集又具有一些相似度
2023-08-04
4
【Linux 工具箱 - Tmux】如何在pane進行複製貼上?
Tmux對於常常在使用Linux或者Mac作業系統的朋友來說是一個非常方便的工具, 可以讓我們工作效率提升, 快速切換多個終端畫面進行多工處理, 但使用時難免遇到一些狀況跟需求, 而這次分享的主要是如何複製貼上, 相信這也是大部分使用者會遇到的情境, 因此進行經驗的分享與交流。 輸入指令的快捷
2023-08-03
6
【Google Colab Python系列】 資料處理神器 Pandas 起手式
我們都知道AI的模型訓練環節中, 最基礎也是最重要的一環就是「資料」了, 而「資料」要怎麼處理成訓練的養分也是一門重要的工程, 正好在Python的世界裡具有這麼一套神兵利器, 名為「Pandas」, 它是一個快速、強大、靈活且易於使用的開源數據分析和操作工具, 就讓我們好好的來認識一番吧! 乍聽
2023-08-02
4
【元宇宙的奇幻旅程】 VR、AR與MR有何不同?
相信常常聽到元宇宙的世界裡有一個並不陌生又有點距離的名詞「XR擴展實境」,包含了三大核心技術,分別為VR、AR與MR,其中VR與AR較為貼近我們的生活,那三者究竟有何不同呢? 就讓我們持續的看下去吧! VR 虛轉實,把假的變成真的 說到VR最直覺的就是想到VR頭盔吧,它可以帶給我
2023-08-01
9
【Hugging Face】Ep.7 以文生圖的魔幻製圖師(Text To Image)
我們過往介紹了幾個關於文字AI應用的篇章: 【Hugging Face】Ep.5 文字世界中的超能力語言英雄(Named Entity Recognition) 【Hugging Face】Ep.6 解決問題的專業級破關知識家(Question Answering) 但單獨的文字應用似乎不太能
2023-07-31
9
【自我成長】 長話短說的30秒電梯法則
最近讀了「30秒,打動人心說話術」覺得說話技巧真的是非常重要的一環,不論是對於我們的家庭、朋友,甚至是職場上都是關鍵的一項技術,資訊爆炸的時代裡大家想要聽到的通常是整理好的結果或者幾項決策選項,而不是長篇大論的理論與過程,在於行銷上亦是如此,從過往的長文介紹、長影片廣告,到現在的短篇重點精華與短影音
2023-07-30
7
【Linux 工具箱 - Tmux】加快作業效率的神兵利器
熟悉使用Linux系列的開發者最常接觸的就是Terminal終端機了, 而Terminal終端機要如何有效率的運用? 這裡就來推薦一個神兵利器「tmux」, 他可以開啟我們的多工模式, 快速的游移在各個視窗之中敲打程式指令,加快工作效率。 並且背後運行著Server, 當我們進行大型任務的程式執行
2023-07-29
7
【Hugging Face Dataset】 ❗ 使用Process來變更資料集時, 請小心硬碟空間…
圖片來源… 🔍 Huggingface dataset map increase disk space 我們在「【Hugging Face】Ep.3 前往Datasets掏金趣」有稍微介紹過Dataset在Hugging Face裡面扮演著什麼樣的角色,以及如何使用,沒錯! 它非常的好用,也很
2023-07-28
8
vocus 勳章
NFT
了解
如何蒐集勳章