Hot For Coding
  • umount 提示 device is busy 解决方法

    想umount一个不用的磁盘,结果提示:

    [root@qttc mydata]# umount /mydata     
    umount: /mydata: device is busy.
            (In some cases useful info about processes that use
             the device is found by lsof(8) or fuser(1))
    

    于是只好用fuser命令来查看磁盘占用情况:

    [root@qttc mydata]# fuser -m -v /mydata
                         USER        PID ACCESS COMMAND
    /mydata:             root      16016 ..c.. bash
                         root      25011 ..c.. bash
    

    ...

    READ ALL

  • 用wget下载JDK

    经常需要在服务器端下载JDK,但下载JDK需要同意一个Licence才能下载,浏览器做这个动作很容易,只需要点一下同意在点击链接下载即可,但在Linux下用wget下载就需要添加一些参数了

    wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-linux-x64.tar.gz
    

    ...

    READ ALL

  • WebStorm如何配合Chrome debug js程序

    安装Chrome插件

    这一步需要科学上网,打开Chrome然后打开Web Stroe,搜索jetbrains ide support,在Extensions中找到如图

    full

    安装它,安装成功后Chrome的右上角应该出现扩展程序JetBranins IDE Support的图标

    full

    在WebStorm中新建一个项目

    full

    ...

    READ ALL

  • 让你的IntelliJ支持Golang

    Golang在发布时没有配套的IDE,以至于不少程序员纠结选用IDE,这里以IntelliJ居多。在网上找了不少教程,基本上就只有这个是最简单省事的了。

    一、打开属性窗口,选择plugins

    full

    二、点Browse repositories...

    full

    三、点击最底部的Manage repositories...,弹出下面窗口

    full

    ...

    READ ALL

  • 阿里云的硬伤啊

    啥也不说,直接上图吧

    full

    full

    记得以前是没有任何问题的,不知道为啥最近不可以了,正在考虑要不要把VPS迁回Linode

    ...

    READ ALL

  • 关于线程与进程

    进程和线程都是操作系统的基本概念

    进程

    CPU一次只能运行一个任务,其它任务都要停掉等着下次操作系统的调度,我们有时候即一边听歌一边处理文档等做好多事情,但同一时间内CPU只能运行一个进程。现在的CPU有4核6核等,有多少核就意味着同一时间能同时处理多少进程。因为大部分用户使用电脑时都不是复杂的业务场景,所以即使一边听歌,一边浏览网页,一边网上聊天在普通CPU完全能处理完,不会让你感觉到有卡顿的情况。但有一些应用会非常消耗CPU资源,比如3D模型开发者渲染效果图等这种应用会长时间占用CPU使用率

    线程

    一个进程内有很多线程,至少得有一个线程,它们的目的都是一个: 协同完成进程任务

    ...

    READ ALL

  • 网页实现资源加载Progress bar效果

    Progress Bar

    首先,目前几乎大多数网页上的Progress bar都是假的,在浏览器与服务器端交互过程中由于浏览器端的Ajax支持的特性受限没有办法知道已加载了多少内容,并且还有一种是Content-Length不声明的。所简单来说Progress bar不太能绘出实际网络情况,它跟Upload还不一样,Upload是已经知道文件的大小,它只要拿到服务器端返回的已上传大小数据就能绘制出Progress bar。

    Angular的一个插件效果

    full

    我最近也在项目里加了一个Progress bar,代码不太美观,这里就不贴了,说一说这中间遇到一些需要思考的问题。

    ...

    READ ALL

  • 纯CSS样式解决相册横向完美排布

    很久没有研究CSS了,成天用各种框架也基本都不需要自己写,最近要做一个相册页面,碰到的第一个问题就是如何排布。先给出设计稿,然后再说说样式如何写

    full

    分析一下,有一个容器,容器有padding,每一行的每一个item之间又有margin,首先想到的是这样

    .container {
      padding: 10px;
    }
     
    .container .item {
      float: left;
      width: 24%;
      margin-left: 1%;
      border: 1px solid #CCC;
    }
    

    ...

    READ ALL

  • Angular ng-repeat 数组有重复值

    默认在ng-repeat的时候每一个item都要保证是唯一的,否则console就会打出error告诉你哪个key/value是重复的。如

    $scope.items = [
      'red',
      'blue',
      'yellow',
      'white',
      'blue'
    ];
    

    这个数组blue就重复了,遍历它

    <li ng-repeat="item in items">{{ item }}</li>
    

    控制台就会抛出一个错误:

    Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: item in items, Duplicate key: string:blue, Duplicate value: blue

    ...

    READ ALL

  • 前端独立开发部署模式

    在开始讨论这个话题之前我们先来认识一下传统的开发模式

    传统开发模式

    相信很多做过Web开发的程序员应该都会经历这样一种开发模式,利用服务器端程序提供的HTML模版引擎编写HTML页面,比如

    • PHP 开发有Smarty模板引擎
    • Java Web工程有jsp页面
    • Python 如Django自带的template
    • NodeJS Express自带的模板

    都有一个共同的特点,服务器端渲染HTML返回浏览器。

    Ajax过渡

    Ajax是把服务器端渲染剥离的推进者,当时网页局部更新就是未来的趋势,那什么是前端独立开发模式呢?简单来说就是前端开发阶段使用开发WebServer做服务,使用类似http-proxy之类的包做API代理转发,完全与服务器工程剥离,服务器端只管暴露各种API接口提供数据的增删改查,不负责渲染HTML页面,前端有一套自己的规则去渲染HTML。

    ...

    READ ALL