星期四, 12月 16, 2010

[Alfresco WebService]Ticket could not be found when calling callback handler

三種解法Aflreso Webserver login後Ticket有時候會無法正常取得的方法:

1 - start new session for for every separate thread.
2 - store authenticationDetails in the user's session, and use it to call the webservice

登入後使用session keep AuthenticationDetails 物件
AuthenticationUtils.startSession("user", "password");
    request.getSession().setAttribute("authenticationDetails", AuthenticationUtils.getAuthenticationDetails());
每次呼叫WebService時,把session中的AuthenticationDetails在設定回去
AuthenticationUtils.setAuthenticationDetails((AuthenticationDetails) req.getSession().getAttribute("authenticationDetails"));
Node[] nodes = repositoryService.get(new Predicate(null,spacesStore, qt));

3 - Modify AuthenticationUtils to store authenticationDetails in session instead of ThreadLocal, rebuild the SDK.

Reference:
Ticket could not be found when calling callback handler

星期二, 12月 14, 2010

[Wordpress] posts 相關


wp_posts table
--post_status:inherit,draft,publish,trash,auto-draft,pending
--post_type:attachment,nav_menu_item,page,post,revision


























星期二, 12月 07, 2010

[ZK] borderlayout Executions.createComponents

目前jsp頁面使用borderlayout zk tag遇到的問題
直接call jsp file 會出現"org.xml.sax.SAXParseException: The markup in the document preceding the root element must be well-formed."

有人提到的解法



你不能用Executions.createComponents來做,必須用一個include Component 或 iframe component 以setSrc的方式來操作。

星期一, 12月 06, 2010

[Java] Java如何讀取與寫入properties file Reading and Writing a Properties File

Properties properties = new Properties();
try {
properties.load(new FileInputStream("filename.properties"));
} catch (IOException e) {
}

// Write properties file.
try {
properties.store(new FileOutputStream("filename.properties"), null);
} catch (IOException e) {


上面寫法路徑一直讓我讀不到,採用package path是正確可以讀到的

資源的package path:local.my.properties
String repositoryLocation = null;
// create an instance of properties class
Properties props = new Properties();
URL url = Thread.currentThread().getContextClassLoader().getResource("local/my.properties");
try {
props.load(url.openStream());
// props.load(in);
repositoryLocation = props.getProperty(propertyName);
System.out.println("property:" + repositoryLocation);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return repositoryLocation;

後記:2012/03/22
使用以上作法會造成to many file open的議題產生(開檔後未關檔),不應該每要一個屬性就開properties檔案一次。可參考以下解法:
loading properties file from java package
When loading the Properties from a Class in the package com.al.common.email.templates you can use
Properties prop = new Properties();
InputStream in = getClass().getResourceAsStream("foo.properties");
prop.load(in);
in.close()
(Add all the necessary exception handling).
If your class is not in that package, you need to aquire the InputStream slightly differently:
InputStream in = getClass().getResourceAsStream("/com/al/common/email/templates/foo.properties");
Relative paths (those without a leading '/') in getResource()/getResourceAsStream() mean that the resource will be searched relative to the directory which represents the package the class is in.
Using java.lang.String.class.getResource("foo.txt") would search for the (inexistent) file/java/lang/String/foo.txt on the classpath.
Using an absolute path (one that starts with '/') means that the current package is ignored.

Reference:
Java Properties file examples

[Asp.Net] 将截断字符串或二进制数据。 语句已终止。

将截断字符串或二进制数据。语句已终止。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 将截断字符串或二进制数据。
语句已终止。


今天page執行sp產生的以上的錯誤訊息(架在簡體的機器上Orz),原來是sp裡面插入暫存table所宣告的欄位長度過小而引起的錯誤。

星期日, 12月 05, 2010

[Asp.Net] URL Rewrite 懶人包心得

記錄使用rewrite相關問題解法。
最後使用免費的套件來ISAPIRewrite處理
(如有其他需求可參考這篇Tip/Trick: Url Rewriting with ASP.NET )
不過順利解決完rewrite的問題後。
又遇到二個問題需要處理lol~不過解法都在找到的資料裡面,
以下只是記錄一下流程跟心得:)

星期五, 12月 03, 2010

[CSS] 解決div無法滿版的問題

修正DOCTYPE xhtml DIV無法滿版的問題,請加入以下語法。
html, body { margin: 0; padding: 0; height: 100%; border:none; }
之後的div內的heigth:100%就可以正常

Reference:
TIPS-Get 100% Height in XHTML

星期三, 12月 01, 2010

A Coder’s Guide to Writing API Documentation

A Coder’s Guide to Writing API Documentation

Peter Gruenbaum

Ever been in a situation where your manager asks you to write documentation for the APIs that you developed? Let’s face it, if you’re like most developers, you love to code and hate to write. Furthermore, writing takes time away from critical tasks you need to do, such as feature development and bug fixing.
It’s no surprise that API documentation often ends up being frustrating and confusing for the reader—it rarely gets the attention it deserves.
This article is a guide on how to write API documentation. I’ll describe the most important components of API documentation and provide some suggestions about how to make it effective. I’ll also give you some hints for creating good overviews, sample code and reference material, including where you should focus your time and attention to get the best effect.

星期二, 11月 30, 2010

[ZK] ZK Ajax Framework

最近專案需求使用JAVA EE來開發,評估之後決定選用ZK Framework來作為前端UI設計,感覺很類似.net的元件,有很多現成的componets可以使用。重點是台灣軟體公司所開發的,一定要支持一下國貨。

星期一, 11月 29, 2010

[JSP] include(import) file with parameter

2. Include Directive 載入指令
include 指令
在編譯時期包括(include)另一個網頁,或是在執行時期包括另一個網頁,是一種靜態的指定方式,而不能傳送參數,使用指令元素include的對象通常是一個靜態網頁。

<%@page contentType="text/html; charset=big5"%>
<%@include file="header.inc"%>
<H1><B>include示範</B><H1>
<%@include file="foot.inc"%>

<%@ include %> v.s. <jsp:include>

<%@ include %> 主要是include靜態網頁
包含的文件視為同一份文件,被include的頁面裡面所宣告的變數,可以被主頁面直接拿來引用。
例如說在a.jsp 定義String a="aaa";
在b.jsp用<%@ include %> 把a.jsp 包含進來後,可視a.jsp跟b.jsp為同一份,所以不用再宣告String a(再宣告會有錯誤),可直接用a = "abcc";

<jsp:include> 可以include 動、靜態網頁
使用<jsp:include> 則不行,需透過<jsp:param......的方式傳參數才可被引用,承上例,如果用<jsp:include> 包含a.jsp,若直接打a = "abcc";,肯定出錯,因為他不把a.jsp跟b.jsp視為同一分文件

JSP 學習_3_語法 Directive Elements 指令元素

星期日, 11月 28, 2010

[JSP] JSP Tag Library in Eclipse

今天在要自訂 JSP Tag Library無法正確的import javax.servlet.jsp.tagext.*;
記得把安裝tomcat裡面的lib目錄,將 jsp-api.jarservlet-api.jar加到你專案的
WEB-INF/lib目錄下。
 ps:請不要將lib內在自訂子目錄來分類你的jar,會讀不到jar

星期四, 11月 25, 2010

[JSP] JSTL (JavaServer Pages Standard Tag Library 1.1) JSP標準標籤函式庫

JSTL提供的標籤庫分作五個大類:

[JSP] EL(Expression Language)

EL:變數
屬性範圍 在EL中的名稱
Page        pageScope
Request   requestScope
Session   sessionScope
Application applicationScope

PS:
1自動搜尋範圍 page->request->session->application
2 ${}在jsp 2.0中是特殊字元,JSP容器會自動將它當成EL來執行,因此假若要列印${}時,需在$前加上\,如:\${XXXXXX}

[Eclipse] Import & Export *.jar library

最近在新建的 eclipse專案匯入其他專案的jar檔時,常常會發生path錯誤無法編譯的問題。
找了一下其他人的解決方案,不過目前採用UserLibraries跟 Web-INF/lib裡面都有引入需要的jar,好像才不會有問題。

星期三, 11月 24, 2010

[Eclipse] 快速鍵

 Eclipse 快速鍵 佛心大整理:

The server does not support version 3.0 of the J2EE Web module specification

今天遇到在windows剛裝好eclipse執行測試的專案時,
在設定Servers遇到以下錯誤:

The server does not support version 3.0 of the J2EE Web module specification

原來新增的專案用的是Tomcat 6.0,jdk都是用的1.6
而Tomcat 6.0最多支持Servlet 2.5

解决如下:

在專案根目錄下有一個.settings的目錄下,找到以下文件
org.eclipse.wst.common.project.facet.core.xml文件
内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="jst.web"/>
<fixed facet="wst.jsdt.web"/>
<fixed facet="java"/>
<installed facet="java" version="1.5"/>
<installed facet="jst.web" version="3.0"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>

把<installed facet="jst.web" version="3.0"/>改為 <installed facet="jst.web" version="2.5"/> 

星期二, 11月 23, 2010

[Eclipse] WINDOWS 設定 JAVA 環境變數

環境變數若有需要設定,建議是設定在 "系統變數":
PATH=C:\Program Files (x86)\Java\jdk1.6.0_XX\bin;
CLASSPATH=.;C:\Program Files (x86)\Java\jdk1.6.0_XX\lib;C:\Program Files (x86)\Java\jdk1.6.0_XX\lib\tools.jar;


Tip1:win7 啟動 tomcat 請將系統的JRE或JDK下的\bin\把msvcr71.dll手動copy到tomcat下的\bin\


Tip2:目前整合的IDE介面大多不需要額外設定環境變數 

星期一, 11月 22, 2010

WebDAV (Web Distributed Authoring and Versioning) using .Net C#

WebDAV(Web Distributed Authoring and Versioning)為一個HTTP/1.1通訊協定的延伸建議RFC-2518,讓用戶端使用者可以透過網路來進行網頁內容的編輯工作。
WebDAV透過HTTP/1.1通訊協定標準,提供簡單的檔案輸入/輸出(simple File I/O)的功能,包含:
  • 建立、修改、刪除檔案及瀏覽目錄和檔案。
  • 讀取檔案與目錄的屬性(properties)。
  • 簡單的檔案鎖定。
WebDAV提供幾個新的HTTP指令,包含:
  • GET:讀取WebDAV目錄下的檔案內容。
  •  PUTPOST:傳送檔案內容到伺服器WebDAV目錄下。
  •  PROPFINDPROPPATCH:讀取、設定檔案屬性。
  • COPYMOVECOPY複製目錄、或檔案,MOVE移動檔案。限於同一個WebDAV目錄操作。COPY時若無此路逕時會自動產生,COPY複製範圍也包括其子目錄。
  • MKCOL:建立一個目錄。
  • DELETE:刪除一個檔案或目錄。
  • LOCKUNLOCK:鎖定檔案、解除檔案鎖定。
  • SEARCH:使用SQL語法搜查檔案內容,可使用全文檢索,僅適用於Exchange 2000 Server共用資料匣。 
安裝Windows 2000IE 5、或Office 2000的用戶端電腦,具有權限的使用者,就可以針對IIS的虛擬目錄來發行、鎖定、管理Web的資源,將文件發行至Web伺服器,及在Web目錄中處理檔案,包含:
  • 移動、複製檔案:擁具權限的使用者可以在WebDAV目錄中移動、複製檔案。
  • 修改檔案:擁具權限的使用者可以讀取、修改寫入檔案的內容。
  •  鎖定檔案:多位使用者可以同時讀取同一個檔案,讀取時會將檔案鎖定,因此同時只有一人可以修改同一個檔案。
  • 搜尋檔案:連線到WebDAV目錄後,就可以搜尋WebDAV目錄中的檔案與內容,譬如搜尋到所有由Jack所建立的檔案,或者搜尋所有含有IIS關鍵字的檔案。



Reference:
WebDAV .NET
WebDav and Outlook Appointments in .NET
網際網路新通訊協定---WebDAV

星期一, 11月 15, 2010

[WordPress] 蒐集

研究wordpress找的相關文章記錄。

Reference:
用query_posts列出特定範圍文章 (2)語法 | WordPress不用插件直接實現五種文章代碼
wordpress code – wp_list_pages() 網誌分頁
[WordPress] 自己做友情隨機連結頁面
WordPress外掛【WP Page Numbers】分頁導航、內建5種樣式任君選擇
Codex:Creating a New Page
Codex:Creating a User Page

 

[WordPress] 基本語法擷錄 (轉)

(一)WordPress基本模板文件
一套完整的WordPress模板應至少具有如下文件:
style.css : CSS(樣式表)文件
index.php : 主頁模板
archive.php : Archive/Category模板
404.php : Not Found 錯誤頁模板
comments.php : 留言/回覆模板
footer.php : Footer模板
header.php : Header模板
sidebar.php : 側欄模板
page.php : 內容頁(Page)模板
single.php : 內容頁(Post)模板
searchform.php : 搜索表單模板
search.php : 搜索結果模板
當然,具體到特定的某款模板,可能不止這些文件,但一般而言,這些文件是每套模板所必備的。

星期日, 11月 14, 2010

[C# WinForm]Notifyicon with contextmenu and no form

實作沒有表單的contextMenu
using System;using System.Windows.Forms;
using System.Threading;using System.Drawing;
namespace WindowsApplication9
{   static class Program   {
      [STAThread]      static void Main()
      {        
         Application.EnableVisualStyles();         
         Application.SetCompatibleTextRenderingDefault(false);         
         NotifyIcon notifyIcon1 = new NotifyIcon();                
         ContextMenu contextMenu1 = new ContextMenu();        
         MenuItem menuItem1 = new MenuItem();
         contextMenu1.MenuItems.AddRange(new MenuItem[] { menuItem1 });
         menuItem1.Index = 0;
         menuItem1.Text = "E&xit";
         menuItem1.Click += new EventHandler(menuItem1_Click);
         notifyIcon1.Icon = new Icon("app.ico");
         notifyIcon1.Text = "Form1 (NotifyIcon example)";
         notifyIcon1.ContextMenu = contextMenu1;
         notifyIcon1.Visible = true;         Application.Run();
         notifyIcon1.Visible = false;
      }
      private static void menuItem1_Click(object Sender, EventArgs e)
      {         Application.Exit();
      }
   }
}
Reference: Notifyicon with contextmenu and no form

[VS Studio] vshost.exe 是做什麼用啊

接下來的問題是,如果程式要出貨想關閉這個功能要怎麼做呢?
只要選取 Project | Properties | Debug,將 Enable the Visual Studio hosting process 選項前的鉤鉤取消即可。

Reference:
[C#]一堆 ***.vshost.exe 是做什麼用啊
裝載處理序 (vshost.exe)

星期日, 11月 07, 2010

[Java] Hello World with Ant

本篇是一個Ant的基本教學,試用於初學者。
只是把Apache Ant User Manual-HelloWorld with Ant裡的範例重新記錄下來而已。
有樣版以後寫起ant會比較方便:)

[C# WinForm]在程式中開啟 檔案總管

    EXPLORER.EXE [/n][/e][,/root,][[,/select],

    /n:會針對每一個選取的項目,以單窗格 (我的電腦) 檢視方式開啟一個新視窗,
    即使新視窗與已開啟的視窗重複
    也一樣。
    
    /e:會使用 Windows 檔案總管檢視。Windows 檔案總管檢視十分類似
    Windows 3.x 版中的檔案管理員。請注意,預設檢視為
    開啟檢視。
    
    /root,:會指定所指定之檢視的根層級。預設 是使用標準命名空間根目錄 ( 桌面)。所指定的就是顯示器的根目錄 。  /select,:會指定成為初始焦點的資料夾 。如果使用 "/select",則會開啟
    上層資料夾,並選取所指定的物件。
    • "My Computer" highlighted in left side with all drives visible but not expanded and C: highlighted in right side: %SystemRoot%explorer.exe /e,/select,c:
    • Desktop highlighted and nothing expanded: %SystemRoot%explorer.exe /e,/n,/select,/root,c:
    • All drives visible and the system drive highlighted and expanded in full screen: %SystemRoot%explorer.exe /e,/select
    • All drives visible and the system drive expanded in small screen: %SystemRoot%explorer.exe /e,/select,%systemroot%
    • Only Windows Directory visible highlighted and expanded: %SystemRoot%explorer.exe /e,/root,%systemroot%
    • All drives visible but only C: highlighted and expanded: %SystemRoot%explorer.exe /e,c:
    • Nothing expanded and My Computer highlighted in right side: %SystemRoot%explorer.exe /n,/e,/select,
    • Opens the Windows folder as a folder: %SystemRoot%explorer.exe %systemroot%
    • Opens as "My Computer": %SystemRoot%explorer.exe %systemroot%,
    • This opens the Desktop folder with "My Computer" highlighted: %SystemRoot%explorer.exe %systemroot%,/select,
    • "Desktop" highlighted in the left side and no drives visible:
      %systemroot%explorer.exe /e,/root,::{20D04FE0-3AEA-1069-A2D8-08002B30309D},/select
    • "My Computer" highlighted in left side and all drives visible but none expanded:
      %systemroot%explorer.exe /e,/root,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
    • "Desktop" in left side highlighted and "My Computer" highlighted in right side and no drives visible:
      %systemroot%explorer.exe /e,/select,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}

    Reference:
    在程式中開啟 檔案總管 (Using C#)
    如何開啟檔案總管在想要的目錄.

    星期五, 10月 29, 2010

    [Asp.Net] MasterPage ContentPage UserContrl 操作

    MasterPage 取得 ContentPage 內的 Control
    MasterPage 取得 ContentPage 內的 UserControl

    反之

    ContentPage 取得 MasterPage 內的 Control
    ContentPage 取得 MasterPage 內的 UserControl

    [Java] Create a coutom tag

    Reference:
    [JAVA] Tag 自訂標籤簡介

    [SVN] 轉貼: SVN in ubuntu

    SVN 功能介紹

    SVN安裝: $ sudo apt-get install subversion

    [Ant]Ubuntu using Ant Note

    1.Installation
    $apt-get install ant

    2.checked ant version
    $ant -version

    you should see
    Apache Ant version 1.7.1 compiled on July 2 2010


    3.ant build
    $ant

    if you didnt create build .xml , you should see
    Buildfile: build.xml does not exist!
    Build failed

    星期日, 10月 24, 2010

    [WebService C#]Call a Java WebService using WCE 3.0 and C#

    今天使用.net呼叫java WebService,學習到了動態叫用WebService的需求(待改良XD),不過又遇到另一個ws-seculity的error,原來還需要裝Web Service Enhancement 3.0來達到更安全的叫用WebService。

    Rewrite Module

    首先先在ISAPI 引入IIRF.dll

    在當前目錄創見檔案iirf.ini

    範例
    RewriteEngine ON
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^/([A-Z0-9]+).html$ /ShowExam.php?xid=$1

    星期三, 10月 20, 2010

    Toshiba M11 Drivers for Windows 7

    拿到公司新配的Toshiba筆電,本來以為是Thinkpad的,小失望了一下。
    用了二天之後真是大失望,很多小細節都考慮不周到呀。
    只設計二個usb孔是啥小?

    有在找驅動的朋友就到以下這二個網址下載吧XD。官方提供的驅動真不完全。
    Reference:
    Toshiba Tecra M11 Drivers For Windows 7
    Toshiba Tecra M11 Drivers For Windows 7 (64 Bit)

    星期六, 10月 16, 2010

    FaceBook Api 筆記

    最近有專案需使用FACEBOOK API,把學習的資料記錄在這篇文章中。
    透過Google大神也找到人家整理不錯的筆記 :)Facebook API宅學習。
    這次專案是使用php script,需要的人可以參考 PHP-SDK Sample

    星期四, 10月 14, 2010

    [PHP] 初探 php

    如題,剛開始測php,從簡單的mysql測試開始Orz

    檢查頁面是否有Session
    //放在頁面的最上端
    <?session_start();>
    
    清除頁面Session
    <?
    //將session清空
    unset($_SESSION['username']);
    echo '登出中......';
    >
    


    [PHP] IDE 工具

    開始寫php的專案,查詢一下有啥好用的IDE開發環境,最好還是選用Eclipse for PHP
    朝Free下手。

    星期六, 10月 02, 2010

    [Asp.Net] Pinging using asp.net

    要使用ping類別之前,需引入using System.Net.NetworkInformation;

    public class SitePinged : System.Web.Services.WebService {
    
        public SitePinged () {
    
            //如果使用設計的元件,請取消註解下行程式碼 
            //InitializeComponent(); 
        }
    
        [WebMethod]
        public string Ping(string site)
        {
            Ping wsPing = new Ping();
            PingReply wsPingReply = wsPing.Send(site);
            return wsPingReply.Status.ToString();
        }
        
    }
    

    星期日, 9月 26, 2010

    星期六, 9月 25, 2010

    資訊職稱 Orz

    SA : System Analysis 系統分析
    SE : System Evaluation 系統評估
    SD : System Design 系統設計
    ps:通常需經過SA/SE後才會到SD階段。 

    星期四, 9月 23, 2010

    [MS-SQL] Join

    面試常會問到的SQL Join 觀念,覆習一下唄。

    [C# Winform] Socket Survey


    根據MSDN所寫:
    執行緒不是背景執行緒就是前景執行緒。
    背景執行緒和前景執行緒相同,唯一差別在於背景執行緒不會防止處理序終止。
    一旦終止屬於處理序的所有前景執行緒之 後,
    Common Language Runtime 就會結束處理序。
    剩下的所有背景執行緒則會在尚未完成之前全部停止

    C# Multi threaded socket programming 
    The C# Multi Threaded Socket Program has two sections.
    Reference:
    C# WinForm Socket

    Windows 管理規範 (WMI ,Windows Management Instrumentation)

    Reference: 
    C# WMI 取得硬碟名稱、類型

    A Simple Guide to WMI Provider

    星期四, 8月 19, 2010

    [Asp.Net] 清除跨網域的cookie

    實作SSO機制遇到登出時需清除跨網域的cookie的解決方法,
    請參閱will寶哥文章 鬼打牆事件之『ASP.NET 無法刪除 Cookie 的問題』 

    摘錄重點如下:
    • 若要清除跨 Domain 的 Cookie 必須清除兩次,例如說使用者在 www1.domain.com 要執行登出動作,必須要先將 Domain 為 www1.domain.com 的 Cookie 給清除掉,在接著將 Domain 為 .domain.com 的這個 Cookie 清除掉。
    • 因為這兩個 Cookie 為「同名」(主網域與子網域),全部都叫做 Token(will哥範例的cookie名稱),所以無法在一個 HTTP Request 中清除掉兩個同名的 Cookie,所以必須要在不同的兩個 HTTP Request 中個別刪除不同 Domain 的 Cookie。 

    星期二, 8月 17, 2010

    [Blogger HACK] 使用 SyntaxHighlighter 排版程式碼

    由於常常會使用copy & paste大法來使用之前在blog貼的程式碼範例,
    不過先前都沒排版,
    看起來非常不順眼,
    今天特地透過Google大神找到這個 SyntaxHighlighter 程式碼排版工具,
    如果想知道怎麼使用的話,可以參考這位佛心人士CraftyFella's Blog
    Syntax Highlighting with Blogger Engine教學文。

    如果你看不習慣英文的話,就照下面做就好。

    [Asp.Net] Dictionary Serializable and DeSerializable

    解決 Dictionary 無法序列化的物件

    [MS SQL] 跨資料庫查詢

    主機同一台,但資料庫名稱不同時的查詢方式。

    SELECT * FROM 資料庫名稱.dbo.TableA ta  

    INNER JOIN 資料庫名稱.dbo.TableB tb ON ta.xx=tb.xx

    星期一, 8月 09, 2010

    [Asp.Net] 序列化與反序列化

    蒐集一下序列化相關的知識:
    ISerializable 介面

    [Asp.Net] Export Excel

    透過元件匯出csv檔
    TIPS-Export GridView To Excel

    一些參考的連結
    如何用 C# 將資料匯出到 Excel 

    使用Excel XML 的解決方法
    Export a DataSet to Microsoft Excel without the use of COM objects
    Introduction to Excel XML Part 1: creating a simple table

    [Finance] 正逆價差

    期貨價格減去現貨價格
    如果得出為正值,便是「正價差」
    所得出的為負值,則為「逆價差」

    關於創業,你必須知道的13件事

    1. 找到好的共同創辦人(Pick good cofounders)
    共同創辦人對於創業團隊來說,就跟你在找房地產時考慮地段、地點一樣重要。你可以改變房屋的裝潢、擺設,但你卻改變不了房子的所在地點。在創業團隊中也是,你的想法、創意是可以很輕易改變的,但把你的共同創辦人換掉卻非常困難。 事實上,每一個創業團隊的成功,幾乎都是團隊創辦人在團隊中發揮了作用。

    筆者兩次參與創業團隊的經驗,我們都堅信一個信念:「只要這群兄弟還在,我們一定能做出什麼(do something big)」,創業沒有成功不等於失敗,創業沒有成功而直接放棄了才真的是失敗;只要團隊還在,或許只是想法錯了、方法錯了、對象錯了,但如果人是不對的,本質上就已經難以改變。

    從37 Signals可學到的37個創業心法

    1) 成就大事業不是有個產品或服務就成,而是有自己看事物的角度。

    2) 做計畫是讓你對你無法掌控的感覺可掌控的活動。(讓你自我感覺良好)

    星期六, 8月 07, 2010

    [Asp.Net] JSON 序列化類別列出

    很實用的文章,可以幫你自動產生Json字串在.Net的物件程式碼要怎麼寫。
    以下為原文連結
    CODE-自動產生對應Javascript物件的.NET類別

    [jQuery API] Jquery select 操作

    without using any extra plugins, 
    var myOptions = {
        val1 : 'text1',
        val2 : 'text2'
    };
     
    $.each(myOptions, function(val, text) {
        $('#mySelect').append(
            $('<option></option>').val(val).html(text)
        );
    }); 
     
    Reference:
    jQuery對select的操作(魚乾筆記本)
     

    星期四, 7月 29, 2010

    [Asp.Net] 跨網站登入 Single Sign On (SSO)

    目前的case暫以player大大提供的做法。

    1.跨網站單一登入(Single Sign On)的作法概念 by topcat

    小喵的方式是透過SQL來當作媒介,假設小喵要從WebA跳到WebB。
    首先要準備一個兩個應用程式都能夠存取的資料庫。然後設計一個資料表來處理。這個資料表有以下幾個欄位
    1. GUID:由NewId()產生出來類似【504B1790-E93A-4445-B262-E73A113BF336】這樣格式的資料
    2. UserId:WebB的帳號,當然WebA與WebB可以用相通的帳號,或者是透過員工代號取得WebB的帳號
    3. TimeOut:過期時間,產生該筆資料的時間+2分種。也就是從WebA到WebB的過程,小喵估計不會超過2分鐘,時間過期後該筆資料就沒用了。
    接著就是運作的方式
    步驟如下
    1. WebA點選轉入WebB
    2. 寫入1筆過程資料,例如:5ED095B8-350D-42C3-953B-9C53DED54AFD,topcat,20080402165823
    3. WebA Submit GUID給 WebB
    4. WebB承接到GUID取回資料,並判斷現在時間沒有大於20080402165823
    5. 如果4.找不到,顯示錯誤並拒絕登入
    6. 如果4找到,進行登入程序
    7. 刪除該GUID資料
    2.跨網站登入機制 - by player
    1.把你的登入用的相關欄位, 先用1個class先定義好
    2.在Global.asax 中, 定義一個 static public 的變數, 當作是放資料的容器
    請自行參照 System.Collections.Generic.Dictionary<> 與你在1所自訂的class
    3.WebService 大概做5個公開的函式
    a.登入
    b.驗証是否已登入
    c.登出
    d.Set共用變數
    e.Get共用變數

    a.是傳入帳密, 登入成功時, 傳回GUID, 失敗時返回相關的提示訊息
    b.是傳入GUID, 判斷是否已登入
    d與e是給跨網站時, 變數互通使用

    3.ASP.NET Single Sign-On
    採用 .Net的表單驗證票證(Forms Authentication Tickets)的加密、解密以及驗證

    一些背景知識參考:
    鬼打牆事件之『ASP.NET 無法刪除 Cookie 的問題』 
    解釋 Cookie 的特性 
    深入瞭解 GUID 與為什麼要用 GUID(Globally unique identifier)
    web service 介紹 
    Dictionary in .NET C#
    C#,利用Mutex實現應用程式的單實例運行

    [Asp.Net] 如何使用javascript 控制 .net 驗證控制項

    今天遇到了一個需求,起因是因為使用textbox搭配jquery datepicker元件驗證控制項時,
    使用IE8瀏覽時,會產生javascript錯誤訊息(使用1.3.2,改用1.4.2不會有這個問題)
    於是換了一個方法來直接避掉這個錯誤,於是又新增了第二個textbox,並利用css設定成style="visibility:hidden"。

    星期三, 7月 21, 2010

    [Asp.Net] 使用DataView RowFilter 過濾 Datatable

    最近在巢狀式繫結時,常常會重覆過濾每次要繫結的資料列數,簡單使用DataView RowFilter
    就可以達到SQL Where效果,找時間再補上linq的方法。

    [SQLite]Firefox SQLite Manager

    利用Sqlite Manager來測試iphone裡面一些apps使用的資料表並將它匯出成csv文字檔(另外匯出*.sql的執行會是亂碼XD),
    由於excel直接開啟這個csv匯出的這個檔案,會因為excel不支援utf8而亂碼,
    所需先需要先啟動excel後,利用外部匯入這個資料來指定utf8編碼格式開啟,就可以順利打開:
    點選資料->開啟文字檔->設定檔案原始格式

    星期二, 7月 13, 2010

    [Asp.Net] Json 序列化及反序列化

    今天幫學弟測試了一下 Json 序列化及反序列化的簡單範例,也用了平常很少使用的泛型。
    記錄一下以供日後參考。 畢竟AJAX常會用到json來傳輸資料。

    使用以下範例需注意事項:
    1.加入參考組件:組件 System.Runtime.Serialization (在 System.Runtime.Serialization.dll 中)
    2.序列化的物件格式可自行修改自已自訂的格式
    3.物件變數的命名需跟json的宣告名稱一致

    星期日, 7月 11, 2010

    [Asp.Net] ListView DataPager SetPageProperties換頁

    在listview要指定跳頁時,並不是直接將指定的頁數丟進去,
    因為頁碼並不是listview參數所要的row起始索引的話,
    因此才會跳錯頁的!!

        /// 指定跳頁
        public void JumpPage(int jumpPage)
        {
            //算出指定頁的起始索引值
            int lowerBand = (jumpPage - 1) * this.dataPager.PageSize;
            this.dataPager.SetPageProperties(lowerBand, this.dataPager.PageSize, true);
        } 
    

    星期一, 7月 05, 2010

    [Jqeury Plugin] 影像框選 Jcrop


    Jcrop » Examples and Demos

    [ASP.Net] 使用參數和 ObjectDataSource 控制項

    使用參數和 ObjectDataSource 控制項
    ListView + DataPager 在不使用 LinqDataSource 時會有問題

    Git 學習資源

    好用的Git分散式版本控制工具。團隊開發畢備的好幫手。


    Ubuntu Enviornment:
    $apt-get install git-core gitk # in ubuntu

    step1:create repository in server
    /var/git/repos                                #server repos path
    $mkdir serverproject #建立你的目錄
    $cd serverproject
    $git --bare init --shared                #建立GitProjectName的repository

    step2:create repository in client
    $vi .gitconfig #your profile
    [user]
            name = kenwctsai
            email = bigdstut@gmail.com


    $cd clientproject#到你的專案目錄下
    $git init #git metadata

    step3:commit to server (之後更新code只要用這就好)
    $git add . #git新增檔案
    $git commit -m 'your commit msg' #commit to repos server

    其他輔助的功能:


    檢查檔案狀態
    $git status

    檢查log
    $git log

    Reference:
    1. Pro Git
    2. A tour of git: the basics
    3. http://git-scm.com/
    4. Git-shape(Git for .NET)
    5. Git 初學筆記 - 指令操作教學
    6. 我愛GIT(.pdf) jserv
    7. Git Study
    8. Git 版本控制系統(2) 開 branch 分支和操作遠端 repo.




    安裝工具
    1. msysgit-git for windows
    2. TortoiseGit The coolest Interface to (Git) Version Control

    星期日, 7月 04, 2010

    [Asp.net] ListView ItemDataBound下抓取樣版的欄位值

    剛好需要在ItemTemplate 按下編輯按鈕時,設定下拉式選單的值為ItemTemplate Lable繫結的值。
    只要在ItemDataBound判斷是否為edit mode.做以下記錄

    [Asp.Net] 資料繫結控制項的相關事件關係與抓取

    使用資料擊結控制項時常在驅動更新、刪除事件時常常需要擷取元件的值來做相關的處理(常常很用到的問題!!),以前都習慣在print出元件的位置(註解部份),再找出相對的值,不過其實用FindControl這個方法就可以簡單達到我們的需求了

    其他你感興趣的文章

    Related Posts with Thumbnails