文章

Python-open

Python提供open的功能,用來開啟檔案執行讀取或寫入的動作 基本指令 with open(檔案名稱加路徑, 開啟的模式) as file:     file.write('要寫入的資料')     print (file.read())     file.close() 每次使用完畢後,最好最後面放置.close(),確認這個物件真的有被關閉 example : 開啟使用者桌面的aaa.txt檔案,並寫入變數kkk的資料 import os kkk = 'Hello world!!' try: with open('C:\\Users\\' + os.getlogin() + '\\Desktop\\aaa.txt', 'w') as tmp: tmp.write(kkk) except IOError as err:     print (err) finally:     tmp.close() 開啟的模式有底下這幾種 開啟的模式 解釋 r 讀取檔案。游標的位置會在檔案的最前面(預設) 讀取前,檔案必須存在,不然會出現錯誤 w 寫入檔案。游標的位置會在檔案的最前面 如果沒有檔案會自動建立檔案,如果已經有檔案,會把檔案內的資料全部清空 a 寫入檔案。游標的位置會在檔案的最後面 如果沒有檔案會自動建立檔案,如果已經有檔案,游標的位置會在檔案的最後面 x 寫入檔案。檔案必須不存在 如果檔案已經存在,會出現錯誤訊息FileExistsError t 以文字文件方式打開(預設) b 以二進位方式打開 + 同時有寫入和讀取的能力 | r r + w w + a a + ------------------|-------------------------- read | + + + +...

CoPP

CoPP(control plane policing) CoPP功能在於保護CPU,使其不受到DoS或不必要的封包進到CPU內進行運算。 CoPP使用Policy map來分類和處理封包。 (內容是依照原文翻譯而來,手頭沒有4500可以測試,可能會跟實際狀況有出入) 由CPU管理的流量可以分成三個不同的功能 : Control plane Data plane Management plane Control Plane只能由系統預先定義的Policy來控制,其它兩個可以用自定義的ACL和class map。 只有 system-cpp-policy 這個policy-map可以控制control-plane,這個原則裡面必須包含預先定義的class-map。 CoPP使用MQC定義流量的分級,再依不同分級定義不同的動作。 MQC使用Class map 定義封包如何分級,定義完後可以用Policy Map去執行不同分級要使用的行為 (confirm或drop)。 全域的control-plane設定指令可以允許CoPP服務原則直接存取control plane。 建立system-cpp-policy最好的方法就是使用全域巨集 system-cpp。 所有預先定義的control plane class-map都有相同的前墜字,system-cpp-,預設這些class-map都沒有任何執行的原則,可以定義自己的control plane class-map,並加入到system-cpp-policy。 CoPP 預設的配置是關閉的。 CoPP通常用來保護CPU免受DoS攻擊,底下是Cisco預先定義的第二層、第三層ACL,也可自行定義自己的ACL。 (預先定義的ACL不能被修改) Pre-defined Named ACL Description system-cpp-dot1x MacDA = 0180.C200.0003 system-cpp-bpdu-range MacDA = 0180.C200.0000 - 0180.C200.000F system-cpp-cdp MacDA =...

MySQL基本指令-權限的分配

MySQL將指令分成三大項 DDL ( Data Definition Languages ) : 建立資料庫、Table和格式、索引等指令。常用的有CREATE、DROP、ALTER DML ( Data Manipulation Languages ) : 用於新增、刪除、修改、搜索資料庫內的Data,並檢查資料的完整性。常用的有 INSERT、DELETE、UPDATE、SELECT DCL ( Data Control Languages ) : 控制資料庫的存取權限。常用的有GRANT、REVOKE 指令符號解釋 [ ] : 代表可有可無,[ ] 內的指令可能是一次大量執行或是某個特殊功能 大寫英文 : MySQL內定的指令文字。(紫色粗體字) 小寫英文 : 由使用者自行定義的文字,如名稱等 DCL的指令 管理資料庫的各種權限,像是DML指令的UPDATE、SELECT、DELETE 授予權限 主要使用的指令是GRANT GRANT 授予的權限 ON 資料庫名稱 TO '使用者名稱'@'登入位置' IDENTIFIED BY '密碼'; 其中登入位置可以用 : localhost,代表從本機登入 %,代表可以從任何地方登入 例子: 授予使用者 test1在資料庫company中全部的Table可以使用UPDATE和SELECT的能力 並限制登入的位置為192.168.1.100,密碼是1234 GRANT select,update ON company.* TO 'test1'@'192.168.1.100' IDENTIFIED BY '1234'; 取消權限 主要使用的指令是REVOKE REVOKE 取消的權限 ON 資料庫名稱FROM '使用者名稱'@'登入位置';  例子: 取消使用者 test1在資料庫company中的UPDATE功能 REVOKE update ON company.* FROM 'test1'@'192.168.1.100';

MySQL基本指令-建立Database和Table

MySQL將指令分成三大項 DDL ( Data Definition Languages ) : 建立資料庫、Table和格式、索引等指令。常用的有CREATE、DROP、ALTER DML ( Data Manipulation Languages ) : 用於新增、刪除、修改、搜索資料庫內的Data,並檢查資料的完整性。常用的有 INSERT、DELETE、UPDATE、SELECT DCL ( Data Control Languages ) : 控制資料庫的存取權限。常用的有GRANT、REVOKE 指令符號解釋 [ ] : 代表可有可無,[ ] 內的指令可能是一次大量執行或是某個特殊功能 大寫英文 : MySQL內定的指令文字。(紫色粗體字) 小寫英文 : 由使用者自行定義的文字,如名稱等 DDL的指令 主要是操控DB和Table的指令 Database類 新增Database CREATE DATABASE 資料庫名稱; (指令最後面的 ; 符號代表這是指令的最末端,如果沒有輸入這個符號MySQL會認為指令還沒輸入完畢) 例子: 建立一個HappyCompany的Database CREATE DATABASE HappyCompany; 顯示全部的Database SHOW DATABASES; root可以看到全部資料庫,其他使用者如果權限不足會看不到某些資料庫 使用(進入)Database USE 資料庫名稱 (USE指令最後面不用加 ; 符號) 要進到某個Database內才能對內部的Table或資料執行修改或查詢等動作 例子: 進入HappyCompany的Database USE HappyCompany 刪除Database DROP DATABASE 資料庫名稱; 刪除Database會連帶刪掉內部的全部資料 例子: 刪除HappyCompany的Database DROP DATABASE HappyCompany; Table類 新增Table CREATE TABLE [ IF NOT EXISTS ] Table名稱 ( filed_1 type_1 , fil...

MySQL基本指令-資料的新增與查詢

MySQL將指令分成三大項 DDL ( Data Definition Languages ) : 建立資料庫、Table和格式、索引等指令。常用的有CREATE、DROP、ALTER DML ( Data Manipulation Languages ) : 用於新增、刪除、修改、搜索資料庫內的Data,並檢查資料的完整性。常用的有 INSERT、DELETE、UPDATE、SELECT DCL ( Data Control Languages ) : 控制資料庫的存取權限。常用的有GRANT、REVOKE 指令符號解釋 [ ] : 代表可有可無,[ ] 內的指令可能是一次大量執行或是某個特殊功能 大寫英文 : MySQL內定的指令文字。(紫色粗體字) 小寫英文 : 由使用者自行定義的文字,如名稱等 DML的指令 主要是新增修改等資料庫內的資料 新增資料 INSERT INTO Table名稱 (filed_1,filed_2,...) VALUES (value_1,value_2,...); 也可以省略欄位名稱的部分,但Value後面的順序必須和Table的欄位順序一樣 刪除資料 DELETE FROM Table名稱 [WHERE子句]; 或用以下指令可以刪除多個Table的資料 DELETE FROM table_1,table_2,.. [WHERE子句]; 如沒有加WHERE,會清除掉Table內的全部資料 如WHERE查詢出的資料有很多筆,其全部都會被刪除 例子: 刪除HappyCompany的SadBoy人事資料 DELETE FROM HappyCompany WHERE name=SadBoy; 例子-刪除多個Table的資料 刪除Table T1,T2,T3的資料,且資料名稱為 bad。 DELETE FROM a,b,c USING t1 AS a INNER JOIN t2 AS b INNER JOIN t3 AS c WHERE a.id=b.id AND a.id=c.id AND a.name=bad; 修改資料 UPDATE Table名稱 SET filed_1=value_1,filed_2=val...

VIVO PC VM42 加裝硬碟和記憶體

圖片
為了省電、安靜、小空間加上促銷,買了一台小電腦 VIVO PC VM42。 (網路上隨便找的圖片) 官方網址 : https://www.asus.com/tw/Mini-PCs/VivoPC_VM42/ VM42的選配很多,當時去XX屋買的規格大概如下 CPU : Intel® Celeron® 2957U Processor (1.4G 雙核) 硬碟 : 可插兩個2.5"SATA硬碟 內建2.5 " SSD 32 G (沒錯,只有32G,開完機發現剩下3G的空間可用) 記憶體 : 雙通道, DDR3L at 1600MHz 內建 2G (額外又買了 8G 的記憶體) OS : Windows 8.1 家庭進階版 (直接砍掉灌WIN7) 無線 : 802.11a/b/g/n/ac , 藍牙 V4.0 體機 : 190 x 190 x 56.2 mm (寬x長x高) 顯示介面 : 1xHDMI , 1xDisplay port 功率 : 65 W 加送128G SSD  (就是因為這個才買的) 實際使用後,開網頁有點慢,常常CPU 100%,除開網頁外流暢度還OK,如果只看影片、文書和上網可以推薦,不然不建議買這台。 CPU太弱了,當100 %的時候傳輸資料還會被強制中斷..... 會寫這篇是分享自行開蓋裝硬碟等的操作過程。 因為這台有規定,擅自拆機殼就沒有保固,因此現場人員無法協助更換記憶體和硬碟。 如果有人想要自行安裝,請留意,不然各大皇家劇院都可以協助安裝。 準備工具 : 靜電防護措施 小螺絲起子 步驟大略分為 打開機殼 安裝硬碟 安裝記憶體 1. 打開機殼 圖中正中間的開關就是機殼鎖,位在VM42的背後,開機蓋前要先往下扳。 轉到正前方,如圖中有一個小缺口的地方,將上蓋稍微用力往後推,上蓋就會喀的一聲往後移動。接著就可以把整個蓋子拿起來。  2. 安裝硬碟 開蓋後會看到一個黑色大盒子,這個就是放硬碟的盒子,把手壓在前面傾斜處,往後一推。 就可以把硬碟盒推開。  成功推開會看到硬碟盒與主機的連接孔,此時就可以把硬碟盒拿出來。  硬碟盒的後面有兩個小螺絲,轉下來...

Windows群組原則的優先權

圖片
Windows Group Policy processing and precedence 簡介 Windows可以從很多地方建立Group Policy (後稱GP) 當多個GP對同一台電腦設定規則時,要如何知道那個GP優先權最高 ? Windows採取的衝突原則 Windows 採用 Last writer win 即後面寫入的原則,會覆蓋前面的原則 也就是越早執行原則,優先權越低 目錄 Group Policy GP的執行順序 相同層級的執行順序 電腦原則和使用者原則 優先權順序圖例 優先權順序例子 Group Policy GP的主要用途是設定電腦或使用者可以使用的功能或權限 最常用到的地方就是AD的環境中,幫大量的電腦設定原則 而最常使用設定介面不外乎一個是 Local 的GP,另一個是網域上的GP 網域上使用GP的地方有Site、Domain、OU,每一個地方都可以套用好幾個GP 我們常常在網域上套用好幾個GP,本機也有一個GP,到底這些GP是如何比較出誰先誰後呢 GP的執行順序 L ocal- S ite- D omain- OU (subOU-subsubOU…) 最早執行的GP是本機的群組原則,其次是Site,再來是Domain,最後是OU OU的架構屬階層式,其中父OU會先執行,然後才是底下的子OU 因此執行順序是 L -> S -> D -> OU -> subOU -> subsubOU …..  (subOU就是子OU) 優先權剛好與執行順序相反,優先權是 subsubOU -> subOU -> OU -> D -> S -> L 相同層級的執行順序 如果在同一個Domain(site或OU)上建立多筆GP,執行順序又會是如何 ? (圖中顯示的Precedence就是執行順序,越上面越先被執行) 我們可以在 Link Group Policy Objects 修改執行順序 在序列中,越上面的越早執行,也就代表優先權越低 其原理同樣適用於Site、Domain、OU 電腦原則和使用者原則 一個原則裡面又分成電腦原則和使用者原...

VSS

圖片
VSS 的功能 VSS技術可以將兩台4500或6500變成一台邏輯的Switch,兩台共用設定檔 左邊為實際的網路架構,右邊是建立完VSS後,設備之間的關係 運用VSS技術可將兩台設備視為一台,減少L2收斂(STP)的時間和L3的節點數 好處 簡化設定的指令 更快的收斂速度 更少的網路資源 負載平衡 術語 Virtual Switching System (VSS) VSS Active Switch and VSS Standby Switch Virtual Switch Link (VSL) Virtual Switching System (VSS) 將兩台實體switch視為一台虛擬的switch,再運用etherchannel技術兩台switch同時連接一台設備,達到L2/L3的備援機制和負載平衡 VSS Active Switch and VSS Standby Switch 當 建立 或 重開 VSS,兩台switch會協商他們的角色 一個會變為 VSS Active Switch,另一個為VSS Standby Switch VSS Active Switch負責控制VSS的運作並提供管理VSS的介面 (例如,console interface) VSS Standby Switch會將control traffic送到Active Switch,請Active Switch負責處理 VSS Active and Stnadby Swtiches都會處理封包轉送的動作 Virtual Switch Link (VSL) 為了要讓兩台switch視為一台switch,這兩台switch需要分享控制訊息(control information)和資料流(data traffic) VSS硬體需求 Hardware Count Requirements Chassis 2 Catalyst 4500-X系列交換器 支援Supervisor Engine 7-E和 Supervisor Engine 7-LE的機箱。 Note 兩個機箱的Slots...