鹿児島Ruby会議02へ行ってきました
鹿児島Ruby会議02参加レポート
鹿児島Ruby会議02参加レポート
RubyKaigi2022感想
フィヨルドブートキャンプというオンラインスクールで学習をしています。 そのなかで定期的に行われている「初めてのLT会vol.9」というLT会に登壇しました。 初めてのLT会とは? 現役受講生の有志によって不定期に開催されているイベントです。 イベントで登壇してみたいけど、ちょっと初めは失敗するかもしれないとか、色々不安があるもの。だったら、失敗して OK なイベントを自分たちで開催してしまおう、ということで始まった企画です。 いきなり、外部のコミュニティで登壇するのはすごく勇気のいることなのでいったんクローズドなコミュニティで登壇してみようぜ、という趣旨のもと定期的に開催されています。 今回は「しくじりから学んだこと」というテーマでした。 どんな内容の発表だったか 「wakaranの解像度を上げるために」というタイトルで発表しました。 フィヨルドでは「分からないこと」を「wakaran」と表現することがあり、「解像度」を「ゴールまでの道筋」と例えて発表しました。 自分の伝えたいことは、適当に情報をかいつまみながら実装するんではなく、事前にタスクをリストアップして見通しをよくしてから取り掛かりましょうという事でした。 発表の準備で大変だったこと 3月にfukuoka.rbで初LTをして以降、LT欲が高まっていました。 Kaigi on Railsプレイベントで発表した内容 は少し前から話したいなという内容だったのですが、今回発表したものは当日まで話すことが決まらず、準備に時間が取られてしまいました。 感想 LTをやって、参加して思ったことがひとつ。 LTをやるなら参加者の多くに意味のある内容でないといけない、と考えがちだけど「自分もこういう経験あるな」とか「みんなも困ったことあるんだ」という気づきを得られるだけでもいいなと思いました。
学習時間が1000時間を超えた 現在、フィヨルドブートキャンプというオンラインスクールで学習をしています。 その学習時間が1000時間を越えたので、振り返りとしてまとめていきます。 ちなみに、カリキュラム は公開されていますので興味のあるほうはそちらも参照してください。 学習状況のふりかえり 4月末から学習を開始しました。 学習時間: 1025時間経過日数: 154日(4月末~10月1日) 書いた日報の数: 128個 現在取り掛かっているプラクティス: Vue.JS プラクティスの進捗: 72/86個( 完了したプラクティスの個数/プラクティスの総数)。約83%の進捗。 学習を始めたときは6 ヶ月で卒業できるという想定でしたが、まだまだ時間がかかりそうです。 多くのプラクティスにメンターさんのレビューがあり、プラクティスをやる時間に加えてレビュー対応があります。 レビューに関してはGitHubのプルリクエストがメインになっています。((データベース設計の課題など、提出物がコードでないものはブートキャンプのシステム上で提出します。それにもメンターさんのレビューがあります。 )) 技術的に学んだこと 難しかった、記憶に残ったプラクティスについて何が大変だったか書いていきます。 sshの基本を理解する 自分で借りたサーバーにsshで接続しよう、というもの。 知識や仕組みを頭のなかでわかったつもりでも、実際サーバーにsshで接続しようとするところが難しかった。 【Ruby】ボウリングの計算プログラム Rubyでボウリングのスコアを計算するプログラムを作る課題。 Atcoder をやっていたので多少は慣れていたけど、入り組んだロジックを書いたことが初めてだったり、コマンドライン引数の扱いについて学習しました。 【Ruby】lsコマンドを作る LinuxコマンドlsをRubyで書いてみよう、という課題。 Fileクラスの扱いや細かい要件を満たすためにかなり苦労しました。 データベース設計 Twitterの主な機能に関してER図を作る、という課題。 書籍を読んで学習をしたものの、エンティティの抽出やそれぞれのエンティティの関係を見出すのが難しかったです。 Railsでユーザーフォローを作る 与えられたアプリケーションに関してフォロー機能を導入する、という課題。 事前にデータベースを設計して実装したものの、フォローとフォロワーの関係で混乱してしまい、非常に苦労しました。 Railsでコメント機能を導入する コメント機能を導入する、という課題。 ポリモーフィック関連や応用的なルーティングについて学習しました。 オブジェクト指向プログラミング ついにオブジェクト指向でRubyを書いてみよう、という課題。 チェリー本の7 章を参考にしながら、自分でクラスを作ってボウリングプログラムとlsコマンドのプログラムを書いていきました。 番外編: 輪読会の主催 フィヨルドブートキャンプでは、受講生が自主的に輪読会を開催しています。 自分も輪読会の主催をしました。読んだ本は、 「オブジェクト指向でなぜつくるのか」でした。 一人で読んでいたら挫折していたので、2ヶ月間全8回、受講生10名ほどと読み切ることができました。 フィヨルドブートキャンプ以外での活動・出来事 フィヨルド外での活動としては主に、以下のようなことをしました。 Fukuoka.rb 毎週水曜日21からやっている勉強会。1 年ほど前からできるだけ参加するようにしていて、現役のエンジニアの方と交流できる良い機会になっています。 西日暮里.rb 月イチ開催の勉強会。こちらも1 年ほど前から参加していますが、少人数で技術の話を聞いています。 asakusa....
# データベース設計ふりかえり ブートキャンプのデータベース設計の課題でかなり時間がかかったので振り返りとして記録しておこうと思います。 ※フィヨルドブートキャンプ受講生の方はネタバレ注意 課題の内容 Twitterの主な機能をもとにER図を作成するという内容でした。 対象の機能 - ユーザを表示する - ツイートする - ツイートに返信する - リツイートする(引用リツイートも) - フォローする - フォロー一覧を表示する - フォロワー一覧を表示する - リストにユーザーを追加する - リスト一覧を表示する 最初の提出物と最終の提出物 最初の提出物 ざっと資料を読んで適当に作ったER図がこちら。 最終の提出物 学んだ事 リプライについて 1個のツイートに対して複数のリプライがあるという関係 リプライもすべて「ツイート」 Repliesテーブルに切り出し、FKとしてtweet_idをもたせることにしました RT/引用RTについて RTも引用RTもまた「ツイート」 フラグを導入して判別 フラグが0のときRTされていない、グラグが1の時、RTされている フォロー/フォロワーの関係 自己参照している Relationshipという中間テーブル ユーザーとリストの関係 ユーザーはリストを複数持っている リストはユーザーを複数持っている 多対多の関係になっている Users_Listsという中間テーブルを作って1対多の関係になるようにする 参考 達人に学ぶDB設計 徹底指南書 楽々ERDレッスン フラグについて
はじめに 現在, フィヨルドブートキャンプにてエンジニアになるべく学習中です。 広告を打っていないので, 外側からだと実際にカリキュラムでどんな事を学ぶのか週報という形で書いていきます。日報をベースに拾っていきます。 カリキュラムはこちらです。 2021-04-30 [Ruby]FizzBuzz問題 よくあるFizzBuzz問題。何度か書いたことがあったので難なく提出。 [Ruby]カレンダーのプログラム Linuxのcal コマンドと同様の動きのものをRubyで実装する、というプラクティス。リファレンスや他の人の日報を参考にしながら実装していった。コマンドライン上でオプションを受ける実装とか知らないことが多かった。 2021-05-01 [Ruby]カレンダーのプログラム 昨日の続き。デバッグをしながら実装完了。GitHubのPullRequestをつくって提出。 [Ruby]rubygemsの基本を理解する あらためてgemってなんだっけ?理解 [Ruby]Bundlerの基本を理解する gemとBundlerって何が違うんだっけ?を学習 2021-05-02 [Ruby]カレンダーのプログラム メンターさんからレビューをもらったのでそれを基にコードを修正し再提出 2021-05-03 [Ruby]rubocopの使い方を知る フィヨルドブートキャンプ用にカスタマイズされたrubocopをインストール。レビュー前にrubocopを通してコードを整えてからの提出が必要となる。今まで個人でやっており我流で書いていたので変な癖が直りそう。 [Ruby]Ruby中級 チェリー本をもとに、Rubyへの内容を深める。 2021-05-04 [Ruby]Ruby中級 チェリー本の続き。これまで学習してこなかった部分を重点的に学習する。 2021-05-05 [Ruby]Ruby中級 [Ruby]ボウリングのスコア計算プログラム Rubyでボウリングのスコアを計算するプログラムを実装するというもの。アルゴリズムをどうコードに落とし込むかが試された。 2021-05-06 [Ruby]ボウリングのスコア計算プログラム 昨日の続き。詰まったので、どういう実装が必要なのかあらためて書き出しそれをもとに調べながら実装していって提出。 完了したプラクティスと進捗 基本的には、コードはレビューがあるので提出しただけでは完了にはならない。...