Monthly Archives: 12月 2016

javascriptでxml文字列からオブジェクトの変換をする方法

サンプルコード
function loadXml(str) {
if (str == null) {
return null;
}
var doc = str;
try{
doc = createXMLDOM();
doc.async = false;
doc.loadXML(str);
}catch(e){
doc = $.parseXML(str);
}
return doc;
}

C言語入門 -自然数の階乗を計算するサンプルコード

サンプルコード

#include <iostream>
using namespace std;

const int N = 40000;

void FactCal(int n)
{
int result[N];
int height;

result[0] = 1;
height = 1;
//計算
for(int i=1;i<=n;i++)
{
int res = 0;
for(int j=0;j<height;j++)
{
int buf = result[j]*i + res;
result[j] = buf%10;
res = buf/10;
}
while(res)
{
result[height++] = res%10;
res /= 10;
}
}
//出力
for(int i=height-1;i>=0;i–)
cout<<result[i];
cout<<endl<<” 長さ:”<<height<<endl;
}

int main()
{
int n;
cout<<“Input a number:”;
cin>>n;
if(n>10000 || n<0)
cout<<“自然数を入力してください”;
else
FactCal(n);
return 0;
}

Java入門–ウェブサーバーにファイルをPOSTする方法

Javaコード:
public static String doPostFile(String reqUrl, String fileUrl) {
return doPostFile(reqUrl, fileUrl, ENCODEING);
}

private static String doPostFile(String reqUrl, String fileUrl, String encoding) {
HttpURLConnection urlcont = null;
String responseContent = null;
try {
URL url = new URL(reqUrl);

urlcont = (HttpURLConnection) url.openConnection();
urlcont.setRequestMethod(“POST”);
urlcont.setConnectTimeout(CONNECTTIMEOUT);
urlcont.setDoOutput(true);
urlcont.setRequestProperty(“Content-type”,”application/x-java-serialized-object”);

File file = new File(fileUrl);
InputStream ins = new FileInputStream(file);
byte[] data = IOUtils.toByteArray(ins);

urlcont.getOutputStream().write(data, 0, data.length);
urlcont.getOutputStream().flush();
urlcont.getOutputStream().close();

InputStream in = urlcont.getInputStream();

BufferedReader rd = new BufferedReader(new InputStreamReader(in,
ENCODEING));
String tempLine = rd.readLine();
StringBuffer tempStr = new StringBuffer();
String crlf = System.getProperty(“line.separator”);
while (tempLine != null) {
tempStr.append(tempLine);
tempStr.append(crlf);
tempLine = rd.readLine();
}
responseContent = tempStr.toString();
rd.close();
in.close();
} catch (IOException e) {
System.err.println(“ネットワークエラー”);
logger.info(“—ネットワークエラー”);
} finally {
if (urlcont != null) {
urlcont.disconnect();
}
}
return responseContent;
}
}

Linux入門– touchコマンドでファイル作成、タイムスタンプ更新操作

例1:ファイルを作成
# touch 2015ctn.log 2016ctn.log
# ll
-rw-r–r– 1 appuser appuser 0 10-28 16:01 2015ctn.log
-rw-r–r– 1 appuser appuser 0 10-28 16:01 2016ctn.log

# touch -c log2014.log
# ll
-rw-r–r– 1 appuser appuser 0 10-28 16:01 2015ctn.log
-rw-r–r– 1 appuser appuser 0 10-28 16:01 2016ctn.log

例2:タイムスタンプを更新
#touch -r log.log 2015ctn.log
# ll
-rw-r–r– 1 appuser appuser 0 10-28 16:01 2015ctn.log
-rw-r–r– 1 appuser appuser 0 10-28 16:01 2016ctn.log
-rw-r–r– 1 appuser appuser 0 10-28 14:48 log.log
# touch -r log.log 2015ctn.log
# ll
-rw-r–r– 1 appuser appuser 0 10-28 14:48 2015ctn.log
-rw-r–r– 1 appuser appuser 0 10-28 16:01 2016ctn.log
-rw-r–r– 1 appuser appuser 0 10-28 14:48 log.log

例3:ファイルのタイムスタンプを設定
#touch -t 201611142234.50 log.log
# ll
-rw-r–r– 1 appuser appuser 0 10-28 14:48 2015ctn.log
-rw-r–r– 1 appuser appuser 0 10-28 16:01 2016ctn.log
-rw-r–r– 1 appuser appuser 0 10-28 14:48 log.log
# touch -t 201611142234.50 log.log
# ll
-rw-r–r– 1 appuser appuser 0 10-28 14:48 2015ctn.log
-rw-r–r– 1 appuser appuser 0 10-28 16:01 2016ctn.log
-rw-r–r– 1 appuser appuser 0 2016-11-14 log.log

Linuxにshellでファイルが存在するかどうかを確認する方法

サンプルコード:
MACCESS=date -d yesterday +%Y%m%d
FILE=”access_$MACCESS.log.tgz”
cd /data/nginx/logs
if [ -f “$FILE” ];then
echo “OK”
else
echo “error $FILE” > error.log
mail -s “$FILE backup fail” ctmkdf@arkgame.com <error.log
fi

Linux入門–pwdコマンドの使い方

1.現在のディレクトリの場所を確認
# pwd
/opt/jmeter/data

2.リンクのパスを確認
# cd /etc/init.d
[root@localhost init.d]# pwd
/etc/init.d
[root@localhost init.d]# pwd -P
/etc/rc.d/init.d

3.pwdコマンドサンプル
root@localhost init.d]# cd /opt/soft
[root@localhost soft]# mkdir removed
[root@localhost soft]# cd removed/
[root@localhost removed]# pwd
/opt/soft/removed
[root@localhost removed]# rm ../removed -rf
[root@localhost removed]# pwd
/opt/soft/removed
[root@localhost removed]# /bin/pwd
/bin/pwd: couldn’t find directory entry in “..” with matching i-node
[root@localhost removed]# cd
[root@localhost ~]# pwd
/root
[root@localhost ~]#

MongoDBでインデックスを作成、削除操作方法

1.インデックスを作成
db.collection.ensureIndex({key:1})

2.インデックスを参照
db.collection.stats()

3.インデックスのクエリをチェック
db.collection.find({key:value}).explain()
> db.test.find().explain()
{
“cursor” : “BasicCursor”,
“nscanned” : 1,
“nscannedObjects” : 1,
“n” : 1,
“millis” : 0,
“nYields” : 0,
“nChunkSkips” : 0,
“isMultiKey” : false,
“indexOnly” : false,
“indexBounds” : { }
}

4.インデックスを削除
db.collection.dropIndex({key:1})

5.唯一インデックスを作成
db.collection.ensureIndex({key:1}

PHPでバブルソートアルゴリズムのサンプル

PHPコード:
<?php
$str=array(4,8,2,7,10,0,3,12,11);
for ($I = 0; $I <= count($str); $I++) if (in_array($I, $str)) echo $I;
?>

PostgreSQLでプライマリーキー(primary key)を追加する方法

1.primary keyを追加
ALTER TABLE テーブル名 ADD PRIMARY KEY(カラム名);

2.primary keyを削除
ALTER TABLE table_name DROP CONSTRAINT “key_name”
3.indexを削除
DROP index index_name

php入門–round()とceil()の使い方

1.round()
echo round(3.4); // 3
echo round(3.5); // 4
echo round(3.6); // 4
echo round(3.6, 0); // 4
echo round(1.95583, 2); // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2); // 5.05
echo round(5.055, 2); // 5.06

2. ceil()
echo ceil(4.3); // 5
echo ceil(9.999); // 10

2 / 3123