Ubiregi Advent Calendar 2018 の 18 日目です。 ユビレジではたくさんのお客様の大量の POS データをお預かりしており、様々なバッチ処理も実行されています。今回は特定のケースでバッチ処理の一部が 30 分以上かかっていた処理を 14 秒で終わるようにした話について書きたいと思います。前回の Ruby 2.5 の SEGV と闘った話 - @watson1978 の日記 に引き続き DTrace を使った話になります。 はじめに ユビレジでは CSV ファイルでお客様が特定のデータをダウンロードしたりアップロードできる機能があります。CSV ファイルにエクスポートしたり、CSV ファイルから DB に取り込む処理を Worker を起動してバッチ処理しています。 大量のデータを保有しているアカウントと同量のデータを用意して手元の環境で試したところ時間がかかるこ
Transcript จܥ͔ΒͰRubyʢSinatra RailsʣΛֶΜͩΒਓੜมΘͬͨ ಙݩ কٛ ࣗݾհ • ಙݩ কٛʢͱ͘ͱɹ·͞Α͠ʣ • ླྀେ࢈ۀܦӦֶՊ࢛ • 20174݄͔Β͞΅ (@saboyutaka) ͞ΜͷԼͰWebΤ ϯδχΞΛࢦ͢ • ISUCON2017 • 4݄ʹʮΈΜͳͷΣσΟϯάʯ ʹब৬͠·͢ • ϒϩάɿ·͞ˏϒϩάॻ͖ࠐΈத ࠓ͍ͨ͜͠ͱ 1. Rubyͷॳֶऀ͕ͬͨ΄͏ֶ͕͍͍शखॱ 2. RubyΛֶΜͰมΘͬͨ͜ͱ ॳֶऀ͕RubyΛֶͿ࣌ʹͬͨํ͕͍͍खॱ ʢRailsνϡʔτϦΞϧ͔ΒΒͳ͍ʂʣ 1. Webʹ͍ͭͯཧղ͢Δ 2. HTMLˍCSSʹ͍ͭͯཧղ͢Δ 3. Rubyͷجຊʹ͍ͭͯཧղ͢Δ 4. SinatraΛֶΜͰΞϓϦΛ࡞Δ 5. RailsνϡʔτϦΞϧΛͬͯΞϓϦΛ࡞Δ Webʹ͍ͭͯ
[edit] Ruby オフィシャルサイト https://www.ruby-lang.org/ja/ version 3.3 対応リファレンス 原著:まつもとゆきひろ 最新版URL: https://www.ruby-lang.org/ja/documentation/ 使用上の注意 組込みクラスのリファレンスはほぼ揃っています。標準添付ライブラリのリファレンスは一部未完成です。それ以外のドキュメントについては、まだまだ書き直しが必要です。 目次 はじめに コマンド Rubyの起動 環境変数 Ruby 言語仕様 Ruby でのオブジェクト: オブジェクト クラス プロセスの実行: Ruby プログラムの実行 終了処理 スレッド Ruby の文法: 字句構造 プログラム・文・式 変数と定数 リテラル 演算子式 制御構造 メソッド呼び出し(super・ブロック付き・yield) クラス/メソ
皆さんがせっかく作った Ruby Application, どうせなら色んな人に使ってもらいたいと思いませんか? とはいえ, Ruby User には gem install hoge してくださいと言えば伝わるものの,非 programmer の user にはそうはいきません.一般 user からすれば, .exe 形式や .app 形式でないとちょっと敷居が高いと思います. それなら, Rawr を使って, Ruby Application を .exe 化, .app 化しましょう! note: Web 上に Rawr に関する記事はいくつか見つかりましたが, gem library を require するような Application をパッケージ化する方法については,正しく動作するようなものが見つからなかったため,記事にまとめることにしました. Requirement JRu
nicolive.rb K6D�U }.D�U require "net/http" require "net/https" require "uri" require "rexml/document" class NicoLiveException < StandardError; end class NicoLive attr_accessor :mail_tel, :password def initialize(mail_tel = nil, password = nil) @mail_tel = mail_tel @password = password end def login(mail_tel = nil, password = nil) mail_tel = @mail_tel unless mail_tel password = @password unless pa
概要 radioRec は、FreeBSD(UNIX) 上で稼働するradiko の番組を録音をするプログラムです。 録音する番組は、 定期的に番組情報を取得し、その中から指定したキーワードで検索して決定します。 マシンの電源管理は行いませんので、24時間運転のマシンで実行して下さい。 インストール 実行に必要なツールは下記のものです。予めインストールして下さい。 ruby rtmpdump ports からインストールすると何故か core dump する(2012/07/25 頃)ので、 http://rtmpdump.mplayerhq.hu/ から V2.4 のソースを取得し、 コンパイル、インストールして下さい。 swftools wget ffmpeg ソースをダウンロードして、所定の場所に展開する。 % mkdir -p $HOME/.radio/com % mkdir -p
Essentially, Ecrire is a blog engine. It provides a powerful Markdown editor, tags support, drafts, permalinks, image uploads, and everything else you would need to create a website. Ecrire is built around the concept of themes. When you create a project with Ecrire, you are actually creating a new theme for you to customize to your needs. You can do pretty much anything you want inside a theme. I
PSD.rbはRuby製のオープンソース・ソフトウェア(MIT License)です。 Webやアプリのデザインの際にPhotoshopを使う事がよくあります。そんな時に出来上がった画像を分析してコーディングに落とし込んだりします。それの自動化さえできるようになるのではないかというライブラリがPSD.rbです。 インストールはRubygemsで行えます。 適当なPSDファイルを読み込んでparse!を実行します。trueが返ってくれば解析完了です。処理はファイルサイズにもよりますが結構重たいです。 treeで木構造を出力します。こちらもファイルが大きければ膨大になります。 PSD.rbでは構造、サイズ、レイヤー/フォルダサイズと名前、フォントデータ、カラーモード、ベクターマスク、フラットな画像データなどが読み取れます。Photoshopのファイルを使ったサービスが捗りそうです。 MOONG
Web Music Developers JP Advent Calendar 2012 Scissor という自作のライブラリについて、4年前にリリースしてから今までまとまった紹介をしていなかった気がするので、かなりマニアックではあるが、便利な人には便利かも、なのでご紹介。 Scissor https://github.com/youpy/scissor 磁気テープを切り貼りする感覚で音声ファイルを扱うことのできるRuby のライブラリ wav、mp3、m4a に対応 動画を扱える様にするブランチ Echo Nest API を利用する拡張ライブラリを使うことで、ビートや小節を切り出すことができる インストール $ gem install scissor Scissor は、FFmpeg などの外部プログラムのラッパとして動作するため、外部プログラムのインストールが必要 FFmpeg $
プログラミングをより深く理解するための近道は、プログラミング言語を実装してみること。SchemeのサブセットをRubyで実装していくことで、プログラムはどう実行されるのか、その基本がはっきり分かります。 ※本書はCC BYにより配布されています。上記の「買い物かごへ」ボタンからは有償で購入できます。無料で入手したい場合は、下記リンクよりダウンロードしてください。なお、有償版も無償版も内容は同一です。 EPUB版PDF版内容紹介プログラムは書けても、その基礎となっている計算機科学(コンピュータサイエンス) の理解があやふやな人を、著者は多く見てきました。プログラミングに自信があるという人が、もう一歩先に進める道を示したいというのが、この文書を書き始めた動機です。 この文書を読むことで次の効果が得られることを期待しています。 プログラミング言語とは何かを深く理解することで、プログラミングのレベ
FastRubyはRubyをJavaに変換するコンパイラーです。 Rubyは1.9系になり、高速化されました。現在開発中の2.0系になればさらに高速化されるでしょう。そんな中、さらに高速な実装を目指しているのがFastRuby、RubyからJavaに変換するソフトウェアです。 実行します。 生成されたJavaのコード。 筆者環境ではJavaを実行するとエラーになってしまいましたが、RubyのコードからきちんとJavaが生成されました。JRuby向けに書かれたコードをJavaに変換することで、さらにコンパイルして実行速度を高めるという仕組みのようです。 FastRubyはJava製のソフトウェア(ソースコードは公開されていますがライセンスは明記されてません)です。 MOONGIFTはこう見る 言語の壁を乗り越えるようなプロジェクトが最近の流行かも知れません。JavaScriptで作られた各言
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く