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日土曜日

電子薬手帳


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

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

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


外国コインと紙幣に対応する自動販売機


東京オリンピックの開催はあと5年ぐらいとなり、
年々外国から日本に旅行しに来る人が多くなっていきます。

お金を両替し忘れて、自国のお金をそのまま持って、日本に来ました。
ジュースぐらいでも買えるように、自販機に外国コイン対応するようにしたほうがよいでしょう?
オリンピックだけではなく、日本の旅行業にもかなりのアピールになるはずです。



国営昭和記念公園にもネット上にチケット販売してほしい


先日国営昭和記念公園に行くとき、チケット購入行列がなかなか長かったです。
ネット上からチケットを買えるところは、もうほとんどなのに、対応したほうが良いではないでしょうか?

チケットを買うとき、クレジットカード払いとかにして、
買った人には、電子チケットを発行します。
電子チケットには、QRコードやバーコードを表示するようにして、
公園の入り口にスキャン機器だけを用意します。
みんなの待ち時間も少なくなるし、公園側の効率も向上します。


底の部分にも開け口の詰め替え袋


シャンプーや洗剤など、詰め替え用包装ケースからなかなか出しにくい時はありませんか?
原因は中に空気がないからです。
底の部分に、簡単に取れるような開け口をつけると、
空気が入りやすく、中の液体が簡単に出てくると思います。

車のモーター動力で粉末消火器 Fire extinguisher by car motor


よく見かけるのは、粉末消火器が小型で、消防車なら、水を噴射して消化するが、
消防車のモーター動力で粉末を飛ばせるような消火器は、
もっと威力があるのではないでしょうか?

We always see that dry powder fire extinguisher. that  is small one and by stored-pressure.
if can by fire-engine, I think that will be more powerful.

2015年5月1日金曜日

Android Studio アップデート


Android Studioを起動すると、下記アップデート情報がポップアップされてきました。

Current Version:1.1.0(build 135.1740770)
New version:     1.2.0(build 141.1890965)
Patch size:        71MB

「Release Notes」をクリックして、確認すると、2015/5/1に1.2.0がリリースされました。
http://tools.android.com/recent

それほど大きな変更ではないようですが、

・IntelliJ 14.1.1ベースに変更
 これで、コンパイルなしにエディタ側でインラインで変数デバッグできるようになりました。下記のよう感じです。

・Gradle プラグインのバージョン 1.2 ベータ版のサポート
・CPUパフォーマンスの監視とコレクションキャプチャビュー
・多数のバッグ修正

まあ、アップデートが出たら適用するようにしたほうがよいでしょう。
「Update and Restart」をクリックして、適用します。
再起動したら、どの設定を使用しますかと聞かれます。上記のように、前のバージョンの設定をそのまま使用します。以下の画面が表示され、適用完了です。
いままでのアプリをコンパイルして実行すると、そのメモリとCPUの使用状況が下記のように表示されるようになりました。






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

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