Spotlightとヘルプを積極的に使う時間省略テクニック

普段何気なくしてる操作時間を短縮しよう。(Macユーザ)


1つの操作が1秒短縮できれば、
1日20回出てくれば20秒の短縮でき、
1年で2時間1分40秒も短縮できる。
(という書き出しはありきたりすぎだが・・・)


さて、本題に入る。
Spotlightとヘルプを使った時間短縮法。

アプリケーションの切り替えはSpotlightを使ってしまえ。

たぶん、ほとんどのMacユーザはCommand+tabを使ってアプリケーションを切り替えてると思う。


それでも良いのだが、Command+tabはアプリケーションのマークを見てから、それを選択しなくてはならない。
この視覚認識の時間がもったいない。


ということで、視覚認識を必要としないSpotlightを使おう。

  • SpotlightはControl+スペースで使えるので、そこにアプリケーション名を入れて切り替える。
  • アプリケーション名はすべて入れる必要がなく、キー二回ぐらいたたけばだいたいは出てくる。(何文字入れたら目的のアプリケーションが一番上に来るか覚えておく)
  • 最後にエンター

これに慣れたら相当時間短縮になる。



ショートカットキーを覚えていない場合や、メニューバーのどこに使いたい機能があるのかわからない場合はヘルプを使ってしまえ。

一番良いのはショートカットキーを覚えていることだけど、たまにしか使わないものまで覚えていられない。それにショートカットキーが割り振られていないものもある。
だからといって、メニューバーからマウスを使って機能を探すと時間がかかってしまう。


そこでヘルプを使う。

  • Command+?(Shift)でヘルプに入力できるので、使いたい機能の名前を入れる。
  • 入れたらControl+Nで下にカーソルを移動させることができるので移動してエンター。

(上にカーソルを上げたい場合はControl+P)


これで探す手間が減るので相当時間短縮できる。
ヘルプは使わない人は1ヶ月に1回も使わないけど、
私はこの使い方をし始めてから1日1回以上は使用してる。





iBUFFALO フルキーボード USB接続 パンタグラフ Macモデル ホワイト BSKBM01WH

iBUFFALO フルキーボード USB接続 パンタグラフ Macモデル ホワイト BSKBM01WH

Apple Keyboard テンキー付き -JIS MB110J/B

Apple Keyboard テンキー付き -JIS MB110J/B

Apple Wireless Keyboard (JIS) MC184J/B

Apple Wireless Keyboard (JIS) MC184J/B

ソースに直接ユーザIDやパスワードを打ち込むのをやめてPitを使う。

昔、どうしたらいいですかね?って先輩に聞いたら
「Pit使うと良いよ」と教えていただいて、それ以降Pitを使っている。


Pitはソースに直接書きたく無い情報を~/.pit以下に簡単に保存してくれて便利。
yamlで保存してくれるのでいろいろな言語で使える。
(調べたらPythonRubyPerlPHPでは使える。)


Pythonで使う例

$ EDITOR=vi python

...

>>> from pit import Pit
>>> key = { 'key1' : 'value1',
>>>         'key2' : 'value2'}
>>> Pit.get('title', {'require' : key})


pythonを起動するときにEDITORをviに設定してあげる。


そして上のを打ち込んだらviが立ち上がるので、
そのまま保存して終了(viの保存終了のコマンド :wq)


ちなみに、ここで気をつけておかないと行けないのは
最後に改行とか適当なものをつけて保存しないと、
うまく保存されない。


保存がうまく行くと~/.pit/default.yamlに保存されている。


後は以下のように以下のようにすれば読み込める。

$ python 

...

>>> from pit import Pit
>>> print Pit.get('title')
{'key2': 'value2', 'key1': 'value1'}

参考



体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践

体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践

情報処理教科書 情報セキュリティスペシャリスト 2013年版

情報処理教科書 情報セキュリティスペシャリスト 2013年版

ポケットスタディ 情報セキュリティスペシャリスト

ポケットスタディ 情報セキュリティスペシャリスト

[jQuery/Ajax]POSTでフォームの情報を送信し、jsonのデータを受け取る。

今まではGETを使っていたのだが、
セキュリティの観点からPOSTにしたいと言うことで
フォームの値をPOSTで渡し、jsonの形式でデータを受け取れるようにした。


今まではgetJSONを使っていた。

$.getJSON(
    "/URL",
    {"key":"value"},
    function(data){
        ...
    }
);

引数1はアクセスするURL、引数2は渡すキー、引数3はcallbackしたときに呼び出される関数、
dataは受け取ったjsonのデータ。




POST/Ajax

$.ajax ({
    type: 'POST',
    url: '/URL',
    cache: false,
    data: {'key':'フォームに入力されたvalue'},
    success: function(data, dataType){
        this;
        data = $.parseJSON(data);
        ...
    },
    error: function (XMLHttpRequest, textStatus, errorThrown){
        this;
    }
});


これで、data:{}をPOSTでサーバに渡すことができた。

data = $.parseJSON(data);

は、json形式の文字列を、JavaScriptオブジェクトに変換している。


ちなみにasync:falseを追加することで通信中にブラウザをロックすることができ、
ProcessData:falseでデータを文字列に自動変換することをさけることができる。

必要に応じて使うと良いと思う。



参考にしたページ
jQuery.ajax(options) - jQuery 日本語リファレンス




Web制作の現場で使う jQueryデザイン入門 (WEB PROFESSIONAL)

Web制作の現場で使う jQueryデザイン入門 (WEB PROFESSIONAL)

10日でおぼえる jQuery入門教室

10日でおぼえる jQuery入門教室

jQueryデザインブック 仕事で絶対に使うプロのテクニック

jQueryデザインブック 仕事で絶対に使うプロのテクニック

jQueryクックブック

jQueryクックブック

jQuery ポケットリファレンス (POCKET REFERENCE)

jQuery ポケットリファレンス (POCKET REFERENCE)

vimでデータベースを触る

Vimでデータベース*1が触れないだろうかと
調べてみたらあった。


dbext.vimというプラグインを入れると実行することができるらしい。
早速入れてみた。



dbext.vimで扱えるデータベース

Mysql, PostgreSQL, Ingres, Oracle, Oracle Rdb (VMS), Sybase Adaptive Server Anywhere, Sybase Adaptive Server Enterprise, Microsoft SQL Server, DB2, Interbase, SQLite, SAP HANA, ODBC / Perl DBI


まず以下からdbext_1800.zipをダウンロード。
dbext.vim


解凍すると以下のようなものがあるので、~/.vim/にそのままコピー

├── autoload
│   ├── dbext.vim
│   └── dbext_dbi.vim
├── doc
│   ├── dbext.txt
│   └── dbext_gpl.dat
└── plugin
    └── dbext.vim 


.vimrcにデータベースの情報を記述(今回の場合はMySQL)

let dbext_default_profile=""
let dbext_default_type="MYSQL"
let dbext_default_user="データベースのユーザ名"
let dbext_default_passwd="パスワード"
let dbext_default_dbname="データベース名"
let dbext_default_host="localhost"
"vimに表示する行数設定
let dbext_default_buffer_lines=30 


ちなみに.vimrcに設定を書かなくてもvimで以下のコマンドを実行すれば、
その場で設定できるし、設定してるデータの書き直しもできる。

:DBPromptForBufferParameters

私の場合は、普段よく使うデータベースをデフォルトにしておいて、
別のデータベースを使うときだけこのコマンド*2を打つようにしている。


後はプログラムの編集中だろうが、文章を書いてるときであろうが、

SELECT * FROM テーブル名;

と打って\seと打てば実行(表示)してくれる。


ちなみに、(カーソルが)テーブル名の上で\stと打てば

SELECT * FROM テーブル名;

を実行してくれるので、INSERTのときとかに

INSERT INTO テーブル名

まで書いて\stとか打つと便利。




MySQL徹底入門 第3版 ?5.5新機能対応?

MySQL徹底入門 第3版 ?5.5新機能対応?

基礎からのMySQL 改訂版 (プログラマの種シリーズ SE必修! )

基礎からのMySQL 改訂版 (プログラマの種シリーズ SE必修! )

詳解 MySQL

詳解 MySQL

*1:私の場合はMySQL使用

*2:私のvimの環境ならば:dbpまで打ったら補完で出してくれるのでdbpと覚えている

vimのヤンクとクリップボードを共有

vimのヤンクとクリップボードの受け渡しをしてくれるようにした。


基本的にしたのは.vimrcに設定を記述しただけ。

set clipboard=unnamed,autoselect


これで、ヤンクしたものはクリップボードに送信され、
その逆も自動的にしてくれるようになった。



これで適用されない人は

vim --version | grep clipboard

で-clipboardになっていないか確認。
なっていた場合は、リビルドすれば適用される。


Macユーザの私は-clipboardになっていたのでMacportsを使って以下を実行した。

sudo port install vim +clipboard

参考
vimでクリップボードを使えるようにする



入門vi 第6版

入門vi 第6版

vi/Vim コマンドポケットリファレンス

vi/Vim コマンドポケットリファレンス

viデスクトップリファレンス (UNIX text processing)

viデスクトップリファレンス (UNIX text processing)

vi入門―UNIX Text Processing (NUTSHELL HANDBOOKS)

vi入門―UNIX Text Processing (NUTSHELL HANDBOOKS)

Learning the vi and Vim Editors

Learning the vi and Vim Editors

twitter bootstrapにて、アイコン(icon)が表示されない問題

twitter bootstrapのアイコンが表示できないという問題で
時間を費やしてしまった。
しかも初歩的なミスだった。


CSSに関しては適用されているのに

<i class="icon-○○"></i>

だけ適用されなくて困ってしまった。



どうも、ダウンロードした後

<link href="bootstrap.min.css" rel="stylesheet" />
<link href="bootstrap-responsive.min.css" rel="stylesheet" />

...

<script src="bootstrap.min.js"></script>

として、後は要らないだろうと、他のものを削除してしまったのが問題だった。



最終的に再ダウンロードしてtreeコマンドを打ってみると

bootstrap
├── css
│   ├── bootstrap-responsive.css
│   ├── bootstrap-responsive.min.css
│   ├── bootstrap.css
│   └── bootstrap.min.css
├── img
│   ├── glyphicons-halflings-white.png
│   └── glyphicons-halflings.png
└── js
    ├── bootstrap.js
    └── bootstrap.min.js

iconまとめたpngファイルがあったのかよ!となり(当たり前だ)
イコン画像(img/)を入れてあげて問題解決いたしました。

Twitter Bootstrap Web Development

Twitter Bootstrap Web Development

Hello world

print 'Hello world'

ということで、こんにちは。


今日からプログラミングのメモとして、
ブログを書いて行きます。


よろしくお願いします。



以下は学習に使った本

初めてのPython 第3版

初めてのPython 第3版

Pythonスタートブック

Pythonスタートブック

みんなのPython 第3版

みんなのPython 第3版

みんなのPython

みんなのPython

Python入門―2&3対応

Python入門―2&3対応