-->

2020/05/17

DIY 自製溫室 (定時、供水) (2)

前篇:DIY 自製溫室 (燈架、燈座、燈泡) (1)



終於 .... 來到了第二篇,這邊會大概聊一下,怎麼用簡單的控制板來控制 LED 燈。

當然還是先來張貓照 XD



2020/05/11

用電腦閒置的時間為 COVID-19 盡一份心力

之前層談過使用 BOINC 跑科學運算,讓電腦熱起來、房間溫暖起來。這次 BOINC 有新的用途:尋找 COVID-19 的疫苗、解藥!

第一步,下載 BOINC 平台:https://boinc.berkeley.edu/,安裝並啟用以後,大概會看到一個這樣的視窗:




然後點選下方的「新增專案」,要找的專案是「生物、醫藥」相關,找到該分類以後就會看到專案「Rosetta@home」:



加入專案會要求註冊一個帳號,除了可以設定不要佔滿整台電腦的處理器以外,也可以設定使用電腦時暫停運算,離開電腦一陣子以後才開始運算。

Rosetta 我記得以前是在研究蛋白質折疊什麼的,沒想到一下子就跳出來幫忙研究 COVID-19。除了 Rosetta 以外,BOINC 上有部份專案也暫停做研究,將他們實驗是的主機全部加入研究 COVID-19 研究。


嗯 .... 人類真是奇妙的動物,似乎都要死到臨頭才會開始合作? XD

2020/05/07

執行 inspectdb 把已經存在 DB 的 schema 拉回來

今天的情況是 Laravel 已經做好 migration,但是後來決定使用 Python 來處理一些 PHP 處理起來比較麻煩的東西,但資料庫必須共用、無法分開。




Django 有的功能叫做「inspectdb」,當 settings.py 的資料庫都設定好以後,在執行「./manage.py inspectdb」,就會自動生成 models。

所以懶一點的作法是「./manage inspectdb > app/models.py」。

2020/04/21

Laravel v7.0 新功能

官方網站整理下來:


Airlock

使用 Airlock 可以更輕鬆的支援 single page application (SPA)、token-based API 等等,同時也可以針對 token 設定可存取犯元 (scope)。 (感覺上類似 OAuth)


Custom Eloquent Casts

以往使用者從 Eloquent ORM 拉出資料以後,使用者可以自訂 cast type,也就是說可用者可以自動 cast attribute 成特定格式。範例可以參考 Laravel 的 Pull Request



Blade

新增不少功能來 render HTML。詳細說明請參考 Larvel Docs。



HTTP Client

為了史 API 更靈活,Laravel 使用 Guzzle HTTP client 來與其他 API 溝通。



Routing Cache

透過新的方式來做 route 的 cache,即使大型網站 (800 routes) ,route matching 的速度也可以比以往快上 20 倍。

2020/04/08

用 venv 為 Python 建立虛擬環境

大家都知道把套件裝成 global 會發生什麼事吧?所以若要開發的 project 需要很複雜套件相依性,則可以考慮使用 Python 的 virtualenv。

先來安裝 pip3:
sudo aptitude install python3-pip

在用 pip3 來裝 virtualenv:
pip3 install virtualenv

會後在準備建立的專案執行以下指令:
python3 -m venv project

這個時後你會發現 project 目錄底下已經有不少東西了,這個時候就可以切入虛擬環境中:
$ source bin/activate
(project) $ 

奇蹟出現了,你的 prompt 最前面已經加上專案名稱,代表你已經完全在專案的環境底下,這環境下不管你用 pip 專什麼東西都不會影響到外部其他專案。

當開發結束,要離開個環境的時候,記得下指令「deactivate」以便離開虛擬環境。