2024年CSS終於實現垂直置中
2024年CSS終於實現垂直置中在2024年,align-content終於可以在塊級佈局中運作了。只需一個CSS屬性就能實現垂直置中,而不需使用Flexbox或Grid。 123<div style="align-content: center; height: 100px;"> <code>align-content</code> 現在可以直接使用了!</div> 支援情況:Chrome: 123 | Firefox: 125 | Safari: 17.4 可以看到只支援比較新的瀏覽器版本,所以使用上還是得考慮一下,總的來說,雖然我們會很興奮地看到新的 CSS...
Docker 容器化進階:自動化部署與 CI/CD 實戰指南
Docker 容器化進階:自動化部署與 CI/CD 實戰指南本文承接從零開始的 Docker 容器化指南,主要討論如何實現全自動化的 Docker 部署流程。透過整合 GitHub Actions、Docker Hub 和自動化工具,我們可以實現程式碼推送後自動更新生產環境的目標。 目錄 自動化部署概述 GitHub Actions 設定 自動更新容器設定 零停機部署策略 備份與還原機制 監控與告警設定 故障排除與回滾流程 最佳實踐建議 自動化部署概述完整的自動化部署流程包含以下步驟: 開發者推送程式碼到 GitHub GitHub Actions 自動執行測試和建置 建立新的 Docker 映像檔並推送至 Docker Hub 生產環境自動偵測並更新容器 健康檢查確認部署狀態 部署流程圖graph TD A[開發者推送程式碼] --> B[GitHub Actions 觸發] B --> C[執行測試] C --> D[建立 Docker 映像檔] D --> E[推送至 Docker Hub] E...
效能狂飆100倍!認識Python精神繼承者Mojo程式語言
什麼是Mojo程式語言?想像一個程式語言,它繼承了Python的簡潔易用,卻能提供與C++相媲美的極致效能,這就是Mojo程式語言。由Swift語言創始者Chris Lattner領軍開發的Mojo,被視為Python的超集合(superset),為AI和高效能運算開啟了新篇章。 為什麼我們需要Mojo?Python雖然是全球最受歡迎的程式語言之一,但在效能方面一直為人所詬病。特別是在AI和機器學習領域,Python的執行速度常常成為效能瓶頸。Mojo就是為了解決這個問題而生,它讓開發者能夠: 使用熟悉的Python語法 獲得接近原生程式碼的執行效能 無需重寫既有的Python程式碼 擁有更好的記憶體管理機制 Python vs Mojo 效能比較 執行時間 (毫秒) Python 100ms Mojo 1ms Python Mojo Mojo的關鍵特色1....
從零開始的 Docker 容器化指南: Vue3 + .NET Core + SQL Server
從零開始的 Docker 容器化指南: Vue3 + .NET Core + SQL Server目錄 Docker 基礎概念 環境準備 SQL Server 容器設定 .NET Core API 容器化 Vue3 前端容器化 使用 Docker Compose 整合服務 資源管理與監控 開發環境設定 網路配置 部署與維護 常見問題與解決方案 Docker 基礎概念Docker 是一個開放原始碼的容器化平台,它可以讓我們將應用程式和其依賴項打包成一個獨立的容器。容器就像是一個輕量級的虛擬機,可以在任何支援 Docker 的環境中運行。 主要優點: 環境一致性 快速部署 資源效率 易於擴展 環境準備 安裝 Docker Desktop 12345678# Windows/Mac 下載並安裝 Docker Desktophttps://www.docker.com/products/docker-desktop/# Linux (Ubuntu) 安裝 Docker Enginesudo apt updatesudo apt install docker.iosudo...
SQL 查詢優化案例研究:提升水位監測系統性能
SQL 查詢優化案例研究:提升水位監測系統性能背景我們的水位監測系統面臨著一個重要的挑戰:主要的數據查詢速度緩慢,造成了「執行逾時到期。在作業完成之前超過逾時等待的時間,或是伺服器未回應。」的問題,導致系統一直發送LINE通知錯誤。這個案例研究詳細介紹了我們如何通過優化 SQL 查詢來顯著提升系統性能。 初始情況系統概況 目前總共有 120 個監測站點(stt_no) 每 10 分鐘向 WaterLevelGaugeHistory 表匯入一次數據 需要查詢每個站點最近 24 小時的最新數據 原始查詢初始查詢涉及多個表的聯接和子查詢,執行時間約為 1 分鐘以上。 12345678910111213SELECT DISTINCT WL.[ID], WL.[stt_name], /* 其他欄位 ... */ WLH.[measure_time], WLH.[val], WLH.[Status], WLH.cstatus, WLH.[Epower], WLH.nodataFROM [dbo].[WaterLevelGauge] WLLEFT JOIN...
WebSocket教程:構建實時聊天應用
WebSocket教程:構建實時聊天應用目錄 介紹 WebSocket基礎 項目設置 後端實現 前端實現 運行和測試 進階主題 結論 1. 介紹在當今的web應用中,實時通信已經成為一個常見需求。無論是聊天應用、協作工具還是實時遊戲,都需要服務器和客戶端之間快速、雙向的通信。WebSocket技術為此提供了完美的解決方案。 在本教程中,我們將深入探討WebSocket技術,並通過構建一個簡單的實時聊天應用來學習如何使用它。我們將使用Python作為後端,JavaScript作為前端。 2. WebSocket基礎WebSocket是一種網絡通信協議,提供全雙工通信通道,運行在單個TCP連接上。與傳統的HTTP請求-響應模型不同,WebSocket允許服務器主動向客戶端推送數據。 主要特點: 雙向通信 實時數據傳輸 較低的延遲 效率高(相比輪詢) 3. 項目設置後端設置 確保已安裝Python (3.7+) 安裝WebSocket庫:1pip install websockets 前端設置只需一個簡單的HTML文件和一些JavaScript代碼。 4....
使用 SQL Server Resource Governor 限制特定資料庫的資源使用
使用 SQL Server Resource Governor 限制特定資料庫的資源使用1. 簡介某次在正式環境使用者抱怨網頁速度太慢,會卡好幾分鐘,於是開始排查問題,發現自己連接SSMS的搜尋也是一樣卡,不太對勁,結果最後發現了是其他專案資料庫排程執行時過度消耗資源,導致其他專案的效能受到影響,最好的解決方案是應該切其他主機,不過沒有其他資源只能想想其他方法。本文將介紹如何使用 SQL Server 的 Resource Governor 功能來解決這個問題,有效地限制特定資料庫的資源使用。 2. Resource Governor 簡介Resource Governor 是 SQL Server 提供的一個強大工具,用於管理 SQL Server 實例中的工作負載和資源消耗。它允許我們為不同的工作負載設置資源使用限制,確保關鍵任務能夠獲得所需的資源。 相比其他方法(如設置 MAXDOP),Resource Governor 提供了更細緻和動態的控制,能夠根據多種條件(如資料庫名稱、登入帳號等)來分配資源。 3. 設定 Resource Governor 的步驟3.1...
深入解析:使用Python構建全面的市場風險監測工具
專案網址 深入解析:使用Python構建全面的市場風險監測工具七月的時候因為許多的利空事件極短時間內發生,結果全球股災,來的速度太快結果都被套牢了,所以想著開發一個使用Python市場風險監測工具,該工具能夠分析多個市場指標,計算風險評分,並提供直觀的視覺化結果。 1. 程式概述這個Python程式主要實現以下功能: 從Yahoo Finance獲取多個市場的歷史數據 計算各市場的波動性和異常情況 基於波動性和異常情況評估市場風險 使用機器學習方法對市場狀態進行聚類 生成多種視覺化圖表以直觀展示分析結果 程式使用了多個Python庫,包括pandas用於數據處理,sklearn用於機器學習算法,yfinance用於獲取市場數據,以及matplotlib和seaborn用於數據可視化。 2. 核心功能詳解2.1 數據獲取程式使用yfinance庫從Yahoo Finance獲取過去90天的市場數據: 123456def get_date_range(): end_date = datetime.now().date() start_date =...
為什麼你應該使用Docker?
為什麼你應該使用Docker?在現代軟體開發和部署領域中,Docker已經成為一個不可或缺的工具。無論你是開發人員、系統管理員,還是 DevOps 工程師,了解並使用Docker都能為你的工作帶來諸多好處。本文將深入探討為什麼你應該開始使用Docker,以及它能為你的專案和工作流程帶來哪些優勢。 1. 一致的開發環境Docker 最顯著的優勢之一就是能夠創建一致的開發環境。通過使用Docker,你可以確保所有開發人員都在相同的環境中工作,無論他們使用的是什麼操作系統。 消除「在我的機器上可以運行」的問題: Docker容器封裝了應用程式及其所有依賴,確保它在任何地方都能以相同的方式運行。 簡化新成員入職: 新加入的團隊成員可以快速設置開發環境,無需花費大量時間進行配置。 版本控制環境: 你可以輕鬆管理不同版本的開發環境,便於在不同專案間切換。 2. 提高部署效率Docker 極大地簡化了應用程式的部署流程,使得從開發到生產環境的遷移變得更加順暢。 快速部署: Docker 映像檔可以在幾秒鐘內啟動,大大縮短了部署時間。 可移植性: Docker 容器可以在任何支援...
從Newtonsoft.Json遷移到System.Text.Json的經驗分享
從Newtonsoft.Json遷移到System.Text.Json的經驗分享引言在.NET Core的發展過程中,微軟推出了System.Text.Json作為內建的JSON處理庫,以替代長期以來廣泛使用的Newtonsoft.Json (也稱為Json.NET)。本文將分享我在從Newtonsoft.Json遷移到System.Text.Json過程中的經驗,特別是一些可能遇到的"坑"以及解決方案。 為什麼要遷移? System.Text.Json的優勢 更好的性能 與.NET...
