2012年11月29日星期四

OCA证书

很惊奇会先下来OCA的证书,突然收到ORACLE发来的一封邮件,说让我下载OCA证书。但我的目标是OCP,所以目前还不清楚这张证书是否需要申请他们发送过来,我彩打了一下,跟真的证书差不多,然后再这里保存个备份吧
文件名:oca证书.pdf, 访问地址:http://www.kuaipan.cn/file/id_27168653149473662.htm

2012年11月22日星期四

忙了一上午,得了三等奖,不值

刚结束读书交流的活动,本着交流的目的去的,事先的考虑也只是一种交流,但到最后去演变成了一个演讲,还请了一些所谓的“评委”,听一些不知所云的讲话,真是一种折磨……

如果只是一个交流活动,即使没有啥奖品也会大家也都能开心的体会到下一步要读什么书,有哪些人生的感悟在里面。但这次的读书明显是有针对性的,要跟我们的十八大,跟上海的精神结合起来,然后再脱稿以主持的的心情“读”出来;不知道下面听的人又做何感想?是给讲给人听,还是做给人看?是让人在交流中升华还是在听您的宣传?

如果读书活动最后却变成了宣传活动将是十分可悲的一件事情。

辛苦做了PPT,虽然内容不怎么样,找模板还是花了很长时间,留下来做个纪念吧

一句顶一万句

2012年11月18日星期日

openshift推荐

  1. 地址:https://openshift.redhat.com/app/
  2. 使用方式,git,连php,还有node.js,python, java等资源可以使用
  3. 最大的好处是可以使用独立域名,速度也还不错
  4. 可以安装wordpress,已经有人实验成功
  5. 可以访问mysql,但现在还没有找到使用的方法

2012年11月2日星期五

mac快捷键介绍

今天在苹果店学会了一招,看下面这张图,其中最复杂的就是“关闭所有窗口”的命令,对应windows里面的alt+shift+command+w


另外,定位浏览器地址栏的快捷键是command+l,切换输入法的快捷键是command+space;ctrl + space可以调出Splotlight,可以在里面查找自己需要的应用程序

当然还有两指,三指,四指,五指的操作,退出程序的快捷键是command+q

全屏快捷键:ctrl + command + f;ctrl的符号是^

Use of undefined constant OCI_COMMIT_ON_SUCCESS - assumed 'OCI_COMMIT_ON_SUCCESS'

安装完wampServer,然后勾选了oci8.dll,codeigniter还是不能启动,报错Use of undefined constant OCI_COMMIT_ON_SUCCESS - assumed 'OCI_COMMIT_ON_SUCCESS',如下图

image

使用oci_connect方法的时候会报找不到这个方法的错误

image

在默认环境变量里面能找到如下dll

image

有如下解决方法(三选一)

  1. 下载并Oracle客户端,Oracle会自动在path里面加入D:\app\niehonglei\product\11.2.0\client_1\bin;

  2. 下载instantclient,然后在path里面把instantclient路径加进去;

  3. 下载instantclient,将其中的dll拷贝到C:\Windows\System32目录里面;

coreseek安装小结

1、按官方的标准安装,我的系统是CentOS(64位),默认安装了Python 2.6.6,如果没有安装还需要先安装Python 2.6.6,版本不要错;官方安装地址:http://www.coreseek.cn/products-install/install_on_bsd_linux/ 安装时注意在./config的时候加上对python的支持,因为我们要使用的是Oracle数据源

clipboard
相关代码:

$ cd csft-3.2.14
$ ./configure --prefix=/usr/local/coreseek  --without-unixodbc --with-mmseg --with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ --with-mmseg-libs=/usr/local/mmseg3/lib/ --with-python
$ make && make install

2、安装cx_Oracle:下载cx_Oracle-5.1.2-11g-py26-1.x86_64.rpm
执行安装包
rpm -ivh cx_Oracle-5.1.2-11g-py26-1.x86_64.rpm

3、下载安装instantclient-basic-linux.x64-11.2.0.3.0.zip,我下载的是zip包,当然我认为也可以下载rpm包,而且不需要自己配置会更合适一些

4、打开~下的.bash_profile,添加下面两句(如果下载的rpm包,则不需要做如下操作
增加以下两行代码
LD_LIBRARY_PATH=/root/instantclient_11_2;
export LD_LIBRARY_PATH

5、在python下测试import cx_Oracle,如没有报错,则说明python连接oracle已经没有错误了

6、配置csft的config文件/root/coreseek-3.2.14/testpack/etc/csft_demo_python_pyoracle.conf
文件如下:
python
{
path = /root/coreseek-3.2.14/testpack/etc/pysource
path = /root/coreseek-3.2.14/testpack/etc/pysource/csft_demo_pyoracle
}
#源定义
source python_oracle
{
type = python
name = csft_demo_pyoracle.MainSource
}
#index定义
index python_oracle
{
source            = python_oracle
path            = /root/coreseek-3.2.14/testpack/var/data/python_oracle
docinfo            = extern
mlock            = 0
morphology        = none
min_word_len        = 1
html_strip                = 0
#中文分词配置,详情请查看:
http://www.coreseek.cn/products-install/coreseek_mmseg/
    charset_dictpath = /usr/local/mmseg3/etc/
charset_type        = zh_cn.utf-8
}
#全局index定义
indexer
{
mem_limit            = 128M
}
#searchd服务定义
searchd
{
listen                  =   9312
read_timeout        = 5
max_children        = 30
max_matches            = 1000
seamless_rotate        = 0
preopen_indexes        = 0
unlink_old            = 1
pid_file = /root/coreseek-3.2.14/testpack/var/log/searchd_python_oracle.pid
log = /root/coreseek-3.2.14/testpack/var/log/searchd_python_oracle.log
query_log = /root/coreseek-3.2.14/testpack/var/log/query_python_oracle.log
}

7、设置/root/coreseek-3.2.14/testpack/etc/pysource/csft_demo_pyoracle/__init__.py,
文件内容如下
# -*- coding:utf-8 -*-


from os import path
import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
import sys
import cx_Oracle


class MainSource(object):
def __init__(self, conf):
self.conf =  conf
self.idx = 0
self.data = []
self.conn = None
self.cur = None


    def GetScheme(self):  #获取结构,docid、文本、整数
return [
('id' , {'docid':True, } ),
('title', { 'type':'text'} ),
('abstract', { 'type':'text'} ),
('search_type', {'type':'integer'} ),
]
def GetFieldOrder(self): #字段的优先顺序
return [('title', 'abstract')]

def Connected(self):   #如果是数据库,则在此处做数据库连接
if self.conn==None:
self.conn = cx_Oracle.connect('yzjs/a123456@10.166.166.222/genome')
self.cur = self.conn.cursor()
sql = 'SELECT t.id as id, t.title, t.abstract, t.search_type as search_type from V_SPHINX_INDEX t where t.title is not null and t.abstract is not null'
self.cur.execute(sql)
for rows in self.cur:
item = []
item.append(rows[0])
item.append(rows[1])
item.append(rows[2].read())
item.append(rows[3])
self.data.append(item)
pass


    def NextDocument(self):   #取得每一个文档记录的调用
if self.idx < len(self.data):
item = self.data[self.idx]
self.docid = self.id = item[0] #'docid':True
self.title = item[1]#.decode("GBK").encode("UTF-8")
self.abstract = item[2]#.decode("GBK").encode("UTF-8")
self.search_type = item[3]
self.idx += 1
return True
else:
return False


if __name__ == "__main__":    #直接访问演示部分
conf = {}
source = MainSource(conf)
source.Connected()
while source.NextDocument():
print "id=%d, subject=%s" % (source.id, source.abstract)#.decode("UTF-8"))
pass
#eof

8、然后根据下面三段脚本,可以方便索引,启动,热索引数据
索引
/usr/local/coreseek/bin/indexer -c /root/coreseek-3.2.14/testpack/etc/csft_demo_python_pyoracle.conf –all
启动
/usr/local/coreseek/bin/searchd -c /root/coreseek-3.2.14/testpack/etc/csft_demo_python_pyoracle.conf
停止
/usr/local/coreseek/bin/searchd -c /root/coreseek-3.2.14/testpack/etc/csft_demo_python_pyoracle.conf –stop
重编译
/usr/local/coreseek/bin/indexer -c  /root/coreseek-3.2.14/testpack/etc/csft_demo_python_pyoracle.conf --all –rotate


 

9、引入sphinxapi.php,写如下代码测试
$cl = new SphinxClient ();
$cl -> SetServer ( '192.168.42.148', 9312);
$cl -> SetConnectTimeout ( 3 );
$cl -> SetArrayResult ( true );
$cl -> SetMatchMode ( SPH_MATCH_ANY);
$data['res'] = $res = $cl -> Query ( $keyword, '*' );