タグ

rubyに関するtakashabeのブックマーク (18)

  • 汎用絵文字ライブラリ Somemoji - ✘╹◡╹✘

    ここ最近絵文字で遊んでいて、Somemoji というライブラリをつくったので知見を共有します。 さまざまな絵文字セット 様々なプラットフォームのために、様々な組織が、様々な絵文字セット (絵文字画像の集合) を提供しています。 Apple emojidex EmojiOne Facebook Google HTC LG Microsoft Mozilla Samsung Twitter 大抵の絵文字セットはUnicodeのEmojiの仕様に則って実装されていて、このコードポイントに対応する絵文字画像はこれ、というように互換性があります。Unicode 6.0, Unicode 7.0, Unicode 8.0, ... とバージョンが増えるに従って定義されるEmojiの数も増えていっているので、それぞれの絵文字セットごとに対応具合はまちまちという状況ではあるものの、よく使う主要なものについ

    汎用絵文字ライブラリ Somemoji - ✘╹◡╹✘
  • DeNAのゲーム開発を支える Game Backend as a Service

    昔からシステムは常に問題なく使えて当然のように思われてきました。しかし現実には、現在に至るまでアプリケーションが落ちることが想定されていないシステムも少なくありません。 ステートレスなアプリケーションの場合、落ちることが想定されているシステムでは、アプリケーションを複数個並べることでそのうちのいくつかが落ちてしまっても、アプリケーション利用者には影響が無いように作られています。一方でHTTPセッションというステートフルな情報を持つアプリケーションはどうでしょうか? セッションでは、ステートフルなアプリケーションにおいて、落ちても問題ないアーキテクチャとはどのようなものになるのかを紹介します。

    DeNAのゲーム開発を支える Game Backend as a Service
  • 【Ruby】よく使うFileクラスを使ったファイル読み込み処理 - Qiita

    Fileクラスを使ったファイルの読み込み処理のうち、個人的に良く使うパターンをテンプレコードとしてまとめた。 前提 ファイル読み込みでは、実際には読み込んだあとに何らかの処理をすることが多いと思うが、ここではputsで出力するだけ 例外発生時は、捕捉した例外クラスとメッセージを出力するだけにする カレントディレクトリにlabmen.txtという名前で以下の内容のファイルがあるものとする。 Okabe Rintaro Shiina Mayuri Hashida Itaru Makise Kurisu Kiryu Moeka Urushibara Ruka Feyris Amane Suzuha begin # File.openはファイルをオープンし、Fileオブジェクトを返す # 第1引数: ファイルパス # 第2引数: ファイルモード (デフォルト => 'r') # 第3引数: ファイ

    【Ruby】よく使うFileクラスを使ったファイル読み込み処理 - Qiita
  • Railsアプリケーションにおけるエラー処理(例外処理)の考え方 - Qiita

    はじめに Railsアプリケーションを格的に作り込んでいくと、「エラー」とは無縁ではいられません。 しょうもないバグでエラーが発生することもありますし、ほとんど不可抗力ともいえるような大規模なネットワーク障害でエラーが発生することもあります。 エラーの種類がなんであれ、エラーが起きた場合は「原因を素早く特定し、速やかに復旧させること」と「あるエラーが引き金になって、さらに大きなエラーに引き起こさないようにすること」が重要です。 エラー処理を適切に実装していれば、原因の特定や復旧もすばやくできますし、さらに大きなエラーを引き起こす可能性も少ないです。 また、ソースコードも比較的シンプルに保てます。 逆にエラー処理が不適切だと原因の特定に時間がかかったり、異常なデータがどんどん増えてさらに大きなエラーを引き起こしたりします。 ソースコードにも無駄に複雑な処理フローや条件分岐がたくさん出てきて

    Railsアプリケーションにおけるエラー処理(例外処理)の考え方 - Qiita
  • ソーシャルゲームでDB水平分散 #mdb_casual

    2014/11/10に開催されたRails複数DB Casual Talksでの発表資料になります。

    ソーシャルゲームでDB水平分散 #mdb_casual
  • Mobage を支える Ruby の技術 ~ 複数DB編 ~ : sonots:blog

    Mobage を支える Ruby の技術 ~ 複数DB編 ~ : sonots:blog
  • Aman Gupta, GitHubでのRubyの使われ方と高速化のテクニックを紹介 ~ RubyKaigi 2014 基調講演 3日目 | gihyo.jp

    RubyKaigi 2014 レポート Aman Gupta, GitHubでのRubyの使われ方と高速化のテクニックを紹介 ~ RubyKaigi 2014 基調講演 3日目 2014年9月18日~20日の3日間、タワーホール船堀にてRubyKaigi 2014が開催されました。基調講演をそれぞれレポートしてきました。 3日目最後の基調講演は@a_matsudaの紹介を受けて登壇した、Aman Gupta(@tmm1)です。タイトルは「Ruby 2.1 in Production⁠」⁠。Aman Guptaは現在GitHub, Inc.(以下、GitHub)に勤め、そこで使用している高速化のテクニックとツールを紹介しました。Ruby体のコミッタでもあるAmanによる講演は、圧巻でした。 当日のスライド(PDF版)は次のリンクから参照できます。 http://bit.ly/ruby21-

    Aman Gupta, GitHubでのRubyの使われ方と高速化のテクニックを紹介 ~ RubyKaigi 2014 基調講演 3日目 | gihyo.jp
  • RubyにHaskellよりも強力なパターンマッチを実装した - Qiita

    require 'egison' include Egison match_all(object) do with(pattern) do ... end end match(object) do with(pattern) do ... end with(pattern) do ... end ... end パターンマッチに成功すると、withに渡されたブロックが実行され、その結果が返されます。 このライブラリのパターンマッチでは、パターンマッチの結果が複数あるということがあります。 match_all構文はそのすべてのパターンマッチの結果それぞれについてwithに渡されたブロックを実行し、すべての結果をまとめた配列を返します。 match_all構文は1つのwith節を取ります。 一方、matchは複数のwith節を取ります。 先頭のwith節のパターンから順番にパターンマッチに成功

    RubyにHaskellよりも強力なパターンマッチを実装した - Qiita
  • ScaleOut | Supership

    2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。件に関する詳細は、プレスリリースをご確認ください。 2024年4月1日より、Supership株式会社は親会社であるSupershipホールディングス株式会社に吸収合併されました。 合併に伴い、存続会社であるSupershipホールディングスは社名をSupershipに変更し、新たな経営体制を発足しました。 件に関する詳細は、プレスリリースをご確認ください。

    ScaleOut | Supership
  • 「設定」を設計するための資料 - Hibariya

    プログラムは、なるべく何もしなくても良い感じに動いてくれるのが理想的だけど、実際には何らかのかたちでユーザの設定を必要とすることがある。 Rails を使うときは config/application.rb でタイムゾーンを指定したり、DB へ接続するための情報を config/database.yml に指定する。 Bundler の挙動を変えたければ bundle config で設定を変更する。 Gem をインストールするときに毎回指定したいオプションがあれば、~/.gemrc に追記する。 もし自分の関わるプロダクトに「設定」のAPIが必要になったとき、何を判断の基準にして設計すればいいだろう。 ちょっと近所を見渡すだけでも、「設定」のやり方には色々ありそうだ。 設定という視点から、Rubyist にとって身近なプロダクトたちを資料として眺めてみた。 (NOTE: ちょっと悩みなが

  • てめえらのRailsはオブジェクト指向じゃねえ!まずはCallbackクラス、Validatorクラスを活用しろ! - Qiita

    てめえらのRailsはオブジェクト指向じゃねえ!まずはCallbackクラス、Validatorクラスを活用しろ!RubyRails ちょっと煽り気味のタイトルにしてみましたが、Railsで開発する時は意識的にOOPに寄せないとオブジェクトの力が活かせなくなるよってことと、Railsが提供しているクラスの責務を分割することを支援してくれる機能について話をします。 ActiveRecordの性質 Rails開発においては、モデル層にロジックを書いてコントローラーは薄くしろ、というのはしつこく言われているので、概ね浸透してきていると思います。 それに加えて、最近私が結構しつこく主張しておきたいのが、モデル = ActiveRecordでは無いよ、ということです。 ActiveRecordは成り立ちから言うと、ロジックとDBへの永続化をまとめてカプセル化するアーキテクチャパターンから来ています。

    てめえらのRailsはオブジェクト指向じゃねえ!まずはCallbackクラス、Validatorクラスを活用しろ! - Qiita
  • Rubyの正規表現リテラルは左辺においたほうがいいんじゃないの? って話 - Qiita

    なんで? 正規表現で使われる=~の実態はRegexp#=~なんですが、この時 右辺に使えるのはStringだけ です。 ついでに、String#=~はRegexp#=~のシンタックスシュガーで、これによって辺を交換しても動作します。 (参照: http://osdir.com/ml/lang.ruby.japanese/2007-05/msg00058.html ) 世間(というか自分の周り)では、"Hello" =~ /e/と書くほうが圧倒的に多く、 それどころか/e/ =~ "Hello"と書けるのかどうか自信ない、なんて人もいました。 ところで、Object#=~があるのもあって、一応5 =~ /5/なんて書くこともできます。 結果はnilです。 これは"5" =~ /5/あるいは5.to_s =~ /5/と書けば意図通りです。 もちろん/5/ =~ 5とは 書けません。前述のとおり

    Rubyの正規表現リテラルは左辺においたほうがいいんじゃないの? って話 - Qiita
  • '10年代のRubyコア用語集

    IRC (あいあーるしー) 「教養チャンネル」とも「衒学チャンネル」とも呼ばれる。ほとんどのタイミングで日史か中欧史か仏教史か英語史の話をしている。たまにRubyの話題になると逆に違和感が… ISeq (あいせく) RubyVM::InstructionSequence のこと。長いので誰も正式名称で呼ぼうとしない。 rubyスクリプトのいくつかある表現型の中でもっとも低レベルな表現。現在、rubyスクリプトからISeqを生成する機能は公開されているが、そのようにして生成したISeqを実行する機能はセキュリティ上の懸念から(作られてはいるが)封印されている。→ AST ID (あいでぃー) 型。rubyレベルでいうSymbolにほぼ相当するもの(ちょっとだけ違う)。objcプログラマーはこれを見てVALUEと混乱しないように。 assn (あさしん) IRCで彼らがアサシンと呼んでいるも

    '10年代のRubyコア用語集
  • mrubyで限定継続(shift/reset)を実装した話 - wasabizの日記

    2013-10-03 mrubyで限定継続(shift/reset)を実装した話 mrubyという組み込み向けのruby実装があります。中身のアーキテクチャはほとんどluaに近いんですがAPIとかがとても洗練されていてソースコードが読んでいてとてもふつくしい。登場からまだあまり時間が経っておらずコードが成熟していないという事もあってなかなかハックしがいがあるソフトウェアです。今回そのmrubyに限定継続オペレータのshift/resetを実装したのでその話を書いてみます。新規性としては 限定継続は家CRubyにも実装されていない 一部の言語の一部の処理系(scheme or ML)以外での実装はほぼ存在しない "Final Shift for Call/cc: Direct Implementation of Shift and Reset"は一つのスタックの上に特殊なフレームを詰んでい

  • 最近使ったお気に入りの Awesome な RubyGems たち - Qiita

    最近使って、気に入った RubyGems を紹介します。 acts_as_paranoid better_errors / binding_of_caller tapp pry-rails / pry-doc awesome_print terminal-notifier-guard guard-bundler json_expressions acts_as_paranoid いわずと知れた、論理削除のための Gem ですが、バージョン 0.4 から rails3_acts_as_paranoid から acts_as_paranoid に名前が変更になりました。 GitHub better_errors / binding_of_caller Rails の実行時の味気ないエラー画面をとっても Awesome にしてくれる!!! #402 Better Errors & RailsPa

    最近使ったお気に入りの Awesome な RubyGems たち - Qiita
  • サクサク引ける Rubyリファレンスマニュアル

    キーボード操作 [↓]次の項目を選択 [↑]前の項目を選択 [Enter]選択された項目を開く Fork me on GitHub ≫ https://github.com/miyamae/rubydoc-ja/tree/master 静的なファイルだけで構成されているので、ダウンロードしてローカルで利用することもできます。 作ってる人=みやまえ@BitArts

    サクサク引ける Rubyリファレンスマニュアル
  • 223Soft -

    Document Data Structure in MongoDB Express MongoDB lets you easily store structured and unstructured data in a flexible and dynamic database schema. It supports CRUD operations on complex data objects using JSON as the main data type. Its an open source solution so it may not be as robust or well supported as commercial management tools. However it is easy to deploy and works well for most use cas

  • 1