yuuki blog

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

2020-11-01から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 (searchとeach_with_indexを用いたプログラム)

問題 以下の配列から、数を探して何番目に含まれているか結果を返すメソッドをsearchとeach_with_indexを用いる問題です。 input = [3, 5, 9 ,12, 15, 21, 29, 35, 42, 51, 62, 78, 81, 87, 92, 93] (使用例) search(12, input) => 4番目にあります search…

Ruby if unless 使いわけ

unless とは ifは条件が真の場合実行しますが、unlessは偽の場合処理を実行します。 if 条件 処理endunless 条件 処理end どちらを使うべきか? ifで記述した時、可読性が下がる場合、unlessを用います。 a = 3if a != 2 puts "false"enda = 3unless a == 2 …

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

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

Ruby 引数の基礎

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

Ruby メソッドの使い方

問題 以下のプログラムを実行するとエラーが起きます。①エラーが起きた原因②正しいソースコードをそれぞれ答える問題です。 price = 300 def calculate_price_with_tax tax = 0.1 return price + price * tax end calculate_price_with_tax ①エラーが起きた…

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…

Heroku(デプロイ)

デプロイとは ネットワークを通じてWebアプリケーションなどのシステムを公開し、利用可能な状態にすることです。 Herokuとは アプリケーションの公開、運用を行うためのサーバーを提供するサービスです。基本機能だけであれば無料で使用でき、デプロイの手…

Git Hub ブランチの流れについて (revert/Undo)

revertとは 間違ってpushしたcommitを取り消すことができます。commitを削除するのではなく、「指定するcommitを取り消すためのcommit」を追加で行います。 revertはcommitされた変更と逆になる変更を追加することで、commitを取り消します。 「Push origin…

Git Hub ブランチの流れについて (コンフリクト)

コンフリクトとは コンフリクトとは、あるファイルにおいてブランチごとに情報が異なり辻褄が合わない状況のことを言います。コンフリクトは日本語で「競合」という意味です。 (例)Aさんの作業するブランチでは投稿一覧機能を作るためにコントローラーのinde…

Git Hub ブランチの流れについて (ブランチを作成せず、マスターブランチ上でコードを書いてしまった時の対処法)

ブランチの作成を忘れた場合や、別のブランチにコードを記入した場合の対処法 途中の段階から新しいトピックブランチを作成してコードを移動させます。 まずブランチを作成します すると、以下のような選択肢が出てきます。 Leave my changes on maste :元の…

Ruby if else No.3

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

Git Hub ブランチの流れについて (clone)

git cloneコマンド リモートリポジトリを自分のパソコンにダウンロードするコマンドです。以下のようにリモートリポジトリのURLに.gitを加えた文字列指定することで、ローカルリポジトリとして取り込むことができます。ダウンロードをするようなイメージです…