标签:# 代码笔记

THINK-IN-JAVA读书笔记

第一本英文版专业书籍,还是相当刺激的。望持之以恒,坚持不懈。 2017-04-12 page:00-17 1、面向对象编程 和 面向过程编程的区别 面向过程关注点在于解决的问题,比如一个状态机,只能处理固定输入的字符串 但是面向对象关注的是问题的主体,将问题的主体抽象化,如此便可以很方便的解决围绕此主体的所有问题 两者区别主要在于关注的对象不同,聚焦点不同,也就意味着解决问题的能力不同。 面向过程可以更高效解决某一特定问题 直观简洁,高效解决特定问题 面向对象便于解决围绕某一主体的一系列问题,方便拓展,更加灵活 重用性、灵活性和扩展性。 2、面向对象的五个特点 (1)Everything is an object. 任何事物都可以抽象为对象 (2)A program is a bunch of objects telling each other what to do by sending messages. 程序是对象的集合,相互之间通过发送消息告诉他们该做什么 (3)Each object has its own memory made up of other objects. 每个对象都有自己的空间,去容纳其他的对象 (4)Every object has a type. 每个对象都有一个类型 (5)All objects of a particular type can receive the same messages. 所有同一特定类型的对象能够接受相同的信息 2017-04-13 page:17-20 3、面向对象编程设计中,每一个类做一定的事情,即提供服务,但不要做得太多 有其他事情要做,暂时搁置
Read More ~

Yaf学习小记

工作中需要用到,提前学习下。以此文记录下遇到的问题或者知识点 ##安装 && 配置 1、phpize 作用 2、m4作用 m4 是 POSIX 标准中的一部分,所有版本的 UNIX 下都可用。虽然这种语言可以单独使用,但大多数人需要 m4 仅仅是因为 GNU autoconf 中的 “configure” 脚本依赖它。宏处理器(或预处理器)一般用作文本替换工具。最终用户经常会用它来处理要反复使用的文本模板,典型的是用于编程工具,还会用于文本编辑和文字处理工具。 m4 是一种宏处理器,它扫描用户输入的文本并将其输出,期间如果遇到宏就将其展开后输出。宏有两种,一种是内建的,另一种是用户定义的,它们能接受任意数量的参数。除了做展开宏的工作之外,m4 内建的宏能够加载文件,执行 Shell 命令,做整数运算,操纵文本,形成递归等等。m4 可用作编译器的前端,或者单纯作为宏处理器来用。 参考文章: 作者:garfileo  作者主页 本文整理自:https://segmentfault.com/a/1190000004104696 整理者:Timekeeperl    csdn博客 3、phpize 时 m4 报错 need GNU m4 1.4 or later: /usr/local/bin/m4 检查问题时候发现查找到的m4已经无法正常使用 网上找寻了一些方法,尝试了更新,无果 brew upgrade m4 然后发现系统内是存在一个1.4.8版本的m4的,位置如下: usr/local/Cellar/m4/1.4.18 遂查了下改变这个配置文件的位置: /usr/local/bin/autom4te 此文件的第90行处,是m4的路径配置,将m4的路径设置为 /usr/local/Cellar/m4/1.4.18/bin/m4 至此 done 4、make 时 pcre.h 报错 /usr/include/php/ext/pcre/php_pcre.h:29:10: fatal error: 'pcre.h' file not found #include "pcre.h" ^~~~~~~~ 1 error generated. make: *** [routes/yaf_route_regex.lo] Error 1 查了下原因:没有安装pcre,或者安装pcre的目录不对 brew install pcre 解决 5、make install 报错 cp: /usr/lib/php/extensions/no-debug-non-zts-20160303/#INST@62550#: Operation not permitted Mac OS Sierra 安装PHP扩展,在make install 的时候,出现类似 cp: /usr/lib/php/extensions/no-debug-non-zts-20131226/#INST@12567#: Operation not permitted make: *** [install-modules] Error 1 的错误,是因为是OSX 10.11 El Capitan开始,新添加了一个新的安全机制叫系统完整性保护System Integrity Protection (SIP),所以对于目录 /System /sbin /usr 不包含(/usr/local/) 仅仅供系统使用,其它用户或者程序无法直接使用,而我们的/usr/lib/php/extensions/刚好在受保护范围内。 解决办法是 禁掉SIP保护机制: 重启系统 按住Command + R (重新亮屏之后就开始按,象征地按几秒再松开,出现苹果标志,ok) 菜单“实用工具” ==>> “终端” ==>> 输入csrutil disable;执行后会输出:Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect. 重启系统 禁止掉SIP后,就可以顺利的安装了,当然装完了以后记得重新打开SIP,方法同上,只是命令是csrutil enable。当然,就算关掉了SIP保护机制,你依然需要root权限将yaf.so拷贝进去。
Read More ~