👋Learning to code? Check out ourCoding Fundamentalscourse for beginners!
高橋さんと「日本でもこういう感じのRuby Conferenceをやりたいねえ」という話もしてて、やるとしたら次のゴールデンウィークあたりがいいかな? と考えてます。 ――青木峰郎(ruby-list:31889) はじめに 日本Ruby会議(RubyKaigi)は2006年から毎年開催されている、日本における事実上の公式Rubyカンファレンスです[1]。3回目の開催となった今年のRubyKaigi2008は、いくつかの課題を残しながらも基本的には成功したイベントだったと思います。怪我や混乱もなく無事に会期を終えることができたのも、さまざまなかたちでRubyKaigiの運営を支えてくださった方々と、参加者のみなさんのおかげです。この場を借りて御礼もうしあげます。 本記事では初回から運営に携わっていた者の個人的な視点から、RubyKaigiのこれまでをふりかえり、今後の展望をお伝えします。
連載の第1回では既存サービスを例にして、OP(OpenID Provider)が提供するOpenIDアカウントでRP(Relying Party)へのログインを試してみました。 今回からは、自分でOpenIDに対応したRPを動かしながら、OpenIDの使い方を説明していきます。 第2回ではOpenIDに対応したライブラリを紹介し、Ruby用のライブラリを使ってRPのサンプルを動作させてみましょう。 OpenIDの対応ライブラリ OpenIDアカウントでログイン可能なサイト(RP)を作るためには、OpenIDの仕様で定められたプロトコルに準拠しなければいけません。 幸い、 OpenIDの仕様に対応した各言語のライブラリがオープンソースとして公開されています。これらのライブラリを使うことで、OpenIDの細かなプロトコルを自分でプログラミングしなくて良いようになっています。 ここでは、いくつか
第1回目は、DSLの基本的な概念について説明します。 DSL概要 DSL(Domain Specific Language)は、ドメイン固有言語と訳されてます。DSLは、Java、C#などの汎用言語とは違い、ある特定の種類の問題に特化したコンピュータ言語です。 今回の連載では、DSLの世界を解き明かします。そして、実際にDSLをつくることで、よりDSLの理解を深め、「用法・用量を守って使える」ようになるのが、今回のゴールです。 DSLの必要性 なぜ、DSLを学ぶ必要があるのでしょうか。 Ruby on Railsの登場以降、メタプログラミングという言葉を良く聞くようになりました。メタプログラミングというと、マクロ、コードの自動生成、テンプレートを上げることができます。 DSLは、メタプログラミングで使われます。メタプログラミングは、一般的なプログラムとはまったく違った方法をとっているので
まつもと ゆきひろ 1965年大阪府生まれで、4歳の頃から鳥取県米子市で育つ。筑波大学卒業後、数社を経て(株)ネットワーク応用通信研究所に入社。プログラミング言語「Ruby」の生みの親として知られる。島根県松江市在住で、Ruby開発の功績から同市の名誉市民にも選ばれた。 まつもとさんのブログ『Matzにっき』 twitter 世界中に大勢のユーザーを抱える、日本産プログラミング言語 Ruby。その開発者である まつもとゆきひろ さんに、Ruby 開発の裏側と成功までの道のり、そして未来を生き抜くエンジニアさんへのアドバイスを伺いました。 プログラミングとの出会いは、父が買ってきたポケコンのBASIC ー プログラミング言語に興味を持ったキッカケはなんですか? 私が子供の頃は、コンピュータって全然一般的ではなかったんですよ。ものすごく尖った人だけが、NECのPC-8001 や SHARP の
Rubyを書いてるの人の大半の目的はRailsの利用だと思うのですが、自分はRails newを試した位しか、した事がありません。 まあ、今のところ趣味で作るサイトやwebアプリにはRailsは多機能過ぎて、もっぱらSinatraとHamlで挙動を確認しながら色々試しています。良い点として、自分で必要なGemを吟味して追加する必要があるので、それぞれどの部分が何をしているかが把握できる点ですね。 また、Sinatraを使ったwebアプリの作り方は Webアプリエンジニア養成読本[しくみ、開発、環境構築・運用…全体像を最新知識で最初から! ] (Software Design plus) 作者: 和田裕介,石田絢一(uzulla),すがわらまさのり,斎藤祐一郎出版社/メーカー: 技術評論社発売日: 2014/03/11メディア: 大型本この商品を含むブログ (5件) を見る で1から手取り足
おさらい 第29回では、非同期処理を実現する方法としてReactorパターンを紹介しました。 一般的に非同期処理として使われているスレッド処理と違い、Reactorパターンはシングルスレッドで動作し、スレッド間のデータの共有に悩む必要はありません。しかしReactorパターンはコードが直感的ではなく、慣れていない人には取っつきにくいものであることも確かです。 そのため、Reactorパターンを意識せずに非同期処理を実現するためのライブラリがRubyにはたくさん用意されています。 今回は、その中でもよく使われているEventMachineについて簡単に説明します。 EventMachineとは EventMachineとは、Reactorパターンを利用して非同期処理を実現し、高レベルなネットワークインターフェースを提供するライブラリです。 複雑なReactorパターンによる処理はブラックボッ
連載目次 前回の『「設定より規約」のRailsで必要なセッティングの基礎知識と国際化/多言語対応』まで、サンプルプロジェクトの「book_library」を題材にRailsのさまざまな機能を紹介してきましたが、今回はRailsアプリケーション開発を紹介してきた本連載のおさらいとして、サンプルプロジェクトをMVCごとにリファクタリングしたいと思います。 「book_library」は社内の書籍を管理するためのアプリケーションで、これまでRailsの各機能を紹介するため場当たり的にさまざまな機能を盛り込んできましたが、もっとシンプルに作ってみましょう。 コントローラーの見直し まずは、連載第7回の「Rails開発を面白くするアクションコントローラーの5大機能とルーティングの基本」で解説したMVCの「C」、コントローラーです。コントローラーの見直しは名前空間やネストによる外部構造と、アクションの
皆様はじめまして、spicelifeエンジニア@yuki3738と申します。 あけましておめでとうございます。本年も弊社サービスのtmixと\SPOTLIGHTS/をよろしくお願い申し上げます。 さて年末のことではありますが、なんとわたくし皆様が大好きなあのフレームワーク、Ruby on Railsにコントリビュートをしました。 今回はエンジニア歴約半年の私がどんなインチキ経緯があってコントリビュートにまで至ったのか、またそれによってどんな学びがあったのかをお話ししたいと思います。 rails dbができない 事の発端は弊社プロダクトの一つであるtmixのdbの中を見ようとrails dbコマンドを叩いたことから始まります。 Railsエンジニアだったら確実にお世話になるであろうこのコマンド、なぜかわたしのtmixのリポジトリでは起動することができませんでした。 rails dbを入力する
RailsでCSV/Excel/OpenOfficeのアップロード機能の実装方法について説明します。 動作確認 Ruby 2.1 Rails 4.1 Roo 1.13.2 目次 Railsプロジェクトの作成 CSVのインポート機能の実装 Excelのインポート機能の実装 1. Railsプロジェクトの作成まず、Raislのプロジェクトを作成します。 rails new csv_import_test cd csv_import_testそして、必要なコントローラー、ビュー、モデルを作成します。 rails g controller Products index rails g model Product name:string price:integer released_on:date rake db:migrate CSV出力するためのデータを作成します。 # db/seeds.rb
Rails 3のgemの管理に使用されるbundlerの使い方を復習します。 Bundlerの現時点の最新安定版のversion 1.2.3を対象とします。Bundlerを使うと何が嬉しいのか? あるgemが開発環境にはインストールされているが、production環境にはインストールされていない、といった問題が無くなる。 プロジェクトに必要なgemをはっきりさせることができる。 Bundlerのインストール %~ gem install bundler システム標準のrubyを使用している場合はsudoが必要な場合があります。rbenvやrvmを使用している場合はgem install bundlerのみでインストールできます。 bundle checkでインストール必要なgemをチェック Gemfileの中に記載されているgemのうち、これからどれをインストールしなければならないか
あけましておめでとう! 私、暮井 慧。今年もよろしくね。ところでみんな、いろいろなプログラミング言語の動向とか気になるよね? というわけで、プログラミング言語の去年のふりかえりと今年の予定なんかを、スペシャルな人たちに聞いてきたよ! Ruby 最初は、みんな大好きRuby! Rubyコアコミッターの小崎資広さんに聞きにきたよ。小崎さんは、Linuxカーネルコアの開発者でもあるんだって! Rubyの2014年はどんな年でした? 慧 こんにちは。2014年のトピックを聞かせてください! 小崎 まずは、Ruby 2.2のリリースでしょう。リリース直前にいろいろとトラブルが発生してやきもきさせましたが、無事12/25にリリース。クリスマスにリリースする慣例を守ることができました。 今回のリリースはガベージコレクションの改善がメインで、速度の向上に加えて、Symbolがガベージコレクトの対象になるよ
お仕事で今、Railsアプリケーションで複数DATABASEのサービスを開発していて、いろいろと悩むことが増えてきたので、勉強を兼ねてネットにあったドキュメントを収集していくつか読み込んでみました。俺得記事です。あともしよい資料とかあればぜひコメントください! 🎳 クックパッドにおける最近のActive Record運用事情クックパッドにおける最近のActiveRecord運用事情 - クックパッド開発者ブログ マイグレーションは使っていない1,500以上のモデルがあり、複数人が作業しているため、互いの作業をブロックしないためにもマイングレーションでの運用は行っていない。 スキーマ管理ツール: Ridgepolewinebarrel/ridgepole - GitHubスキーマ管理ツール。テーブル定義ファイルにカラムを書き足すと、実際のDBのテーブル定義と比較して、 差分があればそのぶん
プロファイラ好きなモニタの前の皆さんこんにちは。@sonots です。この記事では、Ruby コードのどの行がどのぐらいメモリを消費しているか調べる方法を紹介します。 オブジェクトの数を数える Ruby には ObjectSpace というオブジェクトの情報を集めたり操作したりする module があります。 このモジュールの each_object メソッドを使用すると、RubyVM 上の全てのオブジェクトを取り出すことができます。 このメソッドを使って、以下のようなコードを書くと、実行した地点で、RubyVM 中にどのクラスのオブジェクトが何個存在しているのかカウントできたりするわけです。興味深いですね! ObjectSpace.each_object.inject(Hash.new 0) {|h,o| h[o.class]+=1; h } # => {Class=>241, Stri
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く