当前位置:网站首页>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
边栏推荐
- Leetcode skimming: binary tree 23 (mode in binary search tree)
- Realize a simple version of array by yourself from
- 基于NeRF的三维内容生成
- NPM instal reports agent or network problems
- Object. Simple implementation of assign()
- @What is the difference between resource and @autowired?
- What if does not match your user account appears when submitting the code?
- leetcode刷题:二叉树25(二叉搜索树的最近公共祖先)
- Creation and assignment of graphic objects
- xshell评估期已过怎么办
猜你喜欢
[pytorch practice] write poetry with RNN
Go语言学习笔记-结构体(Struct)
Leetcode brush question: binary tree 24 (the nearest common ancestor of binary tree)
基于NeRF的三维内容生成
Master formula. (used to calculate the time complexity of recursion.)
聊聊Redis缓存4种集群方案、及优缺点对比
关于 appium 启动 app 后闪退的问题 - (已解决)
HZOJ #240. Graphic printing IV
Polymorphism, final, etc
Session
随机推荐
Cookie
How does MySQL create, delete, and view indexes?
HZOJ #235. Recursive implementation of exponential enumeration
Day21 multithreading
Unity 构建错误:当前上下文中不存在名称“EditorUtility”
高瓴投的澳斯康生物冲刺科创板:年营收4.5亿 丢掉与康希诺合作
Steps of building SSM framework
Polymorphism, final, etc
事务的七种传播行为
基于NeRF的三维内容生成
HZOJ #240. 图形打印四
ICLR 2022 | pre training language model based on anti self attention mechanism
ACL 2022 | small sample ner of sequence annotation: dual tower Bert model integrating tag semantics
Leetcode question brushing: binary tree 26 (insertion operation in binary search tree)
[learn micro services from 0] [02] move from single application to service
在字符串中查找id值MySQL
Sample chapter of "uncover the secrets of asp.net core 6 framework" [200 pages /5 chapters]
关于 appium 启动 app 后闪退的问题 - (已解决)
Day-20 file operation, recursive copy, serialization
ip2long之后有什么好处?