我欲乘风向北行,雪落轩辕大如席。
我欲借船向东游,绰约仙子迎风立。
我欲踏云千万里,庙堂龙吟奈我何
昆仑之巅沐日光,沧海绝境见青山。
长风万里燕归来,不见天涯人不回!
我欲乘风向北行,雪落轩辕大如席。
我欲借船向东游,绰约仙子迎风立。
我欲踏云千万里,庙堂龙吟奈我何
昆仑之巅沐日光,沧海绝境见青山。
长风万里燕归来,不见天涯人不回!
初稿日期:2023-03-31
架構之義,在於對抗衰老。
增長,意味著衰老。硬件會衰老,時間久了,CPU、硬盤、內存等等都會慢慢壞掉;軟件會衰老,隨著業務增長邏輯規模越發龐大,內部就會滋生不協調,以至問題變多,修復困難,增加新功能就像俄羅斯輪盤賭一樣刺激。
系統架構,就是對抗這些系統老化問題而做的努力。架構不是一成不變的,就像軟件工程沒有銀彈一樣,系統架構也沒有萬能的。架構是隨著系統規模和業務特點而一起成長的。但是追根溯源,問題是相似的,方法也是類似的。
根本問題是規模變大。請求規模變大、數據規模變大、邏輯規模變大。應對方法是分而治之。請求分流,數據分層,邏輯分塊。具體的分法有一些套路可以參考,這裡總結出來,作為系統架構設計的武器庫,隨用隨取。
<?php | |
function parseSOAP(string $response): array | |
{ | |
$content = preg_replace("/(<\/?)(\w+):([^>]*>)/", "$1$2$3", $response); | |
$xml = new SimpleXMLElement($content); | |
$body = $xml->xpath('//sBody')[0]; // 'sBody' is from '<s:Body>', the body tag in your xml file. | |
$json = json_encode((array)$body, JSON_THROW_ON_ERROR); | |
$data = json_decode($json, true, 512, JSON_THROW_ON_ERROR); | |
// User .length to do so. | |
if ($('#id').length) { | |
// do something. | |
} |
<?php | |
$arr = ['123-123-123', '111-111-111']; | |
$a = 123; | |
var_dump(in_array($a, $arr)); // true | |
var_dump(in_array($a, $arr, true)); // false |
<?php | |
$token = bin2hex(random_bytes(16)); |