2015年5月19日火曜日

iijmio SIMカード購入キャンペーン



5月31日まで、このリンクからiijmioに加入すれ、600円相当のデータ量がもらえます。まあ、iijmioのsimカードもともと高くないけど、ちょっぴりデータ量多めに貰えると嬉しいッチャ嬉しいですね。
アドレスは以下です。

https://www.iijmio.jp/campaign/mgm/invite/?id=454001718470400&sns=0

2015年5月17日日曜日

mysqlでlatin1文字コードのDBからutf8のDBへ移行


●問題概要:
 使用中(中身あり)のDB文字コードはlatin1で、UTF8文字コードのDBに移行したい。

●問題詳細:
 Mysqlのデータベースをデフォルトのままで使用してきたため、文字コードは以下のようになっていた。この状態(サーバとクライアントの文字コード不一致)でも問題なく、日本語を入力・検索などできていた。
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1   ←ここ                  |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1    ←ここ                  |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

つぎ、新しいDBを別のサーバ上に作成した。
せっかくだから、最近はサーバもクライアントもUTF8に揃うように使っているのは、普通だ。
というのは、揃わないと、途中に一回文字コード変換を経て表示されるため、
すべて全部文字化けしないということは保証できない。

クライアント側文字コード --> Unicode(ucs2) --> サーバ側文字コード
サーバ側文字コード --> Unicode(ucs2) --> クライアント側文字コード

新しいDBの環境変数は、以下に設定している。

mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8     ←ここ                   |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8    ←ここ                    |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

設定方法は以下になる。
# mysql --version ←バージョンは以下だ。
mysql  Ver 14.14 Distrib 5.6.24, for Linux (x86_64) using  EditLine wrapper
# rpm -qa | grep mysql ←入っているパッケージは以下だ。
mysql-connector-python-2.0.4-1.el7.noarch
mysql-community-common-5.6.24-3.el7.x86_64
mysql-community-libs-5.6.24-3.el7.x86_64
mysql-community-server-5.6.24-3.el7.x86_64
mysql-community-release-el7-5.noarch
mysql-community-client-5.6.24-3.el7.x86_64
mysql-community-devel-5.6.24-3.el7.x86_64
mysql-utilities-1.5.4-1.el7.noarch

# vi /etc/my.cnf ←定義に以下の赤字部分を追記して、mysqlサービスを再起動する。
(再起動は# systemctl restart mysql)
------------------------
character-set-server = utf8
[client]
default-character-set = utf8
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set = utf8

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
------------------------

●解決策
今回はDBの移行なので、「元DBダンプ→文字コード変更→ターゲットDBにインポート」という順番になる。

(1)まずは、移行元DBをダンプ出力する。ここのポイントは、文字化けをしないように、元DBのサーバ文字コードに合わせてダンプすること。
# mysqldump -u username -ppassword --default-character-set=latin1 databasename > dump.db
※dump.dbはテキストファイルなので、viエディタで文字化けしているかどうかを確認できる。

(2)ダンプファイルを別ファイルにコピーする
# cp -p dump.db dump_utf8.db

(3)ダンプファイル中の文字コード記述を変更する
# vi dump_utf8.db
/*!40101 SET NAMES latin1 */;

/*!40101 SET NAMES utf8 */;

(4)
# mysql -u username -ppassword databasename2 < dump_utf8.db

※データベース名は気をつけること。元のDBに間違ってインポートしたら上書きされる。

以上で、移行完成です。
ちょっと気持ちスッキリだ!(笑)






2015年5月9日土曜日

ブロック集約型のクレジットカード、ポイントカード、診察券


クレジットカードやポイントカード、診察券などICチップを搭載しているカードが増える一方です。
そろそろ財布がいっぱいになってないでしょうか?
カードのICチップだけを簡単に組み込めるようなブロック集約型カードがあると、
効率が一気に良くなるのではない?
今のカードは、ICチップ以外のところはほとんど無駄で冗長です。
だけど、ICチープを決まった場所においておかないと使えない。
だったら、使いたいICチープを決まった場所に簡単に移動できればよいでしょう?

用途目的ごとに、ICチープのブロックを簡単に移動できることは、この新カードのポイントです。

2015年5月6日水曜日

OS統計情報を簡単にグラフ化ソフト


データベース性能測定やアプリ性能測定をするとき、
OSの各種統計情報をログとして取得したが、
いろいろと分析と可視化にしないと、ただのゴミです。
これらを簡単に分析でき、さらに簡単にグラフモデルを提供し、
データを取り込めばすぐにグラフを作成できるソフトを作って、
DBソフト会社やユーザ会社に売り込めたらいいなあと考えている。

IoT対応で、各種家電製品出したエラーコードを調査できるシステム


これからはIoT(Internet of Things)の時代と言われている。
つまり、すべての電子機器をネットワーク上で共有できる時代が来る。
だが、テレビや冷蔵庫など異常となった時、メッセージを出すが、
どういう意味なのかわからないと問題の解消はできない。
すべてのメッセージを簡単に検索できるWebページを作って、
みんなにとってとても便利なことだと考えている。

ざっとですが、以下のページを作成した。

http://errcode.nextroid.com

こういう形のものを充実していきたいと考えている。
維持費は広告収入や各家電メーカーのスポンサー費にて賄うと考えている。
みなさん、どうぞよろしくお願いします。


2015年5月5日火曜日

Android 画面上に編集可能なテキストエリア(textarea)を作る


画面上に編集可能なテキストエリアを作るには、どうすればいいか?

上の図のように、「activity_main.xml」中の「Plain Text」を選んで、画面に挿入しても、一行のラインしかならないです。複数行からなるテキストエリアにするには、赤丸3の「Text」を押して、中の以下定義を編集します。


<EditText    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:inputType="textMultiLine"    android:ems="10"    android:lines="4"
    android:id="@+id/editText"    android:layout_marginTop="10dp"    android:layout_alignParentLeft="true"    android:layout_alignParentStart="true"    android:layout_alignParentRight="true"    android:layout_alignParentEnd="true"    android:layout_below="@+id/textView" />

赤字のラインを追記します。すると、4ラインからなるテキストエリアになります。
生成したアプリは、下図のように4ラインまで記入できます。5ラインを記入すると、1ライン目が隠されます(削除されてません、隠されてるだけです)。


2015年5月2日土曜日

電子薬手帳


薬手帳、何冊何冊にもなって、前のやつをどこに散らかしているかわからない、
ボロボロになって、何を処方していたか見えないことはありませんか?

スマホを持っている方には、電子手帳を使えるようなアプリがあると、使いませんか?
当然、パスワードを掛けて、簡単に他人に見せないようにセキュリティを備えますが。
薬局で発行した髪をそのままスマホのカメラで取ると、
電子名刺みたいに文字まで識別できます。さらに簡単な検索機能をつけると、便利ですね。

あっ、忘れたっていうことも無くなります。
スマホを持ってない方には、通常の薬手帳のままでいいです。
なので、薬局や病院には今までと変わりなく、なにも変更がありません。


国際交流を促進するグローバル音楽フェスティバルについて語ろう。

タイトル:国際交流を促進するグローバル音楽フェスティバルの魅力 最近、世界中で注目を集めているのが、国際交流を促進するグローバル音楽フェスティバルです。音楽は言葉を超えて人々をつなぎ、文化や国境を越えて心を通わせる力があります。そんな音楽の力を最大限に活用し、異なる文化や国...