讀書筆記《Unix程式設計藝術》二

2021-07-30 06:16:57 字數 777 閱讀 2839

文字化包含兩種設計,一種是將應用資料儲存在永久儲存器(磁碟等)中檔案格式,另一種是在協作程序之間傳遞資料和命令的應用協議。

通常在c++,python等中,將記憶體中資料結構的儲存為檔案的過程稱為序列化(列集),將檔案中的資料結構恢復到應用程式中的過程稱為反序列化(散集)

資料檔案格式與配置檔案(執行控制檔案)的檔案格式之間存在差異,這是因為配置檔案通常都是唯讀檔案,而資料檔案通常可讀可寫,另乙個方面是因為配置檔案通常都是手工編輯,體積很小,而資料檔案通常是程式生成,體積多大都有可能。

在資料檔案格式設計中最重要的幾個指標: 透明性(使用者可讀),互用性(跨平台),可擴充套件性,經濟型(傳輸檔案大小),建議在經濟型不那麼重要的情況下盡可能使用文字形式取代二進位制形式。

資料檔案元格式(幾種資料檔案格式)

1) dsv風格(delimiter-separated values)

2) rfc822格式

3)cookie-jar格式

4)xml

5)windows ini格式

[default]

account = esr

[python]

directory = /home/esr/cvs/python/

developer = 1

應用協議應容易分析

端對端設計中要考慮安全與認真問題

為獲得良好的效能而設計應用協議

Unix網路程式設計讀書筆記(二)

套接字位址結構 typedef uint32 t in addr t struct in addr struct sockaddr in 在使用結構前總是把整個結構置零,是由於sin zero欄位沒有任何作用,只需置零即可。為了是套接字函式在處理位址時具有一定的通用性,套接字函式還定義了通用套接字位...

JS DOM程式設計藝術 讀書筆記 完

花了乙個星期 終於把 js dom程式設計藝術 零零散散的看了一遍 這是最近乙個半月來看的第四本有關js的書 其它分別是 js完全自學手冊 js王者歸來 js程式設計教程 而之所以會去看這本 是看了csdn上展望js的乙個帖子 裡面很推薦 說說心得吧 感覺這本書說的東西 都是一些很底層很實用的東西 ...

《UNIX網路程式設計 卷2》讀書筆記(二)

如何知道程序在乙個空訊息佇列中放入乙個訊息?如果阻塞在msgrcv呼叫中,則除了等待無法做其他事情,如果給msgrcv指定非阻塞標誌 ipc nowait 儘管不阻塞了,但必須持續呼叫該函式來確定何時有訊息到達,也就是採用輪詢方式 polling posix訊息佇列允許非同步事件通知來通知何時有訊息...