ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

学习数学应当从线性代数开始

2021-12-20 11:36:00  阅读:156  来源: 互联网

标签:应当 学习 概念 线性代数 抽象 数学 代数


线性代数是高等教育中一门重要的课程。不但是理工科一部分人文科学也将线性代数作为必修或选修课程。这门课程在高等院校的课程安排中,属于较「初级」的课程,通常是和微积分并列,作为大学一年级新生的数学入门课程。按照这样的课程安排,线性代数按道理应当是一门比较简单或容易的课程,但是事实却完全相反,线性代数的教学口碑一直是恶名昭彰。和微积分相比,线性代数离直觉、我们过去的数学经验更远,一堆被称作「矩阵」的莫名其妙的数字阵列被倒来倒去,没有任何意义。线性代数课程开始时,我们被告知线性代数就是是解线性方程组的学科,但是我们在中学已经学习了三元以下方程组的解法,虽然不是什么快乐的记忆,但是比起手头的线性代数,中学的解方程组方法不知轻松多少倍。学习噩梦真正开始于解方程组之后:一堆和解方程组无关的晦涩难懂的概念、术语对我们进行狂轰滥炸,使我们毫无招架之力,几近精神崩溃,不少人干脆躺平,不再追究线性代数的真实意义,勉强对付考试及格了事。但是工作后,人工智能大盛,据说基础之一就是线性代数,不得已又拿起书,但是那些令人生厌不知所云的语言、符号、公式一阵阵袭来,顿感嫌恶困倦之意。如果你随意翻看一本线性代数教科书,会发现和微积分相比,线性代数的各个部分内容的排列完全是是东一榔头西一棒子,后一章的内容和前一章没有承接关系,就像是读《儒林外史》每个故事独立成章。刚刚会解线性方程组,就转入没有什么太大关系的行列式,然后又进入莫名其妙的矩阵矩阵,折腾进向量空间还没弄明白,经特征值特征向量、线性算子,一路走来,大量的不是解说而是无穷无尽的定义定理证明,无休止的公式连着公式。此时只觉得我已经成了局外人,甚至已经是彻底抓狂。更恶劣的是,线性代数的这些内容的安排往往是任意的,几乎每本教科书都不同,完全根据教科书作者的主观意志而定,这在其它数学课程中是非常罕见的。最令人称奇的是,这不是一个局部现象,而是跨越中外所有线性代数教育都存在的普遍问题。对于如何教线性代数,一直是一个令人棘手的问题。美国于上世纪还特意成立了 Linear Algebra Curriculum Study Group(线性代数课程研究小组)。加拿大数学学会于1999年召开年会,专门讨论线性代数教材的改革问题。这些专门会议和组织召集各路专家,经过一番研究讨论后得出的结论是:Linear algebra as a cognitively and conceptually difficult subject。自那以后,20年过去了,线性代数的教学仍然没有明显的变化。许多人视线性代数为畏途。如此说来,线性代数既然是一门 cognitively and conceptually difficult subject,那为什么又要当作数学的入门课程?线性代数尽管在认知和概念上难学,但又是一门极为有用的、现代科学工程必须的基础知识,这使得任何教育机关不敢也无法忽略线性代数在教学中的地位,所以老师只能糊里糊涂地教,学生囫囵吞枣地学,许多人毕业多年,至今不知道线性代数到底是一门学问。在 Quora 中,甚至有教线性代数的老师居然问:What is the point of linear algebra? How can I motivate students to study this? Are there any tangible reasons why students should study linear algebra?

我自己的线性代数学习,也经历了这个痛苦过程。迄今为止一共学过三遍,最痛切的感觉就是:没有一部教科书完全能理解。并不完全是内容本身无法理解,而是不知道为什么要学这个!线性代数每个部分的细节都可以理解,但是无法拼成一个完整的全图,我的困惑和上面那个教线性代数的老师的问题基本相同。最终让我「开窍」的,是后来风靡世界的3Blue1Brown在油管上的视频系列《Essence of Linear Algebra》——建议所有想认真学习线性代数的初学者都应当至少看一遍这个视频(这个视频在B站已经有中文版)。但是经过一段时间的学习,感觉这个视频虽然点到了问题的实质,但有些问题仍然没有说透,讲清楚。再经过大量教科书的反复阅读和思考(从未做习题)体味其中真实含义,结合数理逻辑、数学基础和其它代数(包括抽象代数和逻辑代数)的学习,终于可以把线性代数的内容用一个统一的框架和洞见一般化。为此,写了一系列的《从零开始学习线性代数》的笔记,从中提炼出线性代数最核心的概念是【基】(basis)。

本系列笔记,可以看作是这些体会的一个总结。通过线性代数的学习,让我体会最深的问题就是:当我们学习数学时我们究竟是在学什么?也就是上面那位老师提到的 point 和 motivation。

回到标题,为什么我这里这里主张将线性代数作为数学学习的起点、换句话说,为什么线性代数的学习应当先于微积分的学习?首先声明,这只是我个人以及一部分其他人的观点,远不是教育界的共识,但是目前正在引起越来越多人的共鸣。本篇的内容,基本是在讲「大道理」而不是学习者学习时的选择策略。

首先,我这里所说的的「数学」,特指20世纪以后产生、发展、成熟后的的现代数学,它发源于古希腊的以逻辑推理为基础的欧氏的《原本》,其特征是公理化。这个传统在20世纪初经希尔伯特的公理化运动以及1930年代布尔巴基学派的数学重构之后,已经定型为形式化、结构化,高度抽象化的基于逻辑推理演算的公理系统。相对于这个体系,我们在中学所学习的数学,相当于中国传统意义上的被称为「算学」的学科。算学与数学的区别在于,前者关注特定的实际问题的解决,而后者关注的是理论体系的完备,解决具体问题仅仅是理论体系的应用。而目前我们所接受的所谓数学教育无一不是以做难题为目标,刷题作为手段,其核心思想精神仍然是「算学」,而不是上述意义的数学。而线性代数,则完全脱离了「算学」的范畴,是最初级的公理化数学。要想一窥现代数学的真容就要从线性代数开始。而初级微积分仍然没有脱离「算学」的范围,我们学了导数微分积分公式,做题时只要套公式即可。而线性代数之所以让人觉得陌生,其理由之一就是你将「算学」弃之脑后,真正开始学习「数学」。下面就展开谈一下这个问题。

首先、学习现代数学从线性代数开始的理由,在于隐藏在线性代数背后的基本思想,是对数学中最本质的两个对象——数与形性质的再认识和再塑造,而没有全新的完全陌生的概念。数与形,是我们再熟悉不过的两个概念。例如我们都学过如何求长方形面积,这是我们生平第一次将形状(大小)的概念和算数联系在一起。我们学得了长方形的面积是一个乘法运算:长 × 宽。由此算术和图形的联系,随着我们可以计算更多类别几何对象的面积、体积等得到了加强。到了中学,算术变成了代数,我们很少再对具体的数字感兴趣,更多的是在操作符号。以等号为界,把两边的字母按照基本的代数规则移来移去,得到我们想要的结果。这时,解析几何出现了,这门课程借助直角坐标系让我们系统地将几何图形与代数中符号联系在一起,我们不必再画图,而是借助符号表达式来表示图形、求解问题,代数方程成为几何图形的「代数解释」。同时,函数概念使我们进一步了解到如何将数「投射」到平面直角坐标系上得到直线或曲线。函数是代数的概念,而直线和曲线则是它们的「几何解释」。到了开始学习线性代数的时候,我们应当建立的是一种更加清晰更加一般的数形联系:任何代数运算都可以找到相应的几何解释,任何几何图形都应当可以找到相应的精确或近似的代数描述。

而线性代数,则是将代数→几何、几何→代数之间的关系进一步升华——将静态几何对象变成动态的「动画」,而产生「动画」的基本机制就是是动态的代数几何关系——线性转换。一个线性转换,就像是视频或者GIF的一幅帧图。如果说,解析几何是从代数的角度研究几何,函数是通过几何图像解释代数,那线性代数则是完完全全将代数和几何融为一个整体,一个数学对象。

第二,线性代数让我们重新思考什么是数,让我们重新思考什么是数学,让我们重新思考数学和算学的区别,这不是学习全新的概念,而只是对已知概念的进一步升华与抽象度的提高。而这一点,和微积分很不相同,因为对极限概念的理解需要很高的概念提升门槛和质的飞跃,连续、变化、极限、无穷小等都是我们知识储备全无的概念。而线性代数中的基础概念,并不需要全新的革命性改变,而只是对小学数学基本概念的抽象度的提升。

我们已经知道,数,是计数和测量对所获得的量的符号表达。数的第一含义就是大小,有了大小,两个数就可以进行比较。从计数,我们获得了自然数的概念,从测量,我们获得了小数的概念。通过「切分」,我们获得了分数的概念,而更一般的有理数、实数和复数概念则是在加入计算后、特别是通过解方程这一基本数学活动得到。

对于数的第二次理解是通过正负数和数轴我们获得了方向的概念,数不仅有大小还有方向,只是此时数的方向仅限于 0°(向右)和 180°(向左)。而通过解方程,是我们认识了虚数,而虚数把方向扩展到了 90°(向上) 和 270°(向下)。

由于虚数的产生,我们对于数的理解就不再是一条直线上一字排开的线性序列,而有了立体感,数的几何概念,变成了平面。要确定一个数,需要两个部分,它的一般形式成为 a + bi。复数系的建立,有三个革命性的意义:
1. 数,不仅有大小、有方向,还必须有维度。有了维度,数的方向也就不再受限于几个特殊方向,在平面上,数的方向可以是任何方向。
2. 加法,被赋予了新的意义:除了可以表示同一维度上两个量的叠加,还可以表示维度的增加。例如复数的一般形式 a + bi,代表这个数是两个维度的。
3. 数轴,作为数的几何解释,成为更大维度的坐标系的一个部分。我们除了可以将平面直角坐标系的 x 轴和 y 轴看作是数轴之外,还可以把这个坐标系上的任何直线也当作数轴,也就是说,数轴也未必是水平直线,而可以是任何方向的直线。
有了任意数轴的概念,推而广之,平面直角坐标系,放在三维空间里,也可以看作是空间坐标系的一部分,这个平面直角坐标系可以出现在空间坐标系的任何位置。

所有这一切,使我们扩大了对「什么是数」概念的理解。数,是一个复合概念,有大小、有方向、有维度。而这些,正是线性代数要讨论的主题。

线性代数和我们过去学过的数学内容一个很大不同就是,它不再对个别的数学对象和运算,例如整数、有理数,加减乘除和解方程感兴趣,它所研究的对象是整个数系——包含了大小、方向和维度的复合概念的数的整体。我个人觉得,这是现代意义上的数学和传统意义上的「算学」的本质区别。我们中国有着非常令人自豪的数学传统和文献,例如数论中著名的 Chinese Remainder Theorem,就是关于一元线性同余方程组的定理,说明了一元线性同余方程组有解的准则以及求解方法。但是,中国的古代数学就像19世纪前的西方数学一样,都是专注于特定问题的解决,例如意大利人求解三次、四次方程。这样的求解具体问题的数学,在中国的传统中被称为「算学」,以算盘为计算器,求解特定的数学问题。而现代意义上的数学,亦即,从20世纪初开始的公理化数学,其研究视角,不再是个别的数学对象和数学问题,而是对象的整体——数学对象的集合。把数学对象的集合作为研究对象。这一点在线性代数、乃至所有数学领域中都得到了充分的体现。

对数学对象的整体而不是个别数学对象的研究,是现代数学的最大特征。通过线性代数的学习,我们可以进一步深刻认识代数的本质:代数的对象是【符号】的集合以及在这个符号集合上进行【操作的各种规则】。反过来,这种将研究对象从个别数学对象扩展到一个对象集合的研究又对研究个别问题提供了洞见和方法。例如伽罗瓦的群论,为解高次方程指明了方向:为什么五次和五次以上的方程没有一般的代数解,有代数解的高次方程和没有代数解的方程的区别在哪里。而线性代数的最大应用也是用来解多元线性方程组。虽然我个人不太赞成「线性代数就是解线性方程组的学问」的定义,因为解线性方程组仅仅是线性代数的应用之一,但无论如何解线性方程组是是线性代数的非常重要的应用,是学习线性代数在重要组成部分。所以,我们这里理解的现代意义上的数学(20世纪初开始的公理化数学),和传统的以解个别问题的「算学」的最大区别就在于系统性,以集合与运算规则为核心概念的研究。

第三、线性代数的学习,使我们可以见识什么是数学的代数化。我们在上面给出了代数的定义:
「代数是研究符号集合与该集合之上操作规则的数学分支」。这个定义的关键词是「集合」和「操作规则」,确定研究对象的集合,例如、数的集合、函数的集合、向量的集合、矩阵的集合、多项式的集合等,然后确定在这些集合之上可以进行哪些操作,进而确定这些操作的基本规则——公理,然后从这些公理出发进行推理论证,产生数学证明,获得数学定理。以这些公理、定理为工具可以解决许许多多的科学问题。把这一套系统理论化,我们可以得到一个抽象的数学概念:【结构】,这个过程就是数学的代数化。如果这个代数化的数学结构可以使用一阶逻辑语言表达,就称作数学的形式化,或者,该数学分支的公理系统。数学结构概念的建立和一阶逻辑语言的完美对接,形成了数学结构的语言接口,这使得数学更加精密完整。但是,在数学家们对这样的精致的理论感到赞叹的同时,另一方面,对学习数学的初学者来说,这样数学变成了晦涩难懂的天书,学习的噩梦,因为这样的数学,使得一些完全可以用日常语言理解的概念成为了数学代数化、公理化、形式化的牺牲品,使得大多数人视数学为畏途,谈数学而色变,数学成了少数学霸精英的乐园。

第四、学习线性代数,并不仅仅是学习其中的基本术语、概念,而是从中学习上面所指出的更本质的东西。但是现实是,所有的数学教科书、包括线性代数教科书在内,过多地强调了上面第三点的数学的形式化特性,以常人难以理解的一阶语言语法,加上大量的、在日常生活中从未出现过的术语和高度抽象的概念,使得这门学问成为曲高和寡的阳春白雪。我们需要这样的向导,不是从肤浅又高深的术语开始,而是从数学的本质出发,将那些抽象高深的概念抽丝剥茧,对接我们熟悉的现实世界。毛主席曾经说过:感觉到了的东西,我们不能立刻理解它;只有理解了的东西才能更深刻地感觉它。我们现在的数学教育,只是让我们的孩子通过刷题「感觉」数学,而从未将「理解」作为数学教育的本质。

那么,为什么数学的学习要从线性代数而不是从其它数学分支开始?除了上面列举的理由之外,还有以下几点:首先,现代意义上的数学,是一个综合体,它集成了本栏目公告栏中总结的六个方面。线性代数是这六个方面最典型的学科,也是学习其它学科的基础。这个基础就是上面所说的代数化——数学结构的学习。而与此相对应的微积分或者数学分析,是关于实数、连续和变化这三个概念的学问。但是这三个方面,只是数学本质的部分总结,我们现在尚无法完全对分析进行完全的公理化和代数化。同时,对于无穷、无限这些概念,是否已经从底层概念得到解决仍没有定论。第二、最重要的是,在数学的物理化——计算机化的过程揭示了分析学中的的大部分概念是形而上的、抽象的、只存在于意识中的东西,无法落地、具现化。要将这样的数学对象在计算机上实现,就必须要将其离散化,变成像线性代数那样的有着实证的、物理的基础的对象。例如,我们可以直接利用编程语言的数据类型编码向量、矩阵、多项式之类的数学对象,却无法描述理论意义上的极限概念。例如求面积,我们只能使用积分的数值解法,把无穷小的子面积ƒ(x)dx 离散化为一个确定的量然后使用有穷数量的加法完成整体面积的计算。而线性代数之所以能完美地和现代计算机上实现而不须经过所谓「数值化」亦即离散化过程。这固然和线性代数的本质——线性关系有关,但是不能否认的是,线性代数是完全代数化的数学分支,是学习数学结构——代数结构的最理想实例。有了对线性代数的深刻理解,就可以从代数结构的角度观察、审视其它数学分支,例如数论,例如分析等。更重要的是,线性代数提供了一个平台,使我们可以全面理解多种数学对象集合的共性:实数、向量、矩阵、函数和多项式,这个理解的基础就是代数结构。有了代数结构,就可以派生许多其它数学分支:代数数论、代数几何、代数拓扑、代数概率论,而微积分的代数化——代数微积分,目前也有人在尝试。总之,数学的形式化就是代数化,用代数结构作为统一的接口,这样就可以使用一阶逻辑语言进行统一的描述,为未来的数学完全算法化、自动化铺平道路。

我在本栏目的公告栏中列出了数学学习的六个方面,这六个方面,也是我们学习线性代数的学习指针和方向。这里再次列举如下:
1. 系统学习什么是抽象,抽象的过程、抽象过程后的结果、如何抽象,训练自己的思维从具体到抽象,从低度抽象到高度抽象的能力,充分认识、熟悉、理解各种不同抽象度的数学对象。数学的学习,其实学习各种不同抽象度的对象,不但认识当前所学对象的抽象度,还可以降维,获得抽象度较低一层数学对象的实例。理解抽象的现实工具是【集合】的概念以及相应的集合运算。

2. 学习数学的专用语言:一阶逻辑语言。数学之所以晦涩难懂同时被标榜严密精确,和数学所使用的语言不无关系。虽然中外教科书都使用自然语言,但我们会发现教科书中的数学语言和我们现实生活中的语言有很大的差异,而且这种差异不是零散的、偶然的、个别的现象,而是系统的、全面的差异。本质上,数学教科书中的语言是一阶逻辑语言的直译。同时,数学文本中使用了大量的符号,包括拉丁、希腊字母,特殊的非线性符号,如和、积符号、积分符号,极限表达式、矩阵等。这里需要注意的是:数学教科书中的定义只关心概念在当前抽象度上的意义,而不关心在下位抽象度的解释和说明,如果学习者没有达到和作者同等的抽象度的认知高度,那么书中的定义、说明、解释将是是毫无意义的,这就是数学难懂的最基础原因。我经常被一些同学要求提供学习数学教科书,但不幸的是,绝大多数教科书都是数学专业人士的作品,他们只是在他们自己的抽象度中解释需要解释的概念,术语,而不会降维解释。这就像你不会讲外语,我再怎么用外语解释外语,你仍然听不懂。所以,读懂数学文本的关键,首先是学习数学的语言,包括作为词汇的各种符号符号,一阶语言特有的语法,格式,以及对所有表达式的语义的理解。

3. 数学的学习包括了计算和证明两大活动。我们的教育这两种活动的教学是单向的,从解决问题本身出发,学习如何解类似问题。华罗庚先生在《数学归纳法》曾经提到,应当从正反两个方向解决问题,除了学会从教科书的示例从问题提出开始出发,获得已知条件,需要解决问题的工具,设置辅助条件,按照一定的规则、定义、定理和逻辑推理解决问题,还要学会从问题的答案反推这个问题是如何产生的。同学们在解一道难题,是否想过出这道题的老师是如何设计这道题的,要设计这样的题,需要哪些知识、包括数学知识、逻辑知识、知识合成、综合分析判断的知识等。因此解数学问题,其实是数学知识和逻辑知识的综合能力的体现。另一方面,我们在刷题过程中掌握了大量的「题型」,却不会从中得到算法的概念,然后从算法的角度理解做题的本质。第三方面是对证明题的掌握。证明题,说到底就是以数学内容作为推理论证的过程,除了理解各个数学对象之间的关系外,最主要的是掌握逻辑论证的方法,因为做证明题的过程就是逻辑推理的过程。

4. 数学抽象概念的实例化理解。这个和上面的第1、2紧密相关。我们通过学习抽象化过程,不仅可以将具体的对象集合抽象,可以将低抽象度的对象、概念抽行为高抽象度的对象、概念,还可以反向,将高抽象度的概念、对象、术语还原为低抽象度的概念、对象,把低抽象度的概念、对象抽象为具体的对象。这种从具体到抽象,从低抽象度到高抽象度双向的转换,是我们学习数学是最最重要、最基本的训练活动。但可惜的是,现在很少有人注意到、意识到这个问题,期望有人在这个方面给予我们指导更是不可能。

5. 数学的抽象和哲学的抽象有很多相似点,二者都是从形而上的角度解释世界。但二者的不同是,数学对世界的解释是微观的,详细的、严密的、精确的,逻辑的,而哲学对世界的解释往往是宏观的,叙述的,散列的,模糊的、定性的,逻辑的。如果认识到数学与哲学的这层关系,对于我们认识世界改变世界具有重大的意义。马克思说过,批判的武器不能代替武器的批判;毛主席也说过,人类认识世界的目的是改造世界。我们通过对数学和哲学对比的认识,可以利用数学作为解决问题的工具,同时,在有了哲学高度之后,对这个工具会产生新的认识,甚至可以依靠这种见识作为创新的源泉。

6. 数学中存在大量的术语,在有了上述的见识之后,术语的学习就变成了对新符号的解释问题。而解释,按照逻辑学术语,则是对符号与模型之间的绑定过程——将数学术语与现实经验的联系问题。

而实现上面的理念,线性代数是一个非常理想的平台。首先,我们可以通过线性代数,理解任何数学对象都有代数几何两个侧面,从而得到相关数学对象的抽象度,这个过程是我们训练自己学会从具体到抽象,从低抽象度到高抽象度的转换,训练自己学会反向转换;第二、学习公理化的形式语言——一阶逻辑语言;第三、对线性代数中的所有抽象概念、术语,可以根据抽象度降维的方式得到深刻的独特的理解。第四、通过做证明题,掌握逻辑论证的方法,做计算题,掌握算法的概念,以算法统领整个数学学习;第五、得到对所学习对象的高维度理解——哲学式的的理解。例如,向量空间,是一个抽象了所有多维对象集合体,它的实例表达可以是向量、矩阵、多项式、函数所抽象的所有实例的总和。这个问题的哲学命题就是——事物存在的方式、它们之间的联系以及运动(转换)的方式。

今后的【线性代数】系列,将从微观的角度探讨下列主题:
. 作为所有数学基础的【集合】,【结构】,这是学习线性代数和其它所有数学知识的前提和必须;
.【数】的起源:计数与测量;理论化:德国数学家外尔的「坐标化」
.【基】,是所有离散化数学对象的基本元素,是学习线性代数的起点
. 加法运算和乘法运算:是定义任何线性空间的基本工具;标量/纯量的概念
. 代数结构:集合 + 操作规则,线性代数是如何实现这个框架的
. 向量空间:复合代数结构,双代数结构的实例
.【基】概念在向量空间定义的基础:张成、线性独立性
. 一阶语言在线性代数的应用:公理化表示
. 解方程组:数学的算法化和计算复杂性
. 对数学对象的度量:行列式与内积空间
. 矩阵与算子的概念
. 特征值与特征向量
. 向量的变体:多项式——如何从高抽象度理解向量与多项式的统一
. 线性转换:向量空间内的动画科学与艺术
其它话题,将随时更新。

本系列作为将数学核心内容与逻辑融为一体的初步尝试,我将称之为「逻辑数学」—— 形式系统与代数结构形成的代数公理系统的实例——向量空间。这个尝试的目的则是通过一门最典型数学分支——线性代数展示数学逻辑中的形式系统,代数结构,形式语言的句法和语义,然后降维到一个合理的抽象度,以获得真正的理解而不仅仅是做题技巧上的熟练。

本系列的真正目的,是探索一条新的、更符合线性代数知识逻辑规律的、使初学者更容易接近的线性代数教学体系。

未来笔记系列中的思想灵感除了我的书单开列线性代数教科书、专著以外,还来自于下列三部文献:
<a href="https://book.douban.com/subject/25862912/">沙法列维奇《代数的基本概念》</a>,不过我读的是<a href="https://book.douban.com/subject/2868177/">英文版</a>
<a href="https://book.douban.com/subject/2036531/">柯斯特利金《代数学引论(第一卷)》</a>
赫尔曼·外尔的讲义稿《The Classical Groups》关于 coordinatization 的概念
这三本书都不适合没有基础的人自学,但如果你是数学物理学计算机专业且有导师辅导前两本书是非常好的参考书。

标签:应当,学习,概念,线性代数,抽象,数学,代数
来源: https://www.cnblogs.com/saif4lingua/p/15710105.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有