" Create and share Visual Studio color schemes "下載現成的環境設定檔(.vssettings)後執行「匯入和匯出設定」
五分鐘內處理好配色問題,再搭配上 Consolas 字型,一整個棒。
" Create and share Visual Studio color schemes "下載現成的環境設定檔(.vssettings)後執行「匯入和匯出設定」
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
<title lang="en">Everyday Italian</title>
<title lang="en">Learning XML</title>
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
<title lang="en">Everyday Italian</title>
<title lang="en">Learning XML</title>
for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title
指令: PORT 69,171,224,13,17,35 (17*256+35=4387)
回應: 200 Port command successful.
C:4386 ----myPort:17*256+35----> S:21
C:4387 <--真正有 Data 要送來---- S:20
指令: PASV
回應: 227 Entering Passive Mode (173,221,21,38,32,89)
note: 透過繼承與動態繫結,可用來實現物件導向中的多型概念。4. 抽象資料型態 (ADT,Abstract Data Type)
int num [] = {1,2,3,4};ptr++ 會把 ptr 的原值塞到一個「暫存變數」之後 ptr 的值再往下一格。所以當使用 &(暫存變數) 要取位址就錯了。
int *ptr = num;
cout << &(ptr++); /* ERROR: & need l-value */
cout << &(++ptr); /* 正確 */
int **data;2. 亂塞一些值(1~100 亂數)到陣列中
data = new int* [m]; /* 宣告一個陣列,其元素都是指標 */
for(int i = 0; i< m ; i++)
data[i] = new int[n];
for (int i=0; i<m; i++)3. 不用時要記得歸還空間
for (int j=0; j<n; j++)
data[i][j] = 1+ rand() % (100-1+1);
for(i=0; i<m; i++)
delete [] data[i];
delete [] data;
js> print('hi')
hi
js> 6*7
42
DFS(x) /* O(n+e) , O(n^2) */
{
node *ptr;
visit[x] = true;
ptr = A[x]->next;
while (ptr != NULL)
{
if (visit[ptr->data] == false)
{ DFS(ptr->data); }
ptr=ptr->next;
}
}
BFS(x) /* O(n+e) , O(n^2) */
{
visit[ ]=false; /* init */
visit[x]= true;
ENQUEUE(x);
while (Q != empty)
{
v = DEQUEUE(Q);
for (w, each neighbor of v)
{ if (visit[w] != true)
{ ENQUEUE(w); visit[w]=true; }
}
}
}
而在這樣一個約定而成、公開規範的SOA架構下,企業便可藉由「服務元件」與「流程」靈活組合(就像玩樂高積木一般),因應瞬息萬變的商業行為需求。理解SOA的本質後,我們再來看SOA中各個資訊原廠或SI廠商所提出的各種五花八門資訊名詞時,應該就會比較清楚個中差異。例如:BPEL(Business Process Execution Language,商業流程執行語言),簡單說就是特定資訊語言可以用定義及規範各個服務元件的執行的先後順序與因果關係(也就是流程)。再如 ESB(Enterprise Service Bus,企業服務匯流排)則是服務被實踐的地方,ESB在系統與系統間、企業與企業間,負責整合的作業,讓「服務」的串連形成一個匯流排(Bus),如同巴士(Bus)一般地,傳遞跨系統、組織與企業的資訊服務。
空間 free 掉,我還在用[Dangling Reference]
函式呼叫結束,空間還回去了
解法 tombstone , locks-and-keys
heap dynamic variable 才會發生
可用 garbage collection 去解(投影片)
(1)參考計數法(reference-counting)
配置記憶體時,為所配置的記憶體額外提供一個計數器,用來紀錄
參考到此記憶體的指標變數,每增加一個指標參考此位址時,則計
數器加一,當指標變數不再指向此位址時,則計數器減一。
當計數器為零時,系統會收回此記憶體。
實做簡單,需要參考計數欄位
(2)標記追蹤法(mark tracing)
目前最廣被採用的演算法
在記憶體不足時執行,會掃描整個記憶體兩次,
第一次掃描時會判斷記憶體中的每一個物件是否仍在使用
如果仍在使用則做一個標記,否則就不做標記
第二次掃描清除沒有做標記的物件
foo()
{
int x, *ptr;
/* store the address of x into the ptr */
ptr = &x;
/* dereference here */
*ptr=18;
}