glob node.js下可以像shell模式一样匹配文件

前言 早期 Unix (第 1-6 版,1969-1975)的命令行解释器依赖独立程序 /etc/glob 展开参数中的通配符。 这个程序会展开通配符并把展开后的文件列表传给命令。 它的名字是 "global command" 的简称。 后来这个功能由工具函数 glob() 提供,被 shell 等程序使用。 -- 维基百科 python语言中有了golb封装的包,接着有了今天我们看到的JavaScript实现的glob. Glob可以做什么 它可以根据指定的通配符来匹配文件,并且把匹配到的结果列表返回给你. 安装 npm install glob 用法 v

java 中的枚举类

模拟一个枚举类 日常我们遇到用一个静态类来定义常量 public class Weekday { public static final int SUN = 0; public static final int MON = 1; public static final int TUE = 2; public static final int WED = 3; public static final int THU = 4; public static final int FRI = 5; public static final int

node.js Express 框架下支持跨域服务

前言 由于现在的项目都流行前后端分离, 导致后端部署服务和前端一定不会解析到一个服务上, 这样面临的就是跨域请求. 什么情况下会出现跨域请求点击查看这篇博文介绍. 解决跨域的方法 nginx设置跨域请求头点击查看 服务端代码解决跨域 今天我们介绍后者,服务器端如何解决跨域. Express框架下设置跨域请求 cors安装包 自己定义中间件 cors安装包 npm install cors --save 使用 const cors = require('cors'); server.use(cors()); 自定义中间件 项目 middlewares 文件夹下创建 cors.js m

java 中的 String , StringBuffer和StringBuilder的概述说明

定义 String是不可变字符 StringBuffer是可变的字符 StringBuilder也是可变的字符 StringBuffer和StringBuilder的区别 StringBuffer对象是线程安全的,这意味着StringBuffer对象可以同时被多个并行线程修改,因为它所有的方法都被声明为"synchronized(同步)"; StringBuilder类是JDK1.5版引入的非线程安全的类,这意味着它的所有方法都是非同步方法; 因此,在单一模型的应用中,我们应该使用StringBuilder,这样对象不会有锁定和解锁,这样性能就会增加; 如何选择Strin

MAC 环境下 java 开发IDE - IntelliJ IDEA 快捷键

Mac键盘符号和修饰键说明 ⌘ Command ⇧ Shift ⌥ Option ⌃ Control ↩︎ Return/Enter ⌫ Delete ⌦ 向前删除键(Fn+Delete) ↑ 上箭头 ↓ 下箭头 ← 左箭头 → 右箭头 ⇞ Page Up(Fn+↑) ⇟ Page Down(Fn+↓) Home Fn + ← End Fn + → ⇥ 右制表符(Tab键) ⇤ 左制表符(Shift+Tab) ⎋ Escape (Esc) 编辑 Control + Space 基本的代码补全(补全任何类、方法、变量) Control + Shift + Space 智能代码补全(过滤器方法列

java 中的 抽象方法 抽象类 和 接口有啥瓜葛

什么是java中的抽象方法 抽象方法是一种特殊的方法: 它只有声明,而没有具体的实现 例如: abstract void eat(); 上面定义了一个方法 eat() ,有修饰关键词 abstract ,而且只有方法签名,没有方法的具体实现, 这就是一个java中的 抽象方法. 我们可以看到关键词 abstract 前面再没有任何修饰关键词 [ public , protected 或者 private ] 为什么不能有修饰关键词,我们留到下面再讲. 什么是java中的抽象类 一个类含有抽象方法,则称这个类为抽象类 抽象类必须由关键词 abstract 修饰; 我们来看一个抽象类的示例:

linux下wget命令

前言 wget命令用来从指定的URL下载文件。 wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。 如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。 这对从那些限定了链接时间的服务器上下载大文件非常有用。 格式 wget [参数] [URL地址] 选项 -a<日志文件>:在指定的日志文件中记录资料的执行过程; -A<后缀名>:指定要下载文件的后缀名,多个后缀名之间使用逗号进行分隔; -b:进行后台的方式运行wget; -B<连接地址>:设置参考

安装报错 Unable to locate package ifconfig

#安装 ifconfig报错 ifconfig是在类Unix作业系统中于命令行界面下或系统配置脚本中用于配置、控制及查询TCP/IP网络接口的系统管理工具. 我们一版用它来查看网卡 ifconfig bash: ifconf: command not found 提示没有安装ifconfig 于是我们会本能的 apt-get install ifconfig 依然报错: root@0d7cceb6b1c4:/# apt-get install ifconfig Reading package lists... Done Building dependency tree Reading

Linux下强大的tail命令

介绍 tail命令用于输入文件中的尾部内容。 tail命令默认在屏幕上显示指定文件的末尾10行。 如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。 语法 tail(选项)(参数) 选项参数 -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c<数目> 显示的字节数 -n<行数> 显示行数 --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束. -q, --quiet, --silent 从不输出给出文件名的首部 -s, --sleep-interval=S

java 中的块级作用域

什么是java中的块级作用域 一对大括号括起来的代码区域叫做一个块级作用域; {...} 在块级中定义的变量被称作局部变量; 局部变量的生命周期:从被定义的位置开始,到本块结束. 注意事项 一个块可以嵌套在另一个块中 子块可以访问父块中的变量的 父块不能访问子块的变量 子块不能定义与父块同名的变量 在不嵌套的块中可以定义同名的变量; public class com.yijiebuyi { public static void main(String args[]) { { int k = 1;

关于区块链中的哈希算法

什么是哈希算法 区块链中每个区块都有一个唯一的哈希标识,被称为区块哈希,区块通过记录上一个区块的哈希来指向上一个区块. 这里说说的哈希算法,又称散列算法,它是一个单向函数,可以把任意长度的输入数据转化为固定长度的输出. 我们对下面的字符串求哈希值: 采用SHA-256算法: yijiebuyi.com f4353d56fc3482fe1acd7456b7431acc9dbaa252a82dc1293161ab4fd26368e5 yijiebuyi.com bea4b45352c6101f2c2a7d47ec024b3d7c50a72e38e611b5b3c0d9d33b904983 上

nginx代理跨域配置add_header Access-Control-Allow-Origin 不生效的解决方法

前言 首先要了解你现在遇到的问题是否和我一样! nginx -v nginx version: nginx/1.16.1 以下方法针对 1.7以上的nginx版本有效. 问题描述 项目使用前后端分离 前端有一部分路由需要代理请求 api 服务 类似这样: 前端域名:http://a.com api域名: http://b.com 前端页面展示列表数据: ajax请求: http://a.com/api/bloglist nginx配置: location /api { proxy_pass http://b.com/; # 设

nginx代理node.js服务器http路由强制跳转https

nginx反向代理node.js服务器 我们服务器上node.js部署的服务通常会用 pm2 或者 forever 等工具接管, 然后nginx反向代理对应node.js服务所绑定的端口. server { listen 80; server_name yijiebuyi.com; access_log **这里是log日志目录** main; client_max_body_size 50m; location / { root html; exp

docker 的使用场景

概述 容器技术对进程进行封装隔离,属于操作系统层面的虚拟化技术。 由于隔离的进程独立于宿主和其它的隔离的进程,因此称为容器。 Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。 使得 Docker 技术比虚拟机技术更为轻便、快捷。 通过对应用组件的封装、分发、部署、运行等生命周期的管理,达到应用级别的一次封装,到处运行 docker 组成 镜像 Image 容器 Container 仓库 Repository 镜像 Image Docker 镜像是 一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还

Git pull 强制拉取并线上代码覆盖本地

当多人协同开发时, 或者服务器代码被人改动时, git pull 时,提示你本地代码有改动,需要提交合并.... git强制拉取代码 git fetch --all 回退到当前版本修改之前的状态 git reset --hard origin/master 注意:你当前的分支 获取代码服务器最新版本 git pull 出自:Git pull 强制拉取并线上代码覆盖本地

remarkable搭配markdown-toc自动生成博文目录

前段时间写过一篇关于showdown和showdown-toc插件自动生成目录的博客 ⬅️点击查看 为什么要改进 showdown-toc作为专门为showdown开发的 toc 插件,搭配使用都非常方便 安装showdown ,showdown-toc toc插件集成到showdown代码中 const Showdown = require('showdown'); const showdownToc = require('showdown-toc'); const showdownHighlight = require("showdown-highlight"); const to

markdown编辑器如何自动生成目录 showdown toc插件的使用

markdown如何转化成html markdown 文本转化成 html 成熟的工具有不少, node 开源库中有 markdown-it showdown markdown-to-html marked markdown 上面的工具各有优势,自行google开源地址,找到一款最适合自己的. 本人博客一直是markdown编辑器撰写, 然后,一直再琢磨如何通过标题来自动生成内容目录, 造轮子的事情还是留给大牛们, 我们能把轮子使用好也是对大牛们的敬仰和支持. markdown-it 介绍 开源地址: https://github.com/markdown-it/markdown-it

node.js Express 中间件是如何实现的呢

什么是node.js 的中间件 在整个web请求的生命周期中, 客户端request 过来一个请求, 接着服务器端做出响应处理, 最后response结果给客户端. 上面这个请求过程中,其中服务器端做出响应处理时,会有一系列处理单元,这些处理单元可以简单的理解成中间件. node.js中间件: 它泛指一种设计模式、一系列的处理单元、过滤器和处理程序; 以函数的形式存在,形成一个异步队列,来完成对数据的预处理和后处理; 它的优点在于灵活处理业务逻辑中的单元模块; 使用中间件我们用极少的操作就能得到一个插件,用最简单的方法就能将新的过滤器和处理程序扩展到现有的系统上. Express 中间件实现

UCloud 云服务器硬盘扩容后 如何挂载到本机

UCloud 云服务器硬盘扩容后如何挂载到本机 UCloud 提供的云服务器会根据不同的系统初始化不同空间大小的硬盘资源,此资源默认为 系统盘. 针对 Linux 系统默认初始化 20G 的空间,一般未独立购买云硬盘的客户,会把数据,服务等所有资源统统放到系统盘上. 针对小型服务,或者比如说我自己的博客所在的服务器,20G 足够用,或者说足够用很长时间,直到系统盘所剩空间不足时,面临一个不得不解决的问题, 扩容 如何动态扩容 各大云服务器厂商都支持动态扩容,我们以 UCloud 为例 之前默认系统盘20G ,现在数据盘扩容 70G 服务器终端显示 df -lh Filesyst

[北京] 急聘 java高级架构师,高级开发工程师

文章目录 java架构师 职责 坐标 要求 福利 薪资 Java高级开发 职责 坐标 要求 薪资 Java开发 职责 学历 坐标 要求 福利 薪资 职位已关闭 java架构师 职责 负责设计并参与产品的方案讨论、技术选型、架构设计等环节. 负责产品架构的搭建和实施. 根据行业内最新产品和技术的发展方向,制定产品架构发展战略规划 坐标 北京 - 西二旗城铁 要求 1、有5年以上开发或管理工作经验,3年以上互联网平台或大型网站架构经验; 2、熟悉J2EE和Struts,Hibernate/MyBatis,Spring等开源框架; 3、精通MySQL+Nginx/Ap

UCloud 云服务器 centOS6 64位 安装mongodb 数据库

mongodb 在centOS 64位服务器上安装 UCloud 云服务器 CentOS 系统 64 位 Step 1 设置mongodb源 vim /etc/yum.repos.d/mongodb.repo copy 下面内容 [mongodb] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/ gpgcheck=0 enabled=1 保存上面内容并退出 Step 2 安装mongodb yum install mongo-10gen mongo-10

Cannot load from mysql.proc.The table is probably corrupted

上次推荐了数据库管理工具 DataGrip 今天在连接线上一个数据库的时候,直接报错. "Cannot load from mysql.proc.The table is probably corrupted" 之前在使用 Navicat 连接数据库时并没有发现此问题. 此问题产生的原因: LINUX下将mysql从5.1升级至5.5后,存储过程不能用了. mysql.proc升级时有个字段没有升级成功. 在5.1中mysql.proc表的comment字段是varchar(64): 但在5.5中应该是text: comment text CHARACTER SET

JetBrains 数据库管理工具 DataGrip for Mac 1.0.2

JetBrains DataGrip for Mac 介绍 DataGrip支持几乎所有主流的关系数据库产品,如DB2、Derby、H2、MySQL、Oracle、PostgreSQL、SQL Server、Sqllite及Sybase等,并且提供了简单易用的界面,开发者上手几乎不会遇到任何困难。目前市场上已经存在很多数据库客户端,如MySQL WorkBench、Toad、NaviCat、phpMyAdmin、Sequel Pro、SQLWave等等,这些既有的产品中,有些是免费的,有些则是收费的。不仅如此,很多开发者与数据库管理员已经习惯了自己所用的工具,那么DataGrip的到来会为大

java 语法的命名规范

项目名 命名规范 全部小写 如:yijiebuyi , helloworld package 包名命名规范 强烈推荐使用公司或机构的顶级域名为包名的前缀; 包名的前几个为固定名称, 如果是网站的话,采用网站的域名的反写; package 包名全部为小写字母,以符号(. )来分隔, 但是不能包含*号,具有实际的区分意义. 如: com.yijiebuyi.blog //博客系统 com.yijiebuyi.wechat //微信H5服务站 要求 有意义的名词 传达其用途 结合模块名来命名 使用范例 应用系统中经常应用分层,Dao层(数据库访问)、Service层(业务处理)、Web层(页

lua Mac brew 安装使用 及简单语法介绍

什么是lua Lua 是一门扩展式程序设计语言,被设计成支持通用过程式编程,并有相关数据描述设施。 同时对面向对象编程、函数式编程和数据驱动式编程也提供了良好的支持。 它作为一个强大、轻量的嵌入式脚本语言,可供任何需要的程序使用 .(引用自 Lua 5.3 参考手册) mac 下如何安装 lua mac 下使用 brew 安装: brew search lua brew install lua 查看是否安装成功 ➜ ~ lua Lua 5.2.4 Copyright (C) 1994-2015 Lua.org, PUC-Rio > print('Hello World!')

[投稿]长期招聘 node.js 实习生

文章目录 长期招聘 node.js 实习生 坐标 门槛 要求 加分项 福利 薪资 联系方式 node.js 相关招聘请联系博主 长期招聘 node.js 实习生 坐标 北京,望京 门槛 无学历要求 无经验要求 无专业要求 要求 对计算机编程非常感兴趣 了解JavaScript 基础知识 有吃苦耐劳精神 有独立思考的能力 一周最少保证工作3天 加分项 开源社区有贡献 有自己的作品或者维护过的作品 有自己的技术博客 福利 专人老司机带你 前端,后端,客户端都有接触,看你个人爱好 可以犯错,可以试错,但是一定有较强的学习能力 薪资 实习按天计算薪酬 能力升级薪资也升级

javascript 跨域的几种情况

JavaScript 中的跨域问题 http://yijiebuyi.com/A.js http://yijiebuyi.com/B.js 上面情况在同一域名下,不同资源文件 [允许跨域] http://yijiebuyi.com/blog/A.js http://yijiebuyi.com/jobs/B.js 上面情况在同一域名下,不同资源目录下的文件 [允许跨域] http://yijiebuyi.com/A.js http://yijiebuyi.com:1234/B.js 上面情况在同一域名下,不同端口 [不允许跨域] http://yijiebuyi.co

[投稿] 北京 海淀区 招聘 高级 node.js 开发工程师

联系站长免费投稿发布招聘信息 职责 负责公司两大平台智课网(smartstudy.com)和极智批改网(smartpigai.com)功能开发、 BUG修复及日常维护,依据公司产品设计完成产品功能模块的编程开发。 职位 node.js 高级开发工程师 学历 本科及以上 坐标 北京 - 海淀区 - 交通大学 - 上园村3号北交大知行大厦2层 要求 1、计算机相关专业,本科及以上学历; 2、熟悉nodejs相关开发框架,理解异步编程模式; 3、熟悉css, html5; 4、熟悉linux/mac系统; 5、熟练掌握MySQL数据库,配置管理等操作; 6、熟悉常用的数据结构和算法,

sails modules 模型自带的方法介绍

前面一系列介绍 Sails 框架学习 今天和大家分享 Sails 框架下模型自带的方法 1 . create(), update(), destroy(), find(), findOne(), destroy(), findOrCreate() count(), create() 创建记录 TestUser.create({name:'yijiebuy', email:'admin@yijiebuyi.com', gender:'male', age: '30'}, function(err, model){ }); 创建一条新纪录后,回调函数

回到顶部