1. kindle paperwhite翻頁閃屏是沒辦法解決的嗎
1、硬體:電子墨水的最大特性在於它是不連續刷新的以保證顯示效果,不然的話,連翻幾頁之後屏幕上的文字邊緣就會發虛,如果前一頁有圖片還會出現該圖片的殘影。你可以認為這是個硬傷,但它絕對不會有你想像的那麼嚴重(詳見第二條)。
2、軟體:Kindle 的操作系統為 e-ink 屏幕做了很大的優化,其策略是:PDF 格式和帶圖片的 mobi、azw 等格式的電子書每一頁都會全屏刷新,不帶圖片的 mobi、azw 等格式電子書可以在設置里的「閱讀選項」里設置是否每次翻頁都刷新屏幕(或者刷多看的系統可以自己設置刷新一次的間隔,有的極端的人就設置成 999 頁才刷一次)。
所以對於這個問題,有個網友的回答很實在:在沒買 Kindle 之前,感覺自己好像很難接受這種情況,可買了之後,感覺所糾結的這個問題對我來毫無影響。因為包括 mobi、pdf 格式的電子書的顯示效率遠不如亞馬遜自己的 azw3 格式,不信可以在 Kindle Store 里自己下(買)一本正版書看看它原生系統的優化是多麼優秀。簡單的來說,跟蘋果產品一樣,只有遵循亞馬遜的套路,你才能在 Kindle 上獲得最佳的閱讀體驗,所以強烈不推薦多看,遲緩、低效、用戶體驗差。簡單來說就是一個毫無針對 e-ink 屏進行優化的失敗產品(揀了芝麻丟了西瓜)。
如果你還是很疑惑,想弄清楚原理,也可以看看下面更專業一些的專業解答:
電子墨水屏是由許多電子墨水組成,電子墨水可以看成一個個膠囊的樣子(如上圖所示)。每一個膠囊(位置 6)裡面有液體電荷,其中正電荷染白色,負電荷染黑色。當在一側(位置 8)給予正負電壓,帶有電荷的液體就會被分別吸引和排斥。這樣,每一個像素點就可以顯示白色或者黑色了(註:彩色電子墨水的電子書並不是不能做,只是成本和技術還沒符合市場要求)。
因為電子墨水的刷新是不連續的,每一次刷新完成就可以保持現在的圖形,即使拔掉電池也依舊保存。可能會有人問到,拔了電池吸引電子墨水的電壓就木有了,那麼小球不就回復原狀或者進入隨機的混沌狀態了嗎?答案是因為電子墨水具有雙穩態效應(磁滯效應)。
上圖中,橫軸是電子書提供的電壓大小,縱軸灰度(假定正為最白,負為最黑)。電壓加大的過程和減小的過程,給予同樣的電壓,電子墨水黑白程度是不同的。這樣的效應就叫做雙穩態效應(磁滯效應)。利用這樣的效應,我們就可以給一個正電壓(從 0 到 B 點過程,走下面上升的路線),吸引負電荷,顯示正電荷白色給讀者,然後斷電(從 B 減少到 0,走上面那條回來的路線)。白色得以保持。於是,電子墨水的電子書省電就在於如果不需要顯示有所變化,屏幕部分消耗電量為 0。
注1:不變化屏幕電子書自己沒電是由於電路板的待機消耗以及電池自己的內阻消耗
注2:其他常見顯示器無論屏幕內容是否變化,屏幕部分的耗電量都是持續的,變化不大。
為什麼每一次變化(如:翻頁),或者每隔一段時間就需要有一個全部清場的動作呢?我們剛假設電壓從 0 加大然後再減少到 0,但是電子墨水的灰度從位置 A 變到了位置 C。那麼如果下一次變化,如果我減少電壓,也就是順著上面那條返迴路徑繼續行走,就沒有問題。但是如果下一次刷新,我還需要這個像素顯示白色,那麼這個在C點情況的墨水所遵循的路線就不是這個圖形了。電路所驅動的電壓對應的灰度將會不準確。導致的結果就是黑色的墨水黑色程度不相同,白色的墨水有的沒有完全白下去。就會出現我們所說的鬼影,或者殘影。於是,為了避免殘影的出現,就全部加到最大或者最小電壓,把所有的墨水清零,從初始狀態從新開始調整,這樣所有的墨水小球就可以保持只有兩種顏色的均勻顯示了。
如果能夠明白以上的說明,那麼對於電子墨水屏幕為什麼經常要全屏反色刷新就好理解了。希望您能採納~
2. 如何優雅地打一個有效借條
借條可以署名 「優雅的借條」
《借條》的正規寫法,沒有什麼優雅或高端的之說。一般認為,借條的書寫應當規范、嚴謹,關鍵的要素比如貸款人、借款人、借款金額、還款期限、有無利息、借款日期等,必須齊全、真實、准確、無塗改、雙方當事人無異議。對借款人、貸款人的名字要與其身份證上的姓名相符,要避免使用張叔叔、李伯伯、王老弟、趙大哥等昵稱或代號,防止以後發生誤會或爭議。
先判斷winsocket的狀態
如果是 關閉 則忽略
如果是打開,則使用關閉動作去關閉它即可
1. 關閉Socket時究竟做了什麼
關閉socket分為主動關閉(Active closure)和被動關閉(Passive closure)兩種情況。前者是指有本地主機主動發起的關閉;而後者則是指本地主機檢測到遠程主機發起關閉之後,作出回應,從而關閉整個連接。
其狀態圖如下圖所示:
起初每個socket都是CLOSED狀態,當客戶端初使化一個連接,他發送一個SYN包到伺服器,客戶端進入SYN_SENT狀態。
伺服器接收到SYN包,反饋一個SYN-ACK包,客戶端接收後返饋一個ACK包客戶端變成ESTABLISHED狀態,如果長時間沒收到SYN-ACK包,客戶端超時進入CLOSED狀態。
當伺服器綁定並監聽某一埠時,socket的狀態是LISTEN,當客戶企圖建立連接時,伺服器收到一個SYN包,並反饋SYN-ACK包。伺服器狀態變成SYN_RCVD,當客戶端發送一個ACK包時,伺服器socket變成ESTABLISHED狀態。
當一個程序在ESTABLISHED狀態時有兩種圖徑關閉它, 第一是主動關閉,第二是被動關閉。如果你要主動關閉的話,發送一個FIN包。當你的程序closesocket或者shutdown(標記),你的程序發送一個FIN包到peer,你的socket變成FIN_WAIT_1狀態。peer反饋一個ACK包,你的socket進入FIN_WAIT_2狀態。如果peer也在關閉連接,那麼它將發送一個FIN包到你的電腦,你反饋一個ACK包,並轉成TIME_WAIT狀態。
TIME_WAIT狀態又號2MSL等待狀態。MSL意思是最大段生命周期(Maximum Segment Lifetime)表明一個包存在於網路上到被丟棄之間的時間。每個IP包有一個TTL(time_to_live),當它減到0時則包被丟棄。每個路由器使TTL減一並且傳送該包。當一個程序進入TIME_WAIT狀態時,他有2個MSL的時間,這個充許TCP重發最後的ACK,萬一最後的ACK丟失了,使得FIN被重新傳輸。在2MSL等待狀態完成後,socket進入CLOSED狀態。
被動關閉:當程序收到一個FIN包從peer,並反饋一個ACK包,於是程序的socket轉入CLOSE_WAIT狀態。因為peer已經關閉了,所以不能發任何消息了。但程序還可以。要關閉連接,程序自已發送給自已FIN,使程序的TCP socket狀態變成LAST_ACK狀態,當程序從peer收到ACK包時,程序進入CLOSED狀態。
2. Winsock2 API中的相關函數
先當然是查MSDN,看到winsocks2 API中的相關函數有:closesocket,shutdown,WSASendDisconnect. 我大致說一下,具體詳細的資料還請自行查MSDN.
int closesocket( SOCKET s)的作用是關閉指定的socket,並且回收其所有的資源。
int shutdown( SOCKET s, int how)則是禁止在指定的socket s上禁止進行由how指定的操作,但並不對資源進行回收,shutdown之後而closesocket之前s還不能再次connect或者WSAConnect.
int WSASendDisconnect( SOCKET s, LPWSABUF lpOutboundDisconnectData)則和shutdown基本類似,稍有不同的就是WSASendDisconnect函數多了一個lpOutboundDisconnectData參數,可以允許發送「斷開數據」(disconnect data).但MSDN上寫了「The native implementation of TCP/IP on Windows does not support disconnect data.」,所以一般我們就用shutdown函數就行了。
3. Socket的優雅關閉
在MSDN中對shutdown函數中的Remarks部分有下面一段話,指出了如何進行一次優雅的slcket關閉:
To assure that all data is sent and received on a connected socket before it is closed, an application should use shutdown to close connection before calling closesocket. For example, to initiate a graceful disconnect:
Call WSAAsyncSelect to register for FD_CLOSE notification.
Call shutdown with how=SD_SEND.
When FD_CLOSE received, call recv until zero returned, or SOCKET_ERROR.
Call closesocket.
closesocket的行為也是隨setsockopt()中參數的不同而有不同的表現,這里影響它的行為的主要就是那個linger結構。
SO_DONTLINGER 若為真,則SO_LINGER選項被禁止。
SO_LINGER 延遲關閉連接 struct linger
上面這兩個選項影響close行為
選項 間隔 關閉方式 等待關閉與否
SO_DONTLINGER 不關心 優雅 否
SO_LINGER 零 強制 否
SO_LINGER 非零 優雅 是
若設置了SO_LINGER(亦即linger結構中的l_onoff域設為非零),並設置了零超時間隔,則closesocket()不被阻塞立即執行,不論是否有排隊數據未發送或未被確認。這種關閉方式稱為「強制」或「失效」關閉,因為套介面的虛電路立即被復位,且丟失了未發送的數據。在遠端的recv()調用將以WSAECONNRESET出錯。
若設置了SO_LINGER並確定了非零的超時間隔,則closesocket()調用阻塞進程,直到所剩數據發送完畢或超時。這種關閉稱為「優雅的」關閉。請注意如果套介面置為非阻塞且SO_LINGER設為非零超時,則closesocket()調用將以WSAEWOULDBLOCK錯誤返回。
若在一個流類套介面上設置了SO_DONTLINGER(也就是說將linger結構的l_onoff域設為零),則closesocket()調用立即返回。但是,如果可能,排隊的數據將在套介面關閉前發送。請注意,在這種情況下WINDOWS套介面實現將在一段不確定的時間內保留套介面以及其他資源,這對於想用所以套介面的應用程序來說有一定影響。
所以一般來說,不應該把linger設置為SO_LINGER 並且設置timeout為0,這樣的話,當本地主機調用closesocket時將會造成一個「強制」或「失效」的非優雅關閉。可以根據實際情況設置為另外兩種情況。
輕輕地 *** 去不要太用力 慢慢的取出來不要太心急(絕對不污)
污者不留名,留名不污者
go語言Go語言是谷歌2009年發布的第二款開源編程語言。Go語言專門針對多處理器系統應用程序的編程進行了優化,使用Go編譯的程序可以媲美C或C++代碼的速度,而且更加安全、支持並行進程。北京時間2010年1月10日,Go語言摘得了TIOBE公布的2009年年度大獎。
Marathon:
這個是mesosphere公司開源的基於Mesos的通用框架,主要是用來執行長期任務,比如web服務、db服務等。見到一個比方,覺得很貼切「marathon好比集群的init.d,需要確保其上的服務始終運行著」。當然marathon也執行運行其他框架比如hadoop。
他的主要優勢在於: 提供了完整的REST API 以及多語言的CLI實現如python、java、ruby等。同時也提供了webUI。並且貌似國內有企業已經在用該框架了。我當前所在的公司就是選擇的基於Marathon做的自己的SaaS服務。
Marathon有幾個比較主要的概念:
約束條件:Marathon支持通過「約束條件」來限制AP
有錢的話。。買一個3w的准系統。。。然後用兩年。。然後低價賣出去。。就是這樣的。。。這樣的話最好。。。
裝逼不可取,還不如多看點書,推薦kindle去看書提升自我。
kindle特別適合看小說 看英文版本的書籍,體驗超級給力 ,對眼睛的傷害可以說很低,看久了也不疲勞, 待機也不錯 手感也很棒,個人推薦KPW3,日版才600多,問日版國內能不能用,回答是肯定的。亞馬遜資源也是很豐富的,但是kindle對PDF的書籍支持的很不好。
kindle原系統支持azw、pdf、mobi、prc、txt格式。其中mobi、azw和prc格式支持最為優秀。 PDF如果是掃描版的,因為不是為6寸量身定做的,所以,顯示會不太清晰,或者由於本身掃描效果就不太好,所以會不太清晰。如果是字太小,原系統可以考慮局部放大,多看系統下可以用智能切邊功能。 txt格式支持不是太好,有可能會出現亂碼或者翻頁有問題。把txt格式編碼另存為UTF-8的編碼的效果會好點(在電腦中打開一個txt文件,點擊文件→另存為→編碼選擇UTF-8→保存),但是建議最好是轉換成mobi。
軟體正版,桌面干凈,花錢提配置,掌握基本的電腦使用及設置(擺脫衛士和管家)技巧即可。