2013年9月8日
摘要:
基于官方文檔2013.12.19最后一次改動。
翻譯人:Weir Zhang (zh.weir)
旁白:水平有限,很多地方只是意譯。不準確的地方,大家以原版文檔為準。
原版地址:http://google-styleguide.googlecode.com/svn/trunk/javaguide.html
一、介紹
本文檔為Google Java編程規(guī)范的完整定義。依照此規(guī)范編寫的Java源碼文件可以被稱為Google Style。
和其他編程規(guī)范指南一樣,規(guī)范不僅包括了代碼的結構美學,也包括了其他一些業(yè)界約定俗成的公約和普遍采用的標準。本文檔中的規(guī)范基本都是業(yè)界已經(jīng)達成共識的標準,我們盡量避免去定義那些還存在爭議的地方。
1.1 術語說明
本文檔除非特殊說明,否則:
a、class(類)統(tǒng)指普通的class類型、enum枚舉類型、interfa
閱讀全文
摘要: 背景
事實上,在前些年,隨著wifi的興起,特別是wifi direct的推出,藍牙一度沒落了。然而近一兩年隨著移動智能終端指數(shù)級增長,穿戴式設備興起,藍牙4.0推出,特別是低功耗藍牙(BLE)的推出,藍牙又煥發(fā)了新的青春氣息。
此次藍牙的復興,可以明顯感覺出人們對藍牙與wifi訴求的差異化。wifi的優(yōu)勢在于傳輸速度,大文件、塊數(shù)據(jù)的傳輸,正很快地向wifi direct切換。而藍牙的優(yōu)勢在于多樣化設備間的無線連接和數(shù)據(jù)共享。
藍牙之所以有這個優(yōu)勢,我想主要原因是藍牙歷史悠久,有相當多現(xiàn)成的設備間通信標準和協(xié)議。另外藍牙模塊成本低、體積小,非常適合應用于穿戴式設備等小型設備。加之新推出的低功耗藍牙將耗電量降得非常低,穿戴設備用一個紐扣電池就能用好幾個月甚至幾年。
經(jīng)典藍牙應用場景包括藍牙耳機、藍牙音箱、藍牙鼠標、藍牙鍵盤等。而隨著低功耗藍牙的推出,穿戴式設備開始流行起來,例如手環(huán)、手表、防丟掛件等。
穿戴式設備對藍牙來說預示著一種趨勢。那就是在Android與Arduino讓一切物體智能起來的時代,藍牙可以作為一種強大穩(wěn)定的無線通信技術,讓一切
閱讀全文
摘要: 一、關鍵概念:
Generic Attribute Profile (GATT)
通過BLE連接,讀寫屬性類小數(shù)據(jù)的Profile通用規(guī)范。現(xiàn)在所有的BLE應用Profile都是基于GATT的。
Attribute Protocol (ATT)
GATT是基于ATT Protocol的。ATT針對BLE設備做了專門的優(yōu)化,具體就是在傳輸過程中使用盡量少的數(shù)據(jù)。每個屬性都有一個唯一的UUID,屬性將以characteristics and services的形式傳輸。
Characteristic
Characteristic可以理解為一個數(shù)據(jù)類型,它包括一個value和0至多個對次value的描述(Descriptor)。
Descriptor
對Characteristic的描述,例如范圍、計量單位等。
Service
Characteristic的集合。例如一個service叫做“Heart Rate Monitor”,它可能包含多個Characteris
閱讀全文
摘要: 從最近幾年開始,做平臺的公司都流行起Open API。這是一個非常好的理念,也受到廣大開發(fā)者的歡迎。如今,開發(fā)一款軟件,你可以很容易地集成微博、微信、人人網(wǎng)等流行社交媒介的分享功能,做一個社交應用變得越來越簡單。
主流社交媒介要集成到第三方應用中,最重要的入口就是安全便捷的授權認證系統(tǒng)。讓用戶在享受一鍵分享和各種社交樂趣的同時,又不用擔心帳號安全和隱私泄露等問題。而對于一些有特殊目的的組織或個人來說,攻占這個授權認證系統(tǒng)意味著自己獲取了信息傳播的入口和渠道,數(shù)量龐大地社交入口往往能帶來巨大的社會效應。所以,這個入口就成了軟件安全攻防雙方的必爭之地。
而本文所要講的就是當前最為流行的新浪微博Android客戶端SSO授權認證入口的一個安全缺陷。此缺陷使得第三方APK在一定條件下可以不通過授權,在不需要人為操作的情況下就可以操作Android手機用戶的微博。包括關注、評論、發(fā)微博等OpenAPI中提供的功能。
閱讀全文