因為想要能夠提供一個 API,能夠回應資料庫當中哪些資料包含了指定的 key
因此查了一些資料,目前是打算用 MySQL 的 FULL TEXT SEARCH 的功能。
要使用 MySQL 的全文檢索,資料表型態必須是 MyISAM,同時要做全文檢索的欄位型態要是 FULLTEXT
然後對該欄位建立 FULLTEXT 類型的索引。(可參考官方文件 [1] 的說明)
使用時可以使用 MATCH (...) AGAINST (...) 敘述來進行全文檢索。
MATCH (...) 裡面指定的是要做全文檢索的欄位名稱,AGAINST (...) 裡面則是指定要搜尋的關鍵句。
它回應的會是一個數字,表示的是欄位內容跟關鍵句的相似度,如果完全不相似就會回傳 0。
Software entities (class, modules, functions, etc.) should be open for extension, but closed for modification. Junior programmers create simple solutions to simple problems. Senior programmers create complex solutions to complex problems. Great programmers find simple solutions to complex problems. 註1:本部落格的範例程式碼在 2015 年以前的文章中,大多是以全型空白做縮排。如需服用,請自行用文字編輯器的取代功能把全型空白取代成半型空白。
- Bertrand Meyer
- Charles Connell
註2:本部落格的內容授權請參閱部落格底部的授權宣告。
2012年8月29日 星期三
2012年8月28日 星期二
2012年8月27日 星期一
Must qualify the allocation with an enclosing instance of type
今天在寫某個程式時遇到的問題~
eclipse 回報「Must qualify the allocation with an enclosing instance of type」這個錯誤訊息
稍微查了一下,是因為我使用了 inner class,然後又在 static 的函式中嘗試使用 inner class 造成的
eclipse 回報「Must qualify the allocation with an enclosing instance of type」這個錯誤訊息
稍微查了一下,是因為我使用了 inner class,然後又在 static 的函式中嘗試使用 inner class 造成的
2012年8月24日 星期五
清除 StringBuilder 的內容
在 Java 的 StringBuilder 中,並沒有提供 clear() 之類的方法可以清除內容
網路上可以查到兩種方法去清除內容,一個是用 delete(),另一個則是 setLength()
官方文件中似乎沒有提到哪種比較好
根據 [1] 的討論,應該是 setLength() 效率會比 delete() 稍高。
網路上可以查到兩種方法去清除內容,一個是用 delete(),另一個則是 setLength()
官方文件中似乎沒有提到哪種比較好
根據 [1] 的討論,應該是 setLength() 效率會比 delete() 稍高。
2012年8月23日 星期四
JavaScript 驗證數字
要驗證某個變數的值是不是數字,在 JavaScript 當中好像用 Regular Expression 結果會怪怪的
我試了好幾種不同的 Regular Expression,但用 match() 時都有些奇怪的問題
經由同事的協助,發現 [1] 當中 Joel Coehoorn 的回應~
我試了好幾種不同的 Regular Expression,但用 match() 時都有些奇怪的問題
經由同事的協助,發現 [1] 當中 Joel Coehoorn 的回應~
2012年8月22日 星期三
ArrayList 與 LinkedList 的效率比較 (未完待續)
網路上能夠獲得的資料大概都是說 ArrayList 擅長隨機讀取
而 LinkedList 擅長隨機插入和刪除資料~
不過目前根據我自己跑出來的測試結果,刪除我還沒測試
但插入尾端跟隨機插入,在我的測試當中都是 ArrayList 大勝......囧"
原因不明,不知道是不是我的測試方法有問題~
而 LinkedList 擅長隨機插入和刪除資料~
不過目前根據我自己跑出來的測試結果,刪除我還沒測試
但插入尾端跟隨機插入,在我的測試當中都是 ArrayList 大勝......囧"
原因不明,不知道是不是我的測試方法有問題~
2012年8月20日 星期一
在 Java 中使用 SQLite Database
SQLite Database 是輕量級的關聯式資料庫
在過去要使用關聯式資料庫,都必須架設像是 MySQL、SQL Server 等等的大型資料庫系統
對於某些會被拿來拿去的移動式程式來說相當不合用
雖然有微軟的 Access 可以達到移動式資料庫的目的,但是 Access 本身並沒有索引的設計
效率不佳,能夠承受的同時使用人數也很少~
現在有了 SQLite Database,相對於 Access 提昇了不少效能
但在 Java 中並沒有內建 SQLite 的 JDBC driver,而 SQLite 官方也沒有提供
因此網路上可以找到很多各自發展的 SQLite JDBC driver。
這裡使用的 driver 是 Xerial 的 JDBC driver [1]
使用原因...看起來他更新比較頻繁,而且用的人好像比較多 XD
在過去要使用關聯式資料庫,都必須架設像是 MySQL、SQL Server 等等的大型資料庫系統
對於某些會被拿來拿去的移動式程式來說相當不合用
雖然有微軟的 Access 可以達到移動式資料庫的目的,但是 Access 本身並沒有索引的設計
效率不佳,能夠承受的同時使用人數也很少~
現在有了 SQLite Database,相對於 Access 提昇了不少效能
但在 Java 中並沒有內建 SQLite 的 JDBC driver,而 SQLite 官方也沒有提供
因此網路上可以找到很多各自發展的 SQLite JDBC driver。
這裡使用的 driver 是 Xerial 的 JDBC driver [1]
使用原因...看起來他更新比較頻繁,而且用的人好像比較多 XD
2012年8月16日 星期四
(暫存) 在一個 App 當中呼叫另一個 App 的函式
最近可能要接下同事負責的 Android 的程式碼,看到裡面拆成兩個專案
一個是前端的 UI,另一個是後端處理的 API
所以先記錄一下呼叫別的 App 的 API 的方法~
1、How to call one android application from another android application
一個是前端的 UI,另一個是後端處理的 API
所以先記錄一下呼叫別的 App 的 API 的方法~
1、How to call one android application from another android application
在 Java 驗證 Public IP 的方法
首先要知道的是,依據 RPC 1918 的規範,Private IP 的範圍如下
- 10.0.0.0 - 10.255.255.255 (10/8 prefix)
- 172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
- 192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
2012年8月15日 星期三
java.io.IOException: Server returned HTTP response code: 401 for URL
在測試 HTTP 行為時,出現這個錯誤訊息
「java.io.IOException: Server returned HTTP response code: 401 for URL: ....」
參考 [1] 之後發現是因為網站需要使用基本的驗證(即在網址上面串 http://id:password@domain/ 這種形式)
因此需要加入標頭 Authentication 來讓伺服器做驗證。
「java.io.IOException: Server returned HTTP response code: 401 for URL: ....」
參考 [1] 之後發現是因為網站需要使用基本的驗證(即在網址上面串 http://id:password@domain/ 這種形式)
因此需要加入標頭 Authentication 來讓伺服器做驗證。
訂閱:
文章 (Atom)