サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Appleイベント
adsaria.hatenadiary.org
以上までの手順で(標準パッケージからインストールするか、オープンソースからインストールするかに関わらず)PostGISを利用する準備が出来た。次は、GIS情報を格納するためにPostGIS機能拡張されたデータベースを作成する。 PostGIS用データベースを作成するは、 テンプレートを使って作成する方法 PostGISのSQLライブラリを使って作成する方法 の2通りがある。テンプレート“template_postgis”がPostgreSQLサーバに既に登録されている場合は、 postgres@postgis:~$ createdb -T template_postgis gistestdbとコマンド1つで済む。(ここで作成するPostGIS用データベースの名前は“gistestdb”とする。以下、同様。) ただ、私のインストールしたPostGISではテンプレートデータベース templa
自作PCの構築手順をまとめておく。パーツの初期不良(=購入時点での不良品、DOA、Dead On Arrival)が無いかを確かめるために、1つ1つ手順を確認しながら組み立てて行く必要があり、無計画にパーツを買い集めると後で後悔することになる。 筐体と電源ユニットを買っておく 筐体は納期が長い物もあり、ショップで衝動買いするのでなければ、気に入った筐体を予め通販でオーダーして取り寄せておく。電源ユニットも初期不良が少ないパーツなので先に取り寄せておく。これらのパーツが遅れて、通電するのが遅れて、初期不良保証期間が過ぎちゃった、ということがないように。 メモリテスト用の起動CDやUSBを作成しておく。 電源を入れてBIOS動作の確認後、最初に行うのはメモリテストになるので別のPCを使って予めメディアを用意しておく。Linuxの場合は、LiveCDやインストールCDで立ち上げるとメモリテストを
PostGISをインストールしてみたので手順をメモしておく。 PostGISの本体はLinuxでサーバとして動かし、Windows PCをクライアントとしてGUIベースの各種GISアプリケーションはWindows PCで利用することを想定してシステムを構築した。 今回、サーバとして利用するPCのLinuxには私のお気に入りのUbuntuを利用したが、基本的には他のLinuxでもほぼ同様の手順で大丈夫かと思う。(Debian系とRedhat系などの違いで一部のコマンドは違うが。)私がUbuntuを気に入っているのは、LTS(長期サポート版)があり長い期間安定して使えることと、Linux上のアプリケーションが整理されて豊富に利用できるからだ。(GUIの良さもあるが、今回はサーバ版を利用するのでGUIは関係ない。) さて、もう3ヵ月程で最新のLTS版がリリースされるようだが、今回は(LTSではな
システムクロックをUTCにするかJSTにするか。ほとんどの場合は気にしない。特にWindowsオンリーユーザの場合は気にしたこともないと思う。 悩ましいのはLinuxと混在した環境の場合だ。私の場合はWindowsとLinuxは別々で使っていたので余り気にしていなかったが、いつも使うWindowsマシンを“たまに”Linuxで使う場合に適宜補正していたくらいだ(“Linuxで日本標準時(JST)を協定世界時(UTC)として設定する”参照)。 ところが、iSCSIでブートできる環境を整えてしまったので、LANにつながったマシンであれば、任意のマシンをiSCSIに対応した任意のOSでブートできるようになった(“Windows 7をディスクレスで使う”参照)。そうなるとイチイチ時計の設定を変える訳にもいかず、UTCかJSTかに統一する必要が出てきた。特に同じ“マシン”を物理的なPCで動かしたり仮
Fedora 8では標準構成でsendmailがインストールされるので、これを起動時にサービスとして動くようにすれば、実は、大体の場合は使えるようになっていた。しかし、私がハマったのは、プロバイダによっては、メールの送信者(sender)のメールアドレスのドメイン名が実在するものでないと(多分スパムとして)弾くようになっていたためだ。しかも、マシン(実際には仮想マシン)をインストールする時に、そのマシンにドメイン名を設定しなかったためデフォルトの"localdomain"というドメイン名になっていた。勿論、インターネットの世界には実在しない。("localdomain.com"というドメインは実在するようだが。) 結果として、/etc/mail/submit.mcに4行追加し、/etc/mail/local-host-namesに1行追加するだけでOKだった。 まず、submit.mcでは
SSHを使って外出先から家のPCにアクセス出来てもあまり嬉しくない。Webメールとか使うために仮想アクセスサーバ経由でWebでインターネットへアクセスしたい。その為にはアクセスサーバにWeb Proxyを立てて、それを経由してインターネットにアクセスする。 Web Proxyの設定 アクセスサーバではWeb Proxy機能だけが使えればいいので、専用Proxyデーモンか軽いWebサーバでも良いのだが、結局、ドキュメントが豊富なApacheを使った。 ほぼ標準設定で、/etc/httpd/conf/httpd.conf を数ヶ所変えるだけでいい。要点だけ抜き出すと、 [root@access-server ~]# cat /etc/httpd/conf/httpd.conf : : # prefork MPM # StartServers: number of server processe
以下の話は今更ながらXPについてである。Vistaや7では適用できないようだ。 WindowsのNTFSには“C:\System Volume Information”というシステム管理用のフォルダがある。ここは普段は管理者(Administrators)でも読めないようになっていて、管理はWindowsに付属のルーツを使ってということになる。 ところが、ひょんなことから、このフォルダの下にツールでは削除できないデータが残ってしまうことが分かった(詳細は"Windows XPを小容量ディスクへ引っ越す"に)。System Volume Informationフォルダには“システムの復元”に使うバックアップデータが保存されていて、一定の条件で削除される。ところが“Windowsのインストール前に作成されたファイル”が残ってしまうことがあるようだ。 “Windowsのインストール前に作成された
ここ暫くAndroidアプリケーションをマーケットに登録するのに色々と忙しかった。 Androidマーケットへのアプリの登録は色々なブログ等で説明されているので、ここで書くことはない。が、ただ一つだけ、どの記述を見ても良く解らないことがあった。 アプリの登録ページの中ほどに マーケティングの除外: □ Android マーケットや Google 所有のオンライン/モバイル サイト以外ではアプリケーションを宣伝しません。この設定への変更が有効になるまでに 60 日程度かかることについて了承しています。 という箇所がある。この意味が分からなかった。Androidマーケット以外で私が宣伝するしないを決めるということで何が違うのだろう? iPhoneとの共通アプリに差別化するためなのだろうか? Androidマーケット専用で登録すると何かメリットがあるのだろうか?(逆にAndroidマーケット以外
LinuxでソフトウェアRAIDを実現するmdadmは以前から使っていた。本格的にビジネスでRAIDを構成するのであればRAIDカードなどのハードウェアを使うだろうからmdadmは個人が安価にRAIDマシンを実現するのに使われることが多いのではないだろうか。私もその一人だが。 一方でmdadmを次のようにインストールするとメールシステムのパッケージとしてpostfixがセットでインストールされる。 # apt-get install mdadmところが個人でコジンマリと使うにはPostfixは大げさになってしまう。自宅に本格的なメールサーバでも立てて無い限り、返って設定が大変だと思う。Postfixの豊富な機能は使わずに利用しているプロバイダへ中継する機能だけを使いたい。 現在、mdadmは使っているのだが、当初の設定時に時間が無く、メールの設定は省略してしまった。(mdadmをインストー
Windows 7の64bit版でもCanonのプリンタ、PIXUS iP4100をローカルに(直接USBなどで)PCに接続している場合は問題なく使える。プリンタを接続するとOSが勝手にWindows Updateからドライバを探してインストールしてくれるようになっている。(そのためキャノンのホームページでは個別に64bit版Windows 7のドライバの配布は行っていない。) 問題になるのは、他のPCに接続されているPIXUS iP4100をネットワークで共有して、Windows 7 64bit版のPCから使えるようにする場合である。 色々、試行錯誤した。 で、ふと、あることに気がついた。Windows 7でも32bit版であれば問題なく共有できる。Windows 7のPCからエクスプローラでプリント・サーバのPC(例えば \\PrintServer とか)を表示して、そこにあるプリンタ
Linuxを使ったネットワークブートで一般的に使うのはsyslinuxによる2次ローダとそれに続くOS本体のダウンロードだろう。syslinuxを呼び出すまでにはDHCPとtftpという仕組み(総括してPXEと呼んでいるが)を使っているが、これについての工夫は別に紹介するとして、まずはPXEで呼び出されたsyslinuxの設定ファイルの構成に関する工夫についてメモっておく。 ここではsyslinuxの中でもPXEブートに関する設定に絞っている。つまり標準で、/tftpboot/syslinux/pxelinux.cfgディレクトリの下のファイル構成が中心となる。 PXEブートにより各クライアントからの要求に対して、“その”クライアントに対する設定ファイルを用意することで、クライアント毎に違うブート設定を実現できる。クライアントの区別は、クライアントのMACアドレス、もしくはIPアドレスで行
はてなフォトライフなど大量の画像データを無料で預かるサービスが多い。そこで画像データとしてプログラムをはじめバイナリデータやテキストデータを保存するプログラムを作ってみた。コンセプトしては昔からあるので別に新しいものでもないし、Windowsでは色々なフリーソフトがるようだ。ここでは、あくまで個人が気楽に使う意味で(お遊びで)、簡単なシェルスクリプトとして組んでみた。 まだ、完成度がかなり低く、ブログに載せるのはどうかな、と思ったのだが、ちょっと忙しくなりそうで、今書いておかないと忘れてしいそうなので。まだまだバグが潜んでいそうだが、それは御愛嬌で。 ■ 概要 tar(tape archive)をもじって“bar”(bitmap archive)という名前で作ったみた。例えば、 $ bar -cf files.png file1 file2 file3 ....という風に使う。勿論、ディレ
Androidのメソッドの一つにfinish()というのがある。これはアクティビティを終了させたい時に呼び出す。のだが、気をつけないとハマるので、ちょっと注意が必要。 finish()を呼び出すとexitのようにプロセスが終了するかと思えば、そうではない。アクティビティは“停止状態”になり、(AndroidOSつまりLinuxの)プロセスとしては生き続けている。 試しに次のような簡単なプログラムを作ってテストしてみよう。 package com.example.android.finishtest; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class FinishTest extends Activity { @Override public void on
Linuxの“casper”(キャスパー)という仕組みは使いようによっては大変便利だということが分かった。“casper”というとライブCD/DVDを実現したり、USBブートを実現するためにあると思いがちだが、通常のHDDからのブートにも使える。casperブートしている間に加えられた変更は、次回のブートで“無かったこと”にできる。 例えば“ちょっとソフトをインストールして試してみたい場合”とか“ルートファイルシステム(例えば /dev/sda1)のイメージダンプを取りたい場合”とかに使える。ソフトのお試しであれば、仮想マシンでスナップショットを取って後ででrevertする方法もあるが、仮想マシン環境を構築していない場合や、物理マシンで試したい場合もある。こういった時にcasperブートが便利だ。また、ルートファイルシステムのイメージダンプはライブDVDなどで立ち上げないと取れないが、ca
Android SDKのサンプルSampleSyncAdapterを読んでみたのだが、結構初心者には難解なコードだった。SampleSyncAdapter自身はAndroidが提供する2つの機能を使って実現している。1つはインターネット上のサービスなどにログインするアカウントの管理機能を提供するAccount Managerと、もう一つはデータの同期を実現するSynchronization Manager。サンプルプログラムとしてはこれらの2つの機能を組み合わせた方が現実的なサンプルになるのだが、両方の機能の詳細を理解していない初心者には難解になってしまう。 補足:2010/10/17 このサンプルがとっつき難い理由として、どうやって動かすか解らない、という面もあった。 SampleSyncAdapterの動かし方については“Android SDKのSampleSyncAdapterの使い
以前、Ubuntu 8.04にVNCをインストールしてからは安定して動いていたのでOSのバージョンアップとかはしていなかった(以前のメモ→“VNCサーバの設定”)。Ubuntuの新LTSも出たので新規にUbuntu 10.04にVNCをインストールしてみたのだが、色々と変わっていた。特にダメダシは“ここ”ということで、なんと10.04のGNOMEではXDMをサポートしてない。つまりvino(Ubuntuではリモートデスクトップと呼んでいる、Windowsで言うところの“リモートアシスタンス”)はサポートしているが、XDMを利用したXvnc(Windowsで言うところの“リモートデスクトップ”)はサポートしなくなってしまった。言い換えると、現在ログインしている状態であればVNCを使ってアクセスできるが、ログイン待ちの状態ではアクセスできないということになる。これではリモート(外出先)から頻繁
Androidのサービスについて、ちょっと調べてみた。 サービス自身を、それを使うActivityと一緒のアプリケーションとして使うローカルサービスと別のアプリケーションとして動かすリモートサービスがあるようだが、今回はローカルサービスについて。 【補足:2010.09.17】 Remote Serviceについては“AndroidのRemote Serviceについて(+作り方)”にメモしておいた。(ただし、Service全般とLocal Serviceについてはここにメモしている。) Androidのページ:http://developer.android.com/intl/ja/reference/android/app/Service.htmlに詳しく書いてある。要点だけを私なりにまとめてみた。(といっても和訳らしきものになってしまったが、和訳するつもりではないので、内容の正確さは
Android SDKに入っているサンプルを読む。今回はBackupRestoreActivity。 BackupRestoreActivityはAndroidのBackup Serviceを利用するサンプル。Backup ServiceはAPI Level 8から追加された機能でアプリケーションの持つデータを“クラウド”上に保管するサービス。この機能を使うことで、アプリケーションを一時的に削除(アンインストール)した後、再インストールしても以前のデータを利用できる。これは、端末を買い換えてアプリケーションを再インストールした場合にも利用できる。 http://developer.android.com/intl/ja/guide/topics/data/backup.html 開発ガイドのサンプルでは、ゲームの最高得点のデータを保存するサンプルを挙げている。 SDKのサンプル、Backu
Androidのアプリケーションの真髄はクラウドと連携する機能だと思う。認証機能であったり、データの同期機能であったり。そういった意味ではSDKのサンプル、SampleSyncAdapterは初心者としては読破しておかなければならないプログラムだろう。ところが、“Account Managerについて”にも書いたが、SampleSyncAdapterは初心者には解り難い。認証や同期、サービスやプロバイダが絡み合っているアプリケーションである、と言う事もある。しかし何よりデバイスにインストールしても何のアクティビティも起動してくれない、というのが初心者には分かり辛いところだろう。私はこのアプリケーションをどうやって利用するのか中々解らなかった。しかし、“よく分からないから飛ばしちゃえ”という性格でもないのでネチネチと調べてみた。で、ようやく動かすことができた。 実際に、このサンプルをどの様に
ローカルサービスについては“AndroidのServiceについて”に書いたので、ここではリモートサービスについて書き留めておく。ここで取り上げるリモートサービスとはサービスとサービスを呼び出すクライアントが別々のアプリケーションとして動作しているケースを指す。(後で実際に動かしてみたサンプルを載せておくが、サービスとクライアントは別々のアプリケーション、別々のパッケージとして動かしている)。 基本的はローカルもリモートも同じサービスには変わりないのでstartServiceでサービスを起動、stopServiceでサービスを終了、bindServiceでサービスとの接続を確立、unbindServiceでサービスとの接続を切断、というのは全く同じ(詳しくは“AndroidのServiceについて”参照)。 ただ、リモートサービスの場合は、サービスのオブジェクトを直接参照したりメソッドを呼
“入門 Android 2 プログラミング”を読んで結構参考になった。個人的にはプロバイダやサービスの仕組みに興味があったので、本書を参考に自前でゼロから組んでみた。先ずはプロバイダを作成してみたのだが、Eclipseでの簡単設定方法とサンプルプログラムについてメモしておく。 自分でゼロから作ってみて気が付いたのだけど、“入門 Android 2 プログラミング”にあるサンプルはもっと本格的なアプリケーションから不要なところを削除して書かれたようだ。そのために不要なコードが残っていたり、簡単なコードもわざわざメソッドにデレゲーションしているので、返って読み難い部分もあった。そういった部分もまとめて、ほぼ骨組みだけのコードで組んでみた。 ■ Eclipseによるproviderの構築 前提として次のようなアプリケーションを作成する。 プロジェクト名: Provider_Skeleton_1
最小限の設定で“おうち用(もしくはSOHO用)”DNSサーバを立ててみた。 DNSサーバはPCが数台のネットワークでは余り使う機会はないと思う。それ程必要性が無いのに加えて設定がややこしい。しかし、仮想マシン環境を使い始めたため、実マシン、仮想マシンを合わせると、おうちの中にPCが10台近く存在することになった。(例えば、“Private Access Serverを作る”の様に幾つかの仮想マシンをサーバとして使ったりもしている。) また台数の問題だけでなく、仮想マシン環境だと手軽に暫定的なマシンを作ることができ、他の仮想マシンや実マシンと通信するために、その度にhostsファイル等の設定が必要になってくる。 PCが数台であれば /etc/hsots や C:\WINDOWS\system32\drivers\etc\hosts を書き換えたりコピーしても大した手間ではなかったが、上のよう
“ディスクレスXPの実現”でXPをディスクレスで使う方法をメモしたが、その時点ではWindows 7をディスクレスで動かすことができなかった。しばらく放っておいたのだが、空いた時間が出来たので再度トライしたら、すんなりと出来てしまった。以前は何が悪かったのか、皆目見当がつかない。前回と今回で唯一違うとするとiSCSIターゲット(サーバ)がUbuntu 10.04かUbuntu 8.04かの違い位しか思い浮かばないのだけども、それが原因とは思えない。 まっ、結果オーライということで、Windows 7のディスクレス・インストールの方法をメモしておく。と、言っても前回のXPのディスクレス化と同様、gPXEとiSCSIを使う。殆んどが重複するが、あっちを見たり、こっちを見たりでは不便なので、重複部分も再度メモしておく。なお、基本的には、 http://www.etherboot.org/wiki
“風が吹けば桶屋が儲かる”ではないが、一見関係ないようだが“DNSサフィックスを忘れるとネットワークプリンタへのアクセスが遅くなる”といういう話。 もうすぐWindows 7が出てくるでだろうという今になってやっとVistaを使い始めた。普段の仕事には全くVistaの必要性を感じてなかったためズーッとXPを使っていた。新しいカスタムPCにVista Ultimateをインストールして、他の環境も整え始めた。 ところが、ネットワークプリンタへのアクセスが異常に遅い。プリンタにアクセスするまでに55秒以上かかる。 最初、この症状を見つけたのは“筆まめ19”をインストールした時だった。住所録ファイルを開こうとすると開き終わるまでに約58秒かかった。これでは使い物にならない。メーカーのホームページにはそれらしい情報もなかったが、ネットで調べるとネットワークプリンタを直付けにしたら直ったというQ&A
Android SDKを使おうと思ってWindows XPにSDKをインストールしたのだけども“遅い”。Windows7のお試し版(ライセンス認証前)にインストールしてみたのだけどもやっぱり遅い(多分Vistaは論外だろう)。Windowsはオーバーヘッドが大きいのかな、と思いUbuntu 10.04にインストールしてみたら結構スイスイ動く。やっぱOSは軽くなければ、ということでUbuntu 10.04へのAndroid SDKのインストールについてメモしておく。 なお、Androidの手順書から外れて、私はJavaとeclipseは指定のホームページからダウンロードしたものではなく、Ubuntuのパッケージを利用した。そのため、JavaはSun(オラクル)版ではなくOpenJavaを採用している。また、eclipseもUbuntuのパッケージとして配られてるものなので、インストール(の場
あるフリーウェアのインストール用bashプログラムを見ていたら次の様なものがあった。(以下の例は簡略化してある。) STRING="abc" if [[ "$STRING" =~ "^ab[cd]$" ]]; then echo "matched" else echo "unmatched" fi if文の条件表現の中に“=~”というオペレータがある。manを見ると =~ オペレータは文字列を正規表現と比較するとある。知らなかった。bashの文字列比較で正規表現が使えるとは。私は正規表現比較が必要な時はgrepに喰わせて判断していたのだが、これを使えば簡単にできる。 ところが、だ。上のプログラムが期待通りに動かない。上の例では =~ の左辺と右辺の正規表現はマッチするはずだが、結果は“unmatched”。色々と正規表現を変えてみたが、どれとしてマッチングしない。しかし、if文を次のように
Windows 7をインストールしていてホームディレクトリをC:\Users\Adsariaから別の場所へ移したいと思って色々とやってみたのだが、やっぱりActive Directoryが無い環境だとプロファイルやホームディレクトリを簡単には変更できないようだ。ユーザのプロパティでホームディレクトリを別のパスに指定しても殆ど意味がない。 また、Windowsの場合、絶対パスに依存したり、環境変数を見ていないアプリケーションもチラホラあるので安易にパスを変更したくない。Windowsでは、アプリケーションのインストールなどもできる限りデフォルトのフォルダを使うのが安定して動かす心得の一つと思っている。 そこで色々と調べていくと“シンボリック リンク”というものがあるのが分かった。恥ずかしながら今まで知らなかった。これまで“あぁ、ショートカットのことを偉そうに言っているのだろう”と思ってロクに
gPXEとiSCSIを使ってWindows XPをネットワークブート(ディスクレスブート)する実験(くわしくはここ)の次にWindows 7をディスクレス・インストールしようとしてちょっとハマってしまった。その過程で、VMwareの仮想マシン(ゲストマシン)のBIOSを変更したり拡張できることが分かったのでメモしておく。 ここではBIOS全体を変えるのではなく、ネットワークカード部分のBIOS(いわゆるnbios)をVMwareの標準のAMD PCNET32(Am79C970A)からgPXE対応のEtherboot ROMに変更する方法を載せておく。 最初にgPXE対応のEtherboot ROMのバイナリイメージを次のページからダウンロードする。 http://rom-o-matic.net/gpxe/gpxe-1.0.0/contrib/rom-o-matic/ ここで、 1. Cho
iSCSIとgPXEを利用して念願のWindows XPのネットワークブートを実現した。(“LinuxのPXEサーバからディスクレスWindows XPを”に書いたように、XPの限定仕様であるBartPEをRamDiskを使ったブートには以前、成功していたが、本格的なXPの利用とまではいかなかった。) ■ 概要 大まかな流れは以下の通り: ディスクレス化するXPの用意 iSCSIターゲット(ストレージサーバ)の設定 PXEサーバの設定 ディスクレス・クライアントの設定 参考(gPXE):http://www.etherboot.org/wiki/howtos 参考(iSCSI):http://iscsitarget.sourceforge.net/ gPXEはPXEを拡張したブート機能を提供する。通常のPXEでiSCSIプロトコルを使ったブートとかはできないが、gPXEをつかうことで可能と
次のページ
このページを最初にブックマークしてみませんか?
『adsaria mood』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く