發表文章

本站已搬家!

本站已搬家至https://blog.typeart.cc


歡迎舊雨新知指教!

pyinstaller常用參數

pyinstaller常用參數 -w 不顯示控制台 -D 單一目錄 -F 單一檔案。但啟動速度超級慢(約5秒)。有查到補上 --noupx會正常,實測後仍要5秒多才能正常啟動。目前似乎是無解…可惜啊>< –icon=圖標路徑 –version-file=file_version_info.txt。執行檔右鍵詳細資料的明細內容 組合以後指令如下 pyinstaller -w -D --icon=icon.ico --version-file=file_version_info.txt main.py 其中file_version_info.txt的內容格式 可以由pyinstaller提供的grab_version.py可以取得 所以使用之版本:Python 3.6.5,pyinstaller 3.3.1 為截至po文時的最新版本 # UTF-8 # # For more details about fixed file info 'ffi' see: # http://msdn.microsoft.com/en-us/library/ms646997.aspx VSVersionInfo( ffi=FixedFileInfo( # filevers and prodvers should be always a tuple with four items: (1, 2, 3, 4) # Set not needed items to zero 0. filevers=(1, 1, 0, 0), prodvers=(1, 1, 0, 0), # Contains a bitmask that specifies the valid bits 'flags'r mask=0x0, # Contains a bitmask that specifies the Boolean attributes of the file. flags=0x0, # The operating system for which this file was designed. # 0x4 - NT and...

[Mac]BootCamp windows 安裝在外接硬碟上

圖片
前言 大部份的使用者選購的MacBook,多半落在256gb。畢竟再往上,那價錢更是高不可攀 256gb也足夠一般使用了。但若有偶爾的windows需求,尤其像是不太吃效能的遊戲,對DirectX的要求致使虛擬機無法應付 亦或是使用android模擬器玩手遊,卻發現mac下的模擬器不是功能有缺就是狀況多多… 明明手上MacBook的硬體規格足以支撐這款遊戲,卻因遊戲無mac版而怨嘆。認命地想用Bootcamp執行,卻又發現空間不足夠切割使用…真的會很崩潰啊! 好在隨著windows的演進,微軟已提供Windows To Go便於將整個OS安裝在外接裝置上。讓MacBook可以用外接硬碟啟動winodws,玩玩遊戲或做些較吃效能的WIN ONLY作業,又不必佔用原生空間! 前置準備 MacBook 一台 Windows 一台(虛擬機亦可) 行動硬碟 一個 注意: 為了使win操作速度流利,建議購買 SSD + 外接硬碟盒 自製行動硬碟 SSD容量依個人需求/預算而定。我買256GB,因打算部份容量切成exFAT供mac/win做資料交換 原價屋上可以直接買到免螺絲的外接盒,將SSD直接裝上就行,無需技術背景。我當初是買這款外接盒→ 參考這篇開箱文 若您的MacBook是2016以後,接口為USB 3.1 Type-C。注意外接盒要買轉成USB 3.1 Type-C的,不要買錯了唷! 若追求外觀小巧,SSD建議購買m.2 sata或m.2 PCIe 我的MacBook Pro是2015款,接口usb 3.0最高理論速度僅在5gb/s。SSD再快也跑不到,故我採用m.2 sata m.2 sata有在細分 2280(長版)與2242(短版),為板子長度差別。追求外觀像一般的小隨身碟的話,可選2242(短版) 跟朋友討教後,2242(短版)效能會較差些,故我選購2280(長版) 若以後換新款MacBook,只需要再重買外接盒轉成USB 3.1 type-C,重灌WIN的驅動,就可以繼續使用了! 下圖是我的自製高速行動硬碟,比卡片略大些,比行動硬碟輕薄短小些。畢竟是2280(長版),所以會感覺頗長的XD 一般行動硬碟、32G以上的隨身碟亦可製作。只是操作上會感覺較為頓挫 頓挫感乃因SSD(固態硬碟)與HDD(傳...

BootCamp嘗試取用啟動磁碟設定時發生錯誤

圖片
明明帳號就有管理員權限,跳出這個訊息時真的是頗傻眼。 Google都找不太到解法,轉成簡體字後才找到… 一開始找到的解法也很妙,是新建一個非管理員權限來啟動BOOTCAMP控制台,就可以正常。這…根本不會想到要繞這種彎路啊!而且這樣操作也太痛苦!所幸最後有大神提供完美解決方法 至 阿榮福利味/Resource Hacker 下載Resource Hacker 到C:\Windows\System32\AppleControlPanel.exe,把檔案複製到桌面 用剛剛下載的Resource Hacker打開複製出來的AppleControlPanel.exe 到24/1/1033的路徑下,對1033右鍵>刪除資源 點 檔案>另存新檔>AppleControlPanel2.exe 到這一步直接執行AppleControlPanel2.exe就可以用了,但為了以後方便在常駐列可以直接執行,繼續後面步驟 開啟工作管理員,將BOOTCAMP Manager強制結束 將檔案重新命名為AppleControlPanel.exe,並放回C:\Windows\System32\底下並取代掉 到C:\Program Files\bootcamp下執行Bootcamp控制台(或直接重開機也可以),正常使用! 參考資料 彻底解决:Boot Camp 尝试访问启动磁盘设置时出错 的问题 底下回應是說WIN 7 x64不行。但我的MacBook Pro是2015年的,不支援WIN7。所以我是直接灌WIN 10 x64,測試可行 若不清楚手上的MacBook可安裝的windows版本,可參考以下官方資料 APPLE官網/Windows 7相容性表格 APPLE官網/Windows 10相容性表格

JavaScript的substr, substring 比較

JavaScript中的截取字串,有2種寫法substr、substring,看起來很像,但用法卻完全不同! ECMAscript沒有將substr方法納入標準,較不建議使用。 substring longString.substring(起始位置,結束位置); "longString" .substring( 3 , 9 ); //"gStrin",共取了6碼 字串開頭由0算起 參數中若只輸入起始位置,由起始位置一路取到結束 實際取到的內容是結束位置前一位 要計算自己共取了多少長度的話,直接計算: 結束位置 - 起始位置 無法從字串後方開始算起 輸入負數則當成0,由0開始計算 結束位置小於起始位置,則自動將較小數字變成起始位置,較大數字變成結束位置 範例: "0123456789" //這串數字只是方便對應字串位置 "longString" .substring( 9 , 3 ); //"gStrin"。等同於 (3,9) "longString" .substring(- 2 , 3 ); //"lon"。等同於(0,3) "longString" .substring(- 2 ,- 4 ); //"",空字串。等同於(0,0) "longString" .substring( 3 ); //"gString"。從第3個取到結束 substr longString.substr(起始位置,長度); "longString" .substr( 3 , 4 ); //"gStr",共取了4碼 字串開頭由0算起 參數中若只輸入起始位置,由起始位置一路取到結束 若要從字尾算起,起始位置輸入-1就是最後一個,-2就是倒數第二,依序類推 長度若輸入負數,則當作0使用。即取0個值 範例: "0123456789" //這串數字只是方便對應字串位置 "longString" .s...

SQL欄位nvarchar, varchar, nchar, char比較

SQL在欄位設定中,儲存文字的char就分成這四種: nvarchar varchar nchar char 第一時間真的是不明白差距在哪!但仔細看其實還是有其規律性 var:可變動。須額外花2bytes來儲存地址 n:萬國碼。每一字會花2倍的空間 實際儲存空間 char(n):n Bytes varchar(n):(n + 2) Bytes – 其中2Bytes用來記錄地址 nchar(n):(2 × n) Bytes nvarchar(n):(2 × n + 2) Bytes 使用情境 從效能來看,因char、nchar不必再確認長度,速度較快些 佔據空間上,n則會花費2倍空間 實務上,還是得根據需求選擇怎樣的格式較佳! 簡單茲分如下: 只有英數字、長度固定:char 只有英數字、長度不定:varchar 會含英數以外的字元、長度固定:nchar 會含英數以外的字元、長度不定:nvarchar

物件存在陣列裡的搜尋方法

JavaScript在一般的陣列中,可以直接使用filter、map來遍歷元素並搜尋或取得資料 但在object,就無法使用這些方便的函式了! 尤其當資料內容又是以物件型式儲存在陣列裡面 兩個東西結合在一起的時候真的是會寫到一團亂不知道自己在寫什麼東西XD 花了不少時間總算寫了個應該….還算是精簡的寫法QQ > DEMO < See the Pen object in array search demo by hsuanyi ( @windclara ) on CodePen . 要做到在表格內每一欄位的資料都可以搜尋並即時顯示出有相同內容之欄位資料 由於我來源資料是儲存在nedb裡面(註:nedb為一輕量化的單機版mongoDB,可視為nosql版的sqlite) nedb中每一筆資料是一個物件,查詢出來後的所有結果回傳成一組陣列 就會得到如下的資料結構: dbData = [ {id: 0001 ,name: '王小明' ,phone: 0912345678 }, {id: 0002 ,name: '劉得滑' ,phone: 0987654321 }, {id: 0003 ,name: '周潤花' ,phone: 0978123456 }, {id: 0004 ,name: '林志零' ,phone: 0955111222 }]; 搜尋功能的程式碼: function search (searchValue) { let searched = dbData.map (obj => { if ( Object .keys(obj).some ( property => obj[property].toString() . indexOf(searchValue) != - 1 ) ) return obj; }); return searched.filter (obj => obj != undefined ); } //demo網頁我使用vue,所以demo網頁裡的寫法會略有不同 //為方便您使用,本文中以fun...

Visual Studio Code 值得記下來的快速鍵

圖片
Visual Studio Code是一套微軟主導且open-source的開發工具,不但可以安裝許多插件,原生又支援GIT、DEBUGGER模式。而且IDE也相當美觀!關於他的優點,網路上已有相當多的資料。就不在贅述 其中有幾個快速鍵,個人推薦值得學下來! 不但可以大幅提升開發時的流暢度,也可以減少按CTRL + C / CTRL + V 的次數! 個人常用快速鍵 因主力使用mac,以下就以mac為主 若使用Windows,只要把cmd換成ctrl就行嘍!其他按鈕完全一樣 區塊註解 cmd + k + c / 區塊取消註解 cmd + k + u 把要註解的片段反白,就可以整塊註解嘍! 而且不必完整反白,只要行數有到就可以了!若是單行的話,游標在該行,直接 cmd + k + c就會單行註解掉了 而且會依據副檔名判斷檔案內容自動調整註解模式! 比如是JavaScript,就會是整塊用 // 來註解 若是html,就會自動帶上 \ ! 尤其使用vue的話,對這個功能更是愛不釋手! vue檔結構如下 < template > <!-- 這裡是html --> </ template > < script > //這裡寫JavaScript /*也可以這樣註解*/ export default { } </ script > < style > /*這裡是css,只能這樣註解*/ </ style > /* 若vs code有裝vue extension Pack的話 在.vue檔裡按s,會看到字串底下帶scaffold,直接按下enter 就可以自動產出骨架嘍(如上方結構)! */ 可以看到一個檔案裡包含了html、JavaScript、css,而每個註解方式都不同!在debug時,有時候註解程式片段時會註到混亂啊!所幸VS CODE讓操作統一了! 單行/區塊上下快速換行 alt + ↓ or ↑ 在重構或調整程式碼順序時,往往要大量使用ctrl+c/ctrl+v,數量一多其實頗煩 vs code上只要直接按alt +↓ or ↑,就可以迅速的位移該行程式碼! 若是一個區塊要搬移,只要反白到要一起移動的行數,再按下a...