Tag Archives: OS X

[sh] オレオレ証明書作成シェルスクリプト

Pocket

すぐに作り方を忘れるので、シェルスクリプトを記録しておく。
変数OPENSSLにopensslをフルパスで与えること。
あとはchmod 755して実行すればカレントディレクトリにserver.crtとserver.keyができる。
おまけでDHパラメータ、dhparam.pemもできる。

参考
http://d.hatena.ne.jp/rikunora/20120514/p1
http://qiita.com/kunichiko/items/12cbccaadcbf41c72735

sublimetext3でフォントを変えるには

Pocket

https://www.sublimetext.com/docs/3/font.html を参照。

Preferences > Settings – User と進み、表示されたファイルに設定を書き込む。
書式は以下の通り。

私の設定ファイルの例。

以上。

sublime textのpackaging controlをproxy越しで使うには

Pocket

proxy越しのpackage control(最初のインストール)

package controlインストール用のコードを修正する。
定石通り、以下からインストール用コードをコピー。

https://packagecontrol.io/installation

コードの中身をよく見ると、urllib.request.ProxyHandler() というのがあるはず。

以下は例(見やすいように改行、インデントを加えてあります)

このカッコのなかにdict型でproxyなどの設定を記述する。
書式は下記の通り。
http用、https用の二つを。

proxy越しのpackage control(packageインストール向け)

https://packagecontrol.io/docs/settings

以上の通り。

Preferences > Package Settings > Package Control > Settings – User と進み、表示されたファイルに設定を書き込む。
書式は以下の通り。

変更例は以下の通り。

以上

rsyncのディレクトリ指定でエスケープの必要な文字を含めるには

Pocket

先に結論:ダブルクオーテーションで括ればよい。

rsyncの対象ディレクトリでカッコ「()」など、エスケープの必要な文字の含まれているケースがある。
たとえば、Sambaでサービスしている共有フォルダとか。
そのままディレクトリ名をrsyncに与えてしまうと、とても面倒なことになる。

どうするか。
ダブルクオーテーションで括ればよい。
ふむ。よろしい。
ではディレクトリがリモートにある場合、どこからどこまでを括ればよいの?
以下の通りである。
192.168.1.1にsomeoneでログインした先のディレクトリを手元にsyncする場合。

参考
http://serverfault.com/questions/234876/escaping-spaces-in-a-remote-path-when-using-rsync-over-a-remote-ssh-connection

以上。

[メモ] Windows, OS X(Mac)でフォルダ/ファイルのパスをクリップボードにコピーする

Pocket

たとえば仕事上、共有サーバにあるフォルダのパスを知らせたい、ということがある。
こういう時のために、フォルダのパスを簡単にクリップボードへコピーする方法を示す。
Windows, OS Xの両方向け。大盤振る舞いである。
OS Xでは追加のツールも要らない方法です。

Windowsでの方法

こちらは簡単。
対象フォルダをSHIFT+右クリックして出てくるメニューからコピーを選べばよい。
ただの右クリックでは出てこないところが憎らしい。
ただ、ダブルクオーテーションで括られる点に注意。

pathcopywindows

OS X(Mac)での方法

Automatorを使う。
Launchpadの「その他」の下にある。

Automatorの設定方法

起動時の選択では「サービス」を選ぶ。

CopyPathToClipboardOSX
「アクション」では「クリップボードにコピー」を探す。
「クリップボード」あたりで検索するとよい。
「クリップボードにコピー」を、画面右側にドラッグ・アンド・ドロップ。
「サービスは、次の選択項目を受け取る」では「ファイルまたはフォルダ」を。
「検索対象」では「Finder」を選ぶ。
メニューバーの編集から保存で「Copy Path to Clipboard」とでも名前を付けて保存。

使いかた

Controlキーを押しながらフォルダをクリックでメニューが開く。
さっき追加した「Copy Path to Clipboard」があるはず。

OSXCopyPath

以上。

[メモ][OS X] Sublime textでShift-JISを扱うには

Pocket

Sublime textはOS Xで使えるテキストエディタ。
Shift-JISが読めないが、Pluginで対応できる。
Pluginの名前はConvertToUTF8。
「import」などせず、Pluginをダウンロードして突っ込む古式ゆかしい方法を示す。

なお、sublime text3の場合はcodec33も必要。

方法

公式サイトからダウンロードする。
伸長(解凍)後、Sublime textのパッケージフォルダにコピーする。
Sublime textを再起動。

公式サイト

https://github.com/seanliang/ConvertToUTF8

画面右にあるDownload ZIPをクリックしてダウンロード。

パッケージフォルダへのコピー

ConvertToUTF8-master.zip を展開、フォルダをConvertToUTF8に変更し、パッケージフォルダにコピーする。
パッケージフォルダは、Sublime textのpreferences.. から Browse Packagesで確認できる。
私の例で言えば、パッケージフォルダは以下のとおり。

/Users/<user name>/Library/Application Support/Sublime Text 2/Packages

Sublime Textを再起動

以下のようにShift-JISで開けるようになる。
sublimeTextShiftJIS

[メモ] wxPythonがOS Xにインストールできない(解決)

Pocket

wxPythonはWindows, OS X, LinuxなどOSを問わずGUIアプリケーションを作ることのできる超絶ありがたいツールである。
あるのだが、OS Xにインストールしようとすると、イメージが「壊れているからインストールできません」と来る。
スクリーンショット 2014-09-19 13.40.54
実はこれ、壊れているのではなく、単にサインされていないだけである。
解決法を示す。

システム環境設定の「セキュリティとプライバシー」から「一般」に進み、「ダウンロードしたアプリケーションの実行許可」で「すべてのアプリケーション」を選べばよい。
スクリーンショット 2014-09-19 13.40.09
インストールし終わったら元に戻しておこうな。

http://stackoverflow.com/questions/21223717/install-wxpython-on-mac-os-mavericks

[メモ][Python][SQLite] 巨大なSQLiteデータベースからレコードを取り出すには

Pocket

PythonでSQLiteのデータベースからデータを抜き取るときには何種類か方法がある。

  1. fetchallで一気に取得する方法
  2. fetchoneを繰り返す方法
  3. fetchmanyで数行ずつ取得する方法

である。

fetchoneはダルいから、いままではfetchallを使っていた。
単純に気持ちの問題なんだけれども、根こそぎぶっこ抜いてリストにいったん入れてしまえば、あとはフッツーのPythonで流儀で操作できるからである。
しかし。この方法には問題がある。
fetchallで全部を取り出した先はどこかと言えば、メモリである。
つまり、データベースが巨大になるほど、メモリをバカ食いするわけである。
これはたまらん。

そこで以下のようにする。

データベースから1000行ずつ取り出し、かつ、1行ずつyieldする。
メモリ使用量も抑えて、かつスピードも出る方法である。

元ネタは以下。
Use generators for fetching large db record sets (Python recipe)
http://code.activestate.com/recipes/137270-use-generators-for-fetching-large-db-record-sets/

[メモ] sambaのパスワードファイルに登録されているユーザ一覧を表示するには

Pocket

smbpasswdにはそういった機能がない。
pdbedit -Lを使う。

pdbeditとは

manによれば「SAM database(sambaユーザデータベース)を管理するコマンド」

ユーザデータベースに登録されているユーザアカウントをすべて表示する。
「ユーザ名:uid:フルネーム」という書式で表示。
以下、実行例はすべてmanから。

-vを付けると詳細に。

そのほかのオプションはpdbedit –helpあるいは、もちろんman。

Pythonがあればwebサーバを動かせる件について

Pocket

Pythonがあれば、webサーバソフトウェアを追加することなくwebサーバを立ち上げることができる。
たいへん便利なのでメモしておく。

書式

Python 2.xの場合、以下のようにすると、「カレントディレクトリ」をwebサーバとして公開する。
ポートは8000。
つまりアドレスはhttp://<当該ホスト>:8000/となる。
なお、8000なので起動はスーパーユーザじゃなくても平気。

Python 3.xの場合。

 

実行例

下記のようなindex.htmlを用意する。

pythonでwebサーバ起動。
2.7.6なので、python2の書式ですな。

w3mで繋いでみると。

おお。
sockstatの結果は以下の通り。