2016-02-06

Macで特定のユーザーをログイン画面から消したい

Macで特定のユーザーを、ログイン画面に表示しないようにする方法がある。https://support.apple.com/ja-jp/HT203998

PostgreSQLをインストールしたときに、PostgreSQL用のユーザーを作った。しかし、それがログイン画面に出てくるのが鬱陶しいので消したい。ユーザーを削除したいわけではなくて、ログイン画面に表示されないようにしたいだけ。 次のコマンドで非表示にできるはず。(「postpres」のところは、非表示にしたいユーザー名)
sudo dscl . create /Users/postgres IsHidden 1
  このコマンドを打った後で、ログインウィンドを開いたら、ちゃんとユーザーが消えている。

2016-02-05

ApacheのVirtualHostの設定で、ServerNameにもServerAliasにもヒットしない場合

ApacheのVirtualHostの設定で、ServerNameにもServerAliasにもヒットしない場合は、最初に設定されたVirtualHostが使われる。このことは公式ドキュメントにも書いてある。
リクエストが来ると、サーバはまず最初に <NameVirtualHost> にマッチする IP アドレスかどうかをチェックします。マッチすれば マッチした IP アドレスの <VirtualHost> のそれぞれのセクションの中から ServerNameServerAlias に要求されたホスト名があるか探します。 見つかればそのサーバ用の設定を使います。マッチするバーチャルホストが見つからなければ、マッチした IP アドレスの リストの最初にあるバーチャルホスト が使われます。
 思ったように動いてくれないと思ったら、設定ミスってて
「見つからない場合は、リストの最初にバーチャルホストが使われる」っていうルルールが効いていた。

あと、複数のDjangoをVirtualHostを使って動かす場合は、mod_wsgiで、daemon modeってやつにしないといけない。これの設定がちょっと大変。

2016-02-04

MacのApp Store設定で「新しいアップデートをバックグラウンドでダウンロード」はOFFっとく

WindowsからMacに切り替えてずいぶん長いこと経つ。もうWindowsの使い方は忘れてしまった。けど、まだMacのことがよく分からないときがある。

今回失敗したのは、App Storeの自動アップデート関連。システム環境設定 > App Store で設定するやつ。「アップデートを自動的に確認」をONにしていたのはいいんだけど、「新しいアップデートをバックグラウンドでダウンロード」もONにしていたのが良くなかった。

モバイルルータでインターネットに接続しているのにも拘らず、4ギガ以上あるXcodeをアップデートしようとバックグラウンドでずっと動いていた。で、ファイルが大きすぎて途中でエラーになる。この繰り返し。モバイルルータの通信容量の制限をオーバーしてしまいそうな勢い。今月は始まったばかりなのに。

というわけで、モバイルルーターを使うのなら、 「新しいアップデートをバックグラウンドでダウンロード」はオフっておいたほうが良い。そうすると、「自動アップデートをONにしますか」ってよく尋ねられるけど、断る。

2016-02-02

mkvirtualenvのとき --always-copy しておきたい

Macで、virtualenvwrapperというのを使って、複数バージョンのpythonを管理している。プロジェクトごとにsite-packageを管理できたりして便利なやつだ。
これで仮想環境をつくるとき、
mkvirtualenv --python=python3 --always-copy project_name
みたいに引数に、--always-copy を入れておくと良さげ。

というのは、MacでHomeBrewを使ってPythonを入れていると、古いバージョンのPythonがなくなって困る可能性があるから。

2015-09-04

submitボタンが2つある場合にどちらのボタンが押されたのか判定する

htmlのformに、submitボタンが2つある場合に、どちらのボタンが押されたのか判定するには、サーバー側でどうやればいいんだっけ?

<form>
    <input type="submit" name="btn1">
    <input type="submit" name="btn2">
</form>

みたいに、name属性をつけとけば、サーバー側(Djangoを使ってるとして)で、request.POST.get("btn1") の値が空かどうかで判定できる。

Bootstrapのテーマとかスニペットとか

Bootstrapのテーマ集
http://bootswatch.com/

テンプレート集
http://www.bootstrapzero.com/

スニペット
http://bootsnipp.com/

http://snipplicious.com/

有料のスニペットとテーマ
http://bootdey.com/

モックをつくるためベクター画像
http://bootstrapuikit.com/

2015-09-02

lxmlのインストール失敗 fatal error: 'libxml/xmlversion.h' file not found

lxmlをインストールしようとしたら、
fatal error: 'libxml/xmlversion.h' file not found
とかいうエラーになる。python3.4で、MacのOSX10.10。

英語だけど解決には、このページが参考になりそう。http://stackoverflow.com/questions/19548011/cannot-install-lxml-on-mac-os-x-10-9

まずは、ターミナルで、
$ xcode-select --install 
とやってみる。なんかダイアログがでてきて、xcodeをAppStoreからインストールするかどうか聞かれる。xcodeはインストール済みなので、コマンドラインツールだけをインストールするために[インストール]ボタンを押した。

で、再挑戦 $ pip3 install lxml

成功したっぽい
Successfully installed lxml