ゆるふわ技術日誌

エンジニア見習いの悪戦苦闘日記

反省した #268

反省した

いろいろあってここ最近の自分の行動を反省した。

毎日ちょこちょこ技術的なことこそしているもののなにかひとつのことをやるとか、継続してやったりしてないなと思った。というか言われて気がついた。

自分がそうやって適当やってる間に周りは圧倒的成長してしまうのだ。

自分に甘いな、と思った。いつも思っているけど今日も同じことを思った。

学生生活も残り約1年、幸いにも研究室はとても恵まれた環境にあって、自分を成長させるのには十分すぎる環境があるし時間の使い方を考えて自分の進むべき道を考えた方がいいのかなぁと思った。

そんな1日だった。

とりあえず、もう時間もないし今後の方針を決めることと、そのための環境を整えることから始めたい。

雑談

ここで気持ちをうまいこと切り替えられるようになったのは成長なんですよ。たぶん。

心強くなった…と思うんだけどなぁ。

その一方で、1年後がちょっと不安になった。不安を払える日はくるのかな。いや来させないといけないんだけど。

Dockerfileに苦戦した #267

Dockerfile

研究室のサイトを作る関係で、JekyllをビルドしてWebサーバー立てるDockerfileを書く必要が出てきたので、そんなことをした。

私が最初に書いたDockerfileはこちら。

FROM ruby:2.5.0

ENV PORT 8000

ADD . /jekyll/
WORKDIR /jekyll

RUN bundle install --path vendor/bundle
RUN bundle exec jekyll build

CMD ruby -rwebrick -e 'WEBrick::HTTPServer.new(:DocumentRoot => "./_site", :Port => ENV["PORT"]).start'

こんな感じ。

とりあえずディレクトリ以下をコンテナの/jekyllに持って行ってbundle installしてビルドする。吐き出されたディレクトリ以下をWEBrickを使って公開する…みたいな?(jekyll serveでいいような気がしてきたけどそこは本題ではない)

これでええやろ〜〜と思っていたのですが、「これ毎回bundle install走るからめっちゃビルド時間かかるんですよwwww」とか研究室で言ってたらそうじゃねぇwと言われてしまった。

書き直したDockerfileはこれ

FROM ruby:2.5.0

ENV PORT 8000

WORKDIR /jekyll

ADD ./Gemfile .
ADD ./Gemfile.lock .

RUN bundle install --path vendor/bundle

ADD . .

RUN bundle exec jekyll build

CMD ruby -rwebrick -e 'WEBrick::HTTPServer.new(:DocumentRoot => "./_site", :Port => ENV["PORT"]).start'

先にGemfileだけをコンテナに持って行ってbundle installして、その後に他のファイルも持って行ってビルドをするという感じ。

こうするとGemfileに変更を加えない限りはbundle installの行まではキャッシュが効くので一瞬で終わる。

いやお前これ当たり前やん…!と言われてしまえばそれまでなのですが、僕はこれを知らなかった。悔しさある。

おかげで一瞬でビルドが終わるようになりました。

んでまぁこんなスライドが有名だよと教えてもらった。

これを読んで、RUN&&\で繋げまくっているDockerfileとかがやたら存在する理由がわかった。

何気ないことでも普通に学びがあるので研究室は良いところ。

雑談

まぁそんなこんなでDockerfile書いたり、ちまちまこまこました作業をしていたら、あっという間にこんな時間。

明日は遅いし、今日もElmをやろうかな。

遊んだ1日だったので最後はElmで締める #266

遊んでました。

昨日のブログの宣言通り今日は遊びに出かけていました。

行き先はお台場。メガウェブっていうトヨタの施設があって、そこに行くと1回300円でトヨタのいろいろな車種に乗って試乗コースを走れるライドワンというのがあります。

見て乗って感じる クルマのテーマパーク MEGA WEB(メガウェブ)

クルマ好きにとってはたまらない施設ですね。過去にも数回行ったことあったのですが今日も遊びに行ってきました。

今日の試乗は2台。

1台目が

まさかのタクシー。最近都内とかでは割と見かけるようになった新型タクシーのジャパンタクシーです。

ハイブリッドで、スライドドアでとタクシーらしからぬ仕様w

乗り心地は良くも悪くも普通、ある意味タクシーっぽい乗り心地がしないという意味では進化なんだろうか。僕が座ったのは運転席なので乗客として乗るとまた違うのかもしれないですね。

そして2台目がVitzのGR、MT車です。

フロントの上半分だけは好みの見た目をしている。

MT車めっちゃ久しぶりで、ギアチェンジはガクガクだわ出発するときスタッフの目の前でエンストするわ、悲しい気持ちになった。

練習したくてもMT車乗る機会なんてそうないしさぁ…

試乗終わった後スポッチャ行こうとしたら90分待ちで普通に諦めました。なんかめっちゃキッズがいた。

Elmで締める

てなわけで遊び尽くして帰ってきて、このまま寝るのは腑に落ちないので、今日も2時間か3時間くらいElmの勉強でもして寝ようかと思います。

昨日、Elm Architectureの勉強してて、わからない文法にめっちゃ出会って手が止まりまくったので、ちゃんと言語の仕様を勉強しようかなぁと思います。

雑談

明日は、先輩たちの卒研発表らしい。(自分も見に行くけど)

ということは何事もなければ1年後自分がやってるってわけで。

いろんなことに興味を持って、アンテナ張ってなにかテーマになりそうなものをそろそろ見つけて動き出しても早くはないんだろうなぁなんて。

せっかく、全学に向けたWebサービスを提供する基盤を触れる権限を持っている研究室に入ったので(そもそもこれが研究室選びの同期だし)そのバックグラウンドを存分に活かして暴れてやりたいなぁ。

結局そうすると学部の期間だけじゃ足りなくなるんだなぁって今になってわかった気がする。

そうも言ってられないので限られた時間の中で最大限のバリューを発揮できるように頑張っていきたいです。できんのかなぁ自分。

Elm TutorialのElm Architectureの部分を進めた/他 #265

Elm Tutorial進捗

昨日に引き続き、Elm Tutorialを進めました。

今日はElm Architectureの習得を…。と思ってはみたもののなかなかうまくいかないもんですね。

CmdとかSubscriptionsとかについても触れて、使い所は掴んだのであとはたくさん作るしか道はないかなと。

github.com

自分一人で進めているだけなのでそんな頻繁にPushしたりしないとは思うけど、一応リポジトリを作ったりした。

あとElmのTutorialはなぜかWebpackが1系を使っていたので、代わりにcreate-elm-appを使った。一通り環境を作ってくれるので楽チンである。とりあえず初心者のうちはこれに頼っておいて今後困るケースが出てきた時に対処は考えることにする。(Reactのそれと同じで、ejectすることで設定ファイルとかを取り出すことができるみたいので、スケールしてきて困っても大丈夫そう)

あと、今までVSCode使って書いていたコードをAtom+elmjutsu(plugin)という組み合わせにしてみた。補完がこっちの方が圧倒的に賢い。

ただエディタ自体の使い心地でいけば、慣れているということもあるがVSCodeに軍配があがる気がしているので、その辺どうしたもんかなぁと思う。悩ましい。

サイトのデザインとかしてみた

ちょっと息抜きがてら今度リニューアル予定の研究室のサイトのデザインをしてみた。

ソフトはSketch。Slack emojiを作るくらいの用途でしか使ってなかったのでほんとに初心者。(なんで買ったし)

こんな感じになった。

f:id:uutarou:20180204232734p:plain

僕に足りないのはソフトの使い方とかいう以前にデザインセンスのような気がして来る仕上がり。

PC組んだ

なにやら学校のサーバールームに置くマシンが届いていたので先輩と組み立てた。

パーツ群。組み立て後の画像はデジカメで撮ったんだけど取り込むのが面倒なので割愛。多分先輩のブログに載る。(追記:載ってた)

これらのパーツと一緒にラップトップ1台と10Gの16ポートスイッチ(!!!)を運んだら腕がちぎれそうになった。

横着しないで数回に分けて運ぶべきであった。おかげで、ご飯を食べるにも腕がだるくて茶碗持つのが辛かった。

雑談

日曜に研究室に行くとほとんど人がいないおかげでいい感じに進捗がでる。

スピーカーで最近お気に入りの「ヤバイTシャツ屋さん」の曲をかけまくりながら作業した。

昼休憩はでかい画面でポプテピピックを見た。

あまりにもクソすぎて記憶にない。前半だけ見て再生終了した気がする。

あと、夕方にゲリラ豪雨っぽい写真がとれた。

以上。

追伸:明日は遊びにいくのでゴミ更新になりそうな予感。

Elm Tutorialやってる #264

Elm Tutorial

www.gitbook.com

今日はElmの日ってことでここを最初からやってました。

とりあえずElmArchitectureを理解するところまでいきたいな。

雑談

難しい。今日はあんまり時間割けなかった。

やっぱり家にずっといるとぼーっとしてしまうのでダメですねえ。

個人開発を進めた1日でした #263

個人開発?を進めた

人とは言っても研究室のサイトの刷新です。

簡易CMSみたいなのを作って、簡単に更新作業ができるようなものをちまちま作っています。

ついでに、各プロジェクトがバラバラに持っているブログ(これから作られる予定)のRSSを定期巡回して、サイトトップにタイムライン的に表示する機能とかもつける予定です。

とりあえず、RSS巡回するところはまだ対象のブログがないし作ってもしょうがないということでそれ以外の部分をあらかた作りました。

管理画面はSPAで実装しようかなぁと思っています(規模的には全然大きくないけどこれは僕の個人的な趣味というか、練習のためです)

後世に残す可能性が大なのですこしは真面目にやるか〜という感じで、ちゃんとコミットメッセージ書いたりLint入れたり、Rails的に正しい書き方を心がけて書くようにしてみてます。誰かRails詳しい人にコードレビューをもらいたいですね。

リポジトリはこちらに。

github.com

ほんとにサンプルアプリかよというレベルの単純なモデル構造をしています。認証にはJWTを使いました。(KnockというGem)

雑談

いつもこのブログ、タイトルに#xxxって連番つけてるんですけど絶対どっかでずれてるんですよね。

やめようかなw

Laravelデビューした話 #262

なぜかLaravelデビューしました

お、おま昨日までRails書いておったやんけ…!

その通りなんですが、バイトでLaravelを触る感じになりまして。完全にお初です。(Railsの方は個人的な開発なので続行です)

知らない人のために軽く書くと、PHPのWebフレームワークです。Railsと同じでフルスタック系のやつです。

laravel.jp

僕はPHPほとんど書かないのでPHPのWebフレームワーク事情は知らないけどCakePHPとかと並んでよく聞く気がします。どっちがユーザー多いんだろう。

Railsのあれどうやるんだっけっていう検索で大抵出てくるし、公式のドキュメントも読みやすいので割と快適。

※個人の感想です

artisanとかEloquent(ORマッパーの名前)とかtinker(Rails console的なやつ。php artisan tinkerで起動できる)とかなんか出て来る用語が英語に由来してないぽくて覚えづらいけどまぁこの辺も慣れでしょう。

雑談

新しい技術やるのは楽しいなぁって割と何やっても思うので、そこから深く学んでいけるチカラだったりモチベを持つようにしていきたいですね。