day26 IP查询项目
一、項目介紹
1.背景
根據IP得到位置,加標簽
進行大數據分析,比如淘寶推薦等提供優質數據
www.ip.cn 等 查詢IP
2.需求
IP 分析 歸屬地信息 , 查找在毫秒內完成
IP地址庫,公網都是開放的
IANA : 國際組織,負責公網IP維護分發
3.技術棧
Eclipse ,JavaSE中面向對象、IO流、二分法算法、Base64編碼、工具類封裝
4.目標
通過開發IP地址歸屬地查詢平臺,我們需要對JavaSE綜合技術有所提升,增強實戰能力。學習完該項目我們應該具備如下能力:
1 面向對象程序設計
2 工具類封裝與使用寫法
3 文件IO流
4 字符串處理
5 二分法查找
6 IP地址的不同形式的使用
二、主要思路
1 程序中讀取內容
2 解析IP字符串,進行結構化處理
3 封裝工具類
4 接口API
入參 : IP
出參 : 歸屬地
三、主要思路
應用開發類項目
C/S結構,需要有特定的客戶端,比如QQ,微信,eclipse
Web開發類項目
B/S結構為主.通過網頁形式訪問的在線系統,比如各類官網,各類管理系統等
中小型項目研發標準流程
1 需求概述-需求描述:說清楚你為什么做這個項目
根據IP獲取歸屬地
2 需求分析 :
根據需求概述,用技術角度考慮一下,是否可行
三方面 : 1 輸入 , 2 輸出 , 3 必備物料(地址庫)
輸入 : 給定一個任意的合法IP地址
輸出 : 返回IP地址對應的地址庫
3 開發步驟
1 讀取IP地址庫
2 解析地址庫的信息,進行結構化處理
3 將對象保存到list中
4 進行二分法查找,提高效率
5 對外提供訪問的接口
6 測試
4 細節開發與風險控制
5 BUG修復,調優,標準化
6 正式上線
7 項目總結-項目復盤
四、代碼開發
1 無腦讀取文件
2… 文本文件讀取工具類
抽象工具類
1 通過編碼,實現輸入與輸出
2 抽象輸入與輸出,形成方法入參和出參
3 工具類代碼實現并測試
2.1 工具類編碼
2.2 工具類測試
public class TestFileIO_02 {public static void main(String args[]){//1.文件路徑String ipLibrayPath="ip_location_relation.txt";String encoding="UTF-8";try{List<String> lineList=FileOperatorUtile.getLineList(ipLibrayPath,encoding);for(String string:lineList){System.out.println(string);}}catch(IOException e){e.printStackTrace();}} }結構化 : 當我們知道第一個數據的格式的時候,那么第二個的數據格式就已經確定了,有規律可循,方便操作
根據非結構化數據,找到對應的規則,并創建對應的實體類進行封裝,轉換為結構化數據
4.1 實體類
總結
以上是生活随笔為你收集整理的day26 IP查询项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: stm32f103不同系列之间的代码移植
- 下一篇: SAP OData $batch pro