当前位置:网站首页>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
边栏推荐
猜你喜欢
如何将 @Transactional 事务注解运用到炉火纯青?
Cookie
About IPSec
AUTOCAD——大于180度的角度标注、CAD直径符号怎么输入?
ICLR 2022 | pre training language model based on anti self attention mechanism
[statistical learning method] learning notes - logistic regression and maximum entropy model
Multi row and multi column flex layout
Several ways to clear floating
.Net下极限生产力之efcore分表分库全自动化迁移CodeFirst
[statistical learning method] learning notes - support vector machine (I)
随机推荐
Image pixel read / write operation
【无标题】
详解ThinkPHP支持的URL模式有四种普通模式、PATHINFO、REWRITE和兼容模式
测试下摘要
2022-07-07 Daily: Ian Goodfellow, the inventor of Gan, officially joined deepmind
HZOJ #240. 图形打印四
HZOJ #240. Graphic printing IV
test
2022A特种设备相关管理(锅炉压力容器压力管道)模拟考试题库模拟考试平台操作
谷歌浏览器如何重置?谷歌浏览器恢复默认设置?
环境配置篇
Leetcode brush question: binary tree 24 (the nearest common ancestor of binary tree)
Leetcode skimming: binary tree 20 (search in binary search tree)
[pytorch practice] use pytorch to realize image style migration based on neural network
3D content generation based on nerf
ACL 2022 | small sample ner of sequence annotation: dual tower Bert model integrating tag semantics
【从 0 开始学微服务】【02】从单体应用走向服务化
Connect to blog method, overload, recursion
opencv的四个函数
leetcode刷题:二叉树26(二叉搜索树中的插入操作)