博客來網路書店查詢

書名

博客來網路書店查詢

星期六, 11月 16, 2024

Windows Server 進度

 1-1.確認系統基本環境設定
1-2.網路TCP/IP設定
1-3.各種網路指令操作
1-4.電腦關機方式與電源計畫
2-1.本機使用者與群組帳戶管理
2-2.密碼的變更、備份與還原
3.本機 NTFS 檔案權限安全性管理
3-1.NTFS 權限種類
3-2.使用者的有限權限
3-3.檔案與資料夾的擁有權
3-4.檔案拷具或搬移後的權限變化
4.管理使用者設定檔之工作環境
4-1.本機使用者設定檔
‎4-2.漫遊與強制使用者設定檔
4-3.自訂 Default 設定檔
4-4.登入指令檔
4-5.利用「主資料夾」來儲存私人檔案
5.遠端桌面連線管理及磁碟系統的管理

星期二, 3月 14, 2023

Python AI 第一階段可學技能-1

了解程式基本處理

除了傳統的循序執行、條件分析、重複執行外,
還可以了解各種資料處理,例如字串、list、dict等,
可於開會時模擬客戶需求建構程式流程,確認後再回公司進行語法轉換。
也就是可以一邊聊是非一邊寫出程式,確認客戶的想法是可行的。
例如字串接龍這樣的遊戲,可以在聊天歡樂的氣氛中寫出來,介面等部份可以回辦公室後再改用別的程式語言設計,其他程式語言很難以明確簡單優雅的方式設計程式。



進行程式流程溝通時就會有資料傳遞上的困擾,傳統上我們必須要明確確認有多少資料要傳遞,但初步溝通為何不能愉快的方式完成?
如果客戶說最多三件事情,但可能一件或兩件,其他程式很困擾,Python沒問題,函數就規劃預設初始值,你傳遞一個兩個三個資料都沒問題。



 

那如果客戶說我不知道幾件事情,至少一個,反正能多就多。其他程式語言會很難規劃,Python簡單啦..那就不固定參數,你愛傳遞多少就傳遞多少。



星期四, 9月 24, 2020

ckip詞性說明

 

A非謂形容詞
Caa 對等連接詞
Cab 連接詞,如:等等
Cba 連接詞,如:的話
Cbb 關聯連接詞
D 副詞
Da 數量副詞
Dfa 動詞前程度副詞
Dfb 動詞後程度副詞
Di 時態標記
Dk 句副詞
DM 定量式
I 感嘆詞
Na 普通名詞
Nb 專有名詞
Nc 地方詞
Ncd 位置詞
Nd 時間詞
Nep 指代定詞
Neqa 數量定詞
Neqb 後置數量定詞
Nes 特指定詞
Neu 數詞定詞
Nf 量詞
Ng 後置詞
Nh 代名詞
Nv 名物化動詞
P 介詞
T 語助詞
VA 動作不及物動詞
VAC 動作使動動詞
VB 動作類及物動詞
VC 動作及物動詞
VCL 動作接地方賓語動詞
VD 雙賓動詞
VF 動作謂賓動詞
VE 動作句賓動詞
VG 分類動詞
VH 狀態不及物動詞
VHC 狀態使動動詞
VI 狀態類及物動詞
VJ 狀態及物動詞
VK 狀態句賓動詞
VL 狀態謂賓動詞
V_2


DE 的之得地
SHI
FW 外文


COLONCATEGORY 冒號
COMMACATEGORY 逗號
DASHCATEGORY 破折號
DOTCATEGORY 點號
ETCCATEGORY 刪節號
EXCLAMATIONCATEGORY 驚嘆號
PARENTHESISCATEGORY 括號
PAUSECATEGORY 頓號
PERIODCATEGORY 句號
QUESTIONCATEGORY 問號
SEMICOLONCATEGORY 分號
SPCHANGECATEGORY 雙直線
WHITESPACE 空白

nltk詞性說明

 

詞性代碼 主要詞性分類 詞性說明 例子
CC 連接詞 連接詞(Coord Conjuncn) and,but,or
CD 名詞 數字(Cardinal number) one,two
DT 冠詞 冠詞(Determiner) the,some
EX 名詞 存在詞(Existential there) there
FW (外語) 外語(Foreign Word) mon dieu
IN 介系詞 介詞(Preposition) of,in,by
JJ 形容詞 形容詞(Adjective) big
JJR 形容詞 形容詞,比較級(Adj., comparative) bigger
JJS 形容詞 形容詞,最高級(Adj., superlative) biggest
LS 標點符號 列點標示(List item marker) 1,One
MD 動詞 助動詞(Modal) can,should
NN 名詞 名詞,單數或不可數(Noun, sing. or mass) dog
NNS 名詞 名詞,複數(Noun, plural) dogs
NNP 名詞 專有名詞,單數(Proper noun, sing.) Edinburgh
NNPS 名詞 專有名詞,複數(Proper noun, plural) Smiths
POS 介系詞 名詞所有格的完結(Possessive ending) Õs
PDT 形容詞 前限定詞(Predeterminer) all, both
PP$ 代名詞 所有代名詞(Possessive pronoun) my,oneÕs
PRP 代名詞 人稱代名詞(Personal pronoun) I,you,she
RB 副詞 助動詞(Adverb) quickly
RBR 副詞 助動詞,比較級(Adverb, comparative) faster
RBS 副詞 助動詞,最高級(Adverb, superlative) fastest
RP 介系詞 虛詞(Particle) up,off
SYM 標點符號 符號(Symbol) +,%,&
TO 介系詞 to to
UH 感嘆詞 感嘆詞(Interjection) oh, oops
URL 名詞 網址(URL) http://blog.pulipuli.info/
VB 動詞 動詞,原型(verb, base form) eat
VBD 動詞 動詞,過去式(verb, past tense) ate
VBG 動詞 動詞,現在進行式(verb, gerund) eating
VBN 動詞 動詞,過去完成式(verb, past part) eaten
VBP 動詞 動詞,現在式(Verb, present) eat
VBZ 動詞 動詞,現在式第三人用(Verb, present) eats
WDT 名詞 Wh開頭的限定詞(Wh-determiner) which,that
WP 代名詞 Wh代名詞(Wh pronoun) who,what
WP$ 代名詞 Wh所有格(Possessive-Wh) whose
WRB 副詞 Wh助動詞(Wh-adverb) how,where
, (標點符號) 逗點符號(Comma) ,
. (標點符號) 句子完結符號(Sent-final punct) . ! ?
: (標點符號) 句子中間符號(Mid-sent punct.) : ; Ñ
$ (標點符號) 金錢符號(Dollar sign) $
# (標點符號) 英鎊符號(Pound sign) #
" (標點符號) 括號(quote) "
( (標點符號) 左括弧(Left paren) (
) (標點符號) 右括弧(Right paren) )

jieba的詞性說明

詞性代碼 主要詞性分類 詞性說明
a 形容詞 取英語形容詞adjective的第1個字母。
ag 形容詞性語素 形容詞代碼為a,語素代碼g前面置以a。
ad 形容詞-副形詞 直接作狀語的形容詞。形容詞代碼a和副詞代碼d並在一起。
an 形容詞-名形詞 具有名詞功能的形容詞。形容詞代碼a和名詞代碼n並在一起。
b 形容詞-區別詞 取漢字“別”的聲母。
c 連接詞 取英語連詞conjunction的第1個字母。
d 副詞 取adverb的第2個字母,因其第1個字母已用於形容詞。
dg 副詞性語素 副詞代碼為d,語素代碼g前面置以d。只有兩個。
df * 能願動詞: 不要 專指不要
e 嘆詞 取英語嘆詞exclamation的第1個字母。
eng * 外語
f 動詞-方位詞(趨向動詞) 取漢字“方”的聲母。
g 難以判斷-語素 絕大多數語素都能作為合成詞的“詞根”,取漢字“根”的聲母。
h 副詞-前接成分 取英語head的第1個字母。只有兩個。
i 形容詞-成語 取英語成語idiom的第1個字母。
j 名詞-簡稱略語 取漢字“簡”的聲母。
k 後接成分代詞 只有四個。
l 難以判斷-慣用語 慣用語尚未成為成語,有點“臨時性”,取“臨”的聲母。
m 數詞 取英語numeral的第3個字母,n,u已有他用。
mg * 名詞-干支 只有兩個。
mq * 指示代詞 布丁註:不太確定。
n 名詞 取英語名詞noun的第1個字母。
ng 名詞性語素 名詞代碼為n,語素代碼g前面置以n。
nr 名詞-人名 名詞代碼n和“人(ren)”的聲母並在一起。
nrfg * 名詞-完整人名 明確可以辨別為人名的詞。
nrt * 外國名詞 布丁註:不太確定。
ns 名詞-地名 名詞代碼n和處所詞代碼s並在一起。
nt 名詞-機構團體 “團”的聲母為t,名詞代碼n和t並在一起。
nz 名詞-其他專名 “專”的聲母的第1個字母為z,名詞代碼n和z並在一起。
o 擬聲詞 取英語擬聲詞onomatopoeia的第1個字母。
p 介詞 取英語介詞prepositional的第1個字母。
q 量詞 取英語quantity的第1個字母。
r 代詞 取英語代詞pronoun的第2個字母,因p已用於介詞。
rg * 代詞-茲 只有一個。
rr * 多數代詞 只有三個。
rz * 代詞-這位 只有一個。
s 名詞-處所詞 (方位名詞) 取英語space的第1個字母。
t 時間詞 取英語time的第1個字母。
tg 名詞-時間詞性語素 時間詞代碼為t,在語素的代碼g前面置以t。
u 助詞 取英語助詞auxiliary的第2個字母,因a已用於形容詞。
ud * 結構助詞: 得 只有一個。
uj * 結構助詞: 的 只有一個。
uv * 結構助詞: 地 只有一個。
ug * 動態助詞: 過 只有一個。
ul * 動態助詞: 了 只有一個。
uz * 動態助詞: 著 只有一個。
v 動詞 取英語動詞verb的第一個字母。
vg 動詞性語素 動詞代碼為v。在語素的代碼g前面置以V。
vd 副動詞 直接作狀語的動詞。動詞和副詞的代碼並在一起。只有三個。
vi * 不及物動詞(內動詞) 只有四個。
vn 動詞-名動詞 指具有名詞功能的動詞。動詞和名詞的代碼並在一起。
vq * 完成動詞 只有四個。
w 標點符號
x 非語素字 非語素字只是一個符號,字母x通常用於代表未知數、符號。
y 語氣詞(語氣助詞) 取漢字“語”的聲母。
z 形容詞-狀態詞 取漢字“狀”的聲母的前一個字母。
zg * 副狀態詞

星期一, 4月 20, 2020

YOLO於Win10上的安裝-3


G-執行YOLO

請於終端機執行以下敘述
darknet.exe detect cfg\yolov3.cfg yolov3.weights data\dog.jpg
發現到兩個問題
1.
請拷貝「C:\OpenCV」內的「build」的「x64」的「vc15」的「bin」 目錄內的 「opencv_world430.dll 」
到「C:\darknet\」資料夾。
2.
請拷貝「C:\Darknet」內的「build」的「darknet」的「x64」目錄內的 「pthreadVC2.dll 」
到「C:\darknet\」資料夾。
請再次執行以下的語法
darknet.exe detect cfg\yolov3.cfg yolov3.weights data\dog.jpg

關於YOLO於Windows環境內的設定修改與執行請看影片介紹

YOLO於Win10上的安裝-2


D- VS2017操作

1.上方選擇「Release」+「x64」。
2.右方的「方案總管」點選「ALL_BUILD」,再請按下右鍵選擇「建置」點選後執行。
3.右方的「方案總管」點選「INSTALL」,再請按下右鍵選擇「建置」點選後執行。


E- 修改系統變數
請於
Win10的「控制台」的「系統」的「關於」,點選「系統資訊 」。
再請點選「進階系統設定」的「進階」書籤 內「環境變數」 。
請於「系統變數」的「Path」按下「編輯」,於後面增加以下的文字:

%OPENCV_DIR%\x64\vc15\bin;%OPENCV_DIR%\x64\vc15\lib;C:\darknet\build\darknet\x64

F- 下載檔案至darknet資料夾
1.
請下載msvcr100.dll,並放到darknet資料夾中。
https://wikidll.com/microsoft/msvcr100-dll
2.
請下載yolov3.weights,並放到darknet資料夾中。

https://pjreddie.com/media/files/yolov3.weights

關於CMake安裝後YOLO的準備工作請看影片介紹

YOLO於Win10上的安裝-1



A- 相關軟體安裝
1.
請先安裝好Nvidia顯示卡驅動程式與相關資源,
請留意如果您的顯示卡不支援,那這三個安裝程式可能都會失敗。
https://www.nvidia.com/Download/index.aspx?lang=en-us#
https://developer.nvidia.com/cuda-toolkit-archive
https://developer.nvidia.com/cuDNN

2.
請下載並安裝github
https://git-scm.com/

3.
請下載並安裝最新版本的CMake
https://cmake.org/download/

4.
請下載並安裝最新版本的OpenCV:https://opencv.org/releases/
解壓縮後會得到一個叫opencv的文件夾,請把這個文件夾拷貝到C:磁區根目錄下。

5.
由於opencv內提供的相對支援語法只到VS2017,建議安裝VS2017。
下載安裝Visual Studio 2017 Community(Version 15.9)。
但由於DarkNet的元件是2015版本,但Win10執行VS2015會有異狀,
所以點選「使用C++的桌面開發」後請記得點選安裝
「桌上型電腦版的VC++ 2015.3 V14.00 (v140)工具」。
另請記得點選「.Net 桌面開發」 與「使用C++的桌面開發」

B- 下載Darknet與環境變數修改
1.
請開啟檔案總管,切換到C根目錄後輸入cmd後按下enter。
2.
請於終端機輸入
git clone https://github.com/AlexeyAB/darknet.git
3.
請於
Win10的「控制台」的「系統」的「關於」,點選「系統資訊 」。
再請點選「進階系統設定」的「進階」書籤 內「環境變數」 。
請於「使用者變數」按下「新增」
變數名稱    OPENCV_DIR
變數值      C:\\opencv\build
再請按下「確定」。


C- CMake操作
開啟視窗程式後,
請您於「Where is the source code 」點選「Browse Source 」點選darknet目錄,預設於C:\內。
接著也請您於「Where to build the binaries 」點選「Browse Source 」點選darknet目錄,預設於C:\內。

 

1.
點選「Configure」按鈕,接著
請您於「Specify the generator for this project」點選「Visual Studio 15 2017」
請您於「Optional platform for generator (if empty, generator users:Win32」點選「x64」
下方選擇鈕請點選「Use default native compiliers 」
再請按下「Finish」。

 2.
然後點擊「Generate」按鈕,最後點擊「Open Project」按鈕,將會啟動VS2017後開啟「Darknet.sln」。





星期二, 2月 18, 2020

2020年Python課程開課時間

2020年Python課程開課時間(若有變更則以公司發布的訊息為準):

0408週日開始第四階段
0424週二晚上開始第一階段
0504周一晚上開始第一階段
0507週四晚上開始第二階段
0614週日開始第一階段
0727周一晚上開始第二階段
0804周二晚上開始第三階段
0906周日開始第二階段
1019周一晚上開始第一階段
1027周二晚上開始第二階段

星期日, 9月 03, 2017

解釋物件導向與繼承、抽象類別

為了解釋物件導向與繼承..就這樣做了一個十六分鐘的題目。的確有些複雜,建議參考配合C#物件導向章節,如果仍不是很清楚,依照目前課程規劃,比較接近的是C/C++進階課程,再請各位到教室來了解物件導向的來龍去脈。這是第1個檔案(共計四個)。




這是第2個檔案(共計四個)。


這是第3個檔案(共計四個)。



這是第4個檔案(共計四個)。

星期六, 9月 24, 2016

CodeBlocks於Win7 中文碰到問題

中文碰到問題的說明,以Win7為主

Settings功能表內的 editor內
Encoding settings 設定為UTF-8
Settings功能表內的 Compiler內
Compiler settings內的
Other compiler options內輸入
-fexec-charset=BIG-5

-------->
BIG5 是無效的 BIG-5才有效

-->
加入設定後,建議可先把程式碼拷貝出來,儲存成
文字檔案,避免變成亂碼。


重新啟動CodeBlocks
專案略做修改 讓他重新編譯
如果專案修改後還是亂碼,建議開啟新的專案 重新打字
或者拷貝文字檔的內容進去

------------------------------------
XP環境建議改為Windows-950編碼

Code::Blocks操作

黃色代表沒有儲存
綠色代表已經儲存

工具列上的Abort按鈕並不是關閉程式
而是將程式轉移到背景
如果不小心轉移到背景 請利用工作管理員找尋
再強制關閉

程式編譯之前必須先把執行的程式關閉
如果寫好的程式在執行 是無法編譯


專案的切換

一次只能執行一個專案 一個專案內只能有一個main() 語法

請在你想要執行的專案名稱上點兩下就可以切換


程式碼是哪一個專案?
左上角會顯示
如果真的找不出來是哪個專案 建議關閉後重新開啟


Code::Blocks Debug

除錯的目的
檢查程式流程
確認資料的變化


執行的時候 可以按  F7 或著
Next Line的按鈕 往下一行執行
就可以了解程式執行的流程-->
如果程式跑的流程跟你想的不一樣,
請再確認你的想法,如果你的想法正確,
請修改程式流程。

也可以監看變數的變化
可以在Watches內新增監看的變數

這個新增的變數內容可以修改  不影響原有的資料
只是要做流程的驗證

程式執行流程 也可以查看最下方的Debugger的訊息顯示

除錯若要結束 可以按除錯工具列的X鈕結束

星期二, 8月 16, 2016

視窗程式設計流程

視窗程式設計流程
1.請由左側工具列點選工具置放於表單上
2.右上角的方案總管內設定資源或是視窗程式所需的新增項目
3.右下角的屬性視窗:可變更表單上的控制項屬性
4.右下角的事件視窗:可選擇表單上的控制項執行哪一個事件

例如 我按下按鈕之後,label上會顯示現在的時間
==>
按鈕被按下了,才會有後面的事情。所以程式寫在button1的click事件內

至於程式部分該怎麼寫,就請參考成是基本處理流程
--------------------------------------------------------------------
程式基本處理流程
1.先有想法才有做法。請先把想法整理出來,一次只做一個動作,請排順序。
2.畫流程圖
3.流程圖中每一個執行動作可以有多個上一步,但每個執行動作只能有一個下一步。



若對這主題想做進一步社團討論,請參考以下連結

星期一, 6月 06, 2016

蘋果電腦上的C++程式開發

首先請先開啟Xcode,也就是最左邊數過來第三個軟體:

接著請您點選 Create a new Xcode project:
接著請您選取OS X內的Application內的Command Line Tool後按下Next:
請您輸入專案名稱(Product Name)以及組織單位簡稱(Organization identifier),再請您挑選程式語言(Language),為了配合課本,C語言只提格式代碼,後續練習均以C++為主,再請按下Next:
請您輸入挑選儲存的路徑,再請按下Create,專案建立了:
請您輸入程式碼,接著再請您按下執行鈕(最左邊的三角形按鈕):
執行畫面將會出現在程式碼的右下方:

星期日, 5月 29, 2016

組裝的第二個問題-電池供電給Arduino板子




Arjin Chen 老師說:
 本例由電池供電給Arduino板子有2種方式
1. 使用圖一的DC快速接頭(公頭), 接至Arduino板子的DC母插座, 正極是接至L298N的12V-GND-5V插座中的5V
2. 直接由L298N 5V拉一條線(杜邦公公線即可)接至Arduino板子的VIN供電
1是之前的接法, 2是簡化後的接法, 都可以
--
L298N的GND一條是接到電池負極, 一條是接到Arduino板的GND
--
因掃地機有多個馬達, 故電池採用4節+2節(原2馬達輪子用的話, 4節就夠了), 所以請將4+2電池盒串聯(4節的黑接到2節的紅)即可
--
快速接頭使用較彈性, 一個可用在掃地機, 另一個可搭配9V電池扣, 使用9V電池供電給離線的Arduino板使用(例機械手臂、LED/LCD)

另外一個配線的補充

星期五, 5月 27, 2016

C++與SQLite--資料列表

void getTableData()
{
    sqlite3_stmt *statement;
    char *query = "select * from student";
    if ( sqlite3_prepare(dbfile, query, -1, &statement, 0 ) == SQLITE_OK )
    {
        int ctotal = sqlite3_column_count(statement);
        int res = 0;
        while ( 1 )
        {
            res = sqlite3_step(statement);
            if ( res == SQLITE_ROW )
            {
                for ( int i = 0; i < ctotal; i++ )
                {
                    string s = (char*)sqlite3_column_text(statement, i);
                    cout << s << " " ;
                }
                cout << endl;
            }
            if ( res == SQLITE_DONE )
            {
                cout << "done " << endl;
                break;
            }
        }
    }
}

C++與SQLite--刪除資料

int deleteRow()
{
    int rollno;
    cout << " 輸入學號 :" ;
    cin >> rollno ;
    if(cin.fail( ))
    {
      cin.clear( );
      cout<<"學號格式錯了";
      return 0;
    }
    std::stringstream strm;
    strm << "delete from student " << " where roll=" << rollno ;
    string s = strm.str();
    char *str = &s[0];
    //cout << str << endl;
    sqlite3_stmt *statement;
    int result;
    char *query = str;
    {
        if(sqlite3_prepare(dbfile,query,-1,&statement,0)==SQLITE_OK)
        {
            int res=sqlite3_step(statement);
            result=res;
            sqlite3_finalize(statement);
        }
        return result;
    }
    return 0;
}

C++與SQLite--更新資料

int updateRow()
{
    int rollno;
    float gpa;
    cout << " 輸入學號 :" ;
    cin >> rollno ;
    if(cin.fail( ))
    {
      cin.clear( );
      cout<<"學號格式錯了";
      return 0;
    }
    cout << " 輸入新的平均成績 : " ;
    cin >> gpa;
    if(cin.fail( ))
    {
      cin.clear( );
      cout<<"成績格式錯了";
      return 0;
    }
    std::stringstream strm;
    strm << "update student set cgpa=" << gpa << " where roll=" << rollno ;
    string s = strm.str();
    char *str = &s[0];
    //cout << str << endl;
    sqlite3_stmt *statement;
    int result;
    //char *query="update student set cgpa=3.66 where roll=11";
    char *query = str;
    {
        if(sqlite3_prepare(dbfile,query,-1,&statement,0)==SQLITE_OK)
        {
            int res=sqlite3_step(statement);
            result=res;
            sqlite3_finalize(statement);
        }
        return result;
    }
    return 0;
}

C++與SQLite--新增資料

student getStudent()
{
    student stud;
    int id;
    string name;
    float gpa;
    cout << " 輸入學號 :" ;
    cin >> id;
    if(cin.fail( ))
    {
      cin.clear( );
      cout<<"學號格式錯了";
    }
    cout << " 輸入姓名 : " ;
    cin >> name;
    cout << " 輸入平均成績 : " ;
    cin >> gpa;
    if(cin.fail( ))
    {
      cin.clear( );
      cout<<"成績格式錯了";
    }
    stud.setid(id);
    stud.setName(name);
    stud.setcgpa(gpa);
    return stud;
}
int addDataRow()
{
    student stud = getStudent();
    //cout << stud.getName() << endl;
    std::stringstream strm;
    strm << "insert into student(roll,name,cgpa) values(" << stud.getid() << ",'" << stud.getName() << "'," << stud.getcgpa() << ")";
    string s = strm.str();
    char *str = &s[0];
    //cout << str << endl;
    sqlite3_stmt *statement;
    int result;
    //char *query="insert into student(roll,name,cgpa)values(4,'uuu',6.6)";
    char *query = str;
    {
        if(sqlite3_prepare(dbfile,query,-1,&statement,0)==SQLITE_OK)
        {
            int res=sqlite3_step(statement);
            result=res;
            sqlite3_finalize(statement);
        }
        return result;
    }
    return 0;
}