Git查询某人代码量
1  | git log --author="quankj" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -  | 
1  | frontend:255980  | 
Artifical Dog
1  | git log --author="quankj" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -  | 
1  | frontend:255980  | 
学习React的时候,跟着教程做的一个简单的新闻站点,使用了Ant Design React组件库,适配移动和PC端,最后发布在leanCloud上。
地址: http://reactnews.leanapp.cn
最近一直在开发国网招投标项目,把我这辈子的班都加了。。。。。。
一个基于Java的半自动化持久层框架。MyBatis不会为开发者自动生成SQL执行,而是需要开发人员自己写SQL,然后通过映射配置文件,将返回返回结果映射到指定的POJO。
1  | <configuration>  | 
 创建数据库表对应的Java类,此处省略
1  | <mapper namespace="people" >  | 
1  | <mapper namespace="people" >  | 
不需要把所有字段都映射,可以只映射一部分,主键字段必须用id元素指定
‘#{}‘语法用于插入动态数据,数据来源于调用此语句时传入的参数,参数类型由parameterType属性决定
1  | <mappers>  | 
1  | private SqlSessionFactory sessionFactory;  | 
1  | 这里执行Sql有两种方式:  | 
1  | if  | 
1  | <select id="queryByCondition" parameterType="com.icss.mybatis.pojo.Student" resultMap="BaseResultMap">  | 
1  | <select id="queryByCondition2" parameterType="com.icss.mybatis.pojo.Student" resultMap="BaseResultMap">  | 
1  | <select id="queryByCondition3" parameterType="com.icss.mybatis.pojo.Student" resultMap="BaseResultMap">  | 
1  | <!-- 动态SQL:传入Array数组 -->  | 
1  | <!-- 动态SQL:trim标签 -->  | 
1  | <!-- 动态SQL:set更新 -->  | 
css扩展语言,兼容css,因此在less文件里即可使用扩展的特性也可使用标准css
1  | @color:red  | 
1  | .border-color(@color){  | 
使用:
1  | .header{  | 
1  | .border{  | 
其他属性集合内部使用:
1  | #menu{  | 
标准css写法
1  | #header{  | 
less的写法
1  | #header{  | 
任何数值,颜色和变量都可以进行运算
1  | @base:5%;  | 
less中变量的作用域,首先会在局部查找,如果没有再去父作用域查找
1  | @var:red  | 
1  | @import "library.less";  | 
less提供了许多的用于颜色转换,字符串处理,运算等的函数。
1  | @base:0.5;  | 
Webpack 是javascript应用的模块打包器(module bundler)。可以通过配置文件分析项目的结构,找到所有依赖,资源后进行打包输出供浏览器使用。
Webpack主要有四大核心概念:
webpack打包资源的入口文件,webpack.config.js 配置文件中配置entry属性
module.exports = {
  entry: './path/to/my/entry/file.js'
};
打包后的资源的存放位置,配置output属性
var path = require('path');
module.exports = {
      entry: './path/to/my/entry/file.js',
      output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'my-first-webpack.bundle.js'
      }
};
通过调用外部脚本或工具,对各种格式的文件进行处理打包
test:需要被处理的文件
use:loader的名称,调用处理
var path = require('path');
const config = {
      entry: './path/to/my/entry/file.js',
      output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'my-first-webpack.bundle.js'
     },
      module: {
           rules: [
              {test: /\.(js|jsx)$/, use: 'babel-loader'}
        ]
      }
};
module.exports = config;
插件是用来拓展Webpack功能的,它们会在整个构建过程中生效,执行相关的任务。
const HtmlWebpackPlugin = require('html-webpack-plugin'); //installed via npm
const webpack = require('webpack'); //to access built-in plugins
const path = require('path');
const config = {
      entry: './path/to/my/entry/file.js',
     output: {
            path: path.resolve(__dirname, 'dist'),
         filename: 'my-first-webpack.bundle.js'
      },
      module: {
        rules: [
              {test: /\.(js|jsx)$/, use: 'babel-loader'}
        ]
      },
     plugins: [
        new webpack.optimize.UglifyJsPlugin(),
        new HtmlWebpackPlugin({template: './src/index.html'})
      ]
};
module.exports = config;
###使用webpack构建本地服务器
Webpack提供一个可选的本地开发服务器,这个本地服务器基于node.js构建,可以实现更改代码后浏览器自动刷新,
首先得安装组件:
npm install --save-dev webpack-dev-server
然后配置
var path = require('path');
const config = {
      entry: './path/to/my/entry/file.js',
      output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'my-first-webpack.bundle.js'
     },
      module: {
           rules: [
              {test: /\.(js|jsx)$/, use: 'babel-loader'}
        ]
      }
    devServer: {
            contentBase: "./public",//本地服务器所加载的页面所在的目录
            colors: true,//终端中输出结果为彩色
         historyApiFallback: true,//不跳转
         inline: true//实时刷新
      } 
};
module.exports = config;