わーくあうと!

日々の作業でためになったことをアウトプットすることで自分の成長につながればなと。

OSアプリ開発者登録までのアカウントは3段階

開発者登録を行なうにあたり、AppleIDやら開発者登録やら色々あって、アカウントについていまいちピンと来てなかったのがピンと来たので簡潔にまとめます。

アカウントは3段階

開発者登録を行なうにあたり、アカウントは3段階存在します。

1、Apple ID

まずは通常のApple IDです。こちらは iTunes や AppStore で音楽やゲームを購入したり、iCloudの利用などに使う通常使いのアカウントで、無料で作成できます。

2、開発者登録

こちらは、Apple IDに対して開発者であるということを紐付けるためのものです。この開発者登録によって開発に必要な iOS SDK などを iOS Dev Center からダウンロードすることが可能になります。こちらも無料で行えます。

3、iOS Developer Program

こちらは年間8,400円(2013年4月6日現在)の有料プランになっており、ここまで登録を済ませるとiOS端末でのアプリ確認、AppStoreへのアプリ公開が可能になります。

つまり、無料でも2の開発者登録まで済ませれば開発自体は可能になります。

ちなみに、ちまたでよく言われる「開発者登録は英語アカウントでもう一つ作ったほうがいい」というのは 3の iOS Developer Program のアクティベートで、日本語名だと失敗する為です。(Appleへメールで問い合わせをすることでアクティベートすることも可)

以上です。

Adobe CS6の体験版インストールで失敗する件

http://www.adobe.com/cfusion/tdrc/index.cfm?product=master_collection&loc=ja

ここから AdobeDownloadAssistant を落としてきて「Install Adobe Download Assistant.app」を実行したけど

エラーが発生しました。 インストーラーが正しく構成されていないのでアプリケーションをインストールできませんでした。アプリケーションの作成者にお問い合わせください。

とか言われてダウンロードアシスタントが起動しない。。。

色々調べたけど解決法が見つからなくて、試しに

「Install Adobe Download Assistant.app」のアイコンの上で右クリック → パッケージの内容を表示

その中の

Contents/Resources/Adobe Download Assistant/Contents/MacOS/Adobe Download Assistant

を実行。

これで何故かダウンロードアシスタントが起動した。

その後普通にインストールまでできた。いいんだろうか。

バーチャルホストでデフォルトホストへのアクセスを禁止する

apacheのバーチャルホストは、どのServerNameにもヒットしなかった場合は一番最初に定義されたVirtualHostの設定が使われる。
このままだとありもしないサブドメインなどを入力されたときに意図しないページが表示されて厄介なので無効にした。

具体的には下記の内容をVirtualHostの一番先頭に書いた。

<VirtualHost *:80>
    ServerName dummy
    <Location />
        Order deny,allow
        Deny from All
    </Location>
</VirtualHost>


お腹へった。

centos6の標準リポジトリ(el6)の確認方法

yumした時にcentosに標準で入るパッケージのバージョンってなんだろ?と確認したかったので確認した。

centosの公式サイトに行って Download から確認したいバージョンのcentosを、適当なミラーを選択してPackagesディレクトリまでたどって行って覗けばOK。

例えば↓のような場所
http://mirrors.easynews.com//linux/centos/6/os/x86_64/Packages/

Documentationを漁っても見つからなくて迷子になってた。今後忘れたときのためにメモしておく。

猫の抜け毛対策にフーリーを買いました

どうもにっくです。

ずっと我が家の猫の抜け毛がひどくて、猫が寝た所は毛だらけでコロコロをしないといけないし、付着した抜け毛が目立ってしまうので黒い服なんかも着れなくなっていました。

そこでペットショップでもオススメの商品として展示されていて気になるブラシがあったのですが・・・
ついに購入しました!

じゃん!フーリー!


同じアンダーコートをキレイに取れるブラシとしてファーミネータというブラシもありますが

  • ファーミネータ偽物が流出している。
  • フーリーのほうが作りがしっかりしている。

という事が調べてみてわかったのでフーリーを買う事にしました。
(ちなみに猫にはMサイズがちょうどいいらしいのでMサイズを購入しました)

試用レポート


フーリーに興味津々な様子。


で、少し試してみると・・・

評判通りモリモリ毛が取れる。


その後も数分ブラッシングしてあげた結果・・・

こんなに取れました。


服などに付きやすい不要な毛だけをしっかり取ってくれているような感じで、ブラッシング後なでてみるといつもより痩せたような感覚で、手に付く抜け毛も無くなりました。

で、買ったほうがいいの?

ずばり『買い』です。

ちょっと高いけど...長く使うものだし!
特にネットで買い物をしていると周りの類似品より数十円高いだけでも購入に躊躇してしまうけれど...
偽物掴ませられるリスクとか、あとから「もっといい物を買えばよかった!」と後悔してしまうリスクを考えれば少し値段が高くても『ちゃんとしたもの』を『ちゃんとした所』から買ったほうがいいですよ本当に。
ちょっと高いけど。ちょっと高いけど!

実際にフーリーを買った今、猫の抜け毛対策に悩まされなくなり大満足です。

ということで

猫の抜け毛対策に悩んでいる人には断然オススメのフーリーを紹介しました。
せっかく買うならフーリーの公式サイトから購入したほうがよいです。送料無料ですし。
Amazon楽天のショップなどから購入しても値段はほとんど変わりませんし、偽物を掴まされる可能性もあるので・・・)


フーリーの公式サイトはこちら↓
ペット用ブラシ『フーリー』


それでは!

pythonにsshモジュール入れる

この記事見て、pythonからsshできれば面白い事できそうだなーと思って、試そうとeasy_installでsshモジュール入れようとしたらエラー出た。

$ sudo easy_install ssh
Searching for ssh
Best match: ssh 1.7.14
Processing ssh-1.7.14-py2.6.egg
ssh 1.7.14 is already the active version in easy-install.pth

Using /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/ssh-1.7.14-py2.6.egg
Processing dependencies for ssh
Searching for pycrypto>=2.1,!=2.4
Reading http://pypi.python.org/simple/pycrypto/
Reading http://pycrypto.sourceforge.net
Reading http://www.amk.ca/python/code/crypto
Reading http://www.pycrypto.org/
Best match: pycrypto 2.6
Downloading https://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-2.6.tar.gz
Processing pycrypto-2.6.tar.gz
Running pycrypto-2.6/setup.py -q bdist_egg --dist-dir /tmp/easy_install-gmy2zc/pycrypto-2.6/egg-dist-tmp-Lky9PJ
warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath.
unable to execute /Developer/usr/bin/clang: No such file or directory
error: Setup script exited with error: command '/Developer/usr/bin/clang' failed with exit status 1

「/Developer/usr/bin/clang」なんて無いらしい。
whichでclangを確認したら「/usr/bin/clang」にあるっぽい。

$ which clang
/usr/bin/clang

pycryptoのsetup.pyは絶対パスでclang実行してるのか。。
ということで適当にシンボリックリンク貼ってみる。

$ ln -s /usr/bin/clang /Developer/usr/bin/clang

これでもう一度「easy_install ssh」実行したら入った。
一応入ってるか確認。

$ python 
Python 2.6.7 (r267:88850, Oct 30 2011, 19:00:25) 
[GCC 4.2.1 Compatible Apple Clang 3.0 (tags/Apple/clang-211.10.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssh
>>> 

問題なくインポートできたから大丈夫そう。

JMeterのリモート接続が失敗する件

ec2(centos)に立ち上げたJMeter鯖達に対してwindowsからリモートでテスト実行したい!と思って試したけど失敗して結構はまったのでメモ。

ハマってた時に取ってたメモを勢いで削除してしまったので状況詳しく書けないけど
単純にec2側にJMeterサーバ立ち上げてwindows機のjmeter.propertysのremote_hostsに鯖のグローバルIP書いて、リモートで実行したんだけど

 java.rmi.ConnectException: Connection refused to host: 127.0.0.1

とか色々言われた。その後ググって下記の作業をした。
・「/etc/hosts」ファイルをいじったり
・「bin/jmeter-server」のRMI_HOST_DEFを定義してみたり
けど全然通らない。。
その時に出たエラーあまり覚えてないけどtimeoutとかも出てた。


で、結局たどり着いた答えは必要なポートが開いてなかった。
リモート接続では1099を使うとどこかに書いてあったのでそれだけ開けてたのだけど、
どうもJMeterはポートをランダムに使用しているらしくそれも開けないといけないみたい。

って事で全部開けて試してみるとクライアント側のログで下記のような表示が出る。

Waiting for possible shutdown message on port 4445

のでおそらくクライアント側の「4445」ポートも開放しておかないといけない。

ローカルのクライアント側までポート開けるのはなんだか抵抗があったので
クライアント、サーバどちらもec2に置いて同じセキュリティグループは全ポート通すようにするって所で落ちついた。


ねむいねむい

Too many open filesなどと言われる件

webアプリの負荷試験をしていたらhttpdのerror_logで、
・_mysql_exceptions.OperationalError: (2004, "Can't create TCP/IP socket (24)")
・socket.error: [Errno 24] Too many open files

詳細端折ってますがこんなエラーが大量にでていた。(mysqlやmemcache接続する処理で)
エラーの原因から言ってしまうと、httpdが開こうとしているファイル数が「Max open files」の値を超えてしまっていた事が原因だった。
なので制限を変更した。
その時のメモ。

httpdが開くことのできるファイル数を確認。

less /proc/{pid}/limits

これの「Max open files」の値。確認した所デフォルトの1024だった。

httpdが開いているファイル数を確認。

lsof -p {pid} | wc -l

apacheBenchで負荷を掛けながら確認したら900くらいで頭打ちしているようだった。

修正。

/etc/security/limits.conf に下記を追記。

 * soft nofile 8192
 * hard nofile 8192

確認。

httpdの再起動後、下記の値を確認。

less /proc/{pid}/limits

「Max open files」の値が設定した値になっていればOK。


その後もう一度apacheBenchで負荷試験をしたらエラーはでなくなった。

仮想サーバーにCentOS6.2入れてSSHしたりしてみた

今使ってるMacBookにバーチャルボックス入れて、そこにゲストOSとしてCentOS6.2を入れてSSHする所まで試してみた。
その後LVMおもしろいなぁとボリューム作ったり消したりしてた。
まぁそれはそれでいいんだけど、じゃぁこれで何すんの?って。


ゲストOS側のhttpdのドキュメントルートをホストOSと共有フォルダにしたら便利そう。
そんなこんなで開発環境を構築してvdiファイルをバックアップしておけばどこでもすぐに開発環境を構築したり他の人に共有したりできるのかなぁ。

できたら結構便利そう。

なんだかなー

やらなきゃいけないこと色々あるけれど手につかない。
まぁ日曜だしいいか。


今日は(というか土曜から)ずっとAPIのチューニング作業してた。
その後負荷テストして、結果まとめたりしなきゃなーとか思いながらうとうとしながらリモートデスクトップ試して遊んだり
家のPCの構成を変えたいなぁとか想像したり。。家のデスクトップPCのほうが今WindowsとUbuntuデュアルブートになってるけどなんか気持ち悪いからLinux一本にしてしまいたくて、でもそれをしたらadobe製品使えなくなっちゃうなーとか。HDDの中身移すの面倒だなぁとか。
Linux一本にするにしてもディストリビューションどうしようかとか。RedHat系がいいなと思うけど通常のデスクトップ用途ならUbuntuの方が優秀そうだしどうしようかなぁとか。


そんなこんなで寝てしまってたりぼーっとしてたりで、結局負荷テスト結果ちゃんと確認してない。。
うーん
寝よう