4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ブログ投稿サイトを作ってみました

Last updated at Posted at 2019-10-04

こんにちは。
本日は初投稿ということで、プログラミングを始めて2週間少しの初心者が0から作った作品を紹介します。
ーーーーーーーー
#ブログ投稿サイト :airplane:
###トップ画面
スクリーンショット 2019-10-04 14.46.50.png
スクリーンショット 2019-10-04 14.45.14.png

###ユーザー新規登録、ログイン画面
スクリーンショット 2019-10-04 19.58.52.pngスクリーンショット 2019-10-04 19.59.01.png

###投稿画面
スクリーンショット 2019-10-04 19.59.38.png

###詳細確認画面
スクリーンショット 2019-10-04 19.57.44.png
(写真引用元:https://www.travel.co.jp/guide/article/24996/)

##1. 実装機能
・ユーザ登録、ログイン、ログアウト可能
・投稿はタイトル、本文、画像のみ(非ログイン時は投稿不可)
・投稿したユーザ本人による投稿の編集、削除が可能
・ログインしていなくても投稿一覧、詳細が閲覧可能
・ページネーション機能(投稿は新着順)

##2. 使用言語・ツール
・Ruby
・Haml/Sass
・JQuery
・Ruby on Rails
・Bootstrap

##3. 工夫した点
bootstrapというwebアプリケーションフレームワークを使用し、
ボタンやページネーション等を簡単に作成、装飾してみました。
フォームなどにも適用させて、もっと簡単に作成するのが理想でしたが、
公式サイトはもちろん英語だったのでなかなか上手く使えなかったのが少し残念なところです。。。
あとは綺麗な画像を貼ることで見栄えを良くしました!笑

##4. 苦労した点
devise gem をインストール後、userテーブルをmigrateする際にエラーが発生し、
解決に時間が掛かりました。
エラー内容は「max key length is 767 bytes(768バイト以上のカラムに対するインデックスキーは設定できないよ)」と言った内容。
調べてみると、MySQLの単一カラムインデックスのインデックスキーは、デフォルトで
最大 767 バイトまでとのことでした...。
マイグレーションファイルに於いて、string 型の容量にリミットをつけてあげることで解決出来ました。
ex) t.string   :reset_password_token, limit: 191

参考文献
https://blog.e2info.co.jp/2017/04/17/mysql%E3%81%AE%E3%82%A4%E3%83%B3%E3%83%87%E3%83%83%E3%82%AF%E3%82%B9%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%AB767byte%E3%81%BE%E3%81%A7%E3%81%97%E3%81%8B%E3%81%A4%E3%81%8B%E3%81%88%E3%81%AA%E3%81%84/

##5. 感想
制作時間の半分以上がエラーとの奮闘でしたが、解決した時にはこの上ない感動でした。
普段使っているウェブサイト、アプリ、何から何までこんなに苦労しているんだなと感じることができました。
「こんな機能があるといいな」「こんな風に配置したいな」と、色々とこだわりを入れたかったのですが、そこは自分の今の技術的に厳しめだったので断念。
これからも毎日勉強して、良いものを作ろうと思いました!

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?