プログラマ行進曲第二章

主にソフトウェア関連の技術をネタにした記事を執筆するためのブログ

2017年の抱負

去年も年始に立てたので今年も立てます。

takuan-osho.hatenablog.com

去年の抱負はあまり達成できたとは言えないので、今年はもう少し胸を張って「達成できた!」と言えるように個人的に方策をとっているところです。

ただ単に目標を立てるだけだと制約がなさすぎて達成しようという意欲が減ると思ったので、以下のような制約を自分に課して抱負を考えてみました。

  • 1年間で達成しようという目標は多くても「3つ」に絞る

3つという数に根拠はないのですが、多すぎず少なすぎず、自分でも空で覚えられて把握しやすいちょうどいい安定した数なのでこれにしました。

で、その抱負を「IT系技能関連の目標」と「ITとか全く関係ない目標」というレイヤーに分けて考えた結果、以下の3つを今年の抱負にしようと思います。

2017年の抱負

IT系技能関連の目標

オペレーションをこなせるようにする

仕事でサーバーの運用業務をするようになったのですが、issueとして登録されている問題の特定・解決するのに必要なオペレーションを思ったようにできていないなと痛感しているので、Linuxの基礎知識*1を含めて、オペレーションの能力を強化していくのを1つめの抱負にしました。

随分抽象的ですが、今のところイメージしているのは id:y_uuki さんの以下の記事に書いてあるような方向性の技術・能力を伸ばして仕事をスムーズにこなせるようになりたいということですね。

blog.yuuk.io blog.yuuk.io

機械学習の最初の一歩を踏み出す

前年立てた目標を全く進めていなかったのと、そろそろ手をつけたい気分になってきたので。

既存のアルゴリズムを自分で実装できるくらいに理解できれば理想ですが、そこまで行かなかったとしても、素材を自動で分類したくなったときに各種ライブラリを活用してソリューションをでっちあげるということができるようになるといいなあと思ってます。

UdemyやらCourseraやら各種書籍を使って今まさにやり始めたところです。

(180度の)開脚をできるくらいの柔軟性を得る

これは仕事とは全く関係ない目標で、自分の身体の柔軟性を挙げたいというものです。

一応数値目標を出しておいた方が計測できるので180度開脚としたいのですが、多分これ難しいのでなるべくそれに近づけるという意味合いをこめてカッコをつけてます。

今続けている空手のパフォーマンスにも関わってくる話なのでそれなりに真面目に取り組みたい抱負です。

まとめ

言っただけではなくて、進捗が見せられるようにしたいと思いながら記事を締めます。

*1:基礎知識って何だよって話ですが…

2016年の振り返り

はじめに

2015年もしたので2016年分もします。

takuan-osho.hatenablog.com

体調微妙だから年が明けてからアップしようと思ったら、購読しているブログの人たちも結構ギリギリに2016年まとめブログをアップしていたので、私もそうすることにしました。去年もNHK紅白歌合戦見ながら書いていたみたいなので、成長してないですね。

時間も無いので結構適当です。

成果確認

以下の記事に書いた目標がどれくらいできたかの進捗確認。

takuan-osho.hatenablog.com

takuan-osho.hatenablog.com

パッと見た限りではほぼできていませんね、コレ。

以下、確認していきます。

基礎固め系

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

できてません!

セキュリティ周り

できてません!

コードを書く系

技術的な分野

ES2015を前提にしたJavaScriptを書く

これは前職のときにできたので〇とします。

今時のCSSの書き方を学ぶ

これに関しても同じく前職のときにある程度はできたので〇としたいですね。PostCSSはできませんでしたが、CSS設計を実際に仕事でやって少しは勘所を掴んだのと、実際にflexbox使って納品したので〇にカウントしてもいいはず。

Node.js

コレは△。

iOSプログラミングとSwift

これは全くできてませんね。

githubのアクティビティ率を高める

できてないですねえ…

一つプロダクトをリリースする

だからできてないという…

SphinxにContributeする

これは〇!

takuan-osho.hatenablog.com

読書系

目標に挙げていたものはほぼできていないですね。ある程度読んでいるのは『大規模サービス技術入門』くらいでしょうか。

[Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ)

[Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ)

あとは当初の予定になかったけど読んでよかったと思った『インフラエンジニアの教科書2』でしょうか。

takuan-osho.hatenablog.com

余力があればやる系

機械学習

はい、例のごとく全くできてません。

技術系以外でやったこと

掃除

これはできました。11/23〜11/29まで少しずつやって、一応成果が出るところまでやったので。

takuan-osho.hatenablog.com

空手

続けています。

転職

これが一番大きいことでしたね。今年の4月に転職して本格的にソフトウェアエンジニアとして仕事を始めて色々忙しかったです。

「転職して忙しかったのでブログをあまり更新できなかった」という言い訳をしたい気分になりましたが、多分その言い訳は通用しないんでしょうね。

「お前の退職エントリはニューラルネットワークで生成できる!」ということが言われる前から退職・転職エントリ嫌いだったので、ブログでは微妙ににおわせるくらいのことしか書いてませんでした。

takuan-osho.hatenablog.com

なので転職のことに今回言及するの微妙だと思ったのですが、取材を受けてネットにアップされたのでそれを代わりにします。

https://codeiq.jp/magazine/2016/11/43970/codeiq.jp

まとめ

「退職・転職エントリは他人に書いてもらう時代です」と嘯いておきます。

来年の抱負は年が明けたら書こうかと思います。

来年も変わらずよろしくお願いします。

ミャンマー観光旅行に行ってきたので振り返り

Twitter, Facebook, Instagramなどでは既に書いていたのですが、今年11月にミャンマーに観光旅行しました。*1

思えばこのブログがプログラミング関連の記事一辺倒になる前はこういったちょっとしたイベントの思い出も記事にしていたことを思いだし、記録として残しておかないと色々もったいないなと思ったので、今回はその観光旅行のことについて書こうと思います。

いい機会なので、旅行したときの写真をflickrにアップしてアルバム形式にしてまとめました。

上のリンクをクリックすれば私が撮影した写真がまとめて見られるはずです。

全体的な感想

大学のときの友達に誘われたので一緒にミャンマーへ行ってきたのですが、現地ツアーガイドをつけていたこともあり、大きなトラブルに見舞われることもなく楽しんで過ごせました。

ただ、それなりにお金がかかりましたね。

写真で振り返る観光旅行

久し振りの海外旅行でスリとかにあわないように気を張っていたことが多かったので、「あの場所の写真撮ってなかったかー」とこの記事を書いて気がつく有様ですが、まあ何となく面白かったところ紹介でもしてみます。

個人的に面白かったポイント

IMG_0015

バスの中の風景です。

「走行中は席を立たないで下さい」という注意書きが貼ってあることからも分かるように、明らかに日本で使われていたとわかる中古のバスがミャンマーではよく使われていました。

これ以外にそのことが分かる写真を撮っていなかったので後悔してます。

たとえば「宮崎県バス協会」だとか「小松空港行き」だとか書かれたバスがそのまま使われていて、結構な頻度で日本の中古バスを見かけましたね。

何で日本語の文字を消さずにそのままにしているかというと、現地ツアーガイドの方曰く、「日本語が書いてあるのがカッコイイから文字を消さずにそのままにしてることが多い」とのことでした。それって本当なんですかね?と今でも思わずにはいられません。

IMG_0017

私がミャンマーで観光してきたところはヤンゴンとバガンというところで、上の写真はバガン空港で撮ったものです。

ジカ熱怖いな、と思いつつ、友達に虫除けスプレーを借りる以外に特別の対策をしていないという体たらくでした。

IMG_0016

ヤンゴンとバガンの間を行き来するときに乗っていたプロペラ機です。

普通のジェット機(というのだろうか?)には何度も乗ったことがありますが、こういったプロペラ機に乗るのは初めてでした。

やはり海外を経由するようなジェット機みたいなのと比べると振動はそれなりにありましたね。

IMG_0123

ミャンマー語で書かれた看板。もちろんなんて書いてあるのか読めません。

この看板に限らず、観光する中でミャンマー語で書かれた色々なものを見かける度、「全く意味分からないのもつまらないなあ」と思っていたところ、「そういえばGoogle翻訳のアプリって画像認識でリアルタイムに翻訳できる機能があるって見たことあるぞ」と思い出し、さっそくダウンロードしてみたのですが、ミャンマー語はカメラを使った翻訳が未対応で使えなくて残念でした。

IMG_0140

夕陽を撮影するためにシュエサンドー・パゴダに登っている観光客の図です。

私もこのシュエサンドー・パゴダの最上部まで登ったのですが、人が多すぎて身動きしづらかったのと階段がめちゃくちゃ急で手すりにつかまりながらじゃないと降りられないと思い、 夕陽が終わって降りる人が増える前に降りてしまおうと思ったので、実際の夕陽は撮らず、この人混み溢れる光景を撮りました。

私が感じた恐怖感を伝える写真が手元に一枚も無いので文章で書くしかないのですが、本当に階段が急で、降りるときに地面を見ようとすると高所恐怖症を発症してしまうと感じるくらいに恐かったので、上の写真の一部の観光客のように足を投げ出して座っている人の感覚が信じられませんでしたね。恐くないのかな?と。

IMG_0340

観光旅行最終日、空港にチェックインする前に寄った地元のスーパーで見つけたものです。

こういったいわゆるオタク的な絵柄のものがあるのがこれだけだったので撮影しました。

絵柄的に遊人さんの作品に出てくるキャラみたいな感じですが、これがオリジナルのキャラなのか、それともどこか元ネタがあるキャラなのかは知りません。

後、色んなパゴダとか仏像とか、いわゆる観光スポットの写真もそれなりにあるのですが、それ含めるとブログ更新が遠くなりそうなので止めます。

海外旅行で遭遇したトラブル

面倒になってきたので概要だけ記録に残しておきます。

現地SIMでネットに繋げるように設定したらApple IDがロックされた

これ、ちゃんとした原因がいまだ分からないのですが、現地のヤンゴン空港に着いた後、ロビーで現地SIMの売買している所に行き、SIMフリーiPhone渡して設定してもらった後、メールで「お前、何か普段と違うからApple IDをロックしておいた」というメールがAppleから送られてきて、その後調べたら実際ロックされていました。

2段階認証かけるときに手元においておいた解除キーを参照できる状態だったからいいものの、そうでなければ色々と面倒になったと思います。

宿泊しているホテルのトイレが詰まった

そのままです。2日目移行に泊まったバガンのホテルで、部屋の中にあるトイレが詰まって難儀したという話です。

詰まったこと自体も面倒だったのですが、それよりも面倒だったのはホテルの人に状況を伝えることでした。

英語、微妙に話せはするのですが、聞き取るのは割とダメな方なので、「トイレがトラブったから助けてくれ」と訴えることはできても、相手が何を言っているかが分からず、実際に来た人に任せて棒立ちするしかなかったです。

ここは反省ポイントですね。

まとめ

海外旅行はいいぞ*2

*1:正確には11/23〜11/27の5日間

*2:かかるお金を考えなければ

2016年の年末大掃除を始めました

短めにブログ更新。

昨年2015年の年末に行った大掃除が非常に気持ちよかったので、今年も年末に大掃除をしようということで始めています。

去年の大掃除に関しては2015年の振り返りの最後の方にほんの少しだけ書きました。

takuan-osho.hatenablog.com

去年の大掃除で大きな成果が出たのはいいのですが、日々のメンテナンスをまともにおこなっていなかったおかげで、また自室が荒れ始めているので、今年も大掃除をしようと思い、有休を使って12/22で今年の仕事納めにして、大掃除に当てる時間を捻出しています。

昨日から少しずつ始めていて、一応手をつけ始めたので、まあ何とか頑張っていきたいところですね

『インフラエンジニアの教科書2』を読みました

前回のエントリから随分と期間が空いてしまってよくないなあと思ったので、最近勉強で読んだ本の感想を書くことでアウトプットの習慣を取り戻したいと思いながら書いてます。

インフラエンジニアの教科書2 スキルアップに効く技術と知識

インフラエンジニアの教科書2 スキルアップに効く技術と知識

今回読んだ本は『インフラエンジニアの教科書2』です。

読もうと思ったきっかけ

今年の4月に転職し、(ハードウェアを扱わない、クラウド寄りの)インフラエンジニアとして仕事をしていく中で痛感したのが、圧倒的な知識不足でした。

「知識不足」と一言で言ってもどの分野の知識が足りないのかによって取る行動は変わると思います。

ただ、私の場合、「何か全体的に分からないけど、具体的に何が分からないのか分からない…」という状態に陥っていました。

そんな中、チームリーダーや上司と別件で相談した時、「Linuxのプロセス処理とかファイル管理に対する知識が足りなそうだから、その辺りを何かで読んで勉強してみたら?」と言われたので、何かちょうどいい本無いかなと本屋で探してみたところ、内容のレベル・量ともにちょうど良い塩梅だなと思えたのが前述の『インフラエンジニアの教科書2』でした。

読んでみて思ったこと

分量的には2日あれば読み切れるくらい(早い人なら1日)の量だったので、最近書籍を読む週間がなくなりかけていた自分にとってはちょうどよかったです。

内容に関しても個人的にはChapter-02のOSの項目がとてもよく、これだけで買って読んだ価値があったと思いました。プロセスとスレッドに関する知識があやふやだったこともあり、このChapter-02で書かれていたことを読んで結構頭の中が整理できたように感じます。

この本を読む直前、SECTION 13の「インフラエンジニアのファイル管理」の項目内にある「ログ出力でディスク容量を使い果たした」事例と同じような事例を業務中に遭遇していたこともあり、実際の業務の内容と結びついて読める箇所が多かったことも理解を深めるのに一役買っていたと思います。

ただ、(この本の著者も意図しているのでしょうが)この本に書いてある内容の深さはどの項目も基礎となる部分に終始していると思われるので、読んだ後重要なのは、この本を読み終わった後、より深い内容を扱った書籍を読んだりすることが大切なのかなと感じました。

なので次は"Systems Performance"をちょびちょび読んでいます。

Systems Performance: Enterprise and the Cloud

Systems Performance: Enterprise and the Cloud

『インフラエンジニアの教科書2』で扱っている内容と地続きになっているわけではないのでしょうが、現在業務をしていく中で足りなそうな知識が丁度書かれていそうだなと思ったので、次はこれの読破(と得た内容の実践)に挑戦しています。

PyCon JP 2016に参加してきました

表題の通り、PyCon JP 2016に参加してきました。昨年も参加したので何となく記事を見直しながら書いてます。

takuan-osho.hatenablog.com

来年のPyCon JPも楽しく参加したいですね!

昨年の感想で最後にこう書いているように、楽しく参加できました。

思えばPyCon mini JPの様子をUstreamから眺めていて興味を持ち始め、PyCon JP 2012の頃から実際に現地に参加するようになってから随分時間が経っているなあと実感します。

PyCon JP 2012の頃から数えるとPyCon JPへの参加は5回目ということになりますが、それだけ参加経験を積んでくると自分なりの参加スタイルをある程度確立できたようで、「無闇に全ての時間帯の発表を聞きに行って体力を消耗して後日体力的に死亡する」といった事態にならないようオープンスペースで休憩したり、久し振りに会う人と色んな話をしたり、無理せず楽しんで有意義な時間を過ごせたように思います。…と言いつつ、これを書いている2016/09/24(日)現在、疲れが出てグッタリしているわけですが!

参加したもの

モチベーションと体力があればスライド含めた各種リンクと感想を個別に書くのがいいとは分かりつつ、そうやろうとしていつも途中で頓挫して、結局参加記事を書かずに終わると言うことを何回も繰り返しているので、"Done is better than perfect"を言い訳にして参加したものだけ書き残しておきます。

リンク張り作業とか結構面倒なんですよね…

まあ、メディアスポンサーに名を連ねているTogetterさんが公式で以下のようなまとめを出していて、基本的にスライド・動画へのリンクをつけているのでそこ見ればいいと思います。

資料も反響もすべてチェック! 秋雨に濡れた早稲田大学西早稲田キャンパス #PyConJP 2016 まとめまとめ

1日目

  • Keynote by Jessica McKellar
  • Python入門コードリーディング (ビギナーセッション)
  • 基礎から学ぶ Webアプリケーションフレームワークの作り方
  • ISUCON大反省会 (オープンスペース)
  • LT & Closing

2日目

  • Keynote by Andrey Vlasovskikh
  • You Might Not Want Async

2日目は体力無くて休んでる時が多かったのでこれくらいです。あと、1日目はフルに参加できたのですが、2日目は空手の昇級審査 & 稽古があって途中17時くらいに一旦帰らざるを得なくてフル参加できなかったので、そこだけが残念でした。

実は今回のPyCon JP 2016のチュートリアルの中にあったSphinxチュートリアルにチューターとしても参加していたのですが、それについては別エントリでまとめようかなと思います。

全体的な感想

参加者としてとても過ごしやすいカンファレンスだったと思います。疲れて休みたくなったら食堂やオープンスペースなどで座れる場所がだいたい確保できましたし、オープンスペースで色々参加者の人が開きたい議論をしていたのに参加して楽しめましたし、ただ「発表を聞いて終わり」というだけではない楽しみ方をすることがしやすい環境だったと思います。

それを実現するには座長はじめをとした運営スタッフの皆様のご尽力があったからだと思います。ありがとうございました。

あと、個人的に驚いたのは早稲田大学の協力によって会場が無料で提供されていたというところですね。普通ならあれくらいの会場を借りるにはたくさんのお金がかかるはずなので。その分参加者側に還元されているはずだと考えるととてもありがたいことです。

2日間のカンファレンスに参加し終わった後少し後悔したのは、スポンサー企業さんのブースを回っておけばよかったなあということです。荷物が重くて余り歩き回りたくないなというのと、結構体力を消耗していて人と会話する気力が出てこなかったという理由はあるのですが、せっかくネット越しではなく現地に参加しているのだから、普段話すことのできない人と話せるチャンスだと考えると、もったいないことをしたなと思いました。

多分来年も参加すると思います。

2日目のLT & Closingには参加できなくて悲しかったので、Closingの部分は後でザッと該当部分の録画を見ましたが、PyCon JP 2017から新しい座長になるというところも驚きました。

PyCon JP 2017の座長は吉田さんということで、まだカンファレンスの詳細は決まっていないみたいですが、来年の開催を楽しみにしています。

あと、個人的な私信みたいになってしまいますが、たかのりさん、座長お疲れさまでした!

セルフホスティングに手を出してみた

種々様々な理由により、前からセルフホスティングとかその辺りに興味があった。

けど、何度か手作業で管理してみて運用に破綻して、たいしたデータではないから作り直しとかをしていていたりしていた。

そういうこともあり、OSS版herokuみたいな仕組みがないかどうかgithubのtrendingを見ながら何となく探したりしていて、最近Hacker Newsを見ていたらCloudronというものを見つけたので試してみることに。

公式のCLIがnode v6.5では動かなかったり、自分のPCのOpenSSLのバージョンが意図せず古いものを使っていたりで色々はまったけど、今はAWS上に一つ自分用のサイトを構築することには成功。

Cloudronを使うとghostMattermostとかTaigaといったアプリを簡単に複数構築できるようになるので、中々素性が良さそうだなというのが第一印象。

しばらく色々試してみたい。