2024年10月4日 星期五

軟體定義網路SDN-主題2-1 OpenFlow 概述

學習目標:
一.介紹OpenFlow特性
二.介紹OpenFlow Ports:實體port、邏輯port、保留port

一.介紹OpenFlow特性
1.OpenFlow 是
(1).控制器與交換器之間溝通的通訊協定
(2)使用了TCP (port 6653;舊版 port 6633)
(3)定義了轉發層的行為

2.OpenFlow規格書
版本                               代碼                     釋出時間                                           釋出組織
1.0.0                               0x01                     2009/12                                              openflow.org
1.1.0                               0x02                     2011/02                                              openflow.org
1.2.0                               0x03                     2011/12                                                  ONF
1.3.0(最新1.3.5)            0x04                     2012/06(2015/04)                                  ONF
1.4.0(最新1.4.1)            0x05                     2013/10(2015/04)                                  ONF
1.5.0(最新1.5.1)            0x06                     2014/12(2015/04)                                  ONF

3.轉發規格以Flow為單位
                                               Host           <--Flow-->       Host
                                              兩台Host 之間所有的封包都叫做Flow


   




2024年5月16日 星期四

康軒版資訊科技-三下-文字語音轉換-補充教材-文字轉語音

        最近上康軒版資訊科技-三下課程時,如果只上課程內容,沒有實作,感覺課程內容很乾。總覺得缺少什麼,希望能讓學生實作。因此,找了谷歌大神,輸入關鍵字:python 文字轉語音。就找到資料來源1.文字轉換成語音: gTTS / gTTS: A Google Text-to-Speech Wrapper資料來源2.[Python]如何Text to Speech: pyttsx3, gTTS。此時,看完後就改寫程式碼如下:

文字轉語音

安裝套件:pip install gTTS
檔名:test.py
內容:
from gtts import gTTS
#language = "zh-tw"
language = "en"
s = gTTS("Sample Text",lang=language,slow="false")
s.save("sample.wav")

更換成中文
誠信,如同一輪明月普照大地,以它的清輝驅盡人間的陰影;誠信如一束玫瑰的芬芳,能打動有情人的心。無論時空如何變幻,都閃爍著誘人的光芒。有了她,生活就有了芬芳,有了她,人生就有了追求!

程式碼如下:
from gtts import gTTS
language = "zh-tw"
#language = "en"
s = gTTS("誠信,如同一輪明月普照大地,以它的清輝驅盡人間的陰影;誠信如一束玫瑰的芬芳,能打動有情人的心。無論時空如何變幻,都閃爍著誘人的光芒。有了她,生活就有了芬芳,有了她,人生就有了追求!",lang=language,slow="false")
s.save("GoodFaith.wav")

實作要求:
請上傳 sample.wav 與 GoodFaith.wav


資料來源:

2024年4月15日 星期一

康軒版資訊科技-二年級搜尋演算法例子-終極密碼

教師介紹內容:
依照課本要求,寫下程式碼如下:
檔案名稱:終極密碼.py
檔案內容:
import random
ans = random.randint(1,99)
Total = 1
print("這是一個終極密碼遊戲")
guess = int(input('請輸入一個數字:'))
while guess != ans:
    if guess > ans:
        Total=Total+1
        print("太大")
        guess = int(input('請輸入一個數字:'))
    elif guess < ans:
        Total=Total+1
        print("太小")
        guess = int(input('請輸入一個數字:'))
print("完全正確,正確答案為",ans)
print("共進行",Total,"次猜測")
       

2024年4月11日 星期四

矩陣相乘 Python 例子


這是結果:

這是Python程式:
def isMatrixMultiply(A,B):
    N1 = len(A[0])
    N2 = len(B)
    if (N1 == N2):
        OK = True
    else:
        OK = False
    return OK
   
def MatrixMultiply(A,B):
    M = len(A)
    N1 = len(A[0])
    N2 = len(B)
    P = len(B[0])
    if (N1 == N2):
        N = N1
        for i in range(M):
            for k in range(P):
                Temp = 0
                for j in range(N):
                    Temp = Temp + A[i][j]*B[j][k]
                C[i][k] = Temp
        return C

A = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
B = [[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15]]
C = [[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]]
OK = isMatrixMultiply(A,B)
if (OK):
    C = MatrixMultiply(A,B)
    for i in range(len(C)):
        for j in range(len(C[0])):
            print(C[i][j],end='\t')
        print(

2024年1月9日 星期二

康軒版資訊科技5-3-1 認識系統平台之一次開啟100個瀏覽器來灌爆記憶體Python版


        在本單元,會讓學生認識記憶體的功能。但是,老師要如何讓學生感興趣的作法?順便引導學生寫文字型態的程式?
        學生很喜歡一直點選瀏覽器。
        有天,老師問他為什麼要這樣做?
        學生回答:我要撐爆記憶體,看看系統會不會崩潰。
        老師說:你這樣做,太LOW。我有方法,可以一次增加100個瀏覽器,要不要學?

檔案名稱:browser100.py
檔案內容:
import webbrowser
url = "https://tw.yahoo.com"
for i in range(5):
    webbrowser.open(url)
執行browser100.py,預設瀏覽器就會出現五個分頁,如下圖:

接下來修改程式碼,將5改為100,如下圖:
檔案名稱:browser100.py
檔案內容:
import webbrowser
url = "https://tw.yahoo.com"
for i in range(100):
    webbrowser.open(url)
執行browser100.py,預設瀏覽器就會出現100個分頁,如下圖:

資料來源:

康軒版資訊科技5-3-1 認識系統平台之一次開啟100個瀏覽器來灌爆記憶體BAT版

系列文章:

        在本單元,會讓學生認識記憶體的功能。但是,老師要如何讓學生感興趣的作法?順便引導學生寫文字型態的程式?
        學生很喜歡一直點選瀏覽器。
        有天,老師問他為什麼要這樣做?
        學生回答:我要撐爆記憶體,看看系統會不會崩潰。
        老師說:你這樣做,太LOW。我有方法,可以一次增加100個瀏覽器,要不要學?
第一階段:教學歷程:
        只見到老師開啟一個記事本,打開edge瀏覽器的捷徑內容,複製目標,貼到記事本。開啟yahoo網頁,將yahoo網址複製,貼上。就會得到
"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" https://tw.yahoo.com
接下來,複製該文字,再貼上四次,就會得到五行程式碼。將此檔案儲存,檔名browser100.bat。存檔類型:所有檔案。編碼:ANSI。最後存檔。最後點選browser100.bat,預設瀏覽器就會出現五個分頁。
詳細過程如下:
        1.打開edge瀏覽器的捷徑內容
        2.複製目標
        3.貼到記事本,開啟yahoo網頁,將yahoo網址複製,貼上。
        4.就會得到
"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" https://tw.yahoo.com
        5.複製該文字,再貼上四次,就會得到
        6.將此檔案儲存,檔名browser100.bat。存檔類型:所有檔案。編碼:ANSI。最後存檔。

        7.最後點選browser100.bat,預設瀏覽器就會出現五個分頁。
第二階段:教學歷程:
        1.在原先的browser100.bat,刪除四個程式碼,如下圖:
        2.在原本的程式碼,加上for 迴圈,使用方式如資料來源1.BAT批次指令: For的功能介紹

         檔名:browser100.bat
         檔案內容:
for /L %%i in (1 1 5) do (
 "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" https://tw.yahoo.com
)
pause

        3.點選browser100.bat,就會出現5個分頁
        4.將程式碼的5 改為100。存檔後,即可再次點選。
         檔名:browser100.bat
         檔案內容:
for /L %%i in (1 1 100) do (
 "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" https://tw.yahoo.com
)
pause


資料來源:
1.BAT批次指令: For的功能介紹


        
         

2023年12月11日 星期一

Ch02 Pandas DataFrame 介紹 的整理與心得

# 匯入套件
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
# 用字典形式來建立 DataFrame 
scores = {'Chinese':[100,80,90,70,100],
          'English':[70,90,80,100,90],
          'Math':[80,100,90,70,60]}
df = pd.DataFrame(scores)
print(df
#  在 DataFrame 加入索引
df.index = ['Jobs','Mary','Simon','Allen','Bob']
print(df)
 
#  印出 DataFrame 直行索引 
print(df.index)
#  印出 DataFrame 橫列索引
print(df.columns
#  印出 DataFrame 行列內的值 
print(df.values)  
#  印出 DataFrame 維度
print(df.shape)
#  印出 DataFrame 資料型態
print(df.dtypes)







軟體定義網路SDN-主題2-1 OpenFlow 概述

學習目標: 一.介紹OpenFlow特性 二.介紹OpenFlow Ports:實體port、邏輯port、保留port 一.介紹OpenFlow特性 1.OpenFlow 是 (1).控制器與交換器之間溝通的通訊協定 (2)使用了TCP (port 6653;舊版 port 6...