docker logs-查看docker容器日志 命令格式:
$ docker logs [OPTIONS] CONTAINER
Options:
--details 显示更多的信息
-f, --follow 跟踪实时日志
--since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
--tail string 从日志末尾显示多少行日志, 默认是all
-t, --timestamps 显示时间戳
--until st
2020-01-19
2316
开发工具
查看更多
前言 markdown的流行让大部分人脱离UI编辑专心致志写作,体验非常棒.
但是市场主流的markdown编辑器在上传附件功能方面一直都没有太得心应手的工具.
今天给大家推荐typora编辑器搭配PicGo自定义图床,让你随心所欲文档中插入图片.
typora Typora是一款由Abner Lee开发的轻量级Markdown编辑器,适用于OS X、Windows和Linux三种操作系统,是一款免费软件。与其他Markdown编辑器不同的是,Typora没有采用源代码和预览双栏显示的方式,而是采用所见即所得的编辑方式,实现了即时预览的功能,但也可切换至源代码编辑模式。
---维基百科
下载
2020-01-08
5725
开发工具
查看更多
关于 TCP可靠连接在之前有专门的介绍,点击连接查看.
netstat 命令 netstat 用于打印网络连接、路由表、连接的数据统计等,我们上文中介绍的各种连接状态都可以通过该命令进行统计
参数介绍:
- -a:列出所有状态的连接
- -l:列出正在监听状态(State=LISTEN的连接
- -t:列出所有 tcp 协议的连接
- -u:列出所有 udp 协议的连接
- -n: 开启域名解析,将对应的域名解析为 IP
- -p:列出正在监听的进程名称和进程 PID(PID/Program name),在 root 用户下启动的进程,普通用户是查不到对应的进程名称的
- -e:列出进程对应
2019-12-19
1517
杂谈
查看更多
levelup
是一个由谷歌构建的简单 key-value 数据库.
它在 Google Chrome 和许多其他产品中使用,使用 fast Snappy算法,可以将任意字节数组作为键和值.
leveldown
它提供了一个纯 C++ 绑定到 LevelDB.
在浏览器或者 memdown 中,有许多可选存储( 如 level.js ),用于内存存储中的. 它们通常支持键和值的字符串和缓冲区.
对于更丰富的数据类型集,可以用 encoding-down 包装存储.
level
它可以看做是包的一个集合,捆绑了 levelup , leveldown 和 encoding-down.
它的
2019-12-12
3555
javascript
查看更多
apt-get update 太慢如何换源 备份系统source文件 sudo cp sources.list sources.list.bak
替换source内容 打开source文件,替换内容
# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb
2019-12-11
7780
linux
查看更多
算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。
那么我们应该如何去衡量不同算法之间的优劣呢?
主要还是从算法所占用的「时间」和「空间」两个维度去考量。
时间维度:是指执行当前算法所消耗的时间,我们通常用「时间复杂度」来描述。
空间维度:是指执行当前算法需要占用多少内存空间,我们通常用「空间复杂度」来描述。
因此,评价一个算法的效率主要是看它的时间复杂度和空间复杂度情况。然而,有的时候时间和空间却又是「鱼和熊掌」,不可兼得的,那么我们就需要从中去取一个平衡点。
下面我来分
2019-11-2-
1198
心得
查看更多
webpack打包报错 $ npm run build:prod
> jiajialink-admin@3.2.1 build:prod /Users/zhangzhi/code/jjzn/admin
> vue-cli-service build
⠧ Building for production...
WARNING Compiled with 3 warnings 8:22:16 PM
warning
asset size limit: The follo
2019-11-19
17381
javascript
查看更多
说明 发现一些朋友在群里询问如何线上发布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命令
2019-10-28
3721
javascript
查看更多
一. json-server介绍 json-server 一个在前端本地运行,可以存储数据的server ,模拟接口,操作模拟数据
二. json-server的使用 2.1 安装 npm install json-server -D
复制代码
安装完成之后,可以通过 json-server -h 命令检查是否安装成功
json-server [options]
Options:
--config, -c 指定 config 文件 [默认: "json-server.json"]
--port, -p 设置端口号
2019-10-11
2317
nodejs
查看更多
es6 中的class ES6 的 class 属于一种“语法糖”,所以只是写法更加优雅,更加像面对对象的编程,其思想和 ES5 是一致的。
function Point(x, y) {
this.x = x;
this.y = y;
}
Point.prototype.toString = function() {
return '(' + this.x + ',' + this.y + ')';
}
等同于
class Point {
constructor(x, y) {
this.x = x;
this.y = y;
}
toStri
2019-10-09
1417
javascript
查看更多
什么是区块链 区块链是一种以区块为基本单位的链式数据结构,区块中利用数字摘要对之前的交易历史进行校验,适合分布式记账场景下防篡改和可扩展性的需求;
它具有分布式数据存储、点对点传输、共识机制、加密算法等计算机技术,通过维护数据块的链式结构进行持续增长的、不可篡改的数据记录.
区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块.
工作原理 区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组
2019-09-11
1436
区块链
查看更多
basicShare 推荐一款极简的分享插件
之前用过百度分享,后来博客切换https服务后,
百度分享插件加载报错,
再加上目前主流的社会化分享目的地也就是 微信,微博,
或许是80后的我真的out了,
这个插件基本满足我的需要
极致简洁 UI效果
截图展示效果有点大....
看看实际效果:
分享
站点没有下载icon,所以前面的分享icon变成了方框□
css .basicShareBtn {
cursor: pointer;
background-color: #dff0d8;
border-color: #d6e9c6;
color: green;
font-size: 1
2019-09-05
2539
javascript
查看更多
关于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
2019-08-27
2385
javascript
查看更多
前言 现在https协议以及成为站点标配,
前面写过一篇关 http跳转https服务的博客,
有些人询问如何申请SSL证书.
https优点 提升搜索排名
实现网站HTTPS化,加密用户与网站间的交互访问,强化网站用户侧可信展示程度,防劫持、防篡改、防监听.
采用Https加密的网站在搜索引擎显示结果中的排名将会更高,有利于提升网站的搜索靠前及站点可信度.
申请SSL证书 一般的云服务器厂商都支持购买证书,
我们今天说的是在阿里云免费申请SSL证书.
阿里云SSL证书品牌有
GeoTrust
Symantec (赛门铁克)
GMO GlobalSign
CFCA
我们选择个人免费类型
2019-08-17
2137
心得
查看更多
什么是事件循环 Event loop 事件循环是 Node.js 处理非阻塞 I/O 操作的机制——尽管 JavaScript 是单线程处理的——当有可能的时候,它们会把操作转移到系统内核中去。
既然目前大多数内核都是多线程的,它们可在后台处理多种操作。
当其中的一个操作完成的时候,内核通知 Node.js 将适合的回调函数添加到 轮询 队列中等待时机执行.
工作机制是什么样的? Client 请求到达 node api,该请求被添加到Event Queue(事件队列)[这是因为Node.js 无法同时处理多个请求]
Event Loop(事件循环) 始终检查事件队列中是否有待处理事件,如果
2019-08-03
1683
nodejs
查看更多
前言 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
2019-07-11
3694
javascript
查看更多
什么是内部类
把类定义在另一个类的内部,该类就被称为内部类.
非常重要的一点是,内部类能够访问外部类的所有成员,包括private修饰的.
为什么需要内部类 Java的内部类让我很容易的想起来JavaScript的闭包,闭包就是定义在一个函数内部的函数——这听起来和Java的内部类定义一样一样的.
本质上,闭包是将函数内部与函数外部连接起来的桥梁.
内部类一样,它是将内部类与外部类连接起来的桥梁.
内部类有何优势
内部类可以直接访问外部类中的成员(包括私有成员),
内部类可以独立地继承一个抽象类或者实现一个接口,无论外部类是否也这样做了,对内部类都没有影响.
可以模拟实现多继承
我们知
2019-07-02
1392
Java
查看更多
vue 和 react 的相同点 1.他们都是JavaScript的框架,专注于创造前端的富应用
2.不同于早期的JavaScript框架“功能齐全”,React与Vue只有框架的骨架,其他的功能如路由、状态管理等是框架分离的组件。
3.Vue.js(2.0版本)与React的其中最大一个相似之处,就是他们都使用了一种叫’Virtual DOM’的东西都鼓励组件化
4.看到React和Vue都有’props’的概念,这是properties的简写。props在组件中是一个特殊的属性,允许父组件往子组件传送数据。
5.React和Vue都有自己的构建工具,你可以使用它快速搭建开发环境
6.Re
2019-06-28
1542
vue
查看更多
前言 javascript因为他的不完美,
导致了字符串可以有好几种转化为数字的方法,
但是可用的方法越多,留下的坑也就比较多.
parseInt 几乎所有浏览器都能解析处理此方法.
console.log(parseInt('001一介布衣');
//有些老旧浏览器会返回 0
//现代浏览器会返回 1
此方法优点:
** 处理速度最快**
Number Number 几乎所有浏览器都支持解析,
但是它针对参数是否有引号会做出不同的解析.
console.log(Number('0028'));
输出:28
console.log(Number(023));
输出:19
当 Numbe
2019-06-20
2426
javascript
查看更多
docker 安装 redis 拉取镜像 docker pull redis
宿主机创建映射目录 创建目录 sudo mkdir -p docker/redis/redis01/conf
sudo mkdir -p docker/redis/redis01/data
conf 目录放redis.conf 配置文件
data 目录映射redis数据目录
上面文件都要chmod 777 的权限
创建配置文件 在线拉取一个 redis.conf 放入 docker/redis/redis01/conf 目录下
cd docker/redis/redis01/conf
wget http:
2019-06-18
2986
Docker
查看更多
ES6 下export 和 export default 的区别
export与export default均可用于导出常量、函数、文件、模块等
你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用
在一个文件或模块中,export、import可以有多个,export default仅有一个
通过export方式导出,在导入时要加{ },export default则不需要
ES6 下 export 导出方式
//a.js
export const str = "blablabla~";
export function
2019-05-28
1550
javascript
查看更多
前言 备份数据库是运维同志的日常工作之一,
但是对于中小公司,或者服务器托管在云服务商的公司来说,基本没有专业的运维工程师.
所以一部分公司中,开发工程师就要分担一些运维的事情.
我们本着能让计算机做的事情绝对不动手原则,
今天就和大家分享一下 centOS下定时自动备份mongodb数据库,并且清理历史备份记录.
centOS安装crontab 如果你的系统已经安装,请直接跳过此步骤.
[root@CentOS ~]# yum install vixie-cron
[root@CentOS ~]# yum install crontabs
说明 vixie-cron软件包是cron的主程
2019-05-19
2744
javascript
查看更多
什么是TCP协议
位于 OSI 模型中的传输层(第四层),是一种端对端的传输协议
面向连接的、可靠的协议
通过校验、序列化、确认应答、重发控制、窗口控制等机制实现可靠传输
由建立连接、数据传输和连接释放三个阶段组成
采用三次握手建立连接,采用四次挥手关闭连接
OSI
Open Systems Interconnection
网络堆栈中协议的分层结构,TCP在此结构的第四层位置.
TCP三次握手 三次握手为了使 Client 和 Server 都确认是否有接受对方的数据和发送数据给对方的能力:
这里不要把图里的 Client/Server 和项目里的客户端服务器端混淆,主动发起连接的一方或者
2019-04-21
1487
杂谈
查看更多
javascript中的 object javascript中的object是由多个名/值对组成的无序的集合;
object 中每个属性对应任意类型的值;
定义对象可以使用构造函数或字面量的形式.
var obj = new Object;
obj.name = "一介布衣";
obj.show = function(){}; //添加行为
除了以上添加属性的方式,还可以使用Object.defineProperty定义新属性或修改原有的属性
Object.defineProperty Object.defineProperty(obj, prop, descriptor)
参数说明:
2019-04-18
1344
javascript
查看更多
前言 在node的程序中,如果有大数据量的计算,处理起来比较慢,可以用C来处理,然后通过回调(callback的形式),返回给node.
那么编写好的C组件如何可以在node.js环境中调用呢.
Node.js 插件是用 C++ 编写的动态链接共享对象,可以使用 require() 函数加载到 Node.js 中,且像普通的 Node.js 模块一样被使用. 它们主要用于为运行在 Node.js 中的 JavaScript 与 C/C++ 库之间提供接口.
node.js如何编写c++组件 以官方Hello World” 示例是一个简单的插件,用 C++ 编写,如下代码:
module.ex
2019-04-12
8386
electron
查看更多
go 语言命名 go 语言不像java 等传统面向对象语言一样有访问修饰符;
它是从语法层面做了限定:
想要对外暴露的名字必须大写字母开头 [类似 public 修饰符]
不想对外暴露的名字必须小写字母开头 [对其他包不可见,类似私有变量]
包名称命名规则 取名要有意义,不与标准库冲突;
包名与目录名一致;
包名要使用小写开头的单词;
不混合大小写或者下划线等;
如:
package yijiebuyi
文件命名规则 取名要简短,有意义;
小写单词打头;
多个单词使用下划线分隔;
blog_content.go
结构体命名规则 驼峰命名法.
至于大驼峰还是小驼峰取决于该结构体是否要向
2019-03-19
2140
go
查看更多
前言 本人当前使用的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
2019-03-09
4648
mongodb
查看更多
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的协议方案的独立表单
2019-02-20
5118
electron
查看更多
之前写过一篇 关于css相对定位不跟随滚动条移动点击查看.
正如我的博客内容页右侧目录的效果.
垂直滚动内容时,右侧目录始终定位在右上角不跟随滚动条.
但是,
当我的目录足够长,因为它不跟随滚动条垂直移动,
导致超出屏幕的部分无法看到.
右侧目录相对定位 'position': 'fixed',
'top': 25px,
'width': 400px
top 25px 是因为我的博客顶部菜单高度25px,所以为了不让菜单遮挡右侧目录,所以距离顶部25px
但是页面初始化后,我们并不想直接让目录相对定位到右上角,
因为右上角还有需要展示的模块,
我们更希望是滚动条滚动到目录模块时,这个模块始
2019-02-20
4861
css3
查看更多
jsx代码格式化错乱 当你在用vscode编写jsx代码时,也许你的编辑器设置了自动保存,或者自动格式化代码.
而vscode 对js文件中的 jsx 代码格式化是下面这个样子的:
如何修复这种情况
首先安装插件 Prettier
vscode扩展插件中搜索 Prettier 安装
修改配置文件 vscode 文件-> 首选项-> 设置->用户->文本编辑器->文件
右侧添加项:
"*.js": "javascriptreact"
或者在配置文件settings.json 中搜索 files.associations ,里面添加 "*
2019-02-18
2039
开发工具
查看更多