diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 08fc1d9a07..a9448a94bc 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -28,7 +28,7 @@ pt/ @ruby/www-ruby-lang-org-i18n ru/ @ruby/www-ruby-lang-org-i18n-ru -tr/ @ruby/www-ruby-lang-org-i18n +tr/ @ruby/www-ruby-lang-org-i18n-tr vi/ @ruby/www-ruby-lang-org-i18n diff --git a/_config.yml b/_config.yml index 0beaa04211..c583149ed1 100644 --- a/_config.yml +++ b/_config.yml @@ -28,14 +28,14 @@ license: svn: stable: + version: 2.6 + branch: ruby_2_6 + previous: version: 2.5 branch: ruby_2_5 - previous: + old: version: 2.4 branch: ruby_2_4 - old: - version: 2.3 - branch: ruby_2_3 locales: sitelinks: @@ -313,6 +313,7 @@ locales: text: Поиск tr: text: Ara + cx_id: "011743037637077038592:5tuc9cqilws" vi: text: Tìm zh_cn: @@ -1387,6 +1388,9 @@ locales: url: /tr/documentation/ # books: # text: Kitaplar + rubybib: + text: Akademik Araştırma + <<: *rubybib libraries: text: Kütüphaneler url: /tr/libraries/ @@ -1712,15 +1716,15 @@ locales: subscribe: Подписаться unsubscribe: Отписаться submit: Отправить -# tr: -# list: Mailing List -# first_name: First Name -# last_name: Last Name -# email: Email Address -# action: Action -# subscribe: Subscribe -# unsubscribe: Unsubscribe -# submit: Submit Form + tr: + list: E-posta Listesi + first_name: Ad + last_name: Soyad + email: E-posta Adresi + action: Eylem + subscribe: Abone Ol + unsubscribe: Abonelikten Çık + submit: Formu Gönder vi: list: Mailing List first_name: Tên diff --git a/_data/branches.yml b/_data/branches.yml index 31289c2849..27774dcd36 100644 --- a/_data/branches.yml +++ b/_data/branches.yml @@ -8,6 +8,11 @@ # date: date of first stable release (YYYY-MM-DD) # eol_date: date of EOL (YYYY-MM-DD) +- name: 2.7 + status: preview + date: + eol_date: + - name: 2.6 status: normal maintenance date: 2018-12-25 diff --git a/_data/downloads.yml b/_data/downloads.yml index b5c0900236..14f7f91696 100644 --- a/_data/downloads.yml +++ b/_data/downloads.yml @@ -4,6 +4,7 @@ # optional preview: + - 2.7.0-preview1 stable: diff --git a/_data/releases.yml b/_data/releases.yml index 6c35736d74..0e34fc98eb 100644 --- a/_data/releases.yml +++ b/_data/releases.yml @@ -19,6 +19,22 @@ # In order to get the release listed on the downloads page, # you also need to add an entry to `_data/downloads.yml'. +# 2.7 series + +- version: 2.7.0-preview1 + date: 2019-05-30 + post: /en/news/2019/05/30/ruby-2-7-0-preview1-released/ + url: + gz: https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.0-preview1.tar.gz + zip: https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.0-preview1.zip + bz2: https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.0-preview1.tar.bz2 + xz: https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.0-preview1.tar.xz + sha256: + gz: b61dba9ed01e855000111964363fbd691219ab3c567455434717ecba962747ea + zip: 59da2314822add396f68ce3e8e43e98843d41f4eab2354edc7f793a1ec3f3359 + bz2: b20c80adc1324c0ec87bf3f4a66b837771d7a30fc876d83e68e519c623cf0369 + xz: 540f11753f5805c1bf560c54a44d1ea04414217c7d319cac165de964e269399f + # 2.6 series - version: 2.6.3 diff --git a/en/community/ruby-core/index.md b/en/community/ruby-core/index.md index d12fd8e2bb..7d1d7c2c95 100644 --- a/en/community/ruby-core/index.md +++ b/en/community/ruby-core/index.md @@ -12,60 +12,36 @@ So, where do you start? The topics related to Ruby development covered here are: -* [Using Subversion to Track Ruby Development](#following-ruby) -* [How to Use Git With the Main Ruby Repository](#git-ruby) +* [Using Git to Track Ruby Development](#following-ruby) * [Improving Ruby, Patch by Patch](#patching-ruby) * [Rules for Core Developers](#coding-standards) -### Using Subversion to Track Ruby Development +### Using Git to Track Ruby Development {: #following-ruby} -Getting the latest Ruby source code is a matter of an anonymous checkout -from the [Subversion][1] repository. From your command line: +The current primary repository of the latest Ruby source code is +[git.ruby-lang.org/ruby.git][gitrlo]. +There is also a [mirror on GitHub][7]. Usually, please use this mirror. + +You can get the latest Ruby source code by using Git. +From your command line: {% highlight sh %} -$ svn co https://svn.ruby-lang.org/repos/ruby/trunk ruby +$ git clone https://github.com/ruby/ruby.git {% endhighlight %} The `ruby` directory will now contain the latest source code for the development version of Ruby (ruby-trunk). -Currently patches applied to the trunk are backported to the stable -{{ site.svn.stable.version }}, {{ site.svn.previous.version }}, -and {{ site.svn.old.version }} branches (see below). - -If you’d like to follow patching of Ruby {{ site.svn.stable.version }}, -you should use the `{{ site.svn.stable.branch }}` branch when checking out: -{% highlight sh %} -$ svn co https://svn.ruby-lang.org/repos/ruby/branches/{{ site.svn.stable.branch }} -{% endhighlight %} +See also [Non-committer’s HOWTO to join our development][noncommitterhowto]. -Similarly for Ruby {{ site.svn.previous.version }}: +If you have commit access, and if you want to push something, +you should use the primary repository. {% highlight sh %} -$ svn co https://svn.ruby-lang.org/repos/ruby/branches/{{ site.svn.previous.branch }} +$ git clone git@git.ruby-lang.org:ruby.git {% endhighlight %} -This will check out the respective development tree into a -`{{ site.svn.stable.branch }}` or `{{ site.svn.previous.branch }}` directory. -Developers working on the maintenance branches are expected to migrate -their changes to Ruby’s trunk, so often the branches are very similar, -with the exception of improvements made by Matz and Nobu to the language -itself. - -If you prefer, you may browse [Ruby’s Subversion repository via the web][2]. - -For information about Subversion, please see the [Subversion FAQ][3] -and the [Subversion book][4]. Alternatively, you may find -[Pragmatic Version Control with Subversion][5] to be a useful introductory book. - -### How to Use Git With the Main Ruby Repository -{: #git-ruby} - -Those who prefer to use [Git][6] over Subversion can find instructions -with the [mirror on GitHub][7], both for [those with commit access][8] -and [everybody else][9]. - ### Improving Ruby, Patch by Patch {: #patching-ruby} @@ -81,25 +57,24 @@ straight from Matz, on how to get your patches considered. To summarize, the steps for building a patch are: -1. Check out a copy of the Ruby source code from Subversion. +1. Check out a copy of the Ruby source code from GitHub. Usually patches for bugfixes or new features should be submitted - for the trunk of Ruby’s source. Even if you wish to add a feature - to Ruby {{ site.svn.previous.version }}, it has to be proven in - the trunk first. + for the trunk of Ruby’s source. - $ svn co https://svn.ruby-lang.org/repos/ruby/trunk ruby + $ git clone https://github.com/ruby/ruby.git If you are fixing a bug that is specific to only one maintenance branch, - check out a copy of the respective branch, - e.g. `{{ site.svn.previous.branch }}`. + check out a copy of the respective branch. - $ svn co https://svn.ruby-lang.org/repos/ruby/branches/{{ site.svn.previous.branch }} + $ git checkout ruby_X_X + + X_X should be replaced with a version that you want to check out. 2. Add your improvements to the code. 3. Create a patch. - $ svn diff > ruby-changes.patch + $ git diff > ruby-changes.patch 4. Create a ticket in the [issue tracker][10] or email your patch to the [Ruby-Core mailing list][mailing-lists] with a ChangeLog entry @@ -120,47 +95,40 @@ should be very low, topics should be pointed, well-conceived and well-written. Since we’re addressing Ruby’s creator, let’s have some reverence. -Keep in mind that Ruby’s core developers live in Japan and, while many +Keep in mind that many Ruby’s core developers live in Japan and, while many speak very good English, there is a significant timezone difference. They also have an entire body of Japanese development lists happening alongside the English counterparts. Be patient, if your claim isn’t resolved, be persistent—give it another shot a few days later. -### Rules for Core Developers -{: #coding-standards} -Generally, the developers of Ruby should be familiar with the source -code and the style of development used by the team. To be clear, the -following guidelines should be honored when checking into Subversion: +### Note about branches + +The source code of Ruby had been managed under Subversion repository until 22rd April 2019. +Thus, some branches may be still managed under Subversion. +You can view the SVN repository. -* All check-ins should be described in the `ChangeLog`, following the - [GNU conventions][14]. (Many Ruby core developers use Emacs `add-log` - mode, which can be accessed with the command `C-x 4 a`.) -* Check-in dates should be given in Japan Standard Time (UTC+9). -* The bulleted points from your ChangeLog should also be placed in the - Subversion commit message. This message will be automatically mailed - to the Ruby-CVS list after you commit. -* Function prototypes are used throughout Ruby’s source code and its - packaged extensions. -* Please, do not use C++-style comments (`//`), Ruby’s maintainers - instead prefer the standard C multi-line comment (`/* .. */`). +* [<URL:https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?root=ruby>][svn-viewvc] -See also the information in [Ruby’s issue tracker][10]. +However, you don't have to care about it (unless you are a branch maintainer). +You can check out the branches in your Git working copy. +For example, run the following command. + +{% highlight sh %} +$ git checkout ruby_X_X +{% endhighlight %} +X_X should be replaced with a version that you want to check out. +If you want to modify the branches, please open an issue in our [issue tracker][10]. +See also the following section. +[gitrlo]: https://git.ruby-lang.org/ruby.git [mailing-lists]: /en/community/mailing-lists/ [writing-patches]: /en/community/ruby-core/writing-patches/ -[1]: http://subversion.apache.org/ -[2]: https://svn.ruby-lang.org/cgi-bin/viewvc.cgi/ -[3]: http://subversion.apache.org/faq.html -[4]: http://svnbook.org -[5]: http://www.pragmaticprogrammer.com/titles/svn/ -[6]: http://git-scm.com/ +[noncommitterhowto]: https://github.com/shyouhei/ruby/wiki/noncommitterhowto +[svn-viewvc]: https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?root=ruby [7]: https://github.com/ruby/ruby -[8]: https://github.com/shyouhei/ruby/wiki/committerhowto -[9]: https://github.com/shyouhei/ruby/wiki/noncommitterhowto [10]: https://bugs.ruby-lang.org/ [12]: http://www.gnu.org/software/diffutils/manual/html_node/Unified-Format.html [13]: http://www.gnu.org/software/diffutils/manual/html_node/Merging-with-patch.html#Merging%20with%20patch -[14]: http://www.gnu.org/prep/standards/standards.html#Change-Logs diff --git a/en/news/_posts/2019-05-30-ruby-2-7-0-preview1-released.md b/en/news/_posts/2019-05-30-ruby-2-7-0-preview1-released.md new file mode 100644 index 0000000000..9eeaf38063 --- /dev/null +++ b/en/news/_posts/2019-05-30-ruby-2-7-0-preview1-released.md @@ -0,0 +1,130 @@ +--- +layout: news_post +title: "Ruby 2.7.0-preview1 Released" +author: "naruse" +translator: +date: 2019-05-30 00:00:00 +0000 +lang: en +--- + +We are pleased to announce the release of Ruby 2.7.0-preview1. + +A preview version is released to gather feedback for the final release planned to release on December. It introduces a number of new features and performance improvements, most notably: + +* Compaction GC +* Pattern Matching +* REPL improvement + +## Compaction GC + +This release introduces Compaction GC which can defragment a fragmented memory space. + +Some multithread Ruby programs may cause memory fragmentation, leading to high memory usage and degraded speed. + +The `GC.compact` method is introduced for compacting the heap. This function compacts live objects in the heap so that fewer pages may be used, and the heap may be more CoW friendly. [#15626](https://bugs.ruby-lang.org/issues/15626) + +## Pattern Matching [Experimental] + +Pattern matching, widely used feature in functional programming languages, is introduced as an experimental feature. [#14912](https://bugs.ruby-lang.org/issues/14912) +It can traverse a given object and assign its value if it matches a pattern. + +```ruby +case JSON.parse('{...}', symbolize_names: true) +in {name: "Alice", children: [{name: "Bob", age: age}]} + p age + ... +end +``` + +For more details, please see [Pattern matching - New feature in Ruby 2.7](https://speakerdeck.com/k_tsj/pattern-matching-new-feature-in-ruby-2-dot-7). + +## REPL improvement + +`irb`, bundled interactive environment (REPL; Read-Eval-Print-Loop), now supports multi-line editing. It's powered by `reline`, `readline` compatible pure Ruby implementation. +It also provides rdoc integration. In `irb` you can display the reference for a given class, module, or method. [#14683](https://bugs.ruby-lang.org/issues/14683), [#14787](https://bugs.ruby-lang.org/issues/14787), [#14918](https://bugs.ruby-lang.org/issues/14918) +Besides, source lines shown at `binding.irb` and inspect results for core-class objects are now colorized. + + + +## Other Notable New Features + +* A method reference operator, .:, is introduced as an experimental feature. [#12125]( https://bugs.ruby-lang.org/issues/12125), [#13581]( https://bugs.ruby-lang.org/issues/13581) + +* Numbered parameter as the default block parameter is introduced as an experimental feature. [#4475](https://bugs.ruby-lang.org/issues/4475) + +* A beginless range is experimentally introduced. It might not be as useful + as an endless range, but would be good for DSL purpose. [#14799](https://bugs.ruby-lang.org/issues/14799) + + ary[..3] # identical to ary[0..3] + rel.where(sales: ..100) + +* `Enumerable#tally` is added. It counts the occurrence of each element. + + ["a", "b", "c", "b"].tally + #=> {"a"=>1, "b"=>2, "c"=>1} + +## Performance improvements + +* JIT [Experimental] + + * JIT-ed code is recompiled to less-optimized code when an optimization assumption is invalidated. + + * Method inlining is performed when a method is considered as pure. This optimization is still experimental and many methods are NOT considered as pure yet. + + * Default value of `--jit-min-calls` is changed from 5 to 10,000 + + * Default value of `--jit-max-cache` is changed from 1,000 to 100 + +## Other notable changes since 2.6 + +* `Proc.new` and `proc` with no block in a method called with a block is warned now. + +* `lambda` with no block in a method called with a block errs. + +* Update Unicode version and Emoji version from 11.0.0 to 12.0.0. [[Feature #15321]](https://bugs.ruby-lang.org/issues/15321) + +* Update Unicode version to 12.1.0, adding support for U+32FF SQUARE ERA NAME REIWA. [[Feature #15195]](https://bugs.ruby-lang.org/issues/15195) + +* `Date.jisx0301`, `Date#jisx0301`, and `Date.parse` provisionally support the new Japanese era as an informal extension, until the new JIS X 0301 is issued. [[Feature #15742]](https://bugs.ruby-lang.org/issues/15742) + +* Require compilers to support C99 [[Misc #15347]](https://bugs.ruby-lang.org/issues/15347) + * Details of our dialect: + +See [NEWS](https://github.com/ruby/ruby/blob/v2_7_0_preview1/NEWS) or [commit logs](https://github.com/ruby/ruby/compare/v2_6_0...v2_7_0_preview1) for more details. + +With those changes, [1727 files changed, 76022 insertions(+), 60286 deletions(-)](https://github.com/ruby/ruby/compare/v2_6_0...v2_7_0_preview1) since Ruby 2.6.0! + +Enjoy programming with Ruby 2.7! + +## Download + +* + + SIZE: 16021286 bytes + SHA1: 2fbecf42b03a9d4391b81de42caec7fa497747cf + SHA256: c44500af4a4a0c78a0b4d891272523f28e21176cf9bc1cc108977c5f270eaec2 + SHA512: f731bc9002edd3a61a4955e4cc46a75b5ab687a19c7964f02d3b5b07423d2360d25d7be5df340e884ca9945e3954e68e5eb11b209b65b3a687c71a1abc24b91f +* + + SIZE: 20283343 bytes + SHA1: 7488346fa8e58203a38158752d03c8be6b1da65b + SHA256: fdf25573e72e1769b51b8d541d0e1a894a5394dbfdf1b08215aa093079cca64c + SHA512: b3b1f59dce94c242ef88a4e68381a4c3a6f90ba0af699083e5a1a00b0fb1dce580f057dad25571fe789ac9aa95aa6e9c071ebb330328dc822217ac9ea9fbeb3f +* + + SIZE: 14038296 bytes + SHA1: f7e70cbc2604c53a9e818a2fc59cd0e2d6c859fa + SHA256: d45b4a1712ec5c03a35e85e33bcb57c7426b856d35e4f04f7975ae3944d09952 + SHA512: a36b241fc1eccba121bb7c2cc5675b11609e0153e25a3a8961b67270c05414b1aa669ce5d4a5ebe4c6b2328ea2b8f8635fbba046b70de103320b3fdcb3d51248 +* + + SIZE: 11442988 bytes + SHA1: 45e467debc194847a9e3afefb20b11e6dc28ea31 + SHA256: 8c546df3345398b3edc9d0ab097846f033783d33762889fd0f3dc8bb465c3354 + SHA512: d416e90bfa3e49cc0675c4c13243c8ec319b7a0836add1bd16bd7662d09eaf46656d26e772ef3b097e10779896e643edd8a6e4f885147e3235257736adfdf3b5 + +## What is Ruby + +Ruby was first developed by Matz (Yukihiro Matsumoto) in 1993, and is now developed as Open Source. It runs on multiple platforms and is used all over the world especially for web development. diff --git a/id/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md b/id/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md new file mode 100644 index 0000000000..5f00403282 --- /dev/null +++ b/id/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md @@ -0,0 +1,64 @@ +--- +layout: news_post +title: "Beberapa kerentanan pada RubyGems" +author: "hsbt" +translator: "meisyal" +date: 2019-03-05 00:00:00 +0000 +tags: security +lang: id +--- + +Ada beberapa kerentanan pada RubyGems yang dikemas dengan Ruby. +Ini [dilaporkan pada blog resmi RubyGems](http://blog.rubygems.org/2019/03/05/security-advisories-2019-03.html). + +## Detail + +Berikut ini adalah kerentanan yang telah dilaporkan. + +* CVE-2019-8320: Delete directory using symlink when decompressing tar +* CVE-2019-8321: Escape sequence injection vulnerability in `verbose` +* CVE-2019-8322: Escape sequence injection vulnerability in `gem owner` +* CVE-2019-8323: Escape sequence injection vulnerability in API response handling +* CVE-2019-8324: Installing a malicious gem may lead to arbitrary code execution +* CVE-2019-8325: Escape sequence injection vulnerability in errors + +Ini sangat direkomendasikan kepada pengguna Ruby untuk memperbarui Ruby atau +mengambil salah satu solusi berikut segera mungkin. + +## Versi Terimbas + +* Rangkaian Ruby 2.3: semua +* Rangkaian Ruby 2.4: 2.4.5 dan sebelumnya +* Rangkaian Ruby 2.5: 2.5.3 dan sebelumnya +* Rangkaian Ruby 2.6: 2.6.1 dan sebelumnya +* sebelum revisi *trunk* 67168 + +## Solusi + +Pada prinsipnya, Anda harus memperbarui Ruby ke versi terbaru. +RubyGems 3.0 atau setelahnya mencakup perbaikan dari kerentanan ini, sehingga +perbarui RubyGems ke versi terbaru jika Ada tidak dapat memperbarui +Ruby itu sendiri. + +``` +gem update --system +``` + +Jika Anda tidak dapat memperbarui RubyGems, Anda dapat mengaplikasikan *patch* +berikut sebagai sebuah solusi. + +* [untuk Ruby 2.4.5](https://bugs.ruby-lang.org/attachments/7669) +* [untuk Ruby 2.5.3](https://bugs.ruby-lang.org/attachments/7670) +* [untuk Ruby 2.6.1](https://bugs.ruby-lang.org/attachments/7671) + +Terkait dengan *trunk*, perbarui ke revisi paling terbaru. + +## Rujukan + +Laporan ini didasarkan pada [blog resmi RubyGems](http://blog.rubygems.org/2019/03/05/security-advisories-2019-03.html). + +## Riwayat + +* Semula dipublikasikan pada 2019-03-05 00:00:00 UTC +* Menghubungkan ke *updated patches* pada 2019-03-06 05:26:27 UTC +* Sebut memperbarui Ruby pada 2019-04-01 06:00:00 UTC diff --git a/ja/documentation/repository-guide/index.md b/ja/documentation/repository-guide/index.md index 419b329b54..0f3eef4f5c 100644 --- a/ja/documentation/repository-guide/index.md +++ b/ja/documentation/repository-guide/index.md @@ -4,46 +4,55 @@ title: "リポジトリガイド" lang: ja --- -## SVNリポジトリ - -RubyのソースコードはSVNリポジトリに保存されており、ViewVC経由で参照できます: - -* [<URL:https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?root=ruby>][1] +## Gitリポジトリ -また、Anonymous SVNも利用可能です: +GitHubにミラーが用意されています。 -trunkの場合: +* [<URL:https://github.com/ruby/ruby.git>][1] {% highlight sh %} -$ svn co https://svn.ruby-lang.org/repos/ruby/trunk ruby +$ git clone https://github.com/ruby/ruby.git {% endhighlight %} -1\.8の場合: +コミッタ以外でRubyの開発に参加したい方は、GitHubのミラーを使うとよいでしょう。次のHowto(英語)もご覧ください。 + +* [<URL:https://github.com/shyouhei/ruby/wiki/noncommitterhowto>][2] + +また、ミラーとは別に、RubyのソースコードはGitリポジトリに保存されています。コミッタはこちらを使います。 + +* [<URL:https://git.ruby-lang.org/ruby.git>][3] {% highlight sh %} -$ svn co https://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8 ruby +$ git clone git@git.ruby-lang.org:ruby.git {% endhighlight %} -その他のブランチ・タグなどは[<URL:https://svn.ruby-lang.org/repos/ruby/>][2]から確認してください。 -## Gitリポジトリ +## SVNリポジトリ + +Rubyのソースコードは2019年4月22日までSVNリポジトリで管理されていたため、一部のブランチはまだSVNで管理されている場合があります。ViewVC経由で参照できます: + +* [<URL:https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?root=ruby>][4] -Gitをお使いの方は、[githubにあるRubyのリポジトリ][3]も利用可能です。 +また、Anonymous SVNも利用可能です: + +2\.6の場合: -また、これを使ってRubyの開発に参加したい方は、以下のHowto(英語)を読まれるとよいでしょう。 +{% highlight sh %} +$ svn co https://svn.ruby-lang.org/repos/ruby/branches/ruby_2_6 ruby +{% endhighlight %} -* [非コミッター向け][4] -* [コミッター向け][5] +その他のブランチ・タグなどは[<URL:https://svn.ruby-lang.org/repos/ruby/>][5]から確認してください。 それではみなさん、楽しいハックを! Posted by usa on 30 May 2006 +Updated by mame on 12 May 2019 {: .post-info} -[1]: https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?root=ruby -[2]: https://svn.ruby-lang.org/repos/ruby/ -[3]: https://github.com/ruby/ruby -[4]: https://github.com/shyouhei/ruby/wiki/noncommitterhowto -[5]: https://github.com/shyouhei/ruby/wiki/committerhowto +[1]: https://github.com/ruby/ruby +[2]: https://github.com/shyouhei/ruby/wiki/noncommitterhowto +[3]: https://git.ruby-lang.org/ruby.git +[4]: https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?root=ruby +[5]: https://svn.ruby-lang.org/repos/ruby/ diff --git a/ja/libraries/index.md b/ja/libraries/index.md index 96ccc62dd1..032ded008c 100644 --- a/ja/libraries/index.md +++ b/ja/libraries/index.md @@ -20,9 +20,8 @@ Ruby のライブラリは主に [RubyGems.org][rubygems] に gem として置 `gem search -r` を使うと RubyGems のリポジトリを調べることが出来ます。例えば、`gem search -r rails` は Rails に関係のある gem を返します。 `--local` (`-l`) オプションを使うと、インストール済みの gem に対してローカルで検索をすることが出来ます。gem をインストールするには `gem install [gem]` を使います。インストール済みの gem を見るには `gem list` を使います。さらに `gem` コマンドについて知りたい場合は、先に進むか[RubyGems' docs][rubygems-guides] を参照してください。 -他にもライブラリの配布元があります。 -[RubyForge][rubyforge]はかつて Ruby のライブラリの保管場所として広く使われていたものです。 -しかし近年では [GitHub][github] が ruby 関連のリポジトリとして台頭してきました。 +また、他にもライブラリの配布元があります。 +近年では[GitHub][github] が ruby 関連のリポジトリとして広く使われています。 gem としては RubyGems.org に公開されますが、gem のソースコードのほとんどは GitHub 上で見ることが出来ます。 [The Ruby Toolbox][ruby-toolbox] は、オープンソースの Ruby プロジェクトを探索しやすくするプロジェクトです。 @@ -99,7 +98,6 @@ RubyGems.org に [いくつかのガイド][rubygems-guides] があります。 [rubygems]: https://rubygems.org/ [rubygems-download]: https://rubygems.org/pages/download/ [rubygems-guides]: http://guides.rubygems.org/ -[rubyforge]: http://rubyforge.org/ [github]: https://github.com/ [rubygems-command-ref]: http://guides.rubygems.org/command-reference/ [bundler]: http://bundler.io/ diff --git a/ja/news/_posts/2019-03-31-support-of-ruby-2-3-has-ended.md b/ja/news/_posts/2019-03-31-support-of-ruby-2-3-has-ended.md new file mode 100644 index 0000000000..8199025355 --- /dev/null +++ b/ja/news/_posts/2019-03-31-support-of-ruby-2-3-has-ended.md @@ -0,0 +1,26 @@ +--- +layout: news_post +title: "Ruby 2.3 のサポートが終了しました" +author: "antonpaisov" +translator: "acomagu" +date: 2019-03-31 00:00:00 +0000 +lang: ja +--- + +Ruby 2.3 系列のすべてのサポートが終了しました。 + +2018 年の 3 月 28 日に Ruby 2.3.7 がリリースされた後、 Ruby 2.3 系列のサポートはセキュリティメンテナンスの段階に入っていました。それから 1 年が経ち、それも終わろうとしています。 2019 年 3 月 31 日をもって Ruby 2.3 系列の全てのサポートは終了し、 2.4 以降の脆弱性やバグの修正が 2.3 にバックポートされることもなくなります。 2.3 用の一切のパッチも作成されません。 Ruby 2.6 や 2.5 へ速やかにアップグレードすることを強く推奨します。 + +## 現在サポートされている Ruby のバージョンについて + +### Ruby 2.6 系列 + +現在通常メンテナンスの段階にあります。バグ修正やリリースに伴う修正は必要な場合はいつでもバックポートされます。また、重大なセキュリティ上の問題が発見された場合、対応した緊急リリースが行われます。 + +### Ruby 2.5 系列 + +現在通常メンテナンスの段階にあります。バグ修正やリリースに伴う修正は必要な場合はいつでもバックポートされます。また、重大なセキュリティ上の問題が発見された場合、対応した緊急リリースが行われます。 + +### Ruby 2.4 系列 + +現在セキュリティメンテナンスの段階にあります。セキュリティ上の問題を除いて、バグ修正はバックポートされません。重大なセキュリティ上の問題が発見された場合、対応した緊急リリースが行われます。 Ruby 2.4 系列のサポート終了は 2020 年 3 月 31 日の予定です。 diff --git a/ja/news/_posts/2019-05-30-ruby-2-7-0-preview1-released.md b/ja/news/_posts/2019-05-30-ruby-2-7-0-preview1-released.md new file mode 100644 index 0000000000..2cf610d2f7 --- /dev/null +++ b/ja/news/_posts/2019-05-30-ruby-2-7-0-preview1-released.md @@ -0,0 +1,125 @@ +--- +layout: news_post +title: "Ruby 2.7.0-preview1 リリース" +author: "naruse" +translator: +date: 2019-05-30 00:00:00 +0000 +lang: ja +--- + +Ruby 2.7シリーズの最初のプレビュー版である、Ruby 2.7.0-preview1をリリースします。 + +プレビュー版は、年末の正式リリースに向け、新たな機能を試し、フィードバックを集めるために提供されています。 +Ruby 2.7.0-preview1では、多くの新しい機能やパフォーマンスの改善が含まれています。 その一部を以下に紹介します。 + +## Compaction GC + +断片化したメモリをデフラグするCompaction GCが導入されました。 + +一部のマルチスレッドなRubyプログラムを長期間動かし、マーク&スイープ型GCを何度も実行していると、メモリが断片化してメモリ使用量の増大や性能の劣化を招くことが知られています。 + +Ruby 2.7では`GC.compact` というメソッドを導入し、ヒープをコンパクションすることが出来るようになります。ヒープ内の生存しているオブジェクトを他のページに移動し、不要なページを解放できるようになるとともに、ヒープをCoW (Copy on Write) フレンドリーにすることが出来ます。 [#15626](https://bugs.ruby-lang.org/issues/15626) + +## Pattern Matching [Experimental] + +関数型言語で広く使われているパターンマッチという機能が実験的に導入されました。 +渡されたオブジェクトの構造がパターンと一致するかどうかを調べ、一致した場合にその値を変数に代入するといったことができるようになります。 [#14912](https://bugs.ruby-lang.org/issues/14912) + +```ruby +case JSON.parse('{...}', symbolize_names: true) +in {name: "Alice", children: [{name: "Bob", age: age}]} + p age + ... +end +``` + +詳細については [Pattern matching - New feature in Ruby 2.7](https://speakerdeck.com/k_tsj/pattern-matching-new-feature-in-ruby-2-dot-7) を参照してください。 + +## REPL improvement + +Ruby に添付されている REPL (Read-Eval-Print-Loop) である `irb` で、複数行編集がサポートされました。これは `reline` という `readline` 互換のピュア Ruby 実装によるものです。 +また、rdoc 連携も提供されるようになっています。`irb` 内で、クラス、モジュール、メソッドのリファレンスをその場で確認できるようになりました。 [#14683](https://bugs.ruby-lang.org/issues/14683), [#14787](https://bugs.ruby-lang.org/issues/14787), [#14918](https://bugs.ruby-lang.org/issues/14918) +これに加え、`binding.irb`で表示される周辺のコードや、コアクラスのオブジェクトのinspect結果に色がつくようになっています。 + + + +## 主要な新機能 + +* メソッド参照演算子 .: が試験的に導入されました。[#12125](https://bugs.ruby-lang.org/issues/12125), [#13581](https://bugs.ruby-lang.org/issues/13581) + +* デフォルトのブロックの仮引数として番号指定パラメータが試験的に導入されました。[#4475](https://bugs.ruby-lang.org/issues/4475) + +* 開始値省略範囲式が試験的に導入されました。これは終了値省略範囲式ほど有用ではないと思われますが、しかし DSL のような目的には役立つかもしれません。 [#14799](https://bugs.ruby-lang.org/issues/14799) + + ary[..3] # identical to ary[0..3] + rel.where(sales: ..100) + +* `Enumerable#tally` が追加されました。各要素の出現回数を数えます。 + + ["a", "b", "c", "b"].tally + #=> {"a"=>1, "b"=>2, "c"=>1} + +## パフォーマンスの改善 + +* JIT [Experimental] + + * 最適化の際の仮定が無効とされた場合、JIT 化されていたコードがより最適化度が低いコードに再コンパイルされるようになりました。 + + * あるメソッドが「純粋」であると判定された場合、メソッドのインライン化が行われるようになりました。この最適化はまだ実験的であり、また多数のメソッドが今はまだ「純粋」と判定されないままです。 + + * `--jit-min-calls` オプションのデフォルト値が 5 から 10,000 に変更されました。 + + * `--jit-max-cache` オプションのデフォルト値が 1,000 から 100 に変更されました。 + + +## その他の注目すべき 2.6 からの変更点 + +* ブロックを渡すメソッド呼び出し中の、ブロックを伴わない `Proc.new` と `proc` が警告されるようになりました。 + +* ブロックを渡すメソッド呼び出し中の、ブロックを伴わない `lambda` はエラーとなるようになりました。 + +* Unicode および Emoji のバージョンが 11.0.0 から 12.0.0 になりました。[[Feature #15321]](https://bugs.ruby-lang.org/issues/15321) + +* Unicode のバージョンが 12.1.0 となり、新元号「令和」を表す合字 U+32FF がサポートされました。[[Feature #15195]](https://bugs.ruby-lang.org/issues/15195) + +* `Date.jisx0301`, `Date#jisx0301`, および `Date.parse` で非公式に新元号に仮対応しました。これは JIS X 0301 の新しい版で正式な仕様が決定されるまでの暫定的なものです。[[Feature #15742]](https://bugs.ruby-lang.org/issues/15742) + +* Ruby のビルドに C99 に対応したコンパイラが必要になりました。[[Misc #15347]](https://bugs.ruby-lang.org/issues/15347) + * 本件についての詳細: + +なお、こうした変更により、Ruby 2.6.0 以降では [1727 個のファイルに変更が加えられ、76022 行の追加と 60286 行の削除が行われました](https://github.com/ruby/ruby/compare/v2_6_0...v2_7_0_preview1) ! + +Ruby 2.7 でプログラミングをお楽しみください! + +## Download + +* + + SIZE: 16021286 bytes + SHA1: 2fbecf42b03a9d4391b81de42caec7fa497747cf + SHA256: c44500af4a4a0c78a0b4d891272523f28e21176cf9bc1cc108977c5f270eaec2 + SHA512: f731bc9002edd3a61a4955e4cc46a75b5ab687a19c7964f02d3b5b07423d2360d25d7be5df340e884ca9945e3954e68e5eb11b209b65b3a687c71a1abc24b91f +* + + SIZE: 20283343 bytes + SHA1: 7488346fa8e58203a38158752d03c8be6b1da65b + SHA256: fdf25573e72e1769b51b8d541d0e1a894a5394dbfdf1b08215aa093079cca64c + SHA512: b3b1f59dce94c242ef88a4e68381a4c3a6f90ba0af699083e5a1a00b0fb1dce580f057dad25571fe789ac9aa95aa6e9c071ebb330328dc822217ac9ea9fbeb3f +* + + SIZE: 14038296 bytes + SHA1: f7e70cbc2604c53a9e818a2fc59cd0e2d6c859fa + SHA256: d45b4a1712ec5c03a35e85e33bcb57c7426b856d35e4f04f7975ae3944d09952 + SHA512: a36b241fc1eccba121bb7c2cc5675b11609e0153e25a3a8961b67270c05414b1aa669ce5d4a5ebe4c6b2328ea2b8f8635fbba046b70de103320b3fdcb3d51248 +* + + SIZE: 11442988 bytes + SHA1: 45e467debc194847a9e3afefb20b11e6dc28ea31 + SHA256: 8c546df3345398b3edc9d0ab097846f033783d33762889fd0f3dc8bb465c3354 + SHA512: d416e90bfa3e49cc0675c4c13243c8ec319b7a0836add1bd16bd7662d09eaf46656d26e772ef3b097e10779896e643edd8a6e4f885147e3235257736adfdf3b5 + +## Ruby とは + +Rubyはまつもとゆきひろ (Matz) によって1993年に開発が始められ、今もオープンソースソフトウェアとして開発が続けられています。Rubyは様々なプラットフォームで動き、世界中で、特にWebアプリケーション開発のために使われています。 diff --git a/ko/community/ruby-core/index.md b/ko/community/ruby-core/index.md index 8e5e63e361..551bf978a2 100644 --- a/ko/community/ruby-core/index.md +++ b/ko/community/ruby-core/index.md @@ -11,50 +11,34 @@ lang: ko 루비 개발에 관련된 주제들입니다. -* [Subversion을 사용하여 루비 개발을 트래킹하기](#following-ruby) -* [주 루비 저장소로 Git을 사용하는 방법](#git-ruby) +* [Git을 사용하여 루비 개발을 트래킹하기](#following-ruby) * [패치들로 루비 개선하기](#patching-ruby) * [코어 개발자를 위한 룰](#coding-standards) -### Subversion을 사용하여 루비 개발을 트래킹하기 +### Git을 사용하여 루비 개발을 트래킹하기 {: #following-ruby} -루비 코드를 받으려면 [Subversion][1] 저장소에서 익명으로 체크하웃하면 됩니다. -커맨드 라인에서 다음을 입력하세요. +현재 최신 루비 코드의 주 저장소는 [git.ruby-lang.org/ruby.git][gitrlo]입니다. +또한 [GitHub에도 미러][7]가 있습니다. 기본적으로는 이 미러를 이용하세요. + +최신 루비 코드는 Git을 사용하여 받을 수 있습니다. {% highlight sh %} -$ svn co https://svn.ruby-lang.org/repos/ruby/trunk ruby +$ git clone https://github.com/ruby/ruby.git {% endhighlight %} 이제 `ruby` 디렉터리에는 루비의 최신 개발 버전(ruby-trunk)이 들어 있을 것입니다. -현재 트렁크에 적용되는 패치는 안정 브랜치들({{ site.svn.stable.version }}, -{{ site.svn.previous.version }}, {{ site.svn.old.version }})에 백포트되고 -있습니다.(밑을 참고하세요.) -루비 {{ site.svn.stable.version }}의 패치들을 보고 싶다면, 체크아웃 하실 때 -`{{ site.svn.stable.branch }}` 브랜치를 사용하십시오. +[커미터가 아닌 사람들을 위한 개발 참가 방법][noncommitterhowto]도 참고하세요. -{% highlight sh %} -$ svn co https://svn.ruby-lang.org/repos/ruby/branches/{{ site.svn.stable.branch }} -{% endhighlight %} -비슷하게 루비 {{ site.svn.previous.version }}에서는.. +만약 커밋 권한을 가지고 있고, 무엇인가를 푸시하기를 원한다면, +반드시 주 저장소를 이용해야 합니다. {% highlight sh %} -$ svn co https://svn.ruby-lang.org/repos/ruby/branches/{{ site.svn.previous.branch }} +$ git clone git@git.ruby-lang.org:ruby.git {% endhighlight %} -이 명령은 `{{ site.svn.stable.branch }}`나 `{{ site.svn.previous.branch }}` 디렉터리에 -각각의 루비 개발 트리를 체크아웃합니다. 유지보수 브랜치에서 개발하는 개발자들은 -유지보수에서의 변경사항을 루비 트렁크에도 이관할 것입니다. 그래서 마츠나 -노부가 언어레벨의 수정을 한 경우를 제외하면 두 브랜치는 매우 비슷합니다. - -더 자세한 내용은 [루비의 Subversion 저장소][2]의 웹 사이트를 참조하세요. - -Subversion에 대한 정보는 [Subversion FAQ][3]나 [the Subversion book][4]을 -보십시오. 혹은 [Pragmatic Version Control with Subversion][5]도 매우 유용한 -입문서입니다. - ### 패치들로 루비 개선하기 {: #patching-ruby} @@ -65,27 +49,28 @@ Subversion에 대한 정보는 [Subversion FAQ][3]나 [the Subversion book][4] 있습니다. 어떤 방식을 사용하셔도, 계속 토론에 참여하시는 것이 좋습니다. 패치를 다루는 방법에 대해 구체적인 가이드를 원하시면 마츠가 직접 쓴 -[패치 작성자 가이드][11]를 확인하세요. +[패치 작성자를 위한 지침][writing-patches]를 확인하세요. 패치를 만드는 순서를 요약하자면, -1. 서브버전에서 루비 소스코드를 체크아웃합니다. +1. GitHub에서 루비 소스코드를 체크아웃합니다. 일반적으로 버그 수정을 위한 패치나 새로운 기능이 이미 루비 소스의 트렁크에 - 등록되어 있습니다. {{ site.svn.previous.branch }}에 추가하고 싶다고 하더라도 - 트렁크에서 먼저 입증되어야 합니다. + 등록되어 있습니다. - $ svn co https://svn.ruby-lang.org/repos/ruby/trunk ruby + $ git clone https://github.com/ruby/ruby.git 한 관리 브랜치에서만 일어나는 버그를 수정하려고 한다면, 해당 브랜치를 - 체크아웃합니다. 예를 들어 `{{ site.svn.previous.branch }}`의 경우 + 체크아웃합니다. + + $ git checkout ruby_X_X - $ svn co https://svn.ruby-lang.org/repos/ruby/branches/{{ site.svn.previous.branch }} + X_X를 체크아웃하고 싶은 버전으로 변경하세요. 2. 개선된 코드를 추가합니다. 3. 패치를 만듭니다. - $ svn diff > ruby-changes.patch + $ git diff > ruby-changes.patch 4. [이슈 트랙커][10]에 티켓을 만들거나 [Ruby-Core 메일링 리스트][mailing-lists]에 패치와 패치를 설명한 @@ -103,44 +88,37 @@ Subversion에 대한 정보는 [Subversion FAQ][3]나 [the Subversion book][4] 주제는 명확해야 하고 잘 생각해서 잘 쓰여야 합니다. 우리는 루비의 창조자에게 말을 걸고 있으니 예의를 갖춥시다. -루비의 코어 개발자들이 영어를 잘한다고 해도 일본에 살고 있으니 시차가 있습니다. +루비의 코어 개발자들이 영어를 잘한다고 해도 많은 수가 일본에 살고 있으니 시차가 있습니다. 영어와 동시에 진행되는 일어 개발 메일링 리스트도 있습니다. 클레임이 해결되지 않았을 경우에도 인내심을 가지고 며칠 후에 다시 시도해주시길 바랍니다. -### 코어 개발자를 위한 규칙 -{: #coding-standards} +### 브랜치에 대한 안내 + +루비의 소스 코드는 2019년 4월 22일까지 서브버전에서 관리되어 왔습니다. +그러므로 몇몇 버전은 그대로 서브버전에서 관리됩니다. +다음 SVN 저장소를 이용할 수 있습니다. -일반적으로, 루비의 개발자는 소스코드와 팀이 사용하는 개발 스타일에 -친숙해야 합니다. 다시 말하자면, Subversion에 체크인할 때 다음 가이드 -라인들은 지켜져야 합니다. +* [<URL:https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?root=ruby>][svn-viewvc] -* 모든 체크인은 [GNU conventions][14]에 따라 `ChangeLog`에 기술되어야 - 합니다. (많은 루비 코어 개발자들은 이맥스의 `add-log`모드를 사용합니다. - `add-log` 모드는 단축키 `C-x 4 a`로 열 수 있습니다.) -* 체크인 날짜는 일본 표준시(UTC+9)여야 합니다. -* ChangeLog에 추가할 때에는 Subversion 커밋 메시지도 같은 내용을 넣어야 - 합니다. 이 메시지는 커밋과 동시에 Ruby-CVS 메일링 리스트에 자동으로 - 공지됩니다. -* 함수 프로토타입은 루비의 코드와 코드의 확장기능 전체에서 사용됩니다. -* C++ 스타일의 주석(`//`)을 쓰지 마세요. 루비의 메인테이너는 표준 C의 - 여러 줄 주석(`/* .. */`)을 사용하길 권장합니다. +그렇지만 (브랜치 유지보수 담당자가 아니라면) 이를 신경쓸 필요는 없습니다. +브랜치를 Git에서 체크아웃 할 수 있습니다. +예를 들어 다음 명령을 실행하세요. -더 자세한 정보는 [루비의 이슈 트랙커][10]를 참조하세요. +{% highlight sh %} +$ git checkout ruby_X_X +{% endhighlight %} +X_X는 체크아웃 하고 싶은 브랜치 이름으로 변경하세요. +브랜치를 변경하고 싶다면 [이슈 트랙커][10]에 이슈를 만들어주세요. +다음 링크도 참고하세요. +[gitrlo]: https://git.ruby-lang.org/ruby.git [mailing-lists]: /ko/community/mailing-lists/ -[1]: http://subversion.apache.org/ -[2]: https://svn.ruby-lang.org/cgi-bin/viewvc.cgi/ -[3]: http://subversion.apache.org/faq.html -[4]: http://svnbook.org -[5]: http://www.pragmaticprogrammer.com/titles/svn/ -[6]: http://git-scm.com/ +[writing-patches]: /en/community/ruby-core/writing-patches/ +[noncommitterhowto]: https://github.com/shyouhei/ruby/wiki/noncommitterhowto +[svn-viewvc]: https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?root=ruby [7]: https://github.com/ruby/ruby -[8]: https://github.com/shyouhei/ruby/wiki/committerhowto -[9]: https://github.com/shyouhei/ruby/wiki/noncommitterhowto [10]: https://bugs.ruby-lang.org/ -[11]: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/25139 [12]: http://www.gnu.org/software/diffutils/manual/html_node/Unified-Format.html [13]: http://www.gnu.org/software/diffutils/manual/html_node/Merging-with-patch.html#Merging%20with%20patch -[14]: http://www.gnu.org/prep/standards/standards.html#Change-Logs diff --git a/ko/documentation/installation/index.md b/ko/documentation/installation/index.md index 9cd4d37ca9..09395ce774 100644 --- a/ko/documentation/installation/index.md +++ b/ko/documentation/installation/index.md @@ -30,11 +30,14 @@ ruby -v 전환을 도와줍니다. * 마지막으로 **소스에서 빌드** 하실 수도 있습니다. +Windows 10을 사용 중이라면 [Windows Subsystem for Linux][wsl]를 사용하여 +지원되는 Linux 배포판 중 하나를 설치하고, 해당 시스템에 맞는 설치 방법을 +사용할 수 있습니다. + 이 목록은 각 다른 요구사항과 플랫폼을 위한 주요 설치방법입니다. * [패키지 관리 시스템](#package-management-systems) * [Debian, Ubuntu](#apt) - * [Windows WSL Ubuntu](#apt-wsl) * [CentOS, Fedora, RHEL](#yum) * [Snap](#snap) * [Gentoo](#portage) @@ -79,24 +82,6 @@ Debian GNU/Linux와 Ubuntu는 apt 패키지 관리 시스템을 사용합니다. $ sudo apt-get install ruby-full {% endhighlight %} -### apt (Windows WSL Ubuntu) -{: #apt-wsl} - -Windows 10을 사용 중이라면 WSL을 통해 Linux Ubuntu OS를 사용할 수 있습니다. -또한 apt를 통해 루비를 사용할 수 있습니다. - -다음 페이지에서 WSL을 설치하는 방법에 대해 알아보세요. - -[Windows Subsystem for Linux Installation Guide for Windows 10](https://docs.microsoft.com/ko-kr/windows/wsl/install-win10) - -다음과 같이 Linux OS와 동일하게 apt를 사용할 수 있습니다. - -{% highlight sh %} -$ sudo apt-get install ruby-full -{% endhighlight %} - -WSL에서 rbenv와 같은 루비 관리자를 사용하는 것도 가능합니다. - ### yum (CentOS, Fedora, RHEL) {: #yum} @@ -339,3 +324,4 @@ $ sudo make install [download]: /ko/downloads/ [installers]: /ko/documentation/installation/#installers [readme]: https://github.com/ruby/ruby#how-to-compile-and-install +[wsl]: https://docs.microsoft.com/ko-kr/windows/wsl/about diff --git a/ko/libraries/index.md b/ko/libraries/index.md index 9073854581..b1d3070a3a 100644 --- a/ko/libraries/index.md +++ b/ko/libraries/index.md @@ -30,10 +30,9 @@ lang: ko list`를 사용합니다. 좀 더 정보가 필요하시면 아래 내용을 좀 더 읽으시거나 [RubyGems의 문서][3]를 참조하세요. -다른 라이브러리의 배포처도 있습니다. [RubyForge][4]는 예전엔 루비 라이브러리의 -배포처로 널리 사용되었던 적이 있습니다. 하지만 최근 몇 년간 [**GitHub**][5]가 -루비 관련 라이브러리의 배포처로 대두되었습니다. 젬으로 RubyGems.org에 -공개되어 있지만, 대부분의 젬의 소스코드는 GitHub에서 볼 수 있습니다. +다른 라이브러리의 배포처도 있습니다. [**GitHub**][5]는 루비 관련 라이브러리의 +주요 배포처입니다. 완전한 젬은 RubyGems.org에 공개되어 있지만, 대부분의 젬의 +소스코드는 GitHub에서 볼 수 있습니다. [**The Ruby Toolbox**][6]는 오픈소스이며 루비 프로젝트를 검색하기 쉽게 하기 위한 프로젝트입니다. 다양한 종류의 일반적인 개발 작업을 카테고리로 릴리스나 커밋의 @@ -114,7 +113,6 @@ RubyGems.org에는 이 주제에 대한 [몇 가지 가이드][3]가 있습니 [1]: https://rubygems.org/ [2]: https://rubygems.org/pages/download/ [3]: http://guides.rubygems.org/ -[4]: http://rubyforge.org/ [5]: https://github.com/ [6]: https://www.ruby-toolbox.com/ [7]: http://guides.rubygems.org/command-reference/ diff --git a/ko/news/_posts/2019-03-15-ruby-2-5-5-released.md b/ko/news/_posts/2019-03-15-ruby-2-5-5-released.md index 09bfeb5915..7d289c9cc8 100644 --- a/ko/news/_posts/2019-03-15-ruby-2-5-5-released.md +++ b/ko/news/_posts/2019-03-15-ruby-2-5-5-released.md @@ -9,7 +9,7 @@ lang: ko 루비 2.5.5가 릴리스 되었습니다. -이 릴리스는 Puma와 같은 멀티 스레드나 멀티 프로세스(`Process.fork`를 사용하는) 애플리케이션에서 데드록이 발생하는 버그 수정을 포함합니다. +이 릴리스는 Puma와 같은 (멀티 스레드를 쓰는 부모 프로세스가 `Process.fork`를 사용하는) 멀티 스레드나 멀티 프로세스 애플리케이션에서 데드록이 발생하는 버그 수정을 포함합니다. 자세한 내용은 [커밋 로그](https://github.com/ruby/ruby/compare/v2_5_4...v2_5_5)를 확인해주세요. diff --git a/ko/news/_posts/2019-04-23-move-to-git-from-svn.md b/ko/news/_posts/2019-04-23-move-to-git-from-svn.md new file mode 100644 index 0000000000..ad248880b3 --- /dev/null +++ b/ko/news/_posts/2019-04-23-move-to-git-from-svn.md @@ -0,0 +1,42 @@ +--- +layout: news_post +title: "루비 저장소가 Subversion에서 Git으로 이동했습니다" +author: "hsbt" +translator: "yous" +date: 2019-04-23 00:00:00 +0000 +lang: ko +--- + +오늘, 루비 프로그래밍 언어의 표준 저장소가 Subversion에서 Git으로 이동했습니다. + +새 저장소의 웹 인퍼테이스는 이며, cgit을 통해 +제공됩니다. 루비 저장소에서 바로 기여자의 커밋 해시를 볼 수 있습니다. + +## 개발 정책 + +* cgit에서 토픽 브랜치를 사용하지 않습니다. +* GitHub 저장소는 미러 저장소일 뿐입니다. '풀 리퀘스트 머지' 기능을 사용하지 않습니다. +* ruby_2_4, ruby_2_5, ruby_2_6 브랜치는 계속 SVN을 사용합니다. 이 브랜치에는 cgit을 통해 그 어떤 것도 푸시하지 않습니다. +* ruby_2_7 브랜치부터 cgit을 사용해 안정 브랜치를 개발합니다. +* 머지 커밋을 사용하지 않습니다. + +## 감사의 말 + +* k0kubun + + k0kubun은 릴리스와 백포트 워크플로에 관련된 툴체인을 활발히 개발했고, Git을 위한 훅 스크립트를 업데이트했습니다. + +* naruse + + naruse는 루비 CI와 Redmine(bugs.ruby-lang.org)의 기능 변경 사항을 업데이트했습니다. + +* mame + + mame는 Slack을 위한 커밋 알림 스크립트를 만들었습니다. + +## 향후 계획 + +아직 몇 가지 작업이 남았습니다. Git 마이그레이션과 관련한 이슈를 찾았다면 +로 제보해주시기 바랍니다. + +감사합니다! diff --git a/tr/about/index.md b/tr/about/index.md index 1ab9f43ec4..397884507a 100644 --- a/tr/about/index.md +++ b/tr/about/index.md @@ -31,67 +31,60 @@ dikkatini çekmeye başlamıştır. 2006 Ruby’nin altın yılı olmuştur. Dünyanın en büyük şehirlerinde aktif kullanıcı grupları ve Ruby ile ilgili konferanslar gerçekleştirilmiştir. -Ruby-Talk, en çok kullanılan Ruby [e-posta -listesi](/en/community/mailing-lists/) günde ortalama 200 mesaj -trafiğine sahiptir. +Ruby-Talk, Ruby dilini tartışmak için birincil [e-posta listesi](/en/community/mailing-lists/), 2006 yılında günde ortalama 200 mesaja ulaşmıştır. +Bu sayı son yıllarda düşmüştür çünkü topluluğun büyüklüğü, tartışmanın merkezi bir listeden daha küçük gruplara kaymasına neden olmuştur. -Programlama dillerinin popülaritesini araştıran [TIOBE][tiobe] istatistiklerine -göre, Ruby dünya çapında en çok kullanılan 10. dil haline gelmiştir. -Ruby’nin bu hızlı büyümesinde [Ruby on Rails][ror] framework’ünün -hatırı sayılır etkisi bulunmaktadır. +Ruby, dünya çapında programlama dillerinin büyümesini ve popülaritesini ölçen dizinlerin ([TIOBE dizini][tiobe] gibi) çoğunda ilk 10 içinde yer almıştır. +Büyümenin çoğu, Ruby ile yazılmış yazılımların popülaritesiyle ilgilidir, özellikle [Ruby on Rails][ror] web çatısıyla. -Ruby aynı zamanda [tamamen özgür]({{ site.license.url }}) bir dildir. Ruby size -yalnızca sorumluluk anlamında bir özgürlük değil, aynı zamanda kullanma, -kopyalama, düzenleme ve dağıtma özgürlüğü de sunar. +Ruby aynı zamanda [tamamen özgür]({{ site.license.url }}) bir dildir. +Bu özgürlük sadece maddi anlamda değildir; kullanma, kopyalama, değiştirme, ve dağıtma konusunda da özgürsünüz. -### Herşey Bir Nesnedir +### Her şeyi bir Nesne Olarak Görmek Matz yeni bir dil yaratmadan önce ideal sözdizimini bulmak için diğer programlama dillerini incelemiş ve araştırmasının sonunda “Perl’den daha güçlü ama Python’dan daha nesneye yönelik bir betik -dili[2](#fn2)” istediğini söylemiştir. +dili istediğini[2](#fn2)” söylemiştir. -Ruby’de herşey bir nesnedir. Gördüğünüz en ufak bilgi parçası ve kod -kendi özelliklerine ve olaylarına sahiptir. Özellikleri isimle çağırma -*örnek değişkenler*, olaylar da *metotlar* olarak isimlendirilir. -Ruby’nin yüzde yüz saf nesneye yönelik bir dil olduğunun en iyi ispatı -bir kod parçası ile bir sayıya olay vererek yapılır: +Ruby’de herşey bir nesnedir. Gördüğünüz en ufak bilgi parçası ve kod kendi özelliklerine ve olaylarına sahiptir. +Nesne yönelimli programlama, özellikleri *örnek değişkenleri* ismiyle anar, olaylar ise *metodlar* olarak bilinir. +Ruby’nin yüzde yüz saf nesneye yönelik bir dil olduğunun en iyi ispatı bir kod parçası ile bir sayıya olay vererek yapılır: {% highlight ruby %} -5.times { print "Ruby'yi *seviyoruz* -- harika bir dil!" } +5.times { print "We *love* Ruby -- it's outrageous!" } {% endhighlight %} -Çoğu dilde sayılar ve diğer ilkel tipler nesne değildir. Ruby tüm -tiplerine metotlar ve örnek değişkenler verme geleneğini Smalltalk’tan -miras almıştır. +Çoğu dilde sayılar ve diğer ilkel tipler nesne değildir. +Ruby tüm tiplerine metod ve örnek değişkenleri verme geleneğini Smalltalk’tan miras almıştır. +Bu, Ruby kullanımını kolaylaştırır, çünkü nesnelere uygulanan kurallar Ruby'nin tümüne uygulanır. -### Ruby Esnektir +### Ruby'nin Esnekliği -Ruby kullanıcılara istediği kısımları değiştirebilme imkanı sunduğu için -esnek bir dildir. İsteğe bağlı olarak Ruby’nin esaslı kısımları bile -kaldırılabilir, yeniden tanımlanabilir ya da yeni kısımlar eklenebilir. -Ruby programcıyı kısıtlamamayı amaçlamaktadır. +Ruby, kullanıcılara istediği kısımları değiştirebilme imkanı sunduğu için esnek bir dil olarak görülür. +İsteğe bağlı olarak Ruby’nin esas kısımları bile kaldırılabilir, yeniden tanımlanabilir ya da bunlara yeni kısımlar eklenebilir. +Ruby, programcıyı kısıtlamamayı amaçlar. Örneğin toplama işleminin artı (`+`) operatörü ile yapıldığını -biliyoruz. Ama eğer okunabilirlik amacıyla `topla` gibi bir kelime +biliyoruz. Ama eğer okunabilirlik amacıyla `plus` gibi bir kelime kullanmak istiyorsanız Ruby’nin gömülü `Numeric` sınıfına yeni bir metod ekleyebilirsiniz. {% highlight ruby %} class Numeric - def topla(x) + def plus(x) self.+(x) end end -y = 5.topla 6 +y = 5.plus 6 # y'nin değeri 11 oldu. {% endhighlight %} -Ruby’nin operatörleri sözdizimsel olarak esnektir, yeniden tanımlamanıza -olanak sağlar. +Ruby’nin operatörleri metodlar için sözdizimsel kolaylıklardır. +Bunları da yeniden tanımlayabilirsiniz. -### Bloklar, Tam Anlamıyla Etkileyici Bir Özellik +### Bloklar, Tam Anlamıyla Etkileyici bir Özellik Ruby’nin esnek bir dil olarak anılmasının en önemli sebeplerinden biri de bloklardır. Bir kapamayı (closure) herhangi bir metoda ataçlayabilir @@ -112,21 +105,20 @@ search_engines = {% endhighlight %} Yukarıdaki kodda bir blok `do ... end` yapıları içerisinde tanımlanıyor. -`map` metodu bloğa bir kelime listesi ile çalıştığını bildiriyor. -Ruby’de bunun gibi bir çok metod programcıya kendi bloklarını yazıp, -metodu istediği gibi şekillendirmesine izin vermektedir. +`map` metodu, bloğu sağlanan kelime listesine uygular. +Ruby’de bunun gibi bir çok metod programcıya kendi bloklarını yazıp, bu metodun ne yapması gerektiğini belirtme izni vermektedir. ### Ruby ve Mixin’ler -Pek çok nesneye yönelik dilin aksine, Ruby özellikle yalnızca tekil +Pek çok nesneye yönelik dilin aksine, Ruby **özellikle** yalnızca tekil mirası destekler. Çünkü Ruby modül konseptini (Objective-C’de -Kategoriler) kullanır ve modüller metodların bir koleksiyonundan +Kategoriler) kullanır. Modüller metodların bir koleksiyonundan ibarettir. Sınıflar bir modülü kendisine dahil ederse, onun tüm metodlarını da almış olur. Örneğin `each` metodunu gerçekleştiren her sınıf `Enumerable` modülünü de kendisine dahil edebilir, böylece döngülerde -`each` ile beraber kullanabileceği bir dizi metoda sahip olur. +`each`'i kullanan bir dizi metoda sahip olur. {% highlight ruby %} class MyArray @@ -135,19 +127,19 @@ end {% endhighlight %} Genelde Ruby’ciler bu yolu bazen çok karmaşıklaşan ve kısıtlayıcı olan -çoklu mirastan daha temiz ve sağlam bir yöntem olarak görürler. +çoklu mirastan daha temiz bir yöntem olarak görürler. ### Ruby’nin Görselliği Her ne kadar Ruby sınırlı sayıda noktalama işareti ve İngilizce anahtar kelimeler kullansa da, bazı noktalama işaretleri Ruby’yi dekore etmek için kullanılır. Ruby’de değişken tanımlamaları yoktur. Değişkenlerin -faaliyet alanlarını belirlemek için basit noktalama işaretleri +faaliyet alanlarını belirlemek için basit isimlendirme gelenekleri kullanılır. * `var` yerel bir değişken olabilir -* `@var` bir örnek değişkendir. -* `$var` bir global değişkendir. +* `@var` bir örnek değişkenidir. +* `$var` bir evrensel değişkendir. Bu işaretlendirmeler sayesinde programcı her değişkenin rolünü kolayca görebilmektedir. Aynı zamanda her örnek değişken için `self.` kullanma @@ -158,15 +150,15 @@ külfetini ortadan kaldırmıştır. Ruby çok çeşitli özelliklere sahiptir, aşağıda bir kaçından bahsedilmiştir: -* Ruby, hataları işlemek için kolaylaştırmak amacıyla Java veya Python +* Ruby, hataları işlemeyi kolaylaştırmak amacıyla Java veya Python gibi istisna işleme özelliklerine sahiptir. -* Ruby tüm nesneleri için gerçek bir mark & sweep çöp toplayıcısı +* Ruby tüm nesneleri için gerçek bir mark&sweep çöp toplayıcısı sunar. Eklenti kütüphanelerinde referans sayaçlarına gerek yok, - Matz’ın dediği gibi: “Bu sizin sağlığınız için iyidir”. + Matz’ın dediği gibi: “Bu sizin sağlığınız için iyidir.” -* C’den Ruby çağıran şık API’si sayesinde Ruby’de C eklentileri yazmak - Perl ya da Python’dan daha kolaydır. Bu API aynı zamanda yazılımlara +* C’den Ruby çağıran şık API’ı sayesinde Ruby’de C eklentileri yazmak + Perl ya da Python’kinden daha kolaydır. Bu API aynı zamanda yazılımlara betik dili olarak Ruby’yi gömmek için gereken çağrıları da içerir. Ayrıca SWIG arayüzü de alternatif olarak sunulmaktadır. @@ -181,13 +173,32 @@ bahsedilmiştir: olsa dahi, UNIX’in bir çok çeşidi, macOS, Windows, DOS, BeOS, OS/2, vb. üzerinde çalışmaktadır. +### Ruby'nin Diğer Gerçeklemeleri + +Ruby, bir dil olarak, birkaç farklı gerçeklemeye sahiptir. +Bu sayfa, toplulukta sıklıkla **MRI** (“Matz’s Ruby Interpreter”) ya da **CRuby** (C'de yazıldığından dolayı) olarak bilinen başvuru gerçeklemesini tartışmaktadır, ancak başkaları da vardır. +Bunlar belirli durumlarda kullanışlıdır, diğer dil ya da ortamlara fazladan bütünleşim sağlarlar, ya da MRI'ın sahip olmadığı özel özelliklere sahiptirler. + +İşte bunların bir listesi: + +* [JRuby][jruby], JVM'in (Java Virtual Machine) üstünde çalışan Ruby'dir, JVM'in eniyileyen JIT derleyicisi, çöp toplayıcısı, eşzamanlı thread'leri, araç ekosistemi, ve muazzam sayıdaki kütüphanelerinden faydalanır. +* [Rubinius][rubinius], ‘Ruby'da yazılmış Ruby'dir’. + LLVM'in üstüne inşa edilmiştir ve ayrıca diğer dillerin üstüne inşa edebilecekleri şık bir sanal makine de sunar. +* [TruffleRuby][truffleruby], GraalVM'in üstünde çalışan yüksek performanslı bir Ruby gerçeklemesidir. +* [mruby][mruby], bir uygulamaya bağlanıp gömülebilen hafif bir Ruby gerçeklemesidir. + Geliştirilmesine Ruby'nin yaratıcısı Yukihiro “Matz” Matsumoto tarafından önderlik edilmektedir. +* [IronRuby][ironruby], “.NET Web Çatısı'yla sıkı sıkıya bağlı” bir gerçeklemedir. +* [MagLev][maglev], “bütünleşik nesne sürekliliği ve dağıtılmış paylaşılan önbellekli hızlı, kararlı bir Ruby gerçeklemesidir”. +* [Cardinal][cardinal], [Parrot][parrot] Sanal Makinesi için bir Ruby derleyicisidir” (Perl 6). + +Daha tam bir liste için, [Müthiş Ruby'ler][awesome-rubies]e bakın. + ### Referanslar 1 Matz, Ruby-Talk e-posta listesi, [12 Mayıs, 2000][blade]. {: #fn1} -2 Matz, [Ruby’nin Yaratıcısı İle Bir Söyleşi][linuxdevcenter], Kasım. -29th, 2001. +2 Matz, [Ruby’nin Yaratıcısı İle Bir Söyleşi][linuxdevcenter], 29 Kasım 2001. {: #fn2} 3 Matz, [Ruby’de Bloklar ve Kapamalar][artima], 22 Aralık, 2003. @@ -201,3 +212,12 @@ bahsedilmiştir: [linuxdevcenter]: http://www.linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html [artima]: http://www.artima.com/intv/closures2.html [tiobe]: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html +[jruby]: http://jruby.org +[rubinius]: http://rubini.us +[truffleruby]: https://github.com/oracle/truffleruby +[mruby]: http://www.mruby.org/ +[ironruby]: http://www.ironruby.net +[maglev]: http://maglev.github.io +[cardinal]: https://github.com/parrot/cardinal +[parrot]: http://parrot.org +[awesome-rubies]: https://github.com/planetruby/awesome-rubies diff --git a/tr/about/logo/index.md b/tr/about/logo/index.md new file mode 100644 index 0000000000..4b62d801ae --- /dev/null +++ b/tr/about/logo/index.md @@ -0,0 +1,23 @@ +--- +layout: page +title: "Ruby Logosu" +lang: tr +--- + +![Ruby Logosu][logo] + +Ruby logosu Telif Hakkı © 2006, Yukihiro Matsumoto. + +[Creative Commons Atıf-AynıLisanslaPaylaş 2.5 Lisansı][cc-by-sa] anlaşmasının +koşulları altında lisanslıdır. + + +## İndir + +[Ruby Logo Alet Takımı][logo-kit] Ruby logosunu birkaç biçimde içerir +(PNG, JPG, PDF, AI, SWF, XAR). + + +[logo]: /images/header-ruby-logo.png +[logo-kit]: https://cache.ruby-lang.org/pub/misc/logo/ruby-logo-kit.zip +[cc-by-sa]: http://creativecommons.org/licenses/by-sa/2.5/deed.tr diff --git a/tr/documentation/installation/index.md b/tr/documentation/installation/index.md new file mode 100644 index 0000000000..c6c2a7cc1c --- /dev/null +++ b/tr/documentation/installation/index.md @@ -0,0 +1,344 @@ +--- +layout: page +title: "Ruby'yi Kurma" +lang: tr +--- + +Paket yöneticileri ya da üçüncü taraf araçlar ile, +Ruby'yi kurmak ve yönetmek için çok sayıda seçeneğiniz vardır. +{: .summary} + +Ruby, bilgisayarınızda zaten kurulu olabilir. Bir +[uçbirim öykünücüsü][terminal] içinde şunu yazarak denetleyebilirsiniz: + +{% highlight sh %} +ruby -v +{% endhighlight %} + +Bu, kurulu Ruby sürümü hakkında bazı bilgileri çıktı vermelidir. + +## Kurulum Yönteminizi Seçin + +Ruby'yi kurmanın birçok yolu vardır: + +* UNIX benzeri bir işletim sistemi üzerinde sisteminizin + **paket yöneticisi**ni kullanmak en kolayıdır. Fakat paketlenmiş + Ruby sürümü en yenisi olmayabilir. +* **Kurucular**, belirli bir ya da birden çok Ruby sürümü kurmak için + kullanılabilir. Ayrıca Windows için de bir kurucu vardır. +* **Yöneticiler**, sisteminiz üzerinde birden çok Ruby sürümü arasında + geçiş yapmanıza yardım eder. +* Son olarak, ayrıca **Ruby'yi kaynaktan inşa edebilirsiniz**. + +Windows 10'da ayrıca desteklenen Linux dağıtımlarından birini kurmak ve bu +sistemde var olan kurulum yöntemlerinden herhangi birini kullanmak için +[Linux için Windows Altsistemi][wsl]'ni kullanabilirsiniz. + +İşte kullanılabilir kurulum yöntemleri: + +* [Paket Yönetim Sistemleri](#package-management-systems) + * [Debian, Ubuntu](#apt) + * [CentOS, Fedora, RHEL](#yum) + * [Snap](#snap) + * [Gentoo](#portage) + * [Arch Linux](#pacman) + * [macOS](#homebrew) + * [FreeBSD](#freebsd) + * [OpenIndiana](#openindiana) + * [Diğer Dağıtımlar](#other-systems) +* [Kurucular](#installers) + * [ruby-build](#ruby-build) + * [ruby-install](#ruby-install) + * [RubyInstaller](#rubyinstaller) (Windows) + * [RailsInstaller ve Ruby Stack](#railsinstaller) +* [Yöneticiler](#managers) + * [chruby](#chruby) + * [rbenv](#rbenv) + * [RVM](#rvm) + * [uru](#uru) +* [Kaynaktan inşa etme](#building-from-source) + + +## Paket Yönetim Sistemleri +{: #package-management-systems} + +Eğer kendi Ruby'nizi derleyemiyor, ve üçüncü taraf bir araç kullanmak +istemiyorsanız, Ruby'yi kurmak için sisteminizin paket yöneticisini +kullanabilirsiniz. + +Ruby topluluğunun bazı üyeleri, Ruby'yi kurmak için paket yöneticilerinden +sakınılması ve bunun yerine adanmış araçların kullanılması gerektiğini +düşünürler. + +Başlıca paket yöneticilerinin en son sürüm yerine daha eski Ruby sürümlerini +kurması mümkündür. Son Ruby sürümünü kullanmak için paket adının bu sürümün +numarası ile eşleştiğini kontrol edin. Ya da adanmış bir [kurucu][installers] +kullanın. + + +### apt (Debian ya da Ubuntu) +{: #apt} + +Debian GNU/Linux ve Ubuntu, apt paket yöneticisini kullanır. Bunu şu şekilde +kullanabilirsiniz: + +{% highlight sh %} +$ sudo apt-get install ruby-full +{% endhighlight %} + + +### yum (CentOS, Fedora, ya da RHEL) +{: #yum} + +CentOS, Fedora, ve RHEL, yum paket yöneticisini kullanır. +Bunu şu şekilde kullanabilirsiniz: + +{% highlight sh %} +$ sudo yum install ruby +{% endhighlight %} + +Kurulan sürüm genelde belirli dağıtım sürümünün yayın zamanında kullanılabilir +olan Ruby'nin en son sürümüdür. + + +### snap (Ubuntu ya da başka Linux dağıtımı) +{: #snap} + +Snap, Canonical tarafından geliştirilen bir paket yöneticisidir. Bu, Ubuntu'da +halihazırda kullanılabilirdir, fakat snap ayrıca birçok Linux dağıtımında +çalışır. Snap'i şu şekilde kullanabilirsiniz: + +{% highlight sh %} +$ sudo snap install ruby --classic +{% endhighlight %} + +Ruby ikincil serileri için birçok kanal vardır. Örneğin, aşağıdaki komut Ruby +2.3'e geçiş yapar: + +{% highlight sh %} +$ sudo snap switch ruby --channel=2.3/stable +$ sudo snap refresh +{% endhighlight %} + + +### portage (Gentoo) +{: #portage} + +Gentoo, portage paket yöneticisini kullanır. + +{% highlight sh %} +$ sudo emerge dev-lang/ruby +{% endhighlight %} + +Belirli bir sürümü kurmak için `make.conf`'unuzdaki `RUBY_TARGETS`'ı ayarlayın. +Ayrıntılar için [Gentoo Ruby Projesi websitesi][gentoo-ruby]ne bakın. + + +### pacman (Arch Linux) +{: #pacman} + +Arch Linux, pacman isimli bir paket yöneticisi kullanır. Ruby'yi almak için +sadece şunu yapın: + +{% highlight sh %} +$ sudo pacman -S ruby +{% endhighlight %} + +Bu, son kararlı Ruby sürümünü kurmalıdır. + + +### Homebrew (macOS) +{: #homebrew} + +Ruby'nin 2.0 ve üstü sürümleri en azından El Capitan (10.11)'dan beri +macOS sürümlerinde varsayılan olarak içerilir. + +[Homebrew][homebrew], macOS'ta sıklıkla kullanılan bir paket yöneticisidir. +Ruby'yi Homebrew kullanarak kurmak kolaydır: + +{% highlight sh %} +$ brew install ruby +{% endhighlight %} + +Bu, son Ruby sürümünü kurmalıdır. + + +### FreeBSD +{: #freebsd} + +FreeBSD Ruby'yi kurmak için hem önceden paketlenmiş hem de kaynak tabanlı +yöntemler sunar. Önceden inşa edilmiş paketler pkg aracı yoluyla kurulabilir: + +{% highlight sh %} +$ pkg install ruby +{% endhighlight %} + +Kaynak tabanlı bir metod, [Ports Collection][freebsd-ports-collection] +kullanılarak Ruby'yi kurmak için kullanılabilir. Eğer inşa yapılandırma +seçeneklerini özelleştirmek istiyorsanız, bu, kullanışlıdır. + +FreeBSD'de Ruby ve onun çevreleyen ekosistemi hakkında daha fazla bilgi +[FreeBSD Ruby Projesi websitesi][freebsd-ruby]nde bulunabilir. + + +### OpenIndiana üzerinde Ruby +{: #openindiana} + +Ruby'yi [OpenIndiana][openindiana] üzerinde kurmak için lütfen Image Packaging +System (IPS) istemcisini kullanın. +Bu, Ruby ikililerini ve RubyGems'i doğrudan OpenIndiana depolarından +kuracaktır. Bu kolaydır: + +{% highlight sh %} +$ pkg install runtime/ruby +{% endhighlight %} + +Fakat üçüncü taraf araçlar, Ruby'nin en son sürümünü elde etmek için iyi bir +yol olabilir. + + +### Diğer Dağıtımlar +{: #other-systems} + +Diğer sistemlerde, Linux dağıtımınızın yöneticisinin paket depolarında Ruby'yi +arayabilirsiniz. Alternatif olarak [üçüncü taraf bir kurucu][installers] da +kullanabilirsiniz. + + +## Kurucular +{: #installers} + +Eğer sisteminiz ya da paket yöneticiniz tarafından sağlanan Ruby'nin sürümü +güncel değilse, üçüncü taraf bir kurucu kullanılarak daha yeni bir Ruby +kurulabilir. + +Bazı kurucular birden çok sürümü aynı sistemde kurmanıza imkan verir; ilgili +yöneticiler farklı Ruby'ler arasında geçiş yapmanıza yardım edebilir. + +Eğer sürüm yöneticisi olarak [RVM](#rvm)'i kullanmayı planlıyorsanız, ayrı bir +kurucuya ihtiyacınız yok, RVM kendisininki ile gelir. + + +### ruby-build +{: #ruby-build} + +[ruby-build][ruby-build], [rbenv](#rbenv) için Ruby'nin farklı sürümlerini +derleyip kurmanıza imkan veren bir eklentidir. ruby-build ayrıca rbenv olmadan +tek başına çalışan bir program olarak da kullanılabilir. rbenv, macOS, Linux, ve diğer +UNIX benzeri işletim sistemlerinde kullanılabilir. + + +### ruby-install +{: #ruby-install} + +[ruby-install][ruby-install], Ruby'nin farklı sürümlerini isteğe bağlı +dizinlere derleyip kurmanıza imkan sağlar. [chruby](#chruby), bu kurucu ile +kullanılabilen ve Ruby sürümleri arasında geçiş yapmak için kullanılan bir +araçtır. macOS, Linux, ve diğer UNIX benzeri işletim sistemlerinde +kullanılabilir. + + +### RubyInstaller +{: #rubyinstaller} + +Windows'ta [RubyInstaller][rubyinstaller] tam bir Ruby geliştirme ortamı +ayarlamak için size gereken her şeyi verir. + +Sadece indirin, çalıştırın, ve her şey tamam! + + +### RailsInstaller ve Ruby Stack +{: #railsinstaller} + +Eğer Ruby'yi Ruby on Rails kullanmak için kuruyorsanız, aşağıdaki kurucuları +kullanabilirsiniz: + +* [RailsInstaller][railsinstaller], [RubyInstaller][rubyinstaller]'ı kullanır + fakat size Rails geliştirmesine yardımcı olacak fazladan araçlar verir. + macOS ve Windows'u destekler. +* [Bitnami Ruby Stack][rubystack], Rails için tam bir geliştirme ortamı sağlar. + macOS, Linux, Windows, sanal makineler, ve bulut görüntülerini destekler. + + +## Yöneticiler +{: #managers} + +Birçok Ruby'ci birden çok Ruby'yi yönetmek için Ruby yöneticilerini kullanır. +Yöneticiler Ruby sürümleri arasında kolay hatta projeye bağlı olarak otomatik +geçiş imkanı sağlar ve başka avantajlara sahiptir fakat resmi olarak +desteklenmezler. Fakat ilgili topluluklar içinde destek bulabilirsiniz. + + +### chruby +{: #chruby} + +[chruby][chruby] birden çok Ruby arasında geçiş yapmanıza imkan sağlar. +[ruby-install](#ruby-install) tarafından, hatta kaynaktan inşa edilerek kurulan +Ruby'leri yönetebilir. + + +### rbenv +{: #rbenv} + +[rbenv][rbenv], Ruby'nin birden çok kurulumunu yönetmenize imkan sağlar. +Varsayılan olarak Ruby'yi kuramasa da, [ruby-build](#ruby-build) eklentisi bunu +yapabilir. Her iki araç da macOS, Linux, ve diğer UNIX benzeri işletim +sistemlerinde kullanılabilir. + + +### RVM ("Ruby Version Manager") +{: #rvm} + +[RVM][rvm], sisteminizde Ruby'nin birden çok kurulumunu kurup yönetmenize imkan +sağlar. Ayrıca farklı gem kümelerini yönetmek için de kullanılabilir. macOS, +Linux, ve diğer UNIX benzeri işletim sistemlerinde kullanılabilir. + + +### uru +{: #uru} + +[Uru][uru], macOS, Linux, ya da Windows sistemlerinde birden çok Ruby'yi +kullanmanıza yardımcı olan hafif, çoklu platform bir komut satırı aracıdır. + + +## Kaynaktan İnşa Etme +{: #building-from-source} + +Tabii ki Ruby'yi kaynaktan kurabilirsiniz. Bir tar arşivi [indirin][download] +ve açın, sonra sadece şunu yapın: + +{% highlight sh %} +$ ./configure +$ make +$ sudo make install +{% endhighlight %} + +Varsayılan olarak, bu, Ruby'yi `/usr/local` içine kuracaktır. Değiştirmek için +`./configure` betiğine `--prefix=DIR` seçeneğini geçirin. + +Kaynaktan inşa etme hakkında daha fazla bilgiyi +[Ruby README dosyası][readme]nda bulabilirsiniz. + +Üçüncü taraf araçlar ya da paket yöneticileri kullanmak daha iyi bir fikir +olabilir, çünkü kurulan Ruby herhangi bir araç tarafından yönetilmeyecektir. + + +[rvm]: http://rvm.io/ +[rbenv]: https://github.com/rbenv/rbenv#readme +[ruby-build]: https://github.com/rbenv/ruby-build#readme +[ruby-install]: https://github.com/postmodern/ruby-install#readme +[chruby]: https://github.com/postmodern/chruby#readme +[uru]: https://bitbucket.org/jonforums/uru +[rubyinstaller]: https://rubyinstaller.org/ +[railsinstaller]: http://railsinstaller.org/ +[rubystack]: http://bitnami.com/stack/ruby/installer +[openindiana]: http://openindiana.org/ +[gentoo-ruby]: http://www.gentoo.org/proj/en/prog_lang/ruby/ +[freebsd-ruby]: https://wiki.freebsd.org/Ruby +[freebsd-ports-collection]: https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports-using.html +[homebrew]: http://brew.sh/ +[terminal]: https://en.wikipedia.org/wiki/List_of_terminal_emulators +[download]: /tr/downloads/ +[installers]: /tr/documentation/installation/#installers +[readme]: https://github.com/ruby/ruby#how-to-compile-and-install +[wsl]: https://docs.microsoft.com/en-us/windows/wsl/about diff --git a/tr/downloads/index.md b/tr/downloads/index.md index 1a56554acf..3f4a271dfa 100644 --- a/tr/downloads/index.md +++ b/tr/downloads/index.md @@ -1,172 +1,101 @@ --- layout: page -title: "Ruby İndirin" +title: "Ruby'yi İndirin" lang: tr --- {% include out-of-date.html %} Burada en son Ruby dağıtımlarını işinize gelen şekliyle bulabilirsiniz. -En son kararlı sürüm {{ site.data.downloads.stable[0] }}, -lütfen önce [Ruby lisansını][license] okuyun. +En son kararlı sürüm {{ site.data.downloads.stable[0] }} sürümüdür. +Lütfen önce [Ruby'nin lisansını][license] okuyun. {: .summary} -### Ruby Kaynak Kodu +### Ruby'yi Kurmanın Yolları -Kaynak kodundan kurmak, platformunuza yeterince hakimseniz ve -ortamınızda özel ayarlar gerekiyorsa uygun çözümdür. Eğer platformunuza -hazır paket bulunmazsa da uygun olacaktır. - -* Ruby {{ site.data.downloads.stable[0] }} - Kararlı Versiyon (*tavsiye edilir*) -* [Stable Snapshot]({{ site.data.downloads.stable_snapshot.url.gz }}) - Bu son kararlı SVN’nin tar gzip hali. Son kararlı - sürümden daha iyi olması beklenir. -* [Nightly Snapshot]({{ site.data.downloads.nightly_snapshot.url.gz }}) - Bu son SVN’nin tar gzip hali. Çözülmemiş problemleri olabilir. - -Ruby Subversion ve Git depoları hakkında bilgi için [Ruby -Core](/en/community/ruby-core/) sayfasına bakınız. - -### Windows’ta Ruby - -Windows için Ruby kurulumunda birkaç seçenek vardır. İlk seçenek -[RubyInstaller][5] kullanmak, derlemiş binary dosyaları içeren bir -kurulum. İkincisi ise paketlenmiş uygulamaların ve binarylerin -kullanılması. Ruby’yi nasıl kuracağınızdan emin değilseniz, ilk seçenek -sizin için daha doğru olacaktır. - -* [Ruby 1.8.6-p398 RubyInstaller][6] - (md5: 233d6b3ddc4c61436b075b51254cd138) Kararlı versiyon (*tavsiye - edilir*) -* [Ruby 1.8.7-p330 RubyInstaller][7] (md5:  - 18d688cfae6e60857cad24da6f9ee055) Kararlı versiyon (*tavsiye edilir*) -* [Ruby 1.9.1-p430 RubyInstaller][8] - (md5: 86ac589a955898c3163b161d81750a05) Kararlı versiyon (*tavsiye - edilir*) -* [Ruby 1.9.2-p136 RubyInstaller][9] (md5:  - 8e8843963dae29a98ce3e2ba2ee111f1) Kararlı versiyon (*tavsiye edilir*) -* [Ruby 1.8.7-p249 Binary][10] (md5: 4fd37b0b4b21a042cae7f5f0a8daad16) - Kararlı versiyon -* [Ruby 1.9.1-p378 Binary][11] (md5: 7d14a918cc8d243d3e2c409aff41f454) - Kararlı versiyon - -Lütfen dikkat edin yukarda belirtilen binaryler indirilip elle -yüklenmesi gereken ve ek parçaları ayrıca yüklenmesi gereken -dosyalardır. Detaylarını [bu sayfada][12] bulabilirsiniz. Lütfen bir -hata bildirmeden önce bu adımları yerine getirdiğinizden emin olun. - -[RubyInstaller][5] ek işlemler takip etmeyi gerektirmez. - -Lütfen ayrıca [pik][13] kullanımını da inceleyin. Bununla Windows’ta -aynı anda değişik versiyonları ve gemleri kullanmak mümkündür. - -### Linux’da Ruby - -Kullandığınız dağıtıma bağlı olarak Ruby’yi kurmanın değişik yolları -vardır. İlki kolay bir şekilde kaynak dosyalarını indirin ve derleyin. -Bunun dışında bazı dağıtımlarda Ruby’yi çok kolay şekilde kurmak için -paket yöneticileri vardır. - -Örneğin Debian’da ya da Ubuntu’da `apt-get` harika bir çözüm sunar: - -{% highlight sh %} -$ sudo apt-get install ruby1.9.1-full -{% endhighlight %} +Her ana platform üstünde Ruby'yi kurmak için birkaç araç vardır: -Yukarıdaki komut Ruby 1.9.1’in şu andaki kararlı sürümünü kuracaktır. -Eğer Ruby 1.8 versiyon kurmak isterseniz şunu kullanabilirsiniz: +* Linux/UNIX'te dağıtımınızın paket yönetim sistemini ya da + üçüncü taraf araçları ([rbenv][rbenv] ve [RVM][rvm]) kullanabilirsiniz. +* macOS makinelerinde üçüncü taraf araçları ([rbenv][rbenv] ve [RVM][rvm]) kullanabilirsiniz. +* Windows makinelerinde [RubyInstaller][rubyinstaller]'ı kullanabilirsiniz. -{% highlight sh %} -$ sudo apt-get install ruby-full -{% endhighlight %} +Paket yönetim sistemleri ya da üçüncü taraf araçları kullanma hakkındaki +ayrıntılar için [Kurulum][installation] sayfasına bakın. -irb ve rdoc için “universe repository” aktif edilmelidir. +Tabii ki, ayrıca tüm ana platformlar üzerinde Ruby'yi kaynaktan da kurabilirsiniz. -Lütfen ayrıca `rvm` ‘i de inceleyin , [Ruby Version Manager][14] , ile -aynı anda birkaç versiyon Ruby ve gemleri kullanabilirsiniz. +### Ruby'yi Derlemek — Kaynak Kod -### macOS’de Ruby - -Ruby 1.8.6 Mac OS X Leopard’da Ruby on Rails, Capistrno, Mongrel ve -birçok popüler gem’i de kapsayacak şekilde tam desteklenir. Ayrıntı için -[MacOS Forge’daki Ruby wiki][15] ye bakınız. - -Mac OS X Tiger 1.8.2 versiyon Ruby ile paketlenmiştir, ama Leopard’a -yükseltilmemişler için de Ruby son versiyonu yüklemek için yollar -vardır. [Locomotive][16] eğer çok hızla Rails geliştirmeye başlamak -isterseniz güzel bir seçim. [MacPorts][17] veya [Fink][18] daha teknik -kişiler için daha güzel gelebilir. - -MacPorts’da, Ruby’yi kurmak için… - -{% highlight sh %} -$ port install ruby -{% endhighlight %} - -Fink (Fink Commander kullanarak) Ruby kurulumu için bir grafik arabirime -sahiptir. - -Ayrıca macOS, Unix temelli olduğu için, kaynak kodu indirip derlemek te -diğer çözümler kadar etkili olacaktır. - -Ruby (ve Rails) in kurulumuna detaylı bakış için Dan Benjamin’in [Tiger -için][19], [Leopard için][20] ve [Snow Leopard için][21] emsalsiz -makaleleri sizin çok çabuk ilerlemenizi sağlayacaktır. - -### Solaris ve OpenSolaris’de Ruby - -Ruby 1.8.7 Solaris 8’den Solaris 10’a kadar [Sunfreeware][22] -kurulabilir ve Ruby 1.8.7 [Blastwave][23] ‘da bulunabilir. Solaris 10 -için ayarlanmış bir Ruby on Rails paketi Sun’ın Cooltools projesinde -bulunabilir [Coolstack][24]. - -[OpenSolaris][25] ‘te Ruby kurmak için, lütfen [Image Packaging System -veya IPS][26] client kullanın. Bu en son binary ve gem’leri direk olarak -OpenSolaris depolarından indirecektir. Şunu yazın: - -{% highlight sh %} -$ pfexec pkg install SUNWruby18 -{% endhighlight %} - -Bu Ruby, Rubygems, ortak eklentiler ve onların destek kütüphanelerini -kuracaktır. Bu paket ayrıca DTrace desteği ve performans -optimizasyonları da içerir. Birçok değişik eserler [Ruby OpenSolaris ARC -Case][27] ‘de anlatılmıştır. +Kaynak kodundan kurmak, platformunuza yeterince hakimseniz ve +ortamınızda özel ayarlar gerekiyorsa uygun çözümdür. Bu çözüm ayrıca +eğer platformunuz için hazır paketler yoksa da uygun olacaktır. + +Ruby'yi kaynaktan derleme hakkındaki ayrıntılar için [Kurulum][installation] +sayfasına bakın. Ruby'yi derlerken bir sorunla karşılaşıyorsanız, +yukarıda bahsedilen üçüncü taraf araçlardan birini kullanmayı düşünün. +Bunlar size yardımcı olabilir. + +* **Kararlı sürümler:** + {% for version in site.data.downloads.stable %} + {% assign release = site.data.releases | where: "version", version | first %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }} + {% endfor %} + +{% if site.data.downloads.preview %} +* **Önizleme sürümleri:** + {% for version in site.data.downloads.preview %} + {% assign release = site.data.releases | where: "version", version | first %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }} + {% endfor %} +{% endif %} + +{% if site.data.downloads.security_maintenance %} +* **Güvenlik sürdürmesi sürecinde (yakında hayatının sonuna gelecek!):** + {% for version in site.data.downloads.security_maintenance %} + {% assign release = site.data.releases | where: "version", version | first %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }} + {% endfor %} +{% endif %} + +{% if site.data.downloads.eol %} +* **Artık sürdürülmüyor (Hayatının sonuna gelmiş):** + {% for version in site.data.downloads.eol %} + {% assign release = site.data.releases | where: "version", version | first %} + * [Ruby {{ release.version }}]({{ release.url.gz }})
+ sha256: {{ release.sha256.gz }} + {% endfor %} +{% endif %} + +* **Anlıklar:** + * [Kararlı Anlık]({{ site.data.downloads.stable_snapshot.url.gz }}): + Bu, şu anki kararlı dalın son anlığının bir tar arşividir. + [Gecelik Anlık]({{ site.data.downloads.nightly_snapshot.url.gz }}): + Bu, SVN'de her ne varsa onun bir tar arşividir, gecelik olarak yapılır. + Bu, hata ve başka sorunlar içerebilir, sorumluluğunu alarak kullanın! + +Belirli sürümler, özellikle daha eski sürümler ya da önizlemeler, +hakkında daha fazla bilgi için, [Sürümler sayfası][releases]na bakın. +Çeşitli Ruby dallarının şu anki sürdürme durumları hakkında bilgi +[Dallar sayfası][branches]nda bulunabilir. -Diğer OpenSolaris dağıtımı [Solaris Express Community Edition veya -SXCE][28] üzerinde Ruby kurulu olarak gelir. Versiyonu, yeri vs. -OpenSolaris’le aynıdır ve yukarda bahsedilen ARC Case’de dökümanı -bulunabilir. +Ruby Subversion ve Git depoları hakkında bilgi için [Ruby +Core](/en/community/ruby-core/) sayfasına bakın. -SVR4 paketlerini elle yüklemek için lütfen [RubyOpenSolaris project @ -Rubyforge][29] adresini inceleyin. +Ruby kaynağı tüm dünyaya yayılmış [Yansı Siteleri][mirrors]nden +ulaşılabilirdir. +Lütfen yakınınızdaki bir yansıyı kullanmaya çalışın. [license]: {{ site.license.url }} -[5]: https://rubyinstaller.org/ -[6]: http://rubyforge.org/frs/download.php/71066/rubyinstaller-1.8.6-p398.exe -[7]: http://rubyforge.org/frs/download.php/73719/rubyinstaller-1.8.7-p330.exe -[8]: http://rubyforge.org/frs/download.php/72075/rubyinstaller-1.9.1-p430.exe -[9]: http://rubyforge.org/frs/download.php/73722/rubyinstaller-1.9.2-p136.exe -[10]: https://cache.ruby-lang.org/pub/ruby/binaries/mswin32/ruby-1.8.7-p249-i386-mswin32.zip -[11]: https://cache.ruby-lang.org:21/pub/ruby/binaries/mswin32/ruby-1.9.1-p378-i386-mswin32.zip -[12]: http://www.garbagecollect.jp/ruby/mswin32/en/documents/install.html -[13]: https://github.com/vertiginous/pik -[14]: http://rvm.beginrescueend.com -[15]: http://trac.macosforge.org/projects/ruby/wiki -[16]: http://locomotive.raaum.org/ -[17]: http://www.macports.org/ -[18]: http://fink.sourceforge.net/ -[19]: http://hivelogic.com/articles/ruby-rails-mongrel-mysql-osx -[20]: http://hivelogic.com/articles/ruby-rails-leopard -[21]: http://hivelogic.com/articles/compiling-ruby-rubygems-and-rails-on-snow-leopard/ -[22]: http://www.sunfreeware.com -[23]: http://www.blastwave.org -[24]: http://cooltools.sunsource.net/coolstack -[25]: http://www.opensolaris.org -[26]: http://opensolaris.org/os/project/pkg/ -[27]: http://jp.opensolaris.org/os/community/arc/caselog/2007/600/ -[28]: http://opensolaris.org/os/downloads -[29]: http://rubyforge.org/projects/rubyopensolaris +[installation]: /tr/documentation/installation/ +[releases]: /en/downloads/releases/ +[branches]: /en/downloads/branches/ +[mirrors]: /en/downloads/mirrors/ +[rvm]: http://rvm.io/ +[rbenv]: https://github.com/rbenv/rbenv +[rubyinstaller]: https://rubyinstaller.org/ diff --git a/tr/examples/cities.md b/tr/examples/cities.md index 8629b2c2b1..d86d413ce1 100644 --- a/tr/examples/cities.md +++ b/tr/examples/cities.md @@ -4,19 +4,19 @@ layout: null {% highlight ruby %} # Tüm bir Array üzerinde -# matematik işlem yapmak +# matematik işlemi yapmak # isteseniz dahi # Ruby ne istediğinizi # hemen anlar -cities = %w[ London - Oslo - Paris - Amsterdam - Berlin ] +cities = %w[ London + Oslo + Paris + Amsterdam + Berlin ] visited = %w[Berlin Oslo] -puts "Halihazırda " + - "şu şehirleri " + - "ziyaret etmedim:", +puts "I still need " + + "to visit the " + + "following cities:", cities - visited {% endhighlight %} diff --git a/tr/examples/greeter.md b/tr/examples/greeter.md index 42040dd902..d4ac8a9808 100644 --- a/tr/examples/greeter.md +++ b/tr/examples/greeter.md @@ -3,20 +3,20 @@ layout: null --- {% highlight ruby %} -# Selamlama sınıfı +# Greeter sınıfı class Greeter - def initialize(isim) - @isim = isim.capitalize + def initialize(name) + @name = name.capitalize end def salute - puts "Merhaba #{@isim}!" + puts "Hello #{@name}!" end end -# Yeni bir obje üretin -g = Greeter.new("Dünya!") +# Yeni bir nesne üret +g = Greeter.new("world") -# Çıktı "Merhaba Dünya!" +# Çıktı "Hello World!" g.salute {% endhighlight %} diff --git a/tr/examples/hello_world.md b/tr/examples/hello_world.md index d712d44cb3..7a9155da47 100644 --- a/tr/examples/hello_world.md +++ b/tr/examples/hello_world.md @@ -7,9 +7,9 @@ layout: null # programı Ruby'de çok # basit. Şunlar gereksiz: # -# * bir "main" metodu -# * yeni satır bildirimi -# * noktalı virgüller +# * Bir "main" metodu +# * Yeni satır +# * Noktalı virgüller # # İşte kodumuz: diff --git a/tr/index.html b/tr/index.html index 2d793f2ea0..c4852a0068 100644 --- a/tr/index.html +++ b/tr/index.html @@ -20,7 +20,19 @@

Ruby...

veya Devamını Okuyun... -
+
--- diff --git a/tr/news/_posts/2018-12-25-ruby-2-6-0-released.md b/tr/news/_posts/2018-12-25-ruby-2-6-0-released.md new file mode 100644 index 0000000000..e1846909b1 --- /dev/null +++ b/tr/news/_posts/2018-12-25-ruby-2-6-0-released.md @@ -0,0 +1,194 @@ +--- +layout: news_post +title: "Ruby 2.6.0 Yayınlandı" +author: "naruse" +translator: "İsmail Arılık" +date: 2018-12-25 00:00:00 +0000 +lang: tr +--- + +Ruby 2.6.0'ın sürümünü duyurmaktan memnuniyet duyarız. + +Bu sürüm birkaç yeni özellik ve performans artışı getirmektedir, en önemlileri: + + * Yeni bir JIT derleyicisi. + * `RubyVM::AbstractSyntaxTree` modülü. + +## JIT [Deneysel] + +Ruby 2.6 bir JIT (Just-In-Time) derleyicisinin ilk uygulamasını barındırmaktadır. + +JIT derleyicisi, Ruby programlarının performansını iyileştirmeyi amaçlamaktadır. +İşlem içinde çalışan geleneksel JIT derleyicilerinin aksine, Ruby'nin JIT derleyicisi, C kodunu diske yazar ve yerel kod oluşturmak için yaygın bir C derleyicisini ortaya çıkarır. +Bununla ilgili daha fazla ayrıntı için, [Vladimir Makarov'un MJIT organizasyonu](https://bugs.ruby-lang.org/projects/ruby/wiki/MJIT#MJIT-organization)na bakın. + +JIT derleyicisini etkinleştirmek için, komut satırında ya da `$RUBYOPT` çevre değişkeninde `--jit`'i belirtin. +`--jit-verbose=1`'i belirtmek, JIT derleyicisinin ek bilgileri yazdırmasına neden olacaktır. +Diğer seçenekler için `ruby --help`'in çıktısını ya da [belgelendirme](https://bugs.ruby-lang.org/projects/ruby/wiki/MJIT#Basic-usage)yi okuyun. + +JIT derleyicisi, Ruby, çalışma zamanında var olması gereken GCC, Clang, ya da Microsoft VC++ ile inşa edildiğinde desteklenir. + +Ruby 2.6.0 itibariyle, [Optcarrot](https://github.com/mame/optcarrot) isimli CPU yoğunluklu, basit olmayan bir kıyaslamada Ruby 2.5'e göre [1.7 kat hızlı performans](https://gist.github.com/k0kubun/d7f54d96f8e501bbbc78b927640f4208) başardık. +Fakat, bu hala deneysel ve şu anda Rails uygulamaları gibi birçok diğer hafıza yoğunluklu iş yükleri bundan faydalanamayabilir. +Daha fazla ayrıntı için, [Ruby 2.6 JIT - İlerleme ve Gelecek](https://medium.com/@k0kubun/ruby-2-6-jit-progress-and-future-84e0a830ecbf)'e bakın. + +Ruby'nin performansının yeni çağı için takipte kalın. + +## `RubyVM::AbstractSyntaxTree` [Deneysel] + +Ruby 2.6 `RubyVM::AbstractSyntaxTree` modülünü tanıtır. +**Bu modülün gelecek uyumlulukları garanti değildir**. + +Bu modül bir `parse` metoduna sahiptir, bu metod verilen karakter dizisini Ruby kodu olarak ayrıştırır ve kodun AST (Abstract Syntax Tree) düğümlerini döndürür. +`parse_file` metodu verilen dosyayı Ruby kodu olarak açar ve ayrıştırır ve AST düğümlerini döndürür. + +`RubyVM::AbstractSyntaxTree::Node` sınıfı ayrıca tanıtılır. +`Node` nesnelerinden kaynak konumu ve çocuk düğümlerini alabilirsiniz. +Bu özellik deneyseldir. + +## Dikkate Değer Diğer Yeni Özellikler + +* `#then` isminde `Kernel#yield_self` için bir takma ad eklenmesi. + [[Özellik #14594]](https://bugs.ruby-lang.org/issues/14594) + +* Sabit isimleri ASCII olmayan bir büyük harf ile başlayabilir. + [[Özellik #13770]](https://bugs.ruby-lang.org/issues/13770) + +* Sonsuz aralıkların tanıtılması. + [[Özellik #12912]](https://bugs.ruby-lang.org/issues/12912) + + Bir sonsuz aralık, `(1..)`, sonu yokmuş gibi çalışır. + İşte bazı tipik kullanım durumları: + + ary[1..] # sihirli -1 olmadan ary[1..-1] ile aynıdır + (1..).each {|index| ... } # 1 dizininden başlayarak değerleri numaralandırır + ary.zip(1..) {|elem, index| ... } # ary.each.with_index(1) { ... } + +* `Enumerable#chain` ve `Enumerator#+`'yı ekle. + [[Özellik #15144]](https://bugs.ruby-lang.org/issues/15144) + +* `Proc` ve `Method`'a `<<` ve `>>` fonksiyon birleştirme operatörlerini ekle. + [[Özellik #6284]](https://bugs.ruby-lang.org/issues/6284) + + f = proc{|x| x + 2} + g = proc{|x| x * 3} + (f << g).call(3) # -> 11; f(g(3)) ile aynıdır + (f >> g).call(3) # -> 15; g(f(3)) ile aynıdır + +* `Binding#source_location`'ı ekle. + [[Özellik #14230]](https://bugs.ruby-lang.org/issues/14230) + + Bu metod bağlayıcının kaynak konumunu döndürür, bu, `__FILE__` ve `__LINE__`'ın 2 öğeli bir dizisidir. + Teknik olarak konuşursak, bu, `eval("[__FILE__, __LINE__]", binding)` ile aynıdır. + Fakat, bu davranışı, `Kernel#eval`'in bağlayıcının kaynak konumunu boşvereceği şekilde değiştirmeyi planlıyoruz [[Hata #4352]](https://bugs.ruby-lang.org/issues/4352). + Yani, `Kernel#eval` yerine `Binding#source_location` kullanılması tavsiye edilir. + +* `Kernel#system`'e bir `exception:` seçeneği eklenmesi, bu özellik başarısızlık durumunda `false` döndürülmesi yerine bir istisna yükseltilmesine neden olur. + [[Özellik #14386]](https://bugs.ruby-lang.org/issues/14386) + +* `Coverage`'a bir tek atış modu eklenmesi. + [[Özellik#15022]](https://bugs.ruby-lang.org/issues/15022) + + * Bu mod, "her satırın kaç kere çalıştığı" yerine "her satırın en az bir kere çalışıp çalışmadığını" kontrol eder. + Her satır için bir kanca sadece bir kez ateşlenir, ve bu ateşlendiği zaman, kanca bayrağı silinecektir, yani bu kanca sıfır ek yük ile çalışır. + * `Coverage.start`'a `oneshot_lines:` anahtar kelime argümanı eklenmesi. + * `Coverage.result`'a `stop:` ve `clear:` anahtar kelime argümanları eklenmesi. + Eğer `clear` doğruysa, sayıcılar sıfır olarak ayarlanır. + Eğer `stop` doğruysa, kapsama ölçümü devre dışı bırakılır. + * `Coverage.line_stub`, verilen bir kaynak koddan satır kapsamasının "stub"ını oluşturan basit bir yardımcı fonksiyondur. + +* `FileUtils#cp_lr`'nin eklenmesi. + Bu, aynı `cp_r` gibi çalışır fakat kopyalama yerine bağlar. + [[Özellik #4189]](https://bugs.ruby-lang.org/issues/4189) + +## Performans iyileştirmeleri + +* `$SAFE` için olan geçici yer ayrımı kaldırılarak `Proc#call`'un hızlandırılması. + [[Özellik #14318]](https://bugs.ruby-lang.org/issues/14318) + + `Proc#call`'u sayısız kere çağıran `lc_fizzbuzz` kıyaslamasında 1.4 kat performans iyileştirmesi gözlemledik. + [[Hata #10212]](https://bugs.ruby-lang.org/issues/10212) + +* `block` bir blok parametresi olarak geçirildiğinde `block.call`'un hızlandırılması. + [[Özellik #14330]](https://bugs.ruby-lang.org/issues/14330) + + Ruby 2.5'te tanıtılan blok ele alımı etrafındaki iyileştirmelerle birleştirince, blok değerlendirmesi şimdi Ruby 2.6'daki bir küçük kıyaslamada 2.6 kat daha hızlı yapılır. + [[Özellik #14045]](https://bugs.ruby-lang.org/issues/14045) + +* Geçici yığın (`theap`) tanıtılır. + [[Hata #14858]](https://bugs.ruby-lang.org/issues/14858) + [[Özellik #14989]](https://bugs.ruby-lang.org/issues/14989) + + `theap`, belirli sınıflar (`Array`, `Hash`, `Object`, ve `Struct`) tarafından işaret edilen kısa yaşayan hafıza nesneleri için yönetilen bir yığındır. + Küçük ve kısa yaşayan Hash nesneleri yapmak 2 kat hızlıdır. + rdoc kıyaslaması ile %6-7 performans artışı gözlemledik. + +* Fiber'in bağlam değiştirme performansını dikkate değer bir şekilde iyileştirmek için eşyordamların yerel gerçeklemeleri (`arm32`, `arm64`, `ppc64le`, `win32`, `win64`, `x86`, `amd64`) yapıldı. + [[Özellik #14739]](https://bugs.ruby-lang.org/issues/14739) + + 64-bit Linux'te `Fiber.yield` ve `Fiber#resume` yaklaşık olarak 5 kat daha hızlıdır. + Fiber yoğunluklu programlar tümünde %5'e kadar iyileşme bekleyebilir. + +## 2.5'ten beri diğer dikkate değer değişiklikler + +* `$SAFE` şimdi bir işlem evrensel durumu ve `0`'a geri ayarlanabilir. + [[Özellik #14250]](https://bugs.ruby-lang.org/issues/14250) + +* `ERB.new`'e `safe_level` geçirmek kullanımdan kaldırıldı. + `trim_mode` and `eoutvar` argümanları anahtar kelime argümanlarına çevrildi. + [[Özellik #14256]](https://bugs.ruby-lang.org/issues/14256) + +* Unicode desteği sürüm 11'e güncellendi. + Ruby 2.6'nın gelecek UFACIK bir sürümünde Unicode sürümü 12 ve 12.1 için destek ekleme planlarımız var. + Bu, [yeni Japon dönemi](http://blog.unicode.org/2018/09/new-japanese-era.html) için destek içerecek. + +* RubyGems 3.0.1'i birleştir. + `--ri` ve `--rdoc` seçenekleri silindi. + Lütfen bunlar yerine `--document` ve `--no-document` seçeneklerini kullanın. + +* [Bundler](https://github.com/bundler/bundler) şimdi varsayılan bir gem olarak kuruluyor. + +* İstisna işleme bloklarında, `rescue` olmadan `else` şimdi bir sözdizimi hatasına neden oluyor. + [DENEYSEL][[Özellik #14606]](https://bugs.ruby-lang.org/issues/14606) + +Daha fazla ayrıntı için [NEWS](https://github.com/ruby/ruby/blob/v2_6_0/NEWS)'e ya da [işleme logları](https://github.com/ruby/ruby/compare/v2_5_0...v2_6_0)na bakın. + +Bu değişiklikler ile, Ruby 2.5.0'dan beri [6437 dosya değişti, 231471 ekleme yapıldı(+), 98498 silme yapıldı(-)](https://github.com/ruby/ruby/compare/v2_5_0...v2_6_0)! + +Mutlu Noeller, Mutlu Tatiller, ve Ruby 2.6 ile programlamanın keyfini çıkarın! + +## Bilinen Problem + +_(Bu bölüm 28 Ocak 2019'da eklendi.)_ + +* [Büyük çok baytlı karakter dizileri gönderirken Net::Protocol::BufferedIO#write, NoMethodError yükseltiyor](https://github.com/ruby/ruby/pull/2058) + +## İndirin + +* + + BOYUT: 16687800 bytes + SHA1: c95f4e86e21390270dad3ebb94491fd42ee2ce69 + SHA256: f3c35b924a11c88ff111f0956ded3cdc12c90c04b72b266ac61076d3697fc072 + SHA512: 01f886b0c0782a06315c4a46414e9f2b66ee634ba4349c8e0697f511793ae3c56d2ad3cad6563f2b0fdcedf0ff3eba51b9afab907e7e1ac243475772f8688382 + +* + + BOYUT: 20582054 bytes + SHA1: a804e63d18da12107e1d101918a3d8f4c5462a27 + SHA256: 8a4fb6ca58202495c9682cb88effd804398bd0ef023e3e36f001ca88d8b5855a + SHA512: 16d66ec4a2c6a2e928d5b50e094a5efa481ac6e4d5ed77459d351ef19fe692aa59b68307e3e25229eec5f30ae2f9adae2663bafe9c9d44bfb45d3833d77839d4 + +* + + BOYUT: 14585856 bytes + SHA1: b8638eb806efbf7b6af87b24ccc6ad915f262318 + SHA256: c89ca663ad9a6238f4b1ec4d04c7dff630560c6e6eca6d30857c4d394f01a599 + SHA512: ca3daf9acf11d3db2900af21b66231bd1f025427a9d2212b35f6137ca03f77f57171ddfdb99022c8c8bcd730ff92a7a4af54e8a2a770a67d8e16c5807aa391f1 + +* + + BOYUT: 11918536 bytes + SHA1: 9ddaeba3505d2855460c8c653159fc0ac8928c0f + SHA256: acb00f04374899ba8ee74bbbcb9b35c5c6b1fd229f1876554ee76f0f1710ff5f + SHA512: c56eaf85ef7b79deb34ee4590b143c07f4fc83eb79775290761aee5a7c63374659613538a41f25706ed6e19e49d5c67a1014c24d17f29948294c7abd0b0fcea8 diff --git a/tr/news/_posts/2019-01-30-ruby-2-6-1-released.md b/tr/news/_posts/2019-01-30-ruby-2-6-1-released.md new file mode 100644 index 0000000000..934a4e2fad --- /dev/null +++ b/tr/news/_posts/2019-01-30-ruby-2-6-1-released.md @@ -0,0 +1,52 @@ +--- +layout: news_post +title: "Ruby 2.6.1 Yayınlandı" +author: "naruse" +translator: "İsmail Arılık" +date: 2019-01-30 00:00:00 +0000 +lang: tr +--- + +Ruby 2.6.1 yayınlandı. + +## Değişiklikler + +* [Net::Protocol::BufferedIO#write, büyük çok baytlı karakter dizisi gönderirken NoMethodError yükseltiyor](https://bugs.ruby-lang.org/issues/15468) düzeltildi. + +Bu sürüm ek hata düzeltmeleri içerir. +Daha fazla ayrıntı için [işleme logları](https://github.com/ruby/ruby/compare/v2_6_0...v2_6_1)na bakın. + +## İndirin + +* + + BOYUT: 16742207 bytes + SHA1: 416842bb5b4ca655610df1f0389b6e21d25154f8 + SHA256: 17024fb7bb203d9cf7a5a42c78ff6ce77140f9d083676044a7db67f1e5191cb8 + SHA512: 89e016e60f107fa40da251bc9659584ee3191caee726b5c6818ecbe109f825c553041a5dfda7e6d2889fcf587e63fb5d9fbe6cbdbdc4572e1123c302f0f1b881 + +* + + BOYUT: 20595342 bytes + SHA1: 6fd14990dc411eb58852324d45b29f84d580644d + SHA256: ed1537f49d333a809900c1f49ad16c4c06224ebbf5c744cb7b9104ab2a385366 + SHA512: 8a092486ecefac5bd734897562257a576112e59d90026d0b2ada10aa0b7e0fa86ed1cd803c6254eaa21b19ba36502d9ac268eae6f5714a6eca01904117ab0da6 + +* + + BOYUT: 14561930 bytes + SHA1: d4c92d9b0057473238df2fd4792454b43976fda3 + SHA256: 82c9402920eac9ce777beb3f34eeadc2a3f3ce80f25004bbf54b5ed1280ba099 + SHA512: fc41429491935b89532733b95476ab9f8a4efc310aad8f4c2bd3b68fba08fd7b6e9ac84c6c88ca892022d1ba76435295f3299ea466f9b5453c07d41cb539af59 + +* + + BOYUT: 11872964 bytes + SHA1: ba5f4338bb642e3836dd80b73a9df0d1b6e079ae + SHA256: 47b629808e9fd44ce1f760cdf3ed14875fc9b19d4f334e82e2cf25cb2898f2f2 + SHA512: fb36289a955f0596c683cdadf1e4a9a9fd35222b1e1c6160c2e7cd82e5befd40a7aa4361e55f7a8f83c06ee899ec493821c7db34a60c4ac3bca0e874d33ef1a9 + +## Sürüm Yorumu + +Hata bildirileri sunan birçok işleyici, geliştirici, ve kullanıcı bu sürümü yapmamıza yardım etti. +Katkıları için teşekkür ederiz. diff --git a/tr/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md b/tr/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md new file mode 100644 index 0000000000..be8a44a88f --- /dev/null +++ b/tr/news/_posts/2019-03-05-multiple-vulnerabilities-in-rubygems.md @@ -0,0 +1,60 @@ +--- +layout: news_post +title: "RubyGems'te birçok güvenlik açığı" +author: "hsbt" +translator: "İsmail Arılık" +date: 2019-03-05 00:00:00 +0000 +tags: security +lang: tr +--- + +Ruby ile paketlenmiş RubyGems'te birçok güvenlik açığı var. +Bunlar [RubyGems'in resmi günlüğünde bildirilmiştir](http://blog.rubygems.org/2019/03/05/security-advisories-2019-03.html). + +## Ayrıntılar + +Aşağıdaki güvenlik açıkları bildirilmiştir. + +* CVE-2019-8320: Tar'ı çıkarırken simgesel bağlantı kullanarak dizini silme +* CVE-2019-8321: `verbose`'ta kaçış dizisi enjeksiyonu güvenlik açığı +* CVE-2019-8322: `gem owner`'da kaçış dizisi enjeksiyonu güvenlik açığı +* CVE-2019-8323: API yanıtı ele alımında kaçış dizisi enjeksiyonu güvenlik açığı +* CVE-2019-8324: Kötü niyetli bir gem kurmak keyfi kod çalıştırımına öncülük edebilir +* CVE-2019-8325: Hatalarda kaçış dizisi enjeksiyonu güvenlik açığı + +Ruby kullanıcılarına, en kısa zamanda Ruby kurulumlarını yükseltmeleri ya da aşağıdaki geçici çözümlerden birini kullanmaları şiddetle tavsiye edilir. + +## Etkilenen Sürümler + +* Ruby 2.3 serisi: tümü +* Ruby 2.4 serisi: 2.4.5 ve öncesi +* Ruby 2.5 serisi: 2.5.3 ve öncesi +* Ruby 2.6 serisi: 2.6.1 ve öncesi +* 67168 trunk revizyonundan öncekisi + +## Geçici Çözümler + +Kural olarak, Ruby kurulumunuzu son sürüme yükseltmelisiniz. +RubyGems 3.0.3 veya sonrası, güvenlik açıkları için düzeltmeyi içerir, yani eğer Ruby'nin kendisini yükseltemiyorsanız RubyGems'i son sürüme yükseltin. + +``` +gem update --system +``` + +Eğer RubyGems'i yükseltemiyorsanız, geçici çözüm olarak aşağıdaki yamaları uygulayabilirsiniz. + +* [Ruby 2.4.5 için](https://bugs.ruby-lang.org/attachments/7669) +* [Ruby 2.5.3 için](https://bugs.ruby-lang.org/attachments/7670) +* [Ruby 2.6.1 için](https://bugs.ruby-lang.org/attachments/7671) + +Ruby trunk'a gelince, son revizyon'a güncelleyin. + +## Jenerik + +Bu bildiri [RubyGems'in resmi günlüğü](http://blog.rubygems.org/2019/03/05/security-advisories-2019-03.html)ne dayalıdır. + +## Geçmiş + +* Aslen 2019-03-05 00:00:00 UTC tarihinde yayınlanmıştır. +* Güncellenmiş yamalara bağlantı 2019-03-06 05:26:27 UTC tarihinde verilmiştir. +* Ruby'nin kendisini yükseltmeden 2019-04-01 06:00:00 UTC tarihinde bahsedilmiştir. diff --git a/tr/news/_posts/2019-03-13-ruby-2-5-4-released.md b/tr/news/_posts/2019-03-13-ruby-2-5-4-released.md new file mode 100644 index 0000000000..393cf26586 --- /dev/null +++ b/tr/news/_posts/2019-03-13-ruby-2-5-4-released.md @@ -0,0 +1,48 @@ +--- +layout: news_post +title: "Ruby 2.5.4 Yayınlandı" +author: "nagachika" +translator: "İsmail Arılık" +date: 2019-03-13 11:30:00 +0000 +lang: tr +--- + +Ruby 2.5.4 yayınlandı. + +Bu sürüm, paketlenmiş RubyGems'in hata düzeltmeleri ve bir güvenlik güncellemesini içerir. +Ayrıntılara [RubyGems'te birçok güvenlik açığı](/tr/news/2019/03/05/multiple-vulnerabilities-in-rubygems/) ve [işleme logları](https://github.com/ruby/ruby/compare/v2_5_3...v2_5_4)ndan bakın. + +## İndirin + +* + + BOYUT: 14167366 bytes + SHA1: ac3248a055b5317cec53d3f922559c5b4a67d410 + SHA256: 8a16566207b2334a6904a10a1f093befc3aaf9b2e6cf01c62b1c4ac15cb7d8fc + SHA512: 3c4f54f38ee50914a44d07e4fd299e53dddd045f2d38da2140586b8a9c45d1172fec2ad5b0411c228a9b31f5e161214820903a65b98caf3b0dfeeaabf2cab6ad + +* + + BOYUT: 15995815 bytes + SHA1: 330bb5472f565b683c7f8c9091d4ee0cc155b51b + SHA256: 0e4042bce749352dfcf1b9e3013ba7c078b728f51f8adaf6470ce37675e3cb1f + SHA512: 6e58006c30d8ae561967e051ec0a34f34f899eee1b039abb65c9a63dc65965e210d238fff19fa7c7411893df25dfc40426887a195993153fb9e09bbf769dfc14 + +* + + BOYUT: 11493016 bytes + SHA1: 221b8538e75a8d04af8b9a09f56343e463bf94f8 + SHA256: 46f6eff655a6be1939f70c7a4c1bf58f76663e7e804738bc52f4d47ca31dee3d + SHA512: e72294e549d09510f20c808d26a0d21ef0ee2616d8598980a42db260d45340e5c259ac65e5478a8b086042ff6ba7d8447a6c8115454ffe977c4f63175ab89062 + +* + + BOYUT: 19186174 bytes + SHA1: 855be9a5a43a1e0621ad2e81c27de9370d2abcc8 + SHA256: 823a6a2c9c7baa18554fd78d430837a01ab33cc16ad1759c9842bdd9523e9cea + SHA512: a83f90514b09c217fbbd154cfc09c804553353a97cbff7df24185b613e1c7be69a965fe9ec925ac3f4bd6170f2c3d0d60be7ea4ab1037ce64300d7443b6e08e8 + +## Sürüm Yorumu + +Hata bildirileri sunan birçok işleyici, geliştirici, ve kullanıcı bu sürümü yapmamıza yardım etti. +Katkıları için teşekkür ederiz. diff --git a/tr/news/_posts/2019-03-13-ruby-2-6-2-released.md b/tr/news/_posts/2019-03-13-ruby-2-6-2-released.md new file mode 100644 index 0000000000..cd84c4f800 --- /dev/null +++ b/tr/news/_posts/2019-03-13-ruby-2-6-2-released.md @@ -0,0 +1,49 @@ +--- +layout: news_post +title: "Ruby 2.6.2 Yayınlandı" +author: "naruse" +translator: "İsmail Arılık" +date: 2019-03-13 11:30:00 +0000 +lang: tr +--- + +Ruby 2.6.2 yayınlandı. + +Bu sürüm, paketlenmiş RubyGems'in hata düzeltmeleri ve bir güvenlik güncellemesini içerir. + +Ayrıntılara [RubyGems'te birçok güvenlik açığı](/tr/news/2019/03/05/multiple-vulnerabilities-in-rubygems/) ve [işleme logları](https://github.com/ruby/ruby/compare/v2_6_1...v2_6_2)ndan bakın. + +## İndirin + +* + + BOYUT: 16777765 bytes + SHA1: 44c6634a41f63ebdc1f3ce6ddcf48a4766bb4df7 + SHA256: a0405d2bf2c2d2f332033b70dff354d224a864ab0edd462b7a413420453b49ab + SHA512: bc96a6793a1e3111598b82b0aad98dc5b465e39cdb5b788c4259818752e028a44545c6489c02c323db0f43a362c26f0900acfba0277d6e2201587d7252f6125f + +* + + BOYUT: 20601169 bytes + SHA1: fce5c289842e6e4c4bc7950214d82c0858086baa + SHA256: 65b862e5c86346d6bda05fc193c6f2cd728ddfd357f4b0a19d54d48a50984d13 + SHA512: 60ccabbca50d51186b6715edcd8e4fa704e8b9159a23f073e8d3aafef3858a98ade416156af94a479d1af5555c4c4b5b71267f0f563a518e5e6112ce9921bb8b + +* + + BOYUT: 14634343 bytes + SHA1: 5839fc6e6568ac4f26a20382bd8fe0d998dffbb0 + SHA256: d126ada7f4147ce1029a80c2a37a0c4bfb37e9e82da8816662241a43faeb8915 + SHA512: cad678d2ced4085e99009e4fef83c067dd0e6ead27a8695bc212c0e5112a7fa09ceb27f82638faf91932ef8bdd090f844e0a878ffdf6845a891da4b858588aa0 + +* + + BOYUT: 11889840 bytes + SHA1: b7b3432519f80ea50adc9bfb937c7a46865a93d5 + SHA256: 91fcde77eea8e6206d775a48ac58450afe4883af1a42e5b358320beb33a445fa + SHA512: 13f7d7b483a037378eac4bf4bebddc21d69f4e19e6bbb397dd53e7518037ae9a3aa5b41fc20bf1fe410803c6efc3a6a65a65af47648d3a93713f75cfe885326a + +## Sürüm Yorumu + +Hata bildirileri sunan birçok işleyici, geliştirici, ve kullanıcı bu sürümü yapmamıza yardım etti. +Katkıları için teşekkür ederiz. diff --git a/tr/news/_posts/2019-03-15-ruby-2-5-5-released.md b/tr/news/_posts/2019-03-15-ruby-2-5-5-released.md new file mode 100644 index 0000000000..1063380dff --- /dev/null +++ b/tr/news/_posts/2019-03-15-ruby-2-5-5-released.md @@ -0,0 +1,49 @@ +--- +layout: news_post +title: "Ruby 2.5.5 Yayınlandı" +author: "nagachika" +translator: "İsmail Arılık" +date: 2019-03-15 02:00:00 +0000 +lang: tr +--- + +Ruby 2.5.5 yayınlandı. + +Bu sürüm, Puma gibi çok iş parçacıklı/çok işlemli uygulamalardaki (çok iş parçacıklı ana işlemlerden `Process.fork`'u kullanan) bir kilitlenme için bir hata düzeltmesi içerir. + +Ayrıntılı değişiklikler için [işleme logları](https://github.com/ruby/ruby/compare/v2_5_4...v2_5_5)na bakın. + +## İndirin + +* + + BOYUT: 14165422 bytes + SHA1: 1932db85ace80ecdbc5cfc7aada5b5123f7ad739 + SHA256: 1f2567a55dad6e50911ce42fcc705cf686924b897f597cabf803d88192024dcb + SHA512: 1b56aa79569b818446440b9f2d13122bf7c2976ab9b2865f5fb62d247d7768dd4ac5b5e463709ffec0f757bff7088afd293c2a8c5349c3780763b6444bb354a8 + +* + + BOYUT: 15996436 bytes + SHA1: e6a063728950762925108abbdbf68968ec1ab5bb + SHA256: 28a945fdf340e6ba04fc890b98648342e3cccfd6d223a48f3810572f11b2514c + SHA512: 82d0ae019c02822668f7e8c7ad7f62170b059ea70a95a7a7cb26f809e2f2f0f5d25b5bb0ca147413ae42cf0fc5bf60329b56609c266556b1e9f04813c33bb4c9 + +* + + BOYUT: 11459832 bytes + SHA1: 85cee62e47f0707808ff3d7cb68b6cd075a65509 + SHA256: 9bf6370aaa82c284f193264cc7ca56f202171c32367deceb3599a4f354175d7d + SHA512: 06b1d58536ebfacb7b56c1e6ed4b8ab816fadc4f48c845a452554cd262e7908199a30e5793f3cbaec2db56a8803aa5c6089abf7bf06c8fc47867e97870b7dfec + +* + + BOYUT: 19186230 bytes + SHA1: c0b2bd2b09b40d098b1295303c820d7dd8d97d38 + SHA256: be630e814c796f3750bd892f1250851e67fc4379f75508a4cb7ca7ceb718ddef + SHA512: 95604d47f3436e0be3a59742a89ac5f1c5c9493ddab8b53b154098b876b2fa12418d2adfc1c71e039a6876d209a7832efd88c0e297df5be56b8f7e92094eb487 + +## Sürüm Yorumu + +Bildirileri ve soruşturmaları için sorah ve k0kubun'a şükranlarımı sunmak isterim. +Teşekkür ederim. diff --git a/tr/news/_posts/2019-03-31-support-of-ruby-2-3-has-ended.md b/tr/news/_posts/2019-03-31-support-of-ruby-2-3-has-ended.md new file mode 100644 index 0000000000..4018a093ed --- /dev/null +++ b/tr/news/_posts/2019-03-31-support-of-ruby-2-3-has-ended.md @@ -0,0 +1,38 @@ +--- +layout: news_post +title: "Ruby 2.3 desteği sona erdi" +author: "antonpaisov" +translator: "İsmail Arılık" +date: 2019-03-31 00:00:00 +0000 +lang: tr +--- + +Ruby 2.3 serisinin tüm desteğinin sona erdiğini duyururuz. + +28 Mart 2018'de Ruby 2.3.7'nin yayınından sonra, Ruby 2.3 serisinin desteği güvenlik sürdürmesi evresindeydi. +Şimdi, bir sene geçtikten sonra, bu evre sona erdi. +Bu sebeple, 31 Mart 2019'da Ruby 2.3 serisinin tüm desteği sona eriyor. +Daha güncel Ruby sürümlerinden güvenlik ve hata düzeltmeleri artık 2.3'e geri taşınmayacak. +2.3'ün herhangi bir yaması da olmayacak. +En kısa zamanda Ruby 2.6 ya da 2.5'e yükseltme yapmanızı şiddetle tavsiye ederiz. + +## Şu anda desteklenen Ruby sürümleri hakkında + +### Ruby 2.6 serisi + +Şu anda normal sürdürme evresinde. +Hata düzeltmelerini geri taşıyacağız ve gerekli oldukça düzeltmelerle birlikte yayınlayacağız. +Ve, eğer ciddi bir güvenlik sorunu bulunursa, bunun için acil bir düzeltme yayınlayacağız. + +### Ruby 2.5 serisi + +Şu anda normal sürdürme evresinde. +Hata düzeltmelerini geri taşıyacağız ve gerekli oldukça düzeltmelerle birlikte yayınlayacağız. +Ve, eğer ciddi bir güvenlik sorunu bulunursa, bunun için acil bir düzeltme yayınlayacağız. + +### Ruby 2.4 serisi + +Şu anda güvenlik sürdürmesi evresinde. +Güvenlik düzeltmeleri dışında asla hiçbir hata düzeltmesini 2.4'e geri taşımayacağız. +Eğer ciddi bir güvenlik sorunu bulunursa, bunun için acil bir düzeltme yayınlayacağız. +Ruby 2.4 serisinin desteğini 31 Mart 2020'de sona erdirmeyi planlıyoruz. diff --git a/tr/news/_posts/2019-04-01-ruby-2-4-6-released.md b/tr/news/_posts/2019-04-01-ruby-2-4-6-released.md new file mode 100644 index 0000000000..7ed9e0a21b --- /dev/null +++ b/tr/news/_posts/2019-04-01-ruby-2-4-6-released.md @@ -0,0 +1,60 @@ +--- +layout: news_post +title: "Ruby 2.4.6 Yayınlandı" +author: "usa" +translator: "İsmail Arılık" +date: 2019-04-01 06:00:00 +0000 +lang: tr +--- + +Ruby 2.4.6 yayınlandı. + +Bu sürüm önceki sürümden sonra 20 hata düzeltmesi içerir, ve ayrıca birkaç güvenlik düzeltmesi içerir. +Ayrıntılar için lütfen aşağıdaki konuları gözden geçirin. + +* [RubyGems'te birçok güvenlik açığı](/tr/news/2019/03/05/multiple-vulnerabilities-in-rubygems/) + +Ayrıntılar için [işleme loguna](https://github.com/ruby/ruby/compare/v2_4_5...v2_4_6) bakın. + +Bu sürümden sonra, Ruby 2.4'ün normal sürdürme evresini sona erdireceğiz, ve güvenlik sürdürme evresine başlayacağız. +Bu, 2.4.6 sürümünden sonra güvenlik düzeltmeleri dışında asla herhangi bir hata düzeltmesini 2.4'e geri taşımayacağımız anlamına geliyor. +Güvenlik bakım aşamasının süresi 1 yıl için planlanmıştır. +Bu dönemin bitişiyle birlikte, Ruby 2.4'ün resmi desteği son bulacaktır. +Bu sebeple, Ruby 2.6 ya da 2.5'e yükseltme için planlama yapmaya başlamanızı öneririz. + +## İndirin + +* + + BOYUT: 12623913 bytes + SHA1: b44b5c6637a69b3b95971b1937ecb583dc1de568 + SHA256: 909f360debed1f22fdcfc9f5335c6eaa0713198db4a6c13bab426f8b89b28b02 + SHA512: 292802984e5cff6d526d817bde08216fe801d255c4cede0646e450f22d4a3a81ae612ec5d193dcc2a888e3e98b2531af845b6b863a2952bcf3fb863f95368bcf + +* + + BOYUT: 15880585 bytes + SHA1: 3bc2d9ab3381887c57e0fb7937dc14e9f419f06c + SHA256: de0dc8097023716099f7c8a6ffc751511b90de7f5694f401b59f2d071db910be + SHA512: 7eb7720961e98e22e4335c38eeead9db96d049ef3ac1da437769b98fee7a10feb092643ce75822a2fe3bd5fd94938417ab5c2de7c6056afe0abf6e4cf03ca282 + +* + + BOYUT: 10005544 bytes + SHA1: 86a4fa22cb3547005ec4bfcf77489a4254226187 + SHA256: 25da31b9815bfa9bba9f9b793c055a40a35c43c6adfb1fdbd81a09099f9b529c + SHA512: eafb2257747f99e2ed262af142e71175b70f7cceaa4d1253b92c8337f075a9a58a2d93b029d75e11a9b124f112a8f0983273b2b30afc147b5cf71a8dbb5fa0ba + +* + + BOYUT: 17469891 bytes + SHA1: 0e55d231c0e119304e077e42923ce6a1c3daa1d1 + SHA256: c5de9f11d4b7608d57139b96f7bc94899bb2fc9dee2e192c8951f6647a9d60f7 + SHA512: cfa779cdb970dfd35dc2a97951310cb3cde1d380b040c283fda6609c591039817a2847ab7174f7a9ee7f7adbb610709b57914bb26e5c015a20d5fe880c569855 + +## Sürüm Yorumu + +Sizi uzun süre beklettiğimiz için üzgünüz. +Bu sürüm için yardım eden herkese teşekkür ederiz. + +Ruby 2.4 sürdürmesi, bu sürüm de dahil, Ruby Derneği'nin “Ruby kararlı sürümü için Anlaşması”na dayalıdır. diff --git a/tr/news/_posts/2019-04-17-ruby-2-6-3-released.md b/tr/news/_posts/2019-04-17-ruby-2-6-3-released.md new file mode 100644 index 0000000000..32c27619f5 --- /dev/null +++ b/tr/news/_posts/2019-04-17-ruby-2-6-3-released.md @@ -0,0 +1,51 @@ +--- +layout: news_post +title: "Ruby 2.6.3 Yayınlandı" +author: "naruse" +translator: "İsmail Arılık" +date: 2019-04-17 00:00:00 +0000 +lang: tr +--- + +Ruby 2.6.3 yayınlandı. + +Bu yayın Yeni Japon Dönemi "令和" (Reiwa) için destek ekler. +Bu yayın Unicode sürümünü 12.1 betaya günceller ([#15195](https://bugs.ruby-lang.org/issues/15195)) ve tarih kütüphanesini günceller ([#15742](https://bugs.ruby-lang.org/issues/15742)). + +Bu yayın ayrıca bazı hata düzeltmeleri içerir. +Ayrıntılar için [işleme loglarına](https://github.com/ruby/ruby/compare/v2_6_2...v2_6_3) bakın. + +## İndirin + +* + + BOYUT: 16784748 bytes + SHA1: 2347ed6ca5490a104ebd5684d2b9b5eefa6cd33c + SHA256: 577fd3795f22b8d91c1d4e6733637b0394d4082db659fccf224c774a2b1c82fb + SHA512: 8503b86da60e38da4f1a1553b2570d4125c1823280e6fb6d07825a0e92dd7b628e13147ebde085702cbf5c5eddfe7fa5a2445996bc29164196a53bc917b02112 + +* + + BOYUT: 20611578 bytes + SHA1: 85e9ffe707fb1c1eb4131c953530bb01105a5948 + SHA256: 5ef6b8e5b5f242d41e4b3d9ab21a40d3f494dfca42b00b25ab8fd3122325fe2d + SHA512: 5c87e1eda0002e95684c08ea4eb55b5ce1941dd6304806117647c0bd44ab0714d50fe3b24c322a4f5978286a5442ceaa2d141ebe7cfe07198e0a0b876af6c004 + +* + + BOYUT: 14509165 bytes + SHA1: aed3bd3c5346b3b85a6b184bb320465d98994fe3 + SHA256: dd638bf42059182c1d04af0d5577131d4ce70b79105231c4cc0a60de77b14f2e + SHA512: c63c3f527bef88922345f4abb4b9ad467117b63f2132e41722ea6b4234cec3446626c3338e673065a06d2894feee92472807c284cbe613a442c8fda234ea7f88 + +* + + BOYUT: 11904360 bytes + SHA1: ee231856cee812cfc67440d643f7451857a760c9 + SHA256: 11a83f85c03d3f0fc9b8a9b6cad1b2674f26c5aaa43ba858d4b0fcc2b54171e1 + SHA512: 959a613f5cf5b3185a1d7a7ba0e1921166b3930f30461b391b1c9fcfe396f56dc3c736123dfc7b4e72c32a97dc5a1eb1fd7f09bcc3793a3c5526f6644ba421c8 + +## Yayın Yorumu + +Hata bildirileri sağlayan birçok işleyici, geliştirici, ve kullanıcı bu yayını yapmakta bize yardım etti. +Katkıları için teşekkür ederiz. diff --git a/tr/news/_posts/2019-04-23-move-to-git-from-svn.md b/tr/news/_posts/2019-04-23-move-to-git-from-svn.md new file mode 100644 index 0000000000..4c265f4578 --- /dev/null +++ b/tr/news/_posts/2019-04-23-move-to-git-from-svn.md @@ -0,0 +1,44 @@ +--- +layout: news_post +title: "Ruby Deposu Subversion'dan Git'e Taşındı" +author: "hsbt" +translator: "İsmail Arılık" +date: 2019-04-23 00:00:00 +0000 +lang: tr +--- + +Bugün, Ruby programlama dilinin standart deposu Subversion'dan Git'e taşındı. + +Yeni depo için web arayüzü [https://git.ruby-lang.org](https://git.ruby-lang.org)'dur, ve cgit tarafından sağlanmaktadır. +Katkıcının işleme hash'ini doğrudan Ruby deposunda tutabiliriz. + +## Geliştirme politikası + +* cgit'te bir konu dalı kullanmıyoruz. +* GitHub deposu sadece bir yansı olarak kalmaya devam edecek. + "Çekme isteğini birleştir" özelliğini kullanmıyoruz. +* ruby_2_4, ruby_2_5, ve ruby_2_6 dalları SVN'i kullanmaya devam edecek. + cgit'te bu dallara herhangi bir şey itmiyoruz. +* ruby_2_7'den başlayarak, kararlı dalları geliştirmek için cgit'i kullanacağız. +* Birleştirme işlemelerini kullanmıyoruz. + +## Özel Teşekkürler + +* k0kubun + + k0kubun yoğun bir şekilde, iş akışlarını yayınlamak ve geri taşımak ile ilgili araç dizilerini geliştirdi ve ayrıca git için kanca betiğini güncelledi. + +* naruse + + naruse, Ruby CI ve Redmine (bugs.ruby-lang.org) için özellik değişikliklerini güncelledi. + +* mame + + mame, slack için işleme bildirim betiği oluşturdu. + +## Gelecek İş + +Hala bazı görevleri tamamlamalıyız. +Eğer Git göçü ile ilgili bir sorun bulursanız, lütfen bunu [https://bugs.ruby-lang.org/issues/14632](https://bugs.ruby-lang.org/issues/14632) konusuna dosyalayın. + +Keyfini çıkarın! diff --git a/zh_tw/news/_posts/2019-04-23-move-to-git-from-svn.md b/zh_tw/news/_posts/2019-04-23-move-to-git-from-svn.md new file mode 100644 index 0000000000..1e6f8523c5 --- /dev/null +++ b/zh_tw/news/_posts/2019-04-23-move-to-git-from-svn.md @@ -0,0 +1,40 @@ +--- +layout: news_post +title: "Ruby 存放區已從 Subversion 移至 Git" +author: "hsbt" +translator: "Vincent Lin" +date: 2019-04-23 00:00:00 +0000 +lang: zh_tw +--- + +今天,Ruby 程式語言的正式存放區(repository)已從 Subversion 移至 Git。 + +新存放區的網頁介面為 [https://git.ruby-lang.org](https://git.ruby-lang.org),由 cgit 產生,我們可以在 Ruby 存放區中直接保存貢獻者的 commit hash 。 + +## 開發政策 + +* 在 cgit 上,我們不使用 Topic 分支。 +* GitHub 存放區將持續保持鏡像,我們不使用「Merge pull request」功能。 +* ruby_2_4、ruby_2_5 和 ruby_2_6 分支仍使用 SVN,在 cgit 上我們將不會推送任何東西給這些分支。 +* 從 ruby_2_7 開始,我們將會使用 cgit 開發穩定分支。 +* 我們不使用合併提交(merge commits)。 + +## 特別感謝 + +* k0kubun + + k0kubun 積極地開發有關發佈與 backport 流程的工具鏈,同時也幫 git 更新了 hook 腳本。 + +* naruse + + naruse 更新了 Ruby CI 和 Redmine 功能更改(bugs.ruby-lang.org)。 + +* mame + + mame 為了 slack 創建了提交通知腳本。 + +## 待辦事項 + +我們仍有一些任務需要完成,如果你在 Git 遷移中發現問題,請在此回報 [https://bugs.ruby-lang.org/issues/14632](https://bugs.ruby-lang.org/issues/14632)。 + +請盡情享受!