yuuki blog

プログラミング をアプトプットしています。

プログラミング

Ruby 二次元配列の最大値と最小値を求める

下記のようなテーブルがあります。 a b c d ... 1日目 12 25 46 10 20 2日目 27 93 17 39 26 3日目 63 72 53 7 92 4日目 32 54 37 98 6 各カラムの最大値と最小値を求めます。 テーブルは配列で入力します。(例)12 25 46 10 20 num = [] max_array = [] low_…

Ruby 食事カロリーを計算

複数人の食事のカロリーを計算するプログラムです。 条件 複数人数えることができます。 各料理は100gあたりのカロリーを入力します。 一人づつ各料理の食べた量(g)を順番に入力します。 (例)一番目が300g,2番目が400g,3番目が200g =>"300 400 200" col_su…

Ruby ポーカーゲーム

ポーカーのルール n回手札を交換できます。 ジョーカーを含めない52枚から構成されます。 同じ札は入りません。 以下の順番に役が出力されます。 loyal_straight_flash straight_flash four Card full house flash straight three card two pair one pair no…

Ruby 損益分岐点売上高と利益率を求める(P/L)

損益分岐点売上高とは 利益が出る売上金額です。 (売上高=変動費+固定費になる分岐点) 売上高とは 事業で得られたお金の全て 売上高の構成 売上 = 費用+利益 (費用 = 変動費+固定費 ) 固定費とは(営業の忙しさ、売上にかかわらず毎月かかる金額) 家賃・社員…

Ruby 1次方程式の計算

簡単な1次方程式を計算するプログラムです。 このような式のx を求める計算です a + b = c (+には +,-,*,/ のいずれが入ります。) 条件は以下の通りです a,b,cはいずれも整数です。 a,b,cのうちいずれかをxにします。 #入力例 2 * 3 = x #出力例 6 int = ge…

Ruby 複数の文字を削除する方法

ローマ字を入力して、子音のみを出力します。 ここではローマ字は小文字のみとします。 出力例 文字を入力してください hatena 子音はhtnです n =0 puts "文字を入力してください" s = gets.chomp str = ["k","s","t","n","h","m","y","r","w","g","z","d","…

Ruby 簡単な四則計算機

2つの変数が用意されていて、入力した命令に対して、以下の動作を行います。 set i a : 変数 i に値 a(b) を代入する (変数a = 1, 変数b= 2) add a :「変数 a の値 + a」を計算し、計算結果を変数 b に代入する sub a :「変数 a の値 - a」を計算し、計算結…

Ruby 完全数を判別する

完全数とは 自分自身を除く正の約数の和に等しくなる自然数のことです。 完全数の最初の3個は 6 (= 1 + 2 + 3)、28 (= 1 + 2 + 4 + 7 + 14)、496 (= 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248) です。 たとえば、N = 28 のとき、28 の約数は 1, 2, 4, 7, 14…

Ruby ポイント付与(支払い)問題

問題 プリペイドカードのポイント問題です。条件式は下記の通りです。 初めにプリペイドカードの残高と支払い回数を記述します。 プリペイドカードの残額を使うと、 10 % が ポイントとしてたまります。(1ポイント=1円) 支払う金額以上のポイントがある場合…

Ruby 文章のサイズを変更する

My#name# is#haten a#I#like #program ming#ver y#much.# を下記のように変更する方法です。 My#nam e#is#h atena# I#like #progr amming #very# much.# n,m = gets.chomp.split.map(&:to_i) str = n.times.map{gets.chomp.split.map(&:to_s)} s = str.flatt…

Ruby n進数の表示方法

n進数から10進数へ変換 puts "値は?" int = gets.chomp puts "何進数?" n = gets.to_i puts int.to_i(n) String.to_i(基数)と引数に基数を指定すると、n進数の文字列も数値に変換することができます n進数から10進数へ変換 puts "値は?" int = gets.to_i …

Ruby  特定条件のみに呼応するプログラムの作成

問題 今日の曜日を表示するコードをDateクラスを使用して記述してください。 ただし、金曜日だった場合だけ以下のように表示の内容を変えてください。 (出力内容)「今日は月曜日」「今日は金曜日だ !!!」 require "date" day = Date.today.wday if day …

Ruby 引数の基礎

問題 "晴れ" という文字列を引数で渡した時に 明日の天気は晴れです とターミナルに表示されるようなメソッドを作成する問題です。 呼び出し方:get_weather_forecast(“晴れ”) 回答 def get_weather_forecast(wizard) puts "明日の天気は#{wizard}です" end …

Ruby クラスとインスタンス

問題 class Article def initialize(author, title, content) @author = author @title = title @content = content end end こちらのコードを使い下記の結果を出力する問題です。 著者: 阿部 タイトル: Rubyの素晴らしさについて 本文: Awesome Ruby! 自分…

AWS (デプロイを自動化)

デプロイの自動化 Capistrano 「Capistrano」とは、自動デプロイツールと呼ばれるものの一種です。 ではなぜ「自動デプロイツール」を扱うのか、その理由について学びましょう。 自動デプロイツールのメリット 自動デプロイツールを利用することによって、デ…

AWS (Webサーバーの設定方法)

サーバーの種類 サーバには複数の種類があり、ここではクローンしたアプリケーションを起動するために必要な「Webサーバー」と「アプリケーションサーバー」について理解を深めましょう。 Webサーバー 「Webサーバー」とは、静的コンテンツのみをリクエスト…

AWS (手動デプロイ)Rails環境

EC2のサーバーに開発中のアプリケーションのコードをクローンする準備をしよう まず、アプリケーションのコードをGitHubからEC2サーバへクローンします。デプロイできるIPアドレスを持ったEC2サーバー上でアプリケーションを動かすためです。 現状、EC2サー…

AWS (本番環境でのデータベース作成)

データベースの種類の一覧 階層型データベース ネットワーク型データベース リレーショナルデータベース この中でもっとも利用されているのが「リレーショナルデータベース」です。エクセルの表のような形で情報を整理し、管理できます。そして、このリレー…

AWS (EC2の初期設定)

AWS内の環境構築 ここで行う設定は、AWSのアカウントを作成した際の一度きりの作業となります。なので、今後別のサービスをデプロイさせるために同じ作業を行う必要はありません。 リージョンを確認しましょう まずは【こちら】からAWSアカウントにログイン…

AWS (S3のバケットに保存されるように設定)

ローカル環境からS3に画像を保存 「ローカル環境」「本番環境」それぞれで画像を投稿し、S3に保存されるかを確認する方法を紹介していきます。まずは「ローカル環境」でS3に画像を保存することを目指します。 画像の保存先をS3に変更 以下の順で進めていきま…

AWS (S3)

S3で保存先の用意 ここからは、本番環境で投稿した画像を「S3」に保存できるようにしていきます。 バケット S3で実際にデータが格納される場所のことを「バケット」と呼びます。バケットの名前はアクセスするときのURLに使用されるため、英数字で、まだ誰も…

AWS (登録方法)

AWSとは AWSとは「Amazon Web Servises」の略で、通販で有名な米Amazonが提供しているサーバーに関するサービスの総称です。 Amazon S3 「Amazon S3」とはAWSの中のサービスの1つで、「Amazon Simple Storage Service」の略称です。ネット上にデータを保存す…

Ruby  変数を使っての演算子

問題 国語が80点、英語が50点、数学が70点の場合のテストの平均点をターミナルに出力するプログラムを記述してください。 条件1:このプログラムでは各教科の点数を変数を使って定義します。条件2:出力結果は以下のようになるようにコードを書きます。 3教…

Ruby 二重ハッシュ

問題 user_data = [ {user: {profile: {name: 'George'}}}, {user: {profile: {name: 'Alice'}}}, {user: {profile: {name: 'Taro'}}}, ] 二重ハッシュから、全てのユーザーの名前(name)だけ出力されるようコーディングする問題です。 user_data.each do |u|…

Ruby (ハッシュ) キーとバリューを別々に取得する

puts hash.keys puts hash.values と実行した際にキーとバリューを別々に配列から、取得する問題です。 hash = {one: 1, two: 2, three: 3} puts hash.keys puts hash.values hash = { キー: 値} puts hash.keysでキー(この場合英数)を取得し、puts hash.val…

GitHubとSlackの連携方法

GitHubをSlackのチャンネルに連携 Slackで /invite @GitHub を入力 Alliw をクリック こちらのメッセージが出てきたら連携はできました。 特定のリポジトリとの連携 Slackで /github subscribe GitHubのユーザー名/リポジトリ名 を入力 Connect Github accou…

Ruby 成績管理アプリケーションの作成

問題 以下の仕様を満たすアプリケーションを作成しましょう。また、注意書きを確認し、雛形を使用して実装する為です。 仕様 ・実行すると [1] : 点数を登録する, [2] : 点数を確認する, [3] : 終了する という選択肢を表示し、ユーザーに入力を求め、その入…

Heroku(ユーザー認証の導入方法)

Basic認証 Basic認証とは、HTTP通信の規格に備え付けられている、ユーザー認証の仕組みのことです。サーバーとの通信が可能なユーザーとパスワードをあらかじめ設定しておき、それに一致したユーザーのみが、Webアプリケーションを利用できるようにします。 …

Heroku(環境変数が更新されない場合)

ファイルの変更履歴が存在する場合 コミット % git add . % git commit -m "後から見てわかりやすいコミット名" git push heroku masterを実行 % git push heroku master Herokuへpushすることではじめて本番環境に反映されます ファイルの変更履歴が存在し…

Heroku(デバック)

エラーログの確認方法 heroku logsコマンド Heroku上のアプリケーションが稼働したログを、表示するためのコマンドです。 --tailオプション ログの最後の10行を表示するためのオプションです。アプリケーションのログが更新されるとそれに応じて表示される10…