奇聞軼事 - 死掉的write

動機 兩條thread對兩個socket fd做讀寫(一讀一寫、一寫一讀),等另外一邊結束後 另一條thread沒辦法結束join ...

August 2, 2020 · 1 min · zhengcf

sql效能survey

動機 sql的效能議題好像不常被提起 十分niche 那就來整理看看 ...

August 2, 2020 · 2 min · zhengcf

vlan筆記

動機 想大概了解vlan到底是什麼 ...

August 1, 2020 · 1 min · zhengcf

網路如何送資料

動機 那就來寫寫看說明文吧 第一個問題也是最重要的問題是 為什麼分那麼多層? 接下去就是要說明這件事 ...

August 1, 2020 · 1 min · zhengcf

Seven-Concurrency-Models-in-Seven-Weeks 部分筆記

動機 感覺自己不曾了解過Concurrent programming,所以來看這本 看能不能得到一些直覺 ...

July 31, 2020 · 1 min · zhengcf

leetcode上的sql題

動機 leetcode 上解 sql,潮 同時熟悉sql怎麼用 ...

July 26, 2020 · 5 min · zhengcf

design pattern隨便筆記

物件與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....

July 25, 2020 · 2 min · zhengcf

db正規化的隨便筆記

動機 突然想起來 有這種東西 就來重看一下 ...

July 21, 2020 · 1 min · zhengcf

隨意iptables筆記

動機 記錄下自己怎麼看待iptables iptables把firewall的功能與network stack緊緊地結合在一起 所以有的時候會看不懂到底發生甚麼事,也不好寫出自己想要的rule 故在此寫下自己的看法 ...

July 19, 2020 · 1 min · zhengcf

隨便的sql筆記

動機 整理一些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....

July 18, 2020 · 5 min · zhengcf