Java——永存、曲折、低谷、重生!

Java——永存、曲折、低谷、重生!
Java作为最流行的编程技术之一,带给软件产业深远影响,也改变了许多人的人生轨迹。值Java二十年之际,本期《程序员》邀请Java领域技术专家、知名图书作者从他们的角度谈谈Java的技术变迁以及在各个领域的技术实战。

安全曾让Java蒙羞,安全也让Java重获新生。在2014 Pwn20wn黑客大会上,Java成为唯一没有被攻破的平台。而在2015的会议中,Pwn20wn甚至没有把Java列在攻击名单上。

对于Oracle的接管,Gosling表达了自己的喜悦之情,“得知这个消息后,我感到非常惊喜。Oracle是个非常优秀的监护人并大大超出了我的期望。一开始我还担心它会不会成为第二个Solaris,现在看来我是多虑了。”

虽然很多人都曾预言Java将一蹶不振,但是现今在不少的重要项目中,Java仍扮演着极其重要的角色。
Purdy指出,没有Java,甚至不会有大数据的大发展,“Hadoop本身就是用Java编写的。当你需要在运行MapReduce的服务器集群上发布新功能时,你需要进行动态的部署,而这正是Java所擅长的。”
另一Java受惠者是Twitter。一开始Twitter是用Ruby on Rails编写的,但是随着用户数的增长RoR逐渐显得力不从心。Fail Whale(失败鲸)的宕机画面预示着瓶颈问题亟需解决。在2012年,Twitter从RoR转向了Java和Scala,而失败鲸从此灭绝了。

Link: http://m.csdn.net/article/2015-04-20/2824514-Java

ReSnap – A Smart Automated Photo Book Creation Platform

ReSnap – A Smart Automated Photo Book Creation Platform

ReSnap, a company that automatically creates a book of photographs from a range of sources, has announced an update for its beta platform, with a revamped platform that allows you to upload photos from local storage – it will then automatically pick the best images from the selection without you having to do anything.

http://thenextweb.com/insider/2015/04/23/resnap-expands-its-smart-automated-photo-book-creation-platform/ http://thenextweb.com/apps/2014/04/24/resnap-retools-print-demand-photo-book-platform-work-virtually-big-data-source/

Jobbole 伯乐在线

This is a IT related blog site and it is really useful for me, it’s glad that to recommend this site to you. (It is a Chinese medium blog)

这是 IT 性质的部落格,里头内容非常对我非常有益,因此我有必要推荐这个网站给大家。

它有一个理念我喜欢,它认为现在很多信息都是快餐式的,它希望提供读者一个较长篇,信息较全面的阅读体验。

真的,从这里可以学到很多很多东西。

SPDYing Up the Web

SPDY, a potential successor to HTTP, as it improved performance and a proven deployment strategy.

SPDY (pronounced Speedy), is an open networking protocol, developed by Google, to transport web content, it is currently used as a working base of HTTP/2. Its goal is to reduce web page load latency. It is achieved by prioritizing and multiplexing the transfer of web page subresources so that only one connection per client is required. Server push (or Resource Push) is included to actively push resources to client when the resource is available.

Technically, HTTP/1.0 requires differ connection for each request/response pairs. HTTP/1.1 started support request pipelining which contains multiple request/response pairs in one connection. Consider a web page having multiple images and css resources, only the HTML of web page returned then it get parsed to download separately the image resources. What SPDY do as a gateway between client and server is to coordinating the request and resources on behalf of clients on the server. When it received requests from client, it get the HTML of the web page, it server push the images resources to the client if available before it response the full HTML web content down to the client browser. Each SPDY endpoint also intelligent enough to keep tracks the last headers being sent and avoid to send again if it is unchanged. The content is compressed before sent.

SPDY is as a gateway situated at the high speed Internet backbone, the client make requests that passed through the SPDY gateway before it reached the external websites. SPDY mechanism is activated when both client and server supports SPDY, or fallback using HTTP otherwise.

Furthermore, the keys of SPDY are, i) Secure connection to gateway, regardless of server-side SSL support. ii) Single client-side connection across all domains. iii) Delegated DNS lookup. iv) Intelligent push. v) Caching. SPDY gateway will also been developed as Device-specific SPDY gateways and Open SPDY gateways.

Device-specific SPDY gateway such as Amazon Kindle implements its own SPDY gateway, (own SPDY client and server side), resulting simplify the vendor implementation which may bring faster browsing and as a selling point competed to others. Amazon also seem interested in data mining and advertising opportunities that come with controlling the gateway.

Server support and client support is increased significantly. Google Services such as Gmail, Google Search will use SPDY when it is available.Twitter, and open source Jetty Servers, apache mod, node.js is announced to implement SPDY. Google Chromium, possibly the latest build of Google Chrome, Mozilla Firefox, Opera is implementing as well. Facebook and WordPress is announced to implement SPDY across their hosted pages.

More information available at:
1) http://t.co/ESeVpWhi via @CACMmag
2) http://en.wikipedia.org/wiki/SPDY
3) SPDY & Secure Proxy Support in Google Chrome
4) https://github.com/igrigorik/node-spdyproxy/ (Node JS SPDY Proxy)
5) SPDY versus WebSockets
(the ideal of future is SPDY handles request/response, while WebSocket handles real time communication.)
6) WebSocket Layering over SPDY (Google Docs)
7) http://www.slideshare.net/fabianlange/the-spdy-protocol

[ 5) is talking SPDY is operating over SSL and it is secure compared with WebSocket. SPDY contains compressed GZip Headers where WebSocket does not have, which used to be parsed by firewalls to know the origin of request, less secure. 6) is talking Google proposed SPDY/3, which WebSocket Layering over SPDY, to provide faster performance and also security ]

Google I/O 2012 SPDY

iOS6 is coming

Long awaited iOS6 is coming and I had just upgraded to it for my iPhone 4 and iPad 3, everything smooth and fast and no giving me trouble.
First thing is to test the apps I deployed and all there run smoothly and faster than ever such as when turning the tab view for example, and sure it is applied to all other apps.
Second thing is to download New YouTube apps, because the old YouTube can’t found already. Apps Store apps had changed, became cover flow view, but frankly I still expect previous view at the first sight, ok, don’t worry, just passed and no harm.
Third thing is to install iOS6 on my ipad3 and open clock apps and enable Siri. Ok, I want to play Chinese now. Greet him first (oops he is man). Say good morning, he back me good morning? nine … “PM”, (gmt+8) ok, he know I am wrong, nice.
Fourth, open WordPress apps on my phone, to publish blogs, saw the built in maps is automatically using the Apple branded.
Using Siri Chinese to open Facebook apps, but “she” (Chinese is a girl) sorry that she can’t close the apps. Able to post Facebook status using Siri Chinese and English. I can open Twitter apps but cannot publish status there, I meant by using Siri.
And then after some tries, the Siri doesn’t work well, it keeps trying to said that the service is not working well would me wants to retries? By the way the iOS6 is coming, more types of devices can use Siri that brought a an unexpected or “expected” traffics that the server can’t handle well. And more over the Siri Chinese is still not intelligent enough which did not show what Apple introduction said Siri can learn from experience.
Programming in JavaScript is more fun, creating iPhone apps in Titanium Mobile not only brings native looks but also native performance which contrasted to the UIWebView JavaScript performance limit. However Safari JavaScript does have improvement stated but I didn’t have yet experienced it.
I expected Siri open API that custom apps can handle Siri Request, least based on the commands.
Another thing discovered is that whenever changes or updates on one device will be known on another device immediately. I am not sure if this is happened before. But I just first time see this when my iPad subscribe to apple Id my iPhone can get alert notification.
Initially, I waited for iOS6 download since yesterday but seem it is still not available on my phone, when go to Setting, general, software update, it still showing up to date, that’s meant it still stick to iOS5.1.1. I suspected because the cache issue, wonder if it can be solved but however I just tried restart the phones Ann’s waited for a while it is worked, iOS6 available for downloaded, I read some news recently revealed that some geographic users still could not get updates or Apple is not officially announced for the release to avoid huge traffics flowed to Apple server.