【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~

『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0064 号 バックナンバー Rubyist Magazine 0064 号 Rubyist Magazine 0063 号 Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist
前編では1.9の目玉機能を、中編では文法や意味論の改善について紹介しました。 後編である今回は、知っておくとお得な機能を取り上げたいと思います。きっとあなたのRubyライフを快適にするでしょう。 鬼車による正規表現の強化 1.9では正規表現エンジンに鬼車を採用したため、鬼車による拡張機能が利用可能になりました。 名前を使った参照 マッチした部分文字列を、$1や$2のようなインデックス番号ではなく、名前で参照する機能がつきました。 コード1 正規表現のマッチ部分を名前で参照する # (?<foo>...) にマッチした部分を $~[:foo] で参照できる if "Taro Yamada" =~ /^(?<first_name>\w+) (?<last_name>\w+)$/ p $~[:first_name] #=> "Taro" p $~[:last_name] #=> "Yamada"
(2021-8-28追記) この記事の改訂版を書いてみました。改訂版の方が易しい内容になっているので、プログラミング初心者の方はこちらを参考にしてみてください。 はじめに:「引数があるよりは、ない方が良い」? 先日、同僚の西見さん(@mah_lab)がこんな技術ブログを書いていました。 インスタンスメソッドとクラスメソッドはどのようにして使い分けるべきか?(Rubyの場合) 同じ内容を僕だったらどういうふうに書くかな~?と思って、ちょっと書き始めてみたんですが、わかりやすく実践的な説明をするのは意外と難しく、内容も西見さんのブログとほぼ同じになりそうだったので、途中で断念しました。 というわけで、インスタンスメソッドとクラスメソッドの使い分けが未だにあやふやだという方は、ぜひ西見さんのブログを読んでみてください! ・・・なんですが、1点だけ気になる点がありました。 それはインスタンスメソッ
前回は、RVMのインストール、RVMで Rubyをインストールして使う方法を紹介しました。今回は、以下の3つを紹介していきます。 RVMを最新版にアップデートする RVMを使って複数のバージョンのRubyでスクリプトを実行する GemSetsについて RVMを最新版にアップデートする RVMは、Bugfixや機能追加が毎日行なわれている活発なプロジェクトです。開発者の方は、なるべく最新のバージョンを使うことを推奨しています。ここでは、RVMを最新版にする方法をみてみましょう。 "rvm update --head"を使用すると開発リポジトリであるhttp://github.com/wayneeseguin/rvmから最新版を取得します。githubから取得するため、環境にgitがインストールされている必要があります。 % rvm update --head アップデートされたRVMを使うた
第3回Rails2.0で作るRESTfulアプリケーション(後編) 鎌田達哉(かまだたつや) 2008-05-23
Ruby Freaks Lounge 第1回Ruby1.9の新機能ひとめぐり(前編):YARV、Fiber、配列処理の強化 Ruby1.9.1リリース 2009年1月、Ruby1.9.1がリリースされました。Ruby1.9系列初の安定版とされるリリースです。Ruby1.9系列は、従来のRuby1.8系列と比べて、次のような特徴を持っています。 高速化や省メモリ化といった最適化 多言語化をはじめとするさまざまな機能拡張 文法の改良・拡張 その他、気の利いた機能 なかでも、「YARVによる高速化」と「M17N対応(多言語化)」は有名で、聞いたことのある人も多いと思います。 しかしRuby1.9には、他にも様々な改善や新機能が数多くあります。今回執筆を担当する、第1回、第3回、第5回では、あまり知られていない新機能にもスポットをあてつつ、Rubyの新機能を駆け足で紹介したいと思
はじめに: 技術ネタは最近Qiitaに書いています このブログはもともと「技術系ブログ」としてスタートしました。 イメージとしては「技術的な問題に遭遇してググったら引っかかるようなサイト」です。 普段そういうページによく助けられているので、自分もgive&takeの精神で情報発信していこう、と思ったのが動機です。 しかし、去年の夏にQiitaに出会って以来、シンプルな技術的なネタはQiitaに書くようにしています。 理由はQiitaというサービスの方向性がまさに「技術的な問題に遭遇してググったら引っかかるようなサイト」だったことに加え、Qiitaの中の人に出会って「Qiitaにかける情熱」を直接聞いて、僕も応援したいな~と思ったからです。 そんなわけで、このブログが更新されていなくても、ときどきQiitaにポロッとTips的なネタを書いたりするときがあります。 気になる方はQiitaで僕の
Deviseを使ってユーザー認証機能を作ったときに、もうちょっとよくするための方法メモ。Deviseは普通の実装するとログイン後は/にリダイレクトされる。それを別のURLにする方法はここに書いた。 Deviseでログイン後のURLを変える方法 - PILOG では、ログインに必要なページのURLに直接アクセスがあったときはどうするか。流れとしてはこうなるのが望ましい。 ログインが必要なページにアクセスがある ユーザーにログインフォームを見せる ログインが完了したら最初にアクセスしたURLへリダイレクト ログインが必要かどうかはコントローラレベルで制御する。これはまあよくやるやつ。 # application_controller.rb class ApplicationController < ActionController::Base private def sign_in_requi
development: # ひとつめはいつもどおり adapter: mysql2 encoding: utf8 database: database1 username: hoge password: hogehoge host: database1.url port: 3306 pool: 5 timeout: 5000 test: # 略 production: # 略 # ふたつめ database2: adapter: mysql2 encoding: utf8 database: database2 username: fuga password: fugafuga host: database2.url port: 3306 pool: 5 timeout: 5000
Rubyはたのしい言語です。Rubyを触っているとマニュアルにも書いていない「小さな発見」に遭遇することがよくあります。このような「発見」は、プログラムの質や効率の改善には直結しないかもしれません。いや、むしろチームプログラミングでは妨げになる可能性すらあります。しかしその一方で、言語自体が自分の知らない領域を持ち続けていることが、その対象に対する興味を失わせないための大きな要因である、というのもまた疑いのない事実なのです。つまり「発見」はたのしさに直結しているのです。 このブログにおいて「知って得するRubyのトリビアな記法」というタイトルで、今まで3回記事を書きました。 “知って得する21のRubyのトリビアな記法” “第2弾!知って得する12のRubyのトリビアな記法” “第3弾!知って得する12のRubyのトリビアな記法” これらのトリビアには、ネット検索で見つけたもの、Twitt
「Rubyのcase」を一瞥し「あー要は〇〇(言語名)のswitchね」などと早合点し、その後もその真の価値を知ることなく一生を終えるプログラマが近年跡を絶たない。加えて、「今更条件分岐?RubyはOOPなんだからポリモフィズムじゃね?」とか「HashにProc突っ込んでcallするのがオレ流。」とかうそぶく人たちもまた増加の一途を辿っている。 そんな世の中にあって、ぼくは一言、できればガツンと一言申し上げたい。生まれも育ちもRubyなぼくから、是非ともそんな人たちに「Rubyのcase」について一言申し上げておきたい。 ─ 問題1 ─ 名前name、レベルlevel、ポイントpointの各属性を持った複数のCharacterオブジェクトcharlie, liz, benがある。 class Character < Struct.new(:name, :level, :point) def
先日仕事中、一瞬の隙も見逃さずに情報収集できるRubyワンライナーとスクリプトというネタエントリを書いたのだが、その際Rubyのワンライナーをもう少しまともに理解したいと思ったので入門してみた。手元のRubyは1.9.2 はじめに Rubyのワンライナーは、rubyコマンドに色々なオプション(-eや-nなど)をつけて実行する。各オプションの網羅的な解説が見たければ、コマンドラインでは$ man rubyで閲覧できるし、webではるりまサーチで参照できる。ただ、これらは網羅的すぎるので、以下よく使うオプションとその周辺情報についてまとめた。 -e 一番基本的なオプション。スクリプトを実行する。(ちなみに他のオプションと組み合わせる時は必ず最後に記載する) 例: hogeと表示 $ ruby -e 'puts "hoge"' -n プログラム全体がwhile gets ... endというルー
備忘録兼、初心者向けのメソッド一覧。 余裕があればRails編とかも書こうかな。 これ忘れてるとか何事?とかいう突っ込みがあれば是非お願いします。 もうちょっとコードの具体例書きたかったけど、めんどくさくなってきたw Array Array#combination(n), Array#permutation(n) 配列のデータを元に組み合わせ(順列)を作ってくれます。 ブロックを渡さない場合はEnumeratorで組み合わせの各要素を列挙します。 Enumerator Enumerator#with_index(offset = 0) Enumeratorの各要素に合わせてindexを列挙してくれるEnumeratorを返す。 each_sliceやcombination等にメソッドチェインで繋げて使う。 Enumerator#with_object(obj) with_indexと同様で
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直
(追記:2013-08-16) 本記事のトリビアを含む55のトリビアを以下の記事にまとめました。 知って得する!55のRubyのトリビアな記法 ちょっとトリビアだけど、知っていると意外と便利なRubyの記法を21個拾ってみたよ(Ruby1.9限定)。 君なら全部知ってるかもしれないけど.. 1. 動的継承 Rubyのクラス継承では < 記号の右辺にクラス定数だけでなくクラスを返す式が書けるよ。 class Male def laugh; 'Ha ha ha!' end end class Female def laugh; 'Fu fu fu..' end end class Me < [Male, Female][rand 2] end Me.superclass # => Female Me.new.laugh # => 'Fu fu fu..' def io(env=:develop
2008年03月30日19:45 カテゴリLightweight Languages一日一行野郎 perl - ワンライナーの書き方入門 まあ、ruby のコマンドラインオプションって、Perl由来ですから。 Rubyでワンライナーを書く方法のまとめ まぁ、Perlもあるしあんまり需要が無いのかも知れませんが。 というわけで、Rubyistにも役立つPerlのワンライナー入門です。 基本中の基本 コマンドとしてのperlは、スイッチがない場合、引数はスクリプト名として扱われます。 % cat hello.pl print "Hello, world!\n"; % perl hello.pl Hello, world! % コマンドライン中の文字列をスクリプトとして解釈させるには、-eを使います。 % perl -e 'print "Hello, World!\n"' Hello, worl
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く