2016年7月23日土曜日

Pokemon GO始めました

Pokemon GO遂に日本で配信!



いよいよ日本でPokemon GOの配信が始まりました。当方もPokemon GOブームに便乗して早速インストールしてみました。

Pokemon GOを遊ぶ準備


まずは、Googleアカウントの登録から。普段使用しているGoogleアカウントと分けるため、Pokemon GO用にアカウントを新規登録しました。
それから、AppStoreでPokemon GOをインストールしてプレイしました。

今日の成果


職場が新宿なので、新宿近辺を徘徊しながらプレイしてみました。大都会なので、ポケスポットが多く、モンスターボールがどんどん溜まっていきます。
その後、小田急線で自宅に向かう途中も、途中停車する駅でポケモンをゲットしながら地元の海老名駅に到着。海老名駅周辺も、新宿には劣るもののそこそこポケモンをゲットできました。
ただ、自宅近辺は住宅街なので、これといったスポット的なものがなく、ポケモンもほとんどいませんでした。
今日の成果は画像の通り。



ちなみに本日の歩行距離は5kmでした。

所感


たまにアプリは落ちますが、意外と歩きは苦痛にならないです。ポケスポットも、こんな所にこんなのあるんだと気付けるのもまた良い!
これを機に色んな所に出掛けてみたくなります。
(箱根とか、鎌倉とかでプレイしてみたい!)
ただ、くれぐれも夢中になりすぎて事故など起こさないように気をつけたい。

2016年3月19日土曜日

CentOS6.7にPHP環境をインストール

最近仕事でPHPを...

 最近の案件で、PHPを使う必要が出てきたので、慌てて(?)勉強しています。まずは私の自宅のサブマシン(CentOS)に開発環境を構築していきます。

yumでhttpdとphpをインストール


「端末」を起動してrootに変更して、以下のコマンドを実行します。

# yum install httpd php

途中「これでいいですか? [y/N]と表示されるので[y]を入力します。これでインストールが完了します。
その後、apacheを起動します。起動中かどうかは以下のコマンドで確認できます。

# /etc/init.d/httpd status
http (pid xxxx) を実行中...


と表示されていれば、apacheが起動されています。
起動されていない場合は、以下のコマンドでapacheを起動します。

# /etc/init.d/httpd start

ちなみに、停止は以下のコマンドで行えます。
# /etc/init.d/httpd stop


PHPの動作確認


次にPHPの動作確認を行います。動作確認は以下のコマンドで行います。

# php -v
PHP 5.3.3 (cli) (built: Feb 9 2016 10:21:34)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

次にApache経由でPHPが動作することを確認します。動作確認用にphpinfo()をphpinfo.phpファイルに記述します。ファイルを作成する場所は「/var/www/html」の配下です。
作成後にブラウザにURL「http://localhost/phpinfo.php」を入力して、PHP INFOが表示されればOKです。

※別のPCからアクセスさせる場合は80番ポートを開放します。デフォルトではアクセスできません。80番ポートの開放は、iptablesを編集します。手順は以下の通りです。

(1)iptablesファイルをバックアップします。名前は適当に決めてください。

# cp /etc/sysconfig/iptables /etc/sysconfig/iptables.org.yyyymmdd

(2)viでiptablesを編集します。
# vi /etc/sysconfig/iptables

-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icml-host-prohibited


念のためdiffで差分を確認します。
# diff iptables.org.yyyymmdd iptables

10a11
> -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT


(3)ファイアウォールの設定を反映します。
# service iptables restart

iptables: チェインをポリシー ACCEPT へ設定中filter         [  OK  ]
iptables: ファイアウォールルールを消去中:                  [  OK  ]
iptables: モジュールを取り外し中:                          [  OK  ]
iptables: ファイアウォールルールを適用中:                  [  OK  ]


(4)別のPCブラウザのURLに「http://端末のIPアドレス/phpinfo.php」を入力します。これで別PCでもPHP INFOが表示されればOKです。

2016年2月21日日曜日

iOSアプリの実機転送が無料と聞いたので

iOSアプリの実機転送が無料に!?

しばらく、iOSアプリからは離れていたのですが、先日会社でお世話になっている外注さんから、「そういえば、最近iPhoneアプリの実機転送は無料でできるらしいっすよ!」というのを聞いたので、無料で実機転送できるか試してみます。

環境の準備

ネットで調べたところによると、Xcode7からできるらしい。まずは、Xcodeのセットアップをします。

xcodeの起動とVersion確認


  1. Spotlight検索に「xcode」と入力するなどして、Xcodeを起動します。
  2. [Xcode]→[About Xcode]をクリックしてXcodeのバージョンを表示させます。
※ちなみに、当方の環境は「7.2.1」でした。

適当なアプリを作る

  1. [Create a new Xcode project]をクリックします。
  2. [Single View Application]が選択されている状態で[Next]をクリックします。
  3. [ProductName]には、とりあえず「Hello20160221」と入力します。[Devices]は「iPhone」を選択します。入力が完了したら[Next]をクリックします。
  4. ディレクトリの場所を聞かれるので、適当に選んで[Create]をクリックします。
  5. Main.storyboardファイルをクリックして、ViewにLabelで「Hello」と入力します。

シュミレーターで動作確認


  1. Xcodeの画面左上にある再生ボタンをクリックします。ビルドされシュミレーターにアプリがインストールされ、先ほどの「Hello」が表示されます。

実機転送


いよいよ、実機転送を試してみます。

  1. LightningケーブルでMacとiPhoneを接続します。
  2. 画面左上のTarget Deviceを指定するところに、今接続したiPhoneが表示されますので、それをクリックします。
  3. Xcodeの画面左上にある再生ボタンをクリックします。すると、ダイアログが表示されました。「Failed to code sign "Hello20160221". No provisioning profiles with a valid signing identity (i.e certificate and private key pair) matching the bundle identifier "xxx.xxx.xxx.Hello20160221" were found. Xcode can attempt to fix this issue. This will reset your code signing and provisioning settings to recommended values and resolve issues with signing identities and provisioning profiles.」ひとまずここは[Fix Issue]をクリックします。
  4. 「To fix this issue, add an Apple ID account.」と表示されたので、[Add...]ボタンをクリックしてアカウントを追加します。
  5. 「Sign in to use your Apple ID.」が表示されるので、Apple IDのIDとPasswordを入力して[Sign In]をクリックします。PreferenceのAccountsにアカウントが追加されるので、Preferenceを閉じます。
  6. 「To fix this issue, select a Development Team to use for provisioning:」とメッセージが表示され、コンボボックスに「xxxx(personal Team)」が選択された状態となっているので、変更せずにそのまま[Choose]をクリックします。
  7. 「An App ID with Identifier 'xxx.xxx.xxx.Hello20160221' is not available. Please enter a different string.」と表示されていたので、ひとまず[Done]をクリックします。ここではおそらくBundle Identifierに'xxx.xxx.xxx.Hello20160221'が使用できない旨のメッセージと思われるので、こちらを変更してみます。
  8. 画面左側に表示されているツリーからroot要素(ここでは「Hello20160221」)をクリックして、[General]を確認します。
  9. [Bundle Identifier]の'xxx.xxx.xxx.Hello20160221'のxxxの部分を取り除いてみます。[Bundle Identifier]には「Hello20160221」だけ入力された状態にしておきます。
  10. [Fix Issue]をクリックします。そうすると、Teamの下に出ていたエラーは消えます。
  11. 改めてXcodeの画面左上にある再生ボタンをクリックします。これで、iPhoneの実機にアプリがインストールされます。もしここで、iPhoneにロックがかかっていたら、ロックを外しておきます。

補足


初めて実機にアプリを転送するときに、iPhone側で「セキュリティが〜」的なメッセージが出た場合は、iPhone側の[設定]→[一般]→[プロファイルとデバイス管理]をタップしていくと、「デベロッパAPP」のプロファイルが作られていると思うので、「信頼する」とやってください。

所感


ネットで見たら「簡単にできます〜」というページをいくつかみたので、舐めてかかったら以外とハマりました...ちょっと前までは、実機転送するには1万円くらい払わないとできなかったので、これは良いですね!

2016年2月14日日曜日

Python3でHello World!標準入力編

前回は、コマンドライン引数から名前を受け取って"Hello ○○○○"と表示させるプログラムを作成しましたが、今回は標準入力で受け取った文字列を使って"Hello ○○○○"と表示させるプログラムを作成していきます。

(1)IDLEを使って、下記の通りコードを記述します。

line = input()
print("Hello " + line)


(2)IDLE上で[F5]キーを押下します。

(3)プログラムが実行されたら、「Python 3.5.1 Shell」に表示させたい名前(この例ではPapaと入力します。)を入力し、[Enter]キーを押下します。

(4)実行結果に以下の通り表示されます。

Hello Papa


今回までで、printの使い方や、コマンドライン引数、標準入力を使った例を試しました。Hello Worldシリーズはこれで終わりにして、次回からは次のステップに進みたいと思います。

Python3でHello World!コマンドライン引数編

前回はprintを使って"Hello World"を表示させましたが、今回はコマンドライン引数を渡して"Hello ○○○○"と表示させるプログラムを作ります。

(1)下記の通りコードを記述します。

import sys
args = sys.argv
print ("Hello " + args[1]) 

(2)「ターミナル」を起動してプログラムを実行します。

$python3 ProgramName.py Papa


(3)下記の通り実行結果が表示されます。

Hello Papa


sys.argvにプログラム起動時のパラメータが配列で格納されています。今回のコマンドライン引数は1つですが、配列の先頭要素にはプログラム名が格納されているので、コマンドラインに指定した"Papa"は2番目に格納されています。

これで、少し汎用的になりました。

IDLEでHello World(Python3)

今回はIDLEを使って"Hello World"を表示させるプログラムを作ります。
手順は以下の通り。

(1)IDLEを起動します。起動すると下記のようなWindowが表示されます。
(2)[File]→[New File]をクリックします。下記のようなエディタが起動します。
(3)"Hello World"を記述してファイルを保存します。

print("Hello World")

(4)プログラムを実行します。[Run]→[Run Module]または、[F5]キーを押します。

(5)実行結果が表示されます。
上記の通り、簡単に実行させることができます。

2016年2月13日土曜日

Mac OS X EI CapitanにPython3をインストール

Jenkins等で色々なことをするにはPythonが必要らしいので、学習用途で自宅のMacにPython3をインストールします。
手順は以下の通りです。


  1. Python3を「https://www.python.org/downloads/」からダウンロードします。今回は「Python3.5.1」をインストールします。
  2. ダウンロードディレクトリに「python-3.5.1-macosx10.6.pkg」ファイルがあるので、ダブルクリックします。インターネットからダウンロードしたファイルなので、必要に応じて、「option」ボタンを押しながらダブルクリックしてください。
  3. 手順に沿ってインストールを進めてください。
  4. ターミナルを起動して「python3 --version」と入力して「Enter」キーを押します。ターミナル上に「Python 3.5.1」と表示されればOKです。もしここでコマンドを入力してもうまくいかない場合は、既にターミナルを起動している可能性があるので、一度ターミナルを終了して、再度起動してからコマンドを実行してみてください。
  5. このほか、アプリケーションディレクトリにも「Python 3.5」がインストールされています。この中には統合開発環境の「IDLE」が含まれています。
今日はひとまずここまで。次回は「IDLE」を弄ってみたいと思います。

2016年2月11日木曜日

A5:SQLのファイル「.a5er」の拡張子が関連づけできないときの対応

Windowsで「.a5er」の拡張子が関連づけできないときの対応です。当方のケースでは、旧バージョンで関連づけしており、バージョンアップした際に本事象がおきました。
やり方は以下の通りで、レジストリを弄って対応しました。
  1. レジストリエディターを起動する。(regedit.exe)
  2. 「KEY_CLASSES_ROOT\Applications\A5M2.exe」を右クリックして削除する。
することで、再び「.a5er」が関連づけできるようになりました。