小説と出会った6月

プログラミング以前に、言葉に含まれている意味を理解する能力が乏しいのではないかと思い、小説を読み始めた今日この頃。

とりあえず友達に勧められたものを読み進めようと思い、学芸大学前のTSUTAYAへ。

1000円程で「沈黙のパレード」「時生」「葉桜が咲く季節に君を想うということ」を購入し、一週間で読み終えてしまいました。

推理小説二冊、タイムスリップ物の小説一冊を読んだところで言葉の意味を理解する能力が向上したとは思えませんが、何だか集中力が上がった様な気がしてます。

今週は「カエルの楽園」「殺戮にいたる病」「昨夜のカレー、明日のパン」を読もうと思ってます。

ちなみに、ブクログというアプリで自分の読んだ本を管理してます。便利。

Nakano Subaru(すばる)の本棚 (Nakano Subaru(すばる)) - ブクログ

 

 

外部結合と内部結合

InnerJoinとOuterJoin(left, right)について書かれている。

通常、データを保存する場所を作成する時は、正規化(比較・演算などの操作のために望ましい性質を持った一定の形にすること)が行われるため、データを複数のテーブルに分割して保存される。

しかし、あるデータを検索したい時に、複数のテーブルに対して一つ一つ検索をかけていたら手間。

そこで、検索する前にテーブルを結合させてからデータを取得するという手法が取られる。

そんな時に使われるのが、前述した内部結合と外部結合という手法。

下記の様な違いがあるそう。

InnerJoin

テーブルAとテーブルBに共通するデータを全て取得する

Left Outer Join

左側のテーブルにあるデータ+右側にあるデータ-右側のみに存在するデータ を取得する。

Right Outer Join

右側のテーブルにあるデータ+左側にあるデータ-左側のみに存在するデータ を取得する。

SQL素人でも分かるテーブル結合(inner joinとouter join)

テンプレートの検索

コントローラーで実行されているrenderメソッドの裏側はどうなっているのかが気になった。

ActionPackActionViewの仕組みを教えてくれる記事。

Railsはどのようにテンプレートを見つけているか - Qiita

外部API連携

外部API連携をする時は、下記手順を踏む

1 APIキーを取得

2 curlを用いて通信が成功するか確認

3 取得したい情報が取れるエンドポイントを公式ページから探す

4 1日に実行できるリクエストの上限を調べる

5 外部APIに対するリクエストの実行をアシストしてくれるコードを探す(faraday,httpclient等)

6 レスポンスとして返ってきたオブジェクトを解析して、欲しい情報だけを抽出して配列に入れる

Qiita API連携

Qiita APIを触ってみる - Qiita

Slack API連携

Slack APIを使ってみよう!【Slack + Rails】 - Qiita

Rubyで外部APIにリクエストする - Qiita