自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 服务器推送

一、引入随着网络应用的发展,越来越多的信息需要进行交互。在一些实时性要求较高的应用中,比如电商的商品余量信息,需要不断地发起网络请求,进行验证更新,以往的Http一次请求,一次响应的状态已经渐渐不能满足需求,这时服务端信息推送,就显得十分重要了。二、以往的解决方案在服务端推送技术没有出现之前,人们为了实现软件产品功能,使用了轮询的技术进行需求实现。说的通俗一点,就是写一个死循环,不断发起网络...

2019-09-22 20:58:45 473

原创 web文件上传

一、引入随着web应用的发展,越来越多的web应用变得丰富起来,文件操作成为了软件的刚需。如何使用浏览器来进行多种方式的文件上传,并通过nodejs来处理上传的文件呢?下面我们就文件上传展开分析。二、选择文件首先要想上传一个文件,最起码得让浏览器知道,上传的文件究竟是哪一个。两种选择文件的方式1.input文件选择在浏览器的input标签中当type属性为file时,当点击触发了这个标...

2019-09-11 21:16:34 575

原创 前端HTML5桌面通知

一、引入Notification API 是 HTML5 新增的桌面通知 API,用于向用户显示通知信息。该通知是脱离浏览器的,即使用户没有停留在当前标签页,甚至最小化了浏览器,该通知信息也一样会置顶显示出来。通过这种方式,就可以利用浏览器来为用户推送消息啦。FaceBook的web版本,就已经应用了这个新特性。**注意:**这个H5特性兼容性,不是特别好。建议在新版chrome,Firefo...

2019-09-10 18:33:47 2643 1

原创 nginx常用功能配置

nginx使用1.什么是nginxNginx (engine x) 是一个高性能的HTTP和反向代理web服务器。它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现...

2019-06-27 21:16:46 1521

原创 js函数作用域

一、作用域js中所有的变量,都有自己的作用域。当我们要访问变量时,必须要在规定的作用域下才能访问的到。首先作用域这个名词,它针对的是变量,产生于函数的层级关系。也就是说,因为函数的嵌套使用,在不同函数层级中声明的变量,才出现了不同的作用域。二、作用域的形成上边我们知道了,js中的作用域是因为函数的层级关系所形成的。要想研究作用域具体是如何形成的,就要深入了解一下js中函数的执行。通过阅读EC...

2019-06-20 09:07:20 2641

原创 判断js中的数据类型的几种方法

一、概述判断js中的数据类型有一下几种方法:typeof、instanceof、 constructor、Object.prototype.toString。这篇文章来分析一下这几种方式底层原理,比较一下他们的区别。二、typeoftypeof 是最常用的判断数据类型的方法,我们可以利用 typeof 来判断number, string, object, boolean, function,...

2019-05-18 22:22:06 569

原创 meta标签

简介metadata(元数据),是用于描述数据的数据。它不会显示在页面上,但是机器却可以识别。作用meta常用于定义页面的说明,关键字,最后修改日期,和其它的元数据。这些元数据将服务于浏览器(如何布局或重载页面),搜索引擎和其它网络服务(对于网页也来说,metadata就是通过一些字段信息来描述一下当前网页,以便浏览器和搜索引擎在访问到此网页的时候,可以通过这些描述信息来知道如何去解析此网...

2019-05-18 14:26:05 710

原创 浏览器console命令

一、概述作为一名前端开发人员,在调试中使用最多的就是console命令,通过console命令可以在控制台打印一些信息,这些信息便于我们进行开发调试。工欲善其事必先利其器,这篇文章主要来讲一讲console的神奇功能。二、console是什么我们平时总是在使用console,但是console到底是啥呢?下面我们就在控制台打印一下通过打印的结果,很显然console是一个挂载在windo...

2019-05-18 13:54:34 26090

原创 Web应用服务网络扩展

一、概述对于一个简单的web应用,可能只需要一台性能一般的服务器就可以搞定。但是随着网络应用的推广,越来越多的用户需要获取到网络服务。比如你的网站,网上商店,社交网络,你把它放在网上,每天有几百个访问者经过你的网站,请求迅速得到回复,订单被立即处理,一切都在顺利地进行着。但是可怕的事情发生了:你成功了!越来越多的用户涌入,数以千计,数万,每小时,分钟,秒…对于你的生意来说,这是好消息,可对你的...

2019-05-18 00:29:58 1952

原创 MongoDB学习笔记

一、什么是MongoDBMongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文...

2019-05-12 22:39:06 4942 2

原创 分析游戏策略提升算法

一、引入近日,宿舍一位哥们总是若有所思,神情恍惚,我一问原来是在思考一个高深的问题。他在游戏(凯瑞甘生存2)中遇到了一个问题。在游戏的每一局中有一个关键人物需要购买,更早买到这个人物就可以获得战局的更大优势。如何尽早积累到足够的资源,就变成了一个问题。下面的具体的游戏规则:初始资金 105资源提升速度 2个/秒目标金额 4000产品1:花费75;提升经济增速:0.25个/秒产品2:花...

2019-04-28 17:56:51 1082

原创 Web 存储

一、引入​ 随着移动网络的发展与演化,“WebApp”在应用中占比也越来越大。WebApp 优异的性能表现,有一部分原因要归功于浏览器存储技术的提升。但是cookie存储数据的功能已经很难满足开发所需,逐渐被WebStorage、IndexedDB所取代。二、cookie1.cookie是什么?​ Cookie是最早应用的前端存储,但是Cookie 的本职工作并非本地存储,而是“维持状态”...

2019-04-27 23:14:27 472

原创 Webpack学习笔记

1.什么是webpack​ webpack 是一个模块打包器。webpack 的主要目标是将 JavaScript 文件打包在一起,打包后的文件用于在浏览器中使用,但它也能够胜任转换(transform)、打包(bundle)或包裹(package)任何资源(resource or asset)。webpack的主要作用打包资源提升兼容性实现按需加载2.为什么要使用Webpa...

2019-04-07 13:08:19 210

原创 网络测试命令

1.Pingping是个使用频率极高的实用程序,主要用于确定网络的连通性。Ping命令测试的原理是要求连接的ip返回一个一个指定大小的内容包。通过监控返回内容包所花费的时间来判断网络的链接状态。链接状态如果ping运行正确,大体上就可以排除网络访问层、网卡、Modem的输入输出线路、电缆和路由器等存在的故障,从而缩小问题的范围。链接质量ping命令能够以毫秒为单位显示发送请求到返...

2019-04-07 12:25:46 501

原创 mysql-ip权限操作与限制失效问题

一、背景由于最近在github上的多人合作项目,涉及到了后台链接数据库。为方便统一管理数据库,保证数据一致性,开发时大家统一连接到远程数据库(数据库架设在腾讯云上)。但是由于项目属于github开源项目,所以存在数据库链接相关的密码从后台代码中泄漏的问题。一般的解决方案,就是每次上传前,手动删除密码,来确保密码不会被泄漏。当然这是一种解决方案,但是每次上传都需要删除,下载后又要添加,实在是很...

2019-01-25 15:28:53 1840

原创 linux安装mysql8.0 没有初始密码 ERROR 1045 (28000)

这个一个linux安装mysql的大坑​ 在安装时,可能会出现初始化没有输出默认密码的情况,导致不知道初始密码无法登陆的问题。尝试登录时,就出现(反正输不输密码都有问题,都登录不上):# mysql -u root -pEnter password:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using p...

2019-01-24 15:29:03 7526 2

原创 git学习笔记

1.什么是git​git是一个分布式版本控制系统。换句话说,git就是一个文本历史版本管理工具。它可以管理文件的修改,并记录下来每次操作的修改部分。在Git管理下,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。2.创建版本库这个库其实就是本地的一个路径,只不过这个路径下的文件,是被git管理的。git init #在当前目录创建git库...

2019-01-23 12:04:41 405

原创 数据库学习笔记

一、数据库概念数据库:按照数据结构来组织、存储和管理数据的仓库。数据库相比文件存储,在操作时速度会更快。日常使用最多的就是关系型数据库。1.关系型数据库:1.数据以表格的形式出现2.每行为各种记录名称3.每列为记录名称所对应的数据域4.许多的行和列组成一张表单5.若干的表单组成database2.术语:数据库: 数据库是一些关联表的集合。数据表: 表是数据的矩阵。在...

2019-01-20 02:49:53 1609

原创 跨域请求与访问

一、什么是同源策略,什么是跨域同源 :在互联网中,两个网络地址的协议,域名,端口号都一致,则表示同源。同源策略:一种在同源地址之间进行信息交互的方式。跨域:在某些情况下,需要进行在不同源的网络地址之间进行信息交互。二、为什么要使用同源策略在Web中,存在两端,一个是前端(客户端),一个是后端(服务端)。这两端之间,一般是通过网络进行通信。但是在通信中,前端和后端无法确定,和自己正在通...

2018-12-13 19:45:57 816

原创 Node后台邮件服务器

一、使用场景在项目整体的实现中,我们可能需要使用邮箱来提供一些服务,或是发送一些重要的信息。这时我们的后台就需要使用邮箱服务器来提供服务。常见的场景有:邮箱注册时的验证邮箱密码找回后台崩溃并邮件报告管理员接收一些用户的邮件反馈二、邮件服务器原理1.发送邮件单一的node后台其实本身并没有发送邮件的功能,要想实现发送邮件的效果,还是需要借助一个邮箱来实现邮件的发送。流程:前端提...

2018-12-11 20:45:55 5663 2

原创 COS对象存储

1、为什么需要对象存储随着移动互联网的快速发展,数据量出现了井喷式的增长,数据的类型也越来越丰富。在这样的状况下,传统存储已经体现出了一些弊端:原来的传统存储在容量上已经不能满足存储的需求。数据类型的丰富,已经不再是简单的数据库存储,传统存储无法适应。在传统存储的扩展时,可能由于技术原因,无法将原来的数据与扩容的部分相整合。2.COS存储的优势COS对象存储,可以很好解决这个问题...

2018-11-28 20:19:21 8488

原创 gulp代码压缩命令及问题

一、压缩目的通过进代码中的空格和缩进删除,减小文件大小,提升访问速度。压缩比例还是比较大的,原来10kb的js代码,压缩后只有6kb。二、使用方法这里使用的是linux系统,gulp的安装。1.首先需要安装好node​ 因为gulp是基于node运行,和npm下载和管理的。2. 全局安装gulpnpm install -g gulp这里有时候会出现问题,明明显示安装成功,但运...

2018-11-09 01:05:38 1217

原创 回调函数

一、引入我们知道js都是单线程的,也就是说同一时间,只能执行一个函数,但是js的某些操作需要间隔一段时间,比如发送一个ajax请求。为了提高程序的效率,我们开创了异步操作。具体参考我的另一篇博客:https://blog.youkuaiyun.com/konghouy/article/details/83317909 但是我们怎么知道异步操作是否结束呢?这就需要使用回调函数。二、内容1.什么是回调函数?...

2018-10-25 00:52:23 522

原创 js代码执行顺序

一、引入​ 我们都知道js是一种单线程的脚本语言,但是有时竟然会提到js的异步操作,这是什么鬼,单线程竟然会出现异步操作?异步操作不是只有多线程才会有的吗?这一个个问题,让然十分困扰,今天我们就来好好分析一下,js代码执行的顺序。二、执行原理​ 首先明确一点,js代码一定是单线程的,同一时间,不可能同时运行两个js代码。我们一直说的异步,并不是js的异步而是浏览器的异步。 一些I/O操作、定...

2018-10-24 00:40:19 7957 1

原创 浏览器渲染机制

一、引入作为一名前端开发人员,和自己打交道最多的就是浏览器了,那么当浏览器拿到我们的写的代码后,是如何工作的呢?这个过程,就是浏览器的渲染机制,今天我们来好好分析一下。二、浏览器组成部分一个浏览器都包含那些元素部分呢?用户界面 - 包括地址栏、前进/后退按钮、书签菜单等。除了浏览器主窗口显示的你请求的页面外,其他显示的各个部分都属于用户界面。渲染引擎 -解析DOM文档和CSS规则并将内...

2018-10-22 21:29:27 1296

原创 Web移动端-touch事件

一、引入在一个项目demo中,实现单指触控卡片的向任意方向的拖动效果。网上没有现成的插件,所以只好原生js来写。产品要求需要禁止掉多点触控。这个过程很让人头疼,试了很多方法,都不太实现。后来仔细研究,测试了一下移动端的三个常用事件。二、事件移动端的触摸事件常用的有一下三种:touchstart:当有新手指触控到绑定的元素,会触发一次事件。touchmove:当有手指放绑定的元素上会一直...

2018-10-17 22:35:30 1543

原创 事件监听器-禁止浏览器的默认事件

一、引入我们知道JavaScript的很多操作都是基于事件的监听。事件监听,就是在页面上设置了很多函数的触发规则,当用户触发事件之后,执行函数。二、内容addEventListener() 是一种添加事件的方式。它的参数:addEventListener(type, listener, useCapture);type:事件类型listener:执行函数useCapture:是否捕...

2018-10-14 15:10:01 2864

原创 cookie和session起源,原理,实现

一、引入1.一种新的需求产生了随着web网站的快速发展,网站已经不再用于单纯的信息展示,而是一个庞大的具有交互式的多网页的应用。在web应用中,信息的登录是一种很常见的功能,登录后页面跳转必须保持登录状态,不能但是每一次页面跳转都需要重新登录。在这样的需求下cookie应运而生。2.为什么要使用cookie在前端与后台的http联系中,单纯从请求来说是一个独立的过程。(也就是说发送一个请求...

2018-10-11 16:58:57 2395

原创 web外部字库压缩(font-spider),安装,使用及陷阱

一、使用原因在本地文件测试时,首屏时间加载速度很快,因为不存在网络传输,当把页面部署到服务器上线测试后,由于字库比较大,在1Mpbs的外网访问带宽下,字体加载需要1分钟。这显然是无法接受的。解决方案,将字库压缩。原理就是,只在字库中保留页面中出现的文字,将其他大量不用的文字删掉,大大提高访问速度。二、安装nodejs1.下载安装包cd /usr/localwget h...

2018-09-06 16:01:23 5844 4

原创 前端云服务器的搭建(主机+nginx+WinSCP)

之前写的静态界面,一直是在本地的服务器测试,为了更好地进行网页的测试,就申请了一下腾讯云服务器。将静态界面上传到服务器上进行部署,通过公网访问进行测试。这篇博客就记述一下,配置的过程。一、申请云主机申请的云主机,只是租用了一台放置在腾讯机房里的一台安装有linux操作系统的电脑,我们可以远程通过命令行访问和控制这台电脑。这台电脑相比我们自己的电脑,稳定性更高,可以一直运行,不关机,随时...

2018-09-06 00:45:46 2119

原创 原生js实现轮播图原理分析

一、轮播图需求轮播图需要实现左右翻页的无缝连接需要点击左右切换需要实现跳转显示当前位置的小圆点二、轮播图的原理1.图片移动实现原理:利用浮动将所有所有照片依次排成一行,给这一长串图片添加一个父级的遮罩,每次只显示一张图,其余的都隐藏起来。对图片添加绝对定位,通过控制left属性,实现照片的移动。2.图片移动动画原理:从a位置移动到b位置,需要先计算两点...

2018-08-04 10:40:03 22921

原创 CSS选择器和CSS权重

一 、CSS作用 CSS 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。它主要用来修饰网页。对网页中元素位置的排版进行像素级精确控制,同时支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。 使用HTML和CSS,就可以写出静态的网页了...

2018-07-01 17:59:24 4761

原创 初识web前端开发

一、前端三剑客HTML、css和JavaScript这三者一起构成了一个丰富多彩的网站。 HTML负责进行页面布局的设置和网页素材的添加css负责各种素材的进行样式调整JavaScript负责页面的互动二、网页工作流程网页开发 设计网站的功能,写出明确的网站需求(项目经理)界面设计,布局设计,相关配色(美工)网页的编写—通过代码实现美工的页面设计图和项目经理的需求...

2018-06-10 21:12:12 314

原创 HTML的两种盒子模型

一、引入在网站的制作中,一个复杂的页面,被划分为一个一个的小块。通过这种划分,把网站的开发过程化整为零、化繁为简,以达到减少开发工作,减轻维护压力的目的。在网页中,把这种划分后的小块形象的看成一个个的盒子。只有理解了盒子模型才能更好的排版,更好的编写网站界面二、盒子的布局把HTML中的元素看做是一个矩形的盒子(盛装内容的的容器),每个容器都是由元素内容、内边距(paddin...

2018-06-10 19:10:25 32365 2

原创 清除缓冲区的几种方法

一、缓冲区的作用一般缓冲区的作用是为了防止频繁的读写。 A:往缓冲区里写,这里会有一个写的等待时间,并不总是有数据需要写;B: 从缓冲区里读,这里就有一个读间(没有数据或数据不全)的等待时间;使用缓冲区可以减小程序输入时的等待,程序线程可以腾出CPU时间做其它的工作;二、缓冲区的问题缓冲区在提升了程序效率的同时,也带来了一些问题。 在项目的编写的工程中,很...

2018-06-03 21:19:00 37296 5

原创 Windows 32位控制台中文输入

一、问题来了         随着近期 win10 系统的更新,系统的cmd控制台也升级了,但是发现了一个问题:控制台中文输入时,没有中文的备选了。曾经亲切的下边缘备选栏不见了!如果输入文字为候选的第一个词,可以直接输入,但是一旦不是默认输入,就无法进行选择。这就让人很难受。二、解决方案...

2018-06-03 18:18:01 1135 1

原创 feof()原理和用法

一、feof()是什么? feof()是检测流上的文件结束符的函数,如果文件结束,则返回非0值,否则返回0一般在文件操作,中经常使用feof()判断文件是否结束。二、feof()的经典错误根据这个函数的定义,一般大家都是这样使用的,但是这样使用,文件中无论是否有内容,都会被判断为“文件不为空”。#include<stdio.h>int mai...

2018-05-31 22:06:44 158229 32

原创 c语言函数传参

引入:自定义函数的使用,使整个程序模块化。每个函数都解决一个小问题,当我们编写好函数后,就把精力转移到,函数之间的逻辑关系上。不必再纠结每一条语句,这样大大提高了编程的效率。当需要实现相同功能时,可以将函数多次调用,提升代码的复用性。同时在程序出现问题时,可以快速定位,解决问题。不过对于函数的参数调用时常会出现问题。1.使用中出现的两种情况主函数的值没有被修改(变量...

2018-05-24 13:53:14 7292

原创 C程序的编码方式

一、编码 编码是用预先规定的方法将文字、数字或其它对象编成数码。为保证编码的正确性,编码要规范化、标准化,即需有标准的编码格式。我们都知道文本在计算机中是以二进制来进行存储,这就需要把文字通过一定的规则转换成二进制来存储。这种规则就是编码。每个不同的国家,不同的地区都有自己不同的语言文字,这些文字通过不同的编码,转换成二进制信息进行存储。使用什么编码格式编码,就需要使用相同的...

2018-05-24 13:47:22 17496

原创 c语言光标移动

1.引入作为一个C语言入门者,刚开始编写程序时,都使用控制台程序。在控制台中,完成了一个又一个程序。渐渐发现控制台不方便了。控制台貌似只能,从上到下,从左到右的进行输出。如果进行页面设计就会发现,想在光标所处位置的上方添加一些内容,该怎么办呢?2.解决方案能否解决这类问题呢?答案是当然的。 直接添加如下的自定义函数。然后再需要光标移动时,直接调用就可以实现光标的

2018-05-07 19:55:07 28485 10

空空如也

空空如也

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

TA关注的人

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