好记性不如烂笔头,这里记录了一些细碎的知识点,方便随时查阅。
文章目录
- D
-
- DAO层
- F
-
- 反向代理
- J
-
- JAR包
- L
-
- LwIP
- M
-
- Maven
- N
-
- NFC
- Nginx
- P
-
- POM文件
- R
-
- RFID
D
DAO层
DAO(Data Access Object)层都是进行数据操作的类,是对于数据库中的数据做增删改查等操作的代码。将数据库的通用操作(增删,查询,创建,索引,更新等等)与应用逻辑剥离,形成单独的一层就是DAO。通过此方式,可以提高代码复用性,也容易维护或升级数据库访问相关的功能。
DAO层一般有接口定义和该接口的实现类,接口定义用于规范实现类,实现类一般用于实现具体的数据库操作。
DAO在实际后端或是本地程序实现时可以不实现,尤其是小规模的软件,其存在的意义就是为了提高复用性和功能可维护性,将数据访问与业务逻辑解耦合。
F
反向代理
引用自谈一谈正向代理和反向代理,详细内容可以见其文章。
一张图说明正向代理与反向代理。
比较点 | 正向代理 | 反向代理 |
---|---|---|
所处网络位置 | 客户机和目标主机之间 | 服务器端 |
代理对象 | 代理客户端,服务端不知道实际发起请求的客户端 | 代理服务端,客户端不知道实际提供服务的服务端 |
用途 | 为在防火墙内的局域网客户端提供访问Internet的途径 | 将防火墙后面的服务器提供给Internet访问 |
安全要求 | 允许客户端通过它访问任意网站并且隐藏客户端自身,因此必须采取安全措施以确保仅为授权的客户端提供服务 | 对外都是透明的,访问者并不知道自己访问的是哪一个代理 |
作用 | 1. 访问原来无法访问的资源 2. 用作缓存,加速访问速度 3. 对客户端访问授权,上网进行认证 4. 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息 |
1. 保护内网安全 2. 负载均衡 3. 缓存,减少服务器的压力 |
典型案例 | 个人翻墙 | Nginx |
J
JAR包
英文说明 引用
A file with the .JAR file extension is a Java Archive file used for storing Java programs and games in a single file. Some contain files that make them work as standalone apps and others hold program libraries for other programs to use.
JAR files are ZIP compressed and often store things like CLASS files, a manifest file, and application resources like images, sound clips, and security certificates. Since they can hold hundreds or even thousands of files in a compressed format, it’s easy to share and move JAR files.
三句话总结
- 和Java程序相关,一个压缩包涵盖所有相关文件方便网络下载或是共享给其他人
- 包内什么都可以包含,包括类文件,资源文件(图像,音视频,安全认证等等)
- 包内文件采用ZIP压缩格式,每个jar内具有一个内含文件的清单文件(manifest file)
L
LwIP
lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈,有无操作系统的支持都可以运行。LwIP实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用,它只需十几KB的RAM和40K左右的ROM就可以运行,这使LwIP协议栈适合在低端的嵌入式系统中使用。
参考链接
LwIP协议栈的学习与应用
M
Maven
一个构建工具,可以用来管理项目的软件包/程序库的依赖关系,以及项目的构建流程。最开始用于Java项目,后来也扩展到其他程序语言的项目。
与之类似的工具有Ant,Gradle。
具体可以参考
详解:Maven项目和其pom.xml文件
Maven 教程
N
NFC
NFC(Near Field Communication)中文翻译为近场通信,是一组可以实现近距离(cm级)非接触式通信的协议组,其包含两种模式
- 单向通信,例如读写器和数据存储标签
- 端对端的双向通信,例如文件/数据在两个设备之间互传
其工作在免费的13.56 MHz频段上(具体标准由ISO 18000-3规定)。其具体的协议和数据格式是基于已有的13.56 MHz的RFID HF标准(包括 ISO/IEC
14443和FeliCa标准),此外,还包括了ISO/IEC 18092标准以及一些由NFC Forum定义的标准。
一个典型应用是,NFC的标签具有唯一识别的UID号,以及数据储存空间(可以存储产品信息或是URL等),因此可以用于实现产品防伪,例如茅台的防伪系统即是基于NFC标签实现的。
NFC的主要供应商为NXP。
详细内容可以参见。
Near field communication
Nginx
以下内容引自Nginx 配置详解。
Nginx可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。
Nginx的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。
Nginx常用功能
- Http代理,反向代理
作为web服务器最常用的功能之一,尤其是反向代理。Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相对应的服务器解决方案,你就可以随心所欲的玩。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。 - 负载均衡
Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,就天马行空,只有你想不到的没有他做不到的啦,你可以参照所有的负载均衡算法,给他一一找出来做下实现。
Ip hash算法,对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。
- web缓存
Nginx可以对不同的文件做不同的缓存处理,配置灵活,并且支持FastCGI_Cache,主要用于对FastCGI的动态程序进行缓存。配合着第三方的ngx_cache_purge,对制定的URL缓存内容可以的进行增删管理。
P
POM文件
Maven工具中,用于配置工程依赖关系,构建顺序等的配置文件,时Maven的核心配置文件。详细可以参考
详解:Maven项目和其pom.xml文件
Maven 教程
R
RFID
射频识别(RFID)是 Radio Frequency Identification 的缩写。
其原理为阅读器与标签之间进行非接触式的数据通信,达到识别目标的目的。RFID 的应用非常广泛,目前典型应用有动物晶片、汽车晶片防盗器、门禁管制、停车场管制、生产线自动化、物料管理。
RFID有三大标准体系
- 日本T-engine的UID
- 美国的EPCGlobal
- ISO/IEC组织
RFID有四个工作频段
具体解释内容可以参见此链接
RFID标准体系
RFID标准简介
RFID