- 博客(27)
- 资源 (72)
- 收藏
- 关注
原创 2015年辛星Redis教程发布,是win版奥
最近因为事情比较忙,辛星教程停更了较长的一段时间,在这里给大家道歉啦,让很多朋友们失望了,不过最近稳定下来啦,于是,辛星教程又会稳定持续的更新。 基本上保持每一周或者两周一部教程的频率吧,毕竟我工作在一家创业型公司,有着浓厚的学习氛围和工作激情,相信事情很快就会比较圆满的,加油吧,相信你的实力。 对于Redis,可能绝大多数公司都在用,它作为一个内存数据库,但是提供了比较
2015-08-02 22:39:24 1329 1
原创 辛星浅析phalcon中常用的依赖注入
其中phalcon也使用了依赖注入,而且phalcon在启动的过程中,需要使用很多的类,这些类都是通过依赖注入来进行配置的,然后通过加载器来载入的,下面介绍一下对于经常需要注入的服务。 对于路由器router,它负责解析url参数,该类文件是 \Phalcon\Mvc\Router,它的add参数类配置一个路由,下面是一个添加的范例: $di->set('router',
2015-08-30 23:53:44 3059
原创 辛星浅析php变量中的优先级问题
因为php是一个脚本语言,因此它的过度的灵活性,会导致它在解析的时候会产生歧义,一般来说我们是要避免这些歧义的,这里来小小的举一个例子吧,朋友们不妨看看下面的代码会输出什么: <?php$var = 'hello';$var_ = 'world';echo "$var_$var_";echo "";echo "{$var}_$var_";
2015-08-28 10:18:08 863
原创 辛星浅析围绕数据操作的几个名词即model、dal、dao、orm和ar
第一,model 首先,model是mvc中的m,也就是模型。它指的是读取数据和改变数据的操作,它是与业务逻辑息息相关的操作。比如一个简单的功能"把学生添加到班组",就可以理解为一个数据处理过程,它向外暴露一个接口,外面的数据不需要知道这个接口具体是怎么实现的,也不需要知道它在各个数据库下的不同表现,我们只需要知道模型层暴露出来的接口即可。 第二,dal和dao
2015-08-27 14:36:09 2120
原创 辛星浅析php中coment技术的实现
第一,何谓推送技术 随着人们对web越来越熟悉,人们希望web应用可以像本地应用一样可以实时的接收消息,于是也就有了所谓的"推送技术"。也就是我们所说的Server Push,也就是"服务器推技术",它的典型范例就是聊天、消息提醒、交友网站中使用比较频繁,成为实时应用中的一个热点问题。 第二,传统实现(拉取技术) 有一个很类似的实现机制,也就是传统的
2015-08-27 10:14:39 1186 2
原创 辛星浅析PSR-0规范
通常来说,我们的PSR-0规范,通常来说可以划分为如下五个部分: (1)类名空间必须与绝对路径一致 (2)类名的首字母必须要大写 (3)除去入口文件外,其他的php文件必须只有一个类 (4)php文件必须能够实现自动加载,不能有include等的载入 (5)单一入口
2015-08-26 11:15:03 723
原创 辛星解读laravel源代码第一篇即Database的实现流程
经过一天左右的努力,终于把laravel的源代码整合到了yaf框架上面,下面说一下laravel的db层的一些处理吧,我使用的是laravel5.1.4,下面是database所在的位置:laravel5.1.4/vendor/laravel/framework/src/Illuminate/Database ,这个路径就是它的文件地址目录。 我们来到Database文件夹后,会看到一
2015-08-25 18:18:49 4858
原创 阅读laravel源代码有感
由于公司一直使用的是yaf框架,至少有很多项目是基于yaf框架的。相信所有用过yaf的朋友们也能够清晰的感受到yaf的功能是在是太简洁了,基本上就提供了一个mvc模式、一个自动加载机制、一个路由机制,剩下的基本什么都没有。 当然啦,作为一个C语言框架,就不要求它什么了,而且毕竟是一个人维护的,人的时间也是有限的,而且鸟哥也一直在维护自己的yaf框架,再次表示衷心的感谢。于是,本着统
2015-08-25 00:53:49 2091
原创 辛星浅析yaf框架中的类的自动加载问题
由于公司很多项目都是基于yaf的,而很多刚接触yaf的朋友问的第一个问题就是:yaf的自动加载是按照什么规则来的。鉴于此,于是我特别开了一篇博文来记录一下。 首先在yaf中,models文件夹下的所有类名都需要以Model结尾,而且所有models和所有library下的类名都要根据所处等级加前缀,比如说我在Db目录下有个Mysql目录下有一个QueryGrammar.php文件,
2015-08-24 21:24:33 3398 1
原创 辛星浅析plpgsql的语法(下)
第一,执行语句 在调用一个表达式或者一个执行命令时,如果对它返回的数据不感兴趣,我们可以考虑使用PERFORM语句,也就是PERFORM query的格式,它会执行PERFORM之后的命令,但是忽略其返回的结果。而且其中的query的写法和普通的sql语句是一样的,只是把开头的关键字select 替换为perform即可。 如果我们在执行plpgsql函数中操作
2015-08-22 12:28:30 3730
原创 辛星浅析MySQL中的last_insert_id()
很多时候,我们在插入一条数据的时候,我们需要知道它的主键是多少,它会自动返回最后一个insert并且为auto_increment列位置的第一个发生的值。 而且需要注意的是产生的id每次连接后保存在服务器中,这意味着函数向一个给定客户端返回的值就是该客户端产生对影响auto_increment列的最新语句后的第一个auto_increment值。 而且这个值不会被其他
2015-08-21 15:11:09 714
翻译 辛星简译MySQL中的last_query_cost
我们都知道在MySQL中可以通过show status like 'last_query_cost' 来查看查上一个查询的代价,而且它是io_cost和cpu_cost的开销总和,它通常也是我们评价一个查询的执行效率的一个常用指标。 下面是一段英文解释: The total cost of the last compiled query as computed
2015-08-21 13:24:29 3956
原创 辛星浅析plpgsql语法(中)
第一,声明 所有在块里面的变量都必须在块的声明段里面首先进行声明,唯一例外的就是for循环里面的循环计数变量,它会自动被声明为整型。 变量的声明语法如下: 变量名 [CONSTANT] 变量类型 [NOT NULL] [{ DEFAULT | := } 表达式]; 对于声明语法,需要说明的几点是: ①SQ
2015-08-21 01:13:44 1808
原创 辛星浅析PL/pgsql语法(上)
最近在研究postgresql,因此也就对PL/pgsql产生了浓厚的兴趣,因此这里就来稍微的总结一下,首先说一下的是这个PL是Procedure Language的简写,也就是所谓的"过程语言“。 下面的很大一部分内容都是引用自pgsql手册,但是也根据自己的理解进行了一些简单的改变。 第一,调用时机 其中PL/pgsql的函数被第一次调用的时候,其函数内的源代码会被
2015-08-20 22:47:13 2260 1
原创 辛星浅析InnoDB的MVCC实现
首先说的是MVCC是一种思想,每种数据库在具体的实现上都会有所不同。而InnoDB的MVCC,是通过在每行记录保存两个隐藏列来实现的。而这两个列,一个是保存创建的版本,一个是保存删除的版本。 每当我们开始一个新的事务时,系统版本号都会自动递增。事务开始时刻的系统版本号会作为事务的版本号,我们可以用它来和查询到的每行记录版本号作比较。下面我们以可重复读这个隔离级别下的一个范例来进行说
2015-08-19 19:05:31 743 3
原创 辛星浅析乐观锁和悲观锁
有个网友问我乐观锁和悲观锁的相关问题,于是就来阐述一下这个问题。首先说乐观锁,它是Pessimistic Lock的简写,也就是所谓的悲观锁。它是每次取数据的时候都会认为别人会修改它的数据,因此它是在每次取数据之前都会进行加锁操作,这样别人拿数据的时候就必须等待直到它释放锁。其实我们的关系型数据库中就用到了很多这种锁机制,比如行锁、表锁、写锁等等,都是在操作之前首先加一个锁。
2015-08-19 18:51:21 776 2
原创 辛星浅析postgresql中的全文索引(上)
全文搜索通常也就是文本搜索,它可以提供满足查询的识别自然语言的能力,并且任意性地通过相关性查询进行排序。搜索最常见的类型就是找到所有包含给定的查询术语的记录,并且以相似性的查询顺序返回它们。 对于~、~*、like和ilike操作符来说,它们缺少很多特性:①对语言支持较弱,比如不能识别单词的复数形式。②没有有效的分类和排序手段 。 ③执行速度缓慢,通常就是因为无法有效的使用索引。
2015-08-14 01:02:17 1172
原创 在csdn开博一周年零一个月,纪念一下
在csdn开博客也一年零一个月了,感觉是时候写点纪念性的东西了,可能有朋友会问:为什么不是在开博一周年的时候写呢?其实原因超简单,因为那个时候太忙,忘记了。 工作在一家创业公司,怀揣着伟大的梦想,但是发现周围都是充满激情的人的时候,都是学富五车的时候,都在摩拳擦掌跃跃欲试的时候,你就会知道危机感会有多大了。 确实,我也感觉危机感挺重的,新技术层出不穷,每出一种新技术
2015-08-14 00:19:24 576 2
原创 辛星浅析跨域时的session共享问题
最近几天一直在忙一件事,弄的我现在满脑子都是"跨域"、“session"、”共享"等等的词汇,于是,也就简单总结一下自己的理解。 比如我们的这个项目,online是在线的二级域名,game是游戏的二级域名,我们需要在这两个域名下共享session,虽然这两个也需要跨域,但是由于这只是一个比较简单的跨域,我们可以在配置文件中设置一下让存储session的cookie的domain设
2015-08-13 18:41:58 1610 2
原创 辛星整理Oracle下载地址合集,主要是11g和10g
Oracle Database 11g Release 2 (11.2.0.1.0) for Microsoft Windows (64-bit)http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_database_1of2.ziphttp://download.oracle.com/otn/nt
2015-08-10 15:37:04 1327
原创 孤独,我的宿命
确切的说,我是一个特别喜欢独处的人,或者说是一个特别不喜欢和别人一起活动的人。有一句话说的很好,一个人走得快,一群人走得远。这一句话我是深有体会的。 基本上跟我一起吃饭的人,很少有比我快的,当我吃完之后,看到其他人还没吃完,心里就莫名的烦躁,就会想:我都吃完了,你怎么还有那么多。于是,基本就不喜欢和别人一起吃饭了。还有就是打篮球、打羽毛球这些活动,我也基本一律不想参加,因为不会,也
2015-08-09 23:26:32 947 9
原创 辛星浅析postgresql中的模式
一个数据库包含一个或者多个命名的模式,模式又可以包含表等数据库对象。模式有点类似于命名空间,我们可以在不同的命名空间中使用相同的名称而不会冲突。模式不是严格分离的,它只是一个逻辑上的区分。 模式的创建语法格式: create schema 模式名; 模式的删除语法格式: drop schema 模式名 [cascade]; 当我们在删除模式时
2015-08-09 05:28:38 1302
原创 辛星整理Linux下的/var目录
首先说一下/var目录吧,它一般保存系统运行时需要改变的数据,一般每个系统都是指定的,下面是一些常见的子目录的说明: (1)/var/lib 系统正常运行时需要改变的文件。 (2)/var/local 它保存安装的程序的可变数据,通常是系统管理员安装的程序 (3)/var/lock 它保存的是锁定文件,许多程序有这样一个约定:当它们在/var/loc
2015-08-09 02:01:29 642
原创 辛星整理postgresql中常见的一些非sql操作
这里所说的操作,是在我们用psql进入postgresql的客户端之后进行的操作,它们并不是SQL语句,但是它们通常又很重要,下面是一些常见的整理操作: (1)列出所有的数据库,我们使用\l命令或者\list命令,注意这里是字母l,不是数字1. (2)切换数据库,我们实用\c 数据库名的方式,它相当于MySQL里面的use 数据库名。 (3)列出当前数据库下
2015-08-09 00:26:02 795
原创 php发送http请求的几种方法
有很多时候,我们还是需要用php去发送http请求的,它可以模拟浏览器的行为,通常它的应用场景有:1.后端测试自己的接口。2.后端请求别人的数据。 后端测试自己的接口,比如我们写了一个返回json数据的接口,我们可以让前端去测,但是前端不一定有空啊,或者前端界面还没做出来,由于界面不一定是现成的,因此测试起来也会有点麻烦。当然我们可以用谷歌浏览器的postman或者火狐的post
2015-08-06 12:05:56 2348
原创 看《模拟游戏》有感
一般来说,我是不喜欢看电影的,但是最近却连续看了两部电影,都是公司组织的,怎么说呢,不去吧,显得不给面子。一部是《煎饼侠》,一部就是《模拟游戏》,对于煎饼侠,就不多做评论了,反正我是没看懂,或许是我情商太低了吧。对于模拟游戏,讲的是图灵生前的故事,整部片子有点悲壮,而且就像这部电影一样,它获得了奥斯卡的七项提名,但是可惜的是一部奖都没有拿。 应该说这部片子拍的还是挺成功的,可能因
2015-08-04 01:10:57 1161
原创 辛星整理域名下的cookie问题
对于非顶级域名,比如二级域名或者三级域名,设置的cookie的domain只能为顶级域名或者二级域名或者三级域名,不能设置成其他的二级域名,否则cookie无法生成。 对于顶级域名,它的cookie的domain只能设置为顶级域名,不能设置为二级域名或者三级域名,否则cookie无法生成。比如www.xinxingjiaocheng.com能够设置cookie的domain为xin
2015-08-03 16:41:23 828
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人