キー・ポイント株式会社の開発日誌

チーム対抗 仮想サーバ構築するの巻

2012年2月3日 金曜日

長らく更新していなかった、スタッフBlogですが、久々の更新です。

雪山大好き矢野です。

開発にあたって検証環境が必要なわけですが、ネットワーク云々担当の「トマト」君に
全てお任せ状態になっていました。。。

とういうことで、スタッフで4人1組のチームに分かれ、昨年10月末頃より「仮想サーバ構築しよう」大会が行われました。発表は先日1月7日に行われ、約2ヶ月で構築を行いました。

【大会のルール】
*予算は1チーム10万円まで
*部品購入は年内に完了させる
*CPUは4コア以上
*メモリーはDDR3の8GB以上
*HDDは1TB以上
*CD/DVDが読み込める
*ケースは、スチールラックに載ること
*電源は、電源効率80%以上
*1から組み立てよう

【評価方法】

項目 配分 採点方法 得点
1 外見・中身の美しさ 10% 審査委員の独断 10点満点
2 パフォーマンス 50% パフォーマンス測定
(ランダムアクセスの速度を測定)
1位:10点
2位:7点
3位:3点
4位:1点
3 コスト 10% コスト勝負 最安チーム10点で、他は500円毎に-1点
4 プレゼン 30% 審査委員の独断 10点満点

【サーバ構成】
*リバースProxy1台
*Webサーバ2台以上
*DBサーバ1台
*WordPressが動作すること

全くもって、パソコンを1から組み立てることは初めてだったので、
必要な部品やスペックは安田君(→自己紹介はこちらから)にお任せし、私はサーバの設定とチューニングを担当。
肝心な結果ですが。。。

1.外見、中身の美しさ
見事、4チーム共同じケースに 笑
差を付ける為にシールをお手製で作ってみましたが、あまり評価に差が着きませんでした。

各チームの代物


某Sリーダーチームの目印はこれ↓


2.パフォーマンス測定
チューニングをあれこれしたものの、残念ながら順位は最下位。
cacheを上手く設定したチームが1位でした。

3.コスト
すば抜けてお求め安い価格で構成したチームが1位!
500円毎に-1点の為、他のチームは見事0点に。

4.プレゼン
こちらもあまり差がでなかったのかと思いますが、コスト&パフォーマンスの点差が
大きかった為、点数に影響がでなかったと思われます。。

サーバの設定やチューニングで苦労した点や試した点は
また改めて書きたいと思います。



必見 WebFileの活用術 「How to WebFile」
機密情報の送信先を間違えてしまったらどうしますか!?
メールでは止められない誤送信も、「WebFile」からファイルを送ると
ファイルのダウンロードを停止できます。

SQLで重複データを一つだけ残して削除する

2012年2月3日 金曜日

こんにちは、常角です。
というか、初投稿なのではじめまして、です。

名前は、常角(つねずみ)と読みます。
田舎出身で、地元ではそこそこありふれた名前ですが、神戸に出てきてからは、弟たち以外に同じ苗字の人間に会ったことはないです。
加えて、大体初対面の人は「つねかどさん」と呼ぶので、毎回突っ込むのが億劫になります。(宅配の人とかに対しては、もう諦めています)

さて、記念すべき初投稿のネタなのですが・・・何にしよう。
考えてなかったので、書くことがないです。

では格好つかないので、以前仕事で使った、便利だと思ったSQL文を紹介します。
どんな事をするのかは、タイトルを見てね。
少しだけどういうことか説明すると、
DB上で、特定の値が重複しているデータが存在する場合、それを一つだけ残して、残りを削除するためには?という事です。

Delete t1
From 削除したいデータのテーブル t1
Where t1.IDなど数値系のフィールド(以下、【ID】とします) > (
Select Min(t2.ID)
From 削除したいデータのテーブル t2 (t1と同じテーブル)
Where
t1.重複の条件となるフィールドA = t2.重複の条件となるフィールドA
And (t1.重複の条件となるフィールドB = t2.重複の条件となるフィールドB
or (t1.重複の条件となるフィールドB Is Null And t2.重複の条件となるフィールドB Is Null)) ・・・ ※
And …
Having Count(*) > 1
)

t2のテーブルのほうで、重複したデータの一覧が取得されて、
t1のほうのWhere文の所で、そのうち1件だけを除外してくれるので、重複データの2件目以降だけを削除できます。
逆に、
Where t1.IDなど数値系のフィールド(以下、【ID】とします) > (

Where t1.IDなど数値系のフィールド(以下、【ID】とします) = (
に変えると、重複データを1件だけ取得してきますので、Select文などで、重複データを無視したデータの一覧を取得する時に便利です。

また、Where句で使うフィールが、Nullを許可しているフィールドの場合、「=」だときちんと判定してくれないので※の部分のように、Is Nullをやってやらないとダメです。

IDの部分に使うフィールドは、ユニークな値を持っていて、必ず値が入力されているフィールドであれば、なんでもいいです。
そういった類の値が存在しない場合は、RowNum(ORACLE)で、番号を振ってあげればOKです。(SQLServerの場合は、Row_Number)
但し、これを使うと処理が半端なく重くなるので、1000件程度ならいいけど、1万10万になると、数十分数時間、それ以上になる可能性があるので、あまりお勧めできないです。
なので、DBテーブルを作るときには、ユニークIDを一つつけてやりましょう。
他、残す1件をどれにするのかは、最初にきちんと決めておかないと泣きをみるハメになるかもしれないので、その辺は注意しましょう。

・・・・・・

SQLって、勉強し始めた頃は何がなにやらさっぱりわからなかったんですが、理解し始めてくると、パズルみたいで面白いですよね?(僕だけ?)
複雑な抽出がうまくいった時とか、おもわず、「よっしゃ!」ってなったり。
まあ、それはSQLに限った話ではないんですけどね。

これからも、ちょくちょく書いていくことになる・・・と思いますので、その時はまたお付き合いいただけるとありがたいです。
次書くのはJavaかPHPか、あるいはAndroidか・・・あるいはそういった技術的なことから離れるのか。
まあ何かはわかりませんが。。。

祝・WebFile 8周年

2011年6月17日 金曜日

こんばんは。
お久しぶり?いいえ、おとついぶりです。内田です。

今日、6月17日は、
WebFileが2003年6月17日にリリースされてから、
丸8年になる記念の日になります。

ということで。

じゃーん、ケーキでお祝いです。



昨年に引き続き、ケーキは近所の元町商店街にあるパオデロさん。おいしかったです、ぺろり。

最初はシンプルなWebFileでしたが、今ではWebFileファミリーも大いに増えて、
WebFile無料版、有料版、プレミアムサービス、ASP版、OEM版、
そして末っ子WebFile Liteが先日満1才を迎えました。

ケーキを食べながら、思い出話で盛り上がったり、
新入社員くんが「最初はこうやったんやねー」なんて話したり、
節目の日があると気が引き締まります。

みなさまに愛し愛されるサービスをご提供できるよう、
開発陣、サポート陣、がんばってまいります。

日々、便利で、使いやすい、
そして、より安全なサービスWebFileに、これからもご期待ください。

長文になりましたが、
最後に、WebFileに関わっておられる、お客様、販売店様に感謝します。
これからも、よろしくお願いいたします。

WebFile Lite、一周年です!

2011年6月15日 水曜日

こんばんは。内田です。

梅雨の真っ只中、みなさんご機嫌いかがですか?

いつ雨に降られても困らないイケてる女子になるために、
通勤カバンに傘を忍ばせておこうと一大決心。
携帯電話よりも軽い折りたたみ傘を手に入れたのですが、
なぜか!

まだ入っておりません、アーメン。。。

さて、法人向け無料版「WebFile Lite」が始まって、1年になりました。
多くのお申込みをいただき、ありがとうございます。

使い心地はどうですか?
みなさんの業務のお役に立ててると、何よりです。

「WebFile Liteって、なあに?」と思ってくださっている方、
↓どうぞコチラです。うふふ。

法人向け無料版「WebFile Lite
http://www.key-p.com/webfile/lite/

ファイル配布・引取りはもちろんのこと、
お気軽にグループ共有機能をお試しいただけたらです。

2年目突入する「WebFile Lite」、これからもよろしくお願いいたします!


第13回データストレージEXPO開催中です。

2011年5月11日 水曜日

こんにちは。前川です。

本日から東京ビッグサイトにて第13回データストレージEXPOが開催されています。

弊社もWebFileで出展しております。


あいにくの雨天ですが、お近くに来られた際は、ぜひお立ち寄りください。

弊社出展のご案内
http://www.key-p.com/blog/info/archives/266

データストレージEXPO (リード エグジビション ジャパン株式会社様のサイトです)
http://www.dse-expo.jp/

事務所のお留守番からのお知らせでした。

Red Hat系OS(RHELやCentOS)をsudo化

2011年3月29日 火曜日

トマト@ネットワーク云々担当です。


Ubuntuでのsudo実行はお馴染みですが、Red Hat系OS(RHELやCentOS)でも、sudo化する事が出来ますので、設定してみます。

Ubuntuのsudoについては、下記URLを参照して下さい。
https://wiki.ubuntulinux.jp/UbuntuTips/Others/RootSudo

検証環境

サーバ:CentOS release 5.5

sudo化を設定する


一般ユーザから、rootユーザになる
$ su -

必要に応じてユーザを追加します
# useradd tomato
# passwd tomato

# vim /etc/group

「wheel」グループに、sudo実行出来るユーザを追加します
wheel:x:10:root,tomato,・・・・・

# visudo

先頭のコメントアウト(#)を外します
## Allows people in group wheel to run all commands
%wheel        ALL=(ALL)       ALL

rootアカウントをロック(無効化)します
# passwd -l root
Locking password for user root.
passwd: Success
# exit


この投稿の続きを読む »

UbuntuにLogwatchをインストール

2011年3月24日 木曜日

トマト@ネットワーク云々担当です。

UbuntuにLogwatchをインストールし、指定のメールアドレスへ送信する方法です。
Red Hat系(RHELやCentOS)では、標準で入っていますが、Ubuntuには入っていないようなので、設定してみます。

■検証環境

サーバ:Ubuntu 8.04.4 LTS


■インストール方法

sudo apt-get update
sudo apt-get install logwatch


■設置されるスクリプトの中身(crontabから自動実行されます)

$ cat /etc/cron.daily/00logwatch
#!/bin/bash

#Check if removed-but-not-purged
test -x /usr/share/logwatch/scripts/logwatch.pl || exit 0
==>「test -x」で、実行可能かを評価し、実行可能で無ければ、「exit 0」で終了

#execute
/usr/sbin/logwatch --mailto
==>logwatchを、「--mailto」オプションで実行


この投稿の続きを読む »

Reeder for Macが便利すぎるので紹介

2010年12月9日 木曜日

大西です。今、味わった興奮が冷めないうちに書いちゃいます。


半年ほど前に、RSSリーダーを、Livedoor ReaderからGoogle Readerに乗り換えたのですが、その乗り換えた理由が、iPhoneでの閲覧で、Reederと言うアプリに惚れ込んだからでして、これがフィードを消化していくのにかなりいいテンポというか、ストレスなく出来るアプリなのです。同期が早いって言うこともありますが。

なので、フィードを読むのはもっぱらiPhoneになってしまったわけですが、このReederのMac版がでるという噂を聞きつけてからと、まだか、まだかと待ちこがれていて、今月初めにDraft1が公開されてからというのも、使ってはみるものの個人的には、Reederで流し読みをして、Starをつけるのが1回目。

翌日、そのスターをつけた記事をもう一度みて、スターを消して、良ければInstapaperという、俗に言う「後で読む」というサービスに登録していくのがこのところの流れです。

ただ、ReederのDraft3までは、スターをつけるまでは、ショートカットキーを使って全て出来るので、非常に軽快なのですが、Instapaperへの登録だけが、アイコンをクリックしなければならず、キーボードから一旦手を離してマウス(Magic Trackpad)へ手を伸ばさないといけないのが、「らしくないな」と思っていたのと同時に、「はやくショートカットキーを実装して欲しい」という思いでした。
(アイコンを出さないようにすると、SHIFT+tで出来ないこともないですが、矢印キーを使わないといけないので、PFU Happy Hacking Keyboard Professional2の私には致命的ですw)

ただ、今日バージョンアップがあったので、期待して内容を見てみたところ、ショートカットキーの追加はなく、その代わりにSwipe機能がついたという事で、ちょっとガッカリだったのですが、このガッカリが一瞬で、「すげ〜〜〜〜」に変わったので、紹介をしておこうと、書き始めました。

(前置きが、かなり長くなってすいませんw)

この投稿の続きを読む »

メリークリスマス ☆ WebFile!

2010年12月8日 水曜日

こんにちは。内田です。

今年も、もう12月。皆様、師走をどんな風におすごしでしょうか。

お仕事がたてこんでて、ばったばたですか?
慌ただしいと、普段しないようなミスも起こりがちです。

「 安全に ファイル送るなら WebFile 」

そうです。こんなときこそ WebFile です。
万が一、ファイルの送り先を間違えても、相手にファイルが渡る前に消しちゃいましょう。
ドジっ子さんにも優しいのが、WebFileの良いところですね。

WebFileを知らないかたは、まずは無料版からお試しくださいませ。
個人向け無料版: WebFile Free http://www.webfile.jp/
企業法人向け無料版: WebFile Lite http://www.key-p.com/webfile/lite/


さて、忘年会、クリスマス会、楽しいイベントが迫ってきますが、
今夜も仕事、ファイルを送るぞーとWebFile Freeにアクセスすると…

あらあらっ?あらっ?
皆様、お気づきになられたでしょうか?

この投稿の続きを読む »

Cronでは、日付の表示形式にも注意が必要

2010年11月15日 月曜日

大西です。

誰も更新してくれないので、まずは自分からと思い、更新です。
CRON用のシェルスクリプト書いてて、久しぶりにはまったので、紹介。

プログラムは非常に単純で、とあるディレクトリ以下にあるフォルダ一覧を取得して、その取得したフォルダ名を、とあるPHPプログラムの引数として渡して、ユーザの情報を解析するためのモノです。
詳細は、伏せますが、簡単に言うと、以下のプログラムになります。

#!/bin/bash

USERLIST=/home/hoge/user.list
ls -l /mnt/foo/bare | /usr/bin/awk '/^d/ {print $8}' > $USERLIST
while read LINE
do
    /usr/bin/php /home/hoge/php-script.php $LINE 
done < $USERLIST


この投稿の続きを読む »