自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

老愚公的博客

老愚公的博客

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

原创 vue 强制更新子组件

vue 强制更新子组件需要注意的问题

2022-08-30 11:21:02 722

原创 Mac OS nvm 安装问题

每次都要手动执行‘source ~/.bash_profile’ 环境变量才生效

2022-04-13 14:37:38 1149

原创 setState 异步还是同步

this.setState 真的是异步吗?

2022-04-11 18:22:28 672

原创 node(mac)升级或版本切换方法

node(mac)升级或版本切换方法首先安装node.js模块:sudo npm install -g n升级node.js到最新稳定版sudo n stable升级到最新版sudo n latestn后面也可以跟随版本号,升级到任意版本sudo n v12.18.1sudo n 12.18.1切换使用版本sudo n 12.18.1删除制定版本sudo n rm 12.18.1用制定的版本执行脚本n use 12.18.1 index.jssudo n可以查

2020-08-14 15:50:48 2655

原创 gatsby.js 架构静态网站技术要点

gatsby.js 架构静态网站技术要点静态资源加载通过 gatsby / gatsby-image / gatsby-plugin-sharp 实现图片静态资源的加载以及渲染,支持 fluid | fixed 两种 type。使用实例如下:import { graphql, useStaticQuery } from 'gatsby';import Img from 'gatsby-image';// 加载资源const imagesData = useStaticQuery(gra

2020-05-09 10:51:37 452

原创 redux/react-redux流程图

2020-05-09 10:37:24 400

原创 2019年工作总结

茅友公社APP基于react-native的开发探索使IOS和Android系统开发和共用同一套代码,尽量抹平两个系统的差异,以便更快速的开发迭代以及后续的维护。搭建起完整的react-native工程代码,包括页面的通用代码和样式、路由管理、异步接口请求数据的全局状态管理以及部分通用组件的抽象整理等。完成了茅友公社社区列表、详情以及发贴等相关功能的开发。…H5工程搭建以及开发在create...

2020-01-20 11:42:08 118

原创 code-splitting(webpack v4 & react v16.8)

技术在更新,业务在增加,需求也在变化,weback v1 的版本已经不再适合现有的业务,决定对 webpack 做一次升级。webpack v1 -> webpack v3 的升级webpack v3 一下的版本 code-splitting 基于 CommonsChunkPlugin 和 require.ensure 而实现。弊端就是 css 分离以及 css 修改对 chu...

2019-09-29 15:58:19 133

原创 react-native 之 DeviceEventEmitter (通知)

react-native 之 DeviceEventEmitter (通知)应用场景:rn 中由 A 页进入到 B 页之后,在 B 页上做相应操作之后,需要 A 页更新相应数据。伪代码实现如下:** B 页 ** import {DeviceEventEmitter} from 'react-native'; // 语法 DeviceEventEmitter.e...

2019-08-09 13:30:30 777

原创 react-native screen 组成

// TODO: 引入三方依赖import React, { Component } from 'react';import { connect } from 'react-redux';import { SafeAreaView, View, FlatList, RefreshControl } from 'react-native';// TODO: 引入自定义组件import X...

2019-08-07 10:48:12 1653

原创 axios 拦截封装,全局统一处理异常

封装 axios 以更好的适应现有业务!!所有接口请求均应通过此方法来实现。!!统一处理:Android平台 cookie 不存在情况统一处理:错误提示和错误上报统一处理:双平台(Android | IOS)netHeaderimport { Platform } from 'react-native';import axios from 'axios';import lodash ...

2019-08-07 10:45:06 5181 2

原创 bind、call、apply

bind、call、apply三者都是用于改变函数体内this的指向,但是bind与apply和call的最大的区别是:bind不会立即调用,而是返回一个新函数,称为绑定函数,其内的this指向为创建它时传入bind的第一个参数,而传入bind的第二个及以后的参数作为原函数的参数来调用原函数。var obj = {};function test() { console.log(thi...

2019-04-24 16:23:10 94

原创 关于弹性盒子

containerflex-box display: flex/inline-flex; flex-direction: [row] | row-reverse | column | column-reverse; flex-wrap: [nowrap] | wrap | wrap-reverse; flex-flow: flex-direction flex-wrap justi...

2018-09-18 11:30:10 852

原创 关于 Ant Design 中 Input 组件的 defaultValue 属性的一个小问题

记录关于一次 Ant Design 使用时遇到的一个问题,defaultValue属性赋值,页面交互操作处理数据之后页面数据未更新(未按照预期显示)。 class Component extends React.Component{ constructor(props) { super(props); this....

2018-09-09 16:51:08 27334 14

原创 import和require的区别

import和require的区别node编程中最重要的思想就是模块化,import和require都是被模块化所使用。遵循规范require 是 AMD规范引入方式import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法调用时间require是运行时调用,所以require理论上可以运用在代码的任何地方,require可以理解为一个全局方...

2018-07-25 16:31:28 2398

原创 关于react、react-router、react-redux技术栈的总结

import React from 'react'; import ReactDOM from 'react-dom'; import {Router, Route, hashHistory} from 'react-router'; import {Provider} from 'react-redux';react class ComponentName e...

2018-06-26 17:52:59 253

原创 css3 过渡和动画

过渡、动画(-webkit- || -moz- || -o-) 兼容ie10+ fun: linear ease ease-in ease-out ease-in-out cubic-bezier trigger method: :hoever :focus :checked * 过渡:transition transition: property duration fun delay ...

2018-06-26 17:48:08 179

原创 BOM的location信息

// BOM的location信息location: { /** * window.location.origin方法兼容ie9 * * @return {String} */ origin: function () { ...

2018-04-03 15:41:24 136

原创 移动端事件穿透:点击穿透和滑动穿透

前些日子面试的时候被问及移动端的滑动穿透问题,当时没有滑动穿透的概念(其实平时的工作从滑动穿透的问题已经默认解决掉了),上网查了一下,所以有了以下的个人小结:移动端事件穿透:点击穿透||滑动穿透移动端,手指点击一个元素,会经过:touchstart --> touchmove --> touchend --> click点击穿透: click 事件机制:延迟300...

2018-03-22 10:16:13 7044 1

原创 webpack 3.0 配置说明

webpack我们使用webpack主要完成以下功能: 1. 编译js代码 2. 提取,分割js代码 3. 编译sass代码 4. 压缩js代码 5. 压缩css代码 6. 生成页面 7. 调试 8. 其他webpack配制webapck配制中最主要的是4个部分: * entry * output * loaders * pluginsEntry...

2018-03-16 12:09:21 5106

原创 BOM的location信息

BOM location url参数

2018-03-13 10:09:14 166

原创 Gulp的安装以及配置使用说明

Gulp的使用基于node.js、npm平台或者工具,所以首先检测node.js以及npm,在二者的基础上全局安装gulp 我本地已安装,不再次重复安装,上面为执行安装指令安装成功后,执行 gulp –v指令,用以确定gulp安装成功 项目下执行 npm init 指令,初始化package.json文件 输入yes 然后回车执行,工程下自动生成 package.json 文件...

2018-02-26 11:28:53 261

原创 浏览器检测

// 浏览器信息 browserType: { _ua: this.window.navigator.userAgent, /** * 是否 Chrome 浏览器 * * @return {boolean} */ isChrome: function () {...

2018-02-11 17:18:48 138

原创 检测浏览器平台信息-PC/mobile/ios/android/ipad/ipod

// 平台信息 platForm: { _ua: this.window.navigator.userAgent, /** * 判断当前平台是否为andriod * * @return {boolean} */ isAndroid: function () { ...

2018-02-09 14:01:06 180

原创 js字符串截取

关于字符串截取的方法slice();subString();substr()概要如下:1.关于参数 str.slice(startIndex[, endIndex]); str.substring(startIndex[, endIndex]); str.substr(startIndex[, length]);// length 缺省时,startIndex位置开始至st

2018-02-05 19:54:46 200

图解HTTP.7z

《图灵程序设计丛书:图解HTTP》对互联网基盘——HTTP协议进行了全面系统的介绍。作者由HTTP协议的发展历史娓娓道来,严谨细致地剖析了HTTP协议的结构,列举诸多常见通信场景及实战案例,最后延伸到Web安全、全新技术动向等方面。《图解HTTP》的特色为在讲解的同时,辅以大量生动形象的通信图例,更好地帮助读者深刻理解HTTP通信过程中客户端与服务器之间的交互情况。读者可通过《图灵程序设计丛书:图解HTTP》快速了解并掌握HTTP协议的基础,前端工程师分析抓包数据,后端工程师实现REST API、实现自己的HTTP服务器等过程中所需的HTTP相关知识点本书均有介绍。   《图灵程序设计丛书:图解HTTP》适合Web开发工程师,以及对HTTP协议感兴趣的各层次读者。 上野·宣 ,OWASP 日本分会会长,TRICORDER株式会社董事长。    于均良(译者),上海交通大学硕士,高级软件工程师,马拉松跑者,四点网创始人。 目录 第1章 了解Web及网络基础 1.1 使用HTTP协议访问Web 1.2 HTTP的诞生 1.2.1 为知识共享而规划Web 1.2.2 Web成长时代 1.2.3 驻足不前的HTTP 1.3 网络基础TCP/IP 1.3.1 TCP/IP协议族 1.3.2 TCP/IP的分层管理 1.3.3 TCP/IP通信传输流 1.4 与HTTP关系密切的协议:IP、TCP和DNS 1.4.1 负责传输的IP协议 1.4.2 确保可靠性的TCP协议 1.5 负责域名解析的DNS服务 1.6 各种协议与HTTP协议的关系 1.7 URI和URL 1.7.1 统一资源标识符 1.7.2 URI格式 第2章 简单的HTTP协议 2.1 HTTP协议用于客户端和服务器端之间的通信 2.2 通过请求和响应的交换达成通信 2.3 HTTP是不保存状态的协议 2.4 请求URI定位资源 2.5 告知服务器意图的HTTP方法 2.6 使用方法下达命令 2.7 持久连接节省通信量 2.7.1 持久连接 2.7.2 管线化 2.8 使用Cookie的状态管理 第3章 HTTP报文内的HTTP信息 3.1 HTTP报文 3.2 请求报文及响应报文的结构 3.3 编码提升传输速率 3.3.1 报文主体和实体主体的差异 3.3.2 压缩传输的内容编码 3.3.3 分割发送的分块传输编码 3.4 发送多种数据的多部分对象集合 3.5 获取部分内容的范围请求 3.6 内容协商返回最合适的内容 第4章 返回结果的HTTP状态码 4.1 状态码告知从服务器端返回的请求结果 4.2 2XX成功 4.2.1 200 OK 4.2.2 204 No Content 4.2.3 206 Partial Content 4.3 3XX重定向 4.3.1 301 Moved Permanently 4.3.2 302 Found 4.3.3 303 See Other 4.3.4 304 Not Modified 4.3.5 307 Temporary Redirect 4.4 4XX客户端错误 4.4.1 400 Bad Request 4.4.2 401 Unauthorized 4.4.3 403 Forbidden 4.4.4 404 Not Found 4.5 5XX服务器错误 4.5.1 500 Internal Server Error 4.5.2 503 Service Unavailable 第5章 与HTTP协作的Web服务器 5.1 用单台虚拟主机实现多个域名 5.2 通信数据转发程序:代理、网关、隧道 5.2.1 代理 5.2.2 网关 5.2.3 隧道 5.3 保存资源的缓存 5.3.1 缓存的有效期限 5.3.2 客户端的缓存 第6章 HTTP首部 6.1 HTTP报文首部 6.2 HTTP首部字段 6.2.1 HTTP首部字段传递重要信息 6.2.2 HTTP首部字段结构 6.2.3 4种HTTP首部字段类型 6.2.4 HTTP/1.1首部字段一览 6.2.5 非HTTP/1.1首部字段 6.2.6 End-to-end首部和Hop-by-hop首部 6.3 HTTP/1.1通用首部字段 6.3.1 Cache-Control 6.3.2 Connection 6.3.3 Date 6.3.4 Pragma 6.3.5 Trailer 6.3.6 Transfer-Encoding 6.3.7 Upgrade 6.3.8 Via 6.3.9 Warning 6.4 请求首部字段 6.4.1 Accept 6.4.2 Accept-Charset 6.4.3 Accept-Encoding 6.4.4 Accept-Language 6.4.5 Authorization 6.4.6 Expect 6.4.7 From 6.4.8 Host 6.4.9 If-Match 6.4.10 If-Modified-Since 6.4.11 If-None-Match 6.4.12 If-Range 6.4.13 If-Unmodified-Since 6.4.14 Max-Forwards 6.4.15 Proxy-Authorization 6.4.16 Range 6.4.17 Referer 6.4.18 TE 6.4.19 User-Agent 6.5 响应首部字段 6.5.1 Accept-Ranges 6.5.2 Age 6.5.3 ETag 6.5.4 Location 6.5.5 Proxy-Authenticate 6.5.6 Retry-After 6.5.7 Server 6.5.8 Vary 6.5.9 WWW-Authenticate 6.6 实体首部字段 6.6.1 Allow 6.6.2 Content-Encoding 6.6.3 Content-Language 6.6.4 Content-Length 6.6.5 Content-Location 6.6.6 Content-MD 6.6.7 Content-Range 6.6.8 Content-Type 6.6.9 Expires 6.6.10 Last-Modified 6.7 为Cookie服务的首部字段 6.7.1 Set-Cookie 6.7.2 Cookie 6.8 其他首部字段 6.8.1 X-Frame-Options 6.8.2 X-XSS-Protection 6.8.3 DNT 6.8.4 P3P 第7章 确保Web安全的HTTPS 7.1 HTTP的缺点 7.1.1 通信使用明文可能会被窃听 7.1.2 不验证通信方的身份就可能遭遇伪装 7.1.3 无法证明报文完整性,可能已遭篡改 7.2 HTTP+加密+认证+完整性保护=HTTPS 7.2.1 HTTP加上加密处理和认证以及完整性保护后即是HTTPS 7.2.2 HTTPS是身披SSL外壳的HTTP 7.2.3 相互交换密钥的公开密钥加密技术 7.2.4 证明公开密钥正确性的证书 7.2.5 HTTPS的安全通信机制 第8章 确认访问用户身份的认证 8.1 何为认证 8.2 BASIC认证 8.3 DIGEST认证 8.4 SSL客户端认证 8.4.1 SSL客户端认证的认证步骤 8.4.2 SSL客户端认证采用双因素认证 8.4.3 SSL客户端认证必要的费用 8.5 基于表单认证 8.5.1 认证多半为基于表单认证 8.5.2 Session管理及Cookie应用 第9章 基于HTTP的功能追加协议 9.1 基于HTTP的协议 9.2 消除HTTP瓶颈的SPDY 9.2.1 HTTP的瓶颈 9.2.2 SPDY的设计与功能 9.2.3 SPDY消除Web瓶颈了吗 9.3 使用浏览器进行全双工通信的WebSocket 9.3.1 WebSocket的设计与功能 9.3.2 WebSocket协议 9.4 期盼已久的HTTP/2. 9.5 Web服务器管理文件的WebDAV 9.5.1 扩展HTTP/1.1的WebDAV 9.5.2 WebDAV内新增的方法及状态码 第10章 构建Web内容的技术 10.1 HTML 10.1.1 Web页面几乎全由HTML构建 10.1.2 HTML的版本 10.1.3 设计应用CSS 10.2 动态HTML 10.2.1 让Web页面动起来的动态HTML 10.2.2 更易控制HTML的DOM 10.3 Web应用 10.3.1 通过Web提供功能的Web应用 10.3.2 与Web服务器及程序协作的CGI 10.3.3 因Java而普及的Servlet 10.4 数据发布的格式及语言 10.4.1 可扩展标记语言 10.4.2 发布更新信息的RSS/Atom 10.4.3 JavaScript衍生的轻量级易用JSON 第11章 Web的攻击技术 11.1 针对Web的攻击技术 11.1.1 HTTP不具备必要的安全功能 11.1.2 在客户端即可篡改请求 11.1.3 针对Web应用的攻击模式 11.2 因输出值转义不完全引发的安全漏洞 11.2.1 跨站脚本攻击 11.2.2 SQL注入攻击 11.2.3 OS命令注入攻击 11.2.4 HTTP首部注入攻击 11.2.5 邮件首部注入攻击 11.2.6 目录遍历攻击 11.2.7 远程文件包含漏洞 11.3 因设置或设计上的缺陷引发的安全漏洞 11.3.1 强制浏览 11.3.2 不正确的错误消息处理 11.3.3 开放重定向 11.4 因会话管理疏忽引发的安全漏洞 11.4.1 会话劫持 11.4.2 会话固定攻击 11.4.3 跨站点请求伪造 11.5 其他安全漏洞 11.5.1 密码破解 11.5.2 点击劫持 11.5.3 DoS攻击 11.5.4 后门程序

2018-02-05

空空如也

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

TA关注的人

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