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

転がりました

人生 仕事

はい。

以前から取り組んでいたSphinxのEPUB 3 ビルダー追加のプルリクエストがマージされ、v1.4から使えるようになりました

Sphinx プログラミング Python

三行まとめ

  • 以前からやっていた「SphinxEPUB 3 ビルダーを追加する」プルリクエストがmasterブランチにマージされ、バージョン1.4からその機能が使えるようになりました。
  • EPUB3形式のepubが出力できると書きましたが、様々な理由により、validなepub3は現状出力できません。
  • 意外と貢献できるところがあるかもしれないので、(Sphinxに限らず)みんな有名OSSにプルリクしてみるといいのでは?と思いました。

経緯

最近はあまり時間が取れていなくて動向を追えてないですが、割と電子書籍界隈に前から興味があって、その繋がりでEPUB 3についても独学でちょこちょこ勉強していたという背景があります。

そして、私がWeb系ITエンジニア向けの勉強会とかに顔を出すようになったきっかけであるSphinxというドキュメンテーションツールEPUBの出力機能があるのですが、これがEPUB 2相当のEPUBしか出力できない状態で、誰もEPUB 3を出力できるようにしてなさそうだったので、取り組み始めたという流れではじめた(と思います)。

時期に関しては忘れましたが、このブログを検索してみた限り、2014年以前から取り組んではいたようです

takuan-osho.hatenablog.com

色々EPUB 3の仕様を調べながらやっていましたが、モチベーションが続かなかったり、力不足で色々解決できないなあと思っていたところが多くて、手を付け始めてから実際に取り込まれるまでこれだけ時間がかかってしまったなというところです。

プルリクエストの内容はこれですね。

github.com

できるようになったことと今後の課題

EPUB 3形式のファイルを出力できるようになりました。やり方書こうと思ったんですが、それ書こうとしていて2週間くらい記事のアップが遅れているので、今回は省略します。(また別途書くかも)

epub3 って名前のビルダーを追加してそれを使うので、自動生成されたMakefileをそのまま使っているなら make epub3 で生成できるかと思います。多分。

ただ、最初にも書いたように、以下のような理由があり、epubcheckによる検査を通るvalidな形式のepub3ファイルは現状生成できません。

  • Sphinxが依存しているdocutilsがHTML5形式のHTMLを生成できない
  • EPUB 3で変わった部分の(初期)実装は現状私一人が手がけたため、私のEPUB 3の理解が疎かだったりする部分やそもそも実装が追いついていない部分がある

ビルダーのドキュメントにも書いたのですが、このEPUB 3 ビルダーは現状experimentalなので、使用するならそのことを理解した上で使用するといいと思います。

感想

Sphinxのcontributorとして名前が載ったの、割とうれしいですね。

2016年2月まとめ

月報 雑文

はじめに

新年になって少しは新しく切り替えられたかなと思った矢先、早速2月まとめが3月に入ってしまって大変よろしくないと思いつつ、書いています。

takuan-osho.hatenablog.com

前回でも書いたように、週報まとめをしているので、昨年とは違ってまとめを書き始めてからの作業時間は少なくなって精神的には楽になっているはず。

やったこと

後なんかやっていたような気がするけど、日報に残ってないのでこれくらいで。

所感

1月は調子よく進んでいて気持ちがよかったけれど、いいことなのか悪いことなのか、2月は昨年のいつもの調子になっていて、それほど調子がいいというわけではなかったので、定期的に自身の行動を振り返ってレビューすることは大切なんだろう

これから

運動や週報・日報は習慣化できたので、バランスを取ってこれからは整理系のタスクの割合も増やしていった方がいいのかなという気持ちになりました。

映画『オデッセイ』を見に行った

映画 SF

タイトル通りですが、映画『オデッセイ』を見に行きました。


映画『オデッセイ 』予告編

原作は『火星の人』(原題: The Martian)ですね。

火星の人〔新版〕(上) (ハヤカワ文庫SF)

火星の人〔新版〕(上) (ハヤカワ文庫SF)

火星の人〔新版〕(下) (ハヤカワ文庫SF)

火星の人〔新版〕(下) (ハヤカワ文庫SF)

感想エントリとか書き慣れてないので小学生並みの感想しか書けないのが悲しいところですが、面白かったのでオススメです。

そもそもこの作品を知ったきっかけはエンジニア向けpodcastRebuild.fmで原作が紹介されていたことでした。

rebuild.fm

だいたい10:18辺りから原作『火星の人』の話が始まるので、気になる人は聞いてみてから映画を見に行くかどうか決めるといいかも。ただ、途中でインターステラーのネタバレがあるので注意。

その後何回かrebuild.fm内で言及されていて、映画が公開されてから色んな人が言及しているのをネットで見たので気になってみたところ、やはり面白かったので収穫でした。

ただ、原作既読者によると原作はもっと面白い(というか描写がある)らしいので、原作を読んでみようかなという気になってます。

映画内でも冗長になるのを防ぐためか、ダイジェストみたいにすっ飛ばしているところが2箇所ほどあって、多分そういうところも原作は描写してるんだろうなと思うと楽しみですね。

原作を積ん読リストに追加しておきたい気分にさせられました。

2016年1月まとめ

月報 雑文

はじめに

前年は10月から月報をまとめられなかったので、少し対策をするようにしました。

takuan-osho.hatenablog.com

といっても、やっていることは前回の記事で書いたように、週報を書くようにしたということだけです。これで月のまとめに今までやったことを思い出すという作業を大幅カットできるかと思ってます。

takuan-osho.hatenablog.com

やったこと

  • ブログの定期的なアウトプット

    • 去年に比べれば2〜3倍以上と圧倒的なアウトプット量。
    • これからは技術的なエントリの割合を増やしていきたいと思っている。
  • 新しい習慣

    • 運動(スポーツジムへの登録と利用)
    • 週報
      • 始めてから続いていてかなりいい調子。
      • 分量を書きすぎるのを避けるようにしているのがポイントかも?
  • Sphinxへの大きな意味でのコントリビュート

    • ブログに書いていないけれど、Pyladies Tokyo Meetup のSphinx回でチューターとしてヘルプに入ったりした。
    • epub3ビルダーに関しては継続中。現在は指摘を貰っている箇所の修正にまだ手がつけられていない…
  • 新年会とか飲み会系

    • 84pyの新年会に今年も参加した。同年代でやる飲み会はいいもんですね。
      • データサイエンティストの裏側的な話とか色々面白い話が聞けたのもよかった。
    • 空手方面ではお世話になっていた先輩が田舎に帰るということで送別会にも参加。
      • 自分が空手を始めてからずっとお世話になっていたので少し寂しい。
  • 新年の抱負で挙げたことの実践

    • 『プログラミングの基礎』は着実に進めている。
    • 『安全なWebアプリケーションの作り方』の再読は少し停滞中。すこしよろしくない。
  • CSS

    • CSSは仕事で要求されていることもあって最近特に勉強している最中。IEのサポートポリシーも変わったのでflexboxとかガリガリ使いたいので各方面の説得をしようと考えているところ。
    • BEMとかそういう手法で守らないと容易に破綻するCSSという言語はクソだなという思いを最近強めているところです。

所感

2015年の振り返り記事でも書いたけど、去年末に大掃除をした影響で随分と生活がスムーズになり、2016年は1月から調子よくスタートを切れて気分がいい状態。

takuan-osho.hatenablog.com

やったことにも書いたように新しいことを始めたり、今まで手をつけられなかったことに手をつけられるようになったので、この調子を続けていけるようにしたい。

これから

今度は既存の習慣の見直しを視野に入れて日々の生活の改善をしていきたいところ。

技術方面では、コードを書きつつ、技術的なアウトプットを増やしたいという気持ち。

あと、運動を習慣化して健康体と柔軟な身体による一段上の空手を手に入れたいですね。

新しい習慣を2つほど始めた

雑文 人生

年末年始の大掃除の効果が効いていて、新年迎えてから割といい調子でここまで過ごせたので、やろうかなと思い始めたことを2つほど始めてみた。

新しく始めたこと

スポーツジムに登録して通う

いきなり挫折率高そうなやつですが、家族から譲り受けた無料体験チケットを2枚使ってどんな調子か感じてから決めたので、続けて行けそうというある程度の賞賛はある。今日登録してきた。

ダイエットしたいというのもあるけど、それよりも現状やっている空手の動きの質を高めるために体力作りと柔軟性のアップを目的にしている。

スポーツジムにした理由は以下の通り。

  • 最寄り駅の近くにあって通いやすい。
  • 1月の先着で数ヶ月分無料になるキャンペーンにまんまと釣られた。
  • 福利厚生使えば月々のかかるお金が普通より大分安くなった。
  • 家族が該当スポーツジムに以前登録していてどんな感じか事前に聞けた。

後付け要素もあるけど1つ目はこんな感じ。

週報を書く

「週報って何?」って人は以下の記事を読めばいいかも。

bellflower.dodgson.org

やろうと決めたのは上の記事を読んでからだけど、やろうと思ったきっかけは上の記事ではなく、rebuid.fmの以下のエピソードを聞いたからだ。

rebuild.fm

2015年は月ごとにまとめとしてブログ記事に書いていたが、毎回月末になってまとめるのが大変で、結局10月以降は実施できなかったので、その反省もこめて、週報を軽く書きためて月単位でブログ記事にしようかと思っている。

で、週報はDay Oneとか使って自分用メモとしてやっていくつもり。

これはスポーツジムよりも気をつけないと習慣づけ出来ないタイプのものなのでリマインダー駆使してどうにかしておきたいところ。

新しく始めるために削ったこと

1日は24時間しかないという現実があるので、新しく習慣始めるなら既存の習慣を見直さないとカオスになるというのが今までの人生経験上明かなので、そこについて軽く書く。learnとunlearnは表裏一体。

といっても、今意識してやっているのは以下の行動を止める・少なくすることだ。

  1. ダラダラしたネットサーフィン
  2. ダラダラしたアニメ視聴

ネットサーフィンもアニメ見るのも止めたわけじゃないが、楽しくもないのに明らかに惰性で続けていてよくない視聴行動している時間が長いのが寝不足とか生活リズムの崩れを誘発していたので、その分だけを削るという意味だ。

「人はパンのみに生きるにあらず」なので、隙間時間とか気分転換など、ちゃんと楽しめて有意義な時にアニメ見るようにしたり、ネットするようにしている。

というか完全にそういう行動を断つと発狂するのでそういうことはしない。あくまで惰性で続けてしまっている所だけを削るように気をつけている。

思ったこと

今の私にとってはlearnよりunlearnが重要なんだろうなと感じるので、次は既存の習慣の見直しとかをする必要がある気がしている。

やりたいと思っていることを書き出してみる

雑文 プログラミング IT

2016年の抱負の記事で書いたことと被るけど、最近勉強していても色々なことに目移りして一つのことをやりきることが出来ていないように感じるのと、今自分がやりたいことの種類がどれくらいあるのかちゃんと把握してなかったので書き出してみようと思ったので書いてみる。

takuan-osho.hatenablog.com

基礎固め系

アルゴリズムやプログラミングの基礎作り

以下の本を読むだけでなく、中のコードをちゃんと書いて手を動かして理解してアウトプットすることを含んで取り組んでみる。

プログラミングの基礎 (Computer Science Library)

プログラミングの基礎 (Computer Science Library)

これは最近取り組んでいるが、とてもいい本なので終わったら感想エントリ書きたい気持ちでいる。

オンラインジャッジではじめるC/C++プログラミング入門

オンラインジャッジではじめるC/C++プログラミング入門

プログラミングコンテスト攻略のためのアルゴリズムとデータ構造

プログラミングコンテスト攻略のためのアルゴリズムとデータ構造

これらは私のアルゴリズム周りの弱さを補強する目的で。特に『プログラマの考え方〜』はいい本なので今年半ばまでに最後までやりきって身につけたいと思ってる。

セキュリティ周り

一度最後までやったことはあるが、すっかり頭の中から抜けているので復習する必要がある。

コードを書く系

技術的な分野

今後のことを考えて以下のことを練習していきたい

  • ES2015を前提にしたJavaScriptを書く
    • ツールの使い方を覚えるというより、Web標準や仕様にのっとった知識に基づくモダンなJSを書けるようにする、ということ
    • fetch APIとかPromiseとかよく知らないので、そういう所を埋めていく。
  • 今時のCSSの書き方を学ぶ
    • IEのサポートポリシーが変わった現在、たとえばfloatレイアウトではなくてflexboxを活用していくなど、モダンかつ標準に則ったCSSを書けるように出来たらいいなと思っている。
    • どちらかというとCSSは設計力の方が問われると思うので、その辺りも埋めていきたい。
  • Node.js
    • Node.js自体やエコシステムの理解を深めるのも大切だけど、それよりかはコールバックによる非同期プログラミングのやり方とかイベント駆動のプログラムのやり方を学んでいきたいという意味で書いている。
  • iOSプログラミングとSwift
    • これは単純にアプリを作って「これ、自分で作りました」とアピールできるものが欲しいという意味。

あとPythonとかGoとか書こうと思えば色々あるけど、現状の仕事とか今後のことを考えたらJavaScriptCSS力高めた方がいい気がしているので、この2つを優先した方がいい気がしている。

読書系

基礎固め系よりかは優先順位下げるけど、実力をつけていくために読んで身につけておきたいものだったり、純粋に興味があるから読みたいもの。

サイバーセキュリティプログラミング ―Pythonで学ぶハッカーの思考

サイバーセキュリティプログラミング ―Pythonで学ぶハッカーの思考

EPUB 3 Best Practices

EPUB 3 Best Practices

基礎からわかるTCP/IP ネットワークコンピューティング入門 第3版

基礎からわかるTCP/IP ネットワークコンピューティング入門 第3版

マスタリングTCP/IP 入門編 第5版

マスタリングTCP/IP 入門編 第5版

検索エンジン自作入門 ~手を動かしながら見渡す検索の舞台裏

検索エンジン自作入門 ~手を動かしながら見渡す検索の舞台裏

Code Reading―オープンソースから学ぶソフトウェア開発技法

Code Reading―オープンソースから学ぶソフトウェア開発技法

余力があればやる系

機械学習

データサイエンティスト養成読本 機械学習入門編 (Software Design plus)

データサイエンティスト養成読本 機械学習入門編 (Software Design plus)

取りあえず今手持ちのものでパッと思いついたものをリストアップしたので、コレヲ軸にして今月は勉強していこうと思った。最初の方に挙げたものは実際着手しているので