読解力の無さでつまずく。
こんにちは、マリンです。
前に公言した目標設定よりちょっと早く13章が終わったので、
今日から14章に入りました。
そして初っ端でガッツリ詰まりました。
しかも自分の読解力の欠如が原因で・・・
概要
14.1.1 データモデルの問題(および解決策)において、
UserとFollowingの関係性が理解できない。
詳細
本文での説明はこうです。
あるユーザーが、別のユーザーをフォローしているところを考えてみましょう。具体例を挙げると、CalvinはHobbesをフォローしています。これを逆から見れば、HobbesはCalvinからフォローされています。CalvinはHobbesから見ればフォロワー (follower)であり、HobbesはCalvinによってフォローされている (followed) ことになります。 Railsにおけるデフォルトの複数形の慣習に従えば、あるユーザーをフォローしているすべてのユーザーの集合はfollowersとなり、user.followersはそれらのユーザーの配列を表すことになります。 残念なことに、この名前付けは逆についてはうまくいきません (Railsのというより英語の都合ですが)。フォローされているすべてのユーザーの集合は、このままではfollowedsとなってしまい、英語の文法からも外れるうえに非常に見苦しいものになってしまいます。 そこで、Twitterの慣習にならい、本チュートリアルではfollowingという呼称を採用します (例: “50 following, 75 followers”)。したがって、あるユーザーがフォローしているすべてのユーザーの集合はcalvin.followingとなります。
そしてこのモデリングを図で表したのがこちら。
で、思うわけです。
「え?なになに?followerはフォロワーだよね?followedがfollowing??で、どれがだれのこと表してんの??」と。
要はこのテーブルがだれ目線のものかがわかっていなかったからこんがらがったんですね。
気にしなきゃいい話なんですけど・・・
解決策
全部Calvin目線で考えることにしました。
userテーブルは自分
followingテーブルを、自分をfollowerとして見た場合のフォローしている相手リストのテーブルとすると・・・
follower_id → フォロワーである自分自身のid
followed_id → フォローした相手のid
こんな感じで考えたらスッキリしました。
多分「フォローされている」の部分がこんがらがったんでしょうね。
どちら目線かが念頭にないとうまく理解できないです。
まぁ、そこまで気にしなきゃいい話なんですけど・・・
でも「物事を噛み砕いて理解していく。」という良い訓練にはなった!と信じています。
はてなブログに目次と画像を入れてみる
こんにちは、マリンです。
自分のブログが絵もなく完全な紙媒体の個人日記同様になっているので、
カスタマイズまではまだ手が伸びないものの、
画像や目次くらいは入れようと思います。
環境
MacBook Pro 13inch Mid2012 (OS X El Capitan)
概要
記事冒頭に目次をいれる
記事内に画像をいれる
目次
記事本文に見出しをつけておくことが前提です。
手順
1. 手動で目次を入れる場所に[:contents]
と表記する
(サイドメニューを見てみたしたがそれらしいアイコンがなかったので、試しに手動で入れてみたら入りました。)
- PC
1. 本文記入欄の上にある目次アイコンを選択すると自動的に[:contents]
が記述されます。
「目次」を入れる
デフォルトでは「目次」という表記がないので、CSSを追加して入れます。
だいぶ端折っちゃいましたがこちらを参考にさせていただきました。
(目次の前のアイコンと、ボリュームが少ないのでTopレベルのみの表示をなくしました。)
手順
- 「ダッシュボード→デザイン→カスタマイズ→デザインCSS」に以下を記述
.table-of-contents:before { content: "目次"; font-size: 150%; } /********** Contents list **********/ .table-of-contents { padding: 20px 10px 20px 40px; border-radius: 5px; background: #fff; } .table-of-contents li, .table-of-contents ul { list-style-type: decimal; margin-left: 0; }
(目次の表示だけなら上の.table-of-contents:beforeの部分だけで大丈夫です。)
画像
今回はこちらの素材を使わせて頂きました。
手順
1. キーボード左上のカメラマークを選択
2. フォトライブラリーもしくは写真を撮るを選択
3. 画像を選択
- PC
1. サイドバーの写真マークを選択
2. 写真を投稿を選択してファイルをアップロードもしくはアップロード済みの画像を選択
まとめ
どちらも大したことはやってませんが、
これだけでもだいぶブログっぽくなったかな?
追記
確認したところ、スマホでは「目次」が出てなかったです。
調べてみます。失礼しました。
ロードマップ作成イベント
こんにちは。マリンです。
私は現在「侍エンジニアOnline」というオンライン学習コミュニティに参加しています。
本日侍さんのロードマップ作成イベントに参加しまして、年初めに考えた目標をさらに細分化できたので、ここで公言しようと思います。
最終目標
ポートフォリオ&仕事獲得のためのサイトを作る
計画
2/25 Rails Tutorial終了
3/6 WordPress(ドットインストール)終了&サイトの概要決める
3/7 機能の詳細を決める
3/12 プロトタイプを作って内容を固める
3/13 実装の流れを確認する
3/14 実装開始
5/1 完成
当初6月完成にしていましたが、
この計画で進めていけばもっと早くできそうだったので繰り上げました。
まとめ
オリジナルのサイトを作ったことがないので、勉強終了後からの進捗が心配ですが、
仕事獲得に向けてまずは踏み出してみようと思います!
プログラミングにオススメの音楽。
どうも、マリンです。
皆さんプログラミングするときに音楽とか聞きますか?
私はカフェで音楽聞きながらノートPC開いて仕事してるインテリ眼鏡イケメンが大好きですw
私の趣味はさておき、こんなGJなサービス見つけたのでご紹介します。
不思議な音楽ばっか入ってます(笑)
でもそれがいいです!好きすぎる音楽は勉強や集中したいときには 向かないみたいですから。
完全に作業用BGMとして程よく流しながら聴ける曲ばかりです。
そして一番魅力なのは課金も会員登録も何も必要なし!ということ。
サイトへ行って、曲を選んで、再生をポチッとすれば聴けます。
神か!!!
このご時世に神が降臨したと思いました。
ちなみに、iTuneでも聞けるようです。
というか、Podcast。
購読とか入手とかあるんですけど、
押しても今の所ダウンロードなどされた様子はありません。
聞けるけど。
これでダウンロードもできたら本当に神ですね!
ちなみに私は
- Episode 34: Chukus
- Episode 35: Nadim Kobeissi
- Episode 43: Hey Exit
このあたりが好きです。
Podcastにでてる人気度を見ますと・・・
あまり共感は期待できそうにありません。(;_;)
良かったら是非覗いてみてください!
<追伸>
曲によっては図らずも眠気を誘発されるものがあるかもしれませんのでご注意を!
私は何度か意識を失いました(笑)
さらっと流す。
どうも。マリンです。
Rails Tutorialも12章まで進みました。
この章をやっていてつくづく実感したことがあります。それは
「さらっと流す」ことです。
プログラミングの先輩方のお話を聞いていますと度々出てきますこの勉強テクニック。
私には実は結構ネック立たんですね。
というのも、どーーーーしても細かい部分までいちいち理解しないと気が済まないんです!
コードの端から端まで何が書かれてるのか?とか、
説明文の意味とか。
果ては日本語の意味とか(笑)
こんなことやっていてはそりゃあ進みませんよ・・・
今回気づいたこと
チュートリアルの11章と12章はやってる内容が似ています。
でも11章ははっきり言って90%くらい理解できませんでした。
しかし、まだ12章途中ですが、ここまででも75%くらいは理解できてる!気がします・・・
まぁ繰り返しだから理解できてるのもあると思いますが、
「なんで11章は理解できなかったのか?」
それを考えてみたところ、そもそも「今何をやっているのか?」
それすらわかっていなかったことに気づいたのです。
でも12章では何となく今やっていることがわかるようになりました。
その原因
その原因こそ、
「さらっと流す」
でした。
11章ではやっぱりいちいち細かいこと気にして読んでました。
そのせいで全体の流れがわからなくなっていたんですね。
全体の流れがわからない→今何やってるかわからない→わからないからわかるために一つ一つ理解しようとする→また流れを見失う
この悪循環だったわけです。
12章は前章の繰り返しということもあって結構サクサクっと進めています。
そのおかげで全体の流れや、そのコートが何のために使われていたのかが理解できました。
まとめ
ついつい「一つずつ理解しながらでないと!」と思ってしまうのですが、
「さらっと流して全体を把握」
そのことにやっと気づくことができたようです。
「理解すること」にも順序があるようですね。
2月。
今年に入ってすでに「早いなぁ〜」と感じているマリンです。
なんたってもう2月ですから。
なんで突然こんなこと思ったかと言いますと、
来週息子の1日体験入園があるんです。
11月に幼稚園の願書提出+面接があって、
「体験は2月かぁ・・・まだだいぶ先だな!」
なんて余裕こいてたらもう来週!?
ひぃ〜!30代の時の流れひぃ〜!!です(;゜0゜)
「去年の今頃はおねぇちゃんの入園準備でドキドキしてたっけ〜・・・」
なんて余裕こいて感傷に浸ってるとまた幼稚園グッズ揃えるの出遅れる!
今回こそは間際にドタバタしないようにせねば・・・
しかし、本当に早すぎますね。
二人とも生まれたのなんてつい最近に感じるのに、
気づけば息子まで幼稚園です。
1日1日を大切にって思うんですけどね(^_^;)
でも本当、目先のことに囚われて
まだ「時間ある」なんて思っていては何も成さないまま終わってしまいそうです!
せっかく気づいたことだし、
育児も勉強も後悔しないように考えを改めてみようと思います!
コピペの罠
どうもマリンです。
昨日からRails Tutorial 11章を進めています。
最初は「コードも自分で打たないと理解できん!」と意気込んで手打ちしてましたが、
ちょっと前から「とりあえず全体掴むことからじゃね?」と思い、
コピペで進めてます。
今回はこのコピペでハマったお話です。
概要
メールのプレビューを見ようとしたところ、activation_token
に対してNoMethodError
が出た。
「コピペだからコードに問題はないはず」と思い込み、小さなミスに気付かずハマってしまった。
原因
原因は細かいミスの積み重ねでした。
まず一番の原因が、Seedデータのコピペが不完全で「, 」が抜けていたことです。
「コピペだから間違ってないはず」という思い込みが発見を遅らせてしまいました。
これのせいで$ rails db:seed
をしても読み込まれていなかったんですね。
さらに$ rails db:seed
をした後も結果を完全にスルーしていました。
ここでも「当然通っているだろう」と思ってましたね。
さらに、NoMethodError
も最後に書かれているnil Nil:Class
に注目しなかったのでずっとactivation_token
の部分ばかり気にしていました。
まとめ
やはり思い込みは一番の敵ですね。
今回は完全に「コピペだから間違ってるはずない」と思い込んだことが原因でした。
1文字間違えてても動かないのがコンピューターですから、やはり思い込みは捨てて懇切丁寧に作っていくことが大切だなって身にしみました。