まさ@ブログ書き込み中

まさ@ブログ書き込み中

まさの旅、英語、プログラミング、プライベートについて、色々記録しています。

15日間未更新だった言い訳とActiveRecordとMySQLの珍事

 

お久しぶりです、まさです。

 

このブログを15日間も更新していませんでした。

もちろん、毎日を必死で生きていましたよ。

 

空白の15日間

何があったのか少し振り返ってみると、

5月に入ってから僕は

  • GWらへんは単発のバイトしてた
  • ちょっと自分の進路について考えてた
  • 休みがちだった大学に行くために宿題を清算していた
  • SPIを受けるために勉強してた
  • かつ月・金は家庭教師のバイトが入った
  • 本やコーディングというより仕組みを理解する勉強会をしていた

というラインナップでした。

 

すなわちISUCONに向けての勉強が少し滞っていました。

 

4月の僕は空前絶後超絶怒涛の勢いでしたので以前の僕と比べると進度は見劣りしますが、完全に必要なことばかりをやっていたので何も悔いはありません ( ͡° ͜ʖ ͡°)

 

そしてまた今日からしっかり学びつつアウトプットして生きたいと思います!

 

当初の期日は明日だったのですが、全然間に合いそうにありませんし、始めたのが遅すぎたので僕は粘ろうと思っています。

 

そして今日から始まったのはLINEをつくるという課題です。

そこで起こったことをまとめて今日の投稿にしたいと思います。

 

LINEづくりのスタートラインに立つ

データベースを読み込むためのActiveRecord

自称天才エンジニア志望の僕のレベルでは、LINEを作ろうと思った際にどこから手をつけていいかわからない。

 

とにかくやろうと思ったことは

  • ログイン(サインアップ)の機能をつくる
  • トーク機能をつくる

ということ。

 

そしてログイン(サインアップ)する際に必要なのはデータベースとログイン認証機能。というわけでそこから着手してみました。

 

MySQLをドットインストールでさらっと流し、ActiveRecordは「やっていくうちに」方式で

 

ISUCONではデータベースはMySQLだと聞いていたのでどうせならそれを使おうと考えました。また、基本的にRuby, Sinatraで書いていこうと思っています。

 

ただ、「マイエスキューエル」って言っているだけで優越感に浸れる器の小さい僕なので、0から学ばないといけない。

 

というわけでドットインストールさんから色々基礎の基礎を教えてもらいました。

 

MySQL入門 | ドットインストール

 

その時点で僕は「うおおおおおおおおおおおおおおおおお!」と思っていましたが、それは明日の記事くらいで語ります。

 

そしてMySQLを学んだところでアプリのサーバ側を同じ条件下で作ろうとした先人たちの記事を漁ることに。そしてこのサイトに出会う。

 

qiita.com

 

そして、この通りにやったら困ったことが起こりました笑

 

以下ターミナル 

f:id:masaincebu:20170515010505p:plain

 

一見すると「database configurationがadapterを明確にしていない(AdapterNotSpecified)が問題である」と言っているように見える。そこで何度もdatabase.ymlをチェックしました。

 

f:id:masaincebu:20170515011338p:plain

 

 

これをいじってみるも、何も変わらず。

 

とにかくエラー文はlogin.rbの8行目についてボロクソ言われていたので、見て見たら、こんな感じ。 

f:id:masaincebu:20170515010509p:plain

 

 

そこで樹里さんのアドバイスでこいつをコメントアウト(要らないのではないかという仮説を試した)。

f:id:masaincebu:20170515010513p:plain 

 

 

これでうまく行きました。

 

正直何が問題だったのか、ちんぷんかんぷんです。

わからない理由はActiveRecordの仕組みについて全く知っていないことが原因なので、

明日勉強しようかと思います。

 

 

用語的にややこしかったこと

MySQLとmysql2

何が問題なんだろうと調べて行く中で

Rubyを使うならmysql2を使わないといけない」って言われたので

 

「なるほど!MySQLじゃなくてMySQL2を使うべきなんだな!」と思った僕はピュアすぎたんでしょうね。

 

結論としてはmysql2はGem(Rubyのライブラリ)の一つで、mysql2というgemでMySQLに接続するのがRubyを使う際のお決まりだったというわけです。 

 

⬇︎Adapterが問題だと言われていたこともあって「mysql」のところを「mysql2」にしたのはいい思い出。

f:id:masaincebu:20170515011338p:plain

 

今後の豊富

明日からどんどんコーディングを進めながらまたブログを毎日書いていこうと思っています。フロントエンドについても勉強したいし、もっと書きたい内容たくさんあるんだよねー。

 

頑張ります。

 

ではおやすみ。

広告を非表示にする