Laravel 測試使用 SQLite 配置方式
Laravel 測試環境使用 in Memory DB - SQLite
在執行 phpunit 時,透過 sqlite 可以快速的執行測試,而避免掉需要建立關聯資料庫的流程
在 Laravel 設置方式如下
設置 .env.testing
將資料庫連線設定為 sqlite,以及
DB_CONNECTION=sqlite
DB_HOST=localhost
DB_PORT=8000
DB_DATABASE=':memory:'
Marketing, SEO, Web trends, Programming tutorial, Web design, and Life event...
在執行 phpunit 時,透過 sqlite 可以快速的執行測試,而避免掉需要建立關聯資料庫的流程
在 Laravel 設置方式如下
將資料庫連線設定為 sqlite,以及
DB_CONNECTION=sqlite
DB_HOST=localhost
DB_PORT=8000
DB_DATABASE=':memory:'
在這裡要探討關於 node 到底適不適合在正式環境運行,在一開場首先說明我**“過去”**對於這個問題的看法,答案是:不適合。
原因在於,過去有見過幾個專案是由 node 開發,最終都因為穩定性不佳造成極大的損失的案例
當然,這經驗確實是我常建議團隊不要輕易決定使用 node 的原因。
事實上,為什麼 node 不適合在正式環境運行。針對這個問題其實真的探討過的人很少。
這裡參考 Burke Holland 所彙整的一些方法,進行來聊聊這個議題:
首先,關於造成 node 不適合的一些狀況進行探討:
如果透過 Express server 直接運行主機環境
Continue Reading目前使用 mac 本機直接安裝的 Dockder 環境,但就在近期運行 Docker 會發生了 Docker daemon startup failed 錯誤。
這裡記錄一下處理方式
首先點選
Reset Docker to factory defaults
Resetting factory defaults…
接著會看到以下訊息,請點擊 Restart 按鈕
Docker has reset successfully. The application will restart now.
接下來會提示,Docker 需要一些 privileged access 權限,會需要輸入 mac 密碼
接下來正常重啟服務即可
Continue Reading公司新專案,在執行學習測驗完成後,需要跳出一個問券讓使用者填寫, 問券的架構必須要在選取特定選項後,再展開相關對應的題目, 大致示意如下:
Continue Reading在 Linux 系統內建多數使用 iptables 作為防火牆,用來過設定允許的封包清單,進行安全防護。
iptable 可以用來設定安全 IP 白名單,封鎖 IP 黑名單,以及可以進一步設計程防止 DDos 攻擊用途。
Continue ReadingAPI Bluepirnt 是一個 API 描述語言,可以在開發 API 的過程,使用 markdown 方式快速彙整出 API 文件。
標準的 API Blueprint 是以 .apib 作為副檔名(media 類型為 text/vnd.apiblueprint),當拓展到 Github 上,會直接顯示對應的 Heightlight 。
Continue Reading這裡記錄如何建立 Laravel 可使用的 packages,以及如何透過私人 git repositroy 來透過 composer 安裝。
首先,建立 Laravel Project 來做示範:
composer create-project --prefer-dist laravel/laravel getter
建立 package 相關資料夾
Continue Reading近期,公司營運多年的舊有專案,十幾套系統發生同時無法連線問題,查明原因發現資料庫被入侵,資料被清空,root密碼被更改,以及留下一個 PLEASE_READ_ME_MXG 資料表,內容如下:
WARNING
To recover your lost data : Send 0.05 BTC to our BitCoin Address and Contact us by eMail with your server IP Address or Domain Name and a Proof of Payment. Any eMail without your server IP Address or Domain Name and a Proof of Payment together will be ignored. Your File and DataBase is downloaded and backed up on our servers. If we dont receive your payment,we will delete your databases.
Bitcoint_Address
xxxxxxxxxxxxxxxxxxxxxxxxxx
Email
xxx@hello-database.xyz
在搜尋過相關類似攻擊 Your File and DataBase is downloaded and backed up on our servers 的真實性不高,事實上,在連線後資料就已經被刪除 ref。
所以,如果你也遇到同樣遭遇,千萬別充值!
回歸到話題,關於系統資料庫由於每天都有做雲端備份,所以接下來要復原其實不是太大的問題。
慘痛之中,還是必須保持鎮定,掌握處理的步調
先開出任務清單,召集幾個 MIS 進行研擬狀況及對策,進行處理
Continue Reading
CSS3 -webkit-background-clip:text; 將背景套用在文字上的做法,首先透過外層設定背景圖片,內部文字顏色調整為透明 color: transparent; ,即可達成文字作為 mask 遮罩裁剪圖片,呈現出文字樣式。
在我們現有產品中,GCP 的測試機IP是固定的,輪動更新則會變動IP 這裡透過 haproxy 讓輪動更新的 3306 都會指向測試機,再由測試機連向 SQL SQL 只要將白名單設定為測試機IP即可
Continue Reading最近公司針對整體專案系統及KPI再進行整頓,因此被上級問到:研發部門團隊是否有適當的KPI指標可以作為參考?
針對這個問題,大致花了一點時間,整理了目前軟體管理的論述及自身想法:
公司組織,通常都會透過KPI來讓公司朝向成功事業的方向前進,而不是只單純看軟體開發的狀態。
流程大致是,由公司設定目標,並且由各層組織進行分配建立相對應KPI,公司會依照KPI作為獎懲依據,以利於整體效率管理。
建立 Swap 虛擬記憶體儲存空間
一般建立 Swap 記憶體,大小通常會設定在實體記憶體的 1到 2倍。
以一台 1Gb 記憶體的主機而言,我們在這裡建立 2G的 Swap 虛擬記憶體儲存空間。
首先,在 var 透過 fallocate 建立 swapfile 資料夾,fallocate 可指定預留資料夾空間,以及權限設定為 root 可讀寫
Continue Reading簡單記錄透過 CSS 來限制字數寬度或行數做法,可以將長篇的文章進行截斷,並且結尾以點點點方式呈現
在版面需要對其實,是相當好用的方式。
Continue Reading在某次更換主機的公鑰之後,拿變更後的 ssh keygen 登入主機,卻發生登入錯誤訊息
ssh -i ~/.ssh/mykeygen.pem root@xxx.xx.xxx.xx
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Please contact your system administrator.
Add correct host key in /Users/elite/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/elite/.ssh/known_hosts:10
ECDSA host key for xxx.xx.xxx.xx has changed and you have requested strict checking.
Host key verification failed.
Mac OS X 預設安裝了 Python 2.7.10 版本
$ python --version
Python 2.7.10
這裡說明如何安裝 python3
Continue ReadingK8s 是以 Google 的內部使用十多年的容器編排管理平台 Borg 為基礎原形所實現
萬個機器節點,以及幾千個到幾十萬個 pod (容器組),每週都會部署20多個容器
單一個 container 並不能提供開發者太多的好處,因為開發及生產場景往往需要複雜的交互,需要多個容器同時並行協同工作,以及跨組織的管理
因此,K8s 就作為 container 編排,可跨主機管理的最佳利器
K8s 以 Pod 為基本容器組,每個 Pod 只做一件事,可以將 Pod 進行編排調度,以及聲明他的物件配置模型(Controller, configmap, secret…)
在管理過程中,可以用 controllers 進行資源分配調度,整體健康檢查,修復,彈性伸縮及滾動升級等。
服務發現,服務編排及內部路由支持
服務快速部署
自動負載平衡
對有狀態的服務的支持
K8S 在 2017年戰勝了 Docker Swarm, Apache Mesos ,成為各大雲平台原生應用的支持
K8S 在現有的軟體雲服務之上,又建立一個可移植的雲平台
為用戶提供一個一致的容器部署管理模型
外部請求 -> [ K8s 群集( Service -> 多個 Pod) ]
K8s 群集由一個 Master 節點及多個 Node 節點組成
kubectl get nodes
https://www.imooc.com/video/17048
Continue Reading最近,需要處理學生考試系統希望能將筆試的內容轉出為 word 格式,以利於批改老師能夠使用追蹤修訂功能進行批改。
在這裡做一個紀錄及範例,如何將 Textarea 文字內容
首先,在Laravel 專案直接安裝 PHPWord Library
composer require phpoffice/phpword
先建立好 Controller 之後,直接實作範例如下:
<?php
...
// Creating the new document...
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// Adding an empty Section to the document...
$section = $phpWord->addSection();
// Adding Text element to the Section having font styled by default...
$section->addText(
'"Hi 這是我的文件,請問你看得到嗎?Learn from yesterday, <w:br/> live for today, <w:br/> hope for tomorrow. '
. '<w:br/>The important thing is not to stop questioning." '
. '<w:br/>(Albert Einstein)'
);
// Saving the document as OOXML file...
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
header("Content-Disposition: attachment; filename=WordTest.docx");
$objWriter->save("php://output");
目前,前端學生輸入是使用 textarea ,在作答時文字內容會包含換行
Continue ReadingAWS 目前系統工作流程已經非常簡單
對於EBS硬碟容量不夠,需要擴充時,只要三個步驟就能完成:
instance 停機
Elastics block store > Volumes > 勾選 volume,並於 Action 下拉選單選取 Modify volume > 調整數值(單位GB)
啟動 instance