2013年9月25日水曜日

早いもんで、5周年ですか…

気がつけば、早いもんで…このADP1(G1)を入手して…つまりは、Androidなんてものが出て5周年を迎えるわけですね。
なんとなく、面白そうだという程度の興味からいじり始めて色々OS自体の進化とかを体験させてもらってココに至るという感じです。
この先も、色々おもしろいものを見せてもらいたい気分です。


2013年5月28日火曜日

Macでサーバーみたいなことをしてみる 「その3」

とりあえず、今のところはFTPの方はうまく動いている感じなので次なる課題ということで、自動起動を出来るようにしてみたいと。

リセットなどをした場合にイチイチFTPを起動するのも面倒なので何か方法は無いかと検討してみました。

古いバージョンのOSだった場合には素直にinitなどを使用して登録という方法だったんでしょうが、OSが10.6.8などになって新たにデーモンサービスを利用するように推奨されているようなのでこちらの方法を採用してみる方向で準備して見ることに。

具体的には/Library/LaunchDaemons/へXMLのスクリプトを用意してあげることになります。
そこで、まずpure-ftpd用にこの起動のためのスクリプトを作ります。

今回はこんな感じで。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>org.pure-ftpd.ftp.plist</string>
  <key>Program</key>
  <string>/usr/local/sbin/pure-ftpd</string>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/sbin/pure-ftpd</string>
<string>-lpuredb:/etc/pureftpd.pdb</string>
  </array>
  <key>Disabled</key>
  <false/>
  <key>KeepAlive</key>
  <dict>
    <key>NetworkState</key>
    <true/>
  </dict>
  <key>Sockets</key>
  <dict>
    <key>Listeners</key>
    <dict>
      <key>Bonjour</key>
      <true/>
      <key>SockServiceName</key>
      <string>ftp</string>
      <key>SockType</key>
      <string>stream</string>
    </dict>
  </dict>
  <key>inetdCompatibility</key>
  <dict>
    <key>Wait</key>
    <false/>
  </dict>
  <key>UserName</key>
  <string>root</string>
</dict>
</plist>
これを、「org.pure-ftpd.ftp.plist」としてファイルを作成。 で、このファイルをコピーします。
~$sudo cp ./org.pure-ftpd.ftp.plist /Library/LaunchDamons/org.pure-ftpd.ftp.plist
コピーが完了した所で、このスクリプトを起動することになります。
~$sudo launchctl load -w -F /Library/LaunchDaemons/org.pure-ftpd.ftp.plist
こんな感じで起動します。
この場合に、「-w」のオプションを付けて起動するとこのスクリプトが登録されるので次回からMacの起動時に自動的に動くようになるはず。

ひとまず、諸々の処理をしてあげて見て今のところはこの設定でうまくPure-Ftpdの方も起動してくれているようなのでこのまま様子を見ておこうということで一段落。




2013年5月27日月曜日

Macでサーバーみたいなことをしてみる「その2」

というわけで、前回であったように「Pure-FTPd」でならうまく動いてくれているようなので
とりあえず、以下に今回の設定関連の内容をメモしておく。

前回でも書いておいたけど、ソースはココ「Pure-FTPd」の公式サイトから取得してきた
http://www.pureftpd.org/project/pure-ftpd)ここのDownloadの先から拝借。
この先のリンクのどちらから入って「/pub/pure-ftpd/releases/」のところにある新しいのをダウンロードした。

解凍後まず、そのフォルダーへ移り初期の作業として
コンパイルオプション関連をこんな感じで設定してみた。
~$ ./configure --with-pam --with-puredb --without-sendfile --with-boring --with-cookie --without-longoptions --with-privsep --with-ftpwho --with-peruserlimits --with-throttling --with-virtualchroot --with-virtualhosts --with-diraliases

今回特に必要とした部分は
--with-virtualchroot
この部分のオプション、コレでシンボリックリンクなどの挙動を「chrroot」している状態でも可能にします。
また、今回は念のため
--with-diraliases
の、コマンドも有効にしておいた。

基本的なオプション関連はこのあたりのサイトを参考にしてみた。
http://web.archive.org/web/20041013153855/http://homepage.mac.com/proc/pureftpd/pureftpd-option.html#with-altlog

このあと、メイクを実行してみる
~$ make

ここまでで特に問題がなければインストールを実行してみる。
~$ sudo make install

つづいて、可動に備えてコンフィグの設定を行なっておく
pure-ftpd.conf」を自分の実行させる環境に合わせて編集

############################################################
#                                                          #
#         Configuration file for pure-ftpd wrappers        #
#                                                          #
############################################################
# If you want to run Pure-FTPd with this configuration
# instead of command-line options, please run the
# following command :
#
# /usr/local/sbin/pure-config.pl /usr/local/etc/pure-ftpd.conf
#
# Please don't forget to have a look at documentation at
# http://www.pureftpd.org/documentation.shtml for a complete list of
# options.
ChrootEveryone              yes
TrustedGID                  100
BrokenClientsCompatibility  yes
MaxClientsNumber            10
Daemonize                   no
MaxClientsPerIP             3
VerboseLog                  no
DisplayDotFiles             no
AnonymousOnly               no
NoAnonymous                 yes
SyslogFacility              ftp
DontResolve                 no
MaxIdleTime                 15
PureDB                      /etc/pureftpd.pdb
PAMAuthentication           yes
LimitRecursion              10000 8
AnonymousCanCreateDirs      no
MaxLoad                     4
# この部分は外部に公開とかやらない場合には特に必要は無い
PassivePortRange            90000 99999
ForcePassiveIP              xxx.xxx.xxx.xxx
#
AntiWarez                   yes
Umask                       133:022
MinUID                      100
AllowUserFXP                no
AllowAnonymousFXP           no
ProhibitDotFilesWrite       no
ProhibitDotFilesRead        no
AutoRename                  no
AnonymousCantUpload         no
MaxDiskUsage                99
CustomerProof               yes
TLS                         1
IPV4Only                    yes

これで、編集の終わったファイルをしょていの位置へこんな感じでコピーしてあげる
~$sudo cp ./pure-ftpd.conf /etc/pure-ftpd.conf

ここまでで一応の準備は出来た感じだと思うのであとは稼働させてみるだけになります。
とりあえず、TESTをするだけなのでコマンドラインから
~$sudo /usr/local/sbin/pure-ftpd -l puredb:/etc/pureftpd.pdb &

とやって起動してみる。
ちなみに、今回ウチでやった場合には、パスワードの認証部分でなぜか、
-l コマンドでデータベースファイルの位置をしてしてあげないとうまく認証してもらえなかったのでこの形でやってみてます。

この形で特にエラーとかがログファイルとかにでていなければ、この位置のアドレスへ接続してみることになります。

そのためにユーザーを設定するわけですがソレには以下のような感じで。
~$sudo pure-pw useradd ユーザーの名前 -u UID -g GID -d ユーザーフォルダーの位置 -m

こんな感じで、「pure-pw」コマンドを使用して登録します。
ここで、今回は、UID「ユーザーID」の部分とGID「グループID」の部分は予めMacの方でftp用にユーザーとして登録して置いたものを使用しました。
ユーザーIDは「ftpuser」
グループIDは「ftpusers」
として登録したものをそれぞれ設定してあります。この辺りは各自の環境に合わせておけば良いとおもわれます。
とりあえず、「-m」のコマンドをつけて登録作業は行なっているのでデータベースの更新も同時にはされているはずなのですが心配な場合には最後に
~$sudo pure-pw mkdb
として、データベースのみの更新を行なっておくのもあり。

ちなみに、登録されているユーザの確認は
~$sudo pure-pw list

これで、ひと通りの準備は完了というところかな。


次は、コレを自動起動するようにしなければ…


Macでサーバーみたいなことをしてみる「その1」

ふと、Macでサーバー的な何かを作ってみようと思い立ってみた。
ソモソモの発端は、元々WindowsのPCでFTP用に稼働していたものがあったのだけれども、この子がいい加減寿命(なにせ、PentiumIIIの搭載機という…)が押し迫ってきていたのでちょうど以前使用していたMacが出てきたこともありちょっと入れ替えてみますか…となったわけです。

で、ひとまずFTPサーバーから稼働させてみようと動き始めたと。

今回使用してみるものは、Mac Mini(Early2009)のモデル。
一旦この子を完全初期化してまっさらの状態に…
ここで、一つ悩んだのは素直にOSをサーバーバージョンにするかどうかだたんですが、どうせ自宅用のバックアップサーバーなので標準のOSでやってみるかと言うことに。



FTPを稼働させるとなった所で、どうするか…
元々、Mac自体にもFTPのサーバー機能もあるにはあったので、そいつをサクッと使おうかとも思ったのですがここでちょっと考えたいことが浮上。
それは、自宅外から繋ぐことを想定しておいて、ユーザーフォルダーから上に上がれないようにしたいと。
お仕事などで、データのやり取りなどで使用する場合を一応考慮して、この機能はちょっと欲しいとなった所で色々回り道が始まった。

そこで、Macで稼働可能なFTPサーバーのソフトはと探してみたところ幾つかヒット。
ひとまず、色々解説も出ていそうだったので、「Pure-FTPD Manager」を使って見ようかとなった…
が、しかし、上手く動いてくれない…
一応、HPの方でOS 10.6のバージョンまでは対応しているみたいな感じではあったけど、このMacはOS 10.6.8になってるわけで大丈夫かなぁと思いつつインストールしてみたけど
案の定、クラッシュしてしまう。

仕方ないので、次を当たってみた。
と、今度は「Pro-FTPD」にたどり着く。
これは、ソースからインストールして見ることにした。
で、稼働するところまでは割りと順調に進んだ、「これは…いけるか」と思った矢先ある事実にたどり着くことに。
もともと、の発端である「ユーザーフォルダーから上には行けない」はきちんと設定が出来て良い感じだったのだけれども、データ保存用にUSBのHDDをぶら下げていた部分に移動できない…
よくよく、考えればそうなかって感じで、「ユーザーフォルダーより上に行けない」という事はUSBでぶら下げたHDDは別ボリュームになるんでここへ移動する場合には当然のこの部分にぶち当たる。
この部分の対策に関しては、各方面で色々検討や実験もされているみたいだっけど環境がLinuxだったり、コンパイルオプションの設定を変えて見たりしてみたけどどうにもイマイチ上手くいかない。

他にはと…見回してみると
有料のアプリであればこのへんを解決出来るアプリは幾つかヒットしたけど、どうせならお金は抑えたい。

で、頓挫しそうになってた所でなんとなく振り出しに戻って
「Pure-FTPd」のみだったらいけるんじゃないのかと…考えてみた。

そこで、とりあえず「Pure-FTPd」のソースをゲットしてきてコンパイルをしてみる。
(取得した場所は公式のページから取ってきた→http://www.pureftpd.org/project/pure-ftpd
前回、「Pure-FTPd Manager]を使用した場合には上手く稼働してくれなかったので、ドキドキしながら起動させてみたところ以外にアッサリ動いてくれた。
そうなればしめたもので、こいつには「virtualchroot」が使えるので別ボリュームに置いてあるフォルダーも参照が可能になるハズということになるわけです。
とりあえず、ユーザーを作成してみて、所定のユーザーフォルダーにデータの置き場のシンボリックリンクを作成してみることに。
コマンドラインからFTPのクライアントを起動させてこのサーバーへ接続してみる…

「おっ、上手く見えてるんじゃない」

ひとまず、当初想定していた稼働状況になったようです。
とりあえず、このまましばらく動かして様子をみてみようかという感じになった。

2013年5月17日金曜日

早速、Android Studioをインストールしてみた

というわけで、I/Oで発表にあった「Android Studio」の方がダウンロード可能になっていたので早速TESTを兼ねてインストールをしてみた。
公開の場所はココ

このページヘ飛んで、対象の機種のインストールイメージを導入する。
この辺の一連の作業はとりあえず、各ターゲットの基準のインストール方法にそっているのでソレに従えば基本的に迷うことは無いんじゃないかと思われます。

で、最初に起動すると諸々のセッティングなどの保存場所などのインポートを行うかデフォルトで作成するか聞かれるので各々のセッティングを行う。

今回は、とりあえず私は新規でデフォルトの設定でやって見ることに。

すると、初期画面が出てくるのでココで次の行動を選ぶわけですね。

ひとまず、「New Project...」を選んでみて新しいプロジェクトを作成して見ることに。

すると、ターゲットに関する諸々の問い合わせなどが来るのでそれにイチイチ答えると基本のプロジェクトが作成される。
で、ココで既存のセッティングを取り込んだ場合にはSDKの環境は出来ているけど、今回は新規で作りなおしてみたので、「SDK Manager」を選んでSDKのインストールを行うことにする。
この部分の作業自体は従来のものと変わらないのでひとまず、必要と思われるターゲットのSDKを導入をしてみる。

ここまで終われば基本設定は終わるのでとりあえず、エミュレータを動かしてみる事にする。

…サクッと動いた。

細かいところの動きについては追って諸々実験を行なっていこうかと。
とりえずは、今宵はここまでにしておこう。


しかし、開発の環境もドンドン整備されていって楽になるなぁ。

2013年4月16日火曜日

モニターアームを導入してみた

作業環境周りのレイアウトの変更をしてみたくなり、以前より検討していたモニターアームを導入してみた。
今回、導入してみたものはこれ
エルゴトロン LXデュアル デスク マウント アーム 45-248-026

これを、今回選んでみたのは可動性の範囲の自由さがやはり大きかったというところでしょうか。
基本的には大体固定の位置に納めておくことがほとんどでしょうが、イザ何かあった場合にこのアームの場合は動かしやすいというのがありました。
また、モニターの取り付けがやりやすいというのもポイントでした。
やはり、一人でイロイロ設置を行おうって場合に一番のネックになるのがモニターの取付になるんでこの部分は大きかった。
細かい、動きなどはYouTubeなどで見てもらえればと思います。

ちなみに、このセットにはノートPCなどをアームの先に設置できるようにするためのトレイなども付属されていますのでそっち方面での使い方も面白いかもしれないですね。

今回の取り付けは上下に一枚づつこんな感じでレイアウトしてみたところです。

正面からだと、こんな感じでレイアウト



下側のモニターが、iMacのサブモニターとして使用して
上部のモニターが、通常は地デジのモニターとして使用していますが、更にコイツにサーバー代わりに使っているWindowsマシンの緊急確認用につないである感じです。
そのうち、気が向いた時にはiMacのもう一枚のモニターとして接続する可能性も残しつつ…
ちなみに、使用しているモニターは「BenQのGL2250HM」です。

これで、しばらく使って行ってみようと思っています。



2013年3月6日水曜日

XperiaZでHotmail(OutlookMail)をpush受信するメモ

XperiaZでHotmailの受け取りの設定をしてしばらく使用していたのですが…
どーも変だと思っていたら、pop配信のモードで繋がっていたようでしたよ。

以前にHotmailの受信設定の方法をメモしておいたけど、あれは「Exchengeサービス」がない場合などでの設定で最近の機種の場合にはこのサービスが入っているのでコイツを使って受信の設定をしていたのです。

で、今までの機種GalaxyNexusなどだと、メールのアカウントの追加の所で「xxx@hotmail.com」などと入力後に、「次へ」の項目を選択すると、自動で「Exchengeサービス」方で設定を行なってくれていたので、今回も何も考えずにこちらの方法で設定を指定たわけですが…
なんというか、XperiaZさんこのモードで設定すると、pop受信モードで設定を行なってくれていました。

で、ここで困ったことに謎の挙動をしてくれていて、受信トレイからメールを削除してもサーバー側にメール自体を残す設定になっていると、また同じメールを受信してしまうということになっていた。
ここで、メールを削除するモードにしてHotmail側の設定も、popモードの場合で端末から削除の作業をしたらソレに従う設定にしておけばよいみたいなのですが…面倒だし。
そもそも、他の端末はExchengeのモードで繋げてるんだし、こいつだけpopモードというのもということで、こっちもExchengeのモードで受信するように設定してみた。
こうすれば、push配信で受信をしてくれるし…

やり方はメールアドレスの登録後に「次へ」を選ばず「手動セットアップ」を選択する。

すると、アカウントのタイプを聞いてくるので、ここで「ExchengeActiveSync」を選択。

次に、受信サーバーの設定を聞いてくるので必要事項を入力
この場合に、サーバーのアドレスの部分を「m.hotmail.com」としておく。

で、次にアカウントの設定になるので受信の頻度や期間などの設定を行います。
これで、一応は設定が完了するはず。

とりあえず、いまのところこれで受信は行われているようなのでしばらく様子を見てみようと思います。

ただ、このメールアプリなんかイロイロ怪しいんですよね…
受信音の設定もうまくいかないですし、まぁ通常昼間はマナーモードにしてるから音に関してはそれほど問題にはならないですけど、いずれなんとかしてくれるかなソニーさん…

あとは、この標準のメールアプリを使わずOutlookメールのアプリを使うという手法もあるんですけど。
なんか、幾つもメールアプリを別々に動かしているのも無駄っぽい気もしてるんで私はこの標準のメールアプリに主要なアドレス登録して一気見が出来る形で運用してるいるんですけどね。


2013年2月24日日曜日

MAC上で実機デバックするメモ

MACで実機デバックするめに行った呪文をちょっとメモしておく。

やったことは、USB接続してる端末を認識させれための設定の方法。

~$adb devices

とした場合に何も表示されない場合には接続してる端末を認識させてあげる必要があるのだけれども
方法としては、ググってみるとどうもイロイロ方法はある感じなのだけれど、今回はファイルの直接
編集する方法でやってみた。

まず編集するファイルだけど。
SDKがすでにインストールが済んでいるとして進める。

自分のホームフォルダーに
.android
のフォルダーがあると思います
(ただ、通常ドットで始まるフォルダーはFinderでは隠し状態なのでこの辺はこの部分が見ることが出来るファイラーなどを使うとかして見てください)

このフォルダーの下に
adb_usb.ini
が確認出来ると思う…
今回の編集対象はこのファイル。


開いてみるとこんな感じになってると思う。
そこへ、接続対象となる端末のベンダーIDを記入してあげる
例えば、ターミナルで

~$system_profiler SPUSBDataType

とかで、現在の接続機器を確認してみるか
もしくは、ベンダーIDをこのへんで参考にしてみる。 http://developer.android.com/intl/ja/tools/device.html

この中から、今回はXperiaZを繋ぐんで、
Sony Ericsson」のコード「0fce」を書き込む


# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0fce
04e8


こんな感じで、(我家の場合はGalaxyNexusもあったので2つ分)書き込む。
その後

~$android update adb

とかで、リセットしてあげれば良いかと

あとは、

~$adb devices

などで、確認出来れば成功となる。


XperiaZへ移行してみた

端末の方を、NexusからXpariaZへ移行してみた。


発売日に端末の方は受け取ってきて、ココ何日かで調教調整しつつ標準運用をしていた。
今のところ、問題らしい問題もみえず快調にいけています。

 
さすがに、OSも4.1.2だし安定性はソコソコ担保されているんでその部分はおおきいかもしれない。
まぁ、早速docomo系列の主要なアプリは片っ端から殺しましたけど…
でも、毎回思うことですが、なぜにdocomoの標準アプリは、こうもいけてないものばかりなんでしょうかね。
このばあいは、docomo側のディレクション担当がダメなのか…それとも、発注できるソフト屋さんをダメなところしか抱えてないのか…
いくら、ハードの性能が良くても中身のアプリがソレを殺してるようではそりゃ出て行く人を止めるなんて出来ないよね…


そういえば、動作クロックが1500MHzがデフォになってるんですね…



まぁ、コレでNexusの方がイロイロ大胆に弄れる状態が出来たのはなんといっても大きかな…
さすがに、通常使用しつつOSの入れ替えとかバンバンやってるわけにもいかなかったし。

この点だけでも大きい移行だね。

2013年1月21日月曜日

MACへAndroidの作成環境を設定するメモ

とりあえず、メインの作業環境をiMACへ移行したので、AndroidのSDKを改めて設定した。

とはいえ…やることはそんなに多くはないけど。
Javaの環境はMACの場合にはデフォルトで入っていると思いますのでそれをそのまま利用していけると思う。

ひとまず、デベロッパーページからSDKのセットをダウンロードする。
こいつは、eclipse自体も同梱されているのでコイツ自体でほぼ全て揃うようになっている。
(楽になったなぁ…)

解凍して出来たファルダーを適当な場所へ置いてその場所のPATHを設定しておく。

テキストエディターなどで、「.bash_profile」にSDKの場所のPATHを追加しておく。
この場合、新規購入のMAC等の場合にはこの「.bash_profile」自体がない場合があるけどその場合には新規にこの名前でセーブしておけばOK。
記述の内容は以下の感じで…

export PATH=$PATH:~/bin:~/WORK/Android/sdk/platform-tools:~/WORK/Android/sdk/tools

私の場合は、「WORK」というフォルダーの下へ「Android」という場所を作ってあったのでその中へSDKを置いたのでこんな感じなる。

この場合に、「platform-tools」と「tools」の両方のPATHを有効にしておくことを忘れずに。
「platform-tools」の方には、「adb」コマンドのツールなどがある場所。
「tools」の方には、「android」コマンドのツールや「ddms」コマンドのツールなどがある場所。
となっている。

ここまでやったらとりあえず「ターミナル」を開いてみて、適当なコマンドを打ってみる…
とりあえず、

 ~$android

と、打ってみる…
うまく行っていれば、ADTが立ち上がるはず。


この中から、デフォルト以外で自分が必要だと思うバージョンのSDKも取り込んでおく。

一連のSDKとかのインストールが終わったら、一応エミュレータの設定も行なっておく。
Tools>Manage AVDs...
を、選択してエミュレータの設定を行なっておく。


この場合、「Device Definitions」の方を選んでみると各種Nexusシリーズの基本設定が選択できるのでよくわからい場合はこの中から選んでおけば大丈夫のようになっている。

ここまででひとまず、基本の設定は出来たと思う。

あとは、「eclipse」の設定となるわけだけど…
この場合、同梱されているバージョンの「eclipse」を使えば基本の設定は済んでいるのでこのまま使えば良い状態になっているはず。


必要に応じて、NDKなどを利用する場合はそのフォルダーのPATHを設定する必要はありますけど…

あとは、USBで実機を接続して
~$adb shell
とかをやってみて、きちんと表示されていれば問題はないとはず。


これで、ひとまず開発はできるようになっていると思われます、

2013年1月19日土曜日

iMAC 2012版へ作業環境を移行した

Linuxで稼働していた作業用のPCがいよいよ辛い感じになってきたので思い切って新しいPC環境へ移行することを決心…

で、上手いタイミングでiMACの2012バージョンが出てきてくれたのでこいつへ移行することに決めて注文、しかし…コレが届かない…12/1の段階で注文したけど…結局配送の連絡が入ったのが1/14。
でも、ここで罠がまたもや…そうです、この日東京は大雪の影響で結局この日は届かず、翌日になんとか届くとういう自体に。


とりあえず、これからこいつにイロイロがんばってもらうことにしたいと思いますよ。



まずは、各種開発環境の整備から始めたところ…