- C# Winform弹出确认窗口
richhsx
C#
C#Winform弹出确认窗口privatevoidbtn_Click(objectsender,EventArgse){MessageBoxButtonsmess=MessageBoxButtons.OKCancel;DialogResultd=MessageBox.Show("确定要关闭吗?","提示",mess);if(d==DialogResult.OK){MessageBox.Show(
- C#工程中输出类型转换以及程序运行后控制台窗口不退出设置
nanke_yh
C#c#输出类型切换控制台窗口暂停
本想调试一个小的代码,无意间发现的两个C#工程中的小技巧点,在此记录一下。一、窗口不退出调试的代码主要是时间信息的转换与输出,为此新建了控制台应用工程,可以将调试信息打印出来。但执行后发现直接结束,控制台信息都没能看到就退出了。我们知道在C/C++中遇到这种情况一般是加上:getchar();或者system("pause");为了防止C#控制台窗口执行后闪退,需要在代码最后加上一句代码:Cons
- SQL Server 等待数据库引擎恢复句柄失败
y523648
数据库服务器运维
用管理员身份运行PowerShell,模拟扇区大小为4KbNew-ItemProperty-Path"HKLM:\SYSTEM\CurrentControlSet\Services\stornvme\Parameters\Device"-Name"ForcedPhysicalSectorSizeInBytes"-PropertyTypeMultiString-Force-Value"*4095"验
- 模板函数使用is_same的注意事项
Ethan Wilson
C++c++
在模板函数中使用is_same判断类型的话,编译器会实例化所有路径,即使某些路径在运行时不会被执行。这意味着编译器会检查所有的分支,确保它们都是有效的。例如如果存在从string转为int的路径,即便T为string时不会进入该路径,依旧会编译失败。templatevoidf(){if(is_same::value){Ta=1;}else{Ts="23";//errorC2440:“初始化”:无法
- python udsoncan 详解
车载testing
智能汽车测试python
pythonudsoncan详解udsoncan是一个Python库,用于实现汽车统一诊断服务(UnifiedDiagnosticServices,UDS)协议。UDS是一种用于汽车诊断的标准化通信协议,它定义了一系列的服务和流程,用于ECU(电子控制单元)的诊断和通信。udsoncan库支持通过CAN(ControllerAreaNetwork)和DoIP(DiagnosticoverIP)等不
- 创建线程的常见方式
HansenPole825
java开发语言
一、继承Thread类继承Thread类重写run()方法。publicclassmyThreadextendsThread{@Overridepublicvoidrun(){System.out.println("线程启动了");}publicstaticvoidmain(String[]args){myThreadmyThread=newmyThread();myThread.start();
- python-can + can-isotp + udsoncan 实现基础的UDS诊断功能;附代码
dujunqiu
pythonpython开发语言
1:功能说明在网上搜了一下python-can+udsoncan的使用说明,发现都是很笼统的介绍,没有详细的使用说明;下面根据我自己的使用经验,来给大家介绍一下;2:源代码介绍这里主要修改的配置是“bus1=can.interface.Bus(interface=‘canalystii’,channel=0,bitrate=500000)”这一行代码,需要根据实际使用的CAN盒进行配置;详细的代码
- 【企业管理】公司权力结构
flyair_China
产品经理
一、权力设计体系核心框架1.1表面权力体系(FormalPowerSystem)定义:通过组织架构、岗位职责、制度流程等显性规则定义的权力分配。构成要素:要素作用示例组织架构图明确汇报关系与层级董事会→CEO→部门总监→经理岗位说明书界定职责与权限边界《CFO岗位职责:资金审批权≤500万》管理制度流程化权力行使规则《采购审批流程》《人事任免制度》会议决策机制集体行权程序董事会决议需≥2/3董事通
- Android笔记(十五)ContentProvider源码浅析
jametang25
andorid
ContentProvider作为四大组件之一,由于业务上用到的地方不多,目前业务是系统界面,属于系统应用,最适合使用ContentProvider来进行少量数据存储,我们业务中涉及到的Settings.system和Settings.Secure等数据库,就是通过ContentProvider来封装、用ContentResolver来访问的//通过ContentResolver来访问Settin
- Flutter基础(项目创建)
aaiier
flutter
一、使用命令行创建项目1.确认Flutter环境正常要保证FlutterSDK已经正确安装,并且环境变量配置无误。可以通过执行以下命令来验证:flutterdoctor要保证所有检查项都显示绿色对勾,要是有问题,可按照提示进行修复。2.创建新项目打开终端,执行下面的命令来创建一个新的Flutter应用:fluttercreatemy_flutter_appcdmy_flutter_app这里的my
- SQL Server 中 GO 的作用
Lauren_Lu
golang数据库oracle
CREATEDATABASEMyDatabase;USEMyDatabase;GO--定义局部变量DECLARE@s_novarchar(8),@s_avgradenumeric(4,1);--对局部变量赋值SETs_no='20170208';SET@s_avgrade=95.0;--使用局部变量UPDATEstudentSETs_avgrade=@s_avgradeWHEREs_no=@s_n
- 基于级联深度学习算法在双参数MRI中检测前列腺病变的评估| 文献速递-AI辅助的放射影像疾病诊断
有Li
人工智能深度学习算法
Title题目EvaluationofaCascadedDeepLearning–basedAlgorithmforProstateLesionDetectionatBiparametricMRI基于级联深度学习算法在双参数MRI中检测前列腺病变的评估Background背景MultiparametricMRI(mpMRI)improvesprostatecancer(PCa)detectionc
- Flutter Network Info Plus 鸿蒙适配要点总结
harmonyos
FlutterNetworkInfoPlus鸿蒙适配要点总结概述NetworkInfoPlus是一个流行的Flutter插件,用于获取设备的网络信息,包括Wi-Fi名称、BSSID、IP地址等。本文将详细介绍该插件在鸿蒙(HarmonyOS)平台的适配实现,包括功能介绍、技术实现和注意事项。创建ohos模块fluttercreate.--orgdev.fluttercommunity.plus--
- windows电脑蓝屏解决方法(亲测有效)
dc爱傲雪和技术
开发工具与技巧windows
如果不是硬件问题,打开终端尝试以下命令sfc/scannowDISM/Online/Cleanup-Image/RestoreHealth
- window显示驱动开发—处理错误
程序员王马
windows图形显示驱动开发驱动开发数据库
用户模式显示驱动程序实现的Direct3D版本10函数通常具有返回参数类型的VOID。此规则的主要例外是CalcPrivateObjTypeSize类型函数(例如CalcPrivateResourceSize函数)。此类型的函数返回一个SIZE_T参数类型,该参数类型指示驱动程序通过CreateObjType类型函数创建特定对象类型所需的内存区域的大小(例如CreateResource(D3D10
- Ubuntu 22/24开启 root 远程登录
运维阿峰
ubuntuubuntulinux运维
$sudosu-root//切换为root用户$passwd//设置root用户密码#ubuntu22.04$sed-i"/#PermitRootLogin/aPermitRootLoginyes"/etc/ssh/sshd_config\&&systemctlrestartsshd#ubuntu24.04$sed-i"/#PermitRootLogin/aPermitRootLoginyes"/
- 企业级 Java 应用灰度发布设计方案与实践全解析
大手你不懂
JavaJava项目实战微服务-云原生java后端云原生微服务kubernetesistio
引言在当今互联网产品快速迭代的背景下,如何在保证服务稳定性的同时,快速验证新功能的有效性,成为了技术团队面临的重要挑战。灰度发布(CanaryRelease)作为一种重要的发布策略,能够将新版本逐步推向部分用户,在控制风险的同时收集真实用户反馈,已成为企业级Java应用的标配能力。本文将深入探讨灰度发布的核心概念、主流设计方案,并结合行业最佳实践给出具体实现建议。一、灰度发布核心概念1.1灰度发布
- Python实例题:基于 Flask 的博客系统
狐凄
实例python开发语言
目录Python实例题题目要求:解题思路:代码实现:1.base.html2.index.html3.post.html4.create_post.html5.login.html6.register.htmlPython实例题题目基于Flask的博客系统要求:使用Flask框架构建一个简单的博客系统。实现用户认证(注册、登录、注销)。支持博客文章的创建、编辑、删除和查看。使用SQLite数据库存
- WebRTC(十一):RTCP和SRTCP
却道天凉_好个秋
WebRTCwebrtc
RTCP基本概念RTCP是RTP的控制协议,用于监控媒体传输质量和参与者状态,并与RTP一起工作。RTP用于传输媒体数据(如音视频),RTCP则用于传输控制信息。RTCP通常和RTP同时使用,并通过不同端口(通常RTP使用偶数端口,RTCP使用其下一个奇数端口)。主要用于:传输质量反馈:丢包率、时延、抖动等统计信息。媒体源身份识别:包括CNAME(CanonicalName)标识每个参与者。带宽控
- 深入学习 GORM:记录插入与数据检索
Code季风
GORM从入门到精通学习数据库golang后端
引言在使用GORM进行数据库操作时,掌握如何高效地插入记录和检索数据是非常重要的。本文将详细介绍通过Create方法插入记录、批量插入、以及各种数据检索方法,并结合实际示例进行讲解。一、通过Create方法插入记录GORM提供了简单易用的Create方法来插入单条记录。以下是一个基本示例:typeUserstruct{IDuintNamestring}varuser=User{Name:"jinz
- COLT_CMDB_linux_userInfo_20250508.sh修复历史脚本输出指标信息中userName与输出信息不一致问题
#!/bin/bash#IT_BEGIN#IT_TYPE=3#ITSYSTEM_LINUX_AGENTUSERDISCOVER|discovery.user[disc]#原型指标#IT_RULESYSTEM_LINUX_AGENTUSERGROUPID|groupId[{#USERNAME}]#IT_RULESYSTEM_LINUX_AGENTUSERHOME|userHome[{#USERNAM
- H5液态玻璃背景效果实现
木木黄木木
html5cssjavascript
H5液态玻璃背景效果实现教程在现代网页设计中,动态和交互式的背景效果可以大大提升用户体验。本教程将详细介绍如何使用HTML5技术实现一个美观、流畅的液态玻璃背景效果,无论你是初学者还是有经验的开发者,都能轻松掌握。效果预览本教程提供了两种实现方式:基础版本:使用Canvas2DAPI实现,适合初学者,兼容性好高级版本:使用WebGL和GLSL着色器实现,效果更加逼真,但复杂度更高两个版本都具有以下
- c++17标准std::filesystem常用函数
C++ 老炮儿的技术栈
c++算法开发语言c语言数据库visualstudiogit
std::filesystem是C++17引入的标准库,用于处理文件系统操作,提供了跨平台的文件和目录操作能力。以下是一些常用的函数和类:一、路径操作(std::filesystem::path)cpp运行#includenamespacefs=std::filesystem;//路径构造与分解fs::pathp="C:/data/file.txt";p.parent_path();//返回目录路
- kingbase人大金仓导入导出和 minio迁移文件(mc 命令)记录
代码萌新知
知识点学习数据库linuxwindows
ksql导出:1.进入kingbase的bin目录,存在ksql文件2.sys_dump-h127.0.0.1-p54321-Usystem-dkingbase-tisp_admin.enterprise_info>C:\test.sqlsys_dump-hip地址-p端口号-U登录数据库账号名-d模式-t数据库名.数据库表>导出文件路径回车后会让输入口令输入数据库账号密码即可ksql导入1.进入
- AD20学习笔记——BOM表输出
Fz@
EDA学习学习笔记
BOM表输出脚本链接GitHub上-lianlian33/InteractiveHtmlBomForAD网盘链接链接:https://pan.baidu.com/s/1uGpwDyWKNgzghY5EH1Aj8A?pwd=72tx提取码:72tx1、下载文件并解压2、复制文件路径3、将脚本导入AD①点击设置中的ScriptingSystem中的GlobalProjects,选择从文件夹安装。②粘贴
- MYSQL中常见DDL语句
为你奋斗!
数据库mysqlsql
DDL:对数据库以及数据库内部的对象进行创建、删除、修改等操作的语言,DDL语句更多的是由数据库管理员(DBA)使用,开发人员一般很少使用。一、数据库:1、查看数据库列表:showdatabases;2、创建数据库:createdatabase[ifnotexists]数据库名;3、显示已创建的库创建时的创建语句:showcreatedatabases数据库名4、删除数据库:dropdatabas
- 设计模式 (四)
抽象工厂模式(AbstractFactoryPattern)详解一、核心概念抽象工厂模式是一种创建型设计模式,其核心思想是提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。它允许客户端通过抽象接口创建一组产品,而不必关心具体实现类。二、核心角色抽象工厂(AbstractFactory):定义创建一组产品的抽象方法(如createProductA()、createProductB(
- MongoDB 与关系型数据库的核心区别(面试向详解)
真IT布道者
数据库mongodb面试
一、数据模型差异1.1结构化vs半结构化关系型数据库:严格遵循二维表结构,需要预定义Schema(字段名、数据类型、约束等)CREATETABLEusers(idINTPRIMARYKEY,nameVARCHAR(50)NOTNULL,ageINTCHECK(age>0)MongoDB:采用BSON文档模型(类似JSON),支持动态Schema//同一个集合中可以存在不同结构的文档db.users
- 【LangChain】langchain.chains.create_sql_query_chain() 函数:基于自然语言生成 SQL 查询的链(Chain)
彬彬侠
LangChainlangchainchainscreate_sql_quersql_databasesql
langchain.chains.create_sql_query_chain函数是LangChain库中的一个函数,用于创建基于自然语言生成SQL查询的链(Chain),结合语言模型(LLM)和数据库上下文生成可执行的SQL语句。本文基于LangChain0.3.x,详细介绍create_sql_query_chain的定义、参数、方法和典型场景,并提供一个独立示例,展示如何使用create_s
- Definition of a Stakeholder
workflower
软件工程开发语言软件需求需求分析敏捷流程
利益相关者定义Theterm“stakeholder”hasalreadybeenusedwithoutgivingadefinition:Stakeholder:Anindividual,groupofpeople,organisationorotherentitythathasadirectorindirectinterest(orstake)inasystem.Astakeholder’si
- 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
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,