申請程序

0. 申請Google Account (如果還沒有的話)
1. 開啟GAE服務 (需要手機認證)
2. 建立第一個GAE服務 (每個帳號可以開通10組應用程式)

guestbook測試

1. 開啟GAEL (Google App Engine Launcher)
2. Help -> Demo -> guestbook, 建立內建的測試程式
3. Run -> 本地端測試
4. 執行Edit, 修改app.yaml (與新建立的服務名稱一致)
5. Deploy
6. 結果

撰寫第一個程式 - HelloWorld

1. 在NetBeans內建立一個project,名稱可自訂
2. 建立app.yaml (application的設定值要和GAE上建立的應用程式名稱一致)

3. 撰寫helloworld.py

4. 開啟Google App Engine Launcher
5. Add Existing Application,選擇剛剛建立的目錄

6. Run -> 本地端測試

7. Deploy -> http://shen129.appspot.com/
8. 看結果


give 發表在 痞客邦 留言(1) 人氣()

import math
from time import localtime, strftime

def SimpsonRule(a, b, n):
sum = 0
for i in range(1,n,1):
Xi = a + ((b - a) / n) * i
if (i%2 == 0):
sum += 2 * f(Xi)
else:
sum += 4 * f(Xi)

sum += f(a) + f(b)
sum = sum * (b -a) / (3 * n)

return sum

def f(Xi):
return 1 / (Xi * Xi)

a = 1.0
b = 2.0
n = 60000000

print strftime("%H:%M:%S", localtime())
print SimpsonRule(a, b, n)
print strftime("%H:%M:%S", localtime())

give 發表在 痞客邦 留言(0) 人氣()

前端頁面的Script加上

window.event.returnValue = false;

give 發表在 痞客邦 留言(0) 人氣()

var doc = (from m in db.TblMapMetadata
where m.MapId == MapId
select new { XmlData = m.TWSMPMetadata }).First();

XmlDocument xml = new XmlDocument();
xml.LoadXml(doc.XmlData);

XmlNamespaceManager mgr = new XmlNamespaceManager(xml.NameTable);

mgr.AddNamespace("gco", "http://www.isotc211.org/2005/gco");

XmlNodeList nodes = xml.SelectNodes("//gco:CharacterString", mgr);

foreach (var node in nodes)
{
var n = ((XmlNode)node);
switch (n.ParentNode.Name)
{
case "organisationName":
fUnitName.InnerText = n.InnerText;
break;
case "individualName":
fUserName.InnerText = n.InnerText;
break;
case "positionName":
fUserTitle.InnerText = n.InnerText;
break;
case "voice":
fUserPhone.InnerText = n.InnerText;
break;
case "facsimile":
fUserFax.InnerText = n.InnerText;
break;
case "deliveryPoint":
fUserAddress.InnerText = n.InnerText;
break;
case "electronicMailAddress":
fUserEmail.InnerText = n.InnerText;
break;
};
}

give 發表在 痞客邦 留言(0) 人氣()

// TblApplyTicket 和 TblMapMetadata 是多對多的關係

m-m.png

var result = (
from m in db.TblApplyTicket
from t in m.TblMapMetadata

where m.TblUser.UId == "N125134438"
select new
{
UseRestrict = m.ApplyId.Substring(0, 1),
ApplyId = m.ApplyId,
Status = m.Status,
ApplyDate = m.ApplyDate,
MapId = t.MapId
})
.OrderByDescending(m => m.ApplyDate)
.Take(10)
.ToArray();

give 發表在 痞客邦 留言(0) 人氣()

1. using
using log4net;
using log4net.Config;

2.
#region "LogSetting"
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof(WMSProxy));
private void _LogSetting()
{
log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(AppDomain.CurrentDomain.BaseDirectory + "LogConfig.xml"));
}
#endregion

3. LogConfig.xml

<log4net>

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">

<file value="C:/tmp/log4net.log" />

<appendToFile value="true" />

<rollingStyle value="Size" />

<maximumFileSize value="2048KB" />

<maxSizeRollBackups value="5" />

<datePattern value="yyyyMMdd-HHmm" />

<layout type="log4net.Layout.PatternLayout">

<conversionPattern value="[%date] [%level] [%logger:%line] %message%newline" />

</layout>

</appender>

<root>

<level value="DEBUG" />

<appender-ref ref="RollingFileAppender" />

</root>

</log4net>

give 發表在 痞客邦 留言(0) 人氣()

程式下載點
http://www.phpletter.com/download_project_version.php?version_id=6

官網範例
http://www.phpletter.com/Our-Projects/AjaxFileUpload/

Server端:
1. 準備一支可以接收檔案的程式, 然後透過System.Web.HttpFileCollection物件來將程式存檔

Client端:
1. 呼叫 $.ajaxFileUpload() 來上傳檔案(參考官網範例)
參數:
url - Server端程式名稱
fileElementId - input id (type='file')
dataType - 'json'
success - 成功時所執行的function
error - 失敗時所執行的function

附註
web.config內可限制檔案上傳的限制

give 發表在 痞客邦 留言(0) 人氣()

用法:

1. 載入proj4js.js, 例如:

2. 定義自定座標檔案(座標檔案的自定方法有多種, 可用檔案的方式, 或者在程式內自行宣告, 或者直接給定EPSG名稱, proj4js會自己抓取), 以下採用自己定義的方式, 幾個台灣常用的座標系統如下:

Proj4js.defs["EPSG:3821"] = "+title=經緯度:TWD67 +proj=longlat +towgs84=-752,-358,-179,-.0000011698,.0000018398,.0000009822,.00002329 +ellps=aust_SA +units=度 +no_defs";

Proj4js.defs["EPSG:3825"] = "+title=二度分帶:TWD97 TM2 澎湖 +proj=tmerc +lat_0=0 +lon_0=119 +k=0.9999 +x_0=250000 +y_0=0 +ellps=GRS80 +units=公尺 +no_defs";

Proj4js.defs["EPSG:3826"] = "+title=TWD97 TM2+proj=tmerc +lat_0=0 +lon_0=121 +k=0.9999 +x_0=250000 +y_0=0 +ellps=GRS80 +units=公尺 +no_defs";

3. 宣告要使用的投影系統, 這邊Proj()的方法有點類似 loading 的方式會把程式加載到proj4js內, 例如
var EPSG3826 = new Proj4js.Proj('EPSG:3826');
var EPSG4326 = new Proj4js.Proj('EPSG:4326');

4. 自定轉換函式
function TransCoord(x, y) {
var result;
if (Proj4js) {
var p = new Proj4js.Point(parseFloat(x), parseFloat(y));
Proj4js.transform(EPSG3826, EPSG4326, p);
result = {x: p.x, y: p.y};
}
return result;
}

再來就可用

var c = TransCoord(217400, 2672400);

來取得轉換過的座標 (c.x, c.y)

give 發表在 痞客邦 留言(0) 人氣()

1. 預設啟動的模式無法從外部連入, 要使用下列指令來啟動

C:\Java\db-derby-10.5.3.0-bin\bin>startNetworkServer -h 192.168.1.10 -p 1527

參考: http://topic.csdn.net/u/20090221/12/4e4fc491-4fd4-4965-b57b-dc52bfe099c6.html

2. ALTER TABLE的用法

ALTER TABLE
ALTER SET DATA TYPE VARCHAR(integer)

參考: http://db.apache.org/derby/docs/10.2/ref/rrefsqlj81859.html#rrefsqlj81859__rrefsqlj37860

3. 建立DB (使用ij)

CONNECT 'jdbc:derby:firstdb;create=true';

參考: http://db.apache.org/derby/docs/dev/getstart/twwdactivity1.html

give 發表在 痞客邦 留言(0) 人氣()

UPDATE dbo.Table2
SET dbo.Table2.ColB = dbo.Table2.ColB + dbo.Table1.ColB
FROM dbo.Table2
INNER JOIN dbo.Table1
ON (dbo.Table2.ColA = dbo.Table1.ColA)

give 發表在 痞客邦 留言(0) 人氣()