- 线上图书借阅小程序源码介绍
wx_cxc2848698918
小程序微信小程序
由ThinkPHP、FastAdmin以及UniApp共同打造的线上图书借阅小程序源码,从技术架构来看,ThinkPHP作为后端框架,提供了稳定且高效的服务器端支持,保障数据的存储与处理。FastAdmin则助力后台管理系统的搭建,让管理员能够轻松对图书信息、用户数据等进行管理。而UniApp的运用,使得小程序能够在多平台流畅运行,扩大用户覆盖范围。功能方面,小程序十分丰富。用户能便捷地浏览海量图
- unity mono 编译(转)
FoxGameY
Unity4.3版本的mono。mono:https://github.com/Unity-Technologies/mono/tree/unity-4.3cygwin:X8632的,安装的时候要选择autoconfmakelibtools由于cygwin的make在处理windowsdos路径有些问题,下载make替换掉cygwin下的makendk-r8:配置cygwin:[html]view
- UGUI Super ScrollView 插件
何盼思Kit
UGUISuperScrollView插件UGUISuperScrollView.zip项目地址:https://gitcode.com/open-source-toolkit/a55fe简介本仓库提供了一个强大的UGUISuperScrollView插件资源文件,包含两个版本:UGUISuperScrollView2.4.3UGUISuperScrollView2.5.3UGUISuperScr
- 探索无限可能:Unity3D UGUI Super ScrollView v2.4.4 插件推荐
咎尉裕Lilah
探索无限可能:Unity3DUGUISuperScrollViewv2.4.4插件推荐SuperScrollviewForUGUI-main.zip项目地址:https://gitcode.com/open-source-toolkit/960e9项目介绍在现代游戏和应用开发中,高效处理大量列表项是一个常见且重要的需求。无论是展示排行榜、商品列表,还是其他需要滚动显示的内容,开发者都希望能够在性能
- LeetCode-343. Integer Break [C++][Java]
贫道绝缘子
LeetCode刷题怪leetcode算法职场和发展
LeetCode-343.IntegerBreakLevelupyourcodingskillsandquicklylandajob.Thisisthebestplacetoexpandyourknowledgeandgetpreparedforyournextinterview.https://leetcode.com/problems/integer-break/题目描述Givenaninte
- 嘻游电玩三端客户端部署实战:PC + Android + iOS 环境全覆盖教程
264玫瑰资源库
androidios
本篇文章将针对“网狐系列嘻游电玩组件”的三端客户端(PC端、安卓端、iOS端)进行详细部署实操讲解。文章将以实测部署为核心,提供资源结构说明、平台适配调整、打包配置、常见问题修复,并辅以必要的关键配置代码。一、客户端资源结构概览解压客户端目录结构如下:/xiyou_client├──PC/#Windows客户端(含.exe主程序)├──Android/#安卓源码(含res、src、build.gr
- 执行python3 get-pip.py报错:ERROR: Could not find a version that satisfies the requirement pip ERROR: No
jinli1771
python
执行python3get-pip.py报错:CouldnotfetchURLhttps://pypi.org/simple/pip/:Therewasaproblemconfirmingthesslcertificate:HTTPSConnectionPool(host=‘pypi.org’,port=443):Maxretriesexceededwithurl:/simple/pip/(Caus
- 【2025最新面试八股常问知识点】HTTP1.0,HTTP1.1,HTTP2.0,HTTP3.0,HTTP的进化之路。
尤物程序猿
面试http职场和发展
HTTP超文本传输协议(英文:HyperTextTransferProtocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP或者HTTPS协议请求的资源由统一资源标识符(UniformResourceIdentifiers,URI)来标识。HTTP协议是以ASCII码传输,基于请求与响应模式的
- Spark Core
露卡_
spark大数据分布式
第四节RDD相关概念Spark计算框架为了能够进行高并发和高吞吐的数据处理,封装了三大数据结构,用于处理不同的应用场景。三大数据结构分别是:RDD:弹性分布式数据集累加器:分布式共享只写变量广播变量:分布式共享只读变量一.什么是RDDRDD(ResilientDistributedDataset)叫做弹性分布式数据集,是Spark中最基本的数据处理模型。代码中是一个抽象类,它代表一个弹性的、不可变
- UID和GID的区别
Exhausted、
Linux服务器linux运维
UID(用户标识符)和GID(组标识符)是Linux/Unix系统中用于管理用户和组权限的核心机制,它们的区别主要体现在作用对象和用途上:目录1.定义与作用对象2.主要用途3.系统保留范围4.用户与组的关联5.实际应用示例文件权限命令操作6.总结1.定义与作用对象UID(UserIDentifier)唯一标识系统中的用户,每个用户对应一个数字ID。例如:root用户的UID是0,普通用户(如ali
- Pycharm(三):梯度下降法
海天一色y
pycharm
梯度下降算法(GradientDescentAlgorithm)是深度学习中常用的更新权重的方法,它采用的贪心法的思想,每次都往函数值下降最快的方向去更新,梯度方向是增长最快的方向,负梯度方向是下降最快的方向。一、梯度的概念1.方向导数若函数f(x,y,z)在点P(x,y,z)处的沿方向l(方向角为α,β,γ)
- STAT4602 Multivariate Data Analysis
后端
STAT4602MultivariateDataAnalysisAssignment2HandinsolutionsforALLquestionsbyApril23(Wednesday),2025,11:59pmThefileIRIS.DATgivesadatasetcontaining4measurementsfor3speciesofiris.Inthedataset,eachrowcorre
- 【MySQL学习】视图 (Views)
A林玖
MySQL学习数据库mysql
目录一、定义二、基本语法1.创建视图2.查询视图3.修改视图4.删除视图5.查看视图定义方法一:使用SHOWCREATEVIEW方法二:查询INFORMATION_SCHEMA三、使用场景场景一:简化复杂查询场景二:限制数据访问(只允许用户访问部分数据)场景三:数据聚合四、视图的权限管理1.基本概念(1)用户A-创建用户(2)角色A-创建角色B-授予角色权限C-撤销角色权限D-将角色分配给用户E-
- 分布式计算实验三:分布式日志采集分析和异常检测系统
Alive~o.0
西电CS作业Linux分布式kafkaspringboot微服务echarts
个人博客:https://alive0103.github.io/代码在GitHub:https://github.com/Alive0103/XDU-CS-lab能点个Star就更好了,欢迎来逛逛哇~❣代码在这https://www.alipan.com/s/d32riFafCrb分布式日志采集分析和异常检测系统项目概述本项目实现了一个基于MOM(Message-OrientedMiddlewa
- SpringCloud - OpenFeign组件集成【孤篇集全网】
Tryingwa
SpringCloudspringcloudspring后端
目录简要概述1.引入依赖与初始化Maven/Gradle依赖启用注解2.定义Feign客户端接口3.核心注解与原理4.配置项与高级特性4.1超时与重试4.2负载均衡与熔断4.3拦截器与日志5.降级与容错5.1简单降级:Hystrix(fallback)【1】引入依赖【2】yml配置【3】启动类添加注解【4】示例5.2高级降级:Resilience4j(fallbackFactory)【1】引入依赖
- 1)强化学习入门
SLAM必须dunk
强化学习机器学习
#网页连接_需要认真学习#【强化学习】40分钟透彻理解理论+实践+改进;一气呵成,践行科技美学!_哔哩哔哩_bilibili初探强化学习GitHub-XinJingHao/DRL-Pytorch:Clean,Robust,andUnifiedPyTorchimplementationofpopularDeepReinforcementLearning(DRL)algorithms(Q-learni
- 基于 EFISH-SBC-RK3588 的无人机通信云端数据处理模块方案
电鱼智能
无人机边缘计算人工智能嵌入式硬件linux网络
一、硬件架构设计核心计算单元(EFISH-SBC-RK3588)异构计算能力:搭载8核ARM架构(4×Cortex-A76@2.4GHz+4×Cortex-A55@1.8GHz),集成6TOPSNPU与Mali-G610GPU,支持多任务并行处理(AI推理、视频编码、协议解析)。通信接口扩展:PCIe3.0:外接5G模组(如QuectelRM500Q),支持SA/NSA双模组网,上
- OpenAI Assistants API:如何使用代码或无需代码创建您自己的AI助手
营赢盈英
AIpythonaiAI助手Assistantsopenai
It'snoweasierthanevertocreateyourownAIAssistantthatcanhandlealotofcomputingtasksforyou.SeehowyoucangetstartedwiththeOpenAIAIAssistantAPI.现在比以往任何时候都更容易创建您自己的AI助手,它可以为您处理许多计算任务。了解如何使用OpenAIAI助手API开始操作。N
- 5.3.1 MvvmLight以及CommunityToolkit.Mvvm介绍
qq_34047402
C#MvvmLight
MvvmLight、CommunityToolkit.Mvvm是开源包,他们为实现MVVM(Model-View-ViewModel)模式提供了一系列实用的特性和工具,能帮助开发者更高效地构建WPF、UWP、MAUI等应用程序。本文介绍如下:一、使用(旧)的MvvmLight库其特点如下,要继承的基类是ViewModelBase;且使用RaisePropertyChanged()publiccla
- 【Python爬虫实战】深入解锁 DrissionPage:ChromiumPage 自动化网页操作指南
易辰君
python爬虫爬虫python
个人主页:易辰君-CSDN博客系列专栏:https://blog.csdn.net/2401_86688088/category_12797772.html目录前言一、ChromiumPage基础操作(一)初始化Drission和ChromiumPage对象(二)打开浏览器并加载页面(三)设置浏览器启动参数(四)加载等待设置二、ChromiumPage元素操作(一)基本元素定位方法(二)常用的选择
- 5G/6G通信设备中的盲埋孔技术突破
lboyj
网络
在5G/6G通信技术的快速发展中,高频信号传输、设备小型化与高密度集成已成为核心需求。盲埋孔(Blind/BuriedVia)技术作为高密度互连(HDI)的关键工艺,正在重新定义通信设备的设计边界。猎板PCB作为国内高端PCB制造的标杆企业,通过材料创新、工艺优化与智能化生产,为5G基站、毫米波雷达、卫星通信等领域提供了高可靠性的解决方案。本文将从技术挑战、创新实践与未来趋势三个维度,解析盲埋孔技
- pnpm monoreop 打包时 node_modules 内部包 typescript 不能推导出类型报错
YuShiYue
typescriptvue.jsjavascriptpnpm
报错信息如下:../../packages/antdv/components/pro-table/src/form-render.vue:405:1-errorTS2742:Theinferredtypeof'default'cannotbenamedwithoutareferenceto'.pnpm/scroll-into-view-if-needed@2.2.31/node_modules/s
- 一键打车/代驾小程序源码app+司机入住uniapp+thinkphp
qq_35738963
uni-app
一键打车/代驾小程序源码app+司机入住uniapp+thinkphp系统技术架构开发环境:PHP7.2+mysql5.7后端:thinkphp前端:uniapp后台管理:PC端司机端:安卓端苹果端乘客端:安卓端苹果端小程序端功能简单介绍:一、乘客端:打车/代驾:1、当前地理位置定位,2、目的地填写,当前位置到目的地路程计算,到达时间预估,全程费用预估;3、等待周围司机接单;4、司机接单后到指定目
- spark环境搭建
jiuweiC
spark
1.Java安装https://moonce.blog.csdn.net/article/details/1233374862.mvn环境搭建https://blog.csdn.net/qq_31635851/article/details/123338562
- ubuntu 常用命令备忘
iteye_12340
linuxUbuntu配置管理项目管理vimMySQL
本文摘自:http://www.acnis.com/modules.php?name=ArticlE&file=article&sid=214&mode=thread&order=0&thold=0自己用来做个记录……此文描述了自ubuntu5.10版本之后的系统所代命令参数,dapper,edgy以及7.04版本中可能会有一些变动,于此文不同,如有疑问可以发邮件给isher或访问wiki.ubu
- Dapper的数据库操作备忘
OK_boom
csharp数据库
Dapper是很好的C#生态的ORM工具获取单条记录varrow=conn.QueryFirstOrDefault("select'abc'ascc");if(row==null)return;stringpriField=row.cc;//直接访问字段根据动态的字段名获取值,则需要先转为字典接口vardict=(IDictionary)row;//动态访问字段object_f=dict[appF
- 探秘Sloth:高效安卓原生库模糊测试的神器
邹澜鹤Gardener
探秘Sloth:高效安卓原生库模糊测试的神器SlothSlothisacoverageguidedfuzzingframeworkforfuzzingAndroidNativelibrariesthatmakesuseoflibFuzzerandQEMUuser-modeemulation项目地址:https://gitcode.com/gh_mirrors/sloth1/Sloth在安全研究和软
- QT之QGraphicsScene详细介绍
小小怪同学の
qt开发语言
此篇文章来源于自己在完成一个图片编辑软件而遇到的三个类:QGraphicsScene、QGraphicsPixmapItem、QGraphicsView。此篇文章先介绍QGraphicsScene,另外两个类在其他文章,大家可查看博主其他文章。本人能力有限,大家有任何问题可评论区评论,共同学习,共同进步。一、QGraphicsItem介绍QGraphicsScene是QtGUI库中的一个核心类,它
- vue3 给全局(每个实例) 添加公共方法
Z_ One Dream
vuevue
众所周知,vue3,现在不会暴露Vue对象给你用了!那么该如何给它的每个子组件实例添加公共的方法呢?比如我们需要给每个实例添加$axios方法vue2添加的方法很简单importVuefrom'vue'importaxiosfrom'axios'Vue.prototype.$axios=axiosvue3添加公共方法的三种方式第一种:使用app.config.globalProperties添加i
- docker 配置代理
时空无限
docker
说明:该方法仅对docker程序本身拉取镜像的时候有效,对命令行无效。docker配置代理有2中方法1.Daemonconfiguration直接在/etc/docker/daemon.json文件中配置{"proxies":{"http-proxy":"http://proxy.example.com:3128","https-proxy":"https://proxy.example.com:
- JVM StackMapTable 属性的作用及理解
lijingyao8206
jvm字节码Class文件StackMapTable
在Java 6版本之后JVM引入了栈图(Stack Map Table)概念。为了提高验证过程的效率,在字节码规范中添加了Stack Map Table属性,以下简称栈图,其方法的code属性中存储了局部变量和操作数的类型验证以及字节码的偏移量。也就是一个method需要且仅对应一个Stack Map Table。在Java 7版
- 回调函数调用方法
百合不是茶
java
最近在看大神写的代码时,.发现其中使用了很多的回调 ,以前只是在学习的时候经常用到 ,现在写个笔记 记录一下
代码很简单:
MainDemo :调用方法 得到方法的返回结果
- [时间机器]制造时间机器需要一些材料
comsci
制造
根据我的计算和推测,要完全实现制造一台时间机器,需要某些我们这个世界不存在的物质
和材料...
甚至可以这样说,这种材料和物质,我们在反应堆中也无法获得......
- 开口埋怨不如闭口做事
邓集海
邓集海 做人 做事 工作
“开口埋怨,不如闭口做事。”不是名人名言,而是一个普通父亲对儿子的训导。但是,因为这句训导,这位普通父亲却造就了一个名人儿子。这位普通父亲造就的名人儿子,叫张明正。 张明正出身贫寒,读书时成绩差,常挨老师批评。高中毕业,张明正连普通大学的分数线都没上。高考成绩出来后,平时开口怨这怨那的张明正,不从自身找原因,而是不停地埋怨自己家庭条件不好、埋怨父母没有给他创造良好的学习环境。
- jQuery插件开发全解析,类级别与对象级别开发
IT独行者
jquery开发插件 函数
jQuery插件的开发包括两种: 一种是类级别的插件开发,即给
jQuery添加新的全局函数,相当于给
jQuery类本身添加方法。
jQuery的全局函数就是属于
jQuery命名空间的函数,另一种是对象级别的插件开发,即给
jQuery对象添加方法。下面就两种函数的开发做详细的说明。
1
、类级别的插件开发 类级别的插件开发最直接的理解就是给jQuer
- Rome解析Rss
413277409
Rome解析Rss
import java.net.URL;
import java.util.List;
import org.junit.Test;
import com.sun.syndication.feed.synd.SyndCategory;
import com.sun.syndication.feed.synd.S
- RSA加密解密
无量
加密解密rsa
RSA加密解密代码
代码有待整理
package com.tongbanjie.commons.util;
import java.security.Key;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerat
- linux 软件安装遇到的问题
aichenglong
linux遇到的问题ftp
1 ftp配置中遇到的问题
500 OOPS: cannot change directory
出现该问题的原因:是SELinux安装机制的问题.只要disable SELinux就可以了
修改方法:1 修改/etc/selinux/config 中SELINUX=disabled
2 source /etc
- 面试心得
alafqq
面试
最近面试了好几家公司。记录下;
支付宝,面试我的人胖胖的,看着人挺好的;博彦外包的职位,面试失败;
阿里金融,面试官人也挺和善,只不过我让他吐血了。。。
由于印象比较深,记录下;
1,自我介绍
2,说下八种基本类型;(算上string。楼主才答了3种,哈哈,string其实不是基本类型,是引用类型)
3,什么是包装类,包装类的优点;
4,平时看过什么书?NND,什么书都没看过。。照样
- java的多态性探讨
百合不是茶
java
java的多态性是指main方法在调用属性的时候类可以对这一属性做出反应的情况
//package 1;
class A{
public void test(){
System.out.println("A");
}
}
class D extends A{
public void test(){
S
- 网络编程基础篇之JavaScript-学习笔记
bijian1013
JavaScript
1.documentWrite
<html>
<head>
<script language="JavaScript">
document.write("这是电脑网络学校");
document.close();
</script>
</h
- 探索JUnit4扩展:深入Rule
bijian1013
JUnitRule单元测试
本文将进一步探究Rule的应用,展示如何使用Rule来替代@BeforeClass,@AfterClass,@Before和@After的功能。
在上一篇中提到,可以使用Rule替代现有的大部分Runner扩展,而且也不提倡对Runner中的withBefores(),withAfte
- [CSS]CSS浮动十五条规则
bit1129
css
这些浮动规则,主要是参考CSS权威指南关于浮动规则的总结,然后添加一些简单的例子以验证和理解这些规则。
1. 所有的页面元素都可以浮动 2. 一个元素浮动后,会成为块级元素,比如<span>,a, strong等都会变成块级元素 3.一个元素左浮动,会向最近的块级父元素的左上角移动,直到浮动元素的左外边界碰到块级父元素的左内边界;如果这个块级父元素已经有浮动元素停靠了
- 【Kafka六】Kafka Producer和Consumer多Broker、多Partition场景
bit1129
partition
0.Kafka服务器配置
3个broker
1个topic,6个partition,副本因子是2
2个consumer,每个consumer三个线程并发读取
1. Producer
package kafka.examples.multibrokers.producers;
import java.util.Properties;
import java.util.
- zabbix_agentd.conf配置文件详解
ronin47
zabbix 配置文件
Aliaskey的别名,例如 Alias=ttlsa.userid:vfs.file.regexp[/etc/passwd,^ttlsa:.:([0-9]+),,,,\1], 或者ttlsa的用户ID。你可以使用key:vfs.file.regexp[/etc/passwd,^ttlsa:.: ([0-9]+),,,,\1],也可以使用ttlsa.userid。备注: 别名不能重复,但是可以有多个
- java--19.用矩阵求Fibonacci数列的第N项
bylijinnan
fibonacci
参考了网上的思路,写了个Java版的:
public class Fibonacci {
final static int[] A={1,1,1,0};
public static void main(String[] args) {
int n=7;
for(int i=0;i<=n;i++){
int f=fibonac
- Netty源码学习-LengthFieldBasedFrameDecoder
bylijinnan
javanetty
先看看LengthFieldBasedFrameDecoder的官方API
http://docs.jboss.org/netty/3.1/api/org/jboss/netty/handler/codec/frame/LengthFieldBasedFrameDecoder.html
API举例说明了LengthFieldBasedFrameDecoder的解析机制,如下:
实
- AES加密解密
chicony
加密解密
AES加解密算法,使用Base64做转码以及辅助加密:
package com.wintv.common;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decod
- 文件编码格式转换
ctrain
编码格式
package com.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
- mysql 在linux客户端插入数据中文乱码
daizj
mysql中文乱码
1、查看系统客户端,数据库,连接层的编码
查看方法: http://daizj.iteye.com/blog/2174993
进入mysql,通过如下命令查看数据库编码方式: mysql> show variables like 'character_set_%'; +--------------------------+------
- 好代码是廉价的代码
dcj3sjt126com
程序员读书
长久以来我一直主张:好代码是廉价的代码。
当我跟做开发的同事说出这话时,他们的第一反应是一种惊愕,然后是将近一个星期的嘲笑,把它当作一个笑话来讲。 当他们走近看我的表情、知道我是认真的时,才收敛一点。
当最初的惊愕消退后,他们会用一些这样的话来反驳: “好代码不廉价,好代码是采用经过数十年计算机科学研究和积累得出的最佳实践设计模式和方法论建立起来的精心制作的程序代码。”
我只
- Android网络请求库——android-async-http
dcj3sjt126com
android
在iOS开发中有大名鼎鼎的ASIHttpRequest库,用来处理网络请求操作,今天要介绍的是一个在Android上同样强大的网络请求库android-async-http,目前非常火的应用Instagram和Pinterest的Android版就是用的这个网络请求库。这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,通
- ORACLE 复习笔记之SQL语句的优化
eksliang
SQL优化Oracle sql语句优化SQL语句的优化
转载请出自出处:http://eksliang.iteye.com/blog/2097999
SQL语句的优化总结如下
sql语句的优化可以按照如下六个步骤进行:
合理使用索引
避免或者简化排序
消除对大表的扫描
避免复杂的通配符匹配
调整子查询的性能
EXISTS和IN运算符
下面我就按照上面这六个步骤分别进行总结:
- 浅析:Android 嵌套滑动机制(NestedScrolling)
gg163
android移动开发滑动机制嵌套
谷歌在发布安卓 Lollipop版本之后,为了更好的用户体验,Google为Android的滑动机制提供了NestedScrolling特性
NestedScrolling的特性可以体现在哪里呢?<!--[if !supportLineBreakNewLine]--><!--[endif]-->
比如你使用了Toolbar,下面一个ScrollView,向上滚
- 使用hovertree菜单作为后台导航
hvt
JavaScriptjquery.nethovertreeasp.net
hovertree是一个jquery菜单插件,官方网址:http://keleyi.com/jq/hovertree/ ,可以登录该网址体验效果。
0.1.3版本:http://keleyi.com/jq/hovertree/demo/demo.0.1.3.htm
hovertree插件包含文件:
http://keleyi.com/jq/hovertree/css
- SVG 教程 (二)矩形
天梯梦
svg
SVG <rect> SVG Shapes
SVG有一些预定义的形状元素,可被开发者使用和操作:
矩形 <rect>
圆形 <circle>
椭圆 <ellipse>
线 <line>
折线 <polyline>
多边形 <polygon>
路径 <path>
- 一个简单的队列
luyulong
java数据结构队列
public class MyQueue {
private long[] arr;
private int front;
private int end;
// 有效数据的大小
private int elements;
public MyQueue() {
arr = new long[10];
elements = 0;
front
- 基础数据结构和算法九:Binary Search Tree
sunwinner
Algorithm
A binary search tree (BST) is a binary tree where each node has a Comparable key (and an associated value) and satisfies the restriction that the key in any node is larger than the keys in all
- 项目出现的一些问题和体会
Steven-Walker
DAOWebservlet
第一篇博客不知道要写点什么,就先来点近阶段的感悟吧。
这几天学了servlet和数据库等知识,就参照老方的视频写了一个简单的增删改查的,完成了最简单的一些功能,使用了三层架构。
dao层完成的是对数据库具体的功能实现,service层调用了dao层的实现方法,具体对servlet提供支持。
&
- 高手问答:Java老A带你全面提升Java单兵作战能力!
ITeye管理员
java
本期特邀《Java特种兵》作者:谢宇,CSDN论坛ID: xieyuooo 针对JAVA问题给予大家解答,欢迎网友积极提问,与专家一起讨论!
作者简介:
淘宝网资深Java工程师,CSDN超人气博主,人称“胖哥”。
CSDN博客地址:
http://blog.csdn.net/xieyuooo
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,