{"id":22868435,"url":"https://github.com/xpdojo/ruby","last_synced_at":"2026-05-17T02:35:00.093Z","repository":{"id":138406695,"uuid":"352079866","full_name":"xpdojo/ruby","owner":"xpdojo","description":"Ruby is an interpreted, high-level, general-purpose programming language which supports multiple programming paradigms.","archived":false,"fork":false,"pushed_at":"2022-07-10T09:43:39.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-06T15:53:25.558Z","etag":null,"topics":["gem","ruby","ruby-on-rails"],"latest_commit_sha":null,"homepage":"https://www.ruby-lang.org/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xpdojo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-27T13:29:00.000Z","updated_at":"2023-02-19T13:16:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"a2e40f48-e64f-46f3-851b-8688f1f6253a","html_url":"https://github.com/xpdojo/ruby","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xpdojo%2Fruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xpdojo%2Fruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xpdojo%2Fruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xpdojo%2Fruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xpdojo","download_url":"https://codeload.github.com/xpdojo/ruby/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246458022,"owners_count":20780675,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gem","ruby","ruby-on-rails"],"created_at":"2024-12-13T12:34:44.850Z","updated_at":"2025-10-24T09:27:22.817Z","avatar_url":"https://github.com/xpdojo.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ruby\n\n- [Ruby](#ruby)\n  - [Install](#install)\n  - [REPL (Read-eval-print loop)](#repl-read-eval-print-loop)\n  - [Package Manager](#package-manager)\n  - [JetBrains - RubyMine 설정](#jetbrains---rubymine-설정)\n  - [Task Management](#task-management)\n  - [Java에서 Ruby로](#java에서-ruby로)\n    - [비슷한 점들](#비슷한-점들)\n    - [다른 점들](#다른-점들)\n\n## Install\n\n```shell\n# RVM (Ruby Version Manager) 설치\n\u003e curl -sSL https://get.rvm.io | bash\n\u003e source $HOME/.rvm/scripts/rvm\n```\n\n```shell\n# 사용할 수 있는 Ruby 버전 조회\n\u003e rvm list known\n# MRI Rubies\n[ruby-]1.8.6[-p420]\n[ruby-]1.8.7[-head] # security released on head\n[ruby-]1.9.1[-p431]\n[ruby-]1.9.2[-p330]\n[ruby-]1.9.3[-p551]\n[ruby-]2.0.0[-p648]\n[ruby-]2.1[.10]\n[ruby-]2.2[.10]\n[ruby-]2.3[.8]\n[ruby-]2.4[.10]\n[ruby-]2.5[.9]\n[ruby-]2.6[.10]\n[ruby-]2.7[.6]\n[ruby-]3.0[.4]\n[ruby-]3[.1.2]\n[ruby-]3.2[.0-preview-1]\nruby-head\n...\n```\n\n```shell\n# 2.7 버전 설치\n\u003e rvm install 2.7\n\n# 의존 패키지 설치 (Fedora 35)\nmarkruler password required for 'dnf install -y patch autoconf automake bison libffi-devel libtool libyaml-devel patch readline-devel sqlite-devel zlib-devel openssl-devel':\n```\n\n```shell\n# 3.1.2 버전 설치\n\u003e rvm install 3.1.2\n\u003e ruvy -v\nruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux]\n```\n\n```shell\n# 기본적으로 2.7 사용 설정\n\u003e rvm use 2.7 --default\n\n# 현재 사용중인 Ruby 버전 확인\n\u003e ruby -v\nruby 2.7.6p219 (2022-04-12 revision c9c2245c0a) [x86_64-linux]\n```\n\n## REPL (Read-eval-print loop)\n\n- irb: Interactive Ruby\n\n```shell\n\u003e irb\n\u003e print \"Hello World!\"\n\u003e exit\n```\n\n## Package Manager\n\n- gem: RubyGem\n\n```shell\n\u003e gem help list\n\u003e gem list --local\n```\n\n## JetBrains - RubyMine 설정\n\n\u003e Settings \u003e Languages \u0026 Frameworks \u003e Ruby SDK and Gems\n\n```shell\n\u003e which ruby\n~/.rvm/rubies/ruby-2.7.6/bin/ruby\n```\n\n## Task Management\n\n- rake (Ruby Make)\n\n```shell\n\u003e rake test\n```\n\n## Java에서 Ruby로\n\n- [원문](https://www.ruby-lang.org/ko/documentation/ruby-from-other-languages/to-ruby-from-java/)\n\n### 비슷한 점들\n\nJava처럼, Ruby에서도…\n\n- 메모리는 가비지 컬렉터에서 관리합니다.\n- 객체는 강 타입입니다.\n- `public`, `private`, `protected` 메서드가 있습니다.\n- 내장된 문서화 툴이 있습니다(Ruby에서는 RDoc이라 합니다). rdoc으로 생성된 문서는 javadoc으로 생성된 문서와 매우 비슷합니다.\n\n### 다른 점들\n\nJava와는 다르게, Ruby에서는…\n\n- 코드를 컴파일 할 필요가 없습니다. 직접 실행하시면 됩니다.\n- 여러 인기있는 서드파티 GUI 툴킷이 있습니다. Ruby 유저는 WxRuby, FXRuby, Ruby-GNOME2, Qt나 Ruby Tk 등을 사용할 수 있습니다.\n- 클래스 같은 것을 정의할 때 코드 블록에 중괄호를 넣는 대신, 선언 뒤에 `end` 키워드를 사용합니다.\n- `import` 대신 `require`를 사용합니다.\n- 모든 맴버 변수는 `private`입니다. 밖에서의 모든 접근은 메서드를 통해 합니다.\n- 메서드 호출의 괄호는 보통 생략 가능하고 자주 생략합니다.\n- `2`나 `3.14159` 같은 숫자를 포함해 모든 것이 객체입니다.\n- 정적 타입 체크가 없습니다.\n- 변수 이름은 라벨일 뿐입니다. 변수 이름에 관련된 타입은 없습니다.\n- 타입 선언이 없습니다. 필요할 때 새로운 변수 이름에 대입만 하시면 그대로 \"동작\"합니다. (예를 들어, `int[] a = {1,2,3};` 대신 `a = [1,2,3]`)\n- 형변환이 없습니다. 그냥 메서드를 호출 하세요. 예외를 보게 될 때에는 유닛테스트가 코드를 실행하기도 전에 말해 줄 것입니다.\n- `Foo foo = new Foo(\"hi\")` 대신 `foo = Foo.new(\"hi\")`를 사용합니다.\n- 생성자는 클래스 이름 대신 항상 \"initialize\"로 명명됩니다.\n- 인터페이스 대신 \"mixins\"을 사용합니다.\n- YAML을 XML보다 선호하는 경향이 있습니다.\n- `null` 대신 `nil`을 사용합니다.\n- Ruby는 `==`과 `equals()`을 다르게 취급합니다. Ruby에서 값이 같은지를 확인하려면 `==`를 사용하고(Java에서는 `equals()`), 객체가 같은지를 확인하려면 `equal?()`를 사용합니다.(Java에서는 `==`)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxpdojo%2Fruby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxpdojo%2Fruby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxpdojo%2Fruby/lists"}