- 【Python百日进阶-Web开发-Peewee】Day289 - Peewee 的扩展(九)pwiz / 架构迁移(上)
岳涛@心馨电脑
数据库pythondash前端
文章目录13.15pwiz,模型生成器13.15.1命令行选项13.16架构迁移SchemaMigrations13.16.1示例用法13.16.2支持的操作13.15pwiz,模型生成器pwiz是peewee附带的一个小脚本,能够自省现有数据库并生成适合与底层数据交互的模型代码。如果您已经有一个数据库,pwiz可以通过生成具有正确列关联和外键的骨架代码来给您一个很好的提升。如果您使用安装peew
- 如何从Angularjs 升级到 Angular(译文)
快乐2020
原文:UpgradingfromAngularJStoAngularAuthor:AngularJS官方译者:philoenglish.com团队关键字:AngularjsAngularAngular1.xAngular2.xmigration迁移,升级这里的Angular是指Angular2.x,而AngularJS是指AngularJS1.x版本。Angular(通常是指"Angular2+"
- 「C#」EF Core的“迁移”(Migration)
Raink_LH
假装会写C#萌新入坑数据库c#开发语言sql.net
1、“迁移”是什么“迁移”(Migration)我觉得可以理解为将实体类的变化转换为对数据库修改的方案,应用迁移就是将这个修改方案应用到数据库。其次,迁移也记录了数据库的版本历史等信息。2、添加迁移2.1、dotnetclitool参考:EFCore工具参考(.NETCLI)-EFCore添加迁移等后续操作用到了dotnet的命令行工具,这里记录下工具的安装(前提是已经安装了dotnet)dotn
- 关于django makemigrations/migrate在生成数据表上遇到的一些问题
青衫客36
Pythondjangosqlitepython
当你删除了生成的migration文件夹,将数据库从SQLite切换到MySQL,并且在执行makemigrations命令时显示没有变化,同时MySQL中没有生成表,可能是由于以下原因造成的:Django迁移系统的工作方式:Django的迁移系统是基于模型文件(通常位于models.py)中的变化来生成迁移的。当你运行makemigrations命令时,Django会检查自上次迁移以来模型定义有
- django的用户管理与token认证(四)
smile_pbb
pyhton框架djangosqlite数据库
一、django的用户管理1.用户认证介绍django的用户认证主要是用于用户的登陆认证上,如果用户名和密码正确,然后做对应的操作Django的认证组件使用的默认用户模型类(User)存储用户信息,包括用户名、密码和电子邮件地址。在执行pythonmanage.pymakemigrations在数据库中会生成几张默认的表mysql>showtables;+---------------------
- Django数据库重新初始化
bigcarp
django数据库python
开发过程中models.py中的模型经历一番爆改后,执行migrate就报错。干脆重新初始化。操作步骤:删除旧的数据库文件,重新创建。如果你是使用SQLite,删除后无需重新创建,Django在运行迁移时可以自动完成SQLite数据库创建。如果使用其他数据库,需要手动创建一个新的数据库。删除迁移文件:删除每个应用下的migrations文件夹中除了__init__.py文件以外的所有文件。这一步是
- C#系列-EF框架的创新应用+利用EF框架技术的知名开源应用项目(42)
管理大亨
C#系列oracle数据库c#开发语言服务器开源
EF框架的创新应用EF框架,即EntityFramework,是微软开发的一个开源的对象关系映射(ORM)框架,用于.NET应用程序中。它允许开发者以面向对象的方式处理数据库,而无需关心底层的SQL语句和数据库结构。EF框架的创新应用主要体现在以下几个方面:代码优先迁移(CodeFirstMigrations):EF框架提供了从代码生成数据库结构的功能。这意味着开发者可以先编写实体类,然后通过EF
- python+django小区物业管理系统_2oma5-
QQ402205496
djangopython后端
现代化的物业管理系统会要求提高物业工作人员的整体效率,招聘一些高素质的管理员,负责物业后勤的计算机机房、日常维护和软硬件升级服务,为用户打造舒适,方便的小区环境,提高小区整体的管理水平,打造小区物业管理品牌,建立小区物业可持续发展道路。django应用目录结构project1|--migrations//数据移植(迁移)模块|-------__init__.py|--__init__.py|--a
- Django使用oracle常见问题
高刚_0743
1.Django2.0+和Oracle11Traceback(mostrecentcalllast):File"/Users/user/anaconda3/lib/python3.6/site-packages/django/db/migrations/recorder.py",line55,inensure_schemaeditor.create_model(self.Migration)Fil
- 【数据库学习】Flyway
兔兔西
数据库学习数据库学习之postgres数据库
1,功能数据库版本管理;实现管理并跟踪数据库变更,支持数据库版本自动升级。2,使用1)java使用添加依赖org.flywaydbflyway-core6.5.7配置:javaspring:flyway:#是否启用enabled:true#可以支持多个location,用','隔开locations:classpath:db/migration#是否创建元数据表validate-on-migrat
- python web 框架Django学习笔记
ersaijun
djangopython前端django
2018年5月pythonweb框架Django学习笔记Django架站的16堂课MVC架构设计师大部分框架或大型程序项目中一种软件工程的架构模式,把程序或者项目分为三个主要组成部分,Model数据模型、View视图、Controller控制器。命令及设置相关创建数据库及中间文件,每次数据表有改动都要执行下面的两句pythonmanage.pymakemigrationsname同步更新数据库内容
- 20181207springboard
罗罗ph
1)翻译下面的句子:许多人认为海外留学是移民的跳板。参考翻译:Studyingabroadisregardedasaspringboardforimmigration.或Adegreefromaforeigninstitutioniswidelyconsideredaspringboardforimmigration.2)情景她的母亲很有信心这次歌唱会成为她女儿进入娱乐圈的跳槽。造句Hermoth
- WordPress网站搬家插件 All in one WP Migration_适合新手 wordpress 一键迁移方法
Amea
AllinoneWPMigration插件比较适合网站在阿里云虚拟主机、bluehost虚拟主机、godaddy虚拟主机,要搬家到siteground虚拟主机、云服务器的时候。因为是一键生成和导入搬家文件,所以认为很适合新手、小白使用。小白操作网站搬家,步骤越少越好,看起来对小白很适用。WordPress网站备份插件有很多种,搬家方法也有好几种,都可以实现网站迁移的目的。而在实际体验中是千差万别的
- django model对象修改_Django模型修改及数据迁移实现解析
抑郁了该怎么办
djangomodel对象修改
MigrationsDjango中对Model进行修改是件麻烦的事情,syncdb命令仅仅创建数据库里还没有的表,它并不对已存在的数据表进行同步修改,也不处理数据模型的删除。如果你新增或修改数据模型里的字段,或是删除了一个数据模型,你需要手动在数据库里进行相应的修改或者使用South。Django1.7中已经集成了South的代码,提供了3个新命令:migrate:用于执行迁移动作,具有syncd
- django中实现数据迁移
攻城狮的梦
python开发djangopython
在Django中,数据迁移(datamigrations)通常指的是将模型(models)中的数据从一个状态迁移到另一个状态。这可以涉及很多操作,比如添加新字段、删除字段、更新字段的数据类型,或者更改表之间的关系等。Django提供了一套强大的迁移系统,用于管理模型变更并同步到数据库中,但这不是数据迁移的全部内容。Django的数据迁移通常分为两个步骤:SchemaMigrations(模式迁移)
- django解决Table ‘xx‘ already exists的方法
南国那片枫叶
django数据库pythonexistmysqlmigrate迁移
1,首先看已存在的这个库表结构是什么样的,先让对应的model.py恢复到和他一样的字段2,删除对应app下的migrations目录里面除__init__.py文件的其他所有文件3,回到manage.py所在目录执行pythonmanage.pymakemigrations4,执行pythonmanage.pymigrate--fake,参数–fake是关键,这样就不会提示表已经建好了,执行成功
- laravel 数据库迁移
苍松拔雨
1.介绍迁移的作用就是编程式的创建应用数据库的结构2.创建迁移phpartisanmake:migrationcreate_users_table新创建的迁移会放在database/migrations目录,如2014_10_12_000000_create_users_table.php文件名中的时间字段用来让Laravel确认迁移顺序,即up时按时间升序执行,down时按降序执行选项说明--c
- 自己搜集的PTE资料(复制粘贴的)
ValleyGo
PTEACADEMIC——全球广泛认可的快捷出国语言考试PTEACADEMIC,又称PTE学术英语考试,是PearsonTestofEnglish(简称PTE)家族一员,是专为有留学移民计划人士设置的基于机考的领先出国语言考试之一。作为美国管理专业研究生入学考试委员会GMAC®认可的考试,以及澳洲移民局(AustralianDepartmentofImmigrationandCitizenship
- truffle 创建测试合约并部署到测试网络
不与天斗8866
web3区块链truffle
1、npm安装trufflenpminstall-gtruffle2、创建truffle项目mkdirimooc-on-blockchain-truffle&&cdimooc-on-blockchain-truffle3、初始化truffle目录,会生成如下几个目录contracts存放.sol合约文件migrations部署脚本目录test测试文件目录truffle-config.jstruff
- Abp vNext(三)数据迁移
一个程序员_zhangzhen
abpvnext.netcore
文档版本:7.0官方文档给的数据迁移的方式是这样的,第一步在Acme.BookStore.EntityFrameworkCore目录打开命令行终端输入以下命令:dotnetefmigrationsaddCreated_Book_Entity第二步运行Acme.BookStore.DbMigrator应用程序来更新数据库用上面方式,初始化数据库、增加字段以及删除字段,试了之后都没问题,可正常执行。这
- git的奇特知识点
虫虫教父
git
展示帮助信息githelp-gThecommonGitguidesare:attributesDefiningattributesperpathcliGitcommand-lineinterfaceandconventionscore-tutorialAGitcoretutorialfordeveloperscvs-migrationGitforCVSusersdiffcoreTweakingdi
- django报错: raise NotSupportedError(django.db.utils.NotSupportedError: MySQL 8 or later is required
雾林小妖
Python基础django数据库版本不支持
1、问题概述?在django框架中使用ORM模型开发程序,执行pythonmanage.pymakemigrations命令生成同步原语的时候,提示如下问题:raiseNotSupportedError(django.db.utils.NotSupportedError:MySQL8orlaterisrequired(found5.7.43).意思就是:需要MySQL8或更高版本但是在当前的企业环
- 使用ant执行sql脚本重建oracle数据库
liyanboss
工作脚本OracleSQLAnt数据结构
最近工作中,需要把之前的产品(基于mysql数据库的)转换到oracle环境中,利用oracle自己提供的一个工具sqldeveloper(有时间的话,把这个工具如何把mysql转换到oracle,也整理出来),里面的migration功能,可以把mysql的表结构,数据都导出成oracle的格式,对于生成的sql脚本,为了便于开发人员,持续构建,我写成了ant文件,供大家使用。DROPUSER$
- 解决django.db.utils.DataError: (1406, "Data too long for column 'gender' at row 1")
f109
在pycharm中TOOL—>runmanage.pytask运行createsuperuser,按照提示输入完用户名,邮箱,密码后提示出现了出错原因分析:在user表中gender的max_length为5但是female长度为6因此修改一下gender的max_length即可然后重新创建表TOOL—>TASKmakemigrations—>migratecreatsuperuser即可
- fluentmigrator连接mysql_怎么利用FluentMigrator实现数据库迁移
weixin_39843847
FluentMigratorFluentMigrator是一个基于.NET的迁移框架,你可以像使用RubyonRailsMigrations一样使用它。FluentMigrator的最新版本是3.13版,官网地址https://github.com/fluentmigrator/fluentmigrator。你可以使用C#编写数据库迁移类,而不需要编写任何SQL脚本。从使用方式上看,它非常像EF/
- fluentmigrator连接mysql_如何使用FluentMigrator进行数据库迁移
有事没事捕蒜子
标题:如何使用FluentMigrator进行数据库迁移地址:https://www.cnblogs.com/lwqlun/p/10649949.html作者:LamondLuFluentMigratorFluentMigrator是一个基于.NET的迁移框架,你可以像使用RubyonRailsMigrations一样使用它。FluentMigrator的最新版本是3.13版,官网地址https:
- EF Core入门例子(以SqLite为数据库)
zxy2847225301
C#编程.netcoreC#.netcoreEFCoreSqLiteORM
测试环境:visualstudio2017.netcore2.1具体步骤如下:1新增名称为EFCoreDemo的.netcore控制台程序,版本选择.netcore2.1,项目不能放到带中文的目录下,不然到后面执行Add-Migration命令时会报如下的错误同时,如果这个解决方案有多个项目,一定要把当前项目设为启动项目,且程序包管理器控制台默认项目一定要选对,不然到后面执行Add-Migrati
- .net core 数据库从sqlserver迁移到mysql
一刀道人
Mysql
先抛个链接https://blog.csdn.net/sD7O95O/article/details/78941648按照以上博客中的操作,发现add-migration可以成功,但是update-database的时候报错,具体报错信息不记得了,大概的意思就是当前mysql的语法不匹配,想到更换mysql的版本,于是就开始了跳坑的过程。本来我的机器(win10)mysql装的是:5.5.47,c
- 【Microsoft Azure 的1024种玩法】六十七.通过Data Migration Assistant 将本地自建SQL Server 数据库脱机迁移至Azure SQL Database
一只特立独行的兔先森
【MicrosoftAzure的1024种玩法】azure数据库microsoft数据库迁移AzureDatabase
【简介】作为一个DBA,我们需要全面了解SQLDatabase数据库的备份以及迁移,如果我们本地有一个单机的SQLServer数据库,我们想将其迁移至AzureSQLDatabase中,那我们有什么好的方式呢?我们可以直接使用DataMigrationAssistant数据迁移助手来对本地SQLServer进行迁移,可将其数据迁移到AzureVM或AzureSQL数据库上的SQLServer,本篇
- Django迁移错误migrate
创造new_world
参考:https://www.jianshu.com/p/ebe84b8fa365?utm_campaign=hugo&utm_medium=reader_share&utm_content=note&utm_source=weixin-friendsDjango迁移之migrate问题:tablexxalreadyexist前面我们说到了makemigrations是将models.py里的模型
- 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
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,