自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(120)
  • 问答 (19)
  • 收藏
  • 关注

原创 TypeScript学习笔记(二)

字符串字面量类型用来约束取值只能是某几个字符串中的一个。

2023-04-07 16:52:33 415

原创 Typescript学习笔记(一)

TypeScript基础

2023-04-06 20:15:44 854

原创 Webpack学习笔记(二)

1.DevServer当我们使用webpack指令对资源进行打包后,若后续有修改或者新增、删除一些资源或代码,将要重新进行打包才获得最新的代码打包,从而可以在浏览器看到最新的效果。但这样做往往过于麻烦,devServer可以帮助我们解决这个问题,实现在不手动重新打包的情况下,自动打包(构建),实现“热部署”。1.1 安装devServernpm i webpack-dev-server -D1.2 配置webpack配置文件在webpack.config.js中定义一个devServer对象:

2021-12-13 15:56:44 465 1

原创 Webpack学习笔记(一)

1.基础1.1 什么是webpackwebpack 是一种前端资源构建工具,一个静态模块打包器(module bundler)。在 webpack 看来, 前端的所有资源文件(js/json/css/img/less/…)都会作为模块处理。 它将根据模块的依赖关系进行静态分析,打包生成对应的静态资源(bundle)。1.2 webpack的五个核心概念1.3 webpack初体验全局安装npm i webpack webpack-cli -g本地安装npm i webpack webp

2021-12-13 15:54:47 417 1

原创 mongodb远程连接出现connect ECONNREFUSED(连接被拒绝)错误的解决方法

情况一:MongoDB IP配置问题mongodb的配置文件中的bind_ip 默认为127.0.0.1,默认只有本机可以连接。 此时,需要将bind_ip配置为0.0.0.0,表示接受任何IP的连接原因:云服务器中安装MongoDB后(默认端口27017),默认绑定IP为 127.0.0.1 ,这就导致外部无法访问;解决方案: 修改mongod.config配置文件,添加 bind_ip=0.0.0.0 绑定公网IP;重启mongodb服务情况二:服务器安全组配置问题Mongodb的默认端口

2021-11-02 16:55:36 45385 3

原创 写个小爬虫:camera360一拍即传照片直播平台 照片一键下载

爬取平台:http://www.yipai360.com/ 一拍即传 照片直播平台爬取链接示例:http://y.camera360.com/photolivepc/?orderId=201811141356497209&collectUrl=https://y.camera360.com/photolive/collect?name=dashu_equestrian&channel=h5&from=singlemessage&isappinstalled=0&ch

2021-09-27 20:05:06 1565

原创 MVC和MVVM的区别

MVC是后端的分层开发概念(Model——数据的CRUD,View——前端页面,Controller——路由等控制器)。以Nodejs为例:MVVM是前端视图层概念,主要关注于MVC中View视图层的分离,也就是说,MVVM是MVC中V的展开。通俗来说,就是把前端的每个页面分成为M、V、VM三个部分。M:每个页面中单独的数据V:每个页面中的DOMVM:调度者,分割了M和V,每当V层想要获取或保存数据时,都要VM做中间处理。将MVC和MVVM放在一起整体看待:在vue中,我们使用这样的语法

2020-10-11 09:58:18 200

原创 ES6 Promise深度理解

1.Promise对象初探Promise实例生成以后,可以用then方法分别指定resolved状态和rejected状态的回调函数。promise.then(function(value) { // success}, function(error) { // failure});2.有关Promise、then的执行时机Promise 新建后就会立即执行。then方法指定的回调函数,将在当前脚本所有同步任务执行完才会执行。let promise = new Promise(f

2020-10-11 09:57:45 214

原创 Vue2.5学习笔记(八)使用Vue Router

1.什么是Vue RouterVue Router 是 Vue.js 官方的路由管理器。包含的功能有: 嵌套的路由/视图表 模块化的、基于组件的路由配置 路由参数、查询、通配符 基于 Vue.js 过渡系统的视图过渡效果细粒度的导航控制 带有自动激活的 CSS class 的链接 HTML5 历史模式或 hash 模式,在 IE9 中自动降级自定义的滚动条行为2.如何使用Vue Router导入import Router from 'vue-router'使用Vue.use(Rout

2020-10-11 09:56:39 528

原创 CSS中的BFC详解:定义、触发方式及应用场景

文章目录1.什么是BFC?2.如何触发BFC?float不为noneposition不为relative和static(position的值为absolute或者fixed)overflow为auto、scroll和hidden(overflow的值不为visible)display的值为inline-block、inline-flex、flex、flow-root、table-caption、table-cell。3.BFC可以解决什么问题?3.1 解决浮动元素令父元素高度坍塌的问题3.2 解决自适应布局

2020-09-29 12:10:22 1356

原创 Javascript函数柯里化及其应用场景

1.什么是柯里化柯里化,英语:Currying,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。2.柯里化的用途参数复用看下面这个例子:function uri (protocol,hostname,pathname){ return `${protocol}${hostname}${pathname}`;}const uri1 = uri("https://","www.csdn.net","/blo

2020-09-29 10:48:38 3516 3

原创 原生Javascript手写call、apply和bind方法

文章目录1.Call1.1 回顾Call1.2 手写call调用call时不传其他参数调用call时传递其他参数2.Apply2.1 回顾Apply2.2 手写apply3.Bind3.1 回顾Bind3.2 手写bind1.Call1.1 回顾Callfunction person(){ console.log(this.name); if(arguments.length <=1 ) return; for(var i=0;i < arguments.lengt

2020-09-27 21:04:16 589

原创 Vue2.5学习笔记(九)使用Vuex

1.什么是Vuex?官方定义:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex和全局变量的区别Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。这样使得我们可

2020-09-20 11:15:07 469

原创 2021秋招前端笔试题部分总结

1.下面这段程序输出什么?(function(a){ this.a = a; return b => this.a+b;}(function(a,b){ return a;}(1,2)))console.log(a,b);2.keydown和keyCodekeydown事件的event.keyCode是什么?keydown事件在按下键盘上任意键(文本框发生变化之前)被触发,且按住不放会重复触发,当按下的键是数字字母字符键是,它的keyCode属性值与ASCII

2020-09-17 11:37:04 1686

原创 Vue2.5学习笔记(七)使用Axios发起ajax请求获取数据

1.安装Axiosnpm intall axios2.引入import axios from 'axios'3.使用由于页面(页面也是一个组件)是由各个不同的功能组件组成的,例如下面这个页面:各个组件都有自己的数据需要从服务器请求,在请求Home页面时,可以让各个页面分别发起ajax请求,但这样下来一个页面将会发起多个请求,导致页面性能降低。因此,推荐一个页面仅由承载该页面的父组件发送一个ajax请求,再通过父组件给子组件传值的方式将数据传递给子组件。我们在父组件的mounted生命周

2020-09-13 22:20:15 252

原创 Vue2.5学习笔记(六)使用vue-awesome-swiper插件实现轮播图

1.安装插件地址:https://github.com/surmon-china/vue-awesome-swiper npm install swiper [email protected] --save2.

2020-09-12 14:08:17 208

原创 Vue2.5学习笔记(五)如何进行组件化开发?

第1步:新建组件文件HomeHeader.vue<template> <div class="header"> <div class="header-left"> <span class="iconfont">&#xe624;</span> </div> <div class="header-input"> &

2020-09-11 21:37:39 201

原创 Vue2.5学习笔记(四)Vue-cli脚手架入门

使用的脚手架版本为2.0+1.初始化项目vue init webpack projectname启动项目:npm run dev2.项目的目录结构config目录:dev.env.js 开发环境配置信息index.js 基本配置信息prod.js 生产环境配置信息3.Vue中的单文件组件在main.js中,声明了一个根组件并将其挂载在id的app的元素上。以往我们定义组件,会通过Vue.component()或者 var componentName = {}的形式定义

2020-09-11 21:15:26 332

原创 Vue2.5学习笔记(三)动画

1.Vue中CSS动画原理现有页面如下:通过按钮可以控制文字的隐藏和显示。现在的需求是:为文字的隐藏和显示添加渐隐渐现动画效果。Vue 提供了 transition 的封装组件,将需要应用过渡效果的组件包裹在transition内: <transition> <h1 v-if="show">Hello,World!</h1> </transition>动画原理: /* 渐显

2020-09-09 21:41:32 254

原创 Vue2.5学习笔记(二)深入了解组件

1.组件使用的细节1.2 子标签内使用组件假设想在表格便签内使用一个组件作为行,直接使用组件是不行的,原因在于tbody内只能放tr便签,否则浏览器就会将tbody内的标签解析到外面,从而导致结构的错乱。为了解决这个问题,我们可以使用is特性,将is特性设置为组件名称,这样既保证了tbody和tr之间的层级关系,也使用了组件。1.2 非根组件的data必须是一个函数一个组件的 data 选项必须是一个函数,因此每个实例可以维护一份被返回对象的独立的拷贝。1.3 在Vue中操作DOM:使用ref

2020-09-08 14:57:16 3844

原创 Vue2.5学习笔记(一)基础部分

1.Vue实例我们通过new操作符创建Vue实例:var vm = new Vue({ el:"#app", data:{ }})这样创建出来的Vue实例是一个根组件(只有根组件有el属性),其他组件也都是Vue实例,Vue实例有它的实例属性和方法,均以$字符打头:vm.$elvm.$datavm.$destory()像以这样的方式创建的组件,也是Vue实例: // 全局组件 Vue.component("TodoItem",{

2020-09-07 11:17:12 266

原创 移动端Web开发(二)响应式布局

1、什么是响应式布局一个网站兼容多种终端,而不是为多个终端分别开发多个版本。对不同屏幕尺寸(大小)做出响应,并进行相应布局的一种移动Web开发方式。2、响应式布局的原理关键点:如何响应不同的屏幕尺寸——媒体查询在不同的断点下写不同的样式3、栅格系统栅格系统是响应式布局的一种实现方式。...

2020-09-03 22:57:48 390

原创 移动端Web开发(一)移动端开发的基本概念

1.物理像素物理像素(physical pixel)也叫设备像素(dp:device pixel),物理像素与设备相关,例如:19801080,10807202.CSS像素CSS像素又称逻辑像素(logical pixel)或设备独立像素(dip:device independent pixel),它与设备无关,是实际开发中使用的像素,例如200px,100px3.设备像素比设备像素比(dpr:device pixel ratio)dpr = 设备像素 / CSS像素(缩放比是1的情况下)

2020-09-01 11:18:47 899

原创 ES6学习笔记

1.什么是ES6ECMAScript是Javascript的标准,js是ES的实现;主流实现只有jsES6的正式名称是ES2015,是ECMA标准的第6版2.变量(常量)var声明的缺点用var声明的变量可以重复声明。var a=1;var a=2;用var声明的变量难以控制修改var GIT_HOST = 'github.com'// 看似声明了一个常量,但实际是一个变量,可以被重新赋值块级作用域ES5 var 的作用域——函数级ES6 let 的作用域——块级(const也

2020-08-31 22:14:52 217

原创 Javascript中的事件循环机制(Event Loop)详解(4个步骤彻底搞懂)

步骤一:通过一段2分钟的视频动画进行初步了解:2分钟了解 JavaScript Event Loop(宝藏视频,必推~)步骤二:一篇博文,深入了解事件循环机制:js事件循环机制(浏览器端Event Loop) 以及async/await的理解步骤三:夯实基础,查漏补缺:Js 的事件循环(Event Loop)机制以及实例讲解步骤四:一道面试题,检测所学:console.log('script start')async function async1() { await async2()

2020-08-17 10:38:22 750

原创 vue-cli中的slot插槽

在项目根目录/components目录中定义带有插槽的组件插槽部分用slot标签标示<template> <div> <h1>插槽测试</h1> <slot> <!-- 引用此slot的地方,在slot标签内自定义的内容,将会自动被添加到此插槽内 --> <!-- 相当于在这里预留了一个DOM位置 --> </s

2020-07-27 11:18:32 855 1

原创 vue cli中的vue-router详解:四种跳转方式

文章目录Vue-router1.最基本的跳转2.带参数的基本跳转3.通过query来定义地址栏键值对参数4.通过js跳转Vue-router1.最基本的跳转<router-link to="/demo1">demo1:Hello,world</router-link>2.带参数的基本跳转<router-link v-bind:to="{name:'demo1',params:{userId:123}}">跳转到demo1穿参123</router-li

2020-07-27 09:36:42 2980

原创 javascript面向对象 学习笔记(五)模块

1.CommonJS(node环境的写法)circle.jsconst _radius = new WeakMap(); // 弱映射实际上就是字典,字典里面的键是对象,而值可以随意 // 之所以被叫做“弱映射”,是它的键很弱,一旦没有引用就会被垃圾回收机制回收。class Circle{ constructor(radius){ _radius.set(this,radius); } draw(){ console.log('circle

2020-07-27 08:55:52 115

原创 Sass学习笔记:从安装、基础语法到实现今日头条页面案例(一文到底)

1.什么是Sass“Sass是世界上最成熟、最稳定、最强大的专业级CSS扩展语言!”Sass是一个CSS预处理工具Sass的工作流程:Sass能帮助我们解决什么问题?嵌套规则通过花括号的方式解决复杂的css父子样式嵌套问题变量规则通过变量将公共样式抽离,减少冗余css代码条件逻辑向高级语言一样编写逻辑性的css代码...

2020-07-25 23:45:09 537

原创 Vue学习笔记(二)网络应用

1.axios简介axios是一个功能强大的网络请求库GET请求格式:axios.get(url?key=value&key2=value2).then(function(response){},function(err){})POST请求格式:axios.post(url,参数对象).then(function(response){},function(err){})导入:<script src="https://unpkg.com/axios/dist/axios.min.js"&

2020-07-24 14:35:22 115

原创 Vue学习笔记(一)基础、本地应用

1、第一个Vue程序<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Vue</title> <script src="https://cdn.jsdeli

2020-07-24 10:59:10 232

原创 javascript面向对象 学习笔记(四)ES6中的类(Classes)

文章目录1、基本2、置顶(Hoisting)3、实例方法和静态方法4、深入讨论this关键字5、ES6环境下如何私有化属性5.1 方法一:使用Symbol5.2 使用WeanMap(弱映射)实现对象成员的私有化6、get和set方法7、继承8、方法重写9、练习:实现栈类1、基本之前,我们这样写对象:function Circle(raduis){ this.raduis = raduis; this.draw = function(){ console.log('dra

2020-07-23 15:58:34 268

原创 javascript面向对象学习笔记(三)原型继承和多态

1.一个简单的例子function Shape(){}function Circle(radius){ this.radius = radius;}Shape.prototype.duplicate = function(){ console.log('duplicate');}Circle.prototype.draw = function(){ console.log("draw");}const s = new Shape();const c = new

2020-07-23 14:06:16 176

原创 javascript面向对象 学习笔记(二)继承

文章目录1.原型链(继承链)2.属性描述3.构造方法的原型4.实例成员和原型对象成员5.枚举对象原型的成员javascript中只有对象而没有类,当我们只有对象的时候如何引入继承?在javascript中的每一个对象,除了一个特殊的,都有原型,它们都从原型继承所有的成员。1.原型链(继承链)当我们调用一个方法或属性,javascript引擎首先在这个对象里找目标,如果它找不到,它就会到对象的原型里找,如果还是找不到,它就会到原型的原型里找,一直往上找,直到找到或报错。2.属性描述let pe

2020-07-11 17:48:00 187

原创 javascript面向对象 学习笔记(一)对象

1.对象的创建1.1 对象创建语法const circle = { radius:1, location:{ x:1, y:1 }, draw:function(){ console.log("draw"); }};1.2 使用工厂函数创建对象function createCircle(radius){ return { radius, location:{

2020-07-11 15:39:52 171

原创 JavaWeb MVC模式的原则

MVC模型M——Model 模型:javabean(entity)进一步分出serviceservice(Service层叫服务层,被称为服务,粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里也就不会是一个原子操作了,需要事物控制。)和daodao(DAO层叫数据访问层,全称为data accessobject,属于一种比较底层,比较基础的操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封装了增删改查基本操作,建议DAO只做

2020-05-27 16:02:14 272

原创 MySQL8.0出现服务正在启动,MySQL 服务无法启动的解决方法

1.先执行 mysqld --console 查看报错信息2.大概率情况下是数据库默认端口3306被占用如何解除占用?先查看3306端口的运行情况:netstat -aon|findstr “3306”>netstat -aon|findstr “3306”TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 2964>tasklist|findstr “2964”mysqld-nt.exe 252 Console 0 17,820 K由此可以看出是mys

2020-05-18 11:53:35 8561 4

原创 Tomcat成功启动但无法通过8080端口访问默认页面的解决方法

Tomcat 版本:8.5.5服务器版本:CentOS 7.5问题描述:安装完JDK和Tomcat版本之后,使用sh bin/startup.sh命令启动tomcat成功,但无法在浏览器通过ip:8080访问到默认页面解决方案:步骤一:在服务器端配置安全组,放开8080端口(为保险起见,建议同时放开下图所示的端口),然后重启服务器。步骤二:配置Linux防火墙,放开8080端口Centos 7使用firewalld代替了原来的iptables。开启端口: firewall-cmd --zo

2020-05-12 16:57:01 5034 1

原创 NodeJs学习笔记:验证和授权(Authentication and Authorization)

1.基本概念Authentication:认证,就是验证一个用户是不是它所声明的身份的过程。Authorization:授权,就是判断是否用户有做某件事的权利。2.准备工作为以前的vidly项目添加用户注册和登录模块。注册模块:models/user.jsconst mongoose = require('mongoose')const Joi = require("joi");const userSchema = mongoose.Schema({ name:{

2020-05-11 11:42:41 4370

原创 Nodejs学习笔记:模型关系

1.方式一:引用文档假设我们预先定义好了一个模型Auther,现在我们在创建Course模型时,需要设置一个指向Auther集合的id引用链接。注意,此处并没有创建关系,因此可以用非法值来保存数据。我们在创建course对象时,需要显式指定实现创建好的Auther对象的_id:通过这样的方式构建出来的“关系”,当我们使用find方法时,只会显示id,而不会显示其他内容:若我们需要显示...

2020-05-08 11:48:28 179

空空如也

Three.js如何实现物体跟随鼠标晃动的效果?

2023-11-29

Node.js处理文件下载时,调用IDM时会重复发起请求且文件路径莫名乱码

2021-04-15

求助:Nginx+Gunicorn部署 Django后遇到Not Found错误

2020-03-09

Tkinter使用filedialog读入JSON文件返回文件流如何处理

2019-11-18

Servlet遇到java.lang.NullPointerException问题无法解决,恳求帮助

2019-06-05

数据结构:二叉树层次遍历问题

2019-01-02

【数据结构】用邻接表存储图的简单问题

2018-12-25

C语言问题:约瑟夫环,程序出了点毛病,求大佬帮助

2018-12-05

【数据结构】一个简单的问题,向各位大佬求助

2018-12-02

【数据结构】求大佬帮忙看一下这个错误是怎么回事?(用栈实现带括号的多位数四则运算器)

2018-11-28

【数据结构】用栈实现的带括号的多位数四则运算器

2018-11-27

【数据结构】指针和链表问题,求大佬解答

2018-11-27

【数据结构】求助:一个简单的单链表问题

2018-11-25

【C语言】结构体数据处理异常问题

2018-11-25

【C语言】有关不同算法的精度问题

2018-11-22

【C语言】结构体数组作为函数参数的排序问题

2018-11-21

【C语言问题】同一个问题利用指针的两种实现,另一种出现问题,求大佬解答

2018-11-21

【C语言】有关数组转置与指针应用的题目,求大佬解答

2018-10-31

C语言编程:程序运行总会在一个地方出错,如题

2018-10-24

求助,一道很简单的java/C编程题,想了很久还没有解决

2018-10-04

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

TA关注的人

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