- 10.1go常用包json
chxii
go语言基础golangjson开发语言
序列化(Marshal):将Go的数据结构转换为JSON字符串。反序列化(Unmarshal):将JSON字符串转换为Go的数据结构。使用json.Marshal进行序列化json.Marshal函数可以将Go的数据结构转换为JSON格式的字节切片([]byte)packagemainimport("encoding/json""fmt""log")//定义一个结构体typePersonstruc
- go语言转换json字符串为json数据
绛洞花主敏明
golangjson开发语言
在Go语言中,可以使用标准库encoding/json中的json.Unmarshal函数将JSON字符串转换为JSON数据(通常是Go中的结构体或map类型)。以下是一个简单的示例:示例代码packagemainimport("encoding/json""fmt""log")//定义一个结构体,用于映射JSON数据typePersonstruct{Namestring`json:"name"`
- Go语言中使用viper绑定结构体和yaml文件信息时,标签的使用
tianjiajie404
go后端开发服务器golang后端
在Go中使用Viper将YAML配置绑定到结构体时,主要依赖`mapstructure`标签(而非`json`或`yaml`标签)实现字段名映射。---###1.**基础绑定方法**使用`viper.Unmarshal(&config)`或`viper.UnmarshalKey("key",&subConfig)`进行绑定:```gopackagemainimport("fmt""github.c
- C#中的MarshalByRefObject
CoderIsArt
C#c#开发语言
MarshalByRefObject是.NET框架中的一个类,用于支持在支持远程处理的应用程序中跨应用程序域边界访问对象。当一个对象继承自MarshalByRefObject时,意味着该对象可以通过引用进行封送(marshaling),从而允许它在不同的应用程序域中使用,而不需要被复制。主要特性:远程处理(Remoting):派生自MarshalByRefObject的对象可以被远程访问。客户端应
- 2025年02月13日Github流行趋势
油泼辣子多加
GitHub每日趋势github
项目名称:data-formulator项目地址url:https://github.com/microsoft/data-formulator项目语言:TypeScript历史star数:5387今日star数:1897项目维护者:danmarshall,Chenglong-MS,apps/dependabot,microsoftopensource,terrchen项目简介:使用AI创建丰富的
- C# 封送和远程编程介绍
来恩1003
C#从入门到精通c#javamicrosoft
.NET学习资料.NET学习资料.NET学习资料在C#编程领域中,封送(Marshaling)和远程编程(RemoteProgramming)是两个极为重要的概念,它们为开发者提供了与不同环境、不同进程或不同机器上的代码进行交互的能力,极大地拓展了应用程序的功能和适用范围。一、C#封送(一)定义与作用封送是指在托管代码(如C#编写的代码,由公共语言运行时CLR管理)和非托管代码(如C、C++编写的
- 【CEF】《CEF 桌面软件开发实战》笔记-汇总
江湖人称菠萝包
【CEF】相关c++前端javascript
一、入门知识基于CEF开发桌面应用有其独特的配置要求,比如运行库必须配置为MTD/MT,而不能是MD/MDd等。CEF是ChromiumEmbeddedFramework的简写,顾名思义,这是一个把Chromium嵌入其他应用的框架。官网地址是:https://bitbucket.org/chromiumembedded/cef,这个开源项目是MarshallGreenblatt在2008年创立的
- 报错——使用cxf时报错:org.apache.cxf.interceptor.Fault: Marshalling Error: XXX is not known to this context
JAVA小摩托不堵车
报错javawebservice接口
文章目录1、场景:2、报错内容:3、解决1、场景:使用定时任务定时调用多个webservice接口,应用cxf框架。2、报错内容:org.apache.cxf.interceptor.Fault:MarshallingError:com.admin.bag.webservice.server.Messageisnotknowntothiscontextatorg.apache.cxf.jaxb.J
- 《CPython Internals》阅读笔记:p151-p151
python
《CPythonInternals》学习第9天,p151-p1510总结,总计1页。一、技术总结无。二、英语总结(生词:1)1.marshal(1)marshalingMarshallingormarshaling(USspelling)istheprocessoftransformingthememoryrepresentationofanobjectintoadataformsuitablef
- Go 语言 JSON 与 Cache 库 调研与选型
gojson缓存
JSON基本上从以下两种角度进行分析性能方面,如是否使用反射;是否支持Unmarshal到map或struct,未涉及灵活性与扩展性方面,下面报告中只考虑最简单的反序列化,不会提及每个库的灵活性,如提供的一些定制化抽取的API;相关库GO1.14标准库JSON大量使用反射获取值,首先go的反射本身性能较差,其次频繁分配对象,也会带来内存分配和GC的开销;valyala/fastjsonstar:1
- C# GDI+发生一般性错误(A generic error occurred in GDI+))
黄同学real
C#c#microsoft服务器
C#GDI+发生一般性错误(AgenericerroroccurredinGDI+))C#GDI+发生一般性错误(AgenericerroroccurredinGDI+))解决思路:因为.netGDI+是对底层的封装。所以可以尝试用Marshal.GetLastWin32Error();函数获得底层错误代码。try{image.Save(filename,System.Drawing.Imagin
- CLR via C# 读书笔记 6-2 不同AppDomain之间的通信
xuefeiliuyuxiu
面试准备C#
原文:http://www.cnblogs.com/PurpleTide/archive/2011/01/06/1927643.html跨AppDomain通信有两种方式1.MarshalByreference:传递引用2.MarshalByValue:把需要传递的对象通过序列化反序列化的方式传递过去(值拷贝)只有标记为可序列化Serializable的类才能通过MarshalByValue的方式
- Flask-RESTFul 之 RESTFul 的响应处理
Jasonakeke
Flask框架flaskrestfulpython
Flask-RESTFul之RESTFul的响应处理使用`Resource`类的`get()`,`post()`,`put()`,`delete()`等方法直接返回使用`abort`函数使用`make_response`自定义响应序列化数据使用`fields`和`marshal_with`使用自定义的序列化函数嵌套序列化使用`marshal`函数在使用Flask-RESTful开发RESTfulA
- 【C#】【EXCEL】Bumblebee/Classes/Marshal2.cs
hmywillstronger
c#excel开发语言
Bumblebee/Classes/Marshal2.cs这个流程图将描述Marshal2.GetActiveObject方法的执行过程。成功/Success失败/Failure开始/Start调用GetActiveObject/CallGetActiveObject尝试CLSIDFromProgIDEx/TryCLSIDFromProgIDEx获取CLSID/GetCLSID调用CLSIDFro
- 【C#】【SAP2000】读取SAP2000中所有Frame对象的应力比到Grasshopper中
hmywillstronger
服务器linux数据库
if(build==true){//连接到正在运行的SAP2000//使用System.Runtime.InteropServices.Marshal.GetActiveObject方法获取正在运行的SAP2000实例cOAPImySapObject=(cOAPI)System.Runtime.InteropServices.Marshal.GetActiveObject("CSI.SAP2000
- Go json Marshal & UnMarshal 的一点小 trick
yeshan333
golangjson开发语言
在编写WebService等涉及数据序列化和反序列化的场景,对于JSON类型的数据,在Go中我们经常会使用到encoding/jsonPackage。最近微有所感,小水一篇omitemptyJSON数据的UnMarshal我们经常会配合StructTags使用,让Struct的Filed与JSON数据的指定property绑定。如果要序列化为GoStruct的JSON数据对应的Fields相关的J
- mavlink协议详解_MAVLink通讯协议在STM32上移植,并自定义协议
马卡斯·扬
mavlink协议详解
mavlink全称是(MicroAirVehicleMessageMarshallingLibrary),从名字可以看出,mavlink是主要面向飞控的一种开源通信协议。因此它默认定义了很多适用于飞控的信息格式,比如heartbeat(心跳信号,每隔一两秒主从通信一次,以验证通信是否正常)。首先要说明的是,mavlink作为一个非常可靠(至少两字节校验)、支持类型丰富(messageID、comp
- 塑造偏见的3种心理成因
Guuoyy
是什么让我们对世界产生偏见?美国气象协会前主席马歇尔·谢波德(J.MarshallShepherd)在TEDxUGA演讲中分享了他对于人类偏见的看法。在他看来,偏见的形成主要有三种心理成因,分别是证实偏差、邓宁-克鲁格效应和认知失调。第一是证实偏差。我们会拼命寻找支持自己观点的证据,忽略对自己观点不利的证据。第二是邓宁-克鲁格效应(Dunning-KrugerEffect),指的是能力欠缺的人会有
- Android序列化接口Parcelable异常:java.lang.RuntimeException: Parcel android.os.Parcel: Unmarshalling unkn...
亲爱的Joe
Parcelabel序列化后写入内存,因此比Serializable更高效,但是其序列化和反序列化都需要开发者主动实现。实现原理十分简单:按照被序列化的对象的属性顺序依次写入内存指定区,然后反序列化时按照同样的顺序进行读取。关于异常java.lang.RuntimeException:Parcelandroid.os.Parcel:Unmarshallingunknowntypecode。主要有两
- 老爸老妈浪漫史How I Met Your Mother第1季第10集台词
kuailexuewaiyu
英文中文NowIrememberalotofstoriesfrombackinthedays现在我还记得很多beforeImetyourmother.遇见你妈妈之前的事情Butthere'sonestoryIdon'tremember.但有一个故事我是不记得的UncleMarshallstillreferstoMarshall叔叔一直itas"thepineappleincident."把它称为菠
- 【Web】vulhub Fastjson反序列化漏洞复现学习笔记
Z3r4y
javajava反序列化fastjsonmarshalsecwebctfvulhub
目录1.2.24RCECVE-2017-18349复现流程原理分析1.2.47RCECNVD-2019-22238复现流程原理分析漏洞探测1.2.24RCECVE-2017-18349复现流程vulhub启动靶场用marshalsec启动LDAP/RMI服务java-cpmarshalsec-0.0.3-SNAPSHOT-all.jarmarshalsec.jndi.LDAPRefServer"h
- golang struct json tag的使用及深入理解
yuchenfw
golang源码分析gojsontag使用struct
一、sturctjsontag的使用1.tag格式说明structjsontag主要在struct与json数据转换的过程(Marshal/Unmarshal)中使用。json的tag格式如下:Keytype`json:"name,opt1,opt2,opts..."`说明:变量必须是可导出的(Key首字母必须大写),否则会被忽略处理。没有jsontag或者tag中name省略(但不能少了",")
- Go语言中的JSON处理
帅气的昵称都有人用了
上一次我们讲到了关于Go中的对于XML的处理,这次我们来说一下关于JSON的处理。JSON是一种轻量级的数据交换语言,以文字为基础,并且具有自我描述性且易于阅读。在Go语言当中同样我们提供了json包便于我们对JSON数据进行处理。处理JSON解析JSON有两种方法,一种是解析到结构体,另一种是解析到接口,我们先来看第一种方法:funcUnmarshal(data[]byte,vinterface
- C#面:.NET Remoting 的工作原理是什么
那个那个鱼
C#面试题c#.netc#开发语言
.NETRemoting是一种用于在分布式应用程序中进行远程通信的技术。它允许在不同的应用程序域之间进行对象的传输和通信。.NETRemoting的工作原理:定义远程对象:首先,需要定义一个远程对象,该对象必须继承自MarshalByRefObject类或实现ISerializable接口。这个远程对象将会在不同的应用程序域之间进行通信。配置远程通信:在应用程序的配置文件中,需要配置远程通信的相关
- 高效数据通信的完美组合:基于Netty和Marshalling的实战编解码技术
SteveCode.
netty
为什么Netty需要编解码器网络编程就是意味着:两个服务器要进行数据结构化通信。然而通信的数据就是流。有了编码器和解码器就可以很方便直观实现数据结构化通信netty默认了编解码器StringDecoder、StringEncoder等等数据流向图源代码地址在下面上代码代码结构ClientpublicclassClient{publicstaticvoidmain(String[]args)thro
- Parcel: Class not found when unmarshalling: 自定义类
喜欢踢足球的老罗
Android开发之旅ANDROIDunmarshallingandroid
问题描述如标题,这个问题网上有很人遇到,场景是跨进程启动activity或service通传Intent传Parcel数据时遇到,网上总结是类加载器设置不对的原因。我遇到的问题场景是在当前进程中,启动新的activity解析传过来的Parcel子类时出现的异常,异常backtrace如下:Causedby:android.os.BadParcelableException:ClassNotFoun
- 《亲密关系》摘抄5
好像只剩下这只狗和我
大量研究表明女性之间的友谊是以情感分享(emotionalsharing)和自我表露为其特征的,而男性友谊则是围绕着共同活动(sharedactivities)、相伴相随和搞笑娱乐而展开的(Fehr,1996;Marshall,2010)。这显得过于简单化,但多年前赖特(Wright,1982)创造出的两个精辟词语今天看来仍熠熠生辉:女性的友谊是“面对面”(face-to-face),而男性的友谊
- JCEF学习
£小羽毛
java
JCEF重要概念CEFCEF,全称ChromiumEmbeddedFramework,它是基于GoogleChromium的开源项目,它的目标是能够向第三方程序添加WEB浏览器功能,以及可以使用HTML、CSS和JS渲染界面。CEF框架是由MarshallGreenblatt在2008年创立的,由C/C++编写而成而JCEF则是CEF的java接口,可以使用java调用CEF的接口。JCEF的官方
- go数据格式-JSON、XML、MSGPack
leellun
go从入门到实践golangjsonxml
1.JSONjson是完全独立于语言的文本格式,是k-v的形式name:zs应用场景:前后端交互,系统间数据交互json使用go语言内置的encoding/json标准库编码json使用json.Marshal()函数可以对一组数据进行JSON格式的编码funcMarshal(vinterface{})([]byte,error)示例过结构体生成jsonpackagemainimport("enc
- err:rpc error: code = Internal desc = grpc: error unmarshalling request: string field contains inval
aashuii
rpcgolang网络
grpc客户端callrpc收到:err:rpcerror:code=Internaldesc=grpc:errorunmarshallingrequest:stringfieldcontainsinvalgrpc服务端的RPC回调没有调到。一般情况下,如果真是string字段包含中文字符客户端会返回grpc:errormarshallingrequest:stringfieldcontainsi
- 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
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,