2015年6月

git操作技巧

常用技巧

git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态
git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。
git reset --hard HASH #返回到某个节点,不保留修改。
git reset --soft HASH #返回到某个节点。保留修改

git update-index --assume-unchanged FILE
git update-index --no-assume-changed FILE
git fetch origin
git rebase origin/develop
git rebase --continue

git config --global core.fileMode false #忽略文件权限(全局)
git config core.fileMode false #忽略文件权限更改(项目)

获取文件创建日(首次提交日)

for f in `ls` do; do
    git log --diff-filter=A --follow --format=%f.html\ \ \ \ %ad --date=short -- $f;
done;

批量忽略本地文件更新

git ls-files -z myFolderToIgnore/ | xargs -0 git update-index --assume-unchanged

解决中文乱码

git config --global core.quotepath false

批量取消修改

git ls-files --modified | xargs -i git checkout -- {}
git ls-files --others | xargs -i git checkout -- {}

GIT的全局配置文件 ~/.gitconfig

[user]
    name = odora
    email = odora@jd.com
[http]
    sslVerify = false
[credential]
    helper = store
[core]
    filemode = false
    quotepath = false
[url "https://"]
    insteadOf = git://

查看所有被忽略的文件

git ls-files -v | grep '^h\ '

回车换行符忽略差异

git config --global core.autocrlf true

前端框架研究

CSS Framework

  • Bootstrap 3
  • Fundation
  • Semantic UI
  • Framework 7

WordPress Theme

  • Avada 3.7
  • Second Touch
  • The 7
  • Roots/Sage
  • U-Design
  • Cleanstart

WordPress Import Dummy Timeout

在 php.ini 中 max_execution_time = 120

free admin template

http://speckyboy.com/2014/05/16/free-bootstrap-admin-themes/

AngularJS Framework

https://github.com/Ye-Ting/angular-styleguide
https://github.com/Swiip/generator-gulp-angular

React Framework

https://github.com/Lucifier129/Lucifier129.github.io/issues/9

aelook

http://www.lookae.com

12-factor

简介

如今,软件通常会作为一种服务来交付,它们被称为网络应用程序,或软件即服务(SaaS)。12-Factor 为构建如下的 SaaS 应用提供了方法论:

  • 使用标准化流程自动配置,从而使新的开发者花费最少的学习成本加入这个项目。
  • 和操作系统之间尽可能的划清界限,在各个系统中提供最大的可移植性
  • 适合部署在现代的云计算平台,从而在服务器和系统管理方面节省资源。
  • 将开发环境和生产环境的差异降至最低,并使用持续交付实施敏捷开发。
  • 可以在工具、架构和开发流程不发生明显变化的前提下实现扩展

这套理论适用于任意语言和后端服务(数据库、消息队列、缓存等)开发的应用程序。

12-factors

I. 基准代码

一份基准代码,多份部署

II. 依赖

显式声明依赖关系

III. 配置

在环境中存储配置

IV. 后端服务

把后端服务当作附加资源

V. 构建,发布,运行

严格分离构建和运行

VI. 进程

以一个或多个无状态进程运行应用

通过端口绑定提供服务

VIII. 并发

通过进程模型进行扩展

IX. 易处理

快速启动和优雅终止可最大化健壮性

X. 开发环境与线上环境等价

尽可能的保持开发,预发布,线上环境相同

XI. 日志

把日志当作事件流

XII. 管理进程

后台管理任务当作一次性进程运行

利用CURL进行调试

发送POST请求

echo xxxx | curl -v -H 'Content-Type:yyyy' -d @- http://ip/path/file

v 表示打印通信过程
H 表示指定请求头部
d 表示指定POST数据
@- 表示从标准输入读取

MAVEN常用命令收集

下载依赖的源码

mvn dependency:sources
mvn dependency:sources -DincludeGroupIds=com.jcraft,org.testng -Dclassifier=sources
mvn dependency:sources -DincludeGroupIds=com.jcraft,org.testng -Dclassifier=javadoc

从本地文件安装jar包

 mvn install:install-file -Dfile=<myFile> -DgroupId=<myGroup> \
 -DartifactId=<myArtifactId> -Dversion=<myVersion> \
 -Dpackaging=<myPackaging> -DlocalRepositoryPath=<path>

跳过test并且打包

mvn package -Dmaven.test.skip=true

ivy转maven

build.xml
------------
<target name="generate-pom" depends="eclipse" description="Generate Maven POM">
  <ivy:deliver deliverpattern="${build.dir}/ivy.xml" pubrevision="${project.version}"/>
  <ivy:makepom ivyfile="${build.dir}/ivy.xml" pomfile="${build.dir}/pom.xml">
    <mapping conf="compile" scope="compile" />
    <mapping conf="runtime" scope="runtime" />
    <mapping conf="test"    scope="test"    />
  </ivy:makepom>
</target>

然后ant generate-pom

创建项目

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app \
-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
www.000webhost.com