奇聞軼事 - 死掉的write
動機 兩條thread對兩個socket fd做讀寫(一讀一寫、一寫一讀),等另外一邊結束後 另一條thread沒辦法結束join ...
動機 兩條thread對兩個socket fd做讀寫(一讀一寫、一寫一讀),等另外一邊結束後 另一條thread沒辦法結束join ...
動機 sql的效能議題好像不常被提起 十分niche 那就來整理看看 ...
動機 想大概了解vlan到底是什麼 ...
動機 那就來寫寫看說明文吧 第一個問題也是最重要的問題是 為什麼分那麼多層? 接下去就是要說明這件事 ...
動機 感覺自己不曾了解過Concurrent programming,所以來看這本 看能不能得到一些直覺 ...
動機 leetcode 上解 sql,潮 同時熟悉sql怎麼用 ...
物件與lambda 物件其實就是使用前需要new的lambda 但 物件可以有一個以上的function 可以用繼承來傳function給父類別 Factorys 就是把物件生成抽象化 simple factory 把物件生成的code抽成物件(lambda) 用參數傳function method factory 把物件生成的code抽成要實作的方法 用override傳function abstract factory 把所有物件生成的code 放到物件中 讓子類別實作 就simple factory+method factory 但實作method從caller本身被抽到另一個物件去 簡介 接著來介紹pattern的替代方案 替代方案: lambda Strategy 拉一個interface來產生一個給lambda的洞(attribute) Template Method 拉好幾個abstract method給子類別實做需要用到的method Bridge 把許多function放在一起 dict with lots of lambda Observer 存callback函數,再把資料透過callback推送出去 Command 真的就是lambda 替代方案: Rrcursive data type Decorator data List = Base | Node A List 就是List的type,但是可能會有許多base interface layer { int eval(); } class Base implements layer { int eval() { return 0;} } class add10 implements layer { layer next; public add10(layer l) { next = l; } int eval() { return 10+next....
動機 突然想起來 有這種東西 就來重看一下 ...
動機 記錄下自己怎麼看待iptables iptables把firewall的功能與network stack緊緊地結合在一起 所以有的時候會看不懂到底發生甚麼事,也不好寫出自己想要的rule 故在此寫下自己的看法 ...
動機 整理一些sql的用法 把SQL當成一種奇怪的PL 與awk有點像,SQL的溝通單位只有類似matrix的資料結構 不過這個matrix沒辦法用index取值 同時每家DBMS的實作又有點差別像是CTE的部分就差很多 產生matrix(table) subquery 最基本的產生matrix的手段 最好都要替每個subquery加命名 SELECT P_Name FROM products_taiwan WHERE P_Name NOT IN (SELECT P_Name FROM products_china) china; view 當成matrix的抽象 CREATE VIEW V_Customer AS (SELECT First_Name, Last_Name, Country FROM Customer); function (& stored procedure) 可以產生table也可以產生value CREATE FUNCTION Sales.ufn_SalesByStore (@storeid int) RETURNS TABLE AS RETURN ( SELECT P.ProductID, P.Name, SUM(SD.LineTotal) AS 'Total' FROM Production.Product AS P JOIN Sales.SalesOrderDetail AS SD ON SD.ProductID = P.ProductID JOIN Sales.SalesOrderHeader AS SH ON SH....