理想如果不向现实做一点点屈服,那么理想也将归于尘土. 创建目录 异步创建目录 path<string> | <Buffer> | <URL> options <Object> | <integer> - recursive <boolean> 默认值: false. - mode <integer> Windows 上不支持.默认值: 0o777. callback <Function> - err <E…
好的代码像粥一样,都是用时间熬出来的. 概述 文件 I/O 是由简单封装的标准 POSIX 函数提供的. 通过 require('fs') 使用该模块. 所有文件系统操作都具有同步和异步的形式. 异步的形式总是将完成回调作为其最后一个参数. 传给完成回调的参数取决于具体方法,但第一个参数始终预留用于异常. 如果操作成功完成,则第一个参数将为 null 或 undefined. // 异步示例 const fs = require('fs'); fs.unlink('/tmp/hello', (e…
一.读取文件几个步骤 1.先引入fs文件系统模块 2.使用readfile 或 readFileSync 注意点:它们的回调函数有两个参数,第一个是err,第二个是data,得到的data是buffer文件,必须通过toString()方法转换一下 const fs = require('fs');fs.readfile('./1.txt',function(err,data){if(err){ throw err; }else{ console.log(data.toString()} })…
在编写代码时,我们应该有一些方法将程序像连接水管一样连接起来 -- 当我们需要获取一些数据时,可以去通过"拧"其他的部分来达到目的.这也应该是IO应有的方式. -- Doug McIlroy. October 11, 1964 为什么应该使用stream? 在node中,I/O都是异步的,所以在和硬盘以及网络的交互过程中会涉及到传递回调函数的过程.你之前可能会写出这样的代码: var http = require('http'); var fs = require('fs'); var…
任何可以使用JavaScript来编写的应用,最终会由JavaScript编写.--Atwood's Law http模块概览 http模块主要用于创建http server服务,并且 支持更多特性 不缓冲请求和响应 能够流式传输数据 借助http模块,可以几行代码就搞定一个超迷你的web server: var http=require("http") http.createServer(function(req, res){ res.writeHead(200,{ "co…
永不放弃,永不放弃又有两个原则,第一个原则是永不放弃,第二个原则就是:当你想放弃时回头看第一个原则. 概览 做过web性能优化的同学,对性能优化大杀器gzip应该不陌生.浏览器向服务器发起资源请求,比如下载一个js文件,服务器先对资源进行压缩,再返回给浏览器,以此节省流量,加快访问速度. 浏览器通过HTTP请求头部里加上Accept-Encoding,告诉服务器,"你可以用gzip,或者defalte算法压缩资源". 那么,在nodejs里,是如何对资源进行压缩的呢?答案就是Zlib模…
fs文件系统模块,这是一个非常重要的模块,对文件的操作都基于它.该模块的所有方法都有同步和异步两种方式,下面便介绍一下该模块的使用. 1.检测当前进程对文件的权限 使用fs.access(path[, mode], callback)方法检查权限,mode参数是一个整数,有以下常量值: fs.constants.F_OK     path对调用进程是可见的,既存在 fs.constants.R_OK     path是可读的 fs.constants.W_OK    path是可写的 fs.co…
node.js中为我们提供了fs文件系统模块,实现对文件或目录的创建,修改和删除等操作. fs模块中,所有的方法分为同步和异步两种实现. 有 sync 后缀的方法为同步方法,没有 sync 后缀的方法为异步方法. 一.文件的整个读取 const fs = require('fs'); //参数一表示读取的文件 //参数二表示读取的配置,{encoding:'null', flag:'r'} //encoding 表示编码方式 //flag 表示文件系统标志 //如果没有指定参数二中的encodi…
fs文件系统模块对于系统文件及目录进行一些读写操作. 模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync(). 异步的方法函数最后一个参数为回调函数,回调函数的第一个参数包含了错误信息(error). 建议大家使用异步方法,比起同步,异步方法性能更高,速度更快,而且没有阻塞. 创建文件    fs.writeFile(filename ,data,[options],function(err){}) 如果文件存在,…
fs文件系统模块对于系统文件及目录进行一些读写操作. 模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync(). 异步的方法函数最后一个参数为回调函数,回调函数的第一个参数包含了错误信息(error). 建议大家使用异步方法,比起同步,异步方法性能更高,速度更快,而且没有阻塞. 创建文件 fs.writeFile(filename ,data,[options],function(err){}) 如果文件存在,写入的…
命令行窗口(小黑屏).cmd窗口.终端.shell 开始菜单 --> 运行 --> CMD --> 回车 常用的指令: dir 列出当前目录下的所有文件 cd 目录名 进入到指定的目录 md 目录名 创建一个文件夹 rd 目录名 删除一个文件夹 目录: . 表示当前目录 .. 表示上一级目录 环境变量(window系统中的变量) 在path环境变量定义之后,在此电脑任何位置都能访问到. ​ 当我们在命令行窗口打开一个文件,或调用一个函数时,系统会首先在当前目录下寻找文件程序,如果找到了则…
node 的fs文档密密麻麻的 api 非常多,毕竟全面支持对文件系统的操作.文档组织的很好,操作基本分为文件操作.目录操作.文件信息.流这个大方面,编程方式也支持同步.异步和 Promise. 本文记录了几个文档中没详细描写的问题,可以更好地串联fs文档思路: 文件描述符 同步.异步与 Promise 目录与目录项 文件信息 stream 文件描述符 文件描述符是一个非负整数.它是一个索引值,操作系统可以根据它来找到对应的文件. 在 fs 的很多底层 api 中,需要用到文件描述符.在文档中,…
Node.js的文件系统的Api //公共引用 var fs = require('fs'), path = require('path'); 1.读取文件readFile函数 //readFile(filename,[options],callback); /** * filename, 必选参数,文件名 * [options],可选参数,可指定flag(文件操作选项,如r+ 读写:w+ 读写,文件不存在则创建)及encoding属性 * callback 读取文件后的回调函数,参数默认第一个…
fs 模块 Node.js 提供一组类似 UNIX(POSIX)标准的文件操作 API. Node 导入文件系统模块(fs).Node.js 文件系统(fs 模块)模块中的方法均有异步和同步版本,例如读取文件内容的函数有异步的 fs.readFile() 和同步的 fs.readFileSync().异步的方法函数最后一个参数为回调函数,回调函数的第一个参数包含了错误信息(error).最好使用异步方法,比起同步,异步方法性能更高,速度更快,而且没有阻塞(重点).对于流量较大的服务器,最好还是采…
一.建立简单的Web服务器涉及到Node.js的一些基本知识点: 1.请求模块 在Node.js中,系统提供了许多有用的模块(当然你也可以用JavaScript编写自己的模块,以后的章节我们将详细讲解),如http.url等.模块封装特定的功能,提供相应的方法或属性,要使用这些模块,需要先请求模块获得其操作对象. 例如要使用系统的http模块,可以这样写: var libHttp = require('http'); //请求HTTP协议模块 这样,以后的程序将可以通过变量libHttp访问ht…
前言 迟到的总结篇,其实大家看我之前发的系列博客最后一篇,发文时间是 3 月 29 日.距离现在快两个月了. 主要是因为有很多事情在忙,所以这篇就耽搁了. 今天终于可以跟大家会面了. 系列博客背景 Flutter 正式版于 2018 年 12 月 5 日正式发布. 而我所在的团队刚好想在项目新功能里面尝试 Flutter 的引入,利用 Flutter 的跨平台特性希望可以提高开发效率,因此本人作为 Android 端开发很荣幸的投入到 Flutter 学习和使用上面,并且于 2019 年 2 月…
Node.js内置的fs模块就是文件系统模块,负责读写文件. 和所有其它JavaScript模块不同的是,fs模块同时提供了异步和同步的方法. 回顾一下什么是异步方法.因为JavaScript的单线程模型,执行IO操作时,JavaScript代码无需等待,而是传入回调函数后,继续执行后续JavaScript代码.比如jQuery提供的getJSON()操作: $.getJSON('http://example.com/ajax', function (data) { console.log('I…
昨天写的那篇文章<我教女朋友学编程Html系列(6)—Html常用表单控件>,基本上有1000人左右看了,那边文章是我站在前人的肩膀上修改来的,添加了截图和说明,合并了例子,使之更容易被初学者接受. 今天我要讲html的有序列表和无序列表及常用例子,网上搜索了一番,没有发现太好的文章,决定自己动手,丰衣足食. 在我搜文章或知识点的时候,有一点启发,总是想先看效果图,看看效果是什么样子,然后在决定是否要继续看下去,就像去相亲,先看看双方是否对上眼了,先有外貌的吸引,才有继续交往下去的必要,当然,…
var fs = require('fs') // fs 文件系统 var stdin = process.stdin var stdout = process.stdout var stats = [] fs.readdir(process.cwd(), function(err, files) { console.log('') if (!files.length) { return console.log(' \003[31m No files to show!\003[39\n') }…
本人从事基于 Oracle 的 .Net 企业级开发近三年,在此之前学习和使用的都是 (MS)SQL Server.未曾系统的了解过 Oracle,所以长时间感到各种不习惯.不方便.怪异和不解,常会遇到一些不明所以的问题,为了工作不得不去上网查找解决方案.对开发人员来讲,数据库中绝大部分功能并不常用,用到的时候记不起来又得去查,这样就容易陷入反复查.反复忘的境地.好几次尴尬的时候我就在想要是有个实用的 SQL 备忘录就好了,最终我决定通过博客来记录,于是就有了本系列博文. 本人自认为对 SQL…
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.创建说明 1.1.为什么要创建的测试环境? 1.2.了解 Oracle 实例的默认用户 2.创建环境 2.1.创建基本环境 2.2.要点2 2.3.要点3 基本说明 为什么要创建的测试环境? 我在构思本系列博客的时候,并没有想到要做什么准备:但当我写完六七篇稿子的时候,我忽然意识到如下的一系列问题: 有些跟时间有关的示例,我有用 SYSDATE 来演示,当读者把博文中的 SQL 语句拷贝到他的环境中运行时,SYSDATE 的值肯定…
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.表 1.1.创建表 1.2.修改表 & 删除表 2.字段 2.1.添加字段 2.2.修改字段 & 删除字段 3.注释 3.1.表注释 3.2.字段注释 4.约束 4.1.添加主键约束 4.2.添加外键约束 4.3.添加唯一约束 4.4.添加 CHECK 约束 4.5.非空约束 4.6.禁用约束 & 启用约束 & 删除约束 5.索引 5.1.创建索引 5.2.修改索引 & 删除索引 6.总结…
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.视图 1.1.创建视图 2.函数 2.1.创建函数 2.2.调用函数 3.过程 3.1.创建过程 3.2.调用过程 4.包 4.1.创建包/包体 4.2.调用包/包体 5.总结 5.1.删除数据库对象 5.2.编译数据库对象 除表以外,Oracle 还提供了视图.函数.存储过程.包/包体.序列.触发器.作业等对象,以满足数据库业务需要.对大多数应用程序而言,这些对象都只会少量用用,本文也只介绍创建和删除这些对象的基本 SQL 语法…
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.触发器 1.1.创建触发器 1.2.禁用触发器 & 启用触发器 & 删除触发器 2.任务 2.1.DBMS_JOB 包介绍 3.序列 3.1.创建序列 3.2.使用序列 & 删除序列 4.连接 4.1.创建 dblink 4.2.使用 dblink & 删除 dblink 5.总结 触发器 创建触发器 CREATE OR REPLACE TRIGGER trg_sync_staff90 -- 功能说…
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.字符函数 1.1.字符函数简介 1.2.语法说明及案例 2.数字函数 2.1.数字函数简介 2.2.语法说明及案例 3.日期函数 3.1.日期函数简介 3.2.语法说明及案例 3.3.日期函数补充 4.总结 众所周知,Oracle 中系统函数特别多,貌似有好几百个,但实际上大部分函数对于普通应用而言,永远都用不到,本文将主要介绍 Oracle 中常见的数据类型函数. 字符函数 字符函数简介 据不完全统计,Oracle 中的字符函数…
<.Net程序员学用Oracle系列:导航目录> 本文大纲 1.转换函数 1.1.TO_CHAR 1.2.TO_NUMBER 1.3.TO_DATE 1.4.CAST 2.近似值函数 2.1.ROUND 2.2.TRUNC 3.正则函数 4.高级函数 5.总结 转换函数 Oracle 中的转换函数共计超过 20 个,但一大半都是做字节转换.日期(包括时间和时区)转换.LOB 类型转换.ROWID 类型转换等非常见转换的,光日期转换函数就占了 1/3.剩下几个函数当中有 4 个是比较实用的,也就…
1.聚合函数 1.1.COUNT 函数 1.2.SUM 函数 1.3.MAX 函数 1.4.MIN 函数 1.5.AVG 函数 2.ROWNUM 函数 2.1.ROWNUM 函数简介 2.2.利用 ROWNUM 函数实现分页功能 3.高级函数 3.1.高级函数简介 3.2.语法说明及案例 4.总结 聚合函数 常见的聚合函数有 COUNT.SUM.MAX.MIN.AVG 共 5 个,它们都可以对一组值执行聚合计算,并返回单个值.聚合函数经常与 SELECT 语句的 GROUP BY 子句一起使用.…
1.DUAL 表 2.ROWID 类型 2.1.利用 ROWID 查询数据 2.2.利用 ROWID 更新数据 3.NULL 值 3.1.NULL 与空字符串 3.2.NULL 与函数 3.3.NULL 与索引 3.4.NULL 与 SQL 4.总结 1.DUAL 表 DUAL 是 Oracle 中的一个虚拟表,用来构成 SELECT 的语法规则,Oracle 系统保证 DUAL 里面永远只有一条记录.本人对"用来构成 SELECT 的语法规则"的理解是:由于 Oracle 中的 SE…
前言 想必对于广大前后端的同学们,Node 或是用来作为网站服务器的搭建,亦或是用来作为开发脚手架的运用,或是早有套路,亦或是浅尝辄止.从现在开始博主将会不定时的对 Node 系列的产品做分析,其中夹杂着常见的基础模块,三方模块,丰富大家的 Node 技术栈. 很多童鞋上手项目时,通常会将 Express 作为 Node 端框架,而本文主要对其底层构件 Connect 做一个分析. connect Connect 是一个可扩展(中间件作为插件)的 Http 服务器框架,Connect 刚出道之时…
1.触发器理论 1.1.触发器的应用场景 1.2.触发器的类型 1.3.DML 触发器的触发顺序 2.触发器实战 2.1.创建触发器 2.1.1.创建 DML 触发器 2.1.2.创建 DDL 触发器 2.1.3.创建事件触发器 2.2.调试触发器 2.3.禁用和启用触发器 3.总结 1.触发器理论 1.1.触发器的应用场景 在 Oracle 中,事件或语句都能触发触发器,这也正是触发器的用武之地,具体来说有以下 4 类可以触发触发器的语句或事件: 1.DML 语句,用于修改特定表或视图中数据的…