前五篇露水

今天的短筆記
2015 年 8 月 30 日 (星期日) 23:24

- Visual Studio 真的很難移除,研究了大半天才移除得到。

- VMWare vSphere Client 在 Windows 10 上跟 AVG AntiVirus Free 2015 不太配合,要執行 vSphere Client,一是暫停 AVG,不然執行時就將 vSphere Client 設定為與 Windows 8 兼容。

回應 (0)
約束式編程
2015 年 8 月 29 日 (星期六) 01:29

幾年前讀到一本名叫《七周七語言》(Seven Languages in Seven Weeks)的書,略略認識了 Prolog 這種像是老舊而基於約束的編程語言,感覺很有趣,因為我不用設計尋找方程解的邏輯,而是輸入我所需要的條件,它便幫我找出答案,或為一些規劃(例如時間表和分組安排)進行最佳化。

到近期因為一些原因,我又在找類似的方案,特別是在找 Java 上的實現,好讓我可以直接在常用的平台做類似的事情。

我先找到了 OptaPlanner,它由 JBoss Community 維護,但建模似乎更複雜,我未太明白。

我亦找到了 Google 推出的 or-tools,但它的說明文件比較混亂。

後來我找到了 Java 平台上有 JSR-331 這標準(連結連結連結連結連結),大家可按著這共有的編程介面,配合不同的實現,建構出基於約束的解題程式。可惜網上的資源並不算太多,我亦不太肯定各種實現的實現和更新情況。那些開發商的非 JSR-331 實現反而可能更好(例子)。當然這標準值得留意。

我退而求其次,撇開 Java 這個條件,反而找到了一種名叫 MiniZinc 的語言,算易編寫,我寫了一個簡單的程式,找出符合條件的最大數字:
Capture-minizinc

它其實也有 Java 上的接近的實現,但我也未試過。

這個網站有大量基於不同語言和建模方式的約束式編程範例程式,很值得參考。

參考連結:
Wikipedia - Constraint programming

回應 (0)
一堆連結
2015 年 8 月 26 日 (星期三) 21:29

jdays2015
常规桌面计算多少内存足够了?
24 小時學會 Java 程式?想成為武林高手,還是先花 10 年磨一劍吧!
城規會取消電車機會甚低 點解大家咁大反應?
如果電車毫無意義,孝順也沒有意義
愛作白日夢沒有錯,這樣你才能產生創意
家庭环境辐射源危险大排名
Apple 直營店新標準: 打開的 MacBook 一定要是這個精確的角度!
GitHub 上程式語言的趨勢
2015日本首都圈:日本最短的普通鐵路-芝山鉄道
iHateEclipse.com
午睡究竟有什么神奇效果
80 年代遊戲開發者的辛苦困境
Google发布Go 1.5
Debian创始人谈他怎么发现Linux的
LINE 的問題,太早開始全面 Monetize
G2 Crowd
Intel 第六代 Core 微架構,Skylake 資訊快速瀏覽
WRITING A GAME BOY ADVANCE GAME
在Web快速開發框架間徘徊
Gartner 提出五大過度技術,無人車、物聯網均上榜
北京变成紫禁城
腦殘遊車河記︰電車同小明邊個行得快啲?
【撐電車】40長跑高手火併電車 得4人跑贏
OptaPlanner
減壓App越用越勞氣
Working Over 40 Hours a Week Makes You Less Productive, Not More
Firefox抛弃旧的扩展,兼容Chrome扩展
數據機撥接有多慢 引爆網友熱議!
網頁式電路模擬器
>Circuit Simulator
電車10個小秘密 最高時速是......
警方称Ashley Madison用户自杀,公司提供50万赏金
HTTP/2 is the future of the Web, and it is here!
HackPwn:TCL智能洗衣机破解细节分析
前Google工程師推出新的Linux檔案系統Bcachefs
古老瓶中信,帶你一窺 108 年前的洋流探測科學
研究发现论文标题越短引用次数越多
加班 OUT!今晚老闆再要你加班,就拿這篇文章給他看!
美心理學家擔憂,Google 可操控總統大選結果

回應 (0)
Java EE JSF vs Spring MVC
2015 年 8 月 19 日 (星期三) 22:26

近期一直在讀有關 Java EE 7 的資料,發現它真的很複雜,由 Persistence Layer、Business Layer 到 Web Layer 都有框架照顧到。Spring 亦是如此。

JSF 似乎成為了 Java EE 7 框架內 MVC 的標準。看起來似乎很不慣,跟自己用過的網頁框架很不同。但原來這是因為它是 Pull-based web framework(也叫做 Component-based web framework),靠 View 去找對應的 Controller 工作。這就如 ASP.net 的 Webforms 和 MVC 的分別。

根據維基百科,Push-based 和 Pull-based 有如此不同:
Most MVC frameworks follow a push-based architecture also called "action-based". These frameworks use actions that do the required processing, and then "push" the data to the view layer to render the results. Django, Ruby on Rails, Symfony, Spring MVC, Stripes, CodeIgniter are good examples of this architecture.

An alternative to this is pull-based architecture, sometimes also called "component-based". These frameworks start with the view layer, which can then "pull" results from multiple controllers as needed. In this architecture, multiple controllers can be involved with a single view. Lift, Tapestry, JBoss Seam, JavaServer Faces, (µ)Micro, and Wicket are examples of pull-based architectures.

Play, Struts, RIFE and ZK have support for both push and pull based application controller calls.


這跟 Spring MVC 很不同,我之後找到了這幅圖,比較了兩種模式(圖片來源):
web_frameworks

之後我又找到一些整個 Java EE 框架跟 Spring,和 JSF 跟 Spring MVC 的比較,它們有好多相似的地方,但就在 Web Layer 顯得很不同:
SlideShare - Java EE and Spring Side-by-Side
SlideShare - jDays2015 - JavaEE vs. Spring Smackdown
Spring 4, Java EE 7 or Both?
A Developers Perspective on Spring vs JavaEE
SlideShare - Comparing JVM Web Frameworks - February 2014
SlideShare - JSF 2.2

原來在未來的 Java EE 8 框架內,又會在於 JSF 這種 Pull-based web framework 外,加入另一種 Push-based 的 MVC 規範,不知道又會帶來什麼影響。
A new MVC framework for Java EE 8
Why Another MVC Framework in Java EE 8?
MVC 1.0 by Example
JSR 371: The last web framework you’ll ever look at

回應 (0)
一堆連結
2015 年 8 月 18 日 (星期二) 22:02

20萬條投票紀錄帶你解碼香港立法會
做醜人?
從飛機航跡看到地球的另一面
How Java 9 And Project Jigsaw May Break Your Code
Great Indian Developer Summit Presentation Files
Great Indian Developer Summit (GIDS) 2015 Trip Report
旅行不是誰的專利,「內向的人」更加需要一個人去旅行!
逾千新車燒剩車架 衛星影到爆炸火光
隨行.元朗
Ruby Web服务器:这十五年
煎蛋网 版权所有: http://jandan.net/2015/08/13/side-sleeping-brains.html
雲上耕作
SlideShare vs. Speaker Deck: Which Platform is Right for You?
究竟幾多人死你先會驚?
Oracle Database 12c: INTERACTIVE QUICK REFERENCE
天津爆炸與空氣污染
中国洞穴涂鸦包含五百年气候数据
《爸爸3》封村限行拍外景擾民 3000農村搶8個拍攝席位
在不分昼夜的极地,人是怎么生活的?
而家啲公司沒有最cheap,只有更cheap
hackfoldr - COSCUP 2015 開源人年會
誰是路霸?
GitHub vs. Bitbucket 不只是功能不同
Uber – 值得支持的創造性破壞
英文履歷字體再用 Times New Roman,別想進外商!
二十年前是怎样开发游戏的?
Windows经典小游戏背后的大秘密
喺Chrome入面 double-click 中文字,原來會引發神奇事件㗎!
两年来首次发现Java 0day漏洞
寄艙行李會被亂丟? 短片揭露Check in後行李的運作
he 2015 Underhanded C Contest Has Begun
日本五大秘境车站
SQL筆記:WHERE 1=1會拖累效能嗎?
美国升级软件导致航班严重延误
Scala Days
學歷愈高 愈愛「共享經濟」?
大埔小店介紹
"Father Time" Gets Another Year At NTP From Linux Foundation
「慢城市」的可能性
Java Magic. Part 4: sun.misc.Unsafe
Removal of sun.misc.Unsafe in Java 9 - A disaster in the making
Java 9 Unsafe resolution - Oracle backs down
About sun.misc.Unsafe
Messaging Patterns
Slideshare - Java EE and Spring Side-by-Side
A Developers Perspective on Spring vs JavaEE
Why Standards Are Hot, Or Why I Still Like Java EE
From the Spring Framework to Java EE 7
一覽眾小山
Intel Skylake 單執行緒效能爆表,疑似具備逆超執行緒功能
台科學家解十年謎團 「剎車器」阻止聖嬰年颱風增強
科學研究證實:中國阻住地球轉
提高工作效率和成就感的七個秘訣

回應 (0)

前五篇露水
© 2002-2015 Harold Chan. 版權及聲明
counter