ModuleNotFoundError: No module named 'virtualenv.seed.via_app_data' Read Time:10 Second pipenv 或 virtualenv 建立虛擬環境時如果噴出 pipenv ModuleNotFoundError: No module named 'virtualenv.seed.via_app_data' 這樣的錯誤訊息,通常是因為 pipenv 與 virtualenv 相沖了 解決方法: pip3 uninstall pipenv pip3 uninstall virtualenv pip3 install pipenv 兩者都uninstall,然後重新安裝其中一個,上例是留pipenv
Developer Vagrant + Virtualbox 建立 Ubuntu VM on Mac Read Time:2 Minute, 18 Second 1. 下載並安裝Vagrant: https://www.vagrantup.com/downloads.html 2. 下載並安裝VirtualBox: https://www.virtualbox.org/wiki/Downloads 3. 進終端機後找一個喜歡的路徑,在之下建立一個專案資料夾,並進到該資料夾,例: % mkdir vagrant && cd vagrant 4. 初始化一個Ubuntu 20.04: % vagrant init bento/ubuntu-20.04 5. Vagrant會在該目錄下建立一個Vagrantfile,目前先不用編輯它 A `Vagrantfile` has been placed
Apple M1處理器的蘋果電腦怎麼安裝Homebrew Read Time:10 Second 打開 Finder 到 應用程式>工具程式,在 終端機 按右鍵選擇 取得資訊 使用Rosetta打開 打勾 再執行 Homebrew 的安裝 Script /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 如果沒裝過 Rosetta,會詢問要不要立即下載安裝 這樣就能正常安裝與使用Homebrew了
vim Search and Replace(搜尋與取代字串) Read Time:7 Second :%s/search_from/replace_to/g 例如:要對目標檔案內的所有 hi 全都換成 hello :%s/hi/hello/g 又例如:要對目標檔案內的所有 ; 全都換成 , :%s/\;/\,/g ↑↑↑ 因為是符號,不要忘了跳脫字元喔 ↑↑↑
pip pip 指令更新 python packages Read Time:15 Second 更新一個已知名稱的 Python package,如 numpy package pip install -U numpy 或是 pip install --upgrade numpy 更新所有已安裝的packages pip list |awk '{print $1}' |xargs -n 1 pip install --upgrade 或是 for i in `pip list |awk '{print $1}'`; do echo $i; pip install --upgrade
break 【筆記一下】Python break, continue, pass的區別 Read Time:15 Second Python 中 break、continue、pass 的區別: break:強制跳出 ❮整個❯ 迴圈 continue:強制跳出 ❮本次❯ 迴圈,繼續進入下一圈 pass:不做任何事情,所有的程式都將繼續 詳細請看:https://medium.com/@chiayinchen/1-%E5%88%86%E9%90%98%E6%90%9E%E6%87%82-python-%E8%BF%B4%E5%9C%88%E6%8E%A7%E5%
csv Pandas read_csv error「UnicodeDecodeError: 'utf-8' codec can't decode byte...」 Read Time:9 Second Pandas 的 read_csv 有一個 option “encoding”去定義不同格式的檔案,我通常使用 read_csv(fileName, encoding = "ISO-8859-1") 來讀英文語系的檔案,至於其它語系,就用相對應的編碼,若不確定編碼,再用 read_csv(fileName, encoding = "utf-8") 去讀
Data Analytics 數據分析師該如何定義標準,判斷分類? Read Time:1 Minute, 55 Second 從經驗里提煉出標準,是數據分析師的一項重要能力! 標準關乎好壞的判斷,也是後續所有分析的基礎,標準錯,分析方向就會錯,進而導致分析結論錯,一錯到底。因此,如何定義標準,判斷分類,也是數據分析師的一項重要能力。 不妨先回憶一下我們在工作中經常碰見的一種場景,業務人員匆匆的來和你說:〇〇模型的〇〇率好低啊,你分析一下原因出在哪兒了?只有單純的判斷/點,或者只有單純的數據,我們無法對業務問題作出準確的判斷。我們還需要一個標準,一個判斷情況好壞的標準。具體到任何一件事情,凡是有關好壞、高低、分類判斷的,都涉及標準。 標準無處不在,只是很多時候我們都忽視了他的存在。生活中我們常說「這家外賣好貴啊。」、「這條街道也太長了吧。」、「這棟樓也太高了吧」,那到底什麼算「貴」?什麼算「長」?什麼算「高」呢?我們大多時候並沒有去深究,因為: 人們習慣性的講觀點,
如何一次昇級全部的Python packages(pip) Read Time:6 Second pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U Happy 0 0 % Sad 0 0 % Excited 0 0 % Sleepy 0 0 % Angry 0 0 % Surprise 0 0 %
pandas 中 Dataframe 索引.ix .iloc .loc的區別 Read Time:39 Second import pandas as pd data = pd.DataFrame({'A':[1,2,3],'B':[4,5,6],'C':[7,8,9]},index=["a","b","c"]) data A B C a 1 4 7 b 2 5 8 c 3 6 9 *註:.ix 方法已被棄用,
大數據 讓數據應用無功而返的十個大坑 Read Time:2 Minute, 42 Second 第一坑:缺乏數據 沒有數據不可怕,可怕的是沒有數據但以為自己有。 誰說我沒有數據,我每年花幾百萬買數據呢! 隨著圍牆花園牆壁的不斷推高,以及個人隱私保護的不斷加強,外部數據可用,但不可被擁有。 另一些外部數據的提供方式,是在你自有數據的基礎上,進行數據增強,如果你自己沒有基礎性的數據,數據增強也無從談起。 換句話說,今天企業自己積累第一方數據的意義很重大,否則基本上只能用用別人的數據,被外部數據的提供方(特別是媒體)鎖定,並且應用場景也被鎖死在廣告投放為主的場景上。 如何獲取數據是一個很需要策略與執行的事情,並且不是只靠外部供應商和工具就能搞定的。具體而言,它不僅與企業的市場營銷策略和消費者觸點直接相關,也與“請求(誘使)”用戶留下數據的設計、方法與誠意(或藉口)直接相關。在這二者的前提之下,工具和技術才能發揮作用。 還沒有搞清楚數據從哪裡來,要用到什麼樣的技術,有什麼樣的限制,就急急忙忙跟風上系統,純屬胡鬧! 避坑方法:避免踩這個坑的方法,一是要精心設計捕獲數據的場景和方法,二是要用好工具。
BigData 甲方:當我手上有1.5億數據 Read Time:1 Minute, 21 Second “我們手上有1.5億的數據,但我們廣告卻投不好,到底哪裡出了問題?“ 數據,是個坑人的字眼 對於甲方,我有一個建議,當聽到“數據”二字,就要立即警覺起來。數據這個詞,很坑人的。 簡單地說,每個人理解的數據都可能不一樣。而甲方理解的數據,和乙方提供的數據,常常有天淵之別。 要說清楚數據到底是什麼數據,必須注意三個重點: 是什麼樣的結構:ID + 屬性字段;還是只有ID;還是只有屬性。顆粒度:個體級別,還是受眾包,如果是受眾包,多少人一包。包含哪些字段。 而數據包含多少數據量,並沒有被列在重點裡。為什麼,後面再講。 現在來看看那個甲方,他們的1.5億數據是什麼? 結構:基本只有ID(Device ID),沒有屬性字段,
cookie 三分鐘理解什麼是cookie Read Time:9 Second 昨天聽到有人在解釋什麼是cookie,我猜聽的人可能還是霧剎剎,所以還是來寫一篇好了 簡單地說,就是網站對你的瀏覽器貼了一些用來辨認用的便利貼 每一次的網頁瀏覽都是獨立的事件,下一頁要怎麼知道你上一頁看了什麼,做了什麼事,或是下次你回來時,該怎麼接續服務,在你沒有登入的情況下,就要靠cookie了 舉個例,你去一間從來沒去過的7-11買了包可樂果,店員給你發票,你回家發現口味買錯了,要回去換,你的那張發票就像是cookie,拿著回去店員才能知道你的確是來過的顧客 但cookie被清掉了,就像是你把發票丟掉了,對於那間7-11的店員來說,你就是個陌生人,只能依照規定不能讓你換貨 有了這個基本的概念,再去理解什麼是第一方cookie、第三方cookie吧~ 三分鐘,打完收工
Chrome 三分鐘理解Google Web Vitals在講什麼 Read Time:13 Second 簡單地說,Google想統一所謂「網站的使用者體驗評比標準」 那Web Vitals有什麼評比?目前就三項,以後會不會增加不曉得 然後很愛縮寫,其實就是 LCP:載入時間(當然越短越好) FID:使用者何時能與網站互動(當然越快越好) CLS:動態載入內容相互影響的飄移程度(當然越少越好) 目前Google也說上圖的標準(評比時間)是依他們收集到的現在大部份使用者會存取的網站,算出的一個標準差,像LCP一項,低於2.5秒的就算是GOOD了,FID在100ms內就是GOOD了 但CLS這個比較有趣,它不用時間來評比,而是提供一個統計學的區間值,計算公式也只能等Google公佈才知道怎麼計算出來的w 總而言之,這個新推出的UX評比,Google目前並未承認是否會影響任何排名指標(SEO或其它Google服務)的計算,但往好處想,至少LCP與FID算是普世價值,有人制定出來還提供Extension就加減參考吧~ Web Vitals Chrome Extension點這裡 三分鐘,打完收工
macOS 加速 Time Machine 時光機備份速度的指令 Read Time:8 Second 只需要在終端機輸入一個指定,這可以解決時光機備份的限制,令備份速度大大提升,不過這個指定的副作用則會令 CPU 的負荷提高,因此備份後需要關閉指定令 Mac 重新執行原本的限制設定。 提升時光機備份速度 sudo sysctl debug.lowpri_throttle_enabled=0 還原預設值 sudo sysctl debug.lowpri_throttle_enabled=1
Laravel Laravel 7 CRUD 教學 Read Time:5 Minute, 0 Second 最近突然想自己寫幾個小服務來玩玩,看了一下目前Laravel好像很多人在用,但在網路上找了很久,大多是官方文件與翻譯文件,找不到幾篇繁中的教學,昨天試玩了一下,就自己來寫一篇簡單的入門教學吧~ 開發環境網路上有很多的教學,我就預設各位已經完成開發環境的建置,已經能在執行 laravel new project_name 來建立新專案的狀態囉,喔對了,我不是專職的後端工程師,所以這篇教學如果有不正確的觀念之處,還請大家多多指教~@[email protected]/ 先來建立個專案吧~ 了解一個Framework,就從CRUD開始,CRUD(Create、Read、Update、Delete),我們來做個簡單的小站台,把增刪改查的功能實做一遍 先建立一個專案,名字叫「corona」,在終端機執行以下的命令 laravel new corona 建立完之後,先到專案路徑下將 storage目錄 與 bootstrap/cache目錄權限先改為777 *這個作法不安全,
base64 用 openssl 亂數產生強密碼 Read Time:4 Second 產生長度為32位的亂數強密碼 openssl rand -base64 32 產生長度為64位的亂數強密碼 openssl rand -base64 64 對於決定密碼有選擇困難症的人,可方便、快速地產生安全性高的密碼喲~ 不過要記得 寫在記事本裡
Bootstrap Laravel 專案裡使用Bootstrap Read Time:53 Second 當然也可以在blade裡引用原生的方法(Bootstrap官網 – Quick start) <head> ... <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> </head> <body> ... <script src="https://code.jquery.com/jquery-3.4.1.slim.min.
Laravel Laravel 7.4.0 artisan 參數一覽 Read Time:3 Minute, 23 Second Laravel Framework 7.4.0 Usage: command [options] [arguments] Options: -h, --help Display this help message -q, --quiet Do not output any message -V, --version Display this application version --ansi Force ANSI output --no-ansi Disable ANSI output -n, --no-interaction Do not ask
macOS Python 虛擬環境 on Mac Read Time:16 Second 安裝 Homebrew ~$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 安裝 Python 3 ~$ brew install python3 *如果沒有Command Line Tools,需要先裝Command Line Tools: ~$ xcode-select —install 安裝 Python 3 的 Virtualenv(虛擬環境) ~$ pip3 install virtualenv 建立虛擬環境 ~$ virtualenv [虛擬環境名稱] 例: ~$ virtualenv py3env
docker Docker 常見操作 Read Time:14 Second 拉映像檔 ~$ docker pull xxx/xxx 生成並執行實體 ~$ docker run -p 外port:內port 映像檔名稱 停止實體的運行 ~$ docker stop 移除實體 ~$ docker rm xxx/xxx 或移除全部實體 ~$ docker rm $(docker ps -a -q) 移除映像檔 ~$ docker rmi xxx/xxx 或移除全部映像檔 ~$ docker rmi $(docker images -q) 查詢已建立的實體 ~$ docker ps -a 查詢已下載的映像檔 docker images
Homebrew 多重PHP環境 on Mac with Homebrew Read Time:30 Second 原文:https://getgrav.org/blog/macos-catalina-apache-multiple-php-versions 各php.ini位置 /usr/local/etc/php/5.6/php.ini /usr/local/etc/php/7.0/php.ini /usr/local/etc/php/7.1/php.ini /usr/local/etc/php/7.2/php.ini /usr/local/etc/php/7.3/
Jupyter Jupyter notebook啟動(指定port與不限存取IP) Read Time:9 Second 指定使用埠號80(HTTP),以及不限制可存取的來源IP jupyter notebook --port 80 --ip '0.0.0.0' --allow-root 同場加映 Flask啟動(指定port與不限存取IP) python api.py --host=0.0.0.0 --port 5000 --reload --with-threads
composer Laravel開發環境設置 with Ubuntu 18.04 Read Time:24 Second Install Composer ~# apt update ~# apt install composer For Laravel require ~# apt install php-bcmath ~# apt install php-json ~# apt install php-mbstring ~# apt install php-tokenizer ~# apt install php-xml Install Laravel ~# composer global require laravel/installer ~# vim ~/.bash_profile export PATH=$PATH:~/.config/composer/vendor/bin ~# source ~/.bash_profile Install
CommandLine mmap() failed: [12] Cannot allocate memory 解決法 Read Time:22 Second 雲端主機如果記憶體只開1GB,有時composer要update會噴 mmap() failed: [12] Cannot allocate memory ,除了加大雲端主機的記憶體之外,可以臨時設定 swap 空間 指定 /swap_file 路徑劃分出2GB的空間: ~# dd if=/dev/zero of=/swap_file bs=4096 count=512k 指定 /swap_file 路徑 為swap用: ~# mkswap /swap_file 設定 /swap_file 只給當前User讀與寫的權限: ~# chmod 600 /swap_file 將 /swap_file