プログラマーになりたい。

プログラミングや写真や本や読書会のことや、日常のこと。

ヘボコン2018出場記

準備を開始したのは5月25日。はじめた時期だけは、わりと優等生だったのではないか。新橋のタミヤミニ四駆PROを買っただけだが。

(その後に、リアルタイムで書いていった作業状況というか雑記は、twitterからたどれます。)

ちなみに結果は、初戦敗退。あっさり負けましたが…。

作ったマシン

基本コンセプトはコントロールできるミニ四駆だった。行け、マグナム!

続きを読む

ディープラーニングの本を読んだ。

以前にも新書の啓蒙書的なものは呼んだが、今回のはもう少しまともなやつを呼んでみることにした。

続きを読む

前の職場にいたときに貯金を使ってしまって、辞めたら金がない。

前の職場にいたときに貯金を使ってしまって、辞めたら金がない(給料未払いが半年以上続いていたのだ)。 そのうちに働き出すだろうから、今のうちにブログを書くような時間の余裕がないときにできないことは済ませておかなければならない。

うっかり買ったFUJIFILM X-E2というカメラ

上記のカメラを中古で3万円ほどで買いました。 まあ、まだ1枚も撮ってないんだけど。

ボディは買っちゃったが、レンズがないのだ。

富士フイルムはレンズも高いんだよな…。キットレンズ(XF18-55mmF2.8-4 R LM OIS)でさえ、中古で3万円もする。

このレンズはレンズの根元に絞りリングがある(型番のRはringのRらしい)。絞り優先AEで使うことを考えると魅力的なのだが、いかんせんそんなお金はない。

どうも「格下」扱いらしいX-A2などにつけることを想定しているらしい、下記のレンズにしておこうと思う(それでも中古で1万5000円くらいするが)。

値段通り後者は一段分くらい暗い。さらにもちろん写りも違うはずだが、俺にはよくわからんと思う。

富士フイルムの商売は、ライカのような路線を目指してるのかな。

躁のときの悪癖

ちょっとばかり躁状態である。

ヤフオクでカメラをうっかり落札してしまった。金もないのに。まあ、払ったけど。

というか、そもそもヤフオクを見るという行動がすでに変なのだ。普段は絶対見ない。

で、「どうせこの値段なら落札はないだろう」と油断して入札したら、うっかり即決価格を超えてたわけだ。

釈然としない。

というか、なんで買う気もないのに入札しちゃうんでしょう。オークションの入札は、買い物衝動を緩和するという効果が確かにあるんだけど、不注意で本当に落札してしまうんじゃ、緩和になってない。

結構このパターンは多い。でも、買ったものはわりと使うけどね。

ただ今回のはレンズがないので使えない…。

Node.jsを勉強してみようかな

近年WordPressのテーマ作成くらいしかコードを書いていなかったので、もう一度きちんとプログラミングをやってみようとと思った。

まずWordPress以外にもCakePHPなどをやったことのあるPHPを検討した。 しかし、Laravelというフレームワークの本を半分くらい読んでみたり、Goutteでスクレイピングしてみたりしたが、なんかやっぱり好きになれんなという感じだった。

パッケージ管理についてはComposerがあり、昔触ったときに比べると格段に楽に、安全になっている。 フレームワークを選べばオブジェクト指向もできそう。 だけど、それでもなんか間違った使い方をしそうな(しかも気づかなそうな)部分があって怖い。特にself::と$this->とstatic::。

この点について、マニュアルには、

クラスメソッドから静的でないプロパティにアクセスするには -> (オブジェクト演算子) を使って $this->property のようにします (property のところにプロパティ名を指定します)。 静的なプロパティへのアクセスには :: (ダブルコロン) を使って self::$property のようにします。 静的なプロパティとそうでないプロパティの違いについては、 static キーワード を参照ください。 PHP: プロパティ - Manual

と書かれていて、クラスに属するもの(静的な変数やメソッド)と、インタンスに属する変数やメソッドでそれらを使い分けるらしいのだが、俺の頭では管理できそうな気がしないないのだ。

俺はJava頭なの!

……と、うだうだ言っていないで、別の言語を使ってみることにした。

せっかくなので、触ったことがないものから選ぶことにした。Node.js(JavaScript)である。

そういえばPythonというものもあり、これも触ったことないけど、マルチバイト文字の扱いにコツがあるらしく、めんどくさいなあ、と。数値計算機械学習の分野では、ライブラリがそろっているらしく、なんか名前をよく聞く。

こういうと多分怒られそうだが、俺の学習レベルだとNode.jsはJavaScriptインタープリタである。というか、そのように使える。他のLL言語インタープリタのように、JSの文法で書いたプログラム(プレーンテキスト)をコマンドラインから実行できる。

世間一般には、JavaScriptという言語を使用して、これまで(ブラウザ内)とは異なる、サーバよりの用途のプログラムが書けて、しかも性能上のメリットがあるということで注目されたようだ。 *1

この界隈は固有名詞の数が多く、よく考えてみれば楽なのだが、最初は大変混乱する。

上記の他にも、Node.jsをインストールするにあたって、バージョンによる差異が大きいため、複数のバージョンをインストールしておき、プロジェクトごとにどのバージョンで開発するか設定するツールがある。これがnodebrewとNVM。どちらかをまずインストーラして、それを利用してNodeをインストールする。もちろん、素のNode.jsインストーラで1つだけ導入するなら必要ない。Rubyのrbenv、RVM。

NPMは第三者が書いたライブラリの依存関係を解決し、まとめてインストールをしてくれるそうだ。まあ、今はPHPでさえもComposerがある。

Node.jsの本を買おうかと思ったのだが、なんか、すげー初心者寄りか、JavaScriptが書ける前提のやつしかなく、なんかいいのがなかったので、JavaScriptの本を買って読んでいる。

初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発

初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発

*1:公式には「Node はスケーラブルなネットワークアプリケーションを構築するために設計された非同期型のイベント駆動の JavaScript 環境」(https://nodejs.org/ja/about/)とされている。本当はサーバとサーバサイドの色々を1つのプログラムとして書いたりするためのものらしい。が、JavaScriptの入門書のCUIプログラムを書いているレベルでは、ブラウザでも動かせるようなリクエストを受け付けないプログラムなので、あんまり関係ないと思う。

インフルエンザ+かぜ

B型でした。 発症1週間ほどで、微熱レベルまで下がったが(つまり薬飲んだのが遅くて効かなかった)、そこからが長かった。

2週間経過しても熱が下がらない。喉の痛みは少しずつ悪化し、ものが飲み込みにくいだけでなく、息の通り道が細くなってきている感覚が。 この時点で、近所にある確実に抗生物質を出す医者にかかった。 扁桃腺炎はいつものことで、いつも細菌性なのか、抗生物質が効く可能性が高いと考えたのである。

ジスロマックという抗生物質を飲んで翌日、やっと喉の痛みが引いてきた。

その医師によればインフルエンザによって炎症を起こした組織に、別の菌やウィルスが増えることはめずらしくないそうだ。

Creative Commons License ©2007-2021 IIDA Munenori.