未来往事
学会感谢你身边的一切、感谢你身边的每一个人,善待他人,即是最好的善待自己。 [2017年 第50周/共52周]

学会思考,而不只是编程

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

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

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

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

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

  欢迎来到真实的世界

+阅读全文

JQuery 插件的编写

jquery的插件机制

为了方便用户创建插件,jquery提供了$.extend()和$.fn.extend()方法。
$.extend(object) ,用于扩展jQuery类本身,也就是用来在jQuery类/命名空间上增加新函数,或者叫静态方法.
例如 jquery内置的 ajax方法都是用$.ajax()这样调用的,有点像 “类名.方法名” 静态方法的调用方式。

  1. $.extend({
  2. minValue: function (a, b) {
  3. // 比较两个值,返回最小值
  4. return a < b ? a : b;
  5. }
  6. });
  7. //调用
  8. var i = 100; j = 101;
  9. var min_value = $.minValue(i, j); // min_value 等于 100
+阅读全文

TP5 save遍历更新,过滤相邻重复字段,问题汇总

  TP5中在model中使用save方法遍历更新字段,会自动过滤掉相邻且值重复的字段,在TP5开发手册中也没有提到这一茬,虽然官方有给遍历更新的例子,但是普通的写法程序也不会报错,可能几千条数据中会过滤一两个字段,让开发者很难察觉到错误。而且也实在想不通过滤掉重复的字段的意义在哪里,测试内容如下:

测试准备工作如下:

1.建立一张数据表如下

2.控制器代码如下:    

  1. public function save(){
  2. $model = model('Foo');
  3. for($i=1;$i<=20;$i++){
  4. $data['Hname'] = $i;
  5. $data['Hid'] = $i;
  6. $model->saveDatas($i,$data);
  7. }
  8. echo '遍历更新'.($i-1).'条数据';
  9. }

3.model代码如下:

+阅读全文

PHP垃圾回收与内存管理基本原理

内存管理机制了解:

var_dump(memory_get_usage());//获取内存方法,加上true返回实际内存,不加则返回表现内存
$a = “http://fity.cn“;
var_dump(memory_get_usage());
unset($a);
var_dump(memory_get_usage());
输出:
int 368752
int 368920
int 368752

可以直观的看出定义变量之后,内存增加,清除变量之后,内存恢复(有些可能不会恢复和以前一样),好像定义变量时申请了一次内存,其实不是这样的,php会预先申请一块内存,不会每次定义变量就申请内存。PHP不像C语言那样,只有你显示的调用内存分配相关API才会有内存的分配。也就是说, 在PHP中,有很多我们看不到的内存分配过程。隐式的内存分配点就有:
1.为变量名分配内存,存入符号表
2.为变量值分配内存
所以, 不能只看表象。别怀疑,PHP的unset确实会释放内存,但这个释放不是C编程意义上的释放,不是交回给OS。当我们调用内存分配相关API申请内存的时候,PHP并不是简单的向OS要内存,而是会像OS要一个大块的内存,然后把其中的一块分配给申请者,这样当再有逻辑来申请内存的时候,就不再需要向OS申请内存了, 避免了频繁的系统调用。详细推荐参考《深入理解PHP内存管理之谁动了我的内存

垃圾回收机制(Garbage Collector 简称GC):
+阅读全文

html无损截取_保留html标签

  1. /**
  2. * 字符串切割
  3. * 功能:截取字符串(支持中文),如果字符串中包括html标签,截取的字符串则会保留完整的html标签
  4. * @param string $string 输入字符串
  5. * @param unknown $length 截取长度
......
+阅读全文

告别Bo-Blog~~~

粗略算下使用Bo-Blog开源博客系统记录日志已6年12天时间之久,主要用于学习、记录、分享一些基础的内容,毕竟复杂的内容整理起来也比较麻烦twemoji-1f602,系统很简单综合性能也不错,对于一个只是期望简单用于记录的用户来说功能也相对够用了,不像WordPress那样的庞然大物。

......
+阅读全文