不是每個程序員的工作都會使用到數(shù)據(jù)庫,而且現(xiàn)在不少人用NoSQL存數(shù)據(jù)。盡管如此,我認(rèn)為關(guān)連式數(shù)據(jù)庫(relational database)還是很重要,不管是MySQL、PostgreSQL、MS SQL或Oracle都好,資深程序員應(yīng)該至少對其中一種有相當(dāng)?shù)牧私狻?br />
題外話,多年程序?qū)懴聛,我對ORM(object-relational mapping)抱著存疑的態(tài)度。網(wǎng)絡(luò)上有篇文章:Object-RelationalMapping is the Vietnam of Computer Science,應(yīng)該是反ORM的代表作之一,有興趣的人可以看看。還有一篇有名的文章:The Law of Leaky Abstractions,講的是每一層抽象化都或多或少會有漏洞。從leakyabstraction角度來看,SQL已經(jīng)是一層有洞的abstraction了,而ORM洞更大!
有些網(wǎng)絡(luò)安全議題,是屬于系統(tǒng)管理者的范疇,例如DoS (denial of service)、DNS spoofing、man in themiddle;有些則是程序員的責(zé)任區(qū),例如SQL injection、cross-site scripting、cross- site request forgery等等。此外像驗證使用者身份的流程、儲存/傳送使用者敏感數(shù)據(jù)的方式,也都與安全有關(guān)。資深程序員對網(wǎng)絡(luò)安全議題及常見攻擊手法,應(yīng)該要有足夠的認(rèn)識與敏感度,并在開發(fā)過程中合理采取預(yù)防措施。