木见过

If at first you don't succeed, get a bigger hammer.


  • 首页

  • 归档

  • 分类

  • 标签

  • 关于

  • 搜索
close

mongoDB 的全量备份 思路 & 脚本

发表于 2016-11-25   |   分类于 数据库   |  

写在前面

今天心情好就写点东西,毕业也将近一年了,感觉生活 & 工作各个方面都还行,就是运动缺乏运动,所谓生命在于运动还是有道理的,不说废话了。我们直接进入主题吧。最进做了项目,用到了mongodDB数据库,关于mongoDB数据库,本文就不再介绍了,这里主要说一下mongoDB在阿里云上的全量备份方法。我们都是linux系统的菜鸟,对linux几乎一无所知的同学可以看一下,因为我在做备份之前,也是一脸蒙逼。下面我们来看一下吧。

备份思路

  1. 这次我们做的是全量备份,与mongoDB增量备份是不同的。相对来说,增量备份实现有些困难,之后有时间做增量备份吧! 全量备份顾名思义,就是全部备份,缺点就是每次备份都是将整个数据库都备份了。这样就很浪费内存,要知道线上机器的内存都是花钱买来的,但是为了数据安全,也就先这么着吧!
  2. 用过mongoDB都知道,在安装mongoDB数据库的时候,我们在对应的*./bin文件下面可以看到好多的.exe文件,这些工具就是 mongoDB 提供给用户管理数据库用的。今天我们主要用到了 mongodump.exe 这个工具,此工具就是用来备份数据库的,好处就是该工具在运行时,数据库依然可以正常写入和读取,有些时候我们备份数据库的时候,通常都是先锁定数据库防止写入,然后备份,备份好之后,再解锁。但是用了 mongoDB 自带的 mongodump.exe 我们可以放心的备份而不需要锁定数据库。
  3. 由于线上的机器肯定装了mongoDB数据库,所以我们今天的备份思路就是,在线上加定时任务,去执行一个 shell 脚本,然后再 shell 脚本中调用 mongoDB 自带的工具mongodump 备份数据库就好了,然后,我的设置是每天凌晨备份,保留最近 7天 的数据,7天 之前全部删掉,没必要保留。
阅读全文 »

react & dva 全新的WEB应用数据解决方案(二)

发表于 2016-10-19   |   分类于 技术   |  

文章前言

上一篇文章中,已经说了很多,这篇文章中,我们将主要针对实际的业务场景,去理解和做一些有意义事。主要的目的就是利用这种新的开发模式,在以后的实际开发中,少踩坑。OK,Here we go…….

发起请求

找到 /services/ 文件夹,新建 users.js 文件, 然后引入 request.js 文件,开始写函数,以后所有的请求都在这里发起,当然只是针对当前业务页面的请求,面对不同类型的业务,我们可以创建不同的 js 脚本文件去处理相应的请求。具体代码如下:

1
2
3
4
5
6
import request from '../utils/request';
import qs from 'qs';
export async function query(params) {
return request(`/api/users?${qs.stringify(params)}`);
}

以上的代码中我们发起了一个异步的请求,下面我们要为这个请求的URL地址做一些工作了,找到 mock 文件夹,在下面创建一个users.js提供接口用于生产我们的数据,具体代码如下:

阅读全文 »

react & dva 全新的WEB应用数据解决方案(一)

发表于 2016-10-18   |   分类于 技术   |  

准备工作

因为项目涉及到react & dva ,所以首先我们需要安装dva-cli工具去初始化我们的项目,具体的安装方法,网上一大堆,这里不再赘述。有一点需要知道,dva是对redux一种封装,使得我们在处理数据,便于管理,项目结构更加清晰,能够将我们的重点更多的集中业务逻辑的处理上。大大提升开发效率。同时也便于后期数据维护。好了,讲这么多,下面开始实践了;在命令行中输入:

1
2
mkdir dva-dome && cd dva-dome
dva init

至此,我们就得到了一个标准的项目,这个项目的结构为

1
2
3
4
5
6
7
8
9
10
11
12
13
14
·
|———/mock/ #数据mock的接口文件
|———/src/ #项目源码目录
| |—— /components/ #项目组件
| |—— /routes/ #路由组件
| |—— /models/ #数据模型
| |—— /services/ #数据接口
| |—— /utils/ #工具函数
| |—— route.js #路由配置
| |—— index.js #入口文件
| |—— index.less #index样式文件
| |—— index.html
|——— package.json #项目信息
|——— proxy.config.js #数据mock配置

根据后面的注释,我们可以很清晰看出,该脚手架工具,已经为我们做好了很多事。方便简单。那就开始吧

阅读全文 »

css hack for IE6,7,8,9,11

发表于 2016-10-05   |   分类于 技术   |  

通常在前端开发中,我们很容易遇到这样的问题,就是自己写好的页面的在Chrome浏览器里面明明是好的,但是放在IE里面样式就变了,当然这是对于新手来说的。老程序猿都知道这是IE的不兼容造成的,但是有时候也会忘记一些关于CSS样式的兼容IE写法,所以这里,顺便整理一下这些方法,与人方便,于己方便。

阅读全文 »

github & Hexo 搭建个性博客

发表于 2016-10-05   |   分类于 技术   |  

写在前面

想想工作了也蛮久了,很喜欢杭州的环境,所以毕业也是暂时留到杭州工作,以前写代码,有不会的地方,就要上去网查资料,看到许多人的博客,有记录生活和技术的,觉得的很酷,当时就在想,自己搞一个博客玩玩好了,但是这件事一直没有做起来,很遗憾,这次花了些时间,总算是搞好了。同时也打算把近些时候工作中遇到的技术问题给记录一下。同时,也想写写生活,废话多了一点。

正文部分

准备工作

这里以windows为例,在配置博客之前,安装Hexo需要安装ndoe.js,所以首先你需要去网上下载并全局安装,很多博客都有写node.js的安装方法。可以去查一下,这里就不再赘述了,官网地址如下:

node.js传送门

安装好之后,我们打开命令行,运行以下命令:

npm install -g cnpm –registry=https://registry.npm.taobao.org

这段代码主要是用淘宝镜像代理包管理器npm,纯粹是为了在ndoe环境下安装模块能够快一些。大多数时候,随着项目越来越大,整个项目的依赖就变的很多了,这时候用npm实在是太慢了,相对来讲cnpm就很快。具体详情请前往淘宝npm镜像代理查看,
安装好了之后,还需要安装git工具,链接如下:

git传送门

初此之外我们还需要在github上面注册一个账户,作为一个程序员,没有一个github账号就显的太low了,所以去注册一个吧!程序员的facebook,你值得拥有。
好了废话不多说了,到此我们的准备工作差不多完了。

出门迎战

  1. 打开命令行运行依次运行以下命令:

    1
    2
    3
    4
    5
    6
    7
    cnpm install hexo -g
    D:
    mkdir myblog
    cd myblog
    hexo init
    cnpm install
    npm server
  2. 从控制台我们就可发现,该服务器监听的端口是4000, 那么我们打开浏览器输入http://localhost:4000 查看,就会发现一个完整简洁的博客就已经出现了,是不是很方便,下面我们开始配置这个博客,并将部署到我们之前创建的github上面,就可以开始写作生涯了。

Mujianguo

Mujianguo

well begun is half done

5 日志
2 分类
14 标签
Fork me on GitHub
© 2016 Mujianguo
由 Hexo 强力驱动
主题 - NexT.Pisces