Eat, Play, Nap and Code

食とあそびと昼寝とプログラミング学習

週報 2021/4/19(月)〜2021/4/25(日)

📚 1週間ふりかえり

こんにちは。もうすぐGWですね〜。花粉が落ち着いて、暑すぎず寒すぎない、このくらいの気温が1年中続けばいいのにと思います。 今週は生理で休んでる日もありましたが、午前中しっかり勉強するという流れが出来てきていい感じです!

あと先週の週報でバイトしよっかな〜と書いてましたが、1社落ちたので今の所はもういいや!!と諦めモードです。 勉強に集中するためにバイトでもするかな〜という浅はかさがにじみ出てたんでしょうか😘 まあ最近は集中できているので、落ちてよかったかもしれないです。

Netflixを見てるだけでお金になるバイトがあったらご連絡ください!!!

📚 もくじ

📚 目標と成果

目標 成果 来週の課題
進捗がなくても毎日日報をつける OK 引き続き
Udemyの動画をできれば全て見る 必要な箇所は全て見た 必要になったら続き見る
YouTubeでの活動を記録するブログを書く 別ブログを作るアイディアがでた さっさと作ろう

📚 学習時間

日付 時間
4/19(月) 04:00
4/20(火) 05:30
4/21(水) 05:30 ​
4/22(木) 01:30
4/23(金) 03:30
4/24(土) 02:15
4/25(日) 03:00
合計 25:15

📚 週報

📅 4/19(月)

💪 やったこと

  • 引き続きUdemyの講座SQLの復習(というか、ちゃんと理解してないまま進めたから復習じゃなくて新規学習かも)。
  • Udemyの課題はInstagramのDBクローンを作る課題なので、TwitterのER図を作る課題の参考になりそう。

🍕 感想

  • SQLのことを少し理解できてきたら、『楽々ERDレッスン』の課題の解説が少し理解できるようになってきたので嬉しい🥳
  • ひとつ前のプラクティスである、「SQLの基本を理解する」課題の終了条件を、個人的にはできればもっと厳しくしてほしい〜と思った🥺『ゼロからわかるデータベース操作』を読み終えて理解する、とか。
  • アルバイトの面接に行った。CS業務のバイトなんだけど、プログラミングの学習をしてる話をしたら「ポートフォリオあります?」と聞かれた。考えてみるとそういうものは特にないや。そしてあまり面接の手応えはよくない😞
    • メンターのりほやんさんに、GitHubでlsコマンドやwcコマンドのソースコードを見てもらったらいいかも!とアドバイスいただいた。次聞かれたらそうしよう。

📅 4/20(火)

💪 やったこと

  • Udemyの講座のInstagramのクローンのER図を自分で書いてみる。 image.png)
  • usersからfollowsに伸びる矢印がよく分からなかったが、大名の動画を見たら「1:多」の矢印を2本引けばよさそうなのでそうしてみた。
  • ER図を作るdrawio全然使いこなせない…。SQLからER図を自動生成するソフトウェアで答え合わせできないかな?と思ってちょっと調べたけど難しそうで使いこなせる自信がないので保留。

🍕 感想

  • Udemyの講座では、いろんなデータを取り出す課題に取り組んだんだけど、ER図を書いておいて、視覚的にどういうクエリを書けば良いのかイメージできたのでとてもよかった。
  • サブクエリの理解がまだ曖昧。
  • ここまで来るのが長かったけど、やっと理解が進んでいるという手応えが出てきた気がする。やっとスタート地点に立った感じ。
  • ポートフォリオの件、暇なとき静的サイトを自分で立ち上げてみようかな。JekyllとGatsbyで迷い中だけど、NotionBlogも良さそう。

📅 4/21(水)

💪 やったこと

  • SQLの復習はあらかた終わったので、『達人に学ぶDB設計徹底指南書』と『楽々ERDレッスン』の、ER図作成に関わりが深そうな箇所(正規化、エンティティの抽出、リレーションを結ぶ)を復習。

🍕 感想

  • DB設計の本2冊どちらも難しいけど、読んでてどこが必要かが検討がつくし、内容が分かる(SQLの部分とか最初ちゃんと読んでなかった)ので、最初に読むときの100倍楽だった。
  • 達人に学ぶ本のリレーションシップを結ぶ課題あってた✨楽々ERDレッスンのエンティティ抽出を復習したらTwitterの課題に入ろう!

📅 4/22(木)

💪 やったこと

  • フィヨルドブートキャンプのQ&AページのER図を作ってみたものを添削して頂いた。 f:id:eatplaynap329:20210426084125p:plain

  • 「ステータス」と「回答評価」を別テーブルにしていた(なんとなく、選択肢が複数あったらテーブルに分けるのでは?というイメージがあった)が、これは質問・回答テーブルにそれぞれ列を持たせればいいとのこと。

  • ユーザーと回答を多対多にしていた(動画内でご指摘のとおり、回答が複数あるしユーザーも複数あるし…と考えて)けど、回答に対してユーザーが多という状況は「複数の人がひとつの連名回答を作る」 ということ。そういう設計ではなく、ユーザーは複数の回答を持てるけど、回答は複数のユーザーを持てないので、ユーザー1に対して回答多が正しい。 指摘を参照に新たにQ&AのER図を書き直してみた(↓)。 f:id:eatplaynap329:20210426084253p:plain

🍕 感想

  • DB設計、メンターのmaedanaさんは「感覚でやっている」と仰っていたので、楽器の演奏とか外国語みたいに、理論と実践に乖離があるのかもと思う。実践してみて初めて「達人が言ってたのってこのことか〜」と分かるというか。そして実践してみるとそこまで難しくないかも。題材が分かりやすければ小学生でもできそう。
    • 「感覚でやっている」という発言に対し、アジャイルな開発現場でRailsを使っている場合DB設計はざっくり素早く作ることが多いけど、ウォーターフォールな現場だったり、トラディショナルなDB設計を取り入れている場合は先にきっちり作ることが多いと教えていただいた。でも自分はたとえざっくりした設計でもめちゃくちゃ考えて間違えているので、プロはすごいな〜と素直に思ってしまった😅
  • DB設計、分かりやすい題材を見つけるのが難しい…。id:fkmbra さんがサザエさんを題材にそういう本を出してくれたらいいな〜😄(↓参照)

fukindesu.hatenablog.com

📅 4/23(金)

💪 やったこと

  • 改めて、プラクティスのTwitterのER図で表現するべき項目と、実際のTwitterの画面を見比べ、この間書いたInstagramのER図と見比べたりした。
  • 一覧を表示するというエンティティが必要?と思ったけど、SELECT * FROM tableで一覧表示できるから必要ない。
  • リストが難しい。実際にリストは使ったことがないので仕様がわからん。
  • YouTubeで「twitter ERD」で検索して出てきた動画を見てみる(今気づいたけど日本語の字幕あったんだ)。大半はもっと専門的なことを話しているけど、ツイートからリツイート、コメントの流れはヒントになった。

🍕 感想

  • TwitterのER図、エンティティの抽出は出来たと思うけど、お手本ページに貼ってあるモザイクがかかってるやつよりテーブル数がだいぶ少なくなってしまった。大丈夫かな?
    • メンターさんより、Twitterの機能の代表例として「リプライ」「リツイート」「いいね」「フォロー」「リスト」があるので、このあたりが実現できるER図になっていれば良いとの回答を頂いたのでOKかな!?
  • 英語のサイトを見ていると、テーブル名について複数形にしろ派と単数形しろ派がいるっぽい。StackOverflowで複数形のテーブル名を怒られている質問者がいて不憫だった。私は↓の記事の著者に賛成かな〜。

📅 4/24(土)

💪 やったこと

  • 実際のTwitterの画面を見ながら、一旦表を書いてみた。自分のTL上で見つけた実在の人やツイートを使ってるので個人のアカウントにはモザイクかけたけど、だいたいこんな感じで8個のテーブルができそう。

長いのでたたみます ユーザーテーブル。とりあえず必要そうな情報だけ。

無題のスプレッドシート_-_Google_スプレッドシート.png


ツイートテーブル。これにツイート区分(リツイートなのか、リプライなのか、普通のツイートなのか)を付けるか迷ったけど一旦付けないことにした。

無題のスプレッドシート_-_Google_スプレッドシート.png


人のツイートを巻き込む系のテーブル郡。引用リツイートのコメントはリツイートの属性にしてもいいかなと思ったけど、一旦テーブルを分けることにしてみた。

無題のスプレッドシート_-_Google_スプレッドシート.png


フォローテーブル。followerとfolloweeが必要かな?と思ったけど、followee(フォローしてる人)の情報だけで事足りそう。

無題のスプレッドシート_-_Google_スプレッドシート.png


リストテーブル。中間テーブルlisted_peopleでユーザーテーブルと結ぶ予定。

無題のスプレッドシート_-_Google_スプレッドシート.png

無題のスプレッドシート_-_Google_スプレッドシート.png

🍕 感想

  • TwitterのER図、紙の上では出来たので、後はdrawioで仕上げて一回提出してみよう。
    • Q&Aで色んな方のER図の書き方を知ることができたのが理解の助けになった。あとSQLをちゃんとやりなおしたのも良かった。そして一度Q&AページのER図を実際に添削していただいたのが1番良かったな。
  • LT会に参加して勉強のモチベがめっちゃあがった〜💪
    • 特にうだ (id:ud_ike)さんの発表が刺さった〜。私も色々やりすぎなので、プラクティスファーストで進めていかなくちゃな〜。

speakerdeck.com

📅 4/25(日)

💪 やったこと

  • とりあえずTwitterのER図は完成?したので一旦提出してみることにした。
  • drawioで図を作るのが時間かかった。 真っ直ぐな線引くのムズすぎ...。
  • Technovation Girlsのピッチイベントに参加した。

🍕 感想

  • Technovation Girlsは女子中高生たちが身近な社会課題をアプリ開発で解消することを目指すイベントなんだけど、若い人たちの志と能力の高さにすごく感動した😭 アプリの設計自体についてもとても勉強になった。
  • 私は主催のWaffleのお手伝い少しとマンスリーサポートをしている立場だけど、自分の支援がこういう立派な学生たちの手助けになっているのがとても誇らしい〜と思った✨

📚 来週の目標

  • RESTの課題を終わらせる
  • 『Webを支える技術』を半分読み終える
  • TwitterのER図を作る課題合格する
  • なんでもいいから個人ブログ早く作る!!