自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

枫叶

爱编程爱生活

  • 博客(60)
  • 资源 (1)
  • 收藏
  • 关注

原创 Redux入门教程

1 什么是ReduxRedux是一个流行的JavaScript框架,为应用程序提供一个可预测的状态容器。Redux基于简化版本的Flux框架,Flux是Facebook开发的一个框架。在标准的MVC框架中,数据可以在UI组件和存储之间双向流动,而Redux严格限制了数据只能在一个方向上流动。在Redux中,所有的数据(比如state)被保存在一个被称为store的容器中 → 在一个应用程序中只能有一个。store本质上是一个状态树,保存了所有对象的状态。任何UI组件都可以直接从store访问特定对象.

2021-08-27 09:53:38 787

原创 react Refs简单总结

2 Refs 转发Ref 转发是一项将 ref 自动地通过组件传递到其一子组件的技巧。对于大多数应用中的组件来说,这通常不是必需的。但其对某些组件,尤其是可重用的组件库是很有用的。最常见的案例如下所述。一般情况是用不到Refs这个东西,因为我们并不直接操作底层DOM元素,而是在render函数里去编写我们的页面结构,由React来组织DOM元素的更新1 为什么用到refs简单的来说就是处理DOM元素的focus,文本的选择或者媒体的播放等,以及处罚强制动画或者同第三方DOM库集成的时候。2

2021-08-19 22:26:08 217

原创 react Context 教程

1 ContextContext 提供了一个无需为每层组件手动添加 props,就能在组件树间进行数据传递的方法。在一个典型的 React 应用中,数据是通过 props 属性自上而下(由父及子)进行传递的,但这种做法对于某些类型的属性而言是极其繁琐的(例如:地区偏好,UI 主题),这些属性是应用程序中许多组件都需要的。Context 提供了一种在组件之间共享此类值的方式,而不必显式地通过组件树的逐层传递 props。1 何时使用 ContextContext 设计目的是为了共享那些对于一个.

2021-08-19 22:23:44 381

原创 vuex教程

在单页面组件的开发中 Vue的vuex 都统称为同一状态管理,简单的理解就是你在state中定义了一个数据之后,你可以在所在项目中的任何一个组件里进行获取、进行修改,并且你的修改可以得到全局的响应变更首先要安装、使用 vuex首先在 vue 2.0+ 你的vue-cli项目中安装 vuex :npm install vuex 接下来,在 main.js里面引入store,然后再全局注入一下,这样一来就可以在任何一个组件里面使用this.$store了:import Vue from..

2021-08-19 22:19:54 163

原创 react入门教程

1 react未分类1 jsx简介JSX是一种JavaScript的语法扩展,运用于React架构中,其格式比较像是模版语言,但事实上完全是在JavaScript内部实现的。元素是构成React应用的最小单位,JSX就是用来声明React当中的元素,React使用JSX来描述用户界面。 let text = <p>hello world</p>它被称为 JSX,是一个 JavaScript 的语法扩展。我们建议在 React 中配合使用 JSX,JSX 可以很

2021-08-19 22:15:50 345

原创 1045 Access denied for user ‘root‘@‘localhost‘ (using password: YES)

问题描述: 之前在mac 安转使用mysql后, 在更新了几次系统后 决定重新安装。 但是在安装成功启动是报错1045 Access denied for user 'root'@'localhost' (using password: YES)停止数据库sudo /usr/local/mysql/support-files/mysql.server stop打开终端依次执行 cd /usr/local/mysql/binsudo su./mysqld_safe --skip-..

2021-02-01 15:15:51 145

原创 python selenium教程(二)浏览器驱动

在安装好selenium中后是无法直接运行代码的。原因在于没有安装相关的浏览器启动, 对应每个浏览器启动的下载地址如下,Firefoxhttps://github.com/mozilla/geckodriver/releases Chromehttps://npm.taobao.org/mirrors/chromedriver IEhttp://selenium-release.storage.googleapis.com/index.html Edgehttps://developer....

2020-11-25 22:37:13 588 1

原创 python selenium 教程(-) 安装

https://www.selenium.dev/Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。此处详细记录自己的使用过程以及在使用过程中出现的坑以及解决方案, 本教程是基于python3,所以要确保安装oython3的开发环境以及了解python3的基本语法, 通过https://www.python.org/downloads/下载对应平台的python安装包。Man上安装完之后可以终端直接启动python,window...

2020-11-22 14:59:08 571 1

原创 Mac如何手动清除硬盘中的其他

一 背景使用Mac的人经常会发现一个问题, 当Mac使用一段时间过后会发现文档和安装的软件所占用的系统空间都比较少。而其他占据了大量的储存空间。更使人头痛的是即使你安装了第三方的垃圾清除软件但是收效甚微。而且Mac上的优秀清理工具价格也不是很便宜。 在此背景下也会有人选择重新安装系统。但是重新安装系统数据又是一个新的问题。二 其他文件详解“其他”中包含了很多不能够被苹果识别的文件,比如说,你的Mac可以很轻易的识别出音乐、图片、电影文件来,但是例如使用AE、PS后的工程文件,则不会被Mac识别出

2020-08-27 17:29:47 2289

原创 零基础入门python3.7 ——基础知识总结(二十九)包的创建及使用

一。包包可以简单的理解为必须包含了一个__init__.py模块的文件夹。 包的出现往往与实际项目的开发有着密切的关系。 例如在一个大型项目中。如果将所有的模块全部堆放在一个文件夹里显然不是一个明智的选择。 模块可以有效的避免类名。函数名。变量名等的冲突。 包的出现同样也解决模块名相同的问题。一个包下必须包含一个__init__.py的模块。 __init__.py可以是一个空模块也可以包含一些初始化的代码 __init__.py的作用是告诉python将此文件夹当成一个包来处理 __init

2020-06-08 22:14:41 350

原创 零基础入门python3.7 ——基础知识总结(二十八)创建自定义模块

一。自定义模块模块就是包含python代码的文件。 知道了这一点就可以新建模块并使用了。建立一个hello的python文件用于封装模块。代码如下:class Person: def __init__(self, name, age): self.name = name, self.age = age,class Cart: def __init__(self, color): self.color = color接下来再新.

2020-06-07 15:17:47 248

原创 零基础入门python3.7 ——基础知识总结(二十七)模块及使用

一 模块模块可以简单的理解为包含python程序代码的文件,任何程序代码都可以作为模块。二。模块的产生在实际开发中如果将所代码写在同一个或者几个文件中。随着功能的日益复杂就会导致代码的体积越来越大。不便于维护和重复利用。所以按照一个的规则讲代码写成不同的模块(一个个单独的文件)。以便提高代码的可维护性和重复利用。模块的可维护性体现在只需要找到需要维护的模块(文件)而不是去海量的代码中去寻找 模块的可复用性体现在在编程过程中需要那个模块的功能例如变量。函数。类等。不需要写重复性的代码。只需要

2020-06-06 15:10:20 279

原创 零基础入门python3.7 ——基础知识总结(二十六)多态和枚举类

一。多态面向对象的语言除了封装。继承还有多态。 多态必须满足两个条件继承 :多态一定是发生在子类与父类之间 重写 : 子类重写了父类的方法class A1: def defs(self): print("1")class A2(A1): def defs(self): print('2')class A3(A1): def defs(self): print("3")a = A1()a.defs()a .

2020-06-01 22:48:39 329

原创 零基础入门python3.7 ——基础知识总结(二十五)type()动态创建类和MetaClass元类

type()这个内置函数不仅可以检查数据类型。还可以创建一个类,一。type()函数的用法检查数据类型a = 1000print(type(a))b = 'python'print(type(b))<class 'int'><class 'str'>创建类。可以接受三个参数。第一个参数表示要创建的类名。第二个参数是一个元祖用于储存要创建类的父类。 第三个参数为字典 储存类内定义的属性和方法。class Person: name = "jack

2020-05-27 22:52:13 260

原创 零基础入门python3.7 ——基础知识总结(二十四)__slots__属性

我们可以动态的给单个实例对象添加属性。 甚至可以为所有的实例对象添加统一的属性。 同样的也可以i为类或实例对象动态的添加方法。而方法有分为实例方法。 静态方法和类方法。对于类来说这三种方法都可以添加。而对于实例对象来说只能添加实例方法。 不能添加静态方法和类方法。为单个实例对象添加方法不会影响其他的实例对象class Person: name = "小张"a = Person()def getName(self): print(self.name)a.getName = g

2020-05-24 22:36:49 235 1

原创 零基础入门python3.7 ——基础知识总结(二十三) 重写父类的方法和super()函数

一。重写父类的方法由于存在继承机制。所以子类可以继承父类的所有属性和方法。但是在有些情况下子类从父类继承的方法中,大部分是适合子类使用的。 但是有一部分方法不能直接照搬父类的。如果不对这些方法修改。那么子类是无法使用的。 所以需要在子类中重复父类的方法。示例对于所有的母鸡来说都可以行走。 而且都有翅膀。而且可以下蛋。class Hen: def LayAEegg(self): print("我会下蛋") def wing(self): pri

2020-05-21 22:38:09 372 1

原创 零基础入门python3.7 ——基础知识总结(二十二) 类的继承

一。类的三大特性封装 继承 多态二。继承继承机制通常用于创建和现有类功能类似的新类,或者是新类只需要在现有类的基础上添加一些新 的属性和方法。但又不想将现有类的代码复制到新类上。简而言之继承就是可以轻松的实现类的重复使用。示例一假设有两类汽车。一大一小首先小的汽车有自动挡和自动大灯的功能。 而大的汽车在具备了小汽车的两项功能后还有自动驾驶的功能。 不难发现这两辆车都具有相同的功能。 在创建类时最笨的办法就是把相同的代码写两遍。class Automobile: def fu

2020-05-19 22:17:28 294 1

原创 零基础入门python3.7 ——基础知识总结(二十一) 类的封装

一。python的封装机制面向对象的编程语言都有三个显著的特征。封装, 继承, 多态,所谓封装可以简单的理解为。在设计类时刻意的将属性和方法隐藏在类的内部。 这样在使用此类时。就无法直接以类对象.属性名或者类对象.方法(参数名)调用这些属性或方法。 而只能通过隐藏的类方法间接的操作这些隐藏的属性和方法。二。封装的好处保证了类内部数据结构的完整性。因为使用类的用户无法直接看到类中的数据结构。 只使用类允许公开的数据。 避免了外部对内部数据的影响。 对一个类实现良好的封装。用户只能使用类暴露出来的

2020-05-18 22:05:19 530

原创 JavaScript的引用类型(一)

一。Object类型通过new操作符后面跟Object()函数创建对象let obj = new Object()obj.name = 'Jack'obj.age = 23console.log(obj){ name: 'Jack', age: 23 }通过字面量创建let obj = { name : 'Jack', age : 23}console.log(obj){ name: 'Jack', age: 23 }通过点语法访问对象的属性l

2020-05-13 14:45:55 171

原创 JavaScript面向对象编程设计(五)

一。借用构造函数实现继承其思想就是子类的构造函数调用超类的构造函数function Person() { this.color = ["红色", '绿色', '黄色', '白色']}function Person1() { this.name = '小王' Person.call(this)}let a = new Person1()a.color.push("粉色")console.log(a)let b = new Person1()consol

2020-05-13 10:06:30 194

原创 零基础入门python3.7 ——基础知识总结(二十) 描述符和property()

一。描述符描述符简单的来说就是一个类。只不过他定义了另一个类中属性的访问方式。也就是说一个类可以将属性管理权委托给描述符类。二。描述符协议__set__(self,obj,type=None) 设置属性时调用这个方法 __get__(self,obj,value) 读取属性时调用这个方法 __delete__(self,obj)对属性调用del时调用这个方法在每次查找属性时。描述...

2020-05-07 22:38:04 197

原创 javaScript面向对象编程设计(四)

一。继承很对OO语言支持两种继承方式。 即接口继承和实现继承。 接口继承只继承方法签名,而实现继承则继承实际的方法,由于在javasc中函数没有签名,所以只有实现继承。二。原型链继承所谓原型继承的思想就是利用原型让一个引用类型继承另一个引用类型的属性和方法。由于每一个构造函数都有一个原型对象 而原型对象里包含着一个指向构造函数的指针。而实例对象有包含了一个指向原型对象内部的指针。这样一...

2020-05-05 22:25:01 164

原创 零基础入门python3.7 ——基础知识总结(十九) 类的方法

既然类的属性可以分类。那么方法也可以分类。 类方法可划分为实例方法。 静态方法 和类方法。采用@classmethod 装饰的方法称之为类方法。 用@staticmethod 装饰的称之为静态方法。不做任何装饰的称之为实例方法。一。实例方法定义在类中的默认方法都属于实例方法。 包括构造方法也属于一个特殊的实例方法class Person: def __init__(self)...

2020-05-04 17:21:21 254

原创 零基础入门python3.7 ——基础知识总结(十八) 类属性和实例属性

无论是类属性还是类方法。 无法像普通的函数或者变量一样在类的外部直接使用。可以将类看作是一个独立的空间。那么类属性就是在类中定义的变量。类方法就是在类中定义的函数。一。类属性的划分在类中且在函数体外定义的变量称之为类属性或者类变量 在类中且在函数体内部以seif.变量名定义的变量称之为实例属性或者实例变量 在类中且在函数体内部以变量名=变量值的形式定义的变量称之为局部变量二 类属性...

2020-05-03 17:09:55 337

原创 零基础入门python3.7 ——基础知识总结(十七) self详解以及对象动态添加方法

一。self的由来在创建类中无论是手动添加类的构造方法还是实例方法。 都会有一个seif参数。而且这个参数必须是第一个参数。实际上python中规定无论是构造方法还是实例方法。至少要包含一个参数。 至于参数的名称并没有强制的规定。只所以以self作为参数名只是程序员之间的一种约定俗成的写法。这样就可以提高可读性。开发中一看到self就知道应该怎么使用它。二。认识self假如说有一个关于...

2020-05-03 15:05:24 518 1

原创 零基础入门python3.7 ——基础知识总结(十六) 类和对象

一。什么是面向对象面向对象的编程是由面向过程发展而来的。 相比面向过程的编程语言面向对象的编程语言更具有扩展性和灵活性,其实面向对象是一种封装思想。 比如函数就是一种封装思想。二。面向对象的常用术语类:类是一个模版可以通过这个模版创建出多个实例。 例如。 可以把建造汽车的图纸看成类。 对象: 对象是不能直接使用的。 是通过类实例化而来的。 例如。可以通过汽车的图纸制造出真正的汽车...

2020-05-03 10:38:53 364

原创 零基础入门python3.7 ——基础知识总结(十五) python的特性归纳

一。 生成器我们可以通过生成列表来创建,但是由于内存是有限的与之对应的列表容器也是有限的。 假如要创建100万个元素的列表。 实际上只需要前几个元素。 那么多余的元素就会浪费大量的空间。 所以可以根据一定的规则可以在循环过程中推选出后续的元素。是、这种一边循环一遍计算的机制称之为生成器(generator)示例一把一个列表生成器[]改成(), 从而创建一个generatora = ...

2020-05-01 23:45:43 343

原创 javaScript面向对象的程序设计(三)

创建对象的模式除了工厂模式。 构造函数模式。 原型模式还有其他几种模式。一。 构造函数模式加原型模式这种模式可以简单的理解为。构造函数模式用来创建实例属性。而原型模式用于创建共享的属性和方法。这样的好处在每个实例属性都有属于自己的属性。又有共享的属性和方法。 很大程度上节约了内存。而且这种模式还支持构造函数传参。这种模式也是目前为止用的最广泛认可度最高的一种模式。function P...

2020-05-01 11:34:09 174

原创 零基础入门python3.7 ——基础知识总结(十四) python的特性归纳

一。切片示例1a = ['java', 'python', 'javascript', 'c', 'c++', 'php', 'css', 'html5', 'go']print(a[1:4])['python', 'javascript', 'c']表示从索引1开始到索引4结束,但是不包括索引4。示例2a = ['java', 'python', 'javascrip...

2020-04-28 22:49:58 334 3

原创 零基础入门python3.7 ——基础知识总结(十三) 函数高级

一。匿名函数匿名函数也叫lambda表达式。通常用来表示内部只有一行代码的函数。换句话说如果函数体只有一行代码则完全可以使用匿名函数表示。使用lambda关键字定义匿名函数。假如要求两个数的和。可以通过普通函数和匿名函数加以对比。示例一 普通函数def sun(a, b): return a + bprint(sun(100, 20))120示例二。匿名函数...

2020-04-27 23:00:56 669 3

原创 javaScript面向对象的程序设计(二)

前面介绍了创建对象的两种模式即工厂模式和构造函数模式。 除此外一javaScript还提供以下几种模式。一。原型模式按照js高级编程的定义。 每一个函数都有一个prototype属性。 这个属性也称之为原型 ,这个属性是一个指针。 指向一个对象。而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。 那么换而言之prototype就是通过调用构造函数创建出的那个对象的原型对象。 ...

2020-04-25 20:12:04 231 3

原创 零基础入门python3.7 ——基础知识总结(十二) 函数进级

python中的函数调用时除了对位传参。 关键字传参。默认参数以外还提供了以下传参方式。一。可变参数顾名思义可变参数就是参数的个数是可变的,可以是任意1个或者多个,由于参数的数量不确定所以我们要把实际参数定义为列表或者元组。def sun(arr): add_data = 0 for i in arr: add_data += i retur...

2020-04-22 22:41:27 359 6

原创 零基础入门python3.7 ——基础知识总结(十一) 函数进级

一。 函数的参数定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解。二。形式参数在函数定义时函数名后面括号中的参数就是形式参数,简称“形参”。def get_number_remainder(a, b): generate_...

2020-04-21 23:04:57 755 4

原创 零基础入门python3.7 ——基础知识总结(十) 函数基础

一。 函数从开始接触python就接触了函数。 例如input()函数用于获取用户键盘输入、print()函数用于输出结果、range()函数用于生成整数序列、len()函数用于获取序列的长度。不仅如此python还为我们提供了自定义函数。即将有规律,可重复使用的代码封装成函数,从而达到一次编写多次调用的结果。由此可见我们可以简单的认为函数是可以实现特定功能的代码块。二。函数的定义...

2020-04-20 22:59:12 1024 3

原创 零基础入门python3.7 ——基础知识总结(九)循环

一,为什么我们需要循环语句假设我们要计算1加到10的数字之和。 那么我们大不了计算10次。 假设我们要求1到100或者1000或者更大的呢?这显然不能一次一次的运算。 此时我们需要借助循环语句。二。 for-in循环a = ["java", 'c', 'js', "python", 'c++']b = ("java", 'c', 'js', "python", 'c++')...

2020-04-19 23:10:08 954 2

原创 零基础入门python3.7 ——基础知识总结(八)流程控制语句

一。 为什么会出现流程控制语句不难发现到目前为止我们的代码都顺序执行的即第一行执行完了在去执行第二行,然后以此类推, 假如说想打印不同分数段的评分。那么顺序结构是无法胜任的。所以条件语句由此诞生二。 示例一a = int(input("请输入分数:"))if a >= 60: print("及格")请输入分数:60及格此时我们运行程序。 当我们输入60时会...

2020-04-19 00:12:10 3991 9

原创 零基础入门python3.7 ——基础知识总结(七)集合(set)

一,集合 setpython中的集合和数学中的集合是一样的,用来保存不重复的元素。也就是说集合中的元素是唯一的。二。创建集合1。 使用{}创建a = {1, 3, "java", 'python'}print(a){1, 3, 'java', 'python'}2。使用set()函数创建a = set([1, 2, "java", 'python'])prin...

2020-04-18 12:02:58 1274 4

原创 WebStorm使用教程

WebStorm作为一款开发神器被大多数程序员所使用。 此处介绍一些在Mac上的常用功能。一。全局搜索command +shift + f双击选中的文件即可打开二。查看文件的历史代码三。 快速运行一个vue项目四,全局替换command +shift + r五。 单独运行一个js文件control +shift + r 或六。...

2020-04-16 11:49:33 6083

原创 零基础入门python3.7 ——基础知识总结(六)字典(dict)

一。 字典是一种无序的。可变的序列。他的元素以键值对的形式存在。字典中习惯将各元素的索引叫做键。键所对应的元素叫做值。 将键及其值称之为键值对字典的特征通过键而不是索引读取值 字典类型有时也称为关联数组或者散列表(hash)。它是通过键将一系列的值联系起来的,这样就可以通过键从字典中获取指定项,但不能通过索引来获取。 字典是任意数据类型的无序集合 和列表、元组不同,通常会...

2020-04-15 23:12:31 1169 3

原创 javaScript面向对象的程序设计(一)

面向对象 面向对象可以理解成具有类的概念。 可以通过类创建任意多个具有相同属性和方法的对象。由于javascript中没有类的概念。故和基于类的语言有所不同。 ECMA-262将其定义为无序属性的集合。 七属性可以包含基本值。对象和方法。 换种说法可以认为对象就是一组没有特定顺序的值。对象的每一个属性和方法都有属于自己的名字。 而每一个名字有有对应一个值。即常说的键值对。 理解对象...

2020-04-14 15:33:31 343

web面试宝典.pdf

本资源包含了web前端工程师各大面试题。 包含了html,css, javaScript, jquery, vue, get, ajax, es6 等。 还包含了常见算法题。 非常全面

2022-01-06

空空如也

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

TA关注的人

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