当前位置:网站首页>Day26 IP query items
Day26 IP query items
2022-07-07 12:56:00 【Xiaobai shelter】
IP Online inquiry platform of ownership
One 、 Project introduction
1. background
according to IP Get the position , Tag
Do big data analysis , For example, Taobao Recommendation provides high-quality data
www.ip.cn etc. Inquire about IP
2. demand
IP analysis Attribution information , Lookup completed in milliseconds
IP Address base , The public network is open
IANA : international organization , Responsible for public network IP Maintenance Distribution
3. Technology stack
Eclipse ,JavaSE Object oriented in 、IO flow 、 Dichotomy algorithm 、Base64 code 、 Tool class encapsulation
4. The goal is
By developing IP Address attribution query platform , We need to be right about JavaSE The comprehensive technology has been improved , Enhance actual combat capability . After studying this project, we should have the following abilities :
1 Object oriented programming
2 Tool class encapsulation and usage writing
3 file IO flow
4 string manipulation
5 Binary search
6 IP Different forms of address use
Two 、 Main idea
1 Read the content in the program
2 analysis IP character string , Structured processing
3 Wrapper utility class
4 Interface API
Enter the reference : IP
The ginseng : Place of ownership
3、 ... and 、 Main idea
Application development projects
C/S structure , Need to have a specific client , such as QQ, WeChat ,eclipse
Web Development projects
B/S Structure first . An online system accessed through a web page , For example, various official websites , Various management systems, etc
Standard R & D process of small and medium-sized projects
1 Requirements overview - Requirements describe : Explain why you did this project
according to IP Get the place of belonging
2 Demand analysis :
According to the demand Overview , Consider it from a technical point of view , Is it feasible
Three aspects : 1 Input , 2 Output , 3 Necessary materials ( Address base )
Input : Given an arbitrary legal IP Address
Output : return IP Address library corresponding to address
3 Development steps
1 Read IP Address base
2 Resolve the information of the address Library , Structured processing
3 Save the object to list in
4 Do a binary search , Increase of efficiency
5 An interface that provides external access
6 test
4 Detail development and risk control
5 BUG Repair , tuning , Standardization
6 The official launch
7 Project summary - Project resumption
Four 、 Code development
1 Mindless reading files
public class TestFileIO_01 {
public static void main(String args[]){
try{
//1 File path
String ipLibrayPath="ip_location_relation.txt";
String encoding="UTF-8";
//2 Node stream docking file
FileInputStream fis=new FileInputStream(ipLibrayPath);
//3 Convert to character stream and specify character encoding
Reader reader=new InputStreamReader(fis,encoding);
//4 Buffering streams improves efficiency
BufferedReader br=new BufferedReader(reader);
//5 Read
String line=null;
while((line=br.readLine())!=null){
System.out.println(line);
}
//6 close
br.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
2… Text file reading tool class
Abstract tool class
1 By coding , Realize input and output
2 Abstract input and output , Form method input and output parameters
3 Implement and test the tool class code
2.1 Tool class code
public class FileOperatorUtil {
public static List<String> getLineList(String filePath, String encoding) {
// TODO Auto-generated method stub
return null;
}
}
2.2 Tool class test
public class TestFileIO_02 {
public static void main(String args[]){
//1. File path
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();
}
}
}
- structured
structured : When we know the format of the first data , Then the data format of the second has been determined , There are rules to follow , Convenient operation
Based on unstructured data , Find the corresponding rule , And create corresponding entity classes for encapsulation , Convert to structured data - Abstract entity classes and save data
4.1 Entity class
边栏推荐
- What if the xshell evaluation period has expired
- 有什么类方法或是函数可以查看某个项目的Laravel版本的?
- 《ASP.NET Core 6框架揭秘》样章[200页/5章]
- Day-20 file operation, recursive copy, serialization
- PHP调用纯真IP数据库返回具体地址
- ACL 2022 | small sample ner of sequence annotation: dual tower Bert model integrating tag semantics
- 2022 polymerization process test question simulation test question bank and online simulation test
- Layer pop-up layer closing problem
- .Net下極限生產力之efcore分錶分庫全自動化遷移CodeFirst
- 认养一头牛冲刺A股:拟募资18.5亿 徐晓波持股近40%
猜你喜欢
Cookie
leetcode刷题:二叉树22(二叉搜索树的最小绝对差)
[pytorch practice] write poetry with RNN
Adopt a cow to sprint A shares: it plans to raise 1.85 billion yuan, and Xu Xiaobo holds nearly 40%
[statistical learning method] learning notes - logistic regression and maximum entropy model
基于NeRF的三维内容生成
2022 polymerization process test question simulation test question bank and online simulation test
通过Keil如何查看MCU的RAM与ROM使用情况
Leetcode skimming: binary tree 21 (verifying binary search tree)
leetcode刷题:二叉树20(二叉搜索树中的搜索)
随机推荐
Unity 构建错误:当前上下文中不存在名称“EditorUtility”
Master公式。(用于计算递归的时间复杂度。)
高瓴投的澳斯康生物冲刺科创板:年营收4.5亿 丢掉与康希诺合作
在字符串中查找id值MySQL
HZOJ #236. 递归实现组合型枚举
基于NeRF的三维内容生成
2022 practice questions and mock examination of the third batch of Guangdong Provincial Safety Officer a certificate (main person in charge)
用mysql查询某字段是否有索引
Design and implementation of communication protocol
How does MySQL create, delete, and view indexes?
visual stdio 2017关于opencv4.1的环境配置
[learn wechat from 0] [00] Course Overview
Leetcode skimming: binary tree 25 (the nearest common ancestor of binary search tree)
Day22 deadlock, thread communication, singleton mode
《ASP.NET Core 6框架揭秘》样章[200页/5章]
【从 0 开始学微服务】【00】课程概述
Sorting, dichotomy
[binary tree] delete points to form a forest
【二叉树】删点成林
About IPSec