2019-01-01から1年間の記事一覧

undifind method `map` for#<ActionDispatch::Http::UplodedFile:ファイル名> Did you mean? tapエラー

82日目です。 昨日からネットでどれだけ調べても、チームメンバー、他チームに聞いても分からず、メンターに2回匙を投げられめちゃめちゃ苦しんだエラーが解決したので紹介します。 発生していたエラー メルカリのクローンサイトで商品を出品しようとすると…

undifind method image_will_change!エラー

81日目です。 私もチームメンバーも初めて見るエラー(undifind method image_will_change!)に遭遇したので紹介します。 原因 image_urlカラムを消して、imageカラムを追加した際に、「Image」と先頭大文字にしてしまったために発生。 imageカラムに画像を…

Macの動きが重い時の対処法

77日目です。 チーム開発や就活準備が始まってからタブを開いてそのままにすることが増え、PCの動作が重くなったり、熱を持つことが増えてきました。 その中で有効だった対処法を紹介します。 Google Driveを消す 職務経歴書などの編集でGoogle Driveを使う…

良いね機能実装で使ったぼっち演算子(&)

75日目です。 個人アプリにいいね機能を実装したのですが、その際エラーが起きたので紹介します。 ぼっち演算子(&)とは Ruby2.3以降で使えるようになったメソッドで、メソッドに続けて記述すると、そのメソッドがnilでなかった場合のみ右辺のメソッドが実…

jQueryを食わず嫌いしていた話

73日目です。 昨日までの私はjQueryを食わず嫌いしてました。カリキュラムで少し触りましたがよく分からず、個人アプリでは記事をパク、、参考にしてモーダルを表示するのに使っていただけでした。 しかし、Progateで基礎からやり直したところ、意外なほどす…

ER図をgem「rails-erd」で作成してREADMEに入れ込む方法

71日目です。 個人アプリのER図をgemで作成してREADMEに入れ込んだのですが、少し躓いた点もあったので、紹介します。 そもそもER図とは ER(Entity Relationship)は「実体関連モデル」と呼ばれている。 主にデータベースや情報システムでデータを編成する…

個人アプリ 学習時間削除機能を追加実装

70日目です。 9日前の個人アプリ発表時には「最低限は実装できたな〜」と感慨に浸っていたのですが、その後気づいちゃいました。 「あれ?学習時間のリセット機能ついてないから、新しく目標立てて学習記録をしたいならアカウント作り直さなきゃいけないじゃ…

Ransackを使って検索機能を実装

69日目です。 個人アプリにRansackを使って検索機能を実装したのですが、思いの外大変だったので残します。 Ransackとは 検索機能を実装してくれるgem。ユーザーの名前だけなどでなく、様々な検索方法が可能になるとのこと。 実装したアプリ 実装の流れ Gemf…

1週間の個人アプリ開発で得たこと

61日目です。 1週間(8/16~8/23午前中)で「プログラミング学習記録アプリ」を作りました。 メンターのサポートは一切なし、カリキュラム以外の技術も使って好きなものを作る課題です。 まずは発表スライドと成果物をご覧下さい。 発表スライド ※スクリーン…

モーダル3分クッキング(jQuery)

60日目です。 JavaScriptでモーダル作ろうとしたら、わけわからずに苦しんだのですが、jQueryを使ったら(本当に)3分で終わったので、紹介します。 作り方 ①HTML(自分は「index.html.erb」に書きました。) <a class="modal-btn">モーダル</a> <div class="modal-screen"> <a class="close-btn">閉じる</a> </div> ②CSS(自分は「style.scss」…

URLからある部分だけを取得する方法(Rails)

59日目です。 取ってきたい「user_idとの紐付け」ができずに、とても苦しんだのですが、URLからIDを取得することでひとまず解決したので紹介します。 (もっと良い方法がある気がしますが、、笑 ちなみに他の言語でもできるかはわかりません。) URL取得する…

カリキュラム以外のことをやろうとすると凡ミスが多発する

57日目です。 本日は初歩的なミスに何時間も苦しみました。 1. binding.pryができない Gemfileに「gem 'pry-rails'」を追加し「bundle install」 「さあ、binding.pry使ってデバッグすっぞ!」 エラーメッセージ発生「pryって何?tryの間違いか?」 バグを解…

deviseでユーザー編集機能を作るときはストロングパラメーターの設定をお忘れなく

56日目です。 本日犯したミス ユーザー(プロフィール)編集機能を作成 編集して更新ボタンを押したにも関わらず更新されず(サインアップ時の情報と変わらず) これは、deviseで「メールアドレスとパスワード」だけはデフォルトでストロングパラメーターが…

シーザー暗号とは

55日目です。 スクールのミニ問題で、全く聞いたことがなかった「シーザー暗号を復号せよ」という問題が出てきて衝撃を受けたので、調べました。 シーザー暗号とは 古代ローマの政治家、軍人だった「ジュリアス・シーザーが」使っていたとされる暗号。 平文…

先輩方チーム開発発表会の所感

54日目です。 本日は私の期(57期)より約1ヶ月前にスタートした先輩方のメルカリチーム開発最終発表会に参加してきた所感を書きます。 参考にしたい点 コンフリクトを恐れすぎずにとりあえずマージしてみる →一回でもコンフリクトの対応をすれば気軽にでき…

良い質問・悪い質問

53日目です。 チーム開発を残し、一通りカリキュラムが終わったので、ここまでで感じた「質問」について書きます。 良い質問 ・相手の時間も自分の時間も無駄にしないこと カリキュラムでは「15分調べても分からなかったら、質問しましょう」といった時間の…

自動更新とは

52日目です。 非同期通信と自動更新をごちゃごちゃに考えていたせいでエラー解決が遅れたので、改めてまとめます。 自動更新とは 一定時間ごとにデータベースと通信して、ページを最新の状態にしてくれる機能のこと。 自動更新の詳細 今回私が課題で作ったチ…

個人アプリの構想

51日目です。 これから8月23日(金)の発表に向けて個人アプリの構想をしていましたが、作りたいアプリを決めました。 構想1 プログラミング専用学習記録アプリ →未経験からの転職者に取ってそれ自身がポートフォリオになるようなアプリを作りたい 構想2 家…

デプロイ地獄を見た

50日目です。 プログラミングの勉強はすぐに関連性に気づきスムーズにいける人と、 色々なものにぶつかって事故に会いながらなんとか進められる人がいますが、私は確実に後者のタイプです笑 手動デプロイ、自動デプロイどちらでも思い切りぶつかったので、本…

rbenv globalの意味

49日目です。 rbenv globalとは システム全体で使うrubyのバージョンを指定するコマンド なぜ調べたか EC2インスタンス上にRubyをインストールする際、下記の順番でするよう指示がありました。 rbenv install 2.5.1 rbenv global 2.5.1 rbenv rehash # shims…

プルリク後の失態

48日目です 時間かかった(そもそも何しているのか理解していなかった)自動更新がやっと終わりました。 メンターに4回リモートで質問しながら方向性を探し、かつ自分で仮説立てて調べたことで、非同期通信や自動更新の流れやコードの意味が分かってきました…

turbolinksが邪魔をする

47日目です。 Turbolinksとは Turbolinksはあなたのwebアプリケーションの閲覧を高速化します。 リンクでのページ遷移の際に、非同期でhtmlリクエストを送り、headタグでのcss/js/imgの再読込を省略することで、画面遷移を高速化する ブラウザの進む・戻るに…

Hamlのハイフン(-)は何物なのか

46日目です。 Hamlのハイフンは(-)はどういう状況で使うのか ループしたい時や条件分岐したい時に先頭にハイフン(-)をつける なぜ調べたか Hamlでビューを作っている時にちょくちょく文の先頭にハイフン(-)が出てきたのですが、よく分からないまま取り…

非同期通信の概念

45日目です。 非同期通信の概念を理解するのにとても苦しんだので、昨日の自分に向けて分かりやすさ重視で説明します。 そもそも同期通信とは 何らかのリクエストをブラウザからサーバに投げた際、サーバの応答があるまでブラウザ側の処理が止まる通信のこと…

Udemy 酒井潤講師「エンジニアとしてのキャリアを考える」セミナー参加の所感

44日目です。 本日ツイッターで「Udemy 酒井潤講師 セミナー」の存在を知り、急遽ぼっちで参加してきました。 (150人中あと3枠の空き!スクールから徒歩2分の場所!参加費1,000円!参加資格:PythonやGoに興味があること!ということで、むしろ参加しない理…

DOMとは

43日目です。 DOMとは 「Document Object Model」の略。 JavaScriptでHTMLの要素(<p>や<img>など)にアクセスできる仕組みのこと。 何故調べたか 学習で「JavaScriptを用いたプログラミングには、DOM要素の取得が欠かせません」といった説明が出てくるのですが、「D</p>…

Visual Studio Code/Atomで誤って画面を最小にしてしまった時の対処法

42日目です。 突然ですが、皆さまこのようになったことはありますでしょうか? 対処法 画面左上、リンゴマークの右側に表示されているメニューの中から「表示」をクリック 外観をクリック ズームのリセットをクリック これで直ります。 (Atomの場合は表示→…

先輩方の個人アプリ発表会の所感

41日目です。 本日は56期の先輩方の個人アプリ発表会に参加してきました。 (弟の引っ越し手伝いがありましたが、3週間後は自分たちの個人アプリ発表会が迫っているため、どうしても参考にしたく、拝見してきました笑) そこで感じた所感を発表します。 魅力…

HTMLからHAMLへの一括変換で「rake haml:replace_erbs」が使えない場合

40日目です。 題名の通り、本日の学習でhtmlファイルをhamlに一括変換するという指示があり、 「rake haml:replace_erbs」をターミナルに打ち込んだのですが、 「rake aborted!」(rakeが中止されました)と怒られました。 結論 ターミナルで「rake -T」で調べ…

deviseを使う際の初期設定

39日目です。 deviseを使用する際に使うコマンドなどを紹介します。 また、本日の実装で躓いた点もあるので併せて記載します。 deviseとは Railsで作成したアプリケーションへ簡単に認証機能 (サインアップ・サインイン・ログアウト・アカウント編集機能な…