Write the Code. Change the World.

6月 30

现象

在给网址做 登录注册 功能时,通常会用到ajax。因为它不会刷新页面,给用户的体验很好。但会影响另外一个比较好的体验:浏览器不会弹出记住账号密码。

eg:


<div class="log-bodies"> <row> <span>账号</span> <input id="account" type="text" placeholder="请输入账号"> </row> <row> <span>密码</span> <input id="password" type="password" placeholder="请输入密码"> </row> <button class="log-btn">登录</button> </div $(".log-btn").click(function{ //do ajax post });

继续阅读

6月 28

问题

默认状态下,php是不写日志信息的。php报错,在服务器上不会留下记录。可以通过 phpinfo() 来看其日志信息写入功能是否打开。如下图,是没打开的状态。

打开error_log功能

编辑 php.ini,找到error_log,将后边的日志路径加上去,并将前边的分号去掉。保存,重启php。如下:

;error_log = /data/server/php/etc/log/php_errors.log

执行下边命令:

vi /data/server/php/etc/php.ini
/etc/init.d/php-fpm restart
mkdir -p /data/server/php/etc/log   #创建文件夹
chmod 777 /data/server/php/etc/log   #给写入的权限

修改重启后,再看 phpinfo()。如下图。

如果,还没达到预期的结果。可以在看看 php.ini中,log_errors的功能是否on了。

6月 28

前言

composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。composer 不是一个包管理器。它在每个项目的基础上进行管理,在你项目的某个目录中进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。

composer 将这样为你解决问题:

  1. 你有一个项目依赖于若干个库。
  2. 其中一些库依赖于其他库。

  3. 你声明你所依赖的东西。

  4. composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。

今天使用php7下的mongodb的扩展。不仅要安装mongodb和mongodb php扩展,还要安装mongodb php的类库。而这个类库,需要用composer来安装。于是,就要先学习composer的安装和用法了。
继续阅读

6月 28

前言

在安装mongodb php扩展之前,请先安装 mongodb。

下载安装

php7以下扩展下载地址:http://pecl.php.net/package/mongo

查看 php mongodb的扩展的版本以及下载链接。php7在 http://pecl.php.net/package/mongodb 查看。这里的环境是php7,请注意。

cd /usr/local/src/php-mongodb
wget https://pecl.php.net/get/mongodb-1.2.8.tgz
tar -xzvf mongodb-1.2.8.tgz
mv /usr/local/src/php-mongodb/mongodb-1.2.8 /data/server/php-mongodb

继续阅读

6月 28

js中实现set,get

方法1:

function Person()
{
    var name;

    Object.defineProperty(this, "name",{
        set:function(value){
            name = value;
        },
        get:function(){
            return name;
        }
    })
}

defineProperty 是ECMAScript 5新增的特性。该方法有局限性。ie需要大于8以上的版本才可以。

方法2:


var name; var Person = { set name(value){ name = value; }, get name(){ return name; } }
6月 28

初介

impress.js是国外一位开发者受Prezi启发,采用CSS3与JavaScript语言完成的一个可供开发者使用的表现层框架(演示工具)。

普通开发者可以利用impress.js自己开发出类似效果的演示工具,但性能比基于Flash的Prezi更优。其功能包括画布的无限旋转与缩放,任意角度放置任意大小的文字,CSS3 3D效果支持等。同时,也支持传统PowerPoint形式的幻灯演示。

目前impress.js是基于webkit浏览器(Chrome、Safari)开发,而在其它基于非 webkit引擎,但支持 CSS3 3D 的浏览器也能正常运行。

演示 && 下载

官网:http://impress.github.io/impress.js/#/bored

王巍:http://about.onevcat.com/#/welcome

正逍遥:http://zhengxiaoyao0716.github.io/FunCodeImpress/#/bored

gitHub: https://github.com/impress/impress.js
继续阅读

6月 28

前言

js是一个自由,一切皆对象的脚本语言。如果说要去找面向对象的原生的packageclass,那是没有的。但是,js可以去封装。

了解prototype

w3school这样定义的:prototype属性使您有能力向对象添加属性和方法。这个是动态的,也就是什么时候都可以。每个对象都有prototype属性,它本身也是一个对象。如此循环下去就形成了一个prototype链,这个链当遇到链中的prototype为null时即中止(Object默认的prototype为null)。
继续阅读

6月 26

中国人常说“授之以鱼不如授之以渔”。如果说教授编程是授之以鱼,那么教授计算机科学就是授之以渔。为什么说学习计算机科学比学会编程要重要得多?来听听 Yevgeniy Brikman 的解释。

现如今,似乎每个人都在学习编程:Bill Gates、Mark Zuckerberg和Chris Bosh这些名人在 Code.org 网站上告诉人们每个人都拥有编程的能力;CoderDojo 项目在世界各地大张旗鼓;英国已经把编程作为小学 官方课程

不过,我认为这样有点误入歧途了。但请不要误会——我也确实认为代码能够让世界变得更美好——但编程本身并不是我们的目的。计算机和程序只是工具,它们是我们通向终点的桥梁。

我们真正的目标应该是教会人们如何思考。换句话说,我们应该教人们计算机科学,而不只是编程。在这篇文章里,我将会解释这两者之间的区别,以及为什么在这两者当中选择正确的一方对于迈向成功来说如此重要。

我们不妨先问自己一个问题:为什么我们要关心编程或计算机科学?
继续阅读