自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我的E家

如果一件事值得去做,那么这件事也值得做好。

  • 博客(941)
  • 资源 (3)
  • 收藏
  • 关注

原创 《为什么学生不喜欢上学?》读书笔记

美国弗吉尼亚大学心理学教授威林厄姆的教育心理学著作。作者在文末揭示了撰写此书的目的: 【 教育是将世代积累的智慧传递给孩子,我们强烈地相信它的重要性,因为我们知道,它为每个孩子以及其他所有人都带来了更好生活的希望。如果我们不利用科学积累的智慧来指导我们教育孩子的方法,那确实是一件憾事。这就是撰写《为什么学生不喜欢上学?》一书的目的。个人没有精度,粗略读下来,感觉其中有些观点“心有戚戚焉”。

2024-03-12 16:59:00 923

原创 《富爸爸:巴比伦最富有的人》读书笔记

美] 乔治·克拉森, 1874年~1957年,美国著名的理财大师。1926年,他出版了一系列以古巴比伦为背景来讲述关于成功理财的小册子。这些小册子在银行业及保险业影响极大,并很快成为数百万人耳熟能详的著作,后来结集在《巴比伦最富有的人》一书中出版面世。

2024-02-18 16:46:14 785

原创 顶级思维方式——对优秀人才的定义

乔布斯: 公司规模变大之后,就会变得循规蹈矩。他们觉得只要遵守流程,就会继续成功,于是开始推行严格的流程制度。很快员工就会把遵循流程和纪律当做工作本身。公司就这样走下坡路了,比如IBM,是最遵守流程纪律的,却恰恰忽略了产品本身。苹果也一样,有很多善于流程管理的人才,但是他们忽略了产品本身。经验告诉我,优秀的人才是那些一心想着产品的人。虽然这些人很难管理,但我宁愿和他们一起工作。光靠流程和制度做不出好产品。

2024-02-11 11:39:47 343

原创 《小狗钱钱》读书笔记——如何看待金钱

尽管[ 智慧是无法传授的], 但读书可以启发思路,开拓解题方法。有意识引导孩子培养关于金钱的来源、使用,与自己所做的事情之间的关系等等事情上面,有利于培养孩子的金钱观。赚钱的目的是什么?想必每个人都有自己的回答。芒格的回答是:独立是赚钱的目的,而非相反!书中讲了主人公吉娅学习如何与金钱打交道,以及她逐渐变得更加“富有”的过程,并逐渐了解了致富的规律。这本书讲了一些应对财务危机的知识,大家不妨一起来看看吧。作者在书的最后写到: 人们可能明显低估了孩子们的学习技能和从事商业活动的潜力。

2024-02-08 16:51:13 744

原创 《小狗钱钱2》读书笔记

尽管[ 智慧是无法传授的], 但读书可以启发思路,开拓解题方法。《小狗钱钱2》这本书是在《小狗钱钱》的基础上,作业进一步阐述了关于人生出生的智慧。当然了,这本书感觉更适合成年人来看,小孩子可能还不太能理解其中的含义。整本书是围绕主人公吉娅在积累了一些金钱、获得去美国学习的奖学金后,在美国学校的经历与成长。其中关于做人做事方面的一些成长与见闻。《小狗钱钱2》这本书中的一些观点和看法,可能你在其他地方已经听过了,但作者在书中使用的例子比较简单易懂,不妨一起去看看。

2024-02-08 11:08:06 670

原创 《罗素论教育》笔记

1、我们必须首先对自己想要培养出怎样的人有一个概念,然后才能形成关于最优教育方法的明确观点。1)教育当然应该实用,因为教育过程是达到目的的手段,而不是目的本身。但是,这并非教育实用论者的想法。2)真正的问题是:教育的目的到底应该是将学生的大脑填满有直接实用价值的知识,还是努力让学生掌握具有内在价值的心灵财富?知道1英尺等于12英寸,1码等于3英尺是有用的,但这条知识没有内在价值;对于生活在公制国家的人来说,它更是毫无价值。3)学生首先需要接受大量的品德教育,然后才能成为卢梭教育体系所要培养的楷模。

2024-01-08 19:48:41 911

原创 测试开发(二) 开发chrome插件,提升测试效率

自定义拦截请求response数据、并根据需要做解析,方便检查数据,提升测试效率。

2023-11-23 16:31:41 119

原创 第14章 多线程四 (线程通信)

3)唤醒: 被通知的等待线程被唤醒(notify唤醒同步锁上等待的第一个调用wait()方法的线程,notifyAll缓存同步锁上调用wait方法的所有线程),重新获得共享对象的锁,并检查条件是否满足。2)条件满足: 通知线程执行某项任务,当条件满足时,通知线程调用共享对象的notify()或notifyAll()方法,通知等待线程。一个线程完成了自己的任务时,要通知另一个线程去完成另一个任务。1)等待条件: 等待线程在共享对象上调用wait()方法,进入等待状态,同时释放共享对象的锁。

2023-11-23 15:49:42 99

原创 第14章 多线程三 (线程同步)

共50张票,3个售票窗口同时售票,售完为止。比如,需要预防下面问题: 同一张票被多次卖出;为了解决线程安全问题。线程安全问题就是多个线程同时处理共享资源所导致的。线程同步为了解决共享资源被同时访问问题,结合章节内容重点难点,会对重要知识点进行扩展,以及做示例说明等,以便更好理解重点难点。✔️将共享资源代码放到一个代码块中,这种代码块称为同步代码块。某一时刻只允许一个线程访问,访问该方法的其他线程都会阻塞。直到当前线程访问完毕,其他线程才有机会执行方法。需要保证共享资源的代码在任何时刻只有一个线程访问。

2023-11-23 15:38:38 97

原创 第14章 多线程二 (线程调度)

输出结果: 线程/主线程交叉执行--->主线程休眠9s(子线程执行完成)--->等到9s后---->主线程继续执行完毕。低优先级只是获得调度的概率低,并非一定是在高优先级线程之后才被调用,高优先级的线程也不是一定就比低的优先级线程先执行。2)、线程的优先级是在 [10~1] 之间的,其中 5 是默认线程的优先级。1)线程的调度,即 Java虚拟机为进程的每个线程分配CPU的使用权。3、某个线程让步后,一定是另一个线程执行吗?2、每次执行时,一定是新建线程开始执行吗?2、线程B,线程C哪个线程先执行让步?

2023-11-16 09:37:37 91

原创 第14章 多线程一 (介绍、创建、状态流转)

什么是进程?进程就是一个在内存中独立运行的程序,有自己的地址空间。如正在运行的写字板程序、音乐程序、微信程序各自就是一个进程对于一个CPU而言,一个时间点只能运行一个程序,即一个进程CPU运行速度很快,可以在多个进程间快速切换,给人的感觉是同事执行多个程序。如 一边听歌一边聊天。什么是线程?进程中可以有多个执行单元同时运行,这些执行单元成为线程。程序中单个顺序的流控制,单个程序中多个线程共享系统资源;多线程程序实际上也是CPU轮流执行的。线程和进程的区别?主线程是什么?

2023-11-15 16:46:05 63

原创 第13章 Java IO流处理(三) 转换流、对象输入输出流、printStream流、字符编码

2)PrintStream类不会抛出任何输入/输出异常。相反,我们需要使用checkError()方法来查找其中的任何错误。1)PrintStream将原始数据(整数,字符)转换为文本格式而不是字节。然后,它将格式化的数据写入输出流。✔️ java.io包的PrintStream类可用于以通常可读的形式(文本)而不是字节写入输出数据。结合章节内容重点难点,会对重要知识点进行扩展,以及做示例说明等,以便更好理解重点难点。例子:指定处理的编码 utf-8。✔️ 字符编码和解码。

2023-11-14 19:41:37 89

原创 第13章 Java IO流处理(二) 字节流与字符流

✔️一般来说,流有两种基本形式:输入流和输出流,根据程序是作为数据流的目的端还是源端来划分。✔️字节流, 从InputStream和OutputStream派生出来的一系列类,以字节(byte)为基本处理单位。✔️字符流 , 从Reader和Writer派生出的一系列类,以16位的Unicode码表示的字符为基本处理单位。例子: 已知有a.txt, b.txt连个文件,如何将a.txt文件的内容,合并到b.txt文件中?✔️通过输入流,程序可以从数据文件读取数据,但不可向输入流中写入数据;

2023-11-14 19:24:39 70

原创 第13章 Java IO流处理(一) File类

✔️它用来描述文件对象的属性,既可以表示文件,也可以表示目录。想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。✔️ 使用它提供的方法,我们可以得到所指对象的描述信息,包括名称、存在否、读/写权限、路径等等。结合章节内容重点难点,会对重要知识点进行扩展,以及做示例说明等,以便更好理解重点难点。File类并不用来进行文件的读/写操作,并未涉及到写入或读取文件内容的操作。1、文件与目录的描述类——File。

2023-11-07 21:01:53 250

原创 第12章 Java Map集合

1、 Map双列集合2、 集合类图3、Map概述。

2023-11-07 20:49:15 259

原创 第11章 Java集合(三)泛型

但是如果需要对数据类型进一步限制,比如只有Person类及其子类可以接受,其他数据类型不接受、或者只有Person类及其父类可以接受,其他数据类型不接受,这种对数据类型进行限制的技术,称为泛型上下限。✅ 集合可以存任何类型的对象,存放后,集合就忘记了存放的数据类型,因此将对象从集合中取出时,这个对象的编译类型就变成了Object类型。1)泛型接口,就是接口中使用了自定义类型的接口。1)泛型方法,就是方法中使用了自定义类型的方法。1)泛型类,就是类中使用了自定义泛型的类。✅Java引入了参数化类型,即泛型。

2023-11-07 20:32:39 93

原创 第11章 Java集合(二)

1、HashSet保证元素唯一,可是元素存放进去是没有顺序的,那么我们要保证有序,需要使用它的一个子类LinkedHashSet,它是链表和哈希表组合的一个数据存储结构。✅基本原理: TreeSet 是通过 TreeMap 实现的一个有序的、不可重复的集合,底层维护的是红黑树结构(平衡排序的二叉树)。✅ 如果向集合中存放自定义的对象,为了保证唯一性,必须重写hashCode和equals方法建立属于当前对象的比较方式。✅与List接口不同,Set接口的数据存储是无序的,并以某种规则保证存入的元素不可重复。

2023-11-07 20:09:34 434

原创 第11章 Java集合(一)

由于其内存地址是不连续的,因此每个元素保存了下一个元素的位置,但查找时需要从头往下找,显然没有数组查找快;✔️与ArrayList的差别:Vector是同步(线程安全)的,运行效率要低一些,主要用在在多线程环境中,而ArrayList是不同步的,适合在单线程环境中使用。3、 Map双列集合, 双列集合类的根接口用来存储键值对影射关系的元素,Map集合可以根据Key找到对应value。2)如果数组已满,它会自动创建一个新的数组,并将原来的元素复制到新的数组中。

2023-11-07 19:48:54 347

原创 第10章 Java常用类

StringBuilder类非常相似的StringBuffer,不同之处在于它的访问不同步的,因此,它不是线程安全的。而StringBuffer类是一个可变的字符串,允许在不创建新的对象的情况下对字符串进行修改。hashcode是Object中的函数,所有类都拥有的一个函数,主要返回每个对象的hash值,主要用于哈希表中,如HashMap、HashTable、HashSet。利用 Random 类有参构造创建的对象所产生的一组随机数和参数相关,和对象实例以及程序运行次数无关,即便是不同的对象,

2023-11-07 19:30:12 64

原创 Java第9章 异常

1、 自定义异常类须知✔️Java中所有的异常类,都继承自Throwable或者继承其子类;这样异常才可以被抛出;✔️每个异常子类都调用了父类的构造方法,把异常描述信息传递给父类。2、自定义异常类一般有如下步骤return id;思考:如何修改MyException可以在发生异常时,不用throws关键字进行声明思路:异常继承自RuntimeException3、 注意事项✔️自定义异常类应该继承Exception或RuntimeException类。✔️。

2023-11-07 18:52:24 337

原创 Java第8章 反射

程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。尽管在这样的定义与分类下Java不是动态语言,它却有着一个非常突出的动态相关机制:Reflection。反射是Java的特征之一。1、只要用到反射,先获得Class Object2、没有方法能获得当前类的超类的private方法和属性,你必须通过getSuperclass()找到超类以后再去尝试获得。

2023-11-05 20:39:54 141

原创 《哲学与智慧》叔本华(读书笔记)

叔本华虽然愤世嫉俗,但对人类并没有失去同情心。他很善于经营他的财产,到临终时,财产几乎增加了一倍。虽然他认为挥霍比贪婪更可恶,但生活中的叔本华却并不吝啬。许多贫苦的亲朋、穷困的邻居找他帮忙,他从不推辞,他还是德国动物保护的提倡者。同时,叔本华在遗嘱中也指明,他的财产继承人是1848年革命后组织救助“残废军人和孤儿寡妇”的协会。此外,他的用人和狗也都得到了一笔丰厚的财富。所有这些都足见叔本华的宅心仁厚。

2023-10-05 11:22:49 190

原创 《幸福之路》罗素(读书笔记)

罗素是20世纪最杰出的哲学家之一,同时又是著名的数学家、散文作家和社会活动家。罗素一生驰骋于数学、逻辑、哲学、政治、社会、历史、道德、宗教、教育等各个领域,写下了六十多部著作和大量文章,对20世纪的思想文化和社会生活产生了巨大的影响,被人们誉为“世纪的智者”。1950年,罗素荣获诺贝尔文学奖,旨在表彰他的“哲学作品对人类道德文化所作出的贡献”。

2023-10-04 11:45:39 286

原创 《发现的乐趣》作者费曼(读书笔记)

发现的乐趣》是理查德•费曼最好的短篇集——收录了费曼一生中最能代表其科学观、价值观、教育观的13篇访谈和演讲文章。通过费曼自己的话语,我们得以聆听他的童年故事、参与原子弹研制的传奇经历、对诺奖的态度、对纳米技术和未来计算机的预言,还能够体会到“找到真爱、自由自我、做一 个有趣的人”是怎样一种人生态度。要理解费曼的神奇和过人之处,最佳途径就是阅读这本书。在书里你会发现费曼涉猎很广,不只是物理,他对很多问题都有深邃的思考,并能娓娓道来,引人入胜。

2023-10-03 11:21:48 455

原创 Java第7章 类的高级特性

2、用static修饰的类成员属于类,不属于这个类的某个对象。可以不用创建本类对象,采用类名.成员的方法访问;由于接口没有构造方法,所以接口中的。3、用static修饰的成员变量,成员方法分别叫做静态成员,静态方法。1、final可以修饰类或类的成员(成员变量或成员方法)或局部变量。关于类的初始化顺序,下面输出结果是什么,想想为什么?2、用final修饰的类或类成员或局部变量是。,是指在一个类内部定义的类。,如果一个类被定义为final,它。1、static可以类的成员(成员内部类 和 方法内部类。

2023-09-27 22:56:25 92

原创 Java第6章 类的多态

⭐️ 什么是多态?简单来说,多态是具有表现多种形态的能力的特征,指同名但形态(即功能)不同的方法。

2023-09-22 18:17:45 102

原创 Java第5章 抽象类与接口

※abstract类中可以有abstract方法※abstract类也可以有非abstract方法。※abstract类不能用new运算创建对象。对于abstract类,我们不能使用new运算符创建该类的对象。

2023-09-22 17:12:43 109

原创 Java第4章 类的继承

在Java编程语言中,通过继承可利用已有的类,并扩展它的属性和方法。这个已有的类可以是语言本身提供的、其他程序员编写的或程序员原来编写的。大大增强了软件的可复用性。Java类单继承的局限性在某些情况下可能会导致问题。例如,在某些情况下,我们可能需要从多个父类中继承行为。结合章节内容重点难点,会对重要知识点进行扩展,以及做示例说明等,以便更好理解重点难点。※根据已有的类创建新的类。采纳了旧的类的属性(域)及其行为(方法) 增加了新的能力。※子类继承父类 子类增加了新的成员域或新的成员方法。

2023-09-22 16:52:07 76

原创 Java第3章 类的封装

2、如果程序员定义了构造方法,那么,最好包含一个参数表为空的构造方法,否则,调用new className()时会出现编译错误。信息隐藏,隐藏对象的实现细节,不让用户看到 将东西包装在一起,然后以新的完整形式呈现出来。一个类可以有多个构造函数 为了创建实例的方便,一个类可以有具有不同参数列表的构造方法。1、默认构造方法的参数列表及方法体均为空,所生成的对象的属性值为零或空。类的封装,就是为了保证变量的安全性,避免对象属性赋值的随意性。在创建对象实例时由new运算符自动调用。它的名字与类名相同;

2023-09-22 16:32:44 127

原创 Java第2章 类与对象(二)

5.生命周期不一样(重点) 局部变量:随着方法进栈而诞生,随着方法出栈而消失 成员变量:随着对象创建而诞生,随着对象被垃圾回收而消失。3.默认值不一样【了解】 局部变量:没有默认值,如果要想使用,必须手动进行赋值 成员变量:如果没有赋值,会有默认值,规则和数组一样。如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏,这时如果想在该方法内使用成员变量,必须使用关键字this。1.定义的位置不一样【重点】 局部变量:在方法的内部 成员变量:在方法的外部,直接写在类当中。

2023-09-22 16:22:10 96

原创 Java第2章 类与对象(一)

现实世界中客观存在着不计其数的各种对象,如动物、人、桌子、黄瓜、油条、汽车、鲸鱼、计算机、脸、……举例:公司打扫卫生(扫地,拖地,倒垃圾,冲厕所等) 按照面向对象的设计思考:谁来做各个子任务?1、考虑A,B,C,D分别去做子任务,如A来扫地,B来拖地,C来倒垃圾,D来冲厕所;1、先对程序中所涉及的事物进行抽象,具有相同特征和行为的事物抽象成类;3、A,B,C,D协作都完成任务后,公司打扫卫生这件事完成。2、A完成扫地,B完成拖地,C完成倒垃圾,D完成冲厕所;3、将程序中的功能由一个个对象去完成。

2023-09-22 16:10:51 65

原创 Java第1章 入门及idea开发工具

Java入门: 如何理解Java

2023-09-17 22:11:14 122

原创 《悉达多》读书笔记——觉悟到的真理到底是什么?

赫尔曼·黑塞(Hermann Hesse,1877年7月2日~1962年8月9日),德国作家诗人。出生在德国,1919年迁居瑞士,1923年46岁入瑞士籍。黑塞一生曾获多种文学荣誉,比较重要的有:冯泰纳奖、诺贝尔奖歌德奖。1946年获诺贝尔文学奖。1962年于瑞士家中去世,享寿85岁。爱好音乐与绘画,是一位漂泊、孤独、隐逸的诗人。作品多以小市民生活为题材,表现对过去时代的留恋,也反映了同时期人们的一些绝望心情。世界上任何书籍都不能带给你好运,但是它们能让你悄悄成为你自己。二、创造背景。

2023-08-30 20:39:07 251

原创 读书系列2023

1、《哲学与生活》: 他们没有把自己的进步思想,无遗憾地应用到个人的生活态度上,他们对于自己的生活,仍是用固定的、非变动的、绝对的观点去观察,不错,他们的环境实在黑暗,然而他们忘了黑暗可以打破…周围的人是不觉悟的,然而他们忘记了不觉悟的人也会变动,在一定的情形下,也有走到觉悟的路上去的一天。还讲述了决定开始训练婴儿的五官(耳、目、口、鼻、皮肤),刺激他的大脑发育的一些实用的方法。5) 我们要关注的是那些大权在握的人,因地位的特殊性,他们发表的言论通常会导致严重的后果,如果他们不必为此负责,结果就会很糟糕。

2023-08-30 17:26:52 85

原创 智力发展理论-多元智力理论

什么叫多元智力理论? 对教育有什么启示?

2023-08-24 19:54:21 133

原创 测试开发(一) 使用Vue开发chrome插件

基于Vue,开发chrome插件,实现自由拦截URL;

2023-08-09 18:52:52 833

原创 chrome插件开发实例05-页面间通信

1.Content script 给 popup.js发消息(二者之间通信)content.jsfunction test() { chrome.extension.sendMessage({cmd: "fromcontentscript"}, function (response) { alert( "fromcontentscript");比如,使用chrome.storage.*, chrome.storage.sync.*第一步:devtools.js中创建面板及panel.js。

2023-08-09 15:00:24 571

原创 chrome插件开发实例08- 使用Vue.js开发chrome插件

功能1:智能收藏夹功能,可以 快捷打开常用网站,某个网站打开越多,排名越靠前;功能2: 自定义调试工具,拦截页面请求

2023-08-09 11:47:44 491

原创 chrome插件开发实例07- Vue调试插件vue-devtools

在浏览器开发者工具下调试Vue代码,提升Vue代码的调试效率

2023-08-09 11:08:22 1085

原创 chrome插件开发实例06-定制自己的Chrome DevTools调试工具

面板显示任意页面的请求信息, 拦截 请求的URL,参数,method,返回体信息

2023-08-07 16:06:22 565

jQuery开发实战(慕课版)课件

jQuery开发实战(慕课版)课件

2024-01-07

jQuery开发实战(慕课版)书中代码

2023年人民邮电出版社出版的图书,作者是千锋教育高教产品研发部 各个章节代码

2024-01-07

使用Vue开发chrome插件

功能1:智能收藏夹功能,可以 快捷打开常用网站,某个网站打开越多,排名越靠前; 功能2: 自定义调试工具,拦截页面请求

2023-08-09

基于Vue的智能收藏夹及拦截页面请求

功能1: 输入关键词,使用百度搜索 功能2:智能收藏夹功能,可以 快捷打开常用网站,某个网站打开越多,排名越靠前; 功能3:获取当前浏览页面信息;

2023-08-09

定制自己的Chrome DevTools调试工具,拦截页面请求

面板显示任意页面的请求信息

2023-08-07

基于chrome插件获取页面请求的请求信息,返回信息

拦截任意打开页面的请求信息,包括:URL,参数,请求方式method, 返回status,返回体大小,返回原始内容

2023-08-07

基于chrome插件的智能收藏夹

基于chrome插件,实现了简单收藏夹的功能: 功能1:网址智能排序(某网址打开次数越多,排名越靠前); 功能2:直接获取当前页面网站信息; 功能3: 自由自定义添加常用网址; 功能4:可以恢复默认的网址; 功能5:可以全部清空网址; 功能6:自由删除某个不用的网址;

2023-08-07

chrome插件实例开发

基于chrome插件,开发一个便捷的网站导航插件,可以将个人最常用的网站设置进去(类似收藏夹,但更方便)。 详细功能描述: 功能1:输入关键词,一键实现【百度】查询; 功能2:自由选择个人最常用的网站,一键实现网站打开;

2023-08-04

《二分查找算法》完整版教学设计

《二分查找算法》完整版教学设计

2023-05-27

Charles.zip

用Charles做这些事情 : 抓取 Http 和 Https 的请求和响应,抓包是最常用的了。 重发网络请求,方便后端调试,复杂和特殊情况下的一件重发还是非常爽的(捕获的记录,直接repeat就可以了,如果想修改还可以修改)。 修改网络请求参数(客户端向服务器发送的时候,可以修改后再转发出去)。 网络请求的截获和动态修改。 支持模拟慢速网络,主要是模仿手机上的2G/3G/4G的访问流程。 支持本地映射和远程映射,比如你可以把线上资源映射到本地某个文件夹下,这样可以方面的处理一些特殊情况下的bug和线上调试(网络的css,js等资源用的是本地代码,这些你可以本地随便修改,数据之类的都是线上的环境,方面在线调试); 可以抓手机端访问的资源

2018-11-06

junit4 入门

junit4 入门实践,并且java中的ant的使用结合。适合单元测试菜鸟入门学习

2015-09-06

Android应用测试与调试实战

Android应用测试与调试实战 这本书的部分章节,但很经典,适合入门

2015-09-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除