分類彙整:讀書寫字

《Core Data應用開發實踐指南》討論及勘誤

更新記錄

2015年6月18日15:17 添加勘誤
2015年6月19日21:32 添加勘誤


請各位讀者將涉及本書內容的勘誤、意見及建議評論於此,以便集中瀏覽,謝謝!

本網頁右上角有簡繁體轉換按鈕,大家可以切換到自己喜歡的中文模式。


範例代碼備用下載鏈接:

http://www.informit.com/content/images/9780321905765/downloads/LearningCoreDataCode.zip


勘誤表

位置:第62頁,圖3-13

章節:第3章,第5節

原文:(原圖錯誤)

改文:(見下圖)
圖3-11

回報者:Cool Kern

位置:第74頁,表4-1

章節:第4章,第3節

原文:(表格第2行,1580及nsvalidationMultipleErrorsError)

改文:(1580改為1560,nsvalidationMultipleErrorsError的前三個字母應大寫,改為NSValidationMultipleErrorsError)

回報者:Cool Kern

位置:第76頁,程序清單4-6

章節:第4章,第3節

原文:(// display error message txt message那一行下方,缺了一部分代碼)

改文:(見下圖)
程序清單4-6尾部缺失的代碼

回報者:Cool Kern


翔按:本書對各術語所採用之中文譯法,僅代表我個人意見,與他人無關。

對於「一詞多譯」、「譯與不譯」以及「中英文並列時哪個在前」等問題,請大家訪問 ITEC 項目共同討論。

ITEC為「IT術語及計算機科學術語中英文對照表」之簡稱,網址為:https://github.com/jeffreybaoshenlee/IT-Terms-EN-CN

除此之外其它事宜,如印刷格式及翻譯問題等,請在本網頁留言。

中英文詞彙對照表

英文 本書譯法 其他譯法
application bundle 應用程序包 應用程序捆綁;應用程序捆綁包
application delegate application delegate 應用程序委託
(描述任務處理方式的)background 後臺 背景
de-duplication 去除重複數據;重複數據去除 刪除重複數據
dot notation 點;點符號 點寫法;點記法;點表示法;點表達式
edge guide 邊界基準線;邊線 邊緣引導線
end user 終端用戶 最終用戶
Fallback Store Fallback Store 後備存儲區;備用存儲區;備援存儲區
filter 篩選;過濾
(描述任務處理方式的)

foreground

前臺 前景
interface element 界面元件 界面元素;界面組件
key-value coding 鍵值編碼 鍵值編程
lag 卡頓 延遲;遲滯;遲緩
managed object 託管對象 受託管的對象
notification 通知 通告
parent entity 父實體 上代實體
performance 性能 效能
persistent store 持久化存儲區 持久化存儲;持久化倉庫
private queue 專用隊列 私用隊列;私有隊列
profile … 分析……的性能

對……做性能分析

對……做Profile

protocol 協議 協定
relationship 關係 關聯
schema 綱要 模式;大綱;概要
seed

seeding

散播數據;填充數據

數據散播

swipe 滑動 掃屏
validation error 驗證錯誤 合法性錯誤

豆瓣信息頁面:
http://book.douban.com/subject/26280358/
china-pub信息頁面:
http://product.china-pub.com/3770698
卓越亞馬遜信息頁面:
http://www.amazon.cn/dp/B00QGA0AGM/ref=sr_1_1
當當網信息頁面:
http://product.dangdang.com/23611793.html
京東信息頁面:
http://item.jd.com/11589219.html

英文原版书相關信息:
名稱:《Learning Core Data for iOS: A Hands-On Guide to Building Core Data Applications》
作者:Tim Roadley
出版社:Addison-Wesley Professional

Amazon信息頁面:http://www.amazon.com/Learning-Core-Data-iOS-Hands-/dp/0321905768/ref=sr_1_1
豆瓣信息頁面:http://book.douban.com/subject/24538358/


廣告

《Python編程實戰:運用設計模式、並發和程序庫創建高質量程序》討論及勘誤

code, pre {
font-family: “Courier New", Courier, monospace, sans-serif;
}

更新記錄

2018年7月4日16:20  更新源碼下載鏈接
2014年8月18日21:33 添加源碼下載鏈接
2014年11月3日18:14 添加中英文詞彙對照表
2015年6月23日12:38 添加勘誤
2015年10月7日14:03 添加問題說明


請各位讀者將涉及本書內容的勘誤、意見及建議評論於此,以便集中瀏覽,謝謝!

本網頁右上角有簡繁體轉換按鈕,大家可以切換到自己喜歡的中文模式。


若無法訪問本書官網(http://www.qtrac.eu/pipbook.html),您可在本網站下載源代碼:

https://github.com/jeffreybaoshenlee/pip-zh-trans/raw/master/pipeg.zip

該源碼的版權與使用許可,請見壓縮包內的 README.txt 文本文檔。

您也可以試着直接從本書英文版的網站裡面,按照文件地址來下載:


問題說明

8.1.1小節提到的cylinder1.pyw程序,在Ubuntu系統上面運行的時候,程序窗口裡可能無法正確顯示程序所要繪製的內容。用鼠標將窗口縮放之後,可能可以看到一部分畫面。此時按鍵盤的上、下、左、右方向鍵,實際上就是在操控該程序。然後再次對窗口進行縮放,可以看到經過鍵盤操控之後的情形。

這個現象先記錄於此,待考。


勘誤表

位置:第123頁,worker函數最後4行

章節:第4章,第1節,第1小節

原文:(縮進錯誤)

改文:(倒數第4行應該縮進12個英文半角空格,倒數第3行應該縮進16格,倒數第2行應該縮進8格,倒數第1行應該縮進12格,見下圖)
4.1.1-worker函數最後四行縮進

文字形式的代碼如下:
翔按:下列代碼中的空格與字母,其寬度可能會因瀏覽器的字型設定而異。最終效果以上方圖片為準。

def worker(size, smooth, jobs, results):
    while True:
        try:
            sourceImage, targetImage = jobs.get()
            try:
                result = scale_one(size, smooth, sourceImage, targetImage)
                Qtrac.report("{} {}".format("copied" if result.copied else
                        "scaled", os.path.basename(result.name)))
                results.put(result)
            except Image.Error as err:
                Qtrac.report(str(err), True)
        finally:
            jobs.task_done()

回報者:Lyon

位置:第124頁,scale_one函數第1行

章節:第4章,第1節,第1小節

原文:
oldImage = Image.from_file(sourceImage)

改文:
oldImage = Image.Image.from_file(sourceImage)
翔按:該行代碼左側有4格英文半角空格。

回報者:愛飛翔


翔按:本書所採取之中文譯法,僅代表我個人意見,與他人無關。

歡迎大家訪問 ITEC 項目共同討論術語翻譯。

ITEC為「IT術語及計算機科學術語中英文對照表」之簡稱,網址為:https://github.com/jeffreybaoshenlee/IT-Terms-EN-CN

中英文詞彙對照表

英文 本書譯法 其他譯法
a list of lists of Xs 最終元素為X的二重列表 包含X列表的列表
a point to a point to X 指向X的二重指針 指向X的二級指針;指向X指針的指針
attribute 屬性
(在與property對舉時,為免混淆,該詞保留英文原樣。)
特質;特性
binding 綁定 繫結
C … pointer C語言風格的……指針
central widget 中心控件 中央控件
cleanly terminateterminate cleanly 安全退出;照常終止 「乾淨地」終止
collection 集合
concurrent-safe 能在併發環境下安全使用的;併發安全的
context manager 情境管理器 內容管理器;上下文管理器;環境管理器
CPU-bound 計算密集型的 CPU密集型的;受制於CPU的;耗費CPU的
custom 自編的(類、方法、程序等)自定義的(控件) 定製的
Cythonize Cython化
(尚未有廣為接受的中文譯法。)
Cythonized 經Cython優化過的
(尚未有廣為接受的中文譯法。)
default dictionary 帶默認值的字典
dock window 可停靠(式)窗口 可吸附(式)窗口可停泊(式)窗口
exception 異常 例外
field 字段
font 字型 字體
function 函數 函式
high-levelhigh level 高層;高級封裝程度較高的 高階
I/O-bound I/O密集型的 受制於I/O的;需要大量I/O操作的
interpreter 解釋器 解釋程序;翻譯器;直譯器
item (數組裡的)元素(dict裡的)條目
(dict中的item亦可稱為「元素」。)
項目;項;條
library 程序庫;庫
low-levellow level 底層;低級 低階
message box 消息框 信息框;訊息盒
mid-levelmid level 中層;中級 中階
modal window 模態窗口 模式窗口
module 模塊 模組;組件
named tuple 具名元組 定名元組
namespace 命名空間;名稱空間
native application (相對於web應用程序的)本機應用程序(相對於跨平臺應用程序的)原生應用程序 本地應用程序
newline 換行符 換行;新行符;新行
object 對象(三維場景中的)物體 物件
pointer 指針 指標
positional argument 位置參數 定位參數;必選參數;位置相關參數
profiling 性能分析 程序概要分析
property 屬性
serialized 依序執行的 串行的;串行化的;序列化的
set 集合
shared library 共享庫 共用庫
spinbox 數值調整框 數值微調框
struct 結構體 結構
thread 線程 執行緒
thread-safe 能在多線程環境下安全使用的;線程安全的
time-criticalspeed-critical 對速度要求很高的 時間關鍵型的;對時間要求嚴格的速度關鍵型的;對速度要求嚴格的
tuple 元組 值組
type 類型 型別
word size 字長 字寬
wrapper 包裝器 封裝器
widget (GUI編程中的)控件 飾件;部件

豆瓣信息頁面:
http://book.douban.com/subject/25955274/
china-pub信息頁面:
http://product.china-pub.com/3770418
卓越亞馬遜信息頁面:
http://www.amazon.cn/dp/B00MHDPIJ6/ref=sr_1_1
當當網信息頁面:
http://product.dangdang.com/23535220.html
京東信息頁面:
http://item.jd.com/1241527127.html

英文原版书相關信息:
名稱:《Python in Practice: Create Better Programs Using Concurrency, Libraries, and Patterns》
作者:Mark Summerfield
出版社:Addison-Wesley Professional

Amazon信息頁面:http://www.amazon.com/Python-Practice-Concurrency-Libraries-Developers/dp/0321905636/ref=sr_1_1
豆瓣信息頁面:http://book.douban.com/subject/24390228/

飲食文化研究書單

  下午整理待讀書目,忽然發現一份書單,冠以《飲食書寫推薦書目》之名,其按專著、散文、小說、新詩、論文、報章雜誌、網文、電影、電視劇等九個門類,列出百餘種參考資料,非常值得收藏。

  小愛向來嘴饞,又是迂腐書生,喜歡把飲食當成文化來研究,發現此書單之後大喜過望,不敢私藏,特與諸友分享。

  網上搜索良久,卻未尋得該書單之編集者。不能於文中向其致謝,頗感遺憾。哪位朋友得若曉得,勞駕告知在下。

http://web.hcvs.hc.edu.tw/ezfiles/0/1000/attach/92/pta_333_4450317_52364.pdf

《算法心得:高效算法的奥秘》(原書第2版)討論及勘誤

請各位讀者將涉及本書內容的勘誤、意見及建議評論於此,以便集中瀏覽,謝謝!


更新記錄:

2014年3月13日01:09添加說明
2014年3月13日23:27添加勘誤條目
2014年3月20日20:40添加說明
2014年3月29日23:12添加勘誤
2014年4月19日00:14添加勘誤
2014年4月21日18:26添加勘誤
2014年5月4日23:38添加勘誤
2014年5月5日00:13添加勘誤
2014年6月8日01:13略微修改勘誤表
2014年6月8日01:13根據「英文第二版第二刷」之勘誤表,訂正中文版裡的相關內容
2014年6月10日20:58更新勘誤表(一)裡面其中一條勘誤之回報者
2015年4月6日添加勘誤
2017年3月7日添加勘誤
2017年3月9日添加勘誤
2017年10月18日更新勘誤
2018年3月10日更新勘誤


對bit、byte、word三詞譯法的說明

    • bit、byte、word這三個詞彙譯法較多,實難統一。在不太涉及算法的文章裡,我和大家一樣,也習慣譯為:「位」、「字節」、「字」;但在涉及算法的正式出版物裡,為求謹慎,幾經思量,還是選了「位元」、「字節」、「字組」這套譯法,萬望大家理解。

 

    • 各譯法之對比,請看byvoid同學 https://www.byvoid.com/blog/region-phrases-comparison-byte 一文。文中倒數第二段所說的這句話我比較贊同,抄錄在這裡供大家參考:
      「從翻譯角度來說,我認爲三個概念中『位元』『字節』『字組』分別是對『bit』『byte』和『word』較好的翻譯,因爲首先這三個詞都是雙字詞,符合現代漢語的造詞習慣,其次還能避免相互之間或與其他概念的混淆,因此推崇這三者。」

 

  • 除了上述兩個原因外,我再補充兩點:(1)三詞均為「偏正構詞法」,形式一致;(2)從「元」到「節」,再到「組」,有遞進關係。

原作者對英文第二版第二次印刷所做之勘誤:

感謝brownianwalker同學提供鏈接。


勘誤表(一)


位置:第11頁,2.1節,公式 x & (x-1) 上方括號內的示例數據
原文:01011110 -> 01010000
訂正:01011000 -> 01010000
錯誤原因:原書無誤,譯文有誤
回報者:南唐古韵;Yubin Yang;N!


位置:第11頁,2.1節,第5段,第1行
原文:下面的公式可以將字組尾部的1都變成0,如果尾部沒有1,則x不變
訂正:下面的公式可以將字組最右側及其左方連續出現的1都變成0,若最右側位元是0,則x不變
錯誤原因:原有譯法說得不夠透徹,重新翻譯
回報者:hebin20130504


位置:第11頁,2.1節,第7段,第1行
原文:以下公式可以將字組尾部的0都變成1,如果尾部沒有0,則x不變
訂正:以下公式可以將字組最右側及其左方連續出現的0都變成1,若最右側位元是1,則x不變
錯誤原因:原有譯法說得不夠透徹,重新翻譯
回報者:愛飛翔


位置:第13頁,2.1.1小節,第10行,第2個「=」右側
原文:-¬x & ((x+1)-1)
訂正:¬x & ((x+1)-1)
錯誤原因:公式排印錯誤
回報者:hucm90


位置:第13頁,2.1.2小節
原文:有一種簡單的辦法可以判斷出某個函數是否能通過一系列加法、減法、按位和、按位與及按位取反實現出來
訂正:有一種簡單的辦法可以判斷出某個函數是否能通過一系列加法、減法、按位和、按位或及按位取反實現出來
錯誤原因:原書無誤,譯文有誤
回報者:ご花未眠


位置:第18頁,2.3節,表2.1,第1行,第5列
原文:x & -y
訂正:x & ¬y
錯誤原因:公式排印錯誤
回報者:hucm90


位置:第19頁,2.4節
原文:((x>>30)|1)*x
訂正:((x>>31)|1)*x
錯誤原因:原書有誤,譯文未改正。
測試代碼參見:https://ideone.com/YmBno5
回報者:陳昱


位置:第20頁,2.5節,第2段,第2行
原文:(y-x)>>1
訂正:x+((y-x)>>1)
錯誤原因:原書無誤,譯文有誤。
備註:此處的 >> 表示無符號右移,其上方應有字母 u 。
回報者:lee


位置:第29頁,2.13節
原文:

-16<=x+y+c<=1

訂正:

-16<=x+y+c<=-1

錯誤原因:原書無誤,譯文有誤。
回報者:wishlily


位置:第57頁,3.2節,clp2(x)函數的定義
原文:2⌊log2 x
訂正:2⌈log2 x
錯誤原因:印刷錯誤。
回報者:wishlily

勘誤表(二)


本書作者曾經公佈了針對「英文第二版第二刷」的勘誤,小愛據此將中文版裡的相關錯誤訂正並彙總如下。


位置:47頁,第5段,第4行,2.20.2小節
原文:6個週期
改文:5個週期
回報者:Lawrence Ryan


位置:59頁,第3段,第2行,3.3.2小節
原文:x>=2^31
改文:x>2^31
備註:^表示冪,印刷時無需印出該字符,而應該把它後面的指數以上標形式印出
回報者:Lawrence Ryan


位置:69頁,第4段,第3行,4.3節
原文:前兩個不等式
改文:前三個不等式
回報者:Lawrence Ryan


位置:80頁,第4段末尾,5.1.1小節
原文:(「(實際上,……)」的後面缺一句話)
改文:計算時,需要把圖5.2的第三行代碼改為x = (x & 0x0F0F0F0F) + ((x >> 4) & 0x0F0F0F0F);,而且最後一行的3F也必須改為7F。
回報者:Lawrence Ryan


位置:81頁,第2段,第2句,5.1.2小節
原文:另一個數就是種群計數較大的那個
改文:另一個數就是種群計數較大的那個(也有可能表明兩個數的種群計數相同)
回報者:Lawrence Ryan


位置:91頁,第4段之後的第1行代碼,5.3節
原文:static char table[256] = {0,1,2,2,3,3,3,3,4,4,...,8);
改文:static char table[256] = {0,1,2,2,3,3,3,3,4,4,...,8};
備註:最後的右花括號誤寫為右小括號
回報者:Lawrence Ryan


位置:92頁,第2段,第1行,5.3節
原文:5 + …
改文:6 + …
回報者:Lawrence Ryan


位置:92頁,第4段,第3行,5.3節
原文:需要11條指令
改文:需要12條指令
回報者:Lawrence Ryan


位置:96頁,bitsize函數公式的第6行,5.3.3小節
原文:-2^30 + 1
改文:-2^30 – 1
備註:^表示冪,印刷時無需印出該字符,而是應該把它後面的指數以上標形式印出
回報者:Lawrence Ryan


位置:103頁,倒數第2段,第4行,5.4.1小節
原文:log2(Λ)+1
改文:⌊log2(Λ)⌋+1
備註:log2中的2應該以小字的形式印在log右下方
回報者:Lawrence Ryan


位置:166頁,圖9.1倒數第5行代碼,9.2節
原文:i < n
改文:i < n-1
回報者:HSW


位置:166頁,圖9.1倒數第3行與倒數第4行代碼之間,9.2節
原文:(缺一行代碼)
改文:r[n-1] = un[n-1] >> s;
備註:該行代碼的縮進,與修改之前倒數第5行的for語句處在同一級別
回報者:HSW


位置:200頁,倒數第2段,第5行,10.8.2小節
原文:邏輯右移3位
改文:邏輯右移兩位
回報者:Paolo Bonzini


位置:210頁,圖10.4,函數體前兩行代碼,10.15節
原文:
nc = (nmax + 1//d)*d – 1
nbits = len(log(nmax,2)) +1
改文:
nc = ((nmax + 1)//d)*d – 1
nbits = len(bin(nmax)) – 2
回報者:Colin Bartlett


位置:354頁,第3段,第2行,參考答案2.2
原文:x是不是0
改文:n是不是0
回報者:Lawrence Ryan


位置:357頁,倒數第1段,第2行,參考答案2.11
原文:c(n)
改文:cn
備註:n應該是下標形式
回報者:Lawrence Ryan


位置:362頁,倒數第11行,參考答案3.2
原文:如果一個數是10的奇數倍,那麼它必然是2的奇數倍
改文:當且僅當一個數既是10的倍數,又是2的奇數倍時,它纔會是10的奇數倍
回報者:Lawrence Ryan


位置:362頁,倒數第7行,參考答案3.2
原文:if (r > 5 | (r == 5 && (y & 2) != 0)
改文:if (r > 5 || (r == 5 && (y & 2) != 0))
回報者:Lawrence Ryan


位置:362頁,倒數第2行,參考答案3.2
原文:if (r == 0 & (y & 2) != 0)
改文:if (r == 0 && (y & 2) != 0)
回報者:Lawrence Ryan


位置:363頁,倒數第9行,參考答案4.2
原文:nlz(c & d)
改文:nlz(b & d)
回報者:Lawrence Ryan


此表格亦不定期地更新到
http://book.douban.com/subject/25837031/discussion/57548491/
http://club.jd.com/bbsDetail/11417658_27502095-ab93-42b8-8898-5c9384d3ab73_1.html
http://club.jd.com/bbsDetail/11417658_3ce14771-935c-4d42-b5f7-d81aa2a93c65_1.html
http://club.jd.com/bbsDetail/11417658_b77b6c0e-04de-4b9e-af71-796ac9936e3d_1.html
等網頁之中。


豆瓣信息頁面:
http://book.douban.com/subject/25837031/
china-pub信息頁面:
http://product.china-pub.com/3769521
卓越亞馬遜信息頁面:
http://www.amazon.cn/mn/detailApp/ref=asc_df_B00IRNTOQI908106/?asin=B00IRNTOQI
當當網信息頁面:
http://product.dangdang.com/23434235.html
京東信息頁面:
http://item.jd.com/11417658.html

英文原版书相關信息:
名稱:《Hacker’s Delight》(2nd Edition)
作者:Henry S. Warren, Jr.
出版社:Addison-Wesley Professional

Amazon信息頁面:http://www.amazon.com/Hackers-Delight-Edition-Henry-Warren/dp/0321842685/ref=sr_1_1
豆瓣信息頁面:http://book.douban.com/subject/10756419/

《浮生六記》讀後感

  久聞此書大名,未曾認真拜讀。去歲聞故宮出版社所印豎排繁體註釋版(http://book.douban.com/subject/25710882/)甚佳,遂購之。展卷見《十竹齋箋譜》之圖,意境尤清雅,於是靜心品讀。

  前四卷乃沈復先生所做,文筆真實含情,歷來為名家所重。三白芸娘誠佳偶矣,然天命無常,鴛鴦坎坷,令人亦羨亦惜。小愛後生,見識短淺,不敢妄加深評,惟請各位閱讀此書,以品其意。

  末兩卷雖為後人所託(詳情見:http://lsh1019.pixnet.net/blog/post/31777574-足本《浮生六記》作偽真相),但第五卷亦使吾對琉球歷史發生興趣,遂起赴沖繩旅遊之念,願覓得佳侶,共遊球陽。第六卷談養生,啓發亦大。養生法甚多,吾取「莊敬自強」以視之。「莊敬」,即知分寸;「自強」,即知進取。知退知進,有抑有揚,既可養生,又能養世。

  吾觀此書,更享閱讀思考之樂。記陋見於此,博方家一笑。

《網頁遊戲開發秘笈》內容討論及勘誤

更新記錄

2015年10月23日13:15 添加勘误


請各位讀者將涉及本書內容的勘誤、意見及建議評論於此,以便集中瀏覽,謝謝!


勘误表

位置:第17頁,程序清單1.14,第8至10行代碼
章節:第1章,第5節
原文:

    $(":checked").each(function(i) {
      var answerString = answerString + answers[i].value;
    });
改文:(刪去這3行代碼)
回報者:newnius

豆瓣信息頁面:
http://book.douban.com/subject/25888236/
china-pub信息頁面:
http://product.china-pub.com/3803734
卓越亞馬遜信息頁面:
http://www.amazon.cn/游戏开发与设计技术丛书-网页游戏开发秘笈-Evan-Burchard/dp/B00K62FWU0/ref=sr_1_1
當當網信息頁面:
http://product.dangdang.com/23471900.html
京東信息頁面:
http://item.jd.com/11459737.html

英文原版书相關信息:
名稱:《The Web Game Developer’s Cookbook: Using JavaScript and HTML5 to Develop Games》
作者:Evan Burchard
出版社:Addison-Wesley Professional

Amazon信息頁面:http://www.amazon.com/Web-Game-Developers-Cookbook-JavaScript/dp/0321898389/ref=sr_1_1_title_1_pap
豆瓣信息頁面:http://book.douban.com/subject/20062376/

《胡若望的疑問》(時報文化版)簡短書評

  用不到一週時間將本書看過,除需不時查閱書後註釋外,閱讀體驗尚佳。時報文化版中譯本之文筆,可謂流暢。

  誠如諸網友所言,該書所引之資料多出自傅聖澤一方,而胡若望一方之資料僅有一兩封書信。此種失衡現象之原因,可能是當時資料保存不完備,亦可能是傅聖澤等人並未講出全部實情,或是仍有涉及雙方之其他資料尚未發見。

  該書依據史料勾勒出事件主線,並填充了部分細節,整體文本較為耐讀,在「非小說類」圖書中可算良品。儘管作者未做設身處地之心理分析,然此書仍不失為研究明、清時代中西文化交流之參考讀物也。

《魏晉南北朝志怪小說研究》讀後記

  一直很喜歡筆記小說。而「筆記小說」與「志怪小說」這二者又頗有重疊。作為愛好者,經常隨心翻看各種志怪,然未曾系統學習過。
  
  此書上篇綜合講解了志怪小說之定義、背景、文學特色,而中篇尤為精彩,舉完數則例文之後,附有王教授對其內容之點評,此一部分有助於瞭解各篇引文在其原書、乃至六朝志怪小說史中之地位。
  
  下篇將羣書依照「現存」、「輯存」、「亡佚」分為三類,逐一考證其作者、版本、內容,對志怪小說愛好者極有參考價值。小愛將其總結為電子表格(https://docs.google.com/spreadsheet/pub?key=0AhvRubqjahMedGZtZ2VaQUZFZnhxWVFwX1FRRk1YRFE&output=html),供大家查閱。
  
  私以為,此書可謂六朝志怪研究中提綱挈領之作,推薦各位閱讀。

《Effective Objective-C 2.0》內容討論及勘誤

請各位讀者將本書內容討論、勘誤、意見及建議發表於此,以便集中瀏覽,謝謝!


更新記錄:

2014年3月6日00:27添加勘誤條目
2014年3月7日00:10添加勘誤條目
2014年3月13日00:27添加爭議條目
2014年3月19日22:17添加爭議條目
2014年4月15日14:16添加勘誤條目
2014年4月15日14:22添加翻譯說明
2014年4月15日14:49添加爭議條目
2014年4月15日22:16添加對爭議條目之答辯
2014年5月1日1:20修改「關於本書暨計算機術語翻譯的幾點說明」
2014年5月1日1:20添加對「保留環」、「大中樞派發」這兩個爭議條目之答辯,補充新觀點、新證據
2014年5月1日23:52添加對「保留環」這一爭議條目的兩條新證據
2014年5月2日23:44為本帖添加按語
2014年5月16日21:16添加勘誤條目
2014年7月20日01:33添加回報者信息
2014年7月20日11:37添加數條勘誤
2016年5月25日18:32添加勘誤條目
2016年5月27日08:06添加兩條勘誤
2016年6月3日12:11添加勘誤並完善category一詞的翻譯
2016年6月24日09:06添加勘誤
2016年6月27日09:08添加建議
2017年1月19日18:48添加勘誤
2017年7月8日01:55添加勘誤


翔按:自本書出版以來,我與身邊部分友人及網上部分讀者就某些術語的翻譯問題產生了一些分歧。這些分歧雖然不屬於「勘誤」,但卻對我很有啓發,也促使我對坊間流行的某些譯法產生了重新考量之心。所以,小愛將其彙總於此,並附上自己對這些問題的總體看法以及對單項問題的答辯,僅供大家參考。特此感謝提出爭議的諸位朋友。

對計算機術語翻譯的幾點看法

我覺得技術書籍中的專業術語是否應該譯為英文,的確是個有些棘手的問題。另外,「日常技術交流」、「技術手冊」與「正式出版物」這三者的行文措辭,似乎有微妙區別。對於前兩者來說,適當保留英文,我也是比較贊同的,但對於正式出版物來說,尚需稍加謹慎。

對於「正式出版物裡的英文術語是否應該翻譯」,以及「如何看待多種譯法並存的現象」這兩個問題,我目前的看法是:

  1. 程序代碼、編程語言的關鍵字和保留字、程序命令等,不用翻譯。這一點通過字符的印刷樣貌就能分辨出來。一般來說代碼及命令會用等寬字型印刷,而正文會用普通字型印刷。
  2. 由類名派生出來的普通單詞或短語,譯與不譯均可。例如由Collection接口派生出來的collection一詞,譯成「集合」或保留「collection」原樣都可以,又如從AbstractList類派生出來的abstract list一詞,譯成「抽象列表」或保留「abstract list」原樣都可以。
  3. 全小寫形式的單個英文單詞,例如call、method、class、key、value等,似乎仍以譯為中文為佳。只有極個別詞語可以例外,如bug、cookie等。
  4. 以普通短語形式出現的術語,例如thread safety、method dispatch、retain cycle等,似乎也可譯為中文。為了保持中文句子連貫,我把中文放在了正文中,而把英文放在了括號裡。
  5. 以全英文大寫字母形式出現的術語,如果是眾所周知的詞,如API、ARC等等,則可保留不譯,但如KVO等小衆詞彙,甚至是GCD這樣有歧義的詞彙(是Greatest Common Divisor還是Grand Central Dispatch?),則需考量。暫時覺得可以採用折中辦法,也就是在句中保留KVO原樣不譯,但在後面加括號註明中文「鍵值觀測」。
  6. 以首字母大寫形式出現的短語,則要分兩種情況。如果是Core Data這樣的框架名稱,則可保留不譯,但如果是Grand Central Dispatch這樣的所謂「技術」,則似乎應該翻譯。
  7. 軟件界面中出現的單詞和短語可以不譯。例如「Create」按鈕、「Help」菜單等等。
  8. 對於一詞多譯的現象,應當求同存異,不宜強行要求一致。很多不同的譯法都是從某個側面概括了英文術語的一部分樣貌,它們之間可能有「比較準確」與「特別準確」之分,但似乎沒有「絕對準確」的譯法。例如「模式」和「綱要」都是從一個側面概括了schema一詞的樣貌,前者強調了它的「模板性質」,後者則強調了它的「輪廓性質」。兩者都可接受,也應該並存。
  9. 對於坊間流傳甚廣但卻有可商榷之處的那些譯法,則應稍加辨析,以釐清問題。比如常見的context及font兩詞。前者通譯「上下文」,但我認為有時可譯成「環境」或「情境」;後者通譯「字體」,我譯為「字型」。又如爭議表中提到的retain cycle,常見說法是「循環引用」,我譯為「保留環」。再如衆說紛紜的handle,常見譯法是「句柄」,我認為可以試譯為「控制器」、「描述符」等。

感謝ChenGe同學對此問題提出意見。


勘誤表

錯誤位置 原文 訂正 錯誤原因或備註 回報者
28、30、32、70、86頁 [NSStringstringWithFormat… [NSString stringWithFormat… 印刷錯誤
翔按:修改後,NSString右側應有英文半角空格
久沏新茶rui
29頁,第2章,第7節,setLastName第6行代碼 self.lastName = lastname; super.lastName = lastname; 代碼錯誤 Gemini
36頁,譯者註 也叫做「類別方法」。 由於class一詞還可以譯為「類別」,所以class method一詞也可以譯為「類別方法」。 原註釋易引發混淆 ChenGe
36頁,譯者註的序號 印刷錯誤 愛飛翔
42頁,第8行代碼 O BJC_ASSOCIATION_COPY OBJC_ASSOCIATION_COPY 印刷錯誤 jerry19672501
46頁,倒數第4行 NSFCNumber NSCFNumber 譯文有誤 Zhongliang Zhang
50頁,第1段代碼,第3行 //YES //NO 原書有誤
譯文沿襲
嘿o大远
52頁,
第2段代碼,
第1行代碼
[EOCAutoDictionarynew] [EOCAutoDictionary new] 印刷錯誤 Helen
久沏新茶rui
52頁,
第2段代碼,
第2行代碼
[NSDatedate… [NSDate date… 印刷錯誤 久沏新茶rui
54頁,
第3段代碼,
第2行代碼
[NSStringclass… [NSString class… 印刷錯誤 西安 汪先生
57頁,第8行,第一個和第三個「is a」 is a isa
備註:第一個和第三個「is a」,可以去掉其中的空格。但為了與英文原書第68頁第6行保持一致,譯文中的第二個「is a」,暫時保留原樣。
gaolingfeng
58頁,
第2段代碼,
第2行代碼
[NSMutableStringnew] [NSMutableString new] 印刷錯誤 久沏新茶rui
58頁,
第2段代碼,
第4行代碼
[NSStringclass… [NSString class… 印刷錯誤 西安 汪先生
58頁,
第2段代碼,
第6行代碼
[NSNumberclass… [NSNumber class… 印刷錯誤 西安 汪先生
58頁,
第2段代碼,
第8行代碼
[NSDateclass… [NSDate class… 印刷錯誤 西安 汪先生
59頁,
第1段代碼,
第2行代碼
[EOCSomeClassclass… [EOCSomeClass class… 印刷錯誤 西安 汪先生
70頁,
initWithFirstName方法的代碼
returnself return self 印刷錯誤 gaolingfeng
71頁,
第1行代碼
EOCPersonalloc EOCPerson alloc 印刷錯誤 gaolingfeng
80頁,
第2段代碼,
第1行代碼
[EOCRectanglealloc] [EOCRectangle alloc] 印刷錯誤 久沏新茶rui
101頁,
第2段
第3行
“分類”機制 category(範疇、分類)機制 西安 汪先生
151頁,
第1段
第2行
numerateObjectsUsingBlock enumerateObjectsUsingBlock 印刷錯誤 GavinZhou
180頁,sharedInstance第3行代碼 stat icdispatch_once_t static dispatch_once_t 印刷錯誤
翔按:修改之後,應對「static」一詞運用粗體印刷。
Helen
久沏新茶rui
201頁,
第2段代碼,
倒数第4行代碼
[EOCClassAnew] [EOCClassA new] 印刷錯誤 久沏新茶rui

意見表

原文 建議 提議原因 提議者
class-continuation分類 類擴展 與蘋果的說法保持一致 Zhongliang Zhang

爭議表


  • 爭議:「retain cycle」是譯為「保留環」還是「循環引用」?
  • 提交者:Helen
  • 答辯:
    第一種譯法是直譯,第二種譯法表面看起來是意譯,但卻有若干疑點。本書採用第一種譯法。原因如下。

    1. 在維基百科中,「循環引用」一詞對應的英文是「Circular reference」,這個名詞性短語的中心詞是「reference」,該詞譯回中文,纔是真正的「循環引用」。「循環引用」與「circular reference」之間是一一對應關係;而「retain cycle」與「保留環」之間也是一一對應關係。真正應該譯為「循環引用」的英文詞是「circular reference」或「cyclic reference」,而不是「retain cycle」。
    2. 如果把「retain cycle」譯成「循環引用」,那麼兩個短語的中心詞將會不符。前者是英文裡的名詞性短語,其中心詞是「cycle」(環),而後者則是漢語裡的偏正短語,其中心詞為「引用」。
    3. 如果把「retain cycle」譯成「循環引用」,那麼「retain cycle」裡的「retain」(保留)一詞不見了,中文卻憑空多出來了「引用」二字。
    4. 補充一條新證據,《IOS中的block和retain cycle》(http://justsee.iteye.com/blog/1775245)一文第八段第一句話,「Retain cycle,翻譯成中文大概叫保留環吧」。
    5. 再補充一條直接證據。《Effective Objective-C 2.0》英文版Item 33,第169頁第4段第1句話:「The best way to avoid retain cycles is to make use of weak references.」如果逐字對譯為中文,那就是「避免retain cycle的最佳方式是利用weak reference」。假如把「retain cycle」譯為「循環引用」,那麼由於「weak reference」通譯為「弱引用」,所以全句就變為「避免循環引用的最佳方式是利用弱引用」。由此則引發尷尬:同一句裡的同一個中文詞語「引用」出現了兩次,第二次出現的「引用」一詞可以和「weak reference」中的「reference」相對應,但第一次出現的那個「引用」,卻無法和原句中的英文單詞相對應。
    6. 再有原書第170頁圖5.5的題註「Retain cycle being leaked when …」就明確地指出了「遭泄漏」的是「retain cycle」。若譯為「循環引用」,就成了「當……的時候,循環引用被泄漏了」。「循環引用」怎麼能「被泄漏」呢?真正被泄漏的是由四個循環引用所導致的這個保留環中的四個對象

    綜上所述,這種坊間流行的譯法有「中心詞不符」、「減詞」及「增詞」等問題,而上述第5、6兩條更是表明至少在本書語境中,不便把retain cycle譯成「循環引用」。特此辨析,以期引起各位朋友重視。


  • 爭議:「selector」是譯為「選擇子」、「選擇器」,還是保留英文原樣不譯?
  • 提交者:Helen
  • 答辯:此問題業界尚未形成統一意見,歡迎大家繼續爭論。本書採用第一種譯法。翔按:與友人goldlion討論時,我又分別發現了2010年的一篇PDF文檔《調度與回調》
    http://www.wiyun.com/site_media/wiki/attachments/scheduler_callback.pdf
    和一篇博客文章《Objective-C Selector》
    http://zhiwei.li/text/2010/11/objective-c-selector/
    ,前者在目錄第二行寫有「什麼是選擇子」,後者在倒數第四行出現了「方法和選擇子」的說法。

  • 爭議:「block」一詞是否應該保留英文原樣不翻譯?
  • 提交者:leafduo
  • 答辯:全小寫形式的單個英文單詞似以翻譯為佳。本書暫且將其譯為「塊」。

  • 爭議:「Grand Central Dispatch」一詞是否應該保留英文原樣不翻譯?
  • 提交者:leafduo
  • 答辯:

    本書暫且將其譯為「大中樞派發」。翔按:poolo所著《[ios] GCD-Grand Central Dispatch》一文,曾將其稱為「大中樞派發」。請參考:http://poolo.iteye.com/blog/1701080 第三行。

    從語源學角度來講,Grand Central Dispatch與英文中的固有詞彙「Grand Central Terminal」同構,都是「Grand Central+名詞中心語」。

    關於此一論述之證據,請參看Ben Jakuben所做題為《Getting Images Using Grand Central Dispatch》(http://teamtreehouse.com/library/implementing-designs-for-iphone/finishing-the-user-interface/getting-images-using-grand-central-dispatch)的電子講稿。

    該講稿中提到:The name, which is in reference to Grand Central Terminal in New York, suggests that Grand Central Dispatch, or GCD for short, is a hub that manages a bunch of different activities。這明確指出了兩詞之間的延遞關係。

    既然二者之英文構造相同,那麼其中文譯法也應具備同構性。查「Grand Central Terminal」一詞已有固定譯法,中文叫做「大中央車站」(參見:https://zh.wikipedia.org/wiki/%E5%A4%A7%E4%B8%AD%E5%A4%AE%E8%BB%8A%E7%AB%99),所以,將「Grand Central Dispatch」譯為「大中樞派發」或「大中央派發」,是與之同構的,這保持了翻譯的連貫性。


  • 爭議:「key」一詞是否應該保留英文原樣不翻譯?
  • 提交者:ChenGe
  • 答辯:全小寫形式的單個英文單詞似以翻譯為佳。本書暫且將其譯為「鍵」。

  • 爭議:「method dispatch」一詞出現在正文裡的時候,是以中文為主,括號內輔以英文,還是以英文為主,括號內輔以中文?
  • 提交者:ChenGe
  • 答辯:為求印刷效果順暢,本書暫且將其譯為中文,並在括號內輔以英文。

  • 爭議:「KVO」一詞是否應該保留英文原樣不翻譯?
  • 提交者:ChenGe
  • 答辯:由於是比較小衆的術語,所以本書暫且將其譯為中文。當然了,也可以像ChenGe同學說的那樣,將KVO均保留英文原樣不譯,但是在每次出現時均於後方加上括號,其內寫上「鍵值觀測」四個字。

豆瓣信息頁面:
http://book.douban.com/subject/25829244/
china-pub信息頁面:
http://product.china-pub.com/3769387
卓越亞馬遜信息頁面:
http://www.amazon.cn/Effective-Objective-C-2-0-编写高质量iOS与OS-X代码的52个有效方法-Matt-Galloway/dp/B00IDSGY06/ref=sr_1_1
當當網信息頁面:
http://product.dangdang.com/23416852.html
京東信息頁面:
http://item.jd.com/11402853.html


英文原版书相關信息:
名稱:《Effective Objective-C 2.0: 52 Specific Ways to Improve Your iOS and OS X Programs》
作者:Matt Galloway
出版社:Addison-Wesley Professional

Amazon信息頁面:http://www.amazon.com/Effective-Objective-C-2-0-Specific-Development/dp/0321917014/
豆瓣信息頁面:http://book.douban.com/subject/7952514/