webpack 优化方案

1、编译速度优化

  • webpack.DllReferencePlugin //静态库编译
  • HappyPack // loader多进程
  • externals //第三方库不编译
  • loader指定exclude、include
  • resolve
  • 指定modulesDirectories
  • 指定alias 目录路径,减少webpack搜索遍历时间

2、常用plugins

  • 代码热替换, HotModuleReplacementPlugin
  • 生成html文件,HtmlWebpackPlugin
  • 将css成生文件,而非内联,ExtractTextPlugin
  • 报错但不退出webpack进程,NoErrorsPlugin
  • 代码丑化,UglifyJsPlugin,开发过程中不建议打开
  • 多个 html共用一个js文件(chunk),可用CommonsChunkPlugin
  • 清理文件夹,Clean
  • 调用模块的别名ProvidePlugin,例如想在js中用$,如果通过webpack加载,需要将$与jQuery对应起来

3、常用loaders

  • 处理样式,转成css,如:less-loader, sass-loader
  • 图片处理,如: url-loader, file-loader。两个都必须用上。否则超过大小限制的图片无法生成到目标文件夹中
  • 处理js,将es6或更高级的代码转成es5的代码。如: babel-loader,babel-preset-es2015,babel-preset-react
  • 将js模块暴露到全局,如果expose-loader

4、解决文件体积过大

  • extranals或者 webpack.optimize.CommonsChunkPlugin,提取第三方库
  • 发布代码去除不必要的插件,比如HotModuleReplacementPlugin、NoErrorsPlugin
  • 代码压缩webpack.optimize.UglifyJsPlugin
  • 去除重复代码webpack.optimize.DedupePlugin
  • 设置缓存
  • 代码分割 require.ensure
  • css样式独立extract-text-webpack-plugin

5、开发流程优化

  • 代码热替换HotModuleReplacementPlugin
  • webpack-dev-server
  • webpack-browser-plugin
  • webpack.NoErrorsPlugin
  • 全局常量webpack.DefinePlugin
  • webpack.config.babel.js 让webpack支持es6语法

参考文章:
http://www.jianshu.com/p/ee372e344d6d
https://segmentfault.com/a/1190000005770042
http://xuexi.tutcw.com/webpackhe-react-router/
https://segmentfault.com/a/1190000007141049

承接外包专题页

微信推广活动页面

历史项目:
+ 京东理肤泉合作项目 – 《击败空气污染》微信中推广护肤产品的活动
+ 百度新东方合作项目 – 《优能中学教育》移动端推广优能中学教育产品的活动
+ 中国梦之声第二季微信互动项目 – 微信摇一摇功能和电视节目的互动
+ 湖北卫视《最强战队》微信互动项目
+ 上海新闻综合频道《盛女,为爱作战》微信互动项目
+ …

微信小游戏

历史项目:
+ 神经猫
+ 2048
+ 跑酷
+ 天天爱消除
+ 拼图
+ 切水果
+ 小苹果
+ 熊出没
+ 记忆大师
+ 翻牌
+ 气球砰砰砰
+ 激射神经猫
+ 勇躲飞刀
+ 狂摄iphone6
+ 糖果乐园
+ 手机捉鬼
+ 最强眼力
+ 找妹子
+ 看你有多色
+ 情侣必须死
+ 中国好闺蜜
+ 命悬一线
+ 黑白块
+ 飞翔的小鸟(flappy bird)
+ 密室逃生
+ …

微信测试题

  • 读心小博士
  • 出轨测试
  • IQ测试
  • 神经病测试
  • 单身测试

移动webapp & HTML5应用

  • 数据报告
  • 招聘广告
  • 企业站
  • 微店
  • 请柬
  • 个人简历
  • 大头贴
  • T恤在线定制

部分应用预览






















版权相关说明

征服AngularJS的方法

真正用angular.js写过东西后,觉得它确实是个神奇的小东西,让编码过程更爽了,让webapp更酷了,下面记录下自己征服这个小东西的一些经验和体会,本文包含网上的一些资源集中贴,但本文主要目的是记录没有被总结收集的一些资源。

学习之前可以看看

教程

社区

项目

资源

工具

心得

 

win7+centos双系统详细安装与环境搭建

本文主要内容是记录win7环境下,搭建centos双系统的过程记录(包括php+mysql+nginx、python、sphinx、redis、mongo、gearman等各个服务的安装配置)

一、系统安装

1、环境和准备

1.1 系统环境:win7 64位 + centos 6.4 64位

1.2 工具准备:

1.2.1 esaybcd(启动项设置工具)

1.2.2 Ext2Fsd(windows下识别ext2f分区的工具)

1.2.3 PA(分区工具)

2、双系统安装详情

详情请见:http://www.cnblogs.com/Johness/archive/2012/12/03/2800126.html

3、双系统安装要注意的一些问题

3.1 镜像iso文件要放到fat32或ext2之类的分区,因为centos不能识别nfts的分区

3.2 centos安装过程中选择自定义分区

二、服务安装与配置

1、php+mysql+nginx

这个详情请见:菜鸟运维手记

2、sphinx

3、redis

4、python(2.6.6升级到2.7.6)

5、gearman

5.1.首先安装libdrizzle

5.2.安装gearman

5.3.启动gearman服务

5.4.安装php的gearman扩展

5.5.配置php.ini

修改php_mysql.so为gearman.so

5.6.查看安装情况

6、mongodb

让你的代码存在云端

在程序员心里一定都很珍惜自己写的代码吧,毕竟都是辛辛苦苦一行行一字字码出来的,所以会分外珍重吧。但是遇到跳槽,换电脑或从公司到家里的情况下,都面临着在不同电脑上同步代码的问题。那么如何更从容优雅的解决这个问题呢?

以前刚入行时,没有网盘,没有git服务器,没有money自己搭服务器,公司服务器在其它地方又没有访问权限,各种条件限制,很难做好同步,只能靠U盘、邮箱保存和备份,很坑爹~~。但现在条件好了,网络速度这么快,网盘技术也相对成熟了,各种服务器的价格也降下来了,那么在这么好的时代,我们有了这么优越条件的时候,就让我们自己动手,让代码同步不再成为困扰吧。


本文记录以下几种代码同步方案,看官根据自己需要做选择吧

1、购买vps或云主机搭建git服务器(优点:自主控制,完全私密 缺点:成本高)

2、使用类似百度网盘、dropbox的网盘搭建(优点:完全免费 缺点:需要比较好的网络环境)

3、注册类似Bitbucketgit.oschina.net这样的git服务网站,建立私库项目(优点:免费,方便 缺点:私密性不强)


一、VPS&云主机方案

这个方案中,主要的就是git服务器假设

这个就不仔细说了,网上有不少方案,下面是看过的比较靠谱的

Centos6.5 http://rangochen.blog.51cto.com/2445286/1394340

 

二、网盘方案

此方案对网络环境要求较高,但确实十分方便,具体操作比较简单(本人用的是百度网盘)

1、注册百度网盘账号http://pan.baidu.com,安装百度云同步盘,并设置好同步文件夹(比如D:\gitcodes)

2、在要同步的文件下面(比如D:\testcodes)执行下面操作:

这样就把testcodes目录下面的代码同步到云盘上的gitcodes\testcodes目录下面了,在其它电脑上要同步的时候,先用百度云同步盘,把该目录同步到本地(比如F:\gitcodes\testcodes),然后执行下面的代码,就可以完成同步了

 

三、Git服务平台方案

此方案是最省事的,就是到对应的网站注册账号,并创建项目,然后在本地clone、push就可以了,用过git的应该都会,推荐Bitbucketgit.oschina.net这两个是因为他们都支持私库,最好用最火的应该是github,不过那个上面建私库是要收费的,所以有私库需求,但又不愿花钱的可以考虑这两个,其中bitbucket在天朝访问可能会有点慢,所以总的来说oschina是个不错的选择~~

 

一行寄生虫代码

有朋友服务器后台不能登录,找我看是什么原因,调试之后发现一行怪异的php代码,反编之后,发现是类似寄生性质的广告代码~

下面是整个代码的分析,做个记录,看官如果服务器上发现类似的代码,请及时清除~~

代码很简单,是有一行:

字面意思解码了三次,一层一层来看

1、

这个解出来是一个gif后缀的url链接——http://www.jidunet.cn/images/PBit.gif,指向了“基督网”,这个可能是被当做跳板机了

2、

第一步那个url链接,本质不是gif图片,而是伪装成gif的加密的php代码

通关过file_get_contents下砸加密的php代码,然后在用base64_decode解码,就能得到最终的php功能代码了

3、

第二步得到了压缩的php代码,再通过下面这个方法,解压缩…得到正常的php代码

4、

最终通过eval,执行获得的php代码~

代码很简单,但却可以在别人服务器上伪装的很好。

 

这次碰到的代码,还好不是植入病毒之类的,只是被别人借用了服务器,刷广告

 

 

 

 

 

菜鸟运维手记

最近公司项目上线,运维不给力,记录下上线过程遇到的问题和解决办法

===============================================

centos下配置,辅助命令和工具使用

高效的命令:

locate(find的简写命令)—-快速模糊查找文件

whereis(特殊find命令) —-列出指定的软件安装和配置路径

工具使用:

vim 命令图解:http://www.alongsky.com/wp-content/uploads/2012/03/c8435708d9f9d72a8b27a8a5d42a2834359bbbda.jpg

linux命令大全:http://linuxso.duapp.com/index.php

===============================================

 

1、项目版本和服务器环境

1.1 程序分两种:Yii框架开发的前后台程序、后台cron统计脚本

1.2 系统:centos5.10

1.3 php5.4.21+mysql 5.5.17+nginx1.4.2

 

2、安装

2.1 准备

wget工具、配置yum源、配置防火墙

2.1.1

2.1.2

sh ./atomic #安装

2.1.3

特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面

 

2.2 安装

2.2.1 nginx

 

2.2.2 mysql

2.2.2.1 安装

 

2.2.2.2、为root账户设置密码

回车,根据提示输入Y

输入2次密码,回车

根据提示一路输入Y

 

MySql密码设置完成,重新启动 MySQL:

 

2.2.3 php

2.2.3.1、安装PHP

2.2.3.2、安装PHP组件,使PHP支持 MySQL、PHP支持FastCGI模式

 

 

3、配置

3.1 nginx配置

3.1.1 基本配置

 

3.1.2 配置php支持

 

root /var/www/siteroot;

location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;

fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi.conf;
    fastcgi_param PATH_INFO $fastcgi_path_info;

fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

 

3.2 php配置

 

3.3 php-fpm配置

 

4、遇到的问题和解决办法

4.1 yii框架默认url模式,使用nginx默认的url规则会报404错误,需要添加如下配置

location / {
try_files $uri $uri/ /index.php?$args;
}

4.2 session目录没有写权限,使phpmyadmin 登录总是停在登录页面,需要修改php.ini里面的session.save_path,然后修改指定目录的写权限

4.3 php不同版本切换

4.3.1 卸载现有php

rpm -qa | grep php  #列出php及php插件的包列表
rpm -e –nodeps –allmatches phpxxxx  #删除指定的包

4.3.2 重新安装php

4.3.3 php降到指定版本(建议直接卸载再安装)

4.4 一些命令

==================================================

还有一些编译安装插件的命令,请看官自己百度了,此文不再详述了