福岡Ruby会議02での発表資料です。 http://regional.rubykaigi.org/fukuoka02/
こんにちは、Webチームの柴山(@shikeapp0909)です。 今回は、弊社Webアプリ「mamanoko」の一部に処理高速化のためにGoを導入したので、どのように導入したかをご紹介しようと思います。 Railsで開発しているWebアプリ内にどのようにGoを取り入れたのか、実際のコード例を交えながら解説していきたいと思います。 なぜRails環境にGoを導入したのか そもそもなぜGoを導入することになったのかと疑問に思われるかと思います。 mamanokoはメディアサービスのため、ライターさんに文章を書いていただいています。複数のライターさんがおり、文章量も膨大になるため、表記揺れや誤字がどうしても出てきてしまいます。 そのため、文章校正が必要であり、以前からその機能を提供していました。 しかしこの文章校正の機能は記事の文章に対して表記揺れなどチェックしたい単語を総なめする処理をしてい
卜部という名前で、マネーフォワードという会社でプログラミング言語Rubyの開発に携わっているものです。 実は、この文章を書き始めるまでにずいぶんと悩みました。というのも、これまでこのコラムに登場した他の人たちと違って、自分のキャリアというのは決して戦略的に積み重ねてきたものではないのです。そもそも初回の転職からして、やりたくて転職したわけではない。 思い返せば大学院から最初に就職した会社は、受託開発で忙しいながらも楽しく、社会人としてもプログラマとしても大きく成長させてくれた職場でした。何もなければそのまま一生そこで勤めて終わる、本当にそう思っていましたし、今でもやがては戻れたらいいなあと思います。しかし現実にはそうはならなかった。どこに行っても仕事がなく、開発者が余ってしょうがないみたいな時代があり、それが十年近く前ですけど、ありていに言えば放り出されてしまった。会社都合退職です。 しょ
sidekiq と scheduled job ruby でよく使われるジョブキューにsidekiqというものがあります。 Rails などでは Active Job のバックエンドとして使うこともできます。 sidekiq は即時的に処理を行うだけではなく、Scheduled Jobという機能があり、例えば以下のようにすると1時間後にjobを実行することができます。 MyJob.perform_in(1.hour) # active job MyJob.set(wait: 1.hour).perform_later また、即時で実行したい場合には以下のようにします MyJob.perform_async # active job MyJob.perform_later sidekiq の queue の実装 sidekiqでは、queueにredisを使用しており、即時実行用の queu
表題の通りですが、もうすぐ技術評論社から「かんたんRuby」というRubyの入門書が発売されます。 かんたんRuby is 何 技術評論社から出版している「プログラミングの教科書」シリーズのRuby版です。 http://gihyo.jp/book/series?s=%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8 基本的にはプログラミングの経験があまり無い人向けの入門書という位置付けです。 gihyo.jp 対象読者 なんとなくターミナルの操作ができる 難しいことはしていませんが、全く触ったことないとちょっと大変かも プログラミングは初めて、あるいはちょっと触ったことがある これくらいの経験の方向けに、Rubyを通じてプログラミングを経験し
Asakusaの方面から来ました 今回、RubyKaigiに来た人は何度かこの画像を目にしたかもしれません。 昔からAsakusa.rbに良く参加している人が発表資料を作る時に、良く使われている画像です。 いかにもシンボリックでアングルが良い写真なので、これが定番として使われています。私とモリスさんも今回のRubyKaigiで使わせてもらいました。 最近のAsakusa.rbに良く参加していて、今回のRubyKaigiに登壇していたメンバーは私が覚えている限りで以下の通り。(id表記 敬称略) @tagomoris & me @hsbt @koic @spikeolaf @youchan @aycabta LT Speakers @tad @284km @youchan 全員の資料を見てないので、全ての発表でこの画像が出てたかは分からないですが、めっちゃ多いですね。1日二人以上のペース。(
RubyKaigi の後夜祭で、akr さんが「327 種類の Ruby をビルドする方法 〜0.49 から 2.6.0-preview2 まで〜」という発表をされていました。 RubyKaigi 2018 After Party で話したスライドです: 「327 種類の Ruby をビルドする方法 ~0.49 から 2.6.0-preview2 まで ~」https://t.co/J5MXgM2PNN— Tanaka Akira (@tanaka_akr) 2018年6月4日 その中で、ruby-0.62.tar.gz と ruby-0.63.tar.gz のファイルは「gzip 形式じゃないといわれて展開できない」ということで、ビルド対象から外されていました。 いろいろやって、めでたくこの 2 ファイルを復活させることに成功しました。そのプロセスを書きます。 なお、壊れていたファイルも
ユーザーエンゲージメント部の諸橋 id:moro です。 わたしはずっと、ユーザー登録やログイン周りという、サービス的には基盤的なところ、技術スタック的にはアプリケーション寄りのところに取り組んできました。関連する話を何度かこの開発者ブログにも書いています。 ユーザー基盤を作り直しながらRailsでのサービス層に向き合う 巨大なWEBアプリケーションに巨大な変更を取り入れるためにやったこと この記事で触れている「電話番号による登録」について、チームメンバーが別の側面を紹介してくれています。 今日はそのあたりの開発を通じて考えた、Railsアプリケーションでのフォームオブジェクトやサービス層といったものが何であるか、という問いに対する、現在の自分のスタンスを紹介します。 サービス層、サービスオブジェクト、フォームオブジェクト もともと Railsは Web 画面から DB 構造までをあえて密
ホスティング事業部プロダクトチーム デザイナーの @keita_kawamoto です。 2017/11/25(土)にFukuoka Growth Nextで 福岡Ruby会議02 が開催されました(以前のエントリー 福岡Ruby会議02に参加しました と同じイベントです)。今回のエントリでは、懇親会で行ったコミュニケーションデザインについてご紹介します。 このエントリにおける「コミュニケーションデザイン」の定義 きっかけは実行委員長の提案 実行フロー (1)チームで企画の狙いや仮説の検討 (2)アイデアをデザインする (3)アイテム作成 当日の様子 まとめ 今回学んだコミュニケーションデザインの大事なこと おまけ:栄えある優勝者への景品「コンテナ」とは? このエントリにおける「コミュニケーションデザイン」の定義 コミュニケーションデザインという言葉は、広告や設計理念をはじめ多くの意味で利
直面する問題を解決したらkaminariができた。Ruby / Railsコミッター松田明のOSS開発の実像 世界中のRubyプログラマに使用されるOSSであるkaminari。これを手がけたRuby / Railsコミッター松田明さんに、開発背景を聞きました。 「これがあったら便利なはずだ」という予測。 あるいは、「これが問題だから、解決する」という現状認識。 新たな技術が生み出される源流にあるものとは、一体なんでしょうか。 Ruby on Rails(以下、Rails)を用いたWebアプリケーション開発において、圧倒的な存在感を放つページネータであるkaminariを開発した松田明(まつだ・あきら/ @a_matsuda )さんの場合は、“絶対に”後者であると語ります。 Rails、そしてRubyのコミッターでもある松田さんは、まさにRubyを用いた開発の最中、先行するソフトウェアに感
Let it Flow - Introduction to Functional Reactive Programming
Rubyを書いていると、サーバを書きたくなることがあります。皆さんもそうだと思います。 ということで今日はRubyでスッとサーバを書くためのgem、serverengineの簡単な使い方メモ。 github.com Rubyでサーバを書きたくなった時 そもそも的に、Rubyでただサーバを書くのは非常に簡単である。具体的には Kernel#loop などを回してその中でリクエストを待ったり、何かしら処理を行えば終わり。特別なgemは必要ないし、TCPを扱うクラスなども組み込みで用意されている。 以下のような9行のスクリプトを起動すれば、サーバを書いたと言える。ところで TCPServer#accept_nonblockでないと、acceptでブロックしてしまって終了処理が遅れたりするのでノンブロッキングの方のAPIを好んで使うのがいいだろう。 require 'socket' server
なんでDocker... 不本意な事情でDockerを調べる時期と、RubyKaigiのCFPが重なった。 CFPのころは集中して作業できてたんだけど、旅費のための再演とかでぶっつり中断しちゃってた。 このエントリーはDockerの入門とかそう言うんじゃなくて、中断しがちな自分の作業を再開するときのための日記。 なお、こういう中断しなくてもすむように、スライドスポンサー募集してます! 恒例!スライドに名前を入れる券 2018-2019 The right to put your sticker on my MacBookAir, again. 最初の実験 最初にどんな準備したか忘れちゃったので、もうDocker動くようになったあとのメモ。 rubyのイメージを起動するとirbが動く。 $ docker run -it ruby irb(main):001:0> へー。シェルが動くのかと思っ
The Ruby Reference This book is a reference for the Ruby programming language. It describes the language structure, its core classes and standard library, and provides some additional useful information and links for Ruby development. The Reference is intended to be always up-to-date with the current Ruby version. Most of the reference content is taken directly from Ruby documentation and reorgani
With the release of Dart Sass 1.0.0 stable last week, Ruby Sass was officially deprecated. I'll continue to maintain it over the next year, but when 26 March 2019 rolls around it will reach its official end-of-life. I encourage all users to start migrating away sooner rather than later. The Deprecation Period Over the next year, I'll continue to work on Ruby Sass in a limited capacity. I'll triage
タイトルの通りなので、Rails 5 への移行時には特に気を付けましょう。 変更は独立させて小さく適用していきたい自分はフリーランスとして働いており、Rails のバージョンアップや設計改善の仕事を探してよく請けているのですが、その中でも最近は Rails 4 から 5 へのバージョンアップの仕事を担当する機会が多くあります。 Rails のバージョンアップ時の作戦として、まずはアプリケーション側のコードを現在のバージョンでも次の移行先のバージョンでも動くような実装に変更し、問題がないことを確認し、その上で次のバージョンに移行するという作戦を取ることがよくあります。実際には前者の変更を更に細かく分け、少しずつ本番環境に適用していくことが多いです。1つ1つの変更を小さく分割することで、確認を行いやすくし、問題発生時のリスクを最小限に抑えるためです。 alias_method_chain は非
ども、@kimihom です。 私は Web フレームワークは Ruby on Rails を利用している。かれこれバージョン2.2 の頃から使い続けているので 7年以上になる。そこまでして私が Ruby on Rails を使い続ける魅力について個人的な想いを記していく。 Rails の作者 DHH と彼の環境 Rails の作者として有名な DHH(David Heinemeier Hansson) という名前は、 Ruby on Rails を触ったことがあるなら必ずや聞いたことがあるだろう。しかし、彼のいる会社 Basecamp がどんな想いでどんなことをしているかを知っている人は案外少ない。 Basecamp はプロジェクト管理の SaaS である。今や世界中に顧客を抱える超有名サービスであり、Basecamp は Ruby on Rails の最新版をプロダクトに反映され続けて
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く