PHP开发工程师@温州。博客关于:技术、生活、读书、互联网。

博客不再更新。

已将博客迁移到http://iscript.github.io/ ,以后的新内容都将在github发布。

iOS中javascript与swift进行交互

在移动app混合开发中,必不可少的需要Javascript与原生应用进行交互。

下面以iOS平台为例,介绍在WebView中javascript与swift的交互。


1.swift调用javascript

swift调用javascript很简单,使用webview对象的一个方法即可实现:

webview.stringByEvaluatingJavaScriptFromString(“alert(‘啊~swift调用了我。’)”);

上面的代码用swift执行网页中的一个弹窗,在模拟器打开如下。



2. javascript调用swift

javascript不能...

数据可视化及图表

数据可视化是关于数据之视觉表现形式的研究;其中,这种数据的视觉表现形式被定义为一种以某种概要形式抽提出来的信息,包括相应信息单位的各种属性和变量。

图表是"数据可视化"的常用手段。


常见图表

一、柱状图(Bar Chart)

柱状图是最常见的图表,它的适用场合是二维数据集(每个数据点包括两个值x和y),但只有一个维度需要比较。


二、折线图(Line Chart)数据

折线图适合二维的大数据集,尤其是那些趋势比单个数据点更重要的场合。


三、饼图(Pie Chart)

饼图是一种应该避免使用的图表,因为肉眼对面积大小不敏感。


四、散点图(Scatter...

记一次mysql奔溃解决过程

16.47 , 正是坐等下班的时刻。

QQ响了,这时找我的一般没什么好事,呵呵。。 果然,要延迟一个小时下班了。

那么就开始解决问题把。

打开项目主页,错误如下 :
MySQL server error report:Array ( [2] => Array ( [error] => Got error 28 from storage engine ) [3] => Array ( [errno] => 1030 )
MySQL server error report...

《富爸爸穷爸爸》读后感

书中摘录:

  1. 造成贫穷和财务问题的主要原因是恐惧和无知,而非经济环境、政府或富人。

  2. 富人买入资产,穷人只有支出,中产阶级买他们以为是资产的负债。

  3. 什么是资产?资产就是向你口袋送钱的东西。什么是负债?负债就是把钱从你口袋掏出的东西。

  4. 要懂得如何“让钱来替你工作”,而不是“为了钱而工作”。  

  5. 关注自己的事业。

  6. 金钱从来不是真正的资产,我们唯一的、真正的资产是我们的头脑。

  7. 存在财务问题的人经常是一生为别人工作的人,许多人在他们停止工作时就变得一无所有。

  8.  风险总是无处不在,要学会驾驭风险,而不是一味回避风险。

  9. 你学习什么,就会成为...

cookie有关的术语

session cookie

当cookie没有设置超时时间,那么cookie会在浏览器退出时销毁,这种cookie是session cookie。


persistent cookie/tracking cookie

设置了超时时间的cookie,会在指定时间销毁,cookie的维持时间可以持续到浏览器退出之后,这种cookie被持久化在浏览器中。

很多站点用cookie跟踪用户的历史记录,例如广告类站点会使用cookie记录浏览过哪些内容,搜索引擎会使用cookie记录历史搜索记录,这时也可以称作tracking cookie,因为它被用于追踪用户行为。


secure cookie...

微信内置浏览器的Js API

最近做了几个微信微网站的小项目,这里整理下微信内置浏览器的几个Js API。


//当页面加载完毕后执行

if (document.addEventListener) {

                  document.addEventListener('WeixinJSBridgeReady',function(){});

} else if (document.attachEvent) 

linux下的定时任务crontab

[环境centos 6.5]


前言

crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中(/var/spool/cron/以用户命名的文件),以供之后读取和执行。该词来源于希腊语 chronos(χρνο),原意是时间。

通常,crontab储存的指令被守护进程 - crond激活在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。


启动crond进程

service crond start

若没安装请先安装:

yum...

Mac下chrome跨域设置

通过命令行启动chrome:

open -a "Google Chrome" --args --disable-web-security

出现如下提示则说明成功,然后就随意的调用不同域下的数据了。


--------------------------


编写自己的NPM包

1.编写模块

一个最简单的NPM包由主模块index.js和包描述文件package.json组成。

让我们编写一个生成指定长度随机字符串的NPM模块:

//index.js
module.exports = function(len){
    var rdmString = "";
    for (; rdmString.length < len; rdmString += Math.random().toString(36).substr(2));
    return

Restful架构及其技术可行性

RESTful简介

RESTful (Representation State Transfer) 描述了一个架构样式的网络系统,比如 web 应用程序。它首次出现在 2000 年 Roy Fielding 的博士论文中,他是 HTTP 规范的主要编写者之一。RESTful 指的是一组架构约束条件和原则,满足这些约束条件和原则的应用程序或设计就是 RESTful。


这里对什么是RESTful不作详细的论述,具体大家可以参考阮一峰的博客http://www.ruanyifeng.com/blog/2011/09/restful.html


简单来说,RESTful...

在PHP中使用password_hash()让你的密码更加安全

前言

PHP5.5提供了许多新特性及Api函数,其中之一就是Password Hashing API(创建和校验哈希密码)。
它包含4个函数:password_get_info()、password_hash()、password_needs_rehash()、password_verify()。

在PHP5.5之前,我们对于密码的加密可能更多的是采用md5或sha1之类的加密方式(没人像CSDN那样存明文吧。。),如:
echo md5("123456"); //输出: e10adc3949ba59abbe56e057f20f883e

但是简单的md5加密很容易通过字...

七天学会Node.js

七天学会NodeJS是阿里巴巴国际站前端技术部编写的开源文档,用于学习 Node.js。

网址 :http://nqdeng.github.io/7-days-nodejs/

github : https://github.com/nqdeng/7-days-nodejs

小试HTML5 Notification

HTML5 Notification ,即桌面通知。

目前浏览器依然是一个严格的沙盒工作模式,这种模式把浏览器和桌面的通信隔离开。Notification可以跨越沙盒能够让浏览器即使是最小化状态也能将消息通知给用户。


桌面提醒API

window.webkitNotifications

该API有3个方法:

  1. requestPermission 请求桌面通知

  2. checkPermission    检查桌面通知许可(PERMISSION_ALLOWED = 0, PERMISSION_NOT_ALLOWED = 1, PERMISSION_DENIED...

php自动加载规范:PSR-0

[翻译自官网http://www.php-fig.org/psr/psr-0/]


自动加载规范
下面描述了自动加载操作时必须遵守的强制要求。

要求:

  • 一个完全合格的命名空间和类名必须有以下的结构 \<Vendor Name>\(<Namespace>\)*<Class Name>

  • 每个命名空间必须有提供者名称("Vendor Name")作为顶级的命名空间

  • 每个命名空间可以有多个子命名空间

  • 每个命名空间在被从文件系统加载时须将分隔符转换为"系统分隔符"(DIRECTORY_SEPARATOR...

var happy = new year(2014);

2013年即将过去

写完这篇2013最后的工作总结就该幸福快乐的过年了╮(╯▽╰)╭

回顾2013,工作方面貌似在玩着各种各样的Js开发

使用node.js开发服务端应用

前端的MVVM框架Angular.js

HTML5游戏开发kinetic.js

使用Js开发基于phonegap的手机应用

node-webkit桌面应用

数据可视化D3.js、echarts

前端的包管理bower

自动化构建grunt

实时通讯socket.io

3D技术three.js

UI框架bootstrap等

。。。。

什么,Jquery?源码都基本看完了

当然除了JavaScript...

PHP编码规范

PHP社区百花齐放,拥有大量的函数库、框架和组件。
PHP开发者通常会在自己的项目中使用若干个外部库,因而PHP代码遵循或尽量接近同一个代码风格就非常重要,可以让开发者方便地把多个代码库集成在自己的项目中。


框架互操作组(PHP Framework Interoperability Group)发布了一系列代码风格推荐标准,即PSR规范(Proposing a Standard Recommendation)。


目前已有5个代码规范:

phonegap开发ios应用上下拖动黑边问题

使用phonegap开发的ios应用使用手指向下或者向上滑动屏幕时会看到页面顶部或底部会出现一大片黑色,松开手指后就会再弹回去。

在网上搜索此问题,解决方案如下:

修改config.xml

<preference name="WebViewBounce" value="false" />

<preference name="DisallowOverscroll" value="true" />


注:据说该方法在phonegap2.x版本无...

wordpress主题开发教程

WordPress是一种使用PHP语言开发的博客平台,免费、开源。

作为最流行的博客平台,海量的插件和主题可以说是WordPress 最大的特色了,没有哪一个Blog 平台拥有如此多的插件和主题,拥有如此多的用户和爱好者。


下面介绍如何开发设计你自己的 WordPress 主题。


主题的剖析

WordPress主题目录位于 wp-content/themes/。主题目录拥有所有样式文件、模板文件、可选的函数文件 (functions.php)、JavaScript 文件、图片等。比如说一个叫做 "test" 的主题就会...

Angular.js整合socket.io

前言

作为下一代的 Web 标准,HTML5 拥有许多引人注目的新特性,如 Canvas、本地存储、多媒体编程接口、WebSocket 等等。
这其中WebSocket使得浏览器对 Socket 的支持成为可能,从而在浏览器和服务器之间提供了一个基于 TCP 连接的双向通道。Web 开发人员可以非常方便地使用 WebSocket构建实时 web 应用,开发人员的手中从此又多了一柄神兵利器。


socket.IO
Socket.IO 是一个功能非常强大的框架,能够帮助你构建基于 WebSocket的跨浏览器的实时应用。支持主流浏览器,多种平台,多种传输模式,还可以集合 Exppress...

© yuankeqiang | Powered by LOFTER