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

未踏作業日誌――余計なもの作るよ!

未踏の作業日誌的なものを書きましょうということで書くことにしました.余計なことばっかりしています.

餅は餅屋

Danbooruというのを見つけたので,Linux動かないとかTwitterでつぶやいていたらLinux凄く得意な人が現れて神となった話.

 

自分でもディレクトリの移動とパッケージのインストールぐらいならLinux扱えるけれども,そもそもLinuxのどのディレクトリに何が入っているのか全くわかっていないので,設定ファイルとか弄るとか何言ってるのかよくわからない.

とりあえず,ブログを上から順番に試して成功するまでeach doするぐらいやってみるけど,失敗した(つまり書いてある内容をそのまま実行して動かない)場合は時間の無駄になる.

ここ最近,作ったWebシステムを動かそうとして頑張ってLinuxを触っているけれども,実環境で動かなかったりすると,動くようにソースコードを変えなければならない.例えば,Ruby on Railsはそもそも動かない.Apacheの上でRubyCGIとして動かすことは設定を弄る→環境依存な操作方法なので動かせない.Sinatraを直接rubyコマンドで叩いたら動いた.でも,bundlerは何故か動かない,使えない.

Rubyのgemも一部Linux上で動かないものもあるため,動くか試してからじゃないと使えない.そんなことばかりやっているので,開発が全く進まない.Linuxを動かすという点に関しては卒研生と同じかそれ以下だろう.

 

とにかくLinuxを動かすのは僕にとってあまり生産的じゃない仕事で,コマンドは多いし,オプション覚えないと役に立たないのもあるし,結局はマニュアルを暗記しないとLinux全体を操作することもままならない.

DCCツールのMayaも元々UNIXで開発されていて,MEL(コマンドの一種)によって3D描写から操作まで実現できるけれども,僕はそのMELのコマンドをlsとpoly~ぐらいしか覚えてない.それでもマニュアル読めば組み合わせで開発できる.

一方でLinuxは最初からバグってるプログラムを与えられたようで生きた心地がしない.Linuxのこと詳しくないので解決の糸口がつかめない.

ちなみに,Linuxと一緒くたにしているのは,動かなければDebianRedHatもおんなじと思ってるから.一方で動かなかったら,他のディストリビューションを試すしかない.どうせOSのことはよくわからないから,使ってるパッケージ管理ソフトが違うぐらいの認識しかしてない.

ミクさんの福笑いもUbuntuで動かなかったからRedHat系のAmazon Linuxで動かした.よくわからないけれども,rubyコマンド一発で動いたのはAmazon Linuxだった.

 

そういうわけで,いい加減,餅は餅屋に頼まないと全く進みそうにもない.動くものを選べば開発速度でリカバリできると過信していた.Linuxはそもそも最初から動かない.

バックエンドのエンジニアは最初から動いていないものを修理しながら動かしているように見える.僕がLinuxに手を付けるということは,故障したロレックスの時計を分解して直すのと同じで,直すどころか悪化させるだけだ.まず修理するには物の仕組みを知ってなければならない.

壊れたものを動いているように見せかけるのは時間をかければできるかもしれないが,腕のいい職人に最初から任せたほうが正しく正確に動いてくれる.