読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

ブログが書きやすくなるように、Sublime Text3のプラグインを作って、選択した範囲をタグで囲めるようにしてみた。

Sublime Text

ブログを書いていて、文字の色を青くしたかったり、赤くしたかったり、太字にしたかったりすることがあると思います。

そういうときに、はてなブログの記事の編集画面でGUIで青色をつけたり、太くしたりするのは面倒ではないでしょうか?

僕の場合、ブログを書くときはSublime Textなどのエディターで編集してからコピペするので、なおさら面倒になります。

なので、コマンド一つで青文字にするタグで囲んだり、文字を太くするためのSublime Textプラグインを作ってみました。

ネットにはSublime Text2とSublime Text3の情報が錯綜していたのですが、僕が作ったのはSublime Text3のプラグインです。


こんな風に文字を選択して・・・・
f:id:sho322:20150608110500j:plain

「Ctrl + E」を押すと、タグで囲まれます。
f:id:sho322:20150608110509j:plain

どのキーにバインドするかは、自分で設定することができます。

それでは、作り方です。

Tools > New Plugin

で新しいプラグインを作成します。

囲んだ雛形の範囲を

<font color="blue">囲んだ範囲</font>

で囲むSublime Text Pluginを作ってみます。

import sublime, sublime_plugin

class blueCommand(sublime_plugin.TextCommand):
	def run(self, edit):
		selection = self.view.sel()[0]

		selected_string = self.view.substr(selection)

		replaced_string = '<font color="blue">' + selected_string + '</font>'
		self.view.replace(edit, selection, replaced_string )

C:\Users\user_name\AppData\Roaming\Sublime Text 3\Packages\User
以下に保存します。名前は任意です。

User直下に保存するのは望ましくない、というような記述を見つけたので、もう一つフォルダを掘ってもいいかもしれません。

自分はとりあえずですが、User直下にblue.pyという名前で保存しました。

その後、

Ctrl + '`'か、View > Show Console
でコンソールを開き、以下のコマンドを打ちます。

view.run_command('blue')

クラス名がblueCommandなので、「Command」を取り除いた「blue」を引数に指定します。

ちなみに、Sublime Text2まで使われていた、

view.runCommand('blue')

のようにやると、以下のようなエラーが出ます。

AttributeError: 'View' object has no attribute 'runCommand'

run_commandとしなければいけません。

<参考>
http://www.pxt.jp/ja/diary/article/282/

これをKey Bindというショートカットキーと結びつける機能を使って、CTRL + Bを2回押したら囲まれるように設定します。

Preference > Key Bindings User

に以下のように設定します。

[
	{
		"keys": ["ctrl+e"],
		"command": "blue"
	}
]

ググってみると、

{
	"keys": [ctrl+e],
	"command": "blue"
}

みたいに書いてあるのがありますが、Sublime Text3では["ctrl+e"]のように、ダブルクオートで囲まないとエラーになります。

<参考>
http://stackoverflow.com/questions/15046504/trying-to-set-sublime-keymap-getting-a-error-trying-to-parse-file-message


公式のAPIリファレンスはこちらです。
https://www.sublimetext.com/docs/3/api_reference.html#sublime.Selection

こちらを参考に、思いついたものを色々と作っていくことができそうです。
自分でカスタマイズするようになると、エディタがとても便利になりますね!

僕は、太字にするタグ、赤字にするタグ青字にするタグを生成するプラグインをそれぞれ作って、key bindingしておきました。

こんな感じで、楽に色付けすることができます!

AWS Java SDK EC2の情報をプロキシ超えで取得する。リージョン情報を設定する。

AWS

プロキシ内にある環境からAWS Java SDKを使ってインスタンスを操作しようとすると、プロキシの壁に阻まれてしまうと思います。
そういうときは、ClientConfigurationクラスを使いましょう。

下はJavadocのリンクです。
http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/ClientConfiguration.html

以下のように、ClientConfigurationにプロキシの情報を設定すれば、プロキシ越えでEC2を操作することができます。

ClientConfiguration config = new ClientConfiguration();
config.setProxyHost("プロキシのホスト名";
config.setProxyPort("プロキシサーバのポート";
config.setProxyUsername("プロキシサーバのユーザ");
config.setProxyPassword("プロキシサーバのパスワード");

AWSCredentials credentials = new BasicAWSCredentials(key.getAccessKey(),key.getSecretKey());
AmazonEC2Client client = new AmazonEC2Client(credentials,config);
Region REGION = Region.getRegion(Regions.AP_NORTHEAST_1);
client.setRegion(REGION);

clientにリージョン情報を設定すれば、どのリージョンの情報を取得するか指定することができます。
上記のようにプロキシを設定すれば、プロキシ越しでEC2の操作ができます。

自宅の机と椅子を変えたら学習効率が高まって、勉強時間も増えた。

雑談

年末に引っ越しをしてから3ヶ月が過ぎた。
社会人としての年次が上がり、仕事の量も増えた。

帰りの時間は遅くなり、前までやっていた技術の勉強の時間も取れなくなった。

勉強時間が極端に減った理由の一つに、一日中会議をしていて仕事の疲れが出ているというものがあると考えていた。
でも、もしかしたら原因は別のところにもあったのかもしれない。


冒頭に書いた年末の引っ越しの際に、自宅で使っていた大きな机を捨てた。
新しい部屋のスペースを有効活用するためだ。

以前は大きなL字の机を使っていたが、今度は小学校の教室にあった木の机くらいの大きさしか無い。
横幅は狭く、奥行きも短くなった。

机の上にディスプレイは置けなくなった。

奥行きが狭いから、PCのキーボードも置けなかった。
そうして僕の手元は手狭になった。

机は椅子に対して低く、PCを叩くと猫背になった。

Amazonで8,000円で買った机。
スペースを取らず、部屋の有効活用にはよかったのかもしれない。

でも、小さい机はメモリ不足のPCと同じで、僕の作業効率を著しく下げた。


デスクワークをしたい人にとって、机と椅子は生命線だ。
野球選手のバットとグローブと言ってもいい。

こいつをないがしろにするべきではなかったのだ。

ほとんど家で勉強しない3ヶ月を過ごし、ふと思い立って、ニトリに行った。
使っている机よりも30センチ横幅が広く10センチ奥行きがある机を買った。

たった30センチの横幅の差だ。
たった10センチの奥行きの差だ。


椅子は前より少し良さ気な、クッションが聞いたデスクワーク用の椅子を買った。


先週やっと家に宅配されてきて、いざ使ってみると、驚いた。

もう、全然違った!
机に向かっていても全然苦にならない!
なんて快適なんだろう!

前は帰ってきてから机に向かうことになんだか気が向かなかった。

疲れもあったかもしれない。
でも、それ以上に、大事なのは「環境」だった。

机の高さ、広さ、椅子の座り心地。

根性があればこんなの気にしないでなんとかなる、と言う人もいるかもしれない。
それでも、「机で作業する」ということに集中するためには、環境は心地よいものにした方が絶対にいい。

学習を阻害するものには色々とあるけれど、心理的な抵抗を減らす効果はとても大きい。

「新しい机を買ったから頑張ろう」

という気持ちにもなれる。

心機一転机を買い替えて、スッキリとした気持ちで机に向かうことができるようになった。

こんなに違うのかー。


いや~もう大丈夫!

ウキウキしながらキーボードを叩いている自分は、なんて単純なんだろうと思った。

早く机買い換えればよかったな。