最新文章
PATCH方法是新引入的,是对PUT方法的补充,用来对已知资源进行局部更新. patch方法用来更新局部资源,这句话我们该如何理解? 假设我们有一个UserInfo,里面有userId, userName, userGender等10个字段。可你的编辑功能因为需求,在某个特别的页面里只能修改userName,这时候的更新怎么做? 人们通常(为徒省事)把一个包含了修改后userName的完整userInfo对象传给后端,做完整更新。但仔细想想,这种做法感觉有点二,而且真心浪费带宽(纯技术上讲,你不关心带宽那是你土豪)。 于是patch诞生,只传一个userName到指定资源去,表示该请求是一个局
飞翔的鱼丸 2017-12-02 开发技巧 1257
全局唯一标识符(GUID,Globally Unique Identifier)也称作 UUID(Universally Unique IDentifier) 。GUID是一种由算法生成的二进制长度为128位的数字标识符。GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中的 x 是 0-9 或 a-f 范围内的一个32位十六进制数。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。GUID 的总数达到了2^128(3.4×10^38)个,所以随机生成两个相同GUID的可能性非常小,但并不为0。GUID一词有时也专指微软对UUID
飞翔的鱼丸 2017-11-29 JavaScript 1107
FormData对象用以将数据编译成键值对,以便用XMLHttpRequest来发送数据。其主要用于发送表单数据,但亦可用于发送带键数据(keyed data),而独立于表单使用。如果表单enctype属性设为multipart/form-data ,则会使用表单的submit()方法来发送数据,从而,发送数据具有同样形式。 链接到章节从零开始创建FormData对象 你可以自己创建一个FormData对象,然后调用它的append()方法来添加字段,像这样: var formData = new FormData(); formData.append("username",
飞翔的鱼丸 2017-11-29 JavaScript 953
在Express.js中处理文件上传,通常需要借助第三方中间件,如multer,它是一个Node.js的中间件,用于处理multipart/form-data类型的HTTP请求,主要用于文件上传。 以下是如何使用multer在Express.js应用中实现文件上传的基本步骤: 1. 安装multer 首先,你需要安装multer。可以通过npm或yarn来安装: Bash npm install multer # 或者 yarn add multer 2. 导入并配置multer 在你的Express应用中导入multer,然后根据需求配置存储引擎。multer提供了内存存储和磁盘存储两种方
飞翔的鱼丸 2017-11-29 Node.js 1495
安装方法1.使用CDN直接引用 script src="https://unpkg.com/vue/dist/vue.js" /script script src="https://unpkg.com/vue-i18n/dist/vue-i18n.js" /script 2.NPM$ npm install vue-i18n3.Yarn$ yarn add vue-i18n使用方法在这里只介绍vue的使用方法 script /* 国际化使用规则 */ import Vue from 'vue' import Vu
飞翔的鱼丸 2017-11-19 JavaScript 1176
在MySQL数据库中,mysql-bin.000001、mysql- bin.000002等文件是数据库的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间,也会记录进去的。这样做主要有以下两个目的:1:数据恢复如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失。2:主从服务器之间同步数据主服务器上所有的操作都在记录日志中,从服务器可以根据该日志来进行,以确保两个同步。处理方法分两种情况:1:只有一个mysql服务器,那么可以简单的注释掉这个
飞翔的鱼丸 2017-11-14 MySQL 1016
CommonJS2009年,美国程序员Ryan Dahl创造了node.js项目,将javascript语言用于服务器端编程。这标志"Javascript模块化编程"正式诞生。因为老实说,在浏览器环境下,没有模块也不是特别大的问题,毕竟网页程序的复杂性有限;但是在服务器端,一定要有模块,与操作系统和其他应用程序互动,否则根本没法编程。NodeJS是CommonJS规范的实现,webpack 也是以CommonJS的形式来书写。定义模块根据CommonJS规范,一个单独的文件就是一个模块。每一个模块都是一个单独的作用域,也就是说,在该模块内部定义的变量,无法被其他模块读取,除非定义为global
飞翔的鱼丸 2017-11-04 JavaScript 1025
简介MD5(Message-Digest Algorithm)是计算机安全领域广泛使用的散列函数(又称哈希算法、摘要算法),主要用来确保消息的完整和一致性。常见的应用场景有密码保护、下载文件校验等。本文先对MD5的特点与应用进行简要概述,接着重点介绍MD5在密码保护场景下的应用,最后通过例子对MD5碰撞进行简单介绍。特点运算速度快:对jquery.js求md5值,57254个字符,耗时1.907ms输出长度固定:输入长度不固定,输出长度固定(128位)。运算不可逆:已知运算结果的情况下,无法通过通过逆运算得到原始字符串。高度离散:输入的微小变化,可导致运算结果差异巨大。弱碰撞性:不同输入的
飞翔的鱼丸 2017-11-03 Node.js 976
1、普通字符串//编码new Buffer(String).toString('base64');//解码new Buffer(base64Str, 'base64').toString();2、十六进制Hex//编码new Buffer(String, 'base64').toString('hex');//解码new Buffer(base64Str, 'hex').toString('utf8');3、图片const fs = require('fs');//编码functio
飞翔的鱼丸 2017-11-03 Node.js 1048
以前,Promise库有promise,Q,bluebird等,后来,ES6中也新增了原生Promise。Promiss/A+规范 https://promisesaplus.com/An open standard for sound, interoperable JavaScript promises—by implementers, for implementers.一个健全的通用JavaScript Promise开放标准,源于开发者,并归于开发者function test(resolve, reject) { var time = Math.random(); i
飞翔的鱼丸 2017-10-29 Node.js 1195
##场景远古时代我们在编写express后台,经常要有许多异步IO的处理。在远古时代,我们都是用chunk函数处理,也就是我们最熟悉的那种默认第一个参数是error的函数。我们来模拟一个Mongo数据库的操作,感受一下。mongoDb.open(function(err, db){ if(!err){ db.collection("users", function(err, collection){ if(!err){ let person = {name: &q
飞翔的鱼丸 2017-10-29 Node.js 1134
GitHub.com 现在不再使用字体来输出图标了。我们把代码库中所有的 Octicon 替换成了 SVG 版本。虽然这些改动并不那么明显,但你马上就能体会到 SVG 图标的优点。Octicon 上的对比切换到 SVG 以后,图标会作为图片渲染而非文字,这使其在任何分辨率下都能很好地在各种像素值下显示。可以比较一下左侧放大后的字体版本和右侧清晰的 SVG 版本。为何使用 SVG?图标字体渲染问题图标字体从来只是一种 hack。我们之前使用一个自定义字体,并将图标作为 Unicode 符号。这样图标字体就可以通过打包后的 CSS 来引入。只要简单地在任意元素上添加一个 class,图标就
飞翔的鱼丸 2017-10-26 CSS 1091
Express 是一个基于 Node.js 的 web 应用框架,它简化了 web 应用的开发过程。中间件是 Express 应用程序的核心特性,它们是请求处理链中的函数,可以执行各种任务,如响应处理、路由、错误处理等。下面是一个关于如何在 Express 中使用中间件的简明教程。 1. 安装 Express 首先,确保你已经安装了 Node.js。然后,在命令行中创建一个新的项目目录,并初始化 npm: Bash mkdir myapp cd myapp npm init -y 接着,安装 Express: Bash npm install express 2. 创建基本的 Expres
飞翔的鱼丸 2017-10-26 Node.js 1054
nodemon nodemon 是一个工具,用于项目代码发生变化时可以自动重启,nodemon 本意时检测项目变化的,对项目做监控的。重启只是它的一个功能。 install 安装 nodemon 需要使用 npm,没有安装 npm 的请看 node.js 安装 npm install -g nodemon 或则安装在本地 npm install nodemon --save 配置 在项目目录下创建 nodemon.json 文件 { "restartable": "rs", "ignore": [ ".git", ".svn", "node_modules/**/node_modules"
飞翔的鱼丸 2017-10-25 Node.js 2557
transition-timing-function属性指的是过渡的“缓动函数”。主要用来指定浏览器的过渡速度,以及过渡期间的操作进展情况,其中要包括以下几种函数:
飞翔的鱼丸 2017-10-23 CSS 1378
这个问题我之前也出现过。不过不知道和各位的问题是否一致。 我想问题的原因通常是因为修改了~.bash_profile或者~.inputrc 的文件导致。 我出现无法输入T的情况是因为在~.inputrc文件下添加 TAB: menu-complete 的时候因为疏忽在 “:”后面多添加了一个空格。实际上只需要一个空格即可。 TAB: menu-complete 移除空格之后重启一下终端就可以了。 希望各位也能解决问题。 来源:https://discussionschinese.apple.com/thread/76217
飞翔的鱼丸 2017-10-22 运维 1038
这个问题遇到过很多次,网上也有很多解决办法,但是好像都没有发现refreshing gradle project在做什么。可以再试试./gradlew --info看看详细信息:iceMacBook:Test ice$ ./gradlew --info Exception in thread "main" java.lang.RuntimeException: Timeout of 120000 reached waiting for exclusive access to file: /Users/ice/.gradle/wrapper/dists/gradle-3.3-all/55gk2r
飞翔的鱼丸 2017-10-21 开发工具 1232
随机推荐
Express.js CSRF 安全防护
Web 自定义组件
JavaScript document 对象
Node.js 安装
二分查找法
JavaScript 窗口/文档事件
WordPress 用户元信息 get_user_meta() 和 update_user_meta()
JavaScript screen对象