Feb 1, 2008

PHP 的新世代

曾幾何時PHP走入了開發的社群,走進企業的青睞,漸漸其它語言的框架也移植到了PHP,
講究MVC趨勢,PHP也有Template Engine(SmartyFastTemplate...),在講究快速開發的,
PHP的類RoR框架如同雨後春筍一個一個出現,早之前在新興的PHP Framework中評選了Cakephp當作開發框架,
雖然Scaffolding與Bake雛型令人驚艷,可惜早在1.03的版本時,Cake仍缺少許多基礎功能需求(I18n)
與不夠完整(Form validate),穩定性也不夠(@@花了不少時間找Bug),
近期1.2版補足不少功能,BehaviorsAuthenticationSecurity還滿實用的,
社群持續激蕩出新的Idea令人激賞,只是核心部份總看不到下一步的發展(連1.2文件也要藏起來....暈)。

觀看Zend Framework之整體優了不少:
  • 架構彈性(不像Cakephp限定流程)
  • 開發穩定(有穩定的班底、開發週期)
  • 社群層面較廣(廠商、開發人員)
  • 官方支持(IDE、前端Cache)
  • 文件完整(除了core的,還有proposal可以參考)

Zend Framework 1.5.0 Preview Release now available

http://devzone.zend.com/article/3020-Zend-Framework-1.5.0-Preview-Release-now-available
還是沒有看到Zend_Build還是停留在New Proposals

 

Zend Framework

http://framework.zend.com/whyzf/future/


Lifting the Skirt on Zend Framework 1.5 - Zend_Form

http://devzone.zend.com/article/3030-Lifting-the-Skirt-on-Zend-Framework-1.5---Zend_Form

用設定檔來做表單似乎還不錯,看來未來整合Zend_Build會更強大

 

Content Indexing with Zend_Search_Lucene

http://www.slideshare.net/shahar/content-indexing-with-zendsearchlucene/
目前看到最好的例子

Jan 30, 2008

平平都是Google Map,還是差很多....

當初看到Google Map 空照圖橫空出現,現在Street View出來了,從平面多層擴到立體全面,這就像是搜尋後所出現的"o"越來越多,一個比一個精采,不難想像View變成Video,環境與技術遲早會突破。雖然仍只有部份地區有畫面,影像也不即時,縫合的部份不夠細膩,在台鄉民,還是只能說些酸話,努力忍住口水。

台灣的Map還在弄圖資、加商店、補資訊,最最最基本的路途規畫也沒有...。

美國Google的新功能

 http://maps.google.com/support/bin/topic.py?topic=10779

Street View

http://maps.google.com/support/bin/topic.py?topic=11640

http://mashable.com/2007/05/31/top-15-google-street-view-sightings/

 StreetView

 

迎擊風雪 回家過年——谷歌緊急推出春運交通圖幫助出行

http://googlechinablog.com/2008/01/blog-post_30.html

 1-775256

台灣 Google 地圖導覽 ←還停留在 簡單好操作冏!!!

http://www.google.com.tw/intl/zh-TW_tw/help/maps/tour/

引用:

幾張 Google Street View 的「驚鴻一瞥」

Google Map新功能掀隱私權爭議 可採人臉偵測技術解爭端

Google Maps修改隱私政策 街景圖可刪人臉與車牌

Jan 23, 2008

自訂副檔名搜尋

SearchFileByExt.vbs

start = Now
WScript.Echo("Start:" & start)
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery _
("Select * from CIM_DataFile where Extension = 'mp3' OR Extension = 'wma'")
For Each objFile in colFiles
Wscript.echo(objFile.Caption)
'objFile
'objFile.Delete
Next
finish = Now
WScript.Echo("Finish:" & finish)
WScript.Echo("Cost:" & DateDiff("n",start,finish))

vbscript 版 wget

PingList.vbs

<package>
<job>
<runtime>
<named
name="SourceUrl"
helpstring="HTTP檔案位址"
type="string"
required="true"
/>
<named
name="DestinationFile"
helpstring="儲存檔案位址"
type="string"
required="true"
/>
<example>
Example : wget /SourceUrl:"http://xxx/xxx.exe" /DestinationFile:"C:\Documents and Settings\All Users\桌面\xxx.exe"
</example>
<description>
用途:下載Web檔案
版本:1.0
作者:Parkghost</description>
</runtime>
<SCRIPT language="VBScript">
If WScript.Arguments.Named.Exists("SourceUrl") And WScript.Arguments.Named.Exists("DestinationFile") Then
strUrl = WScript.Arguments.Named.Item("SourceUrl")
strFile = WScript.Arguments.Named.Item("DestinationFile")
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
Const ForWriting = 2
Dim web, varByteArray, strData, strBuffer, lngCounter, ado
Err.Clear
Set web = Nothing
Set web = CreateObject("WinHttp.WinHttpRequest.5.1")
If web Is Nothing Then Set web = CreateObject("WinHttp.WinHttpRequest")
If web Is Nothing Then Set web = CreateObject("MSXML2.ServerXMLHTTP")
If web Is Nothing Then Set web = CreateObject("Microsoft.XMLHTTP")
web.Open "GET", strURL, False
web.Send
If Err.Number <> 0 Then
SaveWebBinary = False
Set web = Nothing
WScript.Quit
End If
If web.Status <> "200" Then
SaveWebBinary = False
Set web = Nothing
WScript.Quit
End If
varByteArray = web.ResponseBody
Set web = Nothing

'Save the file
'On Error Resume Next
Set ado = Nothing
Set ado = CreateObject("ADODB.Stream")
If ado Is Nothing Then
Set fs = CreateObject("Scripting.FileSystemObject")
Set ts = fs.OpenTextFile(strFile, ForWriting, True)
strData = ""
strBuffer = ""
For lngCounter = 0 to UBound(varByteArray)
ts.Write Chr(255 And Ascb(Midb(varByteArray,lngCounter + 1, 1)))
Next
ts.Close
Else
ado.Type = adTypeBinary
ado.Open
ado.Write varByteArray
ado.SaveToFile strFile, adSaveCreateOverWrite
ado.Close
End If
SaveWebBinary = True
Else
WScript.Arguments.ShowUsage()
End if
</SCRIPT>
</job>
</package>