XML定義與特點

XML的定義
XML(Extensible Markup Language)叫做”擴展標記語言”,XML本身不是一個單純的標誌語言,它是一種元語言 (meta-language),可以被用來定義任何一種新的標誌語言。象HTML之類的傳統性標誌語言,是用來定義某一類檔的格式,以便於展示或列印檔。而 XML則是可以用來創造新類別檔的格式定義,也就是在XML之中能夠創造出很多不同的標誌語言,用來定義各種不同的檔類別。早在80年代就制訂的SGML(標準通用標記語言),它是一個用來形容和定義結構化的電子檔的國際性標準(ISO 8879)。不過由於SGML太過於靈活和複雜,所以一直沒有被廣泛地採用。XML是從SGML所衍生出來的一種簡化格式。

.XML的特點

  • 簡單:XML 對人而言是極度清晰易懂的,另一方面機器可以輕易地對它進行處理。
  • 開放:XML 是 W3C 制訂的標準,獲得軟體工業市場領導者的認可。
  • 可延伸:沒有訂死的標記。若有需要,可以建立新的標記。
  • 自我描述能力:在傳統的資料庫中,資料庫管理者必須為資訊記錄設定結構描述 (schema)。XML檔不需要這種定義便可儲存,因為它們是以標記和屬性的形式來包含中繼資訊。
  • 機器可閱讀性:標記、屬性和專案的結構提供了內容資訊,可用以解譯內容的意義,為高效率的搜尋引擎、智慧型資訊搜集、代理程式等開啟了新的可能性。這是XML主要優於 HTML 或純文字的地方。
  • 內容與顯示分離:XML 標記是用來描述意義而非描述展示。 HTML的箴言是:「我知道它看起來是什麼樣子」,而XML的箴言則是:「我知道它是什麼意思,而你可以告訴我,它看起來要像什麼樣子」。XML檔的外觀及質感可由 XSL 樣式表來控制,這樣一來檔的外觀 (或者整個網站) 可以在不改變檔內容的情況下更動。 同樣內容要有數種不同外觀或展示,很容易便可做到。
  • 支援多語系檔和 Unicode:這對全球化的應用程式而言十分重要。
  • 資訊的比較和匯總:XML 檔的樹狀結構可以有效地進行專案間的比較與匯總。
  • 可以內嵌多種類型資訊:XML 檔可以包含從多媒體資訊 (影像、音效、視訊) 到主動式元件 (Java applets、ActiveX) 的任何可能資訊型別。
  • 可以內嵌現有的資訊:將現有的資料結構 (如檔案系統或關係型數據庫) 對應至XML非常簡單。XML可以涵蓋所有現有的資料結構,並支援多種資訊格式。
  • 分散式資訊的「單一伺服器」:XML 檔可由散佈于多個遠端伺服器的巢狀專案構成。XML是目前分散式資訊的最精良格式 – 全球資訊網可以看成一個巨大的XML資料庫。
  • 業界迅速採用:Software AG、IBM、Sun、Microsoft、Netscape、DataChannel、SAP 及許多其他公司均宣佈支持 XML。 Microsoft 將使用XML作為 Office 產品線的交換格式,同時 Microsoft 及 Netscape 的 Web 流覽器均支持 XML。 SAP 也宣佈 SAP Business Connector 的自第三版起支持 XML。Software AG EntireX 及 Natural 產品線均支援 XML,並且提供了XML資訊伺服器 – Tamino。

批次將hosts檔案傳送到學生端的cmd指令方式(含批次關機、重新開機)

在教師機端用本機管理員的身分(administratgor)登入後,確保每個學生端的電腦都有本機管理員(administratgor)帳號,密碼都要設一樣,因為本校無AD所以要這樣設。

 

批次將hosts檔案複製並傳送到學生端主機指令

xcopy /Y hosts \st01c$windowssystem32driversetc

//st01代表的是學生端的主機名稱//

 

所以可以在記事本寫下如下檔案

xcopy /Y hosts \st01c$windowssystem32driversetc

xcopy /Y hosts \st02c$windowssystem32driversetc

xcopy /Y hosts \st03c$windowssystem32driversetc

xcopy /Y hosts \st04c$windowssystem32driversetc

xcopy /Y hosts \st05c$windowssystem32driversetc

xcopy /Y hosts \st06c$windowssystem32driversetc

xcopy /Y hosts \st07c$windowssystem32driversetc

xcopy /Y hosts \st08c$windowssystem32driversetc

xcopy /Y hosts \st09c$windowssystem32driversetc

xcopy /Y hosts \st10c$windowssystem32driversetc

xcopy /Y hosts \st11c$windowssystem32driversetc

xcopy /Y hosts \st12c$windowssystem32driversetc

 

最後再儲存成.bat檔,只要每一次改變教師機的電腦hosts檔後,就可以批次傳送。

————————————————————————————————-

批次遠端關機方式指令

shutdown -m \st01 -s -t 00

shutdown -m \st02 -s -t 00

shutdown -m \st03 -s -t 00

shutdown -m \st04 -s -t 00

shutdown -m \st05 -s -t 00

shutdown -m \st06 -s -t 00

shutdown -m \st07 -s -t 00

shutdown -m \st08 -s -t 00

shutdown -m \st09 -s -t 00

shutdown -m \st10 -s -t 00

shutdown -m \st11 -s -t 00

shutdown -m \st12 -s -t 00

——————————————————————————

批次遠端重新開機

shutdown -m \st01 -r -t 00

shutdown -m \st02 -r -t 00

shutdown -m \st03 -r -t 00

shutdown -m \st04 -r -t 00

shutdown -m \st05 -r -t 00

shutdown -m \st06 -r -t 00

shutdown -m \st07 -r -t 00

shutdown -m \st08 -r -t 00

shutdown -m \st09 -r -t 00

shutdown -m \st10 -r -t 00

shutdown -m \st11 -r -t 00

shutdown -m \st12 -r -t 00

 

Google Drive 同步備份教學

概念說明:

當你電腦硬碟損毀,而你當初有備份資料到雲端時,

可以利用Google Drive來同步備份自己的資料,

請記得將這個Google Drive 的軟體裝在要同步的資料槽裡,

千萬別選C槽,因為通常同步的資料都是文件型,

再加上C槽預設都不會太大,若同步時,C槽資料不夠大,

會造成同步出現問題,

因為同步備份就是指雲端上要同步的資料有多少,

然後你同步的本機上的空間就要預留多少。

1.第一步上網搜尋Google Drive軟體

以下是官方網址:

https://www.google.com/intl/zh-TW_ALL/drive/download/backup-and-sync/

2.第二步將下載下來的安裝小程式放在D槽裡,並以系統管理員的身分去執行。

3.打開「透過 Google Drive 備份及同步處理」(Google Drive)程式後,首次使用要先點擊「開始使用」進行設定。

4.登入你的 Google 帳號和密碼來完成使用。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ITBC軟體遠端批次開機的bios設定

Advanced 選APM Configuration 然後將Erp Ready 設Disabled ,

把”Power On By PCI”和 “Power On By PCI-E”設成Enabled。

 

 

將著對”本機”按右鍵點選,進入裝置管理員,

在”網路介面卡”裡的intel網卡”點選按右鍵內容,

然後在”電源管理”選項中,把

“允許電腦關閉這個裝置以節省電源(A)”

“允許這個裝置喚醒電腦(O)”

“還有”只允許Magic封包喚醒電腦”選項都打勾。

Dlink DIR-822 路由器設定

Dlink DIR-822 路由器設定

 

預設是192.168.0.1(若有兩台同時設這個時,會造成某一段網路無法上網)

若家中有兩臺路由器時,先找一台筆電或電腦直接將網路線連上路由器的lan網段

把自己的乙太網路變成

IP:192.168.0.200

遮罩:255.255.255.0

閘道:192.168.0.1

然後在網址上改成192.168.0.1/Home.html

在”基本設定”的”網路設定”將”路由器IP位址”改成”192.168.100.1″

再把自己的筆電或電腦主機的乙太網路變成

IP:192.168.100.200

遮罩:255.255.255.0

閘道:192.168.100.1

在網址上打上192.168.100.1/Home.html就可以開始設定了

 

這時候把牆壁上能上網的網路線接到自己路由器上的internet網路孔上(顏色最特別的那孔)

這時候會出現internet的修復功能,就讓他自動修復,就可以安心上網了。

 

管理員密碼:xu3m3vm0

 

 

 

台北市教育局 公告模組設定 xoops

台北市教育局公告 更新說明

引自:https://campus-xoops.tn.edu.tw/modules/tad_modules/index.php?module_sn=90

  1. 修正標題、日期欄位順序有誤的問題
  2. 新增不用裝 curl 就可以擷取公告的方式
  3. 每個公告可以自己修改 $url_arr[xxx] 最右邊的 $limit,改成數字,即可自行設定該分類顯示數量。

「台北市教育局公告」簡介

此區塊可以擷取台北市教育局公告的json檔,並即時呈現公告。

其中 $limit 可以自訂呈現篇數

若有不需要的項目,請自行註記 $url_arr 即可(在最左邊加上//)。

安裝方式

  1. 到區塊管理,新增一個自訂區塊。
  2. 將底下內容貼到自訂區塊中
  3. $limit = 5;
  4.  
  5. //不需要的公告,請自行註解掉(在最左邊加上//,右邊的 $limit 可以直接改成數值,自己設定顯示篇數)
  6. $url_arr[‘一般公告’] = array(‘https://www.doe.gov.taipei/OpenData.aspx?SN=A53E0BA10DD4457E’, $limit);
  7. $url_arr[‘幼兒園’]    = array(‘https://www.doe.gov.taipei/OpenData.aspx?SN=D5AD2C5A7A85502C’, $limit);
  8. $url_arr[‘國小’]       = array(‘https://www.doe.gov.taipei/OpenData.aspx?SN=A06275FDC88942AB’, $limit);
  9. //$url_arr[‘國中’]       = array(‘https://www.doe.gov.taipei/OpenData.aspx?SN=2376933CA35541CB’, $limit);
  10. //$url_arr[‘高中職’]    = array(‘https://www.doe.gov.taipei/OpenData.aspx?SN=8FDEB38F0F17B561’, $limit);
  11. $url_arr[‘終身教育’] = array(‘https://www.doe.gov.taipei/OpenData.aspx?SN=711FA93AC6D09A71’, $limit);
  12.  
  13. if (!file_exists(XOOPS_ROOT_PATH . “/modules/tadtools/easy_responsive_tabs.php”)) {
  14.     redirect_header(“index.php”, 3, ‘需要最新版TadTools’);
  15. }
  16. include_once XOOPS_ROOT_PATH . “/modules/tadtools/easy_responsive_tabs.php”;
  17. $responsive_tabs = new easy_responsive_tabs(‘#tpNewsTab’);
  18. $responsive_code = $responsive_tabs->rander();
  19.  
  20. $tabs = $tab_content = $msg = ”;
  21. foreach ($url_arr as $tab_title => $url_data) {
  22.     list($url, $limit) = $url_data;
  23.  
  24.     if (function_exists(‘curl_init’)) {
  25.         $ch = curl_init();
  26.         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  27.         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  28.         curl_setopt($ch, CURLOPT_HEADER, false);
  29.         curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  30.         curl_setopt($ch, CURLOPT_URL, $url);
  31.         curl_setopt($ch, CURLOPT_REFERER, $url);
  32.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  33.         curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
  34.         $data = curl_exec($ch);
  35.         curl_close($ch);
  36.  
  37.     } else {
  38.         $arrContextOptions = array(
  39.             “ssl” => array(
  40.                 “verify_peer”      => false,
  41.                 “verify_peer_name” => false,
  42.             ),
  43.         );
  44.         $data = file_get_contents($url, false, stream_context_create($arrContextOptions));
  45.     }
  46.  
  47.     $tabs .= “<li>$tab_title</li>”;
  48.  
  49.     if ($data) {
  50.         if (substr($data, 0, 3) == pack(“CCC”, 0xef, 0xbb, 0xbf)) {
  51.             $data = substr($data, 3);
  52.         }
  53.         $news_arr = json_decode($data, true);
  54.  
  55.         $all_news = array();
  56.         $i        = 0;
  57.         if ($news_arr) {
  58.             foreach ($news_arr as $news) {
  59.                 if (isset($news[‘發布日期’]) and isset($news[‘Source’]) and isset($news[‘title’]) andisset($news[‘發布單位’])) {
  60.                     $date                     = $news[‘發布日期’];
  61.                     $all_news[$date][‘link’]  = $news[‘Source’];
  62.                     $all_news[$date][‘title’] = $news[‘title’];
  63.                     $all_news[$date][‘unit’]  = $news[‘發布單位’];
  64.                 }
  65.                 $i++;
  66.             }
  67.  
  68.             krsort($all_news);
  69.             $i = 0;
  70.  
  71.             $tab_content .= “
  72.                     <div>
  73.                     <table class=’table table-bordered table-condensed table-hover table-striped’>
  74.                     <tr>
  75.                         <th>發布日期</th>
  76.                         <th>標題</th>
  77.                         <th>發布機關</th>
  78.                     </tr>”;
  79.             foreach ($all_news as $date => $news) {
  80.                 $date = substr($date, 0, 10);
  81.                 $tab_content .= “
  82.                         <tr>
  83.                             <td>{$date}</td>
  84.                             <td><a href='{$news[‘link’]}’ target=’_blank’>{$news[‘title’]}</a></td>
  85.                             <td>{$news[‘unit’]}</td>
  86.                         </tr>”;
  87.                 $i++;
  88.                 if ($i >= $limit) {
  89.                     break;
  90.                 }
  91.             }
  92.             $tab_content .= “
  93.                     </table>
  94.                     </div>”;
  95.         } else {
  96.             var_export($news_arr);
  97.             $msg .= “<div>無法解析 {$url} 的資料</div>”;
  98.         }
  99.     } else {
  100.         $msg .= “<div>抓不到 {$url} 的資料</div>”;
  101.     }
  102.  
  103. }
  104.  
  105. if ($msg) {
  106.     echo $msg;
  107. } else {
  108.     echo $responsive_code .
  109.         ‘<div id=”tpNewsTab”>
  110.             <ul class=”resp-tabs-list vert”>
  111.             ‘ . $tabs . ‘
  112.             </ul>
  113.  
  114.             <div class=”resp-tabs-container vert”>
  115.             ‘ . $tab_content . ‘
  116.             </div>
  117.         </div>’;
  118. }
  • 內容類型請設為PHP腳本
  • 位置建議放在 上中

ASUS 主機板 BIOS UEFI 開機 改傳統開機 Legacy

ASUS BIOS 新款 BIOS改一般開機跟其他廠牌不太一樣,以往CSM關閉、
Secure Boot關閉or Other OS ,ASUS是開

 

ASUS BIOS 改 USB / CD 開機方法如下▼

ASUS 進BIOS 有點麻煩,按 ESC 按鍵,再去按電源鍵,不然容易超快跳過就進Windows 了。

步驟一▼

1.jpg

 

步驟二▼

2.jpg

 

步驟三▼

3.jpg

 

步驟四▼

4.jpg

 

步驟五▼

5.jpg

步驟六▼

6.jpg

 

修改hosts檔,讓某些網站無法開啟(命令提示字元方式處理)

修改hosts檔,讓某些網站無法開啟(命令提示字元方式處理)

利用「命令提示字元」來開啟「記事本」

學校裡常見要封鎖的相關遊戲網站清單:

0.0.0.0 www.facebook.com

0.0.0.0 facebook.com

0.0.0.0 zh-tw.facebook.com

0.0.0.0 www.gamesmomo.com

0.0.0.0 www.play337.com

0.0.0.0 www.crazygames.com

0.0.0.0 slither.io

0.0.0.0 qk-gamer.com

0.0.0.0 my-gamer.com

0.0.0.0 my-gamer.com

0.0.0.0 www.qk3000.com

0.0.0.0 www.i-gamer.net

0.0.0.0 www.gamesmomo.com

0.0.0.0 www.gameso.cc

0.0.0.0 gamekuo.com

0.0.0.0 i-gameworld.com

0.0.0.0 www.119game.com

0.0.0.0 chrome.google.com

雖然直接用系統管理員的身份來開啟「記事本」很容易,但我個人來說,還是偏好利用「命令提示字元」,直接用「記事本」來載入「hosts」這個檔案。

Step 1. 在「開啟功能表」輸入「cmd」或者「命令提示字元」,並且在「cmd.exe」中按下右鍵,並且選擇「以系統管理員身分執行」,如下圖:

edit_hosts-04.jpg

Step 2. 如果你有以系統管理員身分來執行的話,預設的資料夾路徑就會在「C:Windowssystem32」這個資料夾中,如下圖所示:

edit_hosts-05.jpg

Step 3. 此時,我們輸入兩行指令,先切換到hosts所在目錄,「cd driversetc」;接著再用「記事本」開啟「hosts」這個檔案,指令為「notepad hosts」,如下圖:

edit_hosts-06.jpg

當然這部份指令的使用是很彈性的,你也可以直接輸入「notepad driversetchosts」,或者完整輸入路徑「notepad c:windowssystem32driversetchosts」。

Step 4. 最後沒有意外的,也可以開啟hosts檔案,如下圖:

edit_hosts-07.jpg

運用有「系統管理員身分」的「命令提示字元」來開啟「記事本」是一種很特別的方法,怎麼說呢?

當我們用「系統管理員身分」來執行「命令提示字元」之後,「命令提示字元」就擁有「管理員的身分」,不僅如此,這種「能力」在Windows中是「世襲」的,它會一直的傳承下去,所以我們再用「命令提示字元」開啟「記事本」之後,這個「記事本」也會擁有「管理員身分」,以此類推,開啟了「小畫家」,它就是超級小畫家,開啟了計算機,它就變成「超級計算機」,不過我們要「超級計算機」做什麼…

debian dns 修改

root登入後

1.進入etc底下的bind資料目錄內

#  cd /etc/bind/

2. 編輯db.ysps.go的資料內容

#  vi db.ysps.go

 

在底下的資料列裡面新增一筆自己要的資料

 

@       IN      NS      dns.ysps.tp.edu.tw.

@       IN      A       172.16.1.1

dns     IN      A       172.16.1.1

www     IN      A       172.16.1.2

www-old IN      A       172.16.1.3

stu     IN      A       172.16.1.6

wins    IN      A       172.16.1.7

monkeys IN      A       172.16.1.9

ev      IN      A       172.16.1.31

rs32    IN      A       172.16.1.32

 

3.重開bind9的服務

#   /etc/init.d/bind9 restart

 

理論上這樣子就成功了

 

*按”i”是開始編輯  按”ESC”是離開編輯畫面,按”:wq!”是強制寫入後離開*