2008年4月アーカイブ

Excelで複数の条件にマッチする行を探す(AND演算子)

   ブックマークに追加する
Excel Hacks 第2版― プロが教える究極のテクニック140選
David Hawley Raina Hawley 羽山 博 日向 あおい
オライリー・ジャパン (2007/11/22)
売り上げランキング: 61450
おすすめ度の平均: 5.0
5 第1版よりさらにボリュームアップ


Excelで複数の条件にマッチする行を抽出する方法です。
こちらも覚えておくと便利です。

例えば、A1、B1、C1の値がすべて正しい場合に、D1セルにOKと表示し、値が異なっていたらNGと表示する
D1セルに以下の式を入力すれば表示されます。

=IF(AND(A1=B1, A1=C1), "OK", "NG")

以下サイトにもっと詳細な情報があります
AND演算・OR演算を演算子で行う:Excel エクセルの使い方-関数/計算式

http://www.relief.jp/itnote/archives/001180.php




Excelで文字数チェック、長い文字を削る方法(LEFT, LEN)

   ブックマークに追加する
Excelでデータ作成している時に、セルに文字数をチェックし、さらに10文字まで抽出したい時があります。
(ないかもしれませんが、ある前提で)。その場合以下の関数を入れればOK。

  • A1セルの文字数をチェックし、10文字以上であれば先頭から10文字だけ抜き出す
=IF(LEN(A1)>10, LEFT(A1,10), "OK")

簡単だけど、結構仕事で使います。

HTTPアクセスできない時のチェックリスト

   ブックマークに追加する
なぜか、Webサーバにアクセスできないという状態があった際に調査した順番です。
新規でサーバを立ち上げるときのチェック項目として書いておきます。

  • サーバは起動しているか?

$ netstat -an | grep LISTEN
tcp        0      0 :::80                       :::*                        LISTEN 
$ ps aux | grep httpd

  • ハードウェア(FW)のポリシーは?
NetScreen等で80ポートが開いていない可能性もあります。

  • ソフトウェア(FW)のポリシーは?
設定ファイルを確認します

# more /etc/sysconfig/iptables
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

  • ログを確認
アクセスできているかどうかの確認。

まずはじめにaccess.logを確認し、Apacheまで到達していないことを確認してからチェックするのがよいと思います。
その後問題の箇所(ファイヤーウォール等)を修正し、再度アクセスしaccess.logを確認すればOKです。


Apacheでドメイン指定してリダイレクト設定(mod_rewrite)

   ブックマークに追加する
以前も書いた気がするのですが、2つ以上のドメインを1つのサーバに設定し、指定したドメインでアクセスするページを振り分ける方法です。

VirtualHostを使ってもよいのですが、htdocs配下のディレクトリでわけるのであれば、
.htaccessで以下rewrite設定の記述をすればOKです。


RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.example\.com)
RewriteRule ^/?(.*) http://www.example2.com/changed/ [R=301,L]
結構簡単に変更できます。

いま、どのポートが開いているか確認する方法(netstat)

   ブックマークに追加する
やり方忘れてたのでメモっときます。
サービスで現在開いているポートの確認を取ります。


# netstat -an | grep LISTEN

これだけです。これプロセスまでわかる方法ないのかなぁ~。

MySQLでバックアップ(mysqldump、バイナリログ)

   ブックマークに追加する
MySQLでバックアップをとる方法をまとめておきます。結構大切ですからね。
今回はオンラインバックアップとロールフォワードリカバリについてです。

私はMySQLのサイトは以下でバックアップととっています。

# mysqldump --user=root --password=password --single-transaction --master-data=2 
--flush-logs --hex-blob --default-character-set=utf8 database >
/home/user/backup/mysql/mysql-dump.sql

cronでバックアップをとる時は、以下のようなシェルを作成します。
名前は、mysql-dump-backup.shとかにしています。

#!/bin/sh

backupdate=`date +%Y%m%d%H%M`

mysqldump --user=root --password=password --single-transaction --master-data=2 
--flush-logs --hex-blob --default-character-set=utf8 database >
/home/user/backup/mysql/mysql-dump_$backupdate.sql

ロールフォワードリカバリはバイナリログで行うのですが、とる場合ととらない場合があります。
一応基準としては、自分以外の人にもサービスを提供している場合は念のためとっておきます。

my.cnfに以下を追加するとバイナリログの取得ができます。
log-bin=/var/lib/mysql/log/mysql-host
sync_binlog=1

設定例は以下の通り

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-bin=/var/lib/mysql/blog/mysql-host
sync_binlog=1

以下のページを参考にしました
MySQL バックアップ・リストア手順 ? [WordPress] Tips Community

MySQLでスロークエリログを出力する方法

   ブックマークに追加する
WebアプリケーションをつくるときにDBにMySQLを使うことが多いのですが、すぐにできるMySQLのパフォーマンス確認方法です。以下手順で簡単にできます。

1) スロークエリログを設定する


/etc/my.cnfに以下記載を設定する

[mysqld]
<<<省略>>>
log-slow-queries=/var/log/mysql/myslow.log
long-query-time=3
log-queries-not-using-indexes

2) スロークエリログを確認する

$ less /var/log/mysql/myslow.log
$ mysqldumpslow /var/log/mysql/myslow.log

これで、3秒以上時間がかかっているSQLや、フルスキャンしているSQLがログに出力されるのでパフォーマンス改善が検討できます。

このアーカイブについて

このページには、2008年4月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2008年3月です。

次のアーカイブは2008年5月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

あわせて読みたいブログパーツ
フィードメーター - ウェブ-HACKS 「とりあえずやってみよう!」ブログ   
track feed
  • SEO対策 
  • _ 
  • _ 
  •  
  •  

このブログはクリエイティブ・コモンズでライセンスされています。