LoginSignup
0
0

Rubyってなんだ

Last updated at Posted at 2024-04-19

目次

Rubyとは

日本発のプログラミング言語で、オブジェクト指向の言語です。
Webアプリケーションの開発現場で需要があります。

※オブジェクト指向とは

ある程度そのプログラミングのもとになるプログラミングを作って、作業を効率化していく考え方。クラスを使ってデータ構造を定義し、柔軟かつ安全なプログラムを作成することができます。これにより、より大規模で複雑なシステムの開発が容易になります。

Ruby
class TweetsController < ApplicationController
  before_action :authenticate_user!, only: [:new]

    def index
      if params[:search] != nil && params[:search] != ''
        #部分検索かつ複数検索
        search = params[:search]
        @tweets = Tweet.joins(:user).where("body LIKE ? OR name LIKE ?", "%#{search}%", "%#{search}%")
      else
        @tweets = Tweet.all
      end
      #ページネーション
      @tweets = @tweets.page(params[:page]).per(3)

      if params[:tag_ids]
        @tweets = []
        params[:tag_ids].each do |key, value|
          if value == "1"
            tag_tweets = Tag.find_by(name: key).tweets
            @tweets = @tweets.empty? ? tag_tweets : @tweets & tag_tweets
          end
        end
      end
      
      if params[:tag]
        Tag.create(name: params[:tag])
      end
    end
    
    def new
      @tweet = Tweet.new
    end
    
end

Rubyの特徴

✅Webアプリケーションの開発を得意としている
✅コードの自由度が高く習得しやすい
✅ほかの言語に比べて日本語の情報が豊富
✅Javaなどの主要な言語に比べてコード量を少なくすることが可能

java
import java.util.Arrays;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
        int evenSum = numbers.stream()
                             .filter(num -> num % 2 == 0)
                             .reduce(0, Integer::sum);
        System.out.println(evenSum);
    }
}

これが...こう!!

Ruby
numbers = [1, 2, 3, 4, 5, 6]
even_sum = numbers.select { |num| num.even? }.sum
puts even_sum

「Ruby on Rails」とは

Rubyで開発された、開発用フレームワークのこと
Rubyを使う上で「Ruby on Rails」は欠かせません。

※フレームワークとは

フレームワークとは開発するうえでよく使う機能を提供するソフトウェアのことです。

メリット

  • 開発を効率化できる
    • 決まった書き方に沿ってコードを書くだけで簡単に「登録・更新・削除」ができる
  • プログラムの書き方を統一しやすい
    • どこに何を書くのかが決まっている
  • エラーを解析しやすい
    • 発生するエラーがある程度決まっているため原因を対象しやすい

Rubyでできることとは

✅Webアプリケーション(食べログ・クックパッドなど)
✅SNS(wantedly・Airbnbなど)
✅オンラインショッピングサイト(価格.comなど)
✅スマホアプリ(クラウドワークスなど)
✅ブログなど

Rubyの将来性について

Web業界を中心に需要が高い
  • 構文がシンプル
  • コードの記述量が少ない
データサイエンスの分野で需要が低い
  • ビッグデータ
  • 機械学習
  • AI(人工知能)
  • 自由度が高い故に統一性を持って管理するのが難しい

あとがき

今回はRuby歴1年のメンターがRuby初心者のための記事を書きました。
少しでも学習の手助けになっていれば嬉しいです。
最後までお読みいただきありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0