//安装php的solr sudo apt-get install php5-curl sudo apt-get install libcurl4-gnutls-dev sudo apt-get install libxml2 sudo apt-get install libxml2-dev sudo pecl install -n solr-beta sudo vi /etc/php5/conf.d/solr.ini //修改solr.ini //添加以下语句 extension=solr.so 如果出现问题 make: not found, 需要执行 sudo apt-get install build-essential, 然后再执行 sudo pecl install -n solr-beta 根据下文实践的结果: http://www.wijiti.com/help/37-jsolr/140-installing-apache-solr-php-extension
Category: 技术
使用Nginx已经有很长一段时间,但是最近才去实践利用Nginx做负载均衡和高可用性。 大致思路:根据keepalived的特性,通过一个虚拟ip来实现主从服务器的切换,如果一台服务器宕机,可以自动切换到另一台备份服务器,从而不影响用户的访问。 以下是我的安装配置步骤,请大家参考指正。 1:服务器准备 准备两台ubuntu虚拟主机服务器,对应的IP分别是 192.168.1.100 192.168.1.200 两台主机的ip一定要在相同的网段 2:虚拟IP准备 sudo ifconfig eth0:0 192.168.1.150 netmask 255.255.255.0 然后查看ifconfig,不难发现与之前的ifconfig 的不同。也可以通过ip a查看,对应的网卡eth0有两个ipaddress 两台虚拟主机要使用相同的虚拟IP: 192.168.1.150 3:安装nginx sudo apt-get install nginx 安装完成之后,ps -ef|grep nginx 查看nginx的进程,如果没问题,可以查看http://192.168.1.100 如果显示正常,说明nginx服务正常启动。 nginx的配置如下: user www-data; worker_processes 4; pid /var/run/nginx.pid; events { worker_connections 1024; # multi_accept…
linux/mac Ruby使用curl请求http数据 首先要安装curl,在命令行可以使用curl –help 其次,使用ruby代码调用系统命令 system cmd `cmd` curl 请求数据可以是post也可以是get, put get方式获取页面 curl “http://www.xxx.com/login.cgi?&name=ddd&pwd=kkk” post方式 curl -d “name=ddd;pwd=kkk” “http://www.xxx.com/login.cgi” 但是要回去服务器响应的数据,假设返回数据是json格式的rails项目,可以如下: curl -d “name=ddd;pwd=kkk” localhost:3000/users/info.json curl -d “name=ddd;pwd=kkk” localhost:3000/users/info 如果是返回的是xml格式,也是可以的
IOS常用的三种本地数据持久化方式: 1:属性序列化列表 存储到文件 plist; 2:归档序列化,对模型数据进行归档; 3:本地数据库存储,嵌入式sqlite; 其实这三种方式都是把数据存储到本地文件里边,只是实现方式和使用的场景不同而已,复杂程度从上到下增加。 除此之外,还有一种方式存储数据,就是使用NSUserDefaults,它已键值对的形式记录应用程序的全局设置,其实settings.bundle里边的数据就是存在NSUserDefaults的。 主要代码如下: 方式一:plist //先获取plist文件路径 NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentDirectory = [path objectAtIndex:0]; filePath = [documentDirectory stringByAppendingPathComponent:@”xxx.plist”]; //把数据写入plist NSArray *arr = [[NSArray allocl] initWithObjects:A,B,C,nil]; [arr writeToFile:self.filePath atomically:YES]; //从plist取数据 NSMutableArray *arr = [[NSMutableArray alloc]…
在一些ios应用中经常会需要自定义视图,其中气泡视图就是其中之一,下面介绍两种方式: 方式一: 1:新建一UIView的子类UIBubbleView 2:在initwithframe中初始化 a):要绘制气泡的坐标targetpoint(x,y); b):气泡的frame bubbleFrame; c):调用方法setneedslayout; 3:调用drawCGRect方法 只要代码如下: [sourcecode lang=”plain”] – (void)drawRect:(CGRect)rect{ NSLog(@"bubble draw"); CGContextRef c = UIGraphicsGetCurrentContext(); CGContextSetRGBStrokeColor(c, 0.0, 0.0, 0.0, 0.0); CGContextSetLineWidth(c, 3.0); //确定画线的宽度,对象组合,颜色 CGMutablePathRef bubblePath = CGPathCreateMutable(); //绘制起点-箭头右边-气泡右上顶点-右下顶点-左下顶点-左上顶点-箭头左边-起点闭合 CGPathMoveToPoint(bubblePath, NULL, targetPoint.x, targetPoint.y); CGPathAddLineToPoint(bubblePath, NULL, targetPoint.x+pointerSize-1, targetPoint.y-2); CGPathAddArcToPoint(bubblePath, NULL, bubbleFrame.origin.x,…
获取localization 语言 [sourcecode lang=”plain”]NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSArray *languages = [defaults objectForKey:@"AppleLanguages"]; NSLog(@"%@, %@",languages,NSLocalizedString(@"xxx")); [/sourcecode] Resources—右键—new file —(String files or empty file)命名为: Localizable.strings –右键 get info — make file localizable 添加对应语言的localization 1:Localizable.strings:(针对字符串 NSLocalizedString) 在对应的zh-hans和English文件添加: “xxx”=”本地字符串”; “yyy”=”本地字符串”; 2:InfoPlist.strings:(针对app名称) 在对应的zh-hans和English文件添加: CFBundleName=”本地名”; CFBundleDisplayName=”本地名”; …
在 iOS中可以直接调用 某个对象的实例方法 方式有2: 1:[obj performSelector:withObject:]; 2:使用NSInvocation 第一种方式比较简单,能完成简单的调用。但是对于>2个的参数或者有返回值的处理,那就需要做些额外工作才能搞定。那么在这种情况下,我们就可以使用NSInvocation来进行这些相对复杂的操作
要在一个tabbar+navbar的页面切换到navbar页面, 尝试了多种方式: 1:self.tabBarController.tabBar.hidden=yes, 只是不显示tabbar但是对应的区域不可用 2:在push之前修改下一个页面的frame, 把tabbar移到屏幕下边, [sourcecode language=”objc”] for (UIView *v in self.tabBarController.view.subviews) { if ([v isKindOfClass:[UITabBar class]]) { if (hidden) { [v setFrame:CGRectMake(v.frame.origin.x, 480, v.frame.size.width, v.frame.size.height)]; }else { [v setFrame:CGRectMake(v.frame.origin.x, 480-49, v.frame.size.width, v.frame.size.height)]; } }else { if (hidden) { [v setFrame:CGRectMake(v.frame.origin.x, v.frame.origin.y, v.frame.size.width, 480)];…
对openGL早有耳闻,但是刚接触android下的opengl,做个demo学习下, 先把opengl的框架搭建起来:只要有如下几个文件, openActivity.java —-作为启动入口,android通过GLSurfaceView显示openGL试图,而GLSurfaceView提供了专门渲染3D的Renderer接口 GLRender.java —-渲染图形 GLImage.java —-获取资源文件 GLRender.java 实现Renderer接口:只要实现如下方法: public void onDrawFrame(GL10 gl); //进行图形的绘制 public void onSurfaceChanged(GL10 gl, int width, int height); public void onSurfaceCreated(GL10 gl, EGLConfig config); GLRender.java 代码如下: package com.aurora.android.render; import java.nio.ByteBuffer; import java.nio.IntBuffer; import java.util.Random; import javax.microedition.khronos.egl.EGLConfig; import javax.microedition.khronos.opengles.GL10; import com.aurora.android.model.GLImage;…
On Ubuntu server 14.04.02 (64 bit), 终于把DB2 Express-C给装在了 Ubuntu上 , 首先去IBM DB2 Express官网上下载db2exc_972_LNX_x86.tar.gz,两个 ibm_data_studio_standalone_linux.tar.gz db2exc_nlpack_972_LNX_x86.tar.gz 是可选的。 1. 配置 Linux 内核参数 /etc/sysctl.conf文件,添加内核参数 kernel.msgmni =1024 kernel.sem = 250 256000 32 1024 kernel.shmmax = 268435456 用sysctl kernel.shmmax命令 查看了共享内存。kernel.shmmax=33554432(32MB), 设置 成256M echo 268435456 > /proc/sys/kernel/shmmax 如果是没有设置,就会报 SQL1220NThe database manager shared memory set cannot be allocated . 使更改激活:sysctl –p 2. sudo apt-get install libaio1 安装缺少的包。 3. 下面开始安装:tar -xvzf db2exc_970_LNX_x86.tar.gz …


