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

おれんじりりぃぶろぐ

きっと何者にもなれないエンジニアのブログ

『横井軍平ゲーム館』を読んでの感想

www.amazon.co.jp

3行まとめ

  • 任天堂の発展に寄与した横井軍平氏のインタビュー本であり、任天堂や横井さんに興味がある人にオススメ
  • すぐにゲームが作れるスキルや発想力は特に身につかない
  • コイズム

感想

本書は任天堂の発展になくてはならない人であった横井軍平氏のインタビュー本です。横井氏は任天堂の一社員としてラブテスターゲームウォッチゲームボーイなどを世に送り出してきたその人です。アナログゲームとデジタルゲーム両方の分野で成功を収めており、遊びの本質を制していた人と言っても良い人です。その横井氏を著者である牧野武文氏が亡くなる直前にインタービューしたものを元に構成、解説を付け加えて1997年に発売された単行本の文庫化です。

インタビュー中に特に難しい質疑応答はなく、誰でも楽しく横井氏の昔話を聞くような感覚で本書を読むことができます。しかし、その中には横井氏の根本的な考え方が散りばめられており、読者は横井さんの哲学であるヨコイズムを透けて見ることになります。ただし、透けて見ることが本書の主題なので、具体的なアイデアが湧いてくる方法やゲーム・おもちゃの作り方を学ぶことはあまりできません。そのような目的で本書を手に取ることはオススメできません。

wikipedia横井軍平について調べるとヨコイズムついて短く解説してあるが、あれは本質ではないと私は考えています。そしてこの本を読むことによってヨコイズムの一端を垣間見ることはできますが、受け取り方は人それぞれ変わってくると思います。それだけヨコイズムが示唆に富み多様性を秘めているということでしょう。

ちなみに私の思うヨコイズムの本質とは、「アイデア」と「技術」と「実現」のバランスを図ること、そして、人を制して遊びを制するということです。アイデアだけでもそれは絵に書いた餅だし、技術だけでも楽しさは提供できないただのガラクタになってしまいます。 横井氏の有名な言葉として「枯れた技術の水平思考」があります。文字通りに受け取れば他分野で成熟した技術をエンターテイメントとして組み込むという意味になります。そういう意味ももちろんあるでしょうが、そうではなくCPU性能がどうこう、カラーだ、高画質だと単なる技術一辺倒で押し通すのではなく「アイデア」と「技術」を最適に組み合わせることが「遊び」の本質である、その時の技術とは必ずしも最先端ではないということを言っているのではないかと感じました。

そして、ヨコイズムに欠かしてはならないのは「実現」です。いくらアイデアと技術があってもお金と人がいなければ何もできないということです。そのあたりのバランス感覚の良さが横井氏の閃き力や技術力よりも秀でた一番の才能であることがよく分かります。 さらに「遊び」を制するためには、面白い遊びを作り出すだけではまだ足りなくて、その「遊び」が人々の生活にどのように溶けこんでいくかここまで先回りして予想できるようなビジョンを打ち立てないといけないということが本書からは見て取ることができました。

これらのことは、それはそれは至極当たり前のことなんだけど、そのことを根本的に理解し、実現していくことの難しさとその困難に立ち向かう光明、これこそがヨコイズムであると私は強く思っています。

「アイデアを持って策謀を成す」人 これが本書を読み終わった時の私の横井さんに対する印象でした。 作る側、遊ぶ側エンターテイメントに少しでも携わる者としてはぜひ読んでおきたい一冊です。

ご注文はお引越しですか?〜ぼっちが田舎から都会に出てきたら〜

たとえぼっちであっても、田舎から都会に出てくる場合は前途ある未来に意気揚々とするものです。
しかし、そのはじめを一歩を打ち砕かれるのがそう、引っ越しです。 独りでの引っ越しは困難を極め、特に田舎から都会に出てくる場合にはそのギャップに打ちのめされます。

これはぼっちな私が田舎から東京に引っ越しを行った際の試行錯誤とあきらめの結果です。
(ぼっち個人差あり)

次こそ失敗しないぞ٩( ‘ω’ )و

住む地域

田舎から都会に出る場合は、入学や就職など目的を伴うことがほとんどだと思います。
目的地の近くに住むのがベストですが、やはり東京たるもの家賃は田舎の比ではありません。
部屋の質を落とすよりは通勤時間を取ったほうがよいかもしれませんが 、毎回満員状態で座ることは難しいと考えると電車に乗り慣れない田舎者では読書やスマホをいじったりすることもできません。
ここは少し無理をしてでも近い場所のほうがよいでしょう。

また、都会と一口に言っても高級住宅街から怖い場所までさまざまです。
ストリートビューの活用や実際にふらふら歩いてみる必要があります。

不動産会社

住む場所の候補が決まったらスーモを見てみましょう。
しかしスーモに掲載されている情報は古いものもあり既に契約済みの場合も多いようです。逆にその部屋が契約済みであっても同じ物件の違う部屋が空いていることもあるようです。
とにかく都会は変動が激しいのでここはどんな部屋に住みたいかのイメージを膨らませ、相場観を掴む程度にとどめておきましょう。

そして不動産会社についてですが、今回の引っ越しでは2, 3件ほど問い合わせをしてみましたが正直どこもあまり変わりありません。広告掲載している物件は不動産会社によって違いますが、市場にでている物件は基本的にどこでも紹介してくれます。
こちらとしては生活の基盤である住処を決めるので真剣にならざるを負えませんがそれは相手の知ったことではありません。どこも等しく適当だと思ってよいでしょう。
会社などの福利厚生で紹介手数料が安くなる場合は迷わずそれを使いましょう。紹介手数料は家賃の1ヶ月分が相場のようなのでけっこう馬鹿になりません。

適当に不動産会社を決めたら実際に店舗を訪れましょう。
ネットや電話による問い合わせももちろんできますが、細かい条件やニュアンスが伝わらないので平行線を辿る可能性があります。

しかし遠方への引っ越しの場合は何回も店舗を訪れるわけにも行きません。
出来れば一日で物件を決めてしまいたいところです。
そのためにはスーモで膨らませたイメージを明確にし、自分の中で絶対に譲れない条件、優先条件をあらかじめしっかり書き出しておくことが必要です。

そしていよいよ店舗を訪れます。一日しか時間が取れない場合、せいぜい1件の不動産会社へ行くのが限界です。もし訪れた不動産屋の担当者が頼りないなど気に入らない場合はすぐに担当者のチェンジをお願いする、または別の不動産屋へ行くのがよいでしょう。

スーモなどで見た物件をピンポイントで指定するのも良いですし、そうでない場合はとりあえずあらかじめ決めておいた絶対条件、優先条件を伝えます。
そうするとたいてい自分が予定していた家賃より月2~3万円高いところが紹介されます。
優先条件をどんどん削っていき自分の目標家賃まで下がった物件が紹介されたらその中から数件を選び内見に行きましょう。
まだ、入居者がいたりすると内見できないことがありますが1日で決めきりたいのあればここの物件は諦めたほうが良いと思います。

内見

とにかく第一印象が大事です。人の印象も第一印象でほぼ決まってしまうと言われていますが部屋も同じです。
特に入った瞬間にここはないなと自分の中のゴーストが囁いたらそこはなしです。細かい条件を聞く前に切り上げましょう。

逆にここには住むかもしれないと感じたら、この時点で部屋の写真を撮ったり、細かい採寸を行うようにしましょう。
今持っている家具や家電が置けるかは必ず確認しましょう。詳細な図面を渡してくれる時もありますがその限りではありません。あとで部屋の採寸をするためだけに新幹線や飛行機に乗ってくるのはもったいないです。また、部屋の契約を申し込んでも審査などに時間を取られて鍵がすぐに渡されない場合もあります。不動産屋によってはお願いすれば採寸してくれますが人によって感覚が違ってきてしまい悲惨なことになる恐れがあります。

田舎じゃないのでたいていの場合は心配ありませんがTV/BSやネット環境についても詳しく確認する必要があります。パンフレットや案内に書いてあっても実際違ったというのはよくある話です。

部屋の中だけでなく専用ゴミ置き場や宅配ポストの有無、周辺環境のチェックも必須です。ぼっちだからというわけではありませんが、スーパー、コンビニは生活必需店です。体調を崩してもぼっちだとお見舞いも望めません。這ってでも行ける場所に1店舗は必須です。

契約

内見でいいなと思ったらとりあえずその物件は仮押さえの申込をしておきましょう。
本契約自体は郵送でのやりとりになりますし、この時点では違約金などは発生しないはずです。

そして、なんと契約の際には保証人が必要になってきます。保証会社を使う場合もありますが緊急連絡先は必要となってきます。
私のようなぼっちスターとしては人に頼りたくないところですがここは諦めましょう。親などに頼るほかありません。そして感謝しましょう。所詮、今の現代では完全にひとりで生きることはできません。

さらに、実際に契約の際に支払う見積額を見て面食らうことになります。
家賃も前払いなのでそれも合わせるとけっこうな額です。学生や新卒には厳しいところです。
敷金や礼金がないといった物件もあるので、あらかじめそういった縛り条件で物件を探すのも手です。

しかし、日中は仕事や授業で家にいないにしろ、残念ながらぼっちは飲み会に誘われることもありません。ぼっちでもアクティブに休日などは出かける人もいるかもしれませんがインドア趣味な人も多いと思います。そうなるとかなりの時間を家で過ごすこととなります。ここは多少無理をしてもよいのではないでしょうか。ぼっちの場合、交際費がかからないのでその分を家賃として使うという考え方もできます。

引越し業者

家具家電が一式揃っていたり、組み立て式ではないベットが既にある場合はその限りではありませんが それほど荷物が多くないのであればヤマトホームコンビニエンスの一択になってくると思います。
変に人望があり手伝ってくれる人が多数いる場合は、トラック借りて自分たちでできるのではないかと思うかもしれませんがやめたほうが良いです。ぼっちの場合はそんな変な気も起こらないので問題ないないナイアガラです。

引っ越し前にやること

  • 転送届
    郵便物の転送届を出す必要があります。実際に開始されるまでに少なくとも2~3日はかかるのでできるだけ早めに届けたほうがよいです。
    郵便物に加えてヤマト運輸でも転送サービスを扱っています。しかしこちらは郵便よりもさらに開始されるまでに時間がかかるので注意が必要です。

  • 電気・ガス・水道
    各種、停止の手続きが必要です。ネットでも受付している場合が多いですし、電気と水道は当日電話で解約で大丈夫です。
    しかし、ガスだけは元栓を締める時に立会いが必要です。引越し当日に業者に来てもらうためにはゆとりをもっての申込みが必要です。

  • 住民票移動
    住民票の移動が必要です。土日でも対応してくれる自治体もありますが、その限りでもないようです。

  • ゴミ捨て
    引っ越しに伴い、家具・家電など大きなゴミが出ます。
    粗大ごみで出す必要がありますが決められた場所まで持っていくのがぼっちでは無理です。
    まだある程度新しいものであれば出張買取をお願いするのも手ですが良い値で買い取ってくれるわけはありません。回収業者を頼んでしまうのが面倒がなく良いでしょう。引越し業者で回収も扱っているところがあるようですが少々高めの気がします。近くの回収専門業者を探しましょう。

  • 退去届け
    大家さんまたは管理会社へ退去の旨を伝えます。

  • ダンボールへの荷物詰め
    誰も手伝ってくれなくても、ひたすら頑張りましょう。

引越し後にやること

  • 住民票移動
    転出したので転入する必要があります。田舎だと遠い、遠い市役所まで足を運ばなければいけませんが、都会の場合は役所の出張所が多くあるようで意外と近所にあったりします。そして今の御時世ですとマイナンバーの通知カードの住所変更も忘れずにやりましょう。

  • 電気・ガス・水道
    こちらもネットで申請できますし、電気と水道は当日電話でもOK。ガスについては開栓の時にも立会いが必要です。ガスなんて数日なくてもいいだろうと思うかもしれませんがお風呂に入れないのはけっこう辛いです(´;ω;`)

  • ダンボールの開封
    誰も手伝ってくれなくても、ひたすら頑張りましょう。

  • 免許証の住所変更
    すぐに変更しなくてもよいですが身分証明書として使っている場合は住所が住まいとズレているとけっこう不便です。

インターネット

ぼっちの強い味方そうそれがインターネットです。グーグル先生は誰にでもやさしいです。最近ではソフバン光やドコモ光などのコラボ業者が主流なようなのでNTT東西の壁はなくなりつつありますが、フレッツに加入している場合で東西の壁がある場合は解約→加入の流れになります。新たな加入の選択肢としてはそのままフレッツを使う、コラボ業者に乗り換えるといった手があります。また、auひかりやケーブルテレビを利用するというのも物件によっては可能です。フレッツで東西の壁がない場合は新規契約ではなく、契約をそのままに引越し手続きだけで済ませるという選択肢もあります。どの選択肢にしろ引っ越ししてから申込をすると工事が必要なので数週間の空白期間が生じることになります。

どの選択をするか、これは一記事かけるくらいに難しい問題です。どれにするかはアナタ次第です。

田舎では電波がろくに入らないので選択肢として除外されますが、都会ではwimaxという手段もでてきます。try wimaxという無料トライアルがあるので試してみるのもいいと思います。但し、クレジットカード登録、キャリアメール必須という高い壁があります。そして、試してみると分かりますがwimax2になってからは3日で3GBの通信制限が出来てしまったのでホームルーターとして使うのは厳しいものがあります。

家電

店頭に行って店員のオススメを聞くのは間違っています。ぼっちたるもの人を頼らず自分で情報収集をすべきです。 店舗によって当たりハズレはあるでしょうが、今の家電売場では担当者がメーカーごとに分かれてしまっていて総合的な知識を持っている人が少ない気がします。そして新人教育の一貫なのか何なのか明らかに頼りない人間ややる気のない人間も目につきます。特に白物家電は酷い気がします。
価格.comやメーカーの商品ページを参照する方がまだマシです。店頭に行く意味は実物を見るくらいでしょう。余計な店員と絡まなくて良いですし、都心の場合は驚くほどすぐに配達してくれる場合もあるのでヨドバシドットコムあたりの通販もいいですね。

そして今回、私が洗濯機と冷蔵庫を購入したのが無印良品です。無印良品の家電や家具はじんわり値上がりしているようですが、それでもまあ安いほうです。デザインのシンプルさとちょうど購入したい時に無印週間(定期的に開催される全品10%off期間)を開催していたのが決め手です。しっかり動くのかという心配がありますが、今のところしっかり洗えています、冷やせています。即日配達してくれないところはポイント低いです。無印の場合、購入したもの次第にはなりますが家具や家電をまとめて購入したほうが送料が少し安くなるようです。

そして無印にせよ家電量販店にしろ設置、取り付けは有料の場合が多いです。しかし、ぼっちには水漏れしても助けてくれる友人はいません。自信がない場合は頼んだほうがよいでしょう。

家具

無難に済ませるのであればニトリ、無印、イケアあたりを使えばよいでしょう。ネット通販や店舗配送を利用しましょう。衣装ケース一つでも駅の階段昇降で死にます。ニトリの場合は店舗とネット通販で配送料が異なります。無印はキャンペーンなどを除き、基本的には店舗とネットで配送料は同じです。ニトリでは神奈川や千葉の一部郊外店舗ではほろ付きの軽トラを貸してくれますが、ぼっちだと荷物の上げ下ろしが難しいので利用はオススメできません。そして、だいたいの商品は組み立て式になっています。それほど複雑な作業はないですが、押さえててくれる人がいないとけっこう不便です。めげずに頑張りましょう。

総括

ぼっちな引っ越しマジ大変です。引っ越しを手伝ってくれる信頼できる人を作るように日頃から心がけておきましょう。

『ノンデザイナーズ・デザインブック』を読んでの感想

ノンデザイナーズ・デザインブックを読んだ読書感想文。

概要 ~Hello Design World~

本書はタイトル通りデザイナーではないが洒落乙なプレゼンテーションやwebページをなどを作成したい人向けの本です。私がコードだけで全てを語ることができるハイパーエンジニアならばよいのですが、残念ながらそうではありません。自分の行った成果を人に正しく伝える手段を身につけなければいけません。この本は情報をデザインし、相手に伝わるアウトプットに昇華させるテクニックを紹介してくれています。

大きくは前後半の2部構成になっています。前半はデザインの4つの大原則「近接」「整列」「コントラスト」「反復」と「色」についての知識紹介です。さらに、前半最後では4つの原則を豊富なサンプルを交えてトレーニングしてくれます。

以下に紹介されている4つの原則について簡単にまとめてみました。

  • 「近接」とは、関連ある要素を近くに配置しまとめ、逆に関連しない項目同士を離すことで情報を組織化することです。

  • 「整列」とは、デザインの組織化に加え一体感を演出し情報を整理する効果があります。もう1つの目的としてユーザの視点を誘導し情報の組織化を行います。安定感を求め何も考えずに中央揃えにしてしまうことがあるがこれは良くありません。中央揃えは角張った静粛な場面など目的のある場合を除いて使わないようにすべきです。左揃えや右揃えを使用したほうが洗練したデザインをつくり上げることが可能です。また、基本的には1ページには1種類の方向へ揃えるべきです(例えば、右揃えと中央揃えを併用してはいけない)。

  • 「反復」とは、デザインにリズムを生み出し、そのコンテンツに一貫性を与えてくれます。小見出しなど既に反復している要素を目立たせることで情報に一体感を演出してくれます。

  • コントラスト」とは、実現方法はフォントの選択、色、形、サイズ、空白などあらゆる方法があります。大事なことは2つの要素の違いをはっきりくっきりさせるさせることで、微妙な違いは意味がありません。決して、臆病になってはいけないのです。

後半は「フォント」の重要性と使い方にページを割いています。残念なのは欧文フォント向けに書かれており、日本語フォントにはそのまま当てはめれない部分があることです。別に、日本語フォントの知識について資料を読む必要性がありそうです。

実践 ~ただの履歴書には興味ありません~

「ただの履歴書には興味ありません。この中に優秀なエンジニアがいたら弊社のところに来なさい。以上」

将来、人材エージェント、ジョン・スミスさんからこのような転職の誘いを受けるかもしれません。今回、そんな来る日に備え自分の履歴書を作成してみました。

before

(注意:この履歴書の内容はフィクションです)

希望職種はエンジニアなので、これで十分でしょうか(?_?)う〜ん、どうも私の優秀さが伝わっているとは思えません。ひと目にも触れることはないでしょう(´・_・`)
このことから履歴書においても最低限の身だしなみは大切なことがよく分かります。それでは、この『ノンデザイナーズ・デザインブック』に紹介されているテクニックを実際に使ってみましょう。

after

主な変更点

  • 中央揃え → 右揃えにする
  • 「学歴」や「志望動機」などの小見出しは左揃えにすることによってコントラストを出した
  • オレンジの水平線を小見出しの下に挿れることによって反復とグループ化を図った
  • afterの左側には大きく名前バーを設置しアピール
  • 「履歴書」や「名前」など書かなくても分かる情報をafterでは削除
  • フォントの種類を1種類から2種類へ
  • フォントを「MSP ゴシック」から「ヒラギノ角ゴ Pro」「ヒラギノ明朝 Pro」へ変更
  • afterでは小見出しや左側の名前バーにはサンセリフな「ヒラギノ角ゴ Pro」を、本文にはセリフ体である「ヒラギノ明朝 Pro」を使用しコントラストを出した
  • afterの名前バーと小見出しには同じフォント使用しているが、それぞれw6, w3を使用しwightを変えている
  • afterの左側の茶畑の緑と水平線のオレンジ色は補色関係である

なんということでしょう。素人目にもだいぶデザインが改善されたことを感じることができます。これならばジョン・スミスさんもひと目見る気になるかもしれません。今の私は中身が伴っていないので落とされるでしょうが、見てもらえるだけでも一歩前進です。

もちろん、まだまだこの履歴書には改善や工夫の余地は残されていると思います。しかし、私はエンジニアだからデザインなんか関係ないというダメ意識は少なくとも改革することができました。

まとめ ~さよなら絶望デザイン~

この本の冒頭にジョシアツリーの話が出てきます。確かにそこに存在はしていたがまったく意識することがなかったので認識出来なかったジョシアの木を図鑑を見て名前を認識することによってはじめて見えるようになったというお話です。「知識」が足されることで新たな世界を見ることが出来るようになったのです。このように、この本ではデザインに対してまったく知識のなかった私に新たな視点を与え新たな世界を見せてくれました。

私はデザイナーとは、無数のフォントや色を巧みに駆使し素敵なイラストやキャラクターを散りばめ、私が作った糞ダサなwebページも一瞬にして絶対アクセスしたくなるようになる、そんなことができる人のことだと思っていました。まるで魔法使いです。人は自分の領分以外の理解が及ばない分野になると魔法のような感覚に陥ることがあるかもしれません。しかし、その正体は魔法なのではなく小さな知識やテクニックを駆使した努力の結晶だったです。

今回、この本を読みデザインの世界を少しだけですが覗くことによって魔法などではない努力の積み重ねを理解することができ、少しだけですが真似ごとができるようになりました。

『リーダブルコード』を読み終えての感想 〜アンドロイドはコードを書ける夢をみるのか?〜

リーダブルコードを読んでの読書感想文です。

Amazon.jp : リーダブルコード―より良いコードを書くためのシンプルで実践的なテクニック (オライリー・ジャパン)

概要 〜Hello Readable World !〜

この本は大きく分けて4部の構成でリーダブルで美しいコードを書くための手法やテクニックについて書かれています。

第1部は変数や関数名の付け方やコメントの付け方など、私のような経験のない者でもすぐに実行できそうな「表面上の改善」です。

第2部が「ループとロジックの単純化」です。ロジックというからには小難しいプログラミングの話になってしまうのかと思いましたが、そんなことはなく三項演算子やdo while, go to文、グローバル変数はロジックが複雑になるから使わないようにしましょうといった話でした。ただ使うなと押し付けるのではなく使わないほうがよい理由がはっきりと書かれているので自然と受け入れることができます。また簡単な名前で式を説明することでコードを文書化する(説明変数)手法が紹介されていてなるほどと納得する考え方でした。そして、変数を複雑化させないために変数の数はできるだけ増やさないほうがよいという考え方は、ハッとする気づきだった。当たり前のことではあるが当たり前のことを体系化し意識することがとても重要なのだと感じました。

第3部が「コードの再構成」です。何も考えなしに実装を進めると大抵コードは肥大化していってしまう。それを考えもなしに分割し、どの関数がどの関数を呼び出しているかの依存関係が分からなくなり、ローカル変数名とグローバル変数名が衝突し、完全に袋小路に嵌り込む(;´Д`)
そして、この第3部では、そんなこともあろうかと救世主ばりに解決策を提示してくれます。具体的には、汎用部分の切り出し方、1度に一つのタスクを関数などのまとまりにする、関数ロジックを3行ほどで簡単に説明できるようにするといった手法が紹介されています。

第4部はテストコードのリーダブル手法とそれまでに紹介されたノウハウを活かした具体的な実装をテーマとして取り上げた実践的な内容です。

実践 〜ひと目で尋常でないコードだと見抜いたよ〜

かねてより自分のコードには漠然とした汚さを感じていました。しかし、なぜ自分のコードが汚いと感じるかが理解できませんでした。
それではここで私の汚コードを振り返って見ましょう。 以下にリーダブルコードを読んで気づいた直近に私の書いたJSコードの汚さの原因を挙げてみました。

  • 何も考えずに変数や関数に抽象的な名前をつけている。1つのプログラム内でキャメルケースやスネークケースが入り乱れていて、名前の付け方を何も考えていないことがよく分かる(´・_・`)

  • グローバル変数を考えなしに使っていて、変数が行方不明に陥っている(゚ロ゚;)

  • 目を凝らさないとどんな機能を持った関数なのかよく分からない
  • 似たような機能を持つ関数が乱立している
  • 3重ループのようなネストの深い文があり、配列のどこにアクセスしているのかがよく分からなくなっている

リーダブルコードを読んだことによって、モヤモヤしていた不快感を具体的に気づき見抜くことが出来ました。少し進歩です。
では、次に解決策を挙げてみましょう。

  • できるだけローカル変数を利用し、スコープを小さく保つ
  • 関数名を熟考し具体的につける。シソーラスを活用する
  • 駆動開発をする前にプログラムの流れを書き出し、機能別に必要な関数を挙げていく
  • 自分の考えをコメントとして残す
  • 行数が増えてもネストは浅くし、目に優しくする

たぶんこれだけでは完璧なコードになったわけではないでしょう。すぐにこの本に書かれていること全てを実行するのは不可能だし、その必要もないと思います。大切なのは綺麗なコードを書くことを常に頭に置き、習慣化していくことです。紹介されているテクニックから必要だと思うものを使っていけば少しづつではあっても綺麗なコードになっていくのではないかと思います。

まとめ 〜やればわかる!!やらなければ一生わからん!!〜

シンプルで分かりやすく、理解しやすいコードは「美しいコード」です。美しいコードはメンテや拡張、リファクタリングがしやすい。実際にそのような完成された美しいコードを見てしまうと、このコードは熟練したセンスや勘のような自分にはないものを持っている人にしか書けないんだと思い込み、美しいことは理解できるけど真似出来るわけないと落ち込んでしまっていましたorz

しかし、この『リーダブルコード』では職人芸のような完成されたコードも実は1つ1つはそれほど複雑ではない手法や小さいテクニックの積み重ねによるロジカルな集合体であることを具体例を交えて紐解いてくれています。1つ1つは小さく真似できますが、多くの考えを組み込むことで職人技のようなそう簡単には真似できない美しいコードが出来上がっていることを教えてくれています。そして自然と美しいコードを書けそうな気分にさせてくれます。

ただ、気分になっているだけでは何の意味もありません。実際にリーダブルなコードを書けるようにならなければいけません。そうしなければ役立たずとマサカリを投げられ死ぬだけですorz たどたどしくとも実践していくことこそ大切です。はじめは引き出しや要領がない分、よく考え悩まなければいけない時間が多く大変です。しかしその考え抜く時間を少しづつ積み重ねることが経験を積むということであり、それがセンスや勘と呼ばれる本質的な理解へとつながっていくのではないかと思います。

SF映画『バック・トゥ・ザ・フューチャー2』では主人公たちが劇中で30年後の未来へ行くシーンがあり、先日その未来2015年10月21日が実際にやってきました。どれくらい映画の世界観が現実のものになっているかが話題になっていました。今から30年後に思いを馳せると自分が寝ている間にコードが完成している夢のような世界が待っているかもしれません。しかし、何年経とうと「悩み」「考え」「最適化」していくというサイクルは要領のよい人工知能やアンドロイドには真似出来ない気がします。アンドロイドには書けないリーダブルな美しいコードを30年後の自分が書いていることを夢見て、今後のコードを積み重ねていきたいと思います。

第48回情報科学若手の会に参加してきた(ゆるふわ感想)

今年も昨年に引き続き情報科学若手の会に参加させていただきました。

会については公式ページやこちらのQiitaの記事を読めば分かるんじゃないかな(・・?)

togetterにまとめをしてくれた方もいて会の雰囲気が伝わると思います。

みなさんの素晴らしい発表と私のしょうもない感想

勘違いしているところもあるかもしれません(´;ω;`)ゴメンナサイ

1日目

はじめてでもわかる!IoTの過去・現在・未来

そして、発表者の方はPICALAというシステムをセッション中に運営されていました。
どんなシステムかというと... f:id:orange_lily27:20150925220716p:plain
こんな感じで発表中に聴講者の反応が分かる超便利システムです。
聞いている方も他の人が何考えているか分かったりしていい感じでした。

将来的にはなんちゃらウォッチとかからストレス情報を得て「リスナーが寝ているぞ!オモシロイこと言え!!」みたいなアドバイスをしてくれるシステムとか出来ないかななんて想像していました。ただ本当にそうなって技術が進化してしまうと見たくないものには目を瞑る知恵をつけなければいけないかもしれませんね(・ω<)

IoTで進化するミツバチとの交流

養蜂という昔ながら伝統技法とIoTという新たな概念で新しい物を生み出していくのはまさにものづくりの醍醐味なんじゃないかなと思いました。私もハンダゴテくらい出来る器用さが欲しかったorz...

プログラムを書くってどういうこと?を哲学的に考える話

  • プログラミングの哲学的なお話
  • 私には哲学は早かったorz...
  • 言っている一つ一つのことは分かるのだが、テンポが良すぎて頭の中に出てきた???がまったく消化されないままスライドがどんどん進んでしまって最終的にモヤモヤだけで終わっていってしまった
  • やっぱり私には哲学は早かった(T_T)

まあでもこの手の話は結論がストンと出てくるものでもないと思うので、モヤモヤという形で心に印象づけをして議論喚起を促すという発表者の意図があったのなら術中に嵌ってしまったなという感じです。

モバイルエージェントを用いた、群ロボット制御の提案

  • 群ロボットの話を聞いているとベイマックスのマイクロボットを思い出しました
  • 群行動できる蜂って頭いいな(小並感)

Alloy で学ぶ形式手法

交流イベント

若手の会ではぼっちを生まないためにも交流イベントの時間が設けられています。
今年はマシュマロチャレンジでした。

若干のローカルルールを加えいざチームに分かれ勝負。私たちのチームは果敢に一攫千金を狙い最終的にマシュマロと同じ高さ2cmでした。終わった後に突貫で試しに作ったやつは20cmくらいいったんですけどね...

2日目

ぼくらのプログラミングから、みんなのプログラミングへ

私のように趣味でプログラミングしていて周りにプログラムを組む人がいない人間にとっては、UnityのようなゲームエンジンRoRのようなフレームワークはものづくり・コーディングのハードルを下げてくれ、プログラミングの楽しさを教えてくれた便利ツールであることは間違いありません。それでもたとえ低くいものであってもまだプログラミング及びプログラマー文化にはハードルが存在しています。そういったハードルを完全に取り払ってくれる純粋に楽しいコンテンツ作りができるサービスというのが出てきてくれるんじゃないのかなーそんな楽しい未来がくるんじゃないのかなーという期待が持てる非常に楽しい講演でした。

HCI 分野の紹介と最新研究

  • http://www.slideshare.net/ota42y/hci-52978848
  • 超わかりやすい。情報を物凄く適切に取捨選択していい感じにHCIについて紹介をしてくれた発表でした。そういった発表は聞いていて気持ちがよいものです
  • ボタンの押しやすさを数値化することができる

ワンスイッチ Wii コントローラーの製作 〜福祉機器における Arduino 活用〜

  • wiiのコントローラーを改良して身体の不自由な人でもゲームをできるようになるという知見

趣味でも使えるクラウド!

ISP の作り方

  • The Internet の仕組み ~ISPの作り方~ // Speaker Deck
  • ISPを作るとは一体(・・?)
  • https://www.bgp.ne.jp/
    実際のISP業者さんではとてもレガシーコードが動いているそうなので、こういった自主組織で実験的な試みを行いノウハウを提供していきたい
  • インターネットは世界にひとつ!(本当はIpv4Ipv6の2つ)
  • インフラ屋さんの挨拶は各組織のAS番号(゚ロ゚;)そしてとてもぎょーせまらしいです

IT×宇宙で何をしよう!?

  • JAXAとITシステムの話
  • けっこう社内で構築しているシステムも多い
  • 外部のシステムに委託すればいいのでは(・・?)
    もちろんセキュリティ的な観点もあるでしょうが、これはあくまで私の勝手な想像ですが予想以上にJAXAっていう組織は一部の人を除いてITに対してレガシーな感覚なんじゃないでしょうか(・・?)なんか面倒くさそうじゃない、ハードル高くない(・・?)だったら簡単なものを社内で作ってしまったほうが説得しやすくないといった古臭いことが原因な気もします。あくまで個人の意見です。
  • 衛星データはオープンデータとして公開されているものもあるが、特殊な形式で配布されていることが多い。HDFつらい(;´Д`)
  • そんなあなたに衛星データを使いやすくしたJAXA Open APIの話 → JAXA OPEN API COMPETITION

帰りの電車の中でNASAのopendataを利用しまして試しにこんなものを作ってみました。

Use Open Data with SPARQL

  • Use open data with sparql
  • SPARQLの知見
  • セマンティック系のこの手の話は何度聞いても雲を掴まされているような気分です(;´Д`)
  • 自治体とopendataの知見
  • 動物園データAPIあり
  • 座長さんの手厚い補足あり、ややコンフリクトw

Denkinovel をどうして作り続けているのか

  • 動く小説投稿サイトDenkinovel(デンキノベル)の作者さんのお話
  • 簡単に小説を投稿できるサービス
  • プログラマ25才定年説に会場がざわつくw
  • 老害エンジニアとして生きる道もある
  • プログラミングが先か(・・?)プロダクトが先か(・・?)
  • 趣味として開発を続けることに意味があるのか(・・?)
  • 自分が作りたいものを純粋に作れる素晴らしさ
  • 「何かを学ぶためにアプリケーション開発をする」
  • 趣味なサービスでもしっかりユーザーさんのことを意識できるからこそ開発を続けられるんだろうなー

プログラミングが先か(・・?)プロダクトが先か(・・?)みたいな話は就活中の面接でも聞かれたのでエンジニアな人、エンジニアになりたい人は一度考えてみるといい議題かもしれません。dennkinovelは簡単に凝った小説を投稿できるけど、それでも小説投稿だとハードルやや高めなのでポエム投稿する機能とかつかないかな(・・?)

リッチラボの開発に集中するための開発環境

  • DevOps知見
  • デプロイ環境自動化素敵

LTセッション

メモが適当過ぎる(;´Д`)

3日目

Twitter のデータ処理テクノロジーとTwitter での仕事について

  • TwitterRubyを完全に捨てた。時代はscala
  • バッチ処理とリアルタイム処理を組み合わせてより正確なツイートアクティビィティを表示しているらしい
  • 海外で働くのはいろいろ大変(;´Д`)

ICT トラブルシューティングコンテストの紹介

ルータで斬り込め!おうち IoT

まとめ

自分の感想と発表者の意見がごちゃごちゃになってしまい大変なことに(;´Д`)メモはしっかり整理して取りましょう。まあ、発表の書き散らかしたメモをまとめただけでもこれだけのボリュームになり多くの知見を得ることができる素敵イベントであることは間違いありません!本当に凄い人たちとお話することも出来ます!!誰かの紹介で参加されている方が多いのは事実で、初回参加のハードルは低くはないと思いますが、普段はぞんぞん引きこもりぼっちぐらし!をしている私でも楽しめるのでほとんどの人は問題ないかと思います。面白いことに対するアンテナ感度には自信のある私が謎の行動力を発揮した価値は十分にある会だと思います!!!今年も参加することができて良かったです、ありがとうございました。

Macのアダプタを忘れ物しました(;´Д`)本当にごめんなさい...

他の参加者さんの感想ブログ

Railsで不可算名詞を使いたい場合

railsでは由なにルーティングやディレクトリの名前を決めてくれる。
便利ではあるが、不可算名詞のなどの場合は勝手にsとか付けられると見た目が悪い。
そういう時の対処法。

config/initializers/inflections.rbに以下のように記述する。

ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.uncountable %w( knowledge )
end

knowledgeのところを由なに変える。

参考

Railsでmodelを作成日時の降順表示する方法

Railsでmodelを作成日時が新しいものから表示する方法のメモ。

例えばUser modelを作成日時の降順に出力させたい場合はControllerで以下のようにすればよい。

def index
    @user = User.where(user_id: current_user).order("created_at desc");
end

逆に昇順表示させたい場合は、descの部分をascに変更すればよい。

centosでnginxが起動しない

centos上でnginxが起動しなくなったので
何事かと思ったらselinuxが裏側で動いているのが原因だった(;д;)

とりあえず停止させる。

sudo setenforce 0

ちなみに起動は

sudo setenforce 1

再起動の際にも起動させたくない場合は設定ファイルをいじる。

sudo vi /etc/selinux/config
#無効
SELINUX=disabled
#有効
SELINUX=enforcing