assert用來捕抓程式在商業邏輯、現實活動運作流程上的錯誤。
assert(boolean) :"assertionErrorMessage"
要讓java 執行assert測試程式
在執行class時候要跟jvm說
java -ea XXXX
ea:enable assert
當條件式為false才會觸發AssertionError
寫程式就像學音樂一樣,只看樂譜不動手永遠無法演奏出美妙旋律。只演奏一遍也不可能立刻成為音樂家。 這部落格紀錄我的學習筆記,各位看倌若找不到需要的資料請見諒~~~ This blog records my study about Computer Science.
總網頁瀏覽量
2013年4月30日 星期二
2013年4月29日 星期一
開啟IIS服務
去控制台的"程式與功能",之後點選"開啟或關閉windows功能"
接著等一陣子後出現選單 緊接著將Internet Information Service打勾
(懶惰的話就將裡面細項全勾吧!這樣iis主控台的項目東西比較齊全)
開啟IIS服務
這樣一來在瀏覽器打上localhost就會出現大張圖片用多國語言問候大家
(IIS預設是80port,安裝apache要注意)
想運作的網頁放在
C:\Inetpub\wwwroot底下
點下開始 執行iis 就可以開啟IIS主控台
如果網頁不想放在wwwroot底下那麼可以去
iis主控台的ASP項目點兩下
將啟用上層路徑設定為true
接著左邊選單站台底下網頁點右鍵選新增虛擬目錄
設定別名以及實體路徑即可
接著等一陣子後出現選單 緊接著將Internet Information Service打勾
(懶惰的話就將裡面細項全勾吧!這樣iis主控台的項目東西比較齊全)
開啟IIS服務
這樣一來在瀏覽器打上localhost就會出現大張圖片用多國語言問候大家
(IIS預設是80port,安裝apache要注意)
想運作的網頁放在
C:\Inetpub\wwwroot底下
點下開始 執行iis 就可以開啟IIS主控台
如果網頁不想放在wwwroot底下那麼可以去
iis主控台的ASP項目點兩下
將啟用上層路徑設定為true
接著左邊選單站台底下網頁點右鍵選新增虛擬目錄
設定別名以及實體路徑即可
PHP開發環境設定
基本上用安裝包
就可以了
要注意的是port設定
如果系統已經安裝IIS那麼安裝apache時候務必將port換掉
可以去conf/httpd.comf更改以下兩行將80換掉
Listen 80
ServerName localhost:80
登入phpMyAdmin管理介面
http://localhost:4869/phpMyAdmin/
MySQL
匯入資料庫的最直接方法
將整個資料庫資料夾複製貼上到data底下就好
show variable like '%charac%'
顯示MySQL系統名稱有charac字眼的環境變數設定
就可以了
要注意的是port設定
如果系統已經安裝IIS那麼安裝apache時候務必將port換掉
可以去conf/httpd.comf更改以下兩行將80換掉
Listen 80
ServerName localhost:80
登入phpMyAdmin管理介面
http://localhost:4869/phpMyAdmin/
MySQL
匯入資料庫的最直接方法
將整個資料庫資料夾複製貼上到data底下就好
show variable like '%charac%'
顯示MySQL系統名稱有charac字眼的環境變數設定
2013年4月28日 星期日
所學大綱
在某單位所學的概要,紀錄這幾個月上的內容
心得:
1.感覺.NET上的比Java還多
2.平均兩周就上完一種課程而且每堂課份量都比大學課程還多
3.腦袋實在無法短時間裝下這麼多東西
命令列語法
安裝Java環境
打包壓縮、解壓縮
檔案與資料夾的權限設置與變更
ps、pstree
crontab
bsd-mailx城市
mplayer城市
bindq城市
Dns架設
Apache架設
組態檔設定
網站登入設定
子查詢
Insert Delete
select into
#臨時資料表
Delete、Truncate
建立資料庫
資料型別
建立資料圖表
檢視表
規則
預設值
使用者自訂資料物件
索引觀念
Batch批次執行
SQL變數宣告以及應用
條件判斷
if----else----
case.......then
迴圈
while
begin......end
建立執行程序
create procedure
Trigger
Cursor
Transation
鎖定(write lock read lock)
SQLserver使用者權限(連線登入、新增使用者、資料庫腳色、使用DB權限)
安全設定
網路設定
備份
切換使用者
權限腳色
資料復原
全文檢索
利用index做鎖定
字元編碼設定
storage engines特色
字元編碼原理
export to file
log 的設置與查看
type注意事項
MySQL資料型態
位元旗標
資料複寫
資料架構設計
sqlplus
注意事項:記憶體設定、考慮字元集、連線模式
net manager
建立DB 刪除DB by DB組態輔助程式
sequece物件
建立腳色
使用權限
建立表格與管理
索引組織表格
同義詞
資料庫連接
資料庫匯入匯出
Trigger
Sqlplus匯出
匯出(exp)匯入(imp)
資料倒朔
C#函數宣告 應用
C#迴圈 條件判斷
SqlDataSource
GridView
FormView
DataList
在網頁上列出DB 查詢DB
使用者控制項
Application
Session
cookie
Lab-BackAndForth
Lab-MasterPage
ADO.net
connection
DataAdapter
DateSet
BindingSource(Write XML,Read XML)
AddCustomerRow
利用sqlconnection sqlcommand sqldatareader物件、指令與資料庫繫結
並在dropdownlist與Gridview顯示資料
建Dataset繫結DB
GridView實作paging功能 更新Row
command物件介紹
參數輸入的使用與安全
sqldatasource介紹
資料圖表整理
多個資料集回傳與處理
多個command組合transaction
常用工具:
calender
multiview
view
wizard
資料驗證:
Required validator
compare
custotm
range
rangeexception
validationSummary
customvalidator
system.io
directory,directory info
file ,fileinfo
foreach
getfiles
StreamWriter
StreamReader
Image SQL
QueryString
從SQL傳資料倒Excel
ajax
updatepanel
scriptManager
Graphic:2D字型繪圖
pringing:pringDocumemt,print previewDialog
WCF:WcfTestClient,非同步呼叫
下載圖片from Web from Storage
刪除圖片
從網路讀取XML文件格式輸出到listbox
()==執行緒 新增 取消 lock 系統lock(windows phone?)
分散式WCF(one way ,duplicate,duplex SVC,WCF data service)
LINQ
Discovery探索服務位址埠號
DynamicHost
Event
.net程式安全
防止script攻擊,by HTML injection,server,Html encode
SQLinjection(入侵,防止)
cross site script(XSS)
使用圖片驗證做人公斷點防止xss跨站攻擊
user identify身分驗證
表單驗證
雜湊函數用法,Hashed(MD5,sha256)
金鑰加解密RSA 直接用內建API
servlet
標籤說明
處裡請求與產生回應
編碼問題
Get Post
部屬環境與開發環境
URL對應
JSP網頁執行過程
JSP網頁元素組成
MVC架構與存取資料庫
屬性物件
JavaBean,性質(編碼問題與處理)
JNDI:連到DB
存取DB 新增Data
MVC架構實作
expression language ${key}
EL屬性物件與對應的識別字串
EL的其他運算子
standard action
標準動作標記(setProperty getProperty include foreward param
JSTL功能
<C:foreach>具迴圈功能的標籤
<c:if>可判斷條件的標籤
session管理
cookie功能
URLRewriting
Session物件的寫法
Session API
Session物件建立刪除
servlet生命週期
servletconfig介面
servletContext介面,應用
servletContextListener介面
servlet起始參數與生命週期的init()
PHP
運算 型別(一些撇步)
rand
isset()
$_Get[]取得Html中的name變數
陣列不同寫法
foreach寫法
function寫法
檔案總管
檔案上傳與下載
檔案輸入輸出
連接資料庫 新增修改刪除換頁
變數宣告方式var x=0; 自動視為int
函式介紹 javascript物件導向
array的用法
事件觸發
jQuery初探
CSS ID選擇器 類別選擇器
常用CSS屬性
jQuery應用
slide window
DOM操作
Ajax
開jQuery外掛
jQueryUI
心得:
1.感覺.NET上的比Java還多
2.平均兩周就上完一種課程而且每堂課份量都比大學課程還多
3.腦袋實在無法短時間裝下這麼多東西
Linux
命令列語法
安裝Java環境
打包壓縮、解壓縮
檔案與資料夾的權限設置與變更
ps、pstree
crontab
bsd-mailx城市
mplayer城市
bindq城市
Dns架設
Apache架設
組態檔設定
網站登入設定
資料庫
MSSQL:
Join、Union語法子查詢
Insert Delete
select into
#臨時資料表
Delete、Truncate
建立資料庫
資料型別
建立資料圖表
檢視表
規則
預設值
使用者自訂資料物件
索引觀念
Batch批次執行
SQL變數宣告以及應用
條件判斷
if----else----
case.......then
迴圈
while
begin......end
建立執行程序
create procedure
Trigger
Cursor
Transation
鎖定(write lock read lock)
SQLserver使用者權限(連線登入、新增使用者、資料庫腳色、使用DB權限)
安全設定
網路設定
備份
切換使用者
權限腳色
資料復原
全文檢索
利用index做鎖定
MySQL:
管理MySql四種方式字元編碼設定
storage engines特色
字元編碼原理
export to file
log 的設置與查看
type注意事項
MySQL資料型態
位元旗標
資料複寫
資料架構設計
Oracle
全域資料庫與網域名稱的觀念sqlplus
注意事項:記憶體設定、考慮字元集、連線模式
net manager
建立DB 刪除DB by DB組態輔助程式
sequece物件
建立腳色
使用權限
建立表格與管理
索引組織表格
同義詞
資料庫連接
資料庫匯入匯出
Trigger
Sqlplus匯出
匯出(exp)匯入(imp)
資料倒朔
Asp.net(.Net programming)
Web伺服器控制項的功能(TextBox、DropDownLink.............)C#函數宣告 應用
C#迴圈 條件判斷
SqlDataSource
GridView
FormView
DataList
在網頁上列出DB 查詢DB
使用者控制項
Application
Session
cookie
Lab-BackAndForth
Lab-MasterPage
ADO.net
connection
DataAdapter
DateSet
BindingSource(Write XML,Read XML)
AddCustomerRow
利用sqlconnection sqlcommand sqldatareader物件、指令與資料庫繫結
並在dropdownlist與Gridview顯示資料
建Dataset繫結DB
GridView實作paging功能 更新Row
command物件介紹
參數輸入的使用與安全
sqldatasource介紹
資料圖表整理
多個資料集回傳與處理
多個command組合transaction
常用工具:
calender
multiview
view
wizard
資料驗證:
Required validator
compare
custotm
range
rangeexception
validationSummary
customvalidator
system.io
directory,directory info
file ,fileinfo
foreach
getfiles
StreamWriter
StreamReader
Image SQL
QueryString
從SQL傳資料倒Excel
ajax
updatepanel
scriptManager
Graphic:2D字型繪圖
pringing:pringDocumemt,print previewDialog
WCF:WcfTestClient,非同步呼叫
下載圖片from Web from Storage
刪除圖片
從網路讀取XML文件格式輸出到listbox
()==執行緒 新增 取消 lock 系統lock(windows phone?)
分散式WCF(one way ,duplicate,duplex SVC,WCF data service)
LINQ
Discovery探索服務位址埠號
DynamicHost
Event
.net程式安全
防止script攻擊,by HTML injection,server,Html encode
SQLinjection(入侵,防止)
cross site script(XSS)
使用圖片驗證做人公斷點防止xss跨站攻擊
user identify身分驗證
表單驗證
雜湊函數用法,Hashed(MD5,sha256)
金鑰加解密RSA 直接用內建API
JSP
servlet
標籤說明
處裡請求與產生回應
編碼問題
Get Post
部屬環境與開發環境
URL對應
JSP網頁執行過程
JSP網頁元素組成
MVC架構與存取資料庫
屬性物件
JavaBean,性質(編碼問題與處理)
JNDI:連到DB
存取DB 新增Data
MVC架構實作
expression language ${key}
EL屬性物件與對應的識別字串
EL的其他運算子
standard action
標準動作標記(setProperty getProperty include foreward param
JSTL功能
<C:foreach>具迴圈功能的標籤
<c:if>可判斷條件的標籤
session管理
cookie功能
URLRewriting
Session物件的寫法
Session API
Session物件建立刪除
servlet生命週期
servletconfig介面
servletContext介面,應用
servletContextListener介面
servlet起始參數與生命週期的init()
PHP
運算 型別(一些撇步)
rand
isset()
$_Get[]取得Html中的name變數
陣列不同寫法
foreach寫法
function寫法
檔案總管
檔案上傳與下載
檔案輸入輸出
連接資料庫 新增修改刪除換頁
Javascript
弱型別的程式語言變數宣告方式var x=0; 自動視為int
函式介紹 javascript物件導向
array的用法
事件觸發
jQuery初探
CSS
樣式、規則CSS ID選擇器 類別選擇器
常用CSS屬性
jQuery應用
slide window
DOM操作
Ajax
開jQuery外掛
jQueryUI
2013年4月27日 星期六
SCJP觀念筆記以及考取心得
考完之後跟網路上傳說的一樣
猛虎出閘跟教戰手冊考題背一背就可以上場了
約莫四十五題來自這兩本後面習題
其中四十題一模一樣
剩下五題只是小地方修改
感覺很像在考大學通識課的期末考
不過,準備OCJP過程感覺自己有在變強這才是最重要的
重點是過程而不是那張紙
過程補足自己忽略掉的小細節觀念
至少這樣拿這張證照不會心虛
在做練習題時候感覺很像中學考試一樣
書上教大觀念,考試一直考小細節
剛開始做題目時候挫折感真的很重
1.物件強制轉型
父類別物件不可assign給子類別變數(compile erro)
父類別物件不可強制轉型成為子類別物件(可以compile,但是會ClassCastException)
Thingy t = new Thingy();
//Thingy是父類別型態存放父類別物件
DeluxeThingy k= (DeluxeThingy)t;
//強制轉型成子類別型態的t裝不下原本父類別的物件所以發生classcastexcetpion
Thingy t = new DeluxeThingy();
//父類別型態存放子類別物件
DeluxeThingy k= (DeluxeThingy)t;
//雖然t放的是子類別物件,因為t的型態是父類別所以要強制轉型
2.
javac -d course java/Hello.java
這句話意思是編譯java/Hello.java檔案
並且將.class放在目錄course底下
3.
有個檔案Vermouth.class
放在D:Java\course\accessmode底下
檔案內容為
package course.accessmode;
public class Vermouth{ }
Java是專案跟目錄
在D任何資料夾打上底下這行指令,皆可以順利執行
java -classpath /Java course.accessmode.Vermouth
猛虎出閘跟教戰手冊考題背一背就可以上場了
約莫四十五題來自這兩本後面習題
其中四十題一模一樣
剩下五題只是小地方修改
感覺很像在考大學通識課的期末考
不過,準備OCJP過程感覺自己有在變強這才是最重要的
重點是過程而不是那張紙
過程補足自己忽略掉的小細節觀念
至少這樣拿這張證照不會心虛
在做練習題時候感覺很像中學考試一樣
書上教大觀念,考試一直考小細節
剛開始做題目時候挫折感真的很重
1.物件強制轉型
父類別物件不可assign給子類別變數(compile erro)
父類別物件不可強制轉型成為子類別物件(可以compile,但是會ClassCastException)
Thingy t = new Thingy();
//Thingy是父類別型態存放父類別物件
DeluxeThingy k= (DeluxeThingy)t;
//強制轉型成子類別型態的t裝不下原本父類別的物件所以發生classcastexcetpion
Thingy t = new DeluxeThingy();
//父類別型態存放子類別物件
DeluxeThingy k= (DeluxeThingy)t;
//雖然t放的是子類別物件,因為t的型態是父類別所以要強制轉型
2.
javac -d course java/Hello.java
這句話意思是編譯java/Hello.java檔案
並且將.class放在目錄course底下
3.
有個檔案Vermouth.class
放在D:Java\course\accessmode底下
檔案內容為
package course.accessmode;
public class Vermouth{ }
Java是專案跟目錄
在D任何資料夾打上底下這行指令,皆可以順利執行
java -classpath /Java course.accessmode.Vermouth
在D:Java目錄打上底下這行,可以順利執行
java course.accessmode.Vermouth
注意:不可以進入accessmode目錄(類別檔所在目錄)
執行java Vermouth
會出現NoClassFound,因為accessmode沒有course\accessmode資料夾
所以找不到
4.宣告介面後不可再宣告同名的類別
5.
short a=5;
int b =6;
a=b;//不給過
a=(short)b;//給過
6.在java裡所有基本型態資料的變數,傳遞到method均已傳值呼叫(pass by value)傳值呼叫不影響原來的變數值
(編譯器將變數值拷貝一份,再將這個拷貝的一份傳遞給method引數)
傳遞陣列或物件是以傳參照(pass by reference)方式傳參照是傳遞變數的參考位置,因此在method更改變數內容原先變數內容也會隨之更改
(編譯器將物件或陣列參考位址拷貝一份 傳給method引數)
此時有兩個變數操作到同一個實體
如果有上萬的元素的陣列,採用傳值呼叫傳遞引數
那麼編譯器勢必要複製上萬的元素的值,給引數
會降低效率
如果採用傳參照 只消複製一個參考位址給引數即可
7.多載:將功能相似的method 以相同名稱命名,編譯器會根據引數的個數與型態自動值星相對應的method。一個多載化的method 引數內容都是獨一無二的。因此如果有引數相同的method,就算傳回型態不同,編譯器也會搞不清楚該呼叫誰。compile error
8.
列舉型態本身也是類別一種
每個項目預設為public final static
當建立物件時MyColor color = MyColor.RED;
會呼叫建構子,而且是每個項目都呼叫一次
以下的例子會呼叫帶有參數的建構子
因此只寫下面這樣會error
必須加上帶有參數的建構子
public enum MyColor{ RED(0xff0000),GREEN(0x00ff00),BLUE(0x0000ff); }
4.宣告介面後不可再宣告同名的類別
5.
short a=5;
int b =6;
a=b;//不給過
a=(short)b;//給過
6.在java裡所有基本型態資料的變數,傳遞到method均已傳值呼叫(pass by value)傳值呼叫不影響原來的變數值
(編譯器將變數值拷貝一份,再將這個拷貝的一份傳遞給method引數)
傳遞陣列或物件是以傳參照(pass by reference)方式傳參照是傳遞變數的參考位置,因此在method更改變數內容原先變數內容也會隨之更改
(編譯器將物件或陣列參考位址拷貝一份 傳給method引數)
此時有兩個變數操作到同一個實體
如果有上萬的元素的陣列,採用傳值呼叫傳遞引數
那麼編譯器勢必要複製上萬的元素的值,給引數
會降低效率
如果採用傳參照 只消複製一個參考位址給引數即可
7.多載:將功能相似的method 以相同名稱命名,編譯器會根據引數的個數與型態自動值星相對應的method。一個多載化的method 引數內容都是獨一無二的。因此如果有引數相同的method,就算傳回型態不同,編譯器也會搞不清楚該呼叫誰。compile error
8.
列舉型態本身也是類別一種
每個項目預設為public final static
當建立物件時MyColor color = MyColor.RED;
會呼叫建構子,而且是每個項目都呼叫一次
以下的例子會呼叫帶有參數的建構子
因此只寫下面這樣會error
必須加上帶有參數的建構子
public enum MyColor{ RED(0xff0000),GREEN(0x00ff00),BLUE(0x0000ff); }
2013年4月24日 星期三
JSP
JSP是JavaServerPage的縮寫
Jsp的容器物件Tomcat位於Apache Software Foundation資料夾底下
bin存放tomcat服務的執行檔、相關設定
conf資料夾存放tomcat server相關設定
webapps放tomcat網站以及jsp部屬地方
自己手動安裝tomcat
去官網下載32bit版的tomcat
資料夾可隨意放
解壓縮之後
在bin資料夾底下的setclasspath.bat
rem Make sure prerequisite environment variables are set
加上
set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.7.0_07
set JRE_HOME=C:\Program Files (x86)\Java\jre7
告訴Tomcat,Java Jre安裝路徑
如果電腦有其他tomcat或IIS 那麼要注意port有沒有衝到
如果有就去conf資料夾下的server.xml更改port
將下面的8080改成其他port
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
2013年4月22日 星期一
播放音樂、背景音樂
MediaPlayer 不支援多個音樂同時播放
SoundPool 音樂容量只允許10M
private MediaPlayer player;
1.從內部儲存空間播放
player.setDataSource("/mnt/sdcard/slashwater.aif");
無法播放aif
// player.setDataSource("/mnt/sdcard/morzart.mid");
player.prepare();
player.start();
2.從網路播放
3.從res/raw播放
SoundPool 音樂容量只允許10M
private MediaPlayer player;
1.從內部儲存空間播放
player.setDataSource("/mnt/sdcard/slashwater.aif");
無法播放aif
// player.setDataSource("/mnt/sdcard/morzart.mid");
player.prepare();
player.start();
2.從網路播放
3.從res/raw播放
訂閱:
文章 (Atom)