らいむぎばたけ

つかまえなくてだいじょうぶ

畑に苗を植えた

畑に肥料をまいた の続き。

本当は雨の日に植えたくなかったけれど、今日しかタイミングが無かったので雨が止んでるすきを見て苗の植え付けを行った。欲張って色々植えたのできちきちでやばい。

f:id:lime1024:20210516150210j:plain
植え付けられた苗のみなさん

今日、実際に植え付けをやってみて思ったのは、穴ありマルチより、穴なしマルチで自分で穴を開けるスタイルのほうが体験が良い。マルチを敷くメリットは土はね防止や雑草防止などがあるが、穴ありマルチにしたときに、不要な穴 (苗を植えない穴) があると、そこから雨で土がはねたり、雑草が生えてきたりするかも?と考えるのは疲れるので、必要なところにだけ穴が空けられるほうが嬉しい。

ちなみにマルチとマルチ穴空け器はカインズで以下の商品を買った。

植え付けた品種はこんな感じ。なすと中玉トマトがちょっと元気がなくて心配。

ピーマンなど

f:id:lime1024:20210516150305j:plain
ピーマンたちの畝

  • ピーマン
  • ししとう
  • オクラ
  • パプリカ (赤・黄)

なす

f:id:lime1024:20210516150257j:plain
なすたちの畝

  • なす
  • 水なす

トマト

f:id:lime1024:20210516150245j:plain
トマトたちの畝

とうきび

f:id:lime1024:20210516150234j:plain
とうきびたちの畝

イカ

f:id:lime1024:20210516150226j:plain
イカたちの畝

きゅうりなど

f:id:lime1024:20210516150218j:plain
きゅうりたちの畝

  • きゅうり
  • ズッキーニ

ローカルの開発環境構築に mitamae を導入した

ついつい「みたまえ」って読んじゃうけど、「えむ・いたまえ」らしい。

ローカルの開発環境、会社 Mac と個人 Mac で使っているシェルも、設定も何もかも違っていて、いつかマージしたい、きれいにしたい、と思いつつも、端末の買い替えタイミングも無かったのでずっと放置していた。GW に重い腰をあげて dotfiles やらの設定の気に入っているところを合体させたりして、整理を行った。.zshrc の整理は、夢中になるとどんどん時間がとけていって怖かった。

それと合わせて環境構築を楽にできたら嬉しいなあと思っていたので mitamae を使ってみることにした。そして、できあがったものがこれ。 github.com 動作確認のために Macクリーンインストールしてから mitamae を走らせてみたけど、今のところいい感じに環境構築できてそうな気がする。

最初は itamae で良いかなと思っていたけど、環境構築するのに Ruby 入れるのもな〜と思っていたら、mruby は mruby 自体のインストールは不要で、ビルド済みのバイナリだけがあれば動くことを知ったので mitamae を使うことにした。 github.com

一番のハマりどころは home ディレクトリを ~/ で表していたところ。 ~/ だとうまく読み込まれなかったり、想定と違う挙動になってしまった。今思えばチルダ展開がうまくいかず、文字列として解釈されてしまっていたような気がする。

~/ 関連でもうひとつ。home ディレクトリ以下に間違って ~ ディレクトリを作ってしまったので、それを消すために rm -rf ~/ をしてしまったときは変な汗をかいた。その後怖くなってもう一回クリーンインストールした。

フィヨルドで「macOSクリーンインストールする」というプラクティスがあったが、クリーンインストールすることなんてあるかなあ?なんて思いながらやっていたことを反省した。そしてこれからはクリーンインストールしても mitamae ですぐに環境構築ができる、便利。

GW はコード書いた〜!っていうより、(畑と) 設定ファイルの大掃除をしていたような感じだったけど、楽しかったし、きれいになってなんだか気持ちがいい。mitamae 導入にあたっては、やままと k0kubun さんの dotfiles に大変お世話になった。ありがとうございました。

畑に肥料をまいた

畑を始めた の続き。

f:id:lime1024:20210509221851j:plain
牛糞堆肥は思いの外臭くない

先週は耕して天地返し (ラーメンではない) をして、この一週間は天日干しをした。今週は牛糞堆肥と苦土石灰を撒いて再び耕した。苦土石灰を撒くことで酸性に偏っていた土がアルカリ性になる。何度も耕すことで土がどんどんふかふかになっていく。

天地返しや土作りについてはここに詳しく書かれている。

そして昨日今日で畝を作って、マルチを敷いた。

f:id:lime1024:20210509221824j:plain
畝を作るやまま

f:id:lime1024:20210509221834j:plain
畝は全部で 6 つ作った

f:id:lime1024:20210509221843j:plain
pplog やままと黒マルチ

はじめてのマルチの設置はめちゃくちゃ難しかった。ピンと張るのがなまらむずい。最初は穴空きのマルチを使っていたが、畝の大きさに対して穴の位置が合わなかったので、急遽穴なしマルチとマルチ穴開け器を買った。穴は次回、苗の植え付けタイミングで開ける予定。

f:id:lime1024:20210509222229j:plain
植え付け待ちの苗たち

育苗ポットで育てている大葉、バジル、とうきびパクチーは順調に育ってきた。そろそろ間引きしてあげないといけない。あと、苗も買ったので植え付けが楽しみ。

畑を始めた

去年はこんな感じでプランターで庭で育てていたが、今年は運良く畑を借りることができた。

去年育てた夏野菜は以下の 10 種類。終わったあとに秋植えとして、わけぎとエシャレットも育てた (エシャレットはちょっとずつ収穫しているのでまだあるけど)。

今年は去年と同様の 10 種に追加して、とうきび、ズッキーニ、小玉スイカを育てる予定 (予定なのは苗をこの連休中に買うから) 。種から育てるもの (バジル、パクチー、大葉、とうきび) については、先週育苗ポットに植え付けを行った。昼間は庭に出して、夜はまだ寒いから家の中にいれている。一昨日に大葉以外は芽が出てきた。かわいい。大葉がんばえ〜!

今日付け (5/1) で畑を借りたので、今日はひたすら耕して土を柔らかくしたり、ゴミ、根や石を取ったりして合計で 5 時間くらい畑で作業をした。

f:id:lime1024:20210501213955j:plain
「プレイボール!」の掛け声により開墾を開始

最初はカチカチだった土が、ふかふかになった。うれしい。プランターと違って、畑は耕すと結構水分があることがわかる。すごい。

f:id:lime1024:20210501214013j:plain
before
f:id:lime1024:20210501214004j:plain
after

去年育ててみてわかったのは農薬はすごいということ。最初は農薬を使わずに育てていたけどきゅうりが割と初期で病気になってしまった。雨で土がはねてどんどん広がっていったんだけど、農薬を使って少しだけ復活することができた。農薬はすごい。今年は適宜使っていきたい。

あと、今年はナスのとげが刺さらないようにしたい。

Rails ガイドと MDN に PR を出した

日本語のドキュメントで表記が気になるところがあったので出した。はじめての経験だったので記録として。

放送大学の情報ネットワークの授業の中で、授業で学んだトピックのうち深堀りしたいことについて調べるという課題があり、 HTTP ヘッダについて調べていたときに見つけて気になっていた。

間違ったことが書かれているわけではないし、まあいっかくらいの気持ちで最初は見ていたのだけど、心のなかにあったもやもやが晴れなかったので出してみた。

github.com github.com

Fork して PR 送ることをほとんどしたことがなかったので、ブランチ名に自分で id: を入れないといけないのかなと思ってドキドキしたが、PR 作ってみたら自動で lime1024:fix_wording こうなっていてホッとした。

フィヨルドブートキャンプを卒業して転職していました

これは フィヨルドブートキャンプ Part 1 Advent Calendar 2020 の 24 日目の記事です。昨日は azitama さんの GitHubActionsでRubyのMinitestを実行する でした。Part 2 もあります。

はじめに

フィヨルドブートキャンプ を卒業して、 2019 年 6 月に転職し、気がついたら一年半が経過していました。そういえば卒業したことも転職したことも書いていなかったと思い、アドベントカレンダーを機に書くことにしました。RubyKaigi 2019 の 0 日目に内定の連絡をフィヨルドの @machida さん経由で頂いて、ふわふわした気持ちで RubyKaigi を過ごしていたのがなんだか懐かしいです。1

自己紹介

@lime1024 です。学生時代は高専の電気電子工学科でした。授業で C 言語はやりましたが当時は全く理解が出来ず、プログラミングの授業は大嫌いでした。通信に関わる仕事がしたいと小学生のときに思い、一陸特と 3 アマを取得し、学生時代はアマチュア無線同好会に所属していました。ちなみに、家族全員がアマチュア無線の免許を持っています。通信に興味を持ったのは、父と一緒にクーガー No.7 でラジオを聞いて、ベリカードを集めたことがきっかけで、将来の夢は「通信業界」で「エンジニア」として働くことでした。

前職

通建っぽい会社に新卒で入って、技術系というよりは管理系の業務をずっとやっていました。自分の思い描いていた「エンジニア」とはかけ離れていることが多く、日々おつらい〜〜〜〜!!と、なっていたところ、夫の勧めもあってプログラマとしての転職を決意しました。

勉強を始める

まず最初は向いているかわからなかったので Progate からはじめて、よちよち.rb や RailsGirls, more! に行くようになりました。はじめた頃 (二年半前) の日記を見たところ「mkdir はメイクディレクトリって読む」と書かれていて、そうか〜そこからだったか〜〜!!

フィヨルドブートキャンプに入る

転職する決意が固まったこと、コミュニティに参加して楽しかったこと、何よりプログラミングが楽しかったことから入ることを決めました。フィヨルドブートキャンプを選んだ理由は夫に勧められたからです。

当時は今のような有料制ではなく無料で、就職先の企業からフィヨルドにお金が入るという仕組み 2 だったので、卒業できなければフィヨルドにはお金が入りません。フィヨルドブートキャンプに入ってからプログラマに向いていないことがわかれば辞めることも致し方ないとは思いますが、途中でやっぱやめた〜となるのは違うかなと思い「絶対に転職するぞ」という強い気持ちで入りました。

転職を決意するにあたって、通信業界から離れる可能性が高いことは最後まで悩みましたが、それよりも「エンジニア」として働きたいという気持ちが強かったので入ることを決めました。

悪かったこと、良かったこと

フィヨルドブートキャンプの悪かったことを一生懸命思い出そうとしたのですが、最初は「悪い」と思っていても時間がたつにつれて「良い」に変わっていったことがほとんどだったと思います。例えば、良くも悪くも手取り足取り教えてくれないので、自分の思い描いていたスクールのイメージとは全然違いました。わからないことがあっても「まずはググろう!」「まずは公式ドキュメントを読もう!」という感じで「えっ、何も教えてくれない...」とはじめの頃はなっていたのを覚えています (勿論、質問すれば教えてくれるのですが) 。フィヨルドブートキャンプは道を示してくれますが、そこを切り拓いて進んでいくには自分の力が必要です。待っていても誰かが教えに来てくれるわけではありません。そのおかげで自走する力や質問する力がつき、わからないことは公式ドキュメントで調べることが大事だと理解できたので、結果的に良かったことだと思っています。

フィヨルドのお二人はスクールの先生というより、同じ会社の同僚 (先輩) みたいなイメージがわかりやすいかなと思います。先生っぽくないのは、以前書かれた @komagata さんのブログのタイトル「 スクールをやっているけど教えるのが好きなわけじゃない」 からもわかりますねw

転職して変わったこと、わかったこと

夫と技術的な会話ができるようになった

フィヨルドブートキャンプにいる間、夫のことはルー大柴だと思っていました。わからないことを聞いたり相談したときに返ってくる言葉に横文字が多くて、いつも???となっていました。夫曰く、就職してから会話のレベルがぐんと引き上がり、今まで教えてもらうだけの関係だったのが少しずつ変わってきていて、夫から相談を受けることも増えてきました。そして段々と自分もルー大柴に...

Ruby, Rails 以外にやらないといけないことがたくさんある

AWS, Docker, CI ... まあなんかたくさんありますよね。入社前の仕事のイメージは「RubyRails を使って新機能の開発をする」でしたが、いざ仕事としてはじめるとそんなことはありませんでした。最初の頃は AWS 周りの話を見聞きすると Elastic hoge が多すぎてよくこんがらがっていました。

コンピュータの知識がなさすぎてつらい

スレッドって何?プロセスって何??CPU 、メモリ.......???という状態を指しています。知らないことは以前から自覚しており、漠然とした不安はありましたが、はじめの頃は特に困ることはありませんでした。ただ、インフラに興味を持ち始めてからはそういうわけにはいかないと特に強く感じるようになりました。以前にインターネットのどこかで「コンピュータがわからないのにプログラマやってるやつは〜」みたいなくだりを見て胸がぎゅっと締め付けられたのを覚えています。

おまじないは無いし、魔法使いもいない

デプロイ周りの話を例に出すと、フィヨルドにいたときは master にマージしたらデプロイされていたので、なんかそういう機能があるんだなくらいの気持ちでした。転職してからも「あるブランチにマージするとデプロイされる」けど「そういうもの」としてしか認識していませんでした。なので、当時の自分はデプロイが失敗しても、なんでデプロイできないんだろう?でも、デプロイを管理している人が誰かいて、どこかのファイルなり設定なりを直してくれるんだろうくらいの気持ちでいました。勿論、そんなわけないんですが。便利な仕組みは誰かが書いたコードであって魔法ではないことを知ってから、自分が理解できていない状態で動いているものがあることが怖くなりました。ちゃんと理解した上で便利に上手に使えるようになりたいと思っています。

テストを書くのは大事だなと思った

フィヨルドブートキャンプにいた頃、夫に「テストは書いたほうがいいと聞くから書くけど、何で書いたほうがいいの?」と聞いたら「テストは自分のために書くものだよ」と言われ、(こいつ何言っとんじゃ、意味わからん) ってなったのを覚えています。その意味は、転職して実際に仕事としてはじめるまでわかりませんでした。想像の話にはなってしまいますが、フィヨルドブートキャンプ内のアプリを開発していた頃は、ユーザも身内みたいなものだったので自分が書いたコードに対する責任感は薄く、品質に対する意識が低かったのかなと思います。今はなんならテストを書いてから実装するほうが個人的には好きです (個人差があります) 。

さいごに

悪く言えば、きっかけは「エンジニア」というものにすごく固執していたことがはじまりでした。なので、はじめはプログラマになりたいというよりエンジニアになりたいという気持ちでこの道を進んできた感じではありますが、今となってはそのおかげでこの仕事に就けているので、それはそれで良かったなと思います。

この業界に来てから、日々わかることが増え、成長してることが実感できて楽しい日々を送っています。最近は RubyRails よりもインフラ周りのほうに興味があります。プログラマになって本当に良かったですし、フィヨルドのお二人には感謝しかありません。これからも何らかの形でフィヨルドブートキャンプに関わっていけたらいいな、と思っています。


  1. @machida さんが内定の連絡を受けて、電話でやり取りをしていたらナイトクルーズに乗り遅れたそうです、すみませんでしたw

  2. プログラミングスクールを作ってみた - Speaker Deck

🐟ISUCON10 の予選に参加した🌼

ISUCON10うなすけやまま の三人でチーム名「たんぽぽの上の刺身」で参加した。結果はスコア 1302 でおおよそ 100 位くらいだと思われる。初参加でどきどきしたので記録として残しておきたい。結論としてはとても楽しかったので、来年も同じメンバーで出られたら良いなあと思っている。

f:id:lime1024:20200917004030j:plain

インフラ周りの話はこちらへ ISUCON10 の予選に参加した - きりきりやま

はじまりと予習

うなすけから「三人で ISUCON に出ませんか?」と誘われる。わたしを誘うの?正気か?と思ったが、プログラマになって一年、ちょっと挑戦してみたい気持ちが無かったわけではなかったので、参加することに。本人に直接伝えるのは恥ずかしいのでここに書き留めますが、声をかけてくれてありがとうというお気持ち (既に酔っ払って伝えている可能性はありそう) 。

事前に予習として、過去回のコードを見ていたが、何をやっていいものかさっぱり。そもそも Sinatra だったことを知らなかったので、大丈夫かなと不安に思った。何より不安のタネは ActiveRecord がそこにはなかったこと。やままに毎晩のように「ActiveRecord に甘やかされるな」と言われながら SQL を勉強した。毎晩はちょっと盛ったけど、結構言われたので頑張った。

全員では、オンラインで集まって ISUCON8 の予選を予習した。このときにおおよそチームの動き方とか担当も決まって、当日もその流れが踏襲できていたと思う。

当日

予定より遅れた開始時間 (遅れたことを責める意図は全くもってない) により、緊張がピークに。止まらない手汗、多くなる口数。うなすけとやままにうるせえと言われながらも、なんかもうどうしようもなくなってとりあえず縄跳びをした。開始前から全身汗まみれになってしまい気分が落ち込み、ちょっと口数が減った。良かったのか良くなかったのかわからない...

環境

  • わたしとやままは一緒に自宅。うなすけも自宅
  • 通話は作業用の端末ではないもので Zoom で繋ぎっぱなし
  • テキストコミュニケーションは Discord
  • 予習したときにまとめたものや残して共有しておきたいものは Scrapbox

担当

  • やまま: インフラ
  • うなすけ: インフラとアプリ
  • らいむ: アプリ

わたしとやままはお互いに相談したいことがあれば、うなすけに聞くような感じの体制だった。PR は自分以外のどっちか手が空いているほうが確認。やままはほとんどアプリを見ていなかったので「これなに?」って聞かれたらわたしが答えるようにしていた。

やったこと

  • うなすけとやままが、コードを clone してきたり、デプロイやインフラ周りの整備をしている間に当日マニュアルに目を通して、必要そうなことを伝える
    • とはいえ POST /initialize のレスポンスに実装言語書かないとベンチ通らないよ!としか言ってない気がする
  • うなすけが GitHub にコードをおいてくれたので、そこからはアプリのコードと DB の schema を見る
    • インフラ整備中の二人にざっくりこんなアプリだよ!っていう話をした
    • たぶんここ改善したほうが良さそうみたいなところをピックアップ
  • やままがローカルでの立ち上げに成功したので、伝授してもらう
    • 各々であーだこーだやるとあれなに?これなに?と会話が発生して時間がかかるので、単独では進めないようにした
  • ローカルの環境が整ったので explain をひたすら叩いて type を確認しながら必要そうなところに index を貼る業をする
    • pt-query-digest の準備が整ってからは slow query を見ながら必要そうなところに index を貼っていた
  • なんかやばそうだけど自分では対処できないと思ったところはうなすけとやままに投げたりした

反省点

get '/api/recommended_estate/:id'

  • index が使われていないのはわかってたけど、どうしたらいいかわからなかった
  • 条件を減らせば index が使えたので分割した
    • その代わり DB への接続回数が増えるのでまあ多分厳しいかなと思いつつ
  • そんなに点数は変わらなかったので、まあそうだよねというお気持ち
  • 終わってからうなすけと、一番小さい面積 (一番短い辺と二番目に短い辺) で見たらよかったのかな?という話をした

ORDER BY popularity DESC, id ASC

コードしか見てなかった

  • ブラウザからアプリ見てなかったので金額が Range だったことに気づいてなかった
    • たぶんおそらく自分だけじゃなくて、チーム全員ブラウザでは確認していなかったはず

まとめ

わたしは最初の環境整備とかをほとんどすっとばしてアプリを見ていたので、デプロイもベンチまわすのも二人に完全にお願いしていました。おかげでバッティングしなかったので前半は良かったが、終盤になってくると二人が忙しくなってわたしの手が空いてしまったので、デプロイまわりも共有しておけばよかったなあと。

戦力にならなかったらどうしようと不安に思うこともあったが、気づいたらあっという間に一日が終わっていた。次回はもっと強くなって頑張りたい。わからなくて倒せなくて二人にお願いしたところも自分で倒せるようになりたい。そして、そのときにはまた三人でできたらいいなあと思う。とにもかくにも楽しかった。