Archive

‘未分類’ 分類過的Archive

Shell script輸出有顏色的文字

2011年7月22日 Austin 尚無評論
# Color defination
txtRed=$(tput setaf 1)
txtGreen=$(tput setaf 2)
txtYellow=$(tput setaf 3)
txtBlue=$(tput setaf 4)
txtPurple=$(tput setaf 5)
txtCyan=$(tput setaf 6)
txtWhite=$(tput setaf 7)
txtReset=$(tput sgr0)

# Style defination
txtBold=$(tput bold)
txtUL=$(tput smul)

# Example
echo "${txtRed}Red text"
echo "still Red text"

echo "$txtReset"
echo "Normal text"

Reference: How to echo colored text in linux shell script

Categories: Linux, 未分類 Tags: , , , ,

Eclipse RAP execute javascript

2011年7月21日 Austin 尚無評論

方法一把輸出字串當javascript執行,方法二只是把方法一包到PhaseListener,為什麼要這樣包還不太清楚,所以先用方法一

try {
	RWT.getResponse().getWriter().println("alert('123');");
} catch (IOException ex) {
	ex.printStackTrace();
}
RWT.getLifeCycle().addPhaseListener(new PhaseListener() {
	private static final long serialVersionUID = 1995219943700635190L;

	@Override
	public PhaseId getPhaseId() {
		return PhaseId.RENDER;
	}

	@Override
	public void beforePhase(PhaseEvent event) {
		try {
			RWT.getResponse().getWriter().println("alert('1');");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	@Override
	public void afterPhase(PhaseEvent event) {
		try {
			RWT.getResponse().getWriter().println("alert('2');");
		} catch (IOException e) {
			e.printStackTrace();
		}
		RWT.getLifeCycle().removePhaseListener(this);
	}
});

HttpBaseJsp

2011年5月18日 Austin 尚無評論
package org.gclin.core.web;

import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.HttpJspPage;
import javax.servlet.http.HttpServlet;

public abstract class HttpBaseJsp extends HttpServlet implements HttpJspPage {
	private static final long serialVersionUID = 5971944450223631606L;

	@Override
	public void init(ServletConfig config) throws ServletException {
		super.init(config);
		jspInit();
		_jspInit();
	}

	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		_jspService(request, response);
	}

	@Override
	public void destroy() {
		jspDestroy();
		_jspDestroy();
	}

	@Override
	public void jspInit() {}
	public void _jspInit() {}

	@Override
	public void jspDestroy() {}
	protected void _jspDestroy() {}

	@Override
	public void _jspService(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}

}
<%@page contentType="text/html; charset=BIG5"
	extends="org.gclin.core.web.HttpBaseJsp"%>
...
Categories: 未分類 Tags:

PowerPoint中雙螢幕設定

2010年12月2日 Austin 尚無評論

點擊選單 投影片放映 => 設定放映放式
1. 指定播放畫面
2. 顯示簡報者檢視畫面(感覺不錯)

Categories: Windows, 未分類 Tags: ,

Cygwin快速複製貼上

2010年12月1日 Austin 尚無評論

Step 1. 啟動Cygwin

Step 2. 開啟視窗內容
標題列按右鍵 => 內容

Step 3. 勾選快速編輯模式
選項 => 快速編輯模式 => 確定

Categories: Linux, Windows, 未分類 Tags:

Using Boost libraries with Visual Studio 2008

2010年4月13日 Austin 1 則評論

網站:Boost C++ Libraries(下載)

Step 1. 取得Boost libraries
到網站的Download去下載,然後解壓縮(D:/boost_1_42_0)

Step 2. 建置Bjam
進入D:/boost_1_42_0,然後執行bootstrap.bat
跑完之後在這個目錄就會多出一個bjam.exe

Step 3. 建置Boost Libraries
在D:/boost_1_42_0建立一個buildall_vc90.bat內容如下

bjam toolset=msvc-9.0 variant=debug threading=multi link=shared define=_BIND_TO_CURRENT_VCLIBS_VERSION
bjam toolset=msvc-9.0 variant=release threading=multi link=shared define=_BIND_TO_CURRENT_VCLIBS_VERSION

執行剛剛建立的那個buildall_vc90.bat,等他跑完在D:\boost_1_42_0\stage\lib應該有一堆*.lib、*.dll

Step 4. 設定Visual Studio 2008
開啟Visual Studio 2008,工具 => 選項 => 專案和方案 => VC++目錄
顯示目錄的那個下拉選單
Include檔案加入D:\boost_1_42_0
程式庫檔加入D:\boost_1_42_0\stage\lib

Categories: C/C++, 未分類 Tags: , ,

Stack overflow

2010年3月17日 Austin 尚無評論

最近遇到的一個問題Stack overflow,不難解~改用new&delete就對了丫,結果還是錯,找了一下資料是用new&delete沒錯,但是為啥不行,最後發現原來還有別的地方有用一樣的數字來宣告,程式如下:
一開始找出來發生錯誤的地方(我一直以為是這錯@@a)

const unsigned int numSolution1 = 50;

// 掛
Solution sol1[numSolution1];

// 正常來說改成這樣就OK了,結果調成100還是會掛
Solution *sol1 = new Solution[numSolution1];

最後發現~另外還有幾個個檔案有類似下面的程式:

// 掛,因為這邊也要改用new
const unsigned int numSolution2 = numSolution1 * 2;
Solution sol2[numSolution2];

閱讀全文…

Categories: C/C++, 未分類 Tags: , , ,

Flowplayer + BlockUI

2010年2月11日 Austin 尚無評論

網站:FlowplayerBlockUI
下載:Flowplayer 3.1.5.zipBlockUI 2.31

之前使用的線上播放器是JW Player,但是他在某個版本開始(很久了),限制非商業行為才能免費使用(應該不是我之前沒注意到吧@@),之後發現了Flowplayer,只要不移除他的logo即可免費使用,剛好最近有這個需求,就拿來用看看~感覺還不錯,不過檔案格式的支援好像沒有JW Player那麼完整,像是audio要用外掛可以播放,下面是結合了BlockUI的運用(因為有版面限制又不想換頁)

閱讀全文…

Javascript dt = newDate()在IE要注意的不同

2010年2月9日 Austin 尚無評論
// 當指定的時間無法轉為Date()時
// 除IE之外的瀏覽器是傳回NaN,而IE是回傳一個負數
var dt = new Date('ooxx');

if(isNaN(dt.getTime()) || dt.getTime() < 0) {
    alert(dt.getTime());
    dt = new Date();
}

alert(dt.getTime());
Categories: Javascript, 未分類 Tags: ,

jQuery Plugin Template

2009年12月27日 Austin 尚無評論

基本架構:

jQuery.fn.my_plugin = function() {
   return this.each(function() {
       // TODO
   }
}

增強(方便)版 & 範例:
閱讀全文…