wget 使用指南

Linux系统中的wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器。wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理。所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行。这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成,相对于其它大部分浏览器在下载大量数据时需要用户一直的参与,这省去了极大的麻烦。

wget 可以跟踪HTML页面上的链接依次下载来创建远程服务器的本地版本,完全重建原始站点的目录结构。这又常被称作”递归下载”。在递归下载的时候,wget 遵循Robot Exclusion标准(/robots.txt). wget可以在下载的同时,将链接转换成指向本地文件,以方便离线浏览。

wget 非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性.如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。
继续阅读

怎么让git记住密码

git如何push时不输入密码?

git config --global credential.helper store

更换账号时删除本地凭证

git config --global --unset credential.helper

ubuntu 安装 gitlab

GitLab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。

它拥有与GitHub类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

用 docker 比安装部署更简单,推荐使用。

继续阅读

在Ubuntu上安装或升级到LibreOffice 5.4

官方的LibreOffice 5.4 PPA,由LibreOffice包装团队维护。

该PPA包含Ubuntu 14.04 LTS,Ubuntu 16.04 LTS和Ubuntu 17.04的LibreOffice最新稳定版本。

现在是v5.4.0,但PPA将来会在本系列发行时提供稳定的更新(例如,LibreOffice 5.4.1,5.4.2等)。

sudo add-apt-repository ppa:libreoffice/libreoffice-5-4

使用 Graphviz 生成自动化系统图

如果您曾创建过系统环境的架构图,那么您可能很清楚,手动创建的这些图通常在创建之日后就会过期。本文将介绍 Graphviz 应用程序的基础知识,以及如何编写可以自动创建图的脚本,让您始终拥有最新的和正确的系统图。本文提供了一些示例脚本,以图的形式说明了基于 IBM® POWER® 处理器的服务器的 N-Port ID Virtualization (NPIV) 和虚拟 Small Computer System Interface (VSCSI) 配置。

绘图示例:

https://www.ibm.com/developerworks/cn/aix/library/au-aix-graphviz/index.html

Vue 中统一处理 ajax 请求错误

通常说, ajax 请求错误有两种, 一种是网络问题或者代码问题所造成的 400, 500错误等, 另外一种是请求参数后端通不过验证, 由后端抛出的错误

第二种根据不同的后端框架或者程序猿又可以分成两种, 一种是直接返回 json, 用一个 特别的 code 来区别正常请求返回的数据, 如:

{
  code: -404,
  message: '这是错误信息',
  data: '',
}

还有一种就是抛出 http 404 之类的, 然后把错误原因放在 header 里.

在组件写调用 ajax时, 通常都是这么写(这里以 axios 为例):

import axios from 'axios'
axios.get('/user?ID=12345')
  .then(function (response) {
    if (response.data.code === 200) {
        console.log(response.data)
    } else {
        // 由后端抛出的错误
        alert(response.data.message)
    }
  }).catch(function (error) {
       // 由网络或者服务器抛出的错误
     alert(error.toString())
  })

继续阅读

git 分离头指针的合并方法

处于头指针分离状态时,所作的修改不能被任何一个分支所跟踪,因此不能保证所作的提交会永久保存,当reflog中含有该日志过期后,这个提交随时都会从版本被中清除。挽救的办法是将分离状态的提交merge到master中来。

git checkout master
git merge 分离指针

此时可以看到我们已经通过merge合并到master中来了。

Laravel 怎样实现 隐式路由

自动匹配 [模块 /控制器 /方法]:

Route::any('/{module}/{class}/{action}', function($module, $class, $action) {
    $ctrl = \App::make("\\App\\Http\\Controllers\\{$module}\\{$class}Controller");
    return \App::call([$ctrl, $action]);
});