SQL Server / 取得資料表使用的容量大小

SQL Server / 取得資料表使用的容量大小

在 SQL Server 下可以透過指令取得各 table 使用的容量和資料列數等資訊: 使用指令統計所有資料表使用容量 另外,根據微軟文件也可以使用 stored procedure 查詢資料表使用容量 (sp_spaceused): 查詢單一資料表使用容量 查詢所有資料表使用容量 Reference Get size of all tables in database | StackOverflow Get size of tables in SQL Server | ParisPolyzos Copyright announcement:Photo by sarah tatton on Unsplash

影音剪輯 / 使用 ffmpeg 分割影片 (指定開始及結束時間或固定時間長度分割)

影音剪輯 / 使用 ffmpeg 分割影片 (指定開始及結束時間或固定時間長度分割)

使用 ffmpeg 可以很有效率地完成很多影片或聲音檔的剪輯動作,安裝 ffmpeg 就不多做討論了可以參考這篇 安裝 ffmpeg 以指令進行影音剪輯,剪輯影像和聲音檔的方式是一樣的,以下就以 mp4 檔為範例。 依據給定的時間切割影片 ▍ 給定時間切割影片 (開始時間及時間長度) ffmpeg 基本的影片分割指令僅需給定開始時間和時間長度即可: 其中 -ss 參數指定起始時間、 -t 指定時間長度,上面範例是從影片第 30 秒開始,並切割時間長度為 1 分鐘 (60秒),也就是切割從 30 秒至 90 秒的影片。可以接受 timestamps 格式 HH:MM:SS.xxx 或秒數 s.msec 兩種時間格式 (如上範例)。 -i 、 -c 則為來源檔案及編碼,這裡輸入 input.mp4 檔案並且不重新編碼 (copy)。 ▍ 給定時間切割影片 (開始時間及結束時間) 另外也可以明確指定開始及結束時間切割影片,使用 -to 參數: ▍ 給定時間切割影片並重新編碼 這邊也可以給定編碼資訊分別對影像及聲音重新編碼,以下範例給定影像編碼 libx264 並且不對聲音編碼: 固定時間長度自動分割整個影片 這邊如果我們希望將一個影片檔案,依照給定的固定時間長度將整個檔案分割成數的小檔案,只需要加入...

影音剪輯 / 使用 ffmpeg 指令合併影片及聲音檔 (直接複製資料不重新編碼)

影音剪輯 / 使用 ffmpeg 指令合併影片及聲音檔 (直接複製資料不重新編碼)

最近因為在寫一些關於影片或聲音檔案合併的程式時,發現了 ffmpeg 本身有出了一個以指令介面為主的剪輯程式。其中可以透過這套程式做到基本的影片剪輯、合併、編碼等動作,詳細的指令和使用方式可以參考官方文件。 如果我們想要將一個影片檔案及聲音檔案直接合併起來,例如當我們從 YouTube 上分別將影片的影像及聲音下載下來,最終還是需要將兩個檔案合併成為一個完整的影片檔,這時候就可以簡單透過 ffmpeg 指令去完成。 ▍ 直接複製影像內容,並對聲音重新編碼後合併影片 這邊先簡單介紹最基本的合併動作:直接複製影像內容,不對影像進行重新編碼 (re-encoding),並對聲音重新編碼。這樣的目的是為了加快處裡速度,因為當我們需要對影像進行重新編碼時將會需要大量的運算,那處理速度上就會差很多,但由於聲音的資料量相對小很多,對其重新編碼並不會對速度造成太大的影響。所以一般的狀況下,如果沒有特殊的需要,我們可以選擇直接以這個方式進行合併。指令如下: 其中影像及聲音檔案最好在同一個目錄底下,且檔名應包含副檔名。在這指令下,我們是假設影片檔並不包含聲音資訊,該聲音資訊是分開存在另一個聲音檔當中,所以才需將它完全對應的合併。例如我在 YouTube 下載了影像及聲音檔案後,分別為 video.mp4 及 audio.webm,並且輸出至 output.mp4,那麼就會以下指令進行: 在這邊我們是以 AAC 編碼對聲音進行重新編碼,原因是 AAC 是 MP4 container 可支援的聲音編碼格式之一 (AAC 編碼資訊:FFmpeg Wiki: AAC Encoding Guide),若有需要,也可以替換成任何可支援的聲音編碼格式。 若影像或聲音檔的長度不相同,可以加入--shortest參數,輸出的影片將會結束在較短的時間。 ▍ 複製影像及聲音內容,且不做任何重新編碼直接合併影片 這取決與你的 container 是否可以支援該影音編碼,例如 MKV 對於編碼的支援程度就很高,這時我們可以不對影像及聲音進行任何重新編碼,只需直接複製即可。指令如下: ▍ 替換影片中的聲音,並對聲音進行重新編碼 另一種狀況,如果匯入的影像檔案以包含音軌資訊,但我們想用另一個聲音檔取代,則必須使用-map參數告訴 ffmpeg 這邊採用第一個匯入檔(input)的第一個影像資訊,及第二個匯入檔的第一個聲音資訊。指令如下: 同樣的,這裡也對聲音進行重新編碼,並採用 AAC 編碼格式。 Reference How to merge audio and video file...

Mac / Python使用Selenium爬蟲無法開啟chromedriver

Mac / Python使用Selenium爬蟲無法開啟chromedriver

最近更新MacOS之後發現正在開發的Python爬蟲程式無法啟動chromedriver了,系統出現了下面這段警告訊息: “chromedriver” cannot be opened because it is from an unidentified developer.macOS cannot verify that this app is free from malware. 中文的介面應該會顯示: 無法打開「chromedriver」,因為它來自未識別的開發者。macOS無法驗證此App未包含惡意軟體。 稍微Google一下發現好像很多人都有遇到類似的狀況,大概都是因為新版的MacOS對安全性的要求變得更高,導致許多沒有被認證的程式預設都被禁止執行,有些從網路上下載的程式也有可能遇到這種狀況。 解決的辦法有兩種: ▍取消程式的隔離註記(quarantine flag) 執行步驟: 開啟終端機(terminal) 移動到該程式的目錄下,如我的chromedriver放在下面的目錄下 執行下列任一個指令 xattr 編輯檔案目錄的附加屬性這個系統指令可以編輯檔案目錄的附加屬性,例如系統目錄屬性(com.apple.FinderInfo)或是這邊要講的隔離屬性(com.apple.quarantine)。xattr指令的語法是:xattr <options> attributes <name of application>在chromedirver所在的目錄下,執行xattr指令使用 -d 移除chromedriver的隔離屬性(com.apple.quarantine): spctl 編輯程式的安全性權限標記通常不會是這個原因造成chromedriver無法開啟,不過偶爾還是會遇到類似的狀況。出於安全性的理由,對於一些無法辨識來源的程式系統可能會禁止執行,使用spctl指令可以開啟”任何來源“的程式執行權限。spctl指令的語法是:spctl <option> <assessment label> <label name> <name of application> ▍使用開發者工作(Developer Tools) 第二種方法是使用開發者工作(Developers Tools)。如果你有安裝X-Code的話,可以將chromediver加入系統的開發者工具清單中,開發者工具會忽略隔離標記(qurantine...

SQL Server / 如何取得資料庫列表

SQL Server / 如何取得資料庫列表

想知道目前的 SQL Server 上的所有資料庫列表,可以用 SQL 指令的方式列出資料庫名稱與細節,也可以在 SQL Server Management Studio 上直接點選。 ▍方法一:SQL Query 指令 在 SQL Server 上有一個 master 的系統資料庫,裡面記錄所有關於系統層級的相關資訊,關於 master 資料庫的詳細資訊可以參考微軟的 document:master 資料庫 – SQL Server | Microsoft Docs。其中 dbo.sysdatabases 這張 table 就儲存了每個資料庫的訊息。 執行以下指令: 其中 name 欄位就是目前 SQL Server 上的所有資料庫名稱,後面還有關於資料庫儲存的位置等等訊息。 ▍方法二:直接點選 SQL Server Management Studio 的樹狀圖 如果你的資料庫並不多,或是你是一個害怕使用程式碼的人,沒有將大量資料庫名稱輸出的需求,也許你可以直接點開資料庫的樹狀圖。 在 SSMS 左側的 Object Explorer 中點開...

Win / 如何解除 Outlook禁止存取下列可能不安全的附件

Win / 如何解除 Outlook禁止存取下列可能不安全的附件

我平常工作的時候經常需要透過 E-mail 傳檔案,除了 Excel、Word 檔之外還有很多的壓縮檔、程式碼等。先不說被自己公司 Mail Server 擋下來的郵件,有時候有些附件是被 Outlook 自動隱藏起來。例如上次當我請別人寄送一個 .py 的 python 檔過來,附件檔案就這麼消失了,而信件上方會顯示這麼一條警告:「 Outlook禁止存取下列可能不安全的附件」。 其實這個檔案並沒有被 mail server 檔下,它只是被 Outlook 視為可疑檔案隱藏起來。要解開的方式非常簡單,只需要修改登錄檔機碼即可。步驟如下: 1. 進入登錄檔編輯器 點擊 Win + R 快速鍵,或是從開始列找到「執行」→ 輸入「 regedit 」進入登錄檔編輯器 2. 開啟 Outlook 設定 進入以下路徑,根據不同的 Outlook 版本可能版本號碼會有差 HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Security 3. 將不想被隱藏的檔案格式加入機碼 在 Security 中加入 Level1Remove 字串值 → 並在數值資料中填入不想被移除的檔案格式副檔名,多個副檔名以分號區隔,如 .py;.exe。 再重新打開就看得到剛剛被隱藏的檔案啦~ Photo by Markus Spiske on Unsplash

Design / 免費照片、圖片、icon 分享,可用於平面、網頁、UI 設計 (2019.08更新)

Design / 免費照片、圖片、icon 分享,可用於平面、網頁、UI 設計 (2019.08更新)

▍照片、圖片庫 Unsplash 圖片、照片 Pexels 照片、影片 ▍UI 設計 Flaticon 向量 icon ▍字型 Google Fonts 各國語言字型 ▍綜合素材庫 Envatoelements 圖片、照片、影片、音樂、字體、簡報樣板、WordPress 主題 Freepik 向量圖檔、照片、圖片、向量 icon、平面設計樣板 Copyright announcement:the featured image: Photo by Jeff Sheldon on Unsplash

CSS / 變更選取文字的背景顏色

CSS / 變更選取文字的背景顏色

在 CSS 當中有定義一些偽元素選擇器 (pseudo element selector),他是用兩個冒號 :: 表示指定元素的特定的狀態。例如下面這個 code 就表示所有段落 (p) 的第一行 (first-line)。 那麼要怎麼改變被選取文字的背景色呢?只需要使用 ::selection 這個偽元素就可以囉! 假設我們要改變所有段落中被選取的文字的背景色: 下面這段文字就應用了上面這段 CSS 屬性,被選取的文字背景色會是 #0ABAB5 這個顏色 (tiffany blue): Our deepest fear A Return to Love: Reflections on the Principles of “A Course in Miracles” — Marianne Williamson (1992) Our deepest fear is not that we are inadequate. Our...

CSS / 幫表格加入橫向捲軸,讓超出螢幕寬度的表格不會擠成一團

CSS / 幫表格加入橫向捲軸,讓超出螢幕寬度的表格不會擠成一團

我們在網頁當中加入表格的時候常常會遇上一個問題,就是當表格的寬度已經超過螢幕的寬度要怎麼辦?尤其是手機版的頁面更是容易遇上這樣的問題。還記得 CSS 有一個 overflow 的屬性,但只設定這個屬性是不夠的,還需要對表格的加入以下屬性: 首先要先讓 table 這個物件變成 block 物件,然後在水平方向的 overflow 讓它自動判斷是否有超出寬度的內容,自動加入水平捲軸。 最後是 white-space: nowrap 這個屬性,讓文字不會因為寬度自動斷行,除非內容真的有斷行 <br> 存在。 這是另一篇文章 Tech / 蘋果 Macbook 和 iPhone 的螢幕解析度、尺寸比較表 有用到表格捲軸的範例: ▍ 關於上面三個 CSS 屬性的詳細說明可以參考 W3School 的說明: display: CSS display Propertyonferflow: CSS overflow Propertywhite-space: CSS white-space Property Copyright announcement:the featured image: Photo by The Journal Garden | Vera Bitterer on Unsplash

Tech / 蘋果 Macbook 和 iPhone 的螢幕解析度、尺寸比較表

Tech / 蘋果 Macbook 和 iPhone 的螢幕解析度、尺寸比較表

蘋果因為有 Retina 螢幕之後,我們想知道我們最後呈現在 Macbook 或 iPhone 畫面上的樣子都非常的麻煩,因為他有好多種解析度。例如我們在做手機的 UI 設計、網頁前端畫面、顯示在手機上的照片等等,都會需要注意到解析度的問題。 大多數的狀況來說,幾乎目前的 APP 都不支援 Retina 的呈現,也就是說 Retina 高解析度的畫面輸出只支援少部分的軟體,像是系統原生的照片瀏覽 APP 在顯示照片、影片時就是以 Retina 的解析度在顯示的。 而 Safari 或其他瀏覽器則都不支援 Retina,我猜原因應該是因為目前主流網頁的設計還是沒有以蘋果的 Retina 螢幕做設計,並竟還是有大多數非蘋果的用戶。所以在瀏覽器的設計上,蘋果還是維持原本傳統的解析度輸出。 iPhone iPhone 把畫面顯示到你的螢幕上總共會經過三個 (或四個) 過程,我們可以看到下表有三種解析度,其中最重要的是 Points,我們在做網頁設計或任何不支援 Retina 的 APP 時就會使用到這個解析度。 iPhone Points(logical resolution) Rendered Pixels(resolution) Physical Pixels 像素密度 螢幕尺寸 2G, 3G, 3Gs 320 x 480 320 x 480...