Unixで今使っているコマンドシェルを調べる方法

Unixマシンで使えるコマンドシェルには、bashやcsh、zshなど様々なものがありますが、いろいろな環境を触っていると自分が使っているマシンが果たしてどのコマンドシェルを使っているのかわからなくなる時があります。

$shellという変数を表示させて調べることもできますが


% echo $shell
/bin/csh

 

環境によっては値が設定されていない場合があります。

 

また、/etc/passwdを見てみるという手もあります。


cat /etc/passwd | grep myaccount 
myaccount:*:1156:1000:User &:/home/myaccount:/bin/csh

 

その他に、次のコマンドでも調べることができます。


ps -p $$

 

$$は現在のプロセス、つまりコマンドラインであれば、コマンドシェル自体のプロセスIDを示す特殊変数ですが、これをpsコマンドのpオプション 使って渡して、コマンドシェルの情報を表示させています。

Kindleの無料漫画を紹介するサイトを作りました。

その名もFreedle(笑)
紹介といっても無料のKindle本(漫画)をたんに一覧表示するだけです。


無料漫画はKindleストアで調べられるのでそんなにお役立ち感は無いんですが、ちょっとだけシンプルで使いやすくなってるかもしれません。たぶん...

Laravel5というPHPのフレームワーク(便利!)の勉強がてら作ってみました。

よかったら使ってみてください。


漫画の情報(タイトル、画像のURL、著者、出版社、説明文等)は、AmazonのProduct Advertising API を使って取得しています。このAPIにしろ、AWS関係の日本語のドキュメントがいつのまにかだいぶ充実していますね。前はドキュメントが英語だらけで読むだけでめげそうな雰囲気だったんですが、また使ってみようかなという気になりました。

本体温度が下がるまでお待ちください。

先日、電気ストーブにあたりながらバソコンを操作していたら、スボンのポケットに違和感が...


手を突っ込んでみると、異様に熱くなったiPhoneが。ストーブに近すぎてiPhone本体が熱くなってしまったようです。


画面がこんな表示になってました。


iPhone_heat.png


そういえばたしか以前もこんな状態になったことがあって、その時は車で運転中にiPhoneのマッブのナビ機能を使おうと エアコンの送風口にあるカップホルダーに iPhoneを立てて入れてたんですが、エアコンの熱にやられて、たしかこんな画面が出てきました。


こうなってしまったら、あわてずさわがず、本体を涼しいところに置いて冷めるのを待ちましょう。別の情報によると冷蔵庫で冷やすといいらしいという話もありますが、今は冬なので普通に冷たい部屋に置いとけば良いと思います。

Macでファイルを移動する2つの方法

MacのFinderを使ってファイルを移動する方法について紹介します。


Windowsの場合、エクスプローラーを使ってファイルを別のフォルダへコピーしたり移動したりできますが、Macでも同様にFinderを使ってファイルの移動やコピーができます。
以前は、ファイルを移動するにはFinderで2つのフォルダウィンドウを開いて、一方からもう一方へドラッグする必要があったのですが、今のOSXでは、Windowsのカット&ペーストと似た操作で移動できます。


【方法1】

  1. まず、Finderで対象となるファイルのあるフォルダを開いてファイルを選択し、「右クリック」若しくは「control + 左クリック」でコンテキストメニューを表示させ、コピーを選びます。ショートカットキーの「command + C」でコピーしてもOKです。

    file_move1.png

     

ブラウザの選択を禁止する

ブラウザ上でマウスをドラッグすると内容が選択されてコピーしたりできますが、

ss-copy.png

ドラッグだけでなくダブルクリックでも選択されてしまうので、Webアプリ等の場合はこの挙動が邪魔になる場合があります。

選択をできないようにするには以下の方法があります。


JavaScriptを使う

onselectstartイベントでfalseを返せば選択できなくなります。


document.onselectstart = function() {
  return false;
}

JQueryを使う場合はこんな感じで

Xcodeの便利な機能

前回の記事で別のソースを簡単に探す機能を紹介しましたが、今回もちょっと便利な機能を紹介します。

ソースに記述された宣言等を簡単に参照する機能です。


1.「command」キーを押しながらクリック

ソースの適当な場所、例えば、プロトコルへの適合を記述した部分等で「control」キーを押してみてください。

ss-command.png

マウスカーソルが、手の形に変わりクリックできるようになります。クリックするとその宣言されているソースが開き、該当の場所へジャンプすることができます。これでどのようなメソッドが定義されているか簡単に調べたりできます。


他にも変数名の上で同様にすると、その変数の宣言場所へジャンプできます。

Xcode5で別のソースを素早く参照する方法

いつのバージョンのXcodeから実装されていたのかわかりませんが、今日Xcodeの便利な機能が分かりました。


ソースの編集中に、別のソースの内容を参照したくなる時があります。画面左側のプロジェクトナビゲータから探してクリックして選び直してもいいんですが、ソースの数が増えてくると目的のソースを探すのが大変になってきます。

そんな時はキーボードで、


「Command」+「Shift」+「O(オー)」

を押して、表示された小窓で目的のソースファイル名を入力してやるといいです。ソースファイル名といってもインクリメンタルサーチで部分一致するものを一覧表示してくれるので、5,6文字タイプしたところで後は一覧から選ぶだけでオッケーです。入力が終わったらEnterを押せば、そのソースを表示してくれます。

ss_popup.png

プロジェクト内のファイルに限らず、フレームワークのクラスや、メソッド名等も探すこともできます。

UIAlertViewのキーボードタイプを変える

iPhoneアプリでユーザに確認を求める場合等によくUIAlertViewを使います。


UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"削除の確認"
                                                    message:@"本当に削除してもいいですか?"
                                                   delegate:self
                                          cancelButtonTitle:@"はい"
                                          otherButtonTitles:@"いいえ", nil];
[alertView show];

confirm.png

HTTPのページからJavaScriptでHTTPSで通信する方法

今回は久しぶりにWebネタです。

HTTPのページからHTTPSを使ってJavaScriptでサーバと通信するのは特に問題無さそうにも思えますが、普通にAjaxを使おうとしても拒否されてしまいます。

 

CoreTextを調べてみた

CoreTextというのは、OSXやiOSで使えるテキスト描画用のフレームワークです。

iOS3.2の頃から使えていたらしいので特に新しいフレームワークというわけではありません。またiOSの場合はUIKitがテキスト描画もいい感じに面倒みてくれるのであまり使う機会もないように思います。

ただし、CoreGraphicsを使って画像を出力する目的でビットマップコンテキストへ日本語を描画しようとすると文字化けしてしまうので、そのような時にはCoreTextを使うと日本語も描画することができます。(画面への描画は日本語もちゃんと出力されます。また単にテキスト画像を生成する目的であれば、iPhoneで利用できるフォントを調べる(その2)で使ったやり方でも日本語の出力が可能(しかも簡単!)ですが、画像や文字を一緒にビットマップコンテキストへ描画する場合は、CoreTextフレームワークを使った方が便利です。またCoreTextを使うと、矩形だけでなく任意のパスを指定してその範囲に文字列を描画することができます。)