为wordpress模板添加LazyLoadxt实现延迟加载图片

公司网站中有的频道页面图片很多,所以一加载页面就需要很长的时间,为了解决这个问题,只好使用JQuery插件LazyLoadxt来实现延迟加载图片,从而加快加载速度。实现完此功能之后,刚好本博客的模板D8没有此功能,所以自己手动来添加延迟加载图片功能。 第一步: 实现LazyLoad步骤如下: 1.  加载JS文件(jquery.lazyloadxt.min.js)     2.  修改img标签属性 <img src=”加载图片地址” data-src=”图片地址” />   第二步: 修改wordpress模板 1.  本例已D8模板为例   2. 导入JS文件(jquery.lazyloadxt.min.js) 通过wordpress方法add_action来对init初始化进行注册,从而导入JS文件 在模板目录下的functions.php中找到init注册方法 然后导入JS文件 wp_deregister_script( ‘lazyloadxt’ ); wp_register_script( ‘lazyloadxt’, get_template_directory_uri() . ‘/js/jquery.lazyloadxt.min.js’, false, ‘3.0’, dopt(‘d_jquerybom_b’) ? true : false ); wp_enqueue_script( ‘lazyloadxt’ ); 效果 3. 修改首页列表图片标签属性 找到模板目录下的index.php文件 找到图片列表位置(modules/sticky.php,modules/excerpt.php)   两个文件获得图片都是通过此方法(deel_thumbnail())来获得。   通过模板目录下的functions.php找到deel_thumbnail方法 然后进行修改img标签属性即可。 4. 修改内容页标签属性 … Continue reading “为wordpress模板添加LazyLoadxt实现延迟加载图片”

centos 7.0 挂载NTFS移动硬盘

公司需要本地备份,而本地服务器硬盘容量不够,所以需要将本地服务器centos 7.0系统的备份数据拷贝到移动硬盘。所以需要在centos上挂载NTFS格式的移动硬盘。 第一步: 安装ntfs-3g 因为移动硬盘是NTFS的文件系统,所以centos 7.0不识别这文件系统,所以安装ntfs-3g. 官方网址:http://www.tuxera.com/, 文档手册:http://www.tuxera.com/community/ntfs-3g-manual/ 下载地址:http://www.tuxera.com/community/ntfs-3g-download/ 1. 下载ntfs-3g   2. 上传到centos中,并且解压。 3. 进入ntfs-3g_ntfprogs-2014.2.25目录 4. 执行安装 # ./configure # make # make install   这样就算安装成功了。 第二步: 挂载移动硬盘 1. 查看移动硬盘信息 fdisk -l 额,出现乱码?这个是中文编码问题,如何解决? export LC_ALL=zh_CN.GBK export LANG=zh_CN.GBK   2. 创建挂载目录 在/mnt目录下创建挂载目录 3. 挂载移动硬盘 mount -t ntfs-3g <NTFS Partition> <Mount Point> 4. 开机自动挂载 在/etc/fstab里面添加如下格式语句 <NTFS Partition> <Mount … Continue reading “centos 7.0 挂载NTFS移动硬盘”

实现Discuz x3.1 读写分离

因为公司网站的用户量越来越大,所以考虑到给服务器减轻负载,就想到mysql主从配置,然后就想通过mysql主从配置实现Discuz x3.1的数据库读写分离。实现步骤如下: 第一步: MySQL主从设置之主服务器A设置 1.  找到主服务器A的MySQL的配置文件my.ini 2. 打开my.ini,在[mysqld]下面添加以下参数 3. 在主服务器A中添加一个用于主从复制的帐号: 登陆mysql命令行,执行 GRANT REPLICATION SLAVE ON *.* TO ‘帐号’@’从服务器IP’ IDENTIFIED BY ‘密码’; 4. 重启MySQL ,让配置生效 5. 可以通过show master status\G;查看主从数据库是否配置成功。   第二步: MySQL主从设置之主数据库和从数据库数据一致。 1.  关闭论坛访问,停止更新数据 2. 在主服务器中加入只读锁 3. 导出数据库 通过命令导出数据库 mysqldump -u root -p 数据库名 > 导出来的位置   4. 将主服务器的数据库导入到从服务器的数据库 5. 将主数据库服务器解除只读锁     6.  开启论坛访问。   第三步:MySQL主从设置之从服务器B设置 1. 找到从服务器mysql配置文件my.cnf … Continue reading “实现Discuz x3.1 读写分离”

在xcode6.1和ios10.10.1环境下实现app发布

之前写过在xcode6.1和ios10.10.1环境下实现真机测试,以及最近提交的app一直在审核当中,所以木有发布如何实现app发布来分享给大家。刚好昨天app审核通过了,所以就分享一篇如何实现app发布。 第一步: 创建app发布证书以及配置文件 1.  进入ios开发中心 2. 点击进入 Certificates,Identifiers & Profiles 3. 说明:因为这次我需要的是发布app,所以证书需要选择的是Production版本,而开发测试的话是Development版本。 4. 在Identifers中创建App IDs 说明: 这里就不做如何创建APP IDS的教程了,因为上次真机测试中已有,而已创建一个APP IDS中就包括了开发版(Development)和发布版本(Distribution). 5. 创建发布证书,类似与创建开发证书 只不过是我选择的类型是Production下的即可。我选择的是 App Store and Ad Hoc. 6. 创建配置文件 这里是直接发布,所以不需要创建设备了。 选择App Store,进入下一步。 选择APP ID,进入下一步。 选择创建好的发布证书,进入下一步。 填写配置文件,进入下一步下载即可。 7. 下载发布证书以及配置文件 第二步: 配置xcode 双击下载好的证书和配置文件,然后打开xcode. 在TARGETS->Code Signing 中选择配置文件和证书 在PROJECT->Code Signing中选择配置文件和证书 在Project->Archive进行编译 编译成功之后进入Archives 第三步: 在iTunes Connect创建app,以及配置app信息。 1.  进入开发者中心,点击iTunes Connect进入iTunes Connect中心 进入iTunes Connect … Continue reading “在xcode6.1和ios10.10.1环境下实现app发布”

实现android应用自动更新功能

在android应用开发中,需要考虑到以后新的应用更新,所以需要实现一个自动更新功能。当用户打开应用的时候,就获得服务器上的更新文件(版本号,以及下载地址…),然后和现在使用的APP比较,如果版本低了,就提示是否下载更新,如果版本一样就直接跳过。 实现步骤: 第一步:创建一个com.jhonse.update包,此包下创建一个UpdateManager.java类。 UpdateManager类的代码如下: package com.jhonse.update; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.HashMap; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import com.jhonse.aaa515.R; import android.annotation.SuppressLint; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.content.Intent; import android.content.pm.PackageManager.NameNotFoundException; import android.net.Uri; import android.os.Environment; import android.os.Handler; import … Continue reading “实现android应用自动更新功能”

android中webview控件实现拍照以及相册上传图片功能

在android中webview控件加载微网站时,有的时候需要通过html标签input file来上传图片,而android中webview不提供拍照以及相册上传图片功能。所以需要重新来写代码来实现通过input file 来上传图片。 开始实现input file来拍照以及相册上传图片功能。 第一步: 重载WebChromeClient类 this.appView.setWebChromeClient(new JCordovaChromeClient(this));  第二步: 给重载类添加拍照以及相册方法 // <input type=”file” name=”fileField” id=”fileField” /> // Android > 4.1.1 @SuppressWarnings(“static-access”) public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) { super.mUploadMessage = uploadMsg; this.jaaa515.startActivityForResult(createDefaultOpenableIntent(), this.FILECHOOSER_RESULTCODE); } // 3.0 + @SuppressWarnings(“static-access”) public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType) { super.mUploadMessage = uploadMsg; this.jaaa515.startActivityForResult(createDefaultOpenableIntent(), this.FILECHOOSER_RESULTCODE); } … Continue reading “android中webview控件实现拍照以及相册上传图片功能”

在xcode6.1和ios10.10.1环境下实现真机测试

开发ios app时,所有的测试都是在xcode中的模拟器中进行。现在问题来了,需要测试拍照以及信息推送功能,模拟器就无法测试了,必须使用真机测试才行。所以只好选择真机来测试。 先来看看xcode与ios对应的版本号。 开始进入真机测试步骤。   第一步:  真机(IPAD)与ios连接 在xcode中点击Window->Devices查看设备 这样IPAD和ios系统算真正连接上了。 第二步: 创建app证书以及配置文件 1.  进入ios开发中心 2. 点击Certificatis,Identifiers& Profiles,进行配置。 然后再点击Certificats 3. 创建App IDs 然后填写app信息,点击continue下一步。 再然后点击提交Submit,App IDs创建成功! 4. 创建证书(Certificates)   填写对应的信息,点击Continue下一步   在这里需要CSR文件,先点击Continue下一步,等下介绍如何创建CSR文件。   如何创建CSR文件?需要到钥匙串工具来创建。 打开钥匙串 然后对应的把CSR文件保存到桌面。 选择CSR文件。进入下一步. Certificates创建成功!即可下载. 说明:  app分为开发版(Development)和发布版(Production),现在真机测试是Development版。 5. 创建设备(Devices) 填写名称以及设备的UDID,点击下一步(Continue). 创建设备成功。 6. 创建配置文件(Provisioning Profiles)。 选择创建好的APP id 选择创建好的证书 选择创建好的设备 填写配置文件名称 创建成功! 7. 下载证书文件以及配置文件 第三步: 真机测试 双击已下载好的证书文件以及配置文件。 … Continue reading “在xcode6.1和ios10.10.1环境下实现真机测试”

2014年12月编程语言排行榜:R和Swift成为年度语言候选者

TIOBE 12月份编程语言排行榜发布,一起来看下:上个月我们曾报道R语言受大数据影响,份额一度攀升。而苹果公司发布的Swift也不断受到开发者追捧,仅发布一月,就已跃至TIOBE排行榜16位,实在是不可小觑。 根据排行榜分析数据得出,R和Swift 有望成为今年TIOBE年度语言的候选者,这一结果将在来年的一月份宣布。此外,JavaScript和Google Dart也有望参与评选,这一年两者发展的较为迅速。好了,各位网友选出你心中的年度语言桂冠吧。究竟花落谁家,我们拭目以待! 编程语言排行榜TOP 20榜单: 前10名编程语言长期走势图: 以下是21-50编程语言排名: 后50名编程语言如下: (Visual) FoxPro, 4th Dimension/4D, ABC, Alice, Apex, Automator, Awk, Bash, bc, BlitzMax, Bourne shell, C shell, C-Omega, cg, CL (OS/400), Clean, Clojure, DiBOL, Emacs Lisp, Erlang, Factor, Forth, Icon, IDL, Inform, Ioke, J, Korn shell, Ladder Logic, M4, Mathematica, Monkey, Moto, NATURAL, NXT-G, OpenCL, Oxygene, … Continue reading “2014年12月编程语言排行榜:R和Swift成为年度语言候选者”

在android中实现webview与javascript之间的交互

在android开发项目中,采用了webview控件和微网站。该项目中需要实现一个分享功能,而且是需要用javascript来调用android中定义好的分享功能,所以需要实现webview与javascript之间的交互。 一. 先说说android中webview控件如何调用javascript代码? 其实android中webview控件调用javascript方法还是比较简单,只需要设置webview支持javascript,然后用loadUrl调用javascript方法即可。实现代码如下: this.appView.getSettings().setJavaScriptEnabled(true);  javascript方法: function showDialog(info){ alert(info); }  android代码 this.appView.loadUrl(“javascript:showDialog(‘jhonse’)”);  二.  javascript调用android中自定义好的方法(例如: 分享) 需要给webview控件添加addJavascriptInterface方法,而这个就类似于初始化一个类对象,以及类对象里的方法。这个类对象就提供给javascript来调用。请看实现代码: this.appView.addJavascriptInterface(new Object() { @JavascriptInterface public void OnClick(String Subject, String Text) { Intent intent = new Intent(Intent.ACTION_SEND); intent.setType(“text/plain”); intent.putExtra(Intent.EXTRA_SUBJECT, Subject); intent.putExtra(Intent.EXTRA_TEXT, Text); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(Intent.createChooser(intent, “分享”)); } }, “JShare”); javascript调用自定义好的JShare对象。 if(window.JShare){ $(“#icon-share”).click(function(){ window.JShare.OnClick(“分享”,document.title+” “+document.URL); }); }  效果图:

使用Ucenter整合wordpress和Discuz (给博客提速)

本博客自从谷歌在内地无法打开之后,打开速度就开始变慢,于是Jhonse哥我作为技术开发猿而言,怎能允许这情况发生?所以就开始给本博客加速了… 第一步: 去掉wordpress默认加载的谷歌字体样式 找到wordpress的核心文件script-loader.php,在/wp-includes目录下 在script-loader.php文件中搜索fonts.googleapis.com,以及ajax.googleapis.com,然后用360提供的前端公共库CDN服务替换即可。请看截图: 第二步: 使用Ucenter整合wordpress和ucenter,来实现更换Gravatar头像 之前使用了第一步的步骤给本博客提速,确确实实速度是提上来了。不过今天本博客又开始慢了,本以为是第一步修改的代码被恢复了,结果一看代码,不是的,原来影响到打开速度慢的是Gravatar头像。 请看分析代码: 在每个文章详细页都有评论页,也就是需要加载评论用户的头像,而首页以及列表页都木有,所以打开首页和列表速度正常,而点击进入详细页就变的特慢。请看加载头像代码。 //评论头像缓存 function deel_avatar($avatar) { $tmp = strpos($avatar, ‘http’); $g = substr($avatar, $tmp, strpos($avatar, “‘”, $tmp) – $tmp); $tmp = strpos($g, ‘avatar/’) + 7; $f = substr($g, $tmp, strpos($g, “?”, $tmp) – $tmp); $w = get_bloginfo(‘wpurl’); $e = ABSPATH .’avatar/’. $f .’.png’; $t = dopt(‘d_avatarDate’)*24*60*60; if … Continue reading “使用Ucenter整合wordpress和Discuz (给博客提速)”