hibikousinnkibouのブログ

駆け出しプログラマーによる足跡ブログ

2022-10-01から1ヶ月間の記事一覧

プログラミング用語まとめシリーズ①

面接対策として、簡単な用語についての理解を言語化してみました。 ・MVCの仕組みについて MVCとは、クライアントサイドからのリクエストに対して、レスポンスを返すために、データベースへのアクセスが必要なのか、必要でないのかをコントローラーに記載し…

落ちゲーアプリ作成9

本日は、プログラミングスクールの成果発表会(卒業発表会)でした。 そのため、とりあえず見た目を綺麗にするために css をいじりました。 ボタン要素になる link_to に対して、 css で、 .game_start { position: absolute; top: 63%; left: 50%; transfor…

返り値を絶対値(今回の場合は正の整数)に変換する際にabsメソッドを利用する問題

問題.1 メソッドに3つの整数a b cを与えます。・「aとbの差が1」または「aとcの差が1」であり、かつ「bとcとの数値の差が2以上」の場合はTrue、それ以外はFalseと出力するメソッドを作りましょう。 出力例: close_far(1, 2, 10) → Trueclose_far(1, 2, 3) →…

落ちゲーアプリ作成8

前回までで、一応ゲームを一通りやるまでは形になりました。 就職活動に向けて、このアプリを就職活動用で使用する可能性があるため、デプロイしようと heroku create defend_the_lord1 しました。 すると 「Name must start with a letter, end with a lett…

落ちゲーアプリ作成7

前回までで、概ねゲーム要素は完成したので、BGMと効果音を入れる作業をしたいと思い取り掛かった。 結果としては、 gem 'audiojs-rails' を導入し、<%= audio_tag '○○.mp3' id: "sound" %> で再生することは出来たが、一曲だけしか再生することが出来ず、導…

バイナリーサーチを利用した、配列の何番目に存在するか、又は存在しないことを確認する問題

以下の配列において、 1 array=[1,3,5,6,9,10,13,20,26,31,35] 任意の値が配列内に存在しない場合は、「値は配列内に存在しません」と表示し、存在する場合は、配列の何番目にあるかを表示してください。 検索はバイナリーサーチ(2分割検索)を使用して行う…

落ちゲーアプリ作成6 ( gimp )

今日は、ゲーム性を高めるために、落ちてくるキャラクターを増やす作業をした。 無料素材から集めていたキャラクターの背景を切り取り、色の変更をおこなった。 gimp を利用し、 まずはインポートし、「変換」を選択、右クリックから「レイヤー」→「透明部分…

落ちゲーアプリ作成5

前回はゲーム終了後に結果発表のページへ遷移することについて検討していた。 ただし、合計点数を他のページへ渡せないでいたためページ遷移方法について悩んでいた。 js のフォルダは指定しない限りどのビューにも反映されるため、 if(document.URL.match(/…

落ちゲーアプリ作成4

前回、複数の忍者を落としてクリックして消すところまで行っていたが、 今回は忍者をクリックしてカウントすること、時間になるとページ遷移することを記述した。 const point = document.getElementById("point"); let clickCount = 0 const ninja1 = docum…

落ちゲーアプリ作成3

引き続き JavaScript を使用して落ちゲーを作成中。 キャラの落下、クリックによる消去をおこなった。 document.querySelector(`#ninjas`).animate( [ { transform: 'translateY(0)' }, { transform: 'translateY(800px)' } ], {duration: 3000} ); js に慣…

落ちゲーアプリ作成2

アプリ作成は何事も一歩ずつだなと感じながら、進んでいても進んでいなくても、休憩は必要ですがとにかく作業時間を確保しながら取り組んでいます。 先日デバイス作成をでgem を導入したので、ログインするためのニックネーム欄を作成し、デフォルトのエラー…

slice,downcase を利用した問題

問題 以下の要件を満たすend_otherメソッドの実装。 メソッドの引数に、任意の2つの文字列を指定する。 引数に指定された2つの文字列のうち、どちらかがもう一方の文字列の末尾にある場合は、Trueを出力する 上記を満たせていない場合は、Falseを出力する 入…

落ちゲーアプリ作成

プログラミングスクール卒業が決まりました。 最初は訳が分からない中でしたが、このコードが何を意味しているかを解読しながら取り組んでいくと理解が深まっていきました。結果、2ヶ月半の学習期間のうち二週間ほど時間を余して卒業することができました。…

FizzBuzz 問題

有名な問題だという FizzBuzz 問題を解きました。 3の倍数の時は Fizz 、5の倍数のときは Buzz 、15の倍数の時は FizzBuzz と表示されるようにすること。という問題 def fizz_buzz # ここに処理を書き加えてください end fizz_buzz 自分の答えは def fizz_bu…

エラー文の日本語表記

フリマアプリを課題として取り組んでいたが、求められていたところ(ユーザー管理、商品出品・編集・削除・購入)まで完了し、エラー文を日本語表記にする機能を実装した。 まずは、 config/application.rb に斜体部分を追加 module Furima38489 class Appli…

ポイント付与、誕生日ポイント付与の問題(ruby)

999円以下の買い物には3% 1000円以上の買い物には5% 誕生日には5倍ポイントとなるような記述の問題。 calculate_points(amount, is_birthday)を使用して呼び出すこと。 (出力例)calculate_points(500, false) → ポイントは15点です if文を利用することは…

herokuデプロイ後のDB修正

アプリケーションはローカル環境では動いていたが、本番環境で以下のエラーが出て、 本番環境エラー画面 heroku logs -t の入力を行い、エラー内容を確認した。 エラー内容 エラー内容的には purchases テーブルに item_id がないとのことで、 DB を確認した…

商品購入機能及びテストコードの記述

出品された商品を購入する機能を実装。 カード決済により発送先住所に送付するためテーブルを2つ作成。 purchase と shipping_adress モデルをターミナルにて作成したが、バリデーションの設定と一つのコントローラーから2つのモデルに指示を出さないよう…

文字列から一部を取り出し繰り返す方法 (slice メソッド)

今回は "Hello" から最後の "lo" を取り出して、3回繰り返す(正解は lololo )方法を def extra_end(str) # 処理を記述 end # 呼び出し例 extra_end('Hello') の形で行う。 String#slice! (Ruby 3.1 リファレンスマニュアル) 上記の公式サイトから正規表現が…

一つのフォームから複数のテーブルにデータを保存する方法

form_with を利用して、複数のテーブルにデータを保存する方法は、一つのコントローラーから複数のモデルへの指示を出すのではなく、新たに中間のモデルを作成し、そこにコントローラーからの指示を出させる方法をとる。 今回は、寄付の投稿をするために、保…

getsメソッドを利用した2桁の数字を足し合わせたり、掛け合わせたりする計算

本日、朝の問題。 二桁の整数を入力し、一の位と十の位を足し合わせたものと掛け合わせたものを足した整数を求めなさい。 ヒント:一の位は二桁の整数を10で割った余り。 十の位は二桁の整数を10で割った整数に対して、また10で割った余り。 この問題…

PAY.JPについて

PAY.JPはクレジット決済代行会社の一つ。(その他 paypal 等) <クレジットカード決済代行サービス導入のメリット> ・カード会社ごとの個別対応不要。(visa,jcb,アメックス等) ・セキュリティ対策を講じなくても安全に運用できる。 セキュリティ面においては…

商品詳細表示及び編集機能

つまりshowアクション。 routesでルーティングを行い、index画面から遷移先のprefixを利用してパスを作成。 条件別に表示する項目を変える。 if文を利用し、 <% if user_signed_in? && current_user.id == @item.user_id %> <%= link_to "商品の編集", "#", …

商品一覧表示機能の実装

CSSが出来ている前提で、商品一覧表示機能を実装した。 一覧表示にするには、each do | 変数|を利用し、 <% @items each do |item|%>を<li>要素の上に設定した。 <ul>要素にはCSSでdisplay:flex;と記述あり。 商品が横並びになった。 新しい商品順に表示したいため、</ul></li>…

include?メソッド

include?メソッドは、配列もしくは文字列の中から特定の文字(もしくは文字列)を取り出すときに利用する。 今回は、 array123([1, 1, 2, 3, 1]) に対して、1,2,3 を含んでいる時のみ true を出す方法を考える。 まずは、 def array123(nums) puts nums.incl…

cssの復習(中央揃え、画像の上に文字を表示、画像の透過、トリミング)

cssの記述で、 中央揃えの方法として display:flex; justifycontent:center; aline-items:center;を利用していたが、 line-height:100px; (100pxの要素に対して真ん中の高さに位置することができる。)や text-aline:center;を利用することも可能。 display:…

rubyで配列から偶数の値の数を取り出す。

現在勉強中のruby 配列の中から even? を利用して偶数の値を取り出す問題を解答した。 count_evens([2, 1, 2, 3, 4]) 配列の数を数えるので最初は .length を利用するかと思ったが、エラー。 .length で導き出せたのは配列の数の5。 num=[2,1,2,3,4] puts nu…

JavaScriptによるHTML画面操作、および投稿データのパラメーター取得

今回は、furimaアプリにおける販売価格の入力から10%の手数料と利益の表示について、JavaScriptを利用して行うことが出来た。 app/javascript/packs/application.js があり、その中に require("../fee_count") を入力する。 app/javascript に fee_cout.js …