發布日期:Sep 1, 2021
文章於 Sep 1, 2021 更新
在程式執行中,盡可能少產生一些龐大但使用次數少的物件,避免無謂佔用記憶體。
像是 cache 沒有控管地胡亂儲存累積,就可能會讓記憶體被塞滿,卡住其他行為。
或者是產生只用一次的大陣列,如果可以隨著產生的過程把後續需要的行為直接處理掉,就不必長出使用頻率很低的陣列出來佔空間。
在這邊設定排程後,在 laravel 專案用 php artisan schedule:list
可以檢查開啟的排程下一個執行時間是什麼時候,當執行時間與系統排程檢查對上時,就會執行 laravel 裡面設定的排程。
* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1
schedule:run
,看看有沒有預定執行時間已經到的 laravel 排程需要跑。如果專案環境是用 docker 起最精簡的 container 設定排程後,在 container 要記得安裝 crontab ,不然不會有系統排程的功能
sudo -s
sudo -su [other_user]
docker exec -it [container_name] /bin/bash
exec
執行 docker container-it
: 以終端機與互動模式php artisan
等指令docker ps
前後端都可以做資料隱蔽。
理論上前端不應該直接取得後端服務伺服器的資料,以免運行主要服務的後端 server 遭到攻擊。
後端也不必要看到前端資訊,除非需要追蹤足跡。
後端暴露資訊的可能位置:
cookiec 或 header 裡的 token 會帶有連線資訊如圖
在目前的公司專案架構下,前端的 koa 理論上會對前端遮蔽後端 server 資訊,也會對後端遮蔽前端訪問來源。
如果沒有遮蔽的話,會變成前端可以從 cookie 裡儲存的 Token 解析出把 request 往哪裡送(例如用 JWT 機制產生的 token 就可以反向解析);後端也能藉由直接取 host 或者 header 裡的 refer 得知前端資訊。
比較安全的做法是 koa 在處理時只對前後端揭露必要資訊,如果不需要,就不給多餘線索。
長很多知識
X
X
X
昨天送走了一位好主管,還以為自己已經夠公私分明,沒想到真的面對離別還是這麼不捨。
謝謝你開拓了我在人生道路上的視野,以及做了很多技術與團隊合作上的示範。
我應該會很想念你一段時間的,希望你在未來的路上能過得越來越好!有緣再會。