筋トレもプログラミングも反復練習が大事である。

プログラミング初心者三十路越えアスリート系女がフリーランスプログラマーを目指すブログ

seed_fuをいれてシードデータを書いたが反映されなかったところが解決しました。

f:id:simpledancer:20180215104851j:plain
メンタルがちょっとやられる出来事が続いたのですが、地道〜〜〜にコードを書いたり、英語の勉強をしたりして日々過ごしていました。

で、ずーーーーーーーーーーーーーーーと解決してなかったとこが

スコン!と解決しました!

 

seed_fuした?

AWSのS3の画像をeach文で回してそれぞれ表示させるというのに詰まっておりまして。

※ちなみにS3に保存した画像は"公開"にしないとブラウザに表示されません!←これも最初privateにしてた!!

コードを書き直したり色々してもダメでうわああああってなっていたところ

simpledancer.hatenablog.com

そうだ、、seed_fuの時に作ったファイル、もう一度見直そうと思って眺めていると。。。

あれ、これ、中身書き直したら、、、

rake db:seed_fu  必要なんじゃない、、、、???した?画像のurlいれたから、した?

してないよね?

 

で、恐る恐るrake db:seed_fuした。

 

表示された!

 

なんと、そこ、でしたか。。。。!

 諦めずにコードと向き合うことにした

数日前コードレビューしてもらってる人にちょっときつめの言葉をかけられたんです。

それで、(それだけじゃないけど)

もういやだ!私頭悪いもん!できないもん!でも、でも、悔しい〜〜〜

絶対見返してやる!

で、私、睡眠を削って色々やってみよう計画を立てていたのを実行始めました。

↓久しぶりにPV爆上がった記事です、よかったら読んでみてね!

simplelifedancer.hatenablog.com

とりあえず普段6時間−7時間寝ていたのをグッと縮めて3時間ないし4時間

そして眠気がきたら仮眠15分、お酒は飲んでもグラス1−2杯、オンライン英語を朝にクラスを入れる。仕事、リハーサルは主軸におく、以外はコードを書く、という生活に切り替えました。

 

淡々とコードを書いているとすごく面白くなってきて

なんか色々この数日で成長できたような気がします。。と言ってもやっぱり初歩的なことがわかってないんですけどね。だからと言って焦らずゴリゴリ書いてきます。

 

深夜のテンションでいまいち技術ブログになってませんが。

まともに技術ブログも書いていきたいなと思いつつ。。自分用メモで終わってます。アウトプット大事なんですけどね、整理できてない。。! 

参考にさせていただいた記事

remonote.jp

blog.otsukasatoshi.com

Railsでおうむ返しLINEBotを作るときに出たエラーを解消しました。

f:id:simpledancer:20180511100339j:plain

ラインでおうむ返しbot完成!

まんまこちらのブログを参考にさせていただきました。

qiita.com

以前作っていたのですが、接続しようとすると接続エラーになってしまっていたんです。

simpledancer.hatenablog.com

エラー解消方法

"ステータスコードが無効です"とか

Webhookが無効なHTTPステータスコードを返しました

とか出る!

ちゃんとwebhookを送信 にしているにも関わらず!!

(アクセスキーなどの設定は完了済み、以前にちゃんと繋がっていたので)

もしかしてheroku ,,,?

ということでターミナルで

$ heroku login

(→herokuのパスワードが聞かれます。)

そして再度接続確認したらちゃんと接続ができました。

おうむ返しbot完了!

おうむ返しよりももっと進化させるために 

www.cotegg.com

docomoのAPIを使って簡単に応答してくれる!(ただしユーザー登録必要です)

その他ググるといろんな記事が出て来るので作って行ってみようと思います!

 

 

可能性は無限大ですね!!プログラミングって難しいけど楽しい!!

simpledancer.hatenablog.com

 

開発日記vol.11:rmagickのgemインストールでつまづいた所

f:id:simpledancer:20180215104851j:plain

画像をアップロードするためにgemfileに

carierwave,rmagick,fogを入れるときにつまづいた点を書きます。

carrierwaveとfogに関しては問題なくbundle installできましたが、rmagickだけが何度やってもerrorでインストールできない!

これに半日くらいかかった。。

rmagickをインストールする前にやること

qiita.com

RMagickはImagemagickのバージョン7に対応していない模様。
RMagickを使用するには、ImageMagickという画像変換ツールをパソコン内にインストールする必要があるが、
「brew install imagemagick」でImagemagickをインストールするとバージョンは7になってしまうので注意。
既にに入っているバージョンが7の場合は、バージョンを下げましょう。

私はimagemagickが入ってなかったのでインストールをしました!

 

  1. $ brew install imagemagick@6 でインストールする
  2. gem にrmagick追記   →  $ gem 'rmagick', '~> 2.16'
  3. gem installする  → $ gem install rmagick
  4. $ bundle install

で、エラーが出ずに無事、gemがインストールできました!何気に時間がかかったのでメモがてら。。

rmagick | RubyGems.org | your community gem host

 

 

railsでLine botの作り方・設定でつまづいた所

f:id:simpledancer:20180511100339j:plain

今開発中のものとは別にLinebotを作ってみることにしました。

つまづいた点などを含めてまとめて見ます。

アイディア

f:id:simpledancer:20181027165729p:image

常にダイエットできずについお菓子に手を伸ばしてしまうダンサーに

痩せろ

食べていいと思ってんの?

と愛ある鞭を口頭で冗談交じりに言ってると

「手を出す前に言ってくれるとついついがなくなる」と言うことで

ダイエットの鬼ボットを作ることにしました。

ダイエットしなくてはいけないけどついつい負けてしまいそうになる時に鞭が入るボットです。

つまづいたところ

 

サーバーエラー

まず、postgresql これがエラーになってしまって最初サーバーにアクセスできませんでした。gem fileにpgの追加をしてbundle installしたにもかわらず。

qiita.com

下記のqiitaの記事を参考にhomebrewをアップデートしたらサーバーにアクセスができました!

qiita.com

heroku

heroku,テックアカデミーで使ってたから何も気にせずローカルで使おうとすると、、エラー、エラーに次ぐエラーなんで?アカウントは持ってるし。。

あ、、そういえばローカルで使ったことなかったな。。(テックアカデミーはcloud9です)と言うことでhomebrew

さらにログインでき、リポジトリ作成

無事heroku アカウントを作成でサーバーでみることもできました。

f:id:simpledancer:20181027162505p:plain

qiita.com

たたき台はこちらのブログを参考にさせていただきました!

ラインの友達追加で受信は可能に!

f:id:simpledancer:20181027165746p:image

中身の実装

 linedeveloperで友達追加できるようにまでなったので(全部コピペ)

今度は中身の作成

  • 相手のpostに対する返信すると言うaction
  • そのためにどんな単語に反応するかと選別しなくてはいけない。
  • どのAPIを利用を利用するか

などなど。

 

開発日記vol/10:プルリクエストは細かく出す

f:id:simpledancer:20180228113608j:plain

プルリクエストとは

プルリクエストとは簡単に言うと、開発者のローカルリポジトリでの変更を他の開発者に通知する機能です。プルリクエストは次のような機能を提供します。

  • 機能追加や改修など、作業内容をレビュー・マージ担当者やその他関係者に通知します。
  • ソースコードの変更箇所をわかりやすく表示します。
  • ソースコードに関するコミュニケーションの場を提供します。

backlog.com

私は今開発を個人でもやっていて、メンターにレビューをしてもらってるんですが

ここ最近

できれば細かくプルリクエスト出してください。。。!と言われてしまいまして

個人的には、まとめて出した方が手間がかからないんじゃないか?と思ってたんですけどどうやら違うようです。

simpledancer.hatenablog.com

レビュアーにとっては結構めんどい(多分)

私みたいなペーペーだと大したコードなんて書けないけど

変更が大量になったり一個のPRにたくさん会話がつくと読みにくくなるらしい

そもそも一気に変更したのをPR出してしまうとレビュー自体がめちゃ大変なんだそうです。

techracho.bpsinc.jp

そんなわけで気をつけながら早めにPRを出そうとしたら今度はプルリクエスト出せない問題が出てきました。

baseになるものとcompareするものをいつも通りに当てはめたら

(base→master compare→他ブランチ)

There is anything compareとなってしまったのですね。色々試行錯誤してローカルで書いたブランチをpushしているにも関わらず!なぜだろう。。

解決したらまた書きます。

 

 

開発日記 vol.9:rake db:migrationできない時やったこと

f:id:simpledancer:20181018094712p:plain

pendingしたままで

rollbackすれば直る!と思っていましたがそれでもエラーが出てしまいました。

simpledancer.hatenablog.com

解決までの流れ

  1.  duplicate column name: id という表示がでる。→idが重複

  2. bundle exec rake db:migrate:status で今の状態を確認すると、rollbackして消えたと思っていたファイルがdownの状態

    f:id:simpledancer:20181019103339p:plain

  3. ファイルを削除
  4. もうちどbundle exec rake db:migrate:status で確認したらdownが消える

    f:id:simpledancer:20181019103359p:plain

  5. bundle exec rake db:migrate するとpendingが消え localhost:3000で表示される。

原因

  • idは自動生成するのに自分でカラムを追加してしまっていた
  • ロールバックしたけど必要のないファイルを消さずにいた

ということです。

迷った時は今の状況を確認する→bundle exec rake db:migrate:status

参考

joppot.info

qiita.com

開発日記vol.8:pending migration errorが出ました

f:id:simpledancer:20181018094712p:plain

あまりずーと長い間一つのものを作り続けるということがなかったので

昨日途中で何かやめてしまったのでしょう、朝起きてやろうとしたら

Migration are pendingと出ていました。

rake db:migrateで解決

qiita.com

Migrationを解決してね ということで

 

bundle exec rake db:migrate

 

したところmigratedされて無事解決。

再度rails s するとlocal host:3000でしっかり表示されました!

ちょっとしたエラーも焦らず行くぞ〜〜!

simpledancer.hatenablog.com

開発日記vol.7:seed-fuを使ってみる

f:id:simpledancer:20181017113931p:plain
要領が悪くてなかなか進まない。。。!

とりあえず自分のサービスを今ゆるゆる作ってますが

なかなか頭に染み込まないので新しいことをやる度にブログに残していこうと思います。

昨日は全くいじれなかったのですが、userページのリンクからそれぞれの動画を表示するページに飛ばせるようにidをふって行くつもりなのですが

seed-fuを入れると便利だよ、とのことで使ってみることにしました。

seed-fuとは

qiita.com

github.com

Seed Fu is an attempt to once and for all solve the problem of inserting and maintaining seed data in a database. It uses a variety of techniques gathered from various places around the web and combines them to create what is hopefully the most robust seed data system around.

プログラミングってまじ英語と切っても切り離せませんね。メンターが紹介するgithubだいたい英語のやつ。

てか、日本語で書かれててもあまりわからなかったりするので。これはちょっとずつ紐解いて行くしかないですね。

qiita.com

DBに初期データを投入するための仕組みとして、Rails(ActiveRecord)にはdb:seedというrakeタスクが用意されています。
このrakeタスクには冪等性がないため、実行するたびに新たなレコードが登録されます。そのため、変更が想定されるデータにおいてはdb:seedで投入する際に工夫が必要となります。

その煩雑さを解決する手段として登場するのが、seed-fuです。seed-fuでは更新されたレコードのみを操作します。つまり、値が変わったレコードはUPDATEされ、追加されたレコードはINSERTされます。

 

やること (予定)

  1. seed-fuのgemを入れる(bundle installする)
  2. ディレクトリを作る
  3. 紐付ける動画を選ぶ
  4. その動画のデータを格納した何か←適当 を作る
  5. 紐付ける

 名前のリンク→動画の紹介ページに飛ぶ という流れにしたいと思っています。

 

simpledancer.hatenablog.com

 

RubyMineのトライアル終了したので思い切ってライセンスを購入しました!

f:id:simpledancer:20181015111742p:plain

今までsublimetextでコードを書いていたのですが、私のメンターイチオシのRubyMineを使ってみることに。

トライアルが一ヶ月あるので、使ってみた感じで使いやすければライセンスを購入しようと思いました。

トライアルした感想

RubyMineって本当に機能がめちゃくちゃ充実してるのですが

初心者プログラマーの私はまあ、全然使いこなせてません!

ただ便利だなと思った一番のものが

勝手に保存してくれるってところです。

command+Sが要らない。

それは便利だなと思いました。

www.jetbrains.com

購入した理由

もう、これはエンジニア歴十年のメンターを信じて。

というか最近お金をあまり使ってないのでこれくらい使おうかなーと思ったり。

あと、道具に投資するのはいいことですね。

ちなみに個人で開発するならindividualので

学生さんならさらに安いプランとかあります。

個人だと会社とかで買うのより半額くらい(1年で1万くらい)

仕事にするのであれば、すごい出費というわけでないので妥当な金額かと思いました。

だからと言って、まじすげーおすすめ!っていうほど使いこなせてないので

ゴリ押しはしません。

simpledancer.hatenablog.com

開発日記vol.6:Google_MaterialDesignLiteを使ってみる。

f:id:simpledancer:20181001132157p:plain

Google_MaterialDesignLiteというものをいれてカード状に並べてリンクページを作ろうと思ってます。

 

MDL - Google Material Design Lite : Grids

サイズ感がよくわからないので、結構手間取りました。。

Materializeと言うのも勧められたのですが、カード状にできなさそう、、と言うことでやはりgoogleが出してる、このマテリアルデザインライトを使うことになりそうです。

simpledancer.hatenablog.com

参考にさせていただいた記事

saruwakakun.com

qiita.com

note.mu