2013年の抱負

新年あけましておめでとうございます。

それでは 年末の振り返り の続きを書きます。

ちなみに気になる今年のおみくじの結果は中吉でした。

% python -c 'import random; print random.choice(["大吉","中吉","小吉","凶","大凶"])'
中吉

1. 自分がコミュニティ内外でどうなりたいのかを考え、実行し続ける

まだ何をやるのか具体的には決まっていません。これは年間通して考え、都度実行し続けないといけないなと思っているところです。考えるポイントとしては、「努力するベクトルが目指すゴールと一致していないと意味が無い。」ということですかね。

2. pull request デビュー

単にOSSコミュニティに何か貢献するには何があるかなと思った時にこれかなと思いました。ユーザーとして使用したり、宣伝、布教したり、実際に開発したりと貢献の仕方は様々だと思いますが、今年はコミットしていこうかなと。まずはissue登録からになると思いますが、ぼちぼちやってみたいと思います。

3. イベントスタッフデビュー

2012年は様々なイベントに参加しました。2013年は PyCon APAC も開かれることですし、スタッフとしてイベントに関わりたいと思います。しかし勤務地が遠いという最大の懸念点があります。遠隔で参加できる形を見つける。当日スタッフとして携わる。などという形を考えしっかりと携われるようにして動いていきます。

2013年……

今年は巳年、ということはPythonの年ですね。実は私は巳年で年男になっております。今年は是非飛躍の年にしたいですね。みなさん本年度もよろしくお願い致します:D

2012年の振り返り

つらつらと書いてみます。

2012の抱負

年始めに立てた目標 は以下の通りになります。

  1. Pythonとの親交を深めるためにとにかく「書く」

  2. 身体鍛える

  3. 自分がどうなりたいのかを考え続ける

この点を中心に振り返ってみます。

1. Pythonと親交を深めるためとにかく「書く」

イベントでいうと去年は以下の2つに参加しました。

  • エキスパートPython読書会

  • Python Developers Festa

  • Python 忘年会 in 品川

今年はエキPy読書会、pyfes、Python忘年会に加え以下のPythonイベントに参加しました。

  • PyConJP 2012 + Party

  • Python mini Hack-a-thon(夏山合宿含む)

  • Sphinx + 翻訳 Hack-a-thon

  • TokyoMercurial

  • Python ボルダリング部

  • kabepy Advent Calendar

  • Sphinx Advent Calendar

さて実際にコードをどれだけ書いたかというと、それほど書いた気がしません。強いて上げるとすれば以下の通りでしょうか。Pythonで何か作るというより、Pythonを使った何かについて理解を深めようとした一年でした。

  • ドットインストールでHTML, CSS, Pythonのレッスン実施

  • typing.ioでMercuialのソースの一部(merge.py)写経

  • Sphinx s6, TinkererなどSphinx拡張を使用。都度エラー追跡

  • python -m …… の便利さを知る(SimpleHTTPServer, zipfile……)

  • etc…

2. 身体鍛える

初めはジム通いを想定していましたが、それがスノボ、ボルダリングになりました。「運動のための運動」だと続かないので、こういった機会を得られたのは幸運でした。全く運動しなかった2011年に比べ、今年は月1程度で運動する機会ができました。2013年も積極的に身体を動かす機会は増やしていきたいと思います。

3. 自分がどうなりたいのかを考え続ける

年始めのブログに 昨年は興味を持ったらどんどん首を突っ込んでいきました。ただ2012年は前に進むというやり方見直していきます。 という抱負を語りましたが、去年以上に興味があることに首を突っ込みました。

Python関係のイベントに首を突っ込んでいったのは先に述べましたがそれに加え、去年参加したITコミュニティ夏祭りの復活版となる、「ITコミュニティ秋祭りリターンズ」で登壇デビューなんてこともしました。

今年は会社内での立ち位置も変わり、幾つかのプロジェクトを経験させてもらいました。どうなりたいのか考える材料をたくさん得られた一年だったと思います。

しかし実際にどうなりたいかと問われると、具体的にどうというのは見つけられていません。「一人前とは何か。一人前になるためには何ができていないといけないか。そのためにはどうすればいいのか。」という点は考え、行動し続けたいと思います。

2012年TOPICS

上で述べなかった点についてちょろっと。

  • 異動を経験し、開発の現場に携わる

  • 後輩を持ち、新人研修の一翼を担う

  • 複数言語での開発を経験(C/C++, Java, JS, Curl, SQL, PL/SQL)

  • iPad mini購入

  • etc…

来年の抱負

  • 自分がコミュニティ内外でどうなりたいのかを考え、実行し続ける

  • pull request デビュー

  • イベントスタッフデビュー

詳しくは年明けに書こうと思います。それではみなさん、良いお年を!

Tinkererでブログを書こう

Sphinx Advent Calendar の17日目を書きます。 @kashew_nuts です。

Note

2013/06/16 この記事に書いてある内容が古くなってきましたので、改めて記事を作成しました。 TinkererでBlogを書こう(Ver1.2) — kashew_nuts-blog

Tinkererとは

Tinkerer とはSphinxを使ったブログ作成ツールです。 Sphinx Advent Calendar 2012 (全部俺)@usaturn さんや、 Sphinx Advent Calendar 2012 主催の @r_rudi さんもTinkererを使用しています。今回はそのTinkererについて導入から実際に公開するまでの一連の流れを紹介してみたいと思いま す。

(注意)2012/12/17現在、最新バージョンは1.0.1 ですが、既に0.4.1b以下を使用している方はUpdateは控えたほうが無難かと思います。formatの形式にバグがあるらしく、インストールしてもビルドできないことがあります。

事前準備

以下が用意されていることを前提としています。

  • Python2.x (当方 Python2.7を使用しています)

  • pip

  • mercurial

  • virtualenv, virtualenvwapper(お好みで)

bitbucketの準備

  • bitbucketに以下の名前でリポジトリ作成

    <username>.bitbucket.org (private レポジトリ)

    (注意) <username>には_(アンダーバー)などの記号を含まないほうが無難です。記号が含まれていた場合、Twitterのような外部サービスと連携したい時に問題が発生することがあります。私のアカウント名は通常 kashew_nuts を使用していますが、そのままのアカウントで作成すると、TweetボタンでブログのURLが作成されず困りました。

初期設定

以下のようにするとブログを書くのに必要なファイル類ができあがります。

$ pip install tinkerer==0.4.1b (Tinkererのインストール)
$ mkdir myblog
$ cd myblog
$ tinkerer -s (Tinkererの初期セットアップ)

次にブログのタイトルやあなたの名前を登録しましょう。 お好きなエディタで conf.py を編集します。 私は普段 Vim を使用しているので Vim で書きます。 シンタックスハイライトが特別な設定なしで使えるため非常に便利です。

$ vim conf.py

例として以下に私が設定している conf.py を上げたいと思います。 ‘’でくくられている箇所をお好きな内容に変えて設定して下さい。

# Change this to the name of your blog
project = 'kashew_nuts-blog'

# Change this to the tagline of your blog
tagline = 'つらつらと'

# Change this to your name
author = 'Kashun Yoshida'

# Change this to your copyright string
copyright = '2012, ' + author

# Change this to your blog root URL (required for RSS feed)
website = 'http://kashewnuts.github.io/blog/html/'

日本語環境用にパッチを当てる

Version0.4.1bのTinkererをインストールしましたが、日本語環境で使用するとUnicode Errorでビルドに失敗するようです。以下のURLを参照し、パッチを当てて下さい。 https://bitbucket.org/vladris/tinkerer/issue/47/a-unicode-error-occurred-when-lc_all-is

手元の Mac OSX + virtualenv 環境では、 lib/python2.7/site-packages/tinkerer/cmdline.py にありました。パッチの内容通り import locale と locale.setlocal(… の2行を削除するとビルドできるようになります。

これで、Tinkererでブログを書く初期設定は終了です。

ブログを書こう

$ tinkerer -p "first post" (記事の下書き作成)
$ vim 2012/12/17/first_post.rst (記事の作成)
$ tinkerer -b (記事のHTMLを作成)

これで、blog/html/以下に記事が作成されます。 どんな記事が作成されたのか、以下のコマンドを打って確認してみましょう。

$ pyhton -m SimpleHTTPServer

ネットワーク受信接続の許可を求められますので、 許可 を選択して下さい。ブラウザのロケーションバーに http://127.0.0.1:8000 とタイプすると、あなたが作成した記事を確認することができます。

SimpleHTTPSererのデフォルトのポート番号は8000ですが、以下のように記述するとポート番号を指定できます。この例ではポート番号を8080に設定しています。

$ pyhton -m SimpleHTTPServer 8080

ブログを公開しよう

いくつかあるようですが、ここは私が実際に使用している方法を紹介したいと思います。 初めに準備した bitbucket リポジトリに以下の2つを上げてしまいましょう。

  • index.html

  • blog 以下全て

Mercurial を使用した方法を記述します。

$ hg init
$ vim .hg/hgrc

[paths]
default=ssh://hg@bitbucket.io/<username>/<username>.bitbucket.org

$ hg add index.html
$ hg add blog/.
$ hg commit -m "first post"
$ hg push

公開されるまでに数分程度待つかもしれません。数分後 https://<username>.bitbucket.io にアクセスすると、ブログページが表示できるようになります。

早くVersionからβが外れたTinkererを使用してみたいですね。 明日(18日)の担当は @feiz さんです。よろしくお願い致します。