Monthly Archives: 11月 2016

CentOS6.7でlibc.so.6(GLIBC_2.11) is needed by MarkLogic-8.0-6.x86_64対策

1.エラー情報
# rpm -ivh MarkLogic-RHEL6-8.0-6.x86_64.rpm
error: Failed dependencies:
libc.so.6(GLIBC_2.11) is needed by MarkLogic-8.0-6.x86_64
2.libc.so.6の検索
#yum provides libc.so.6
glibc-2.12-1.192.el6.i686
#rpm -qa | grep gdb
gdbm-devel-1.8.0-39.el6.x86_64

3.インストールされたglibcを確認
# rpm -qa | grep glibc
glibc-devel-2.12-1.192.el6.x86_64
glibc-common-2.12-1.192.el6.x86_64
glibc-headers-2.12-1.192.el6.x86_64
glibc-2.12-1.192.el6.x86_64
# rpm -qa | grep libgcc
libgcc-4.4.7-16.el6.x86_64
# rpm -qa | grep nss-softokn-freebl
nss-softokn-freebl-3.14.3-23.el6_7.x86_64
# ls -al glibc-2.12*

4.依存関係パッケージをインストールする
#rpm -ivh libgcc-4.4.7-16.el6.i686.rpm glibc-2.12-1.192.el6.i686.rpm nss-softokn-freebl-3.14.3-23.el6_7.i686.rpm
warning: libgcc-4.4.7-16.el6.i686.rpm: Header V4 DSA/SHA1 Signature, key ID 192a7d7d: NOKEY
Preparing… ########################################### [100%]
1:libgcc ########################################### [ 33%]
2:nss-softokn-freebl ########################################### [ 67%]
3:glibc ###########################################
# rpm -ivh MarkLogic-RHEL6-8.0-6.x86_64.rpm
Preparing… ########################################### [100%]
1:MarkLogic ###########################################

Linuxでmemcachedのインストール

1.memcachedのインストール
# wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
# wget http://www.monkey.org/~provos/libevent-2.0.10-stable.tar.gz
# tar zxf libevent-2.0.10-stable.tar.gz
# cd libevent-2.0.10-stable
# ./configure –prefix=/usr
# make
# make install
# cd ../
# tar zxf memcached-1.4.5.tar.gz
# cd memcached-1.4.5
# ./configure –prefix=/usr/local/memcached –with-libevent=/usr
# make
# make install
# /usr/local/memcached/bin/memcached -d -m 10 -l 172.17.200.109 -p 11211 -u root -c 256 -P /usr/local/memcached/memcached.pid
2.memcacheを追加
# tar zxf memcache-2.2.6.tgz
# cd memcache-2.2.6
# /usr/local/php/bin/phpize
# ./configure –with-php-config=/usr/local/php/bin/php-config
# make
# make install
# ll
/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/memcache.so
php.iniの修正
前 extension_dir = “./”
後 extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/”
追加
extension=memcache.so
サーバが再起動

3.memcacheの検証
# pwd
/usr/local/nginx/html
# vi mem.php
<?php
$mem = new Memcache;
$mem->connect(“172.17.200.109”, 11211);
$mem->set(‘key’,’this is a test page!’, 0, 60);
$val = $mem->get(‘key’);
echo $val;
?>

Shell(シェルスクリプト)でMySQLの作成、テーブルの作成、挿入、削除操作方法

参考コード:
#!/bin/bash

HOSTNAME=”XXX.XXX.XXX.157″
PORT=”3306″
USERNAME=”root”
PASSWORD=”888888″
DBNAME=”cftdbinfo”
TABLENAME=”cfttblname”

createdbSQL=”create database IF NOT EXISTS ${DBNAME}”
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} -e “${createdbSQL}”
#テーブルの作成
createTblSQL=”create table IF NOT EXISTS ${TABLENAME} ( name varchar(20), id int(11) default 0 )”
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e “${createTblSQL}”

#データの挿入
insertSQL=”insert into ${TABLENAME} values(‘shimara’,2)”
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e “${insertSQL}”

#データのクエリ
selectSQL=”select * from ${TABLENAME}”
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e “${selectSQL}”

#データを更新
update_sql=”update ${TABLENAME} set id=3″
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e “${update_sql}”
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e “${selectSQL}”

#データの削除
deleteSQL=”delete from ${TABLENAME}”
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e “${deleteSQL}”
mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e “${selectSQL}”

Java入門–finalクラス(class)の使い方

Javaコード
package com.startnews24.itdemo;
class Sample {
String name;
int a;

void m() {
System.out.println(“m() function is called”);
}

}
final class Daiwa {
int i = 5, j = 7;
Sample cf = new Sample();

void g() {
System.out.println(“g() function is called”);
}

}
public class DemoClas {
public static void main(String[] args) {
Daiwa obj=new Daiwa();
obj.g();
obj.i=40;
obj.j++;

}

}

実行結果

g() function is called

Java5入門–@Overrideオーバーライドの使い方

Javaコード:
public class CFTInterceptor extends AnnotationValidationInterceptor {

@Override
public String intercept(ActionInvocation invocation) throws Exception, IllegalStateException {
//Javaコード
final DemoDispatchAction action=(DemoDispatchAction)invocation.getAction();
中略
return super.intercept(invocation);

}
}

PHP入門–fread() でファイルを読み取るソースサンプル

サンプル1
<?php
$filename = “/var/www/st24.txt”;
$ctlp = fopen($filename, “r”);

$contents = fread($ctlp, filesize ($filename));
fclose($ctlp);
?>

サンプル2
<?php
$ctlp = fopen(‘http://www.example.com’, ‘r’);
$content = ”;
while(!feof($ctlp)){
$content .= fread($ctlp, 8192);
}
echo $content;
fclose($ctlp);
?>

サンプル3
<?php
$ctlp= fopen(‘http://www.example.com’, ‘r’);
$content = ”;
while(false != ($cf = fread($handle, 8192))){
$content .= $cf;
}
echo $content;
fclose($ctlp);
?>

PHP入門–POSTで受け取ったデータを文字列型に変換する方法

PHPコード:
function getPostDataInfo(array $_data = array(),$n = ”){
$postData = empty($_data) ? I(‘post.’) : $_data;
$cta = array();
foreach ($postData AS $name=>$value){
if( is_array($value) ){
$cta[] = getPostDataInfo($value,$name);
}else{
if( !empty($_data) ){
$cta[] = $n.'[‘.$name.’]’.’=’.$value;
}else{
$cta[] = $name.’=’.$value;
}
}
}
$cta = implode(‘&’, $cta);
return $cta;
}

PHP入門–curl_getinfoを使ってURL画面のステータスコードを取得する

PHPコード
function getHeadersInfo($url,$data=FALSE){
$_headers = get_headers($url,1);
if( !$data ){
return $_headers;
}
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl,CURLOPT_HEADER,1);
curl_setopt($curl,CURLOPT_NOBODY,1);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl,CURLOPT_TIMEOUT,30);
curl_exec($curl);
$ctn= curl_getinfo($curl,CURLINFO_HTTP_CODE);
curl_close($curl);
return $ctn;
}

JavaScriptでテキストとテキストボックスのカーソル位置を取得する方法

1.textにカーソル位置を取得
function getCurPos(textbox) {
var control = document.activeElement;
textbox.focus();
var rang = document.selection.createRange();
rang.setEndPoint(“StartToStart”,textbox.createTextRange())
control.focus();
return rang.text.length;

2.textareaにカーソル位置を取得
function getCurPos(ZysrID)
{
var txtarea = document.getElementById(ZysrID);
var pos = 0;
txtarea.focus();
var s = txtarea.scrollTop;
var r = document.selection.createRange();
var t = txtarea.createTextRange();
t.collapse(true);
t.select();
var j = document.selection.createRange();
r.setEndPoint(“StartToStart”,j);
var str = r.text;
var re = new RegExp(“[//n]”,”g”);
str = str.replace(re,””);
pos = str.length;
r.collapse(false);
r.select();
txtarea.scrollTop = s;
}

3.カーソル関数
function setCurPos(id,pos)
{
var textbox = document.all(id);
var r = textbox.createTextRange();
r.collapse(true);
r.moveStart(‘character’,pos);
r.select();
}

JavaScript入門–オブジェクトの作成方法

参考コード:
<script>
var objct = function () {
function add(){
console.info(“add”);
}
function queryAll(){
console.info(“queryAll”);
}
function delById(id){
console.info(“delById:” +id);
}
return {
add:add,
queryAll:queryAll,
delById:delById
}
}();
objct.add();
objct.delById(34);
console.info(objct);
</script>

1 / 212