Inter Process communication 指的是同一台電腦底下不同Process之間的溝通機制,
參考wiki-IPC可以發現,實現的方式有非常多種。
而在不同的程式語言基礎下,
各家提供的實作方式也都不太一樣。
Windows C#提供了一個蠻簡易的類別可以使用,
叫做IPCChannel,
沒錯!!就是這麼的直覺= = ,
其實他是直接組合了將兩個類別,
IpcClientChannel 和 IpcServerChannel 組合在一起。
參考MSDN: IPCChannel
以下是將程式碼簡化到最簡~
做出最簡易的程式碼。
2014年5月8日 星期四
2014年1月14日 星期二
Configuring Multiple TFS Build Controller on the Same Machine
因為TFS要整併的關係,
所以必須考量不同的Collection皆須建置的問題。
其實我原本也不知道,一個Controller只能對應一個Collection。
廢話不多說,我只想先記下來。
參考:Configuring Multiple TFS Build Controller on the Same Machine
環境:
2013年12月6日 星期五
Angular Js Part III : Filter
原本第三篇是要寫Directive自訂控制項或者是Scope的,
但是那些都必須要再整理過,
因此先寫一篇無關痛癢的Filter吧~
Angular Js提供多種Filter可使用。
但是那些都必須要再整理過,
因此先寫一篇無關痛癢的Filter吧~
Angular Js提供多種Filter可使用。
- Currency:用來將數字轉換成貨幣
- Date:轉換成特定日期格式
- Filter:篩選機制,有點像是AutoComplete
- Json:將物件轉換成Json字串。
- limitTo:限制輸出的長度
- lowercase、uppercase:轉換為大小寫
- number:轉換為數字格式,並決定小數點後位數。
- orderBy:排序,超強。
2013年12月3日 星期二
Angular Js Part II : Controller
繼上一篇Start Angularjs之後,
接著要介紹Angular js的另一個特性Controller。
Controller本身能做的事情大概有二:
1.對scope設置初始值(scope泛指應用程式所使用到的物件模型)
2.在scope上增加額外的處置,簡單來說就是寫程式的區塊。
接著要介紹Angular js的另一個特性Controller。
Controller本身能做的事情大概有二:
1.對scope設置初始值(scope泛指應用程式所使用到的物件模型)
2.在scope上增加額外的處置,簡單來說就是寫程式的區塊。
範例一:
給定初始值,input中會有來自controller的文字。
原始碼:
給定初始值,input中會有來自controller的文字。
原始碼:
<!DOCTYPE html>
<html ng-app>
<head>
<script src="http://code.angularjs.org/1.2.0/angular.min.js"></script>
<meta charset="utf-8" />
<script type="text/javascript">
//Controller
function urCtrl($scope){
$scope.urName="it was inited from controller";
}
</script>
</head>
<body>
<!-- Smapel ng-controller -->
<div class="box" ng-controller="urCtrl">
Sample ng-controller----------------<br>
Type in ur Name<input name="input" ng-model="urName"><br>
Hi~ {{urName}}!!!!
</div>
</body>
</html>
2013年11月29日 星期五
C# Timer
C# Timer可以提供定期執行特定行為的實作。
而Timer本身的事件即是觸發新的Thread去執行該行為。
MSDN上的範例相當完整,
大家可去實作看看。
這邊提供幾個特定的範例供參考。
2013年11月15日 星期五
Angular Js Part I : Start
Angular js 是一個相當好用的前端開發工具,
之前我在寫html時,
若要即時更新data通常都必須利用JQuery進行DOM元素的抽換,相當不便;
尤其是在一大堆由程式自動產生的表格,更動某筆資料就更費工了。
Angular js所提供的Binding功能,就立刻解決了這一類的需求。
產生的效果如下:
為了達成即時反應的效果,做法有五種。
- {{modelName}}(表達式)
- ng-cloak
- ng-bind
- ng-bind-template
- ng-bind-html
2013年10月28日 星期一
Using Java Custom Type In Oracle
因為PL/SQL本身沒有Mutil Thread 機制,
若需要使用到Mutil Thread 就必須利用JVM,
將任務丟給Java並繼續執行下段Statment。
本次的範例為:輸入指定的隊伍人數,JVM會自動產出隊伍成員,且回傳整支隊伍。
Oracle Function :
上段程式碼為主程式,藉由輸入的Num數產生所成員數目。
最後再傳回整個Team的資料。
Oracle Package
若需要使用到Mutil Thread 就必須利用JVM,
將任務丟給Java並繼續執行下段Statment。
本次的範例為:輸入指定的隊伍人數,JVM會自動產出隊伍成員,且回傳整支隊伍。
Oracle Function :
CREATE OR REPLACE FUNCTION CreatTeam(Num IN NUMBER)
RETURN TEAMWITHPLAYER
AS
tempNum Number;
BEGIN
FOR i IN 1..Num
loop
SELECT ROUND(DBMS_RANDOM.VALUE(20,30))into tempNum FROM DUAL;
--addPlayer(姓名、地址、年齡)都採Random輸出
AddPlayerToTeam.addPlayer('Name A'||i ,'Taipei No.'||i*10,tempNum);
end loop;
RETURN AddPlayerToTeam.getAll();
END;
上段程式碼為主程式,藉由輸入的Num數產生所成員數目。
最後再傳回整個Team的資料。
Oracle Package
CREATE OR REPLACE PACKAGE AddPlayerToTeam
IS
Procedure addPlayer( NameStr IN VARCHAR2 , AddrStr IN VARCHAR2 , AgeStr IN VARCHAR2 );
Function getAll Return TEAMWITHPLAYER;
End AddPlayerToTeam;
CREATE OR REPLACE PACKAGE BODY AddPlayerToTeam
IS
Procedure addPlayer( NameStr IN VARCHAR2 , AddrStr IN VARCHAR2 , AgeStr IN VARCHAR2 ) as language java name 'Kunde.Test.Java.AddPlayerToTeam.addString(java.lang.String,java.lang.String,java.lang.String)';
Function getAll Return TEAMWITHPLAYER as language java name 'Kunde.Test.Java.AddPlayerToTeam.getLog() return oracle.sql.ARRAY';
End AddPlayerToTeam;
訂閱:
文章 (Atom)

