スパークリングワインと鮭とば。
これは前回の出張時の写真です。一応女性です私。
最近は開発しているwebサービスと興味のあるチュートリアルを色々手を出しています。
そこで開発の方の合間にやったチュートリアルではまってしまったところが多々あったのですが技術メモ忘れていました。
続きを読むスパークリングワインと鮭とば。
これは前回の出張時の写真です。一応女性です私。
最近は開発しているwebサービスと興味のあるチュートリアルを色々手を出しています。
そこで開発の方の合間にやったチュートリアルではまってしまったところが多々あったのですが技術メモ忘れていました。
続きを読む
メンタルがちょっとやられる出来事が続いたのですが、地道〜〜〜にコードを書いたり、英語の勉強をしたりして日々過ごしていました。
で、ずーーーーーーーーーーーーーーーと解決してなかったとこが
スコン!と解決しました!
エラーが解決できたけど、逆にテンションが上がって眠気が飛んだ。
— 踊るEngineer (@engineerman8) November 13, 2018
続きを読む
画像をアップロードするためにgemfileに
carierwave,rmagick,fogを入れるときにつまづいた点を書きます。
carrierwaveとfogに関しては問題なくbundle installできましたが、rmagickだけが何度やってもerrorでインストールできない!
これに半日くらいかかった。。
続きを読むプルリクエストとは
プルリクエストとは簡単に言うと、開発者のローカルリポジトリでの変更を他の開発者に通知する機能です。プルリクエストは次のような機能を提供します。
- 機能追加や改修など、作業内容をレビュー・マージ担当者やその他関係者に通知します。
- ソースコードの変更箇所をわかりやすく表示します。
- ソースコードに関するコミュニケーションの場を提供します。
私は今開発を個人でもやっていて、メンターにレビューをしてもらってるんですが
ここ最近
できれば細かくプルリクエスト出してください。。。!と言われてしまいまして
個人的には、まとめて出した方が手間がかからないんじゃないか?と思ってたんですけどどうやら違うようです。
私みたいなペーペーだと大したコードなんて書けないけど
変更が大量になったり一個のPRにたくさん会話がつくと読みにくくなるらしい
そもそも一気に変更したのをPR出してしまうとレビュー自体がめちゃ大変なんだそうです。
そんなわけで気をつけながら早めにPRを出そうとしたら今度はプルリクエスト出せない問題が出てきました。
baseになるものとcompareするものをいつも通りに当てはめたら
(base→master compare→他ブランチ)
There is anything compareとなってしまったのですね。色々試行錯誤してローカルで書いたブランチをpushしているにも関わらず!なぜだろう。。
解決したらまた書きます。
pendingしたままで
rollbackすれば直る!と思っていましたがそれでもエラーが出てしまいました。
bundle exec rake db:migrate:status で今の状態を確認すると、rollbackして消えたと思っていたファイルがdownの状態
bundle exec rake db:migrate するとpendingが消え localhost:3000で表示される。
ということです。
迷った時は今の状況を確認する→bundle exec rake db:migrate:status
あまりずーと長い間一つのものを作り続けるということがなかったので
昨日途中で何かやめてしまったのでしょう、朝起きてやろうとしたら
Migration are pendingと出ていました。
Migrationを解決してね ということで
bundle exec rake db:migrate
したところmigratedされて無事解決。
再度rails s するとlocal host:3000でしっかり表示されました!
ちょっとしたエラーも焦らず行くぞ〜〜!
要領が悪くてなかなか進まない。。。!
とりあえず自分のサービスを今ゆるゆる作ってますが
なかなか頭に染み込まないので新しいことをやる度にブログに残していこうと思います。
昨日は全くいじれなかったのですが、userページのリンクからそれぞれの動画を表示するページに飛ばせるようにidをふって行くつもりなのですが
seed-fuを入れると便利だよ、とのことで使ってみることにしました。
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だいたい英語のやつ。
てか、日本語で書かれててもあまりわからなかったりするので。これはちょっとずつ紐解いて行くしかないですね。
DBに初期データを投入するための仕組みとして、Rails(ActiveRecord)には
db:seed
というrakeタスクが用意されています。
このrakeタスクには冪等性がないため、実行するたびに新たなレコードが登録されます。そのため、変更が想定されるデータにおいてはdb:seed
で投入する際に工夫が必要となります。その煩雑さを解決する手段として登場するのが、seed-fuです。seed-fuでは更新されたレコードのみを操作します。つまり、値が変わったレコードは
UPDATE
され、追加されたレコードはINSERT
されます。
名前のリンク→動画の紹介ページに飛ぶ という流れにしたいと思っています。
今までsublimetextでコードを書いていたのですが、私のメンターイチオシのRubyMineを使ってみることに。
トライアルが一ヶ月あるので、使ってみた感じで使いやすければライセンスを購入しようと思いました。
RubyMineって本当に機能がめちゃくちゃ充実してるのですが
初心者プログラマーの私はまあ、全然使いこなせてません!
ただ便利だなと思った一番のものが
勝手に保存してくれるってところです。
command+Sが要らない。
それは便利だなと思いました。
もう、これはエンジニア歴十年のメンターを信じて。
というか最近お金をあまり使ってないのでこれくらい使おうかなーと思ったり。
あと、道具に投資するのはいいことですね。
ちなみに個人で開発するならindividualので
学生さんならさらに安いプランとかあります。
個人だと会社とかで買うのより半額くらい(1年で1万くらい)
仕事にするのであれば、すごい出費というわけでないので妥当な金額かと思いました。
だからと言って、まじすげーおすすめ!っていうほど使いこなせてないので
ゴリ押しはしません。
Google_MaterialDesignLiteというものをいれてカード状に並べてリンクページを作ろうと思ってます。
MDL - Google Material Design Lite : Grids
サイズ感がよくわからないので、結構手間取りました。。
Materializeと言うのも勧められたのですが、カード状にできなさそう、、と言うことでやはりgoogleが出してる、このマテリアルデザインライトを使うことになりそうです。
はい、自分のwebサービスにやっと着手しだしました!
私みたいな自信の無いタイプは他人の力を借りた方が良いですね。
メンターしてもらってる人に「うちの仕事のお手伝いもいいけど、とりあえず自分のサービス作っちゃいましょ」って軽く言われてしまって。
まあ、成果物があるのと無いのとでは雲泥の差ですから。
作ることになってしまいました。(下書きしてたブログです、実際は先月から始めてます)
どうしても新しく作る!となると、画期的なものを!!と考えていたのですが
画期的なもの以前にフリーで仕事を取るということはとりあえず、既存のwebサービスが自分で作れなきゃ意味がないじゃん。。
ということで私は海外のwebサービスを模倣して日本語でもう少し簡単にできたらいいな、、と思っていたサービスを真似て作ってみようかと思ってrails newしました。
あれ、テックアカデミーやrails tutorialしてたときはこんなエラーが出なかった!
っていうことがもう、たくさんありすぎます。
それもちょっとしたことで原因がわからなくて、止まる、止まる、止まる!
こんなとき完全な独学だと心が折れやすいけど、メンターさんのおかげでなんとか保ってます。
これから開発日記を書いていきます!発見したことなど。整理とアウトプットのため。
とりあえずrails newしましょう。
最初carrierwaveを入れたのですが
そもそもとりあえず私アップロード機能いらないやん!ということで
表示できればいい!
なのでとりあえずhtml.erbにvideo_tagを書いて見る。
そこでよくわからなかったのが解決したのをまとめます。
video_tag - リファレンス - - Railsドキュメント
<%= video_tag("test.mp4", :controls => true) %>
これだと表示されない。そもそものvideoをどこから読み取っているのか
私の概念だとtest.mp4ってファイル名入れたら(assetsとかに入れてたら見に行ってくれるっしょと思ってたけど)
publicディレクトリ以下に入れてかつパス / を入れなきゃいけんと。
なので動画ファイルを入れたい場合、
<%= video_tag("/assets/videos/sample.mp4", :controls => true, :loop => true, :size => 20*20) %>
とこんな感じでpublic以下のurlを入れ、
セミコロン で動画のloopやらサイズやらを指定する必要がありました(この辺の書き方がわからなかった!)
サイズの変更が
:size | 動画サイズ(幅x高さ) |
で * で表現できるのですよね。これ、書いてなくて。一日悩んだという。
新幹線で作業!やっとトップページにvideoタグでmp4の動画のせれた!まだcarrierwaveで、アップロードの機能つくんなきゃだが、、とりあえずクリアした、えらいぞ私。動画はわたしのデッドリフト 重り付き。 pic.twitter.com/1d4Jjz96UZ
— EngineerWmn (@engineerman8) September 28, 2018
一番最初に買ったrailsの本ですが、パスの指定などについても書いていたので、これでちょっと理解できました!
色々ググって調べたけどなかなか出てこないこととかも意外と本ってこういう時に頼りになるのだな。。と。