• 首页

sequelize 5.0中文文档 对象实例操作与数据持久化 (五) - node.js语言最好用的orm

前言 在面向对象语言中,我们很容易理解对象及对象的实例, 但是sequelize ORM框架中我们通常会说成模型和实例. 模型可以理解为对一个表结构的抽象定义,好比工厂的一条流水线, 实例可以理解为表结构中一个具体的数据结构,好比流水线生产出来的一个商品. 在sequelize 类中有一些api是针对实例操作 (可以理解成内存中的改变) 实例持久化以后,数据才写入我们物理存储单元中 (比如具体的数据库) 新建实例并持久化 定义模型 const Task = sequelize.define('task', { title: Sequelize.STRING, rating: { type

sequelize 5.0中文文档 5.0版本中升级,替换,移除的内容 (四) - node.js语言最好用的orm

前言 最近把代码进行升级,原来旧版本的Sequelize 也一下升级的V5.0版本, 为了学习使用方便,统一把 Sequelize 5.0 更新,移除,替换,升级的内容标记一下. 对node的支持 Sequelize v5 将仅支持 Node 6 以及更高版本 安全的运算符 在 v4 中,就开始收到弃用警告 String based operators are now deprecated (基于字符串的运算符现在已弃用). 同时也介绍了运算符的概念.这些运算符是一些防止散列注入攻击的符号. 在V5 版本中,运算符默认启用. 你仍然可以通过在 operatorsAliases 中传递一个运算

Linux下强大的curl 命令行工具

curl curl是linux系统中一个利用URL规则在命令行下工作的文件传输工具. 语法 curl [option] [url] 参数 -A/--user-agent <string> 设置用户代理发送给服务器 -b/--cookie <name=string/file> cookie字符串或文件读取位置 -c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中 -C/--continue-at <offset> 断

sequelize 5.0中文文档 定义模型define model和验证 (二) - node.js语言最好用的orm

前言 在使用sequelize ORM框架时一定要先创建模型对象. 对象模型对应的就是数据库中表,字段及字段类型等的定义. 我们一般的做法是先在nodejs中将对象创建出来,然后调用Sequelize的同步方法,将数据库自动创建出来. 这样就避免了既要写代码建表,又要手工创建数据库中的表的操作. 只需要单独考虑代码中的对象类型等属性就好了. 如果数据库中已经建好了表,并且不能删除,这个时候就不能自动创建了,因为创建的时候会删除掉旧的数据 定义模型 名称类型说明 modelNameString模型名,在sequelize.models属性中会使用这个名称; 如果没有在options中指定

sequelize 5.0中文文档连接数据源及数据类型 (一) - node.js语言最好用的orm

前言 Node.js 社区中,sequelize 应该是最好用的 ORM 框架,它支持多种数据库,包括 PostgreSQL ,MySQL ,SQLite 和 MSSQL. 安装 npm install --save sequelize 在你的项目中使用了哪种数据源,那么对应的去安装此数据源的驱动程序: $ npm install --save pg pg-hstore # PostgreSQL $ npm install --save mysql2 # MySQL $ npm install --save mariadb # Mariadb (mysql的孪生兄弟) $ n

Typora搭配PicGo自定义图床 - 让你的markdown飞起来

前言 markdown的流行让大部分人脱离UI编辑专心致志写作,体验非常棒. 但是市场主流的markdown编辑器在上传附件功能方面一直都没有太得心应手的工具. 今天给大家推荐typora编辑器搭配PicGo自定义图床,让你随心所欲文档中插入图片. typora Typora是一款由Abner Lee开发的轻量级Markdown编辑器,适用于OS X、Windows和Linux三种操作系统,是一款免费软件。与其他Markdown编辑器不同的是,Typora没有采用源代码和预览双栏显示的方式,而是采用所见即所得的编辑方式,实现了即时预览的功能,但也可切换至源代码编辑模式。 ---维基百科 下载

levelup 4.x版本升级node.js下leveldb数据库对照文档

levelup 是一个由谷歌构建的简单 key-value 数据库. 它在 Google Chrome 和许多其他产品中使用,使用 fast Snappy算法,可以将任意字节数组作为键和值. leveldown 它提供了一个纯 C++ 绑定到 LevelDB. 在浏览器或者 memdown 中,有许多可选存储( 如 level.js ),用于内存存储中的. 它们通常支持键和值的字符串和缓冲区. 对于更丰富的数据类型集,可以用 encoding-down 包装存储. level 它可以看做是包的一个集合,捆绑了 levelup , leveldown 和 encoding-down. 它的

vue项目打包发布线上环境

说明 发现一些朋友在群里询问如何线上发布vue项目. 从而暴露出来很多有意思的问题. 所以这篇博文简单介绍一下vue项目线上发布的情况. 本地环境 mac os node 10.16 vue 2.6 vue-cli 4.0 线上环境 centOS6 node 10.16 nginx vue是最近很火的前端框架, 所以它依赖的是浏览器,及我们可以从浏览器定位到你服务器nginx,然后nginx把指定的静态资源转发出来,最后我们在浏览器渲染看到 不管你的服务器是iis,apache还是nginx 只要http可以定位到服务器的静态资源即可. 很多人会有问号? 那为什么我在开发的时候用node命令

推荐一个极简社会化分享插件basicShare

basicShare 推荐一款极简的分享插件 之前用过百度分享,后来博客切换https服务后, 百度分享插件加载报错, 再加上目前主流的社会化分享目的地也就是 微信,微博, 或许是80后的我真的out了, 这个插件基本满足我的需要 极致简洁 UI效果 截图展示效果有点大.... 看看实际效果: 分享 站点没有下载icon,所以前面的分享icon变成了方框□ css .basicShareBtn { cursor: pointer; background-color: #dff0d8; border-color: #d6e9c6; color: green; font-size: 1

axios中文使用文档说明

关于axios axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js. 主要功能 从浏览器中创建 XMLHttpRequests 从 node.js 创建 http 请求 支持 Promise API 拦截请求和响应 转换请求数据和响应数据 取消请求 自动转换 JSON 数据 客户端支持防御 XSRF 浏览器支持 使用 浏览器端 直接引用: <script src="https://unpkg.com/axios/dist/axios.min.js"></script> 使用 bower: bower ins

免费申请SSL证书 - 站点从http升级到https

前言 现在https协议以及成为站点标配, 前面写过一篇关 http跳转https服务的博客, 有些人询问如何申请SSL证书. https优点 提升搜索排名 实现网站HTTPS化,加密用户与网站间的交互访问,强化网站用户侧可信展示程度,防劫持、防篡改、防监听. 采用Https加密的网站在搜索引擎显示结果中的排名将会更高,有利于提升网站的搜索靠前及站点可信度. 申请SSL证书 一般的云服务器厂商都支持购买证书, 我们今天说的是在阿里云免费申请SSL证书. 阿里云SSL证书品牌有 GeoTrust Symantec (赛门铁克) GMO GlobalSign CFCA 我们选择个人免费类型

vscode 高效率插件koroFileHeader注释辅助和GitLens代码追踪

前言 vscode优势强劲,让各种技术栈同学爱不释手,不仅仅是IDE足够优秀,而且他的生态也非常丰富,各种各样的插件让你武装到牙齿. 今天推荐的2款插件本人都在用. koroFileHeader 文件头部加注释 光标处添加函数注释 文件头部加注释 文件头部注释在你创建文件自动添加, 如果是老文件,保存时自动添加更新记录. /* * @Author: zhangzhi * @Date: 2019-07-11 13:40:28 * @LastEditTime: 07-11 17:15:57 * @LastEditors: zhangzhi * @Description: In User Set

javascript字符串转化成数字的几种方法

前言 javascript因为他的不完美, 导致了字符串可以有好几种转化为数字的方法, 但是可用的方法越多,留下的坑也就比较多. parseInt 几乎所有浏览器都能解析处理此方法. console.log(parseInt('001一介布衣'); //有些老旧浏览器会返回 0 //现代浏览器会返回 1 此方法优点: ** 处理速度最快** Number Number 几乎所有浏览器都支持解析, 但是它针对参数是否有引号会做出不同的解析. console.log(Number('0028')); 输出:28 console.log(Number(023)); 输出:19 当 Numbe

centOS用shell脚本定时备份mongodb并清理历史备份版本

前言 备份数据库是运维同志的日常工作之一, 但是对于中小公司,或者服务器托管在云服务商的公司来说,基本没有专业的运维工程师. 所以一部分公司中,开发工程师就要分担一些运维的事情. 我们本着能让计算机做的事情绝对不动手原则, 今天就和大家分享一下 centOS下定时自动备份mongodb数据库,并且清理历史备份记录. centOS安装crontab 如果你的系统已经安装,请直接跳过此步骤. [root@CentOS ~]# yum install vixie-cron [root@CentOS ~]# yum install crontabs 说明 vixie-cron软件包是cron的主程

mongodb客户端连接报错 Error: Failed to execute "listdatabases" command​

前言 本人当前使用的mongodb客户端版本Robo 3T 1.3.1 配置连接远程mongodb时报错: Error: Failed to execute "listdatabases" command 原因是因为今天mongodb config中指定了权限验证 开启mongodb验证 /etc/mongod.conf security: authorization: enabled 因为mongodb安装以后只在cmd中进行本地访问,所以要使用图形界面就需要使用登录账号及密码 解决方案 之前mongodb 采用 SSH 远程连接mongodb的方式, 现在需要重新编辑 添加Auth

electron中文文档 ClientRequest

new ClientRequest(options) electron框架下主线程发起HTTP/HTTPS请求. ClientRequest实现了Writable Stream接口, 因此是一个EventEmitter类型. 参数 (Object | String) -如果 选项 是一个String类型, 它被解释为请求的URL. 如果它是一个Object类型, 那么它可以通过以下属性指定一个HTTP请求 method String (可选) - HTTP请求方法. 默认为GET方法. url String (可选) - 请求的URL. 必须在指定了http或https的协议方案的独立表单

position Fixed on Scroll 相对定位时内容超出范围出现滚动条

之前写过一篇 关于css相对定位不跟随滚动条移动点击查看. 正如我的博客内容页右侧目录的效果. 垂直滚动内容时,右侧目录始终定位在右上角不跟随滚动条. 但是, 当我的目录足够长,因为它不跟随滚动条垂直移动, 导致超出屏幕的部分无法看到. 右侧目录相对定位 'position': 'fixed', 'top': 25px, 'width': 400px top 25px 是因为我的博客顶部菜单高度25px,所以为了不让菜单遮挡右侧目录,所以距离顶部25px 但是页面初始化后,我们并不想直接让目录相对定位到右上角, 因为右上角还有需要展示的模块, 我们更希望是滚动条滚动到目录模块时,这个模块始

使用Electron打造跨平台桌面应用

前言 早期桌面应用的开发主要借助原生 C/C++ API 进行,由于需要反复经历编译过程,且无法分离界面 UI 与业务代码,开发调试极为不便。后期出现的 QT 和 WPF 在一定程度上解决了界面代码分离和跨平台的问题,却依然无法避免较长时间的编译过程。近几年伴随互联网行业的迅猛发展,尤其是 NodeJS、Chromium 这类基于 W3C 标准开源应用的不断涌现,原生代码与 Web 浏览器开发逐步走向融合,Electron 正是在这种背景下诞生的。 electron Electron 是由 Github 开发,通过将Chromium和NodeJS整合为一个运行时环境,实现使用 HTML、CS

什么是electron - javascript,html和CSS 构建跨平台桌面应用

开源地址 https://github.com/electron/electron 关于Electron Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库。 Electron通过将Chromium和Node.js合并到同一个运行时环境中,并将其打包为Mac,Windows和Linux系统下的应用来实现这一目的。 核心团队和贡献者 Electron由Github上的一支团队和一群活跃的贡献者维护。 有些贡献者是独立开发者,有些则在用Electron构建应用的大型公司里工作。 版本 Electron的版本发布很频繁。 每当Chro

vscode天赋异禀-2018年开发者调查中最受欢迎-比较sublime和webstorm

Visual Studio Code(简称VS Code)是一个由微软开发,同时支持Windows 、 Linux和macOS等操作系统且开放源代码的代码编辑器[4],它支持测试,并内置了Git 版本控制功能,同时也具有开发环境功能,例如代码补全(类似于 IntelliSense)、代码片段和代码重构等。该编辑器支持用户个性化配置,例如改变主题颜色、键盘快捷方式等各种属性和参数,同时还在编辑器中内置了扩展程序管理的功能. -- 维基百科 2015 年 4 月 29 日的 Build 大会上,微软发布了 Visual Studio Code 第一个预览版本。短短四年时间里,VS Co

leveldb&levelup中文文档简介

levelup LevelDB是一个Google构建的简单的k-v数据库. 在Google Chrome和其他产品中被使用. LevelDB支持抽象字节数组作为键和值,单一get, put 和delete操作,批处理的put 和delete操作,双向迭代和使用快速Snappy 算法进行简单压缩. LevelDB存储按照键的字母顺序进行排序的条目. 这种构造levelup的流接口, 奠定了levelup作为可读流的迭代器一个十分有效的查询机制. leveldown是提供了存C++链接到LevelDB的存储器. 有很多交替存储是可用的, 如在浏览器中的level.js,或者是内存存储的mem

vscode markdownlint插件让你的markdown更加规范 -- Rules规则提示信息

前言 我们在书写代码的时候, 经常会用到eslint来约束代码规范, 这样团队开发或者后期维护都省了很多烦恼. markdown书写时一样有这样的问题, 那么我们如何来约束markdown的书写规范呢. 今天介绍一款 vscode 的插件 markdownlint https://github.com/DavidAnson/markdownlint vscode 直接搜索安装插件 markdownlint 当你在vscode中书写markdown文本时,不符合规范的内容就会有黄色波浪线来提示及时修正. 语法规范提示内容 MD001 - Heading levels should only i

brew install时一直卡在Updating怎么办

前言 当你通过brew安装软件的时候, 发现一只卡在Updating Updating Homebrew... 这个时候有俩种办法来应对 找国内的源Updating Homebrew brew install 时不要 update 切换国内的源 //替换brew源 cd "$(brew --repo)" git remote set-url origin https://mirrors.ustc.edu.cn/brew.git //替换homebrew-core.git cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" gi

陌生域名解析到服务器ip - 这种异常流量对你的站点不一定是好事

前言 当你在百度统计/google统计平台发偶然发现一些关键词来源的站点和自己站点一点不相关时. 这时你要注意了,可能你的内容正在养着别人的域名. 如果你点击这些异常站点,打开的原来是你自己的站. 偶尔你也会收到云服务器平台发来的通知邮件: 大概是说解析到你服务器上的 xxx.com 域名, 违反了国家有关法规,请您尽快处理! 处理方式: 1.停止域名解析 ,完成域名备案后可重新恢复解析; 停止网站服务, 完成备案后可重新开启业务; 为什么有人要怎么做 陌生人把自己的域名解析到你的 IP ,就相当于原样复制了一个内容丰富的站点,这个域名被搜索引擎收录后,就能够短时间内得到和你的站点相同

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

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

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

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

linux下wget命令

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

Linux下强大的tail命令

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

回到顶部