2週間でWebサービスを作ろうとしたら人が死んだ話
これの制作にあたった制作秘話というかチラ裏的なあれです
どうやって作ったとかそんなのをメモ程度につらつら書いただけの記事なので読みたい人だけでも(*‘∀‘)
何かを作る
最近何も作ってなくてさすがにヤバさを感じていた(´・ω・`)
気づいたら一日が終わっていて絵を描いてもワンドロくらいのものしか描いてなかったし、なんかギター弾いてたかって言われるとうーんって感じ
VAIO Zも買ったものの面白い発想が降ってこず、特にこれといったコーディングもしていなかった
作る機会
たまたま課題で「なんか作れ」というあやふやなものが降ってきた(おいおい)
その時も特に面白い発想が降ってこず、「どうしましょ~~(*‘∀‘)」ってなっちゃてた
やばいなーって感じてた
ふと
イラスト・作曲・プログラミングさまざまな方面で活躍し始める同期、いろんなことに熱心な後輩達、なんだかんだ支えてくれる先輩達、Twitterで適当なノリについてきて会話してくれる人達とかとか
周りがすげえ!!!
すげえ!!!と思ったわけですよ(語彙力はない)
そんな人達から「体調悪くなるとあれだしね」とかたくさん励ましの言葉をいただいてた
たしかに体壊しちゃ意味ないよね?って言い聞かせてたし、むしろそれは正論で医者からもそう言われまくってる
でも!!
そうだけどそうじゃない!!!!(意味不明)
なんでもいい、作ってやる!って気分になれた
ありがとう
前置きが長い
ですね(*‘∀‘)
今回はWebに手を出した
経験
以前にあいちゃれに出場させていただいた時もWebだったわけですが、雑にいうとフロントエンドしか担当してませんでした
あ、ちなみに作ったやつ
これ「Yonkoma」です
デザインとか機能とか改変してこうって話はチームで一応持ち上がってはいる
鍋とかする時に気が向いたら開発する感じ
だからぶっちゃけサーバサイドマジでわかってなかった
つまりサーバサイドやってみよう
Yonkomaの時Ruby on Railsで開発を進めたのでいつでもチームメンツとかに質問が飛ばせるように同じくRailsでの開発を取り組んだ
VAIO Zも買ったばかりということで環境構築から
とりあえずはこんな感じ
さて何をする
何作ろうか悩んでる間、友人は意☆味☆不☆明なのものを大量に生産していた
わしの呟きはフリー素材か
「形態素解析」
まあn番煎じ感あるけど形態素解析でなんかしてみよう
テンションを測定
冒頭でも言ってたように最近割と落ち込んでました( ;∀;)<ナサケナイ
よく「つらい」「だめだ」とか呟いてました(´・ω・`)
そんな時は好きな曲を聴いたりしてよく気分を紛らわしてました!
本当GUMIちゃんは天使です(唐突)
いろんな曲を聴くことは素晴らしい
目指すは「呟きのテンションに応じていい感じの曲が聞けるサービス」
この発想に至った時点で締切2週間前だったので割と焦る
ということでとりま形態素解析を行うため
を入れる
Twitter周りのうんぬんはここを参考にさせていただいた
OmniAuthで認証した後に、tweetしたりfollowしたりする | hello-world.jp.net
とりあえずは(忘れないメモ)
rails new プロジェクト名
**注意** もし、Herokuへのデプロイを考えてるなら データベースはPostgresqlにするようnewするときに注意 Sqliteは使えませんのでいろいろ設定することががが
プロジェクトを立てて、必要なviewとそのcontroller、さらにrouteを編集
class HogeController < ApplicationController def index end end
root 'hoge#index'
modelだけはrails g使って生成
rails generate model モデル名 カラム名:データ型
controllerとかをrails gとかで生成しなかったのは何が起こったかよく分からなくなるのが嫌だったので。割と勉強になる
あとはいい感じにViewとControllerを書いていく
結構使ったコマンド:
テーブルにあとでカラムを追加したくなったとき(設計がばがばとか言わないで!)
rails generate migration Addカラム名Toクラス名 カラム名:型
rails generate migration AddValueToMusics value:integer
端末上からrubyでなんか実行したいとき/データベース確認したいとき
rails c rails db
ミスってrake db:migrateしたとき
rake db:rollback step=1
どうやって感情を測るのか
単語感情極性対応表
http://www.lr.pi.titech.ac.jp/~takamura/pndic_ja.html
高村大也, 乾孝司, 奥村学 "スピンモデルによる単語の感情極性抽出", 情報処理学会論文誌ジャーナル, Vol.47 No.02 pp. 627--637, 2006.
これを用いて感情値の計算をしています!(許可はいただいてます)ホモがマイナス値っていうのが個人的にツボです!
提出1週間前
ここまで少しつまづきながらもうまく言ってるような進捗だった
あとは音楽データを実際入れたり、ツイートボタン、お気に入り機能あたりを作れば終わる・・・そんな感じ
だが事件は起きた
マイグレーションファイルをちょいっと手でなおしてしまった(のだと思う)
なにやらわけわかんないエラーに見舞われ、色々と必死で手直しするうちにもっと見知らぬエラーに出会いどうしようもなくなってしまった
ggってエラーの対処法を行えば行うほど新たなエラーに遭遇する負のスパイラルである
仕方なく私は
プロジェクトを潰した
そして無言でモンスターを1つあけた
大丈夫、もう一度作り直すだけさ
Herokuにデプロイ
一 番 つ ら か っ た
ちなみにこの時点で課題締切24時間切ってました(情弱すぎた)
周りが結構Heroku使ってたのでHerokuにあげようとしてたんですが、
と後で知りました・・・(←先に調べとけ
HerokuでMecabを使う方法
buildpack作ってくれてた!!!!神!!!!
まずGemfileにmecabを追加
gem 'mecab' , '0.996'
bundle install heroku config:set BUILDPACK_URL=https://github.com/diasks2/heroku-buildpack-mecab.git heroku config:set LD_LIBRARY_PATH=/app/vendor/mecab/lib heroku config:set MECAB_PATH=/app/vendor/mecab/lib/libmecab.so
で設定完了!!
ちなみに、、、私はここで意味不明すぎるエラーを吐かれまくって2日費やしました()嫌になりすぎてエラー内容もなんかあんま覚えてない・・・一番よくみたのは「Mecabなんてファイルないよ????(*‘∀‘)」ってずっと言われたことですかね。。。
そんな感じで環境変数設定して動くはずのものが動かずうわああああってなったとき!!
消そう
heroku apps:destroy --app アプリ名 --confirm アプリ名
実際消してもう一回createしたら通った(たぶん自分がそれまでに変なことしてたんだと思う)
HerokuのSqlite3からPostgresqlに変更
config/database.ymlで本番のproductionをpostgresqlにする
production: adapter: postgresql encoding: utf8 database: database port: 5432 username: username password: password
heroku config //DATABASE_URL:postgres://username:password@hostname/database
//username:passward@hostname/databaseの形で教えてくれるのでそれに合わせて入力
Gemfile
group :production do gem 'pg' gem 'rails_12factor' end group :development, :test do gem 'sqlite3' end
慣れてないせいでめっちゃエラー吐いたのがymlの記述のところ
ymlはスペース二つで入れ子になるのを完全に忘れて適当なインデントでやってたせいで「Settinglogics」 周りでいっぱいエラー出た
ここまでやったらbundle install、コミットしてプッシュだあああ!
通らなかったら私みたいに2日くらい悩んでください(理不尽)
しかし、
heroku run rake:db migrate
をすると「ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: relation ~」
そんなテーブルないぞ的な?いやいやいやあるある
この記事なかったら死んでた・・・
これであげられた・・本当に感動した・・・
ちなみにデータベースのsqlite→posgresqlへの引き継ぎはtapsっていうgem使って、heroku db:pushみたいなことすればいい!みたいな記事にぶち当たったんですけど上手くいかなかったので今回は諦めました
開発中の状況と出費
この開発の2週間でモンスターを何本も飲んだ
周りのリア友からさすがにそれは死ぬんじゃないとも言われ始めてたし
その間に別の友人はスプラトゥーンを買っていたので何回か忍び込ませてもらい、イカしたプレイをしてた
スプラトゥーン1戦につき1行のソースコード
我ながら当時は「最高のソリューション!」ってなったけど1日経ってその非効率さに気づきました
そんなこんなでこの2週間死んでました(死にました)
これから
まぁぼちぼちなんか作っていきます
もうすぐ6/26!!!!!!!!
お前らわかってるだろうな!!!!!!!!!!