www.hsbt.org 「へーっ」と思って調べてみたら、Rails ガイド本文からRuby のインストール方法そのものの記述が消えて、独立したページになったんすねえ。railsguides.jp v8 から生まれた 上記の「Ruby onRails インストールガイド」、v8 対応版から導線やら新規ページが生まれたっぽく。 見た所、 v7.2 までは本文中のRails インストール項の中で「Ruby とSQLite3 が最低限必要です」みたいな記述になっていた。railsguides.jpruby-lang なお導線としてruby-lang (Ruby 公式) へのリンクも存在しているけど、そちらではまだ mise は書いてなくてasdf とか rbenv がメインだった。 そのうちこちらに mise も追加されそう。 www.ruby-lang.org という感じ
こんにちは。 メディアサービス開発部 Webアプリケーション開発課のフサギコ(髙﨑)です。Ruby onRailsによるバックエンドの実装運用とAWSによるサービスインフラの設計構築を中心とした、いわゆるバックエンド方面のテックリードとしてニコニコ漫画を開発しています。本記事では、私たちが開発・運用しているRails製のjsonAPIバックエンドにおいて、mallocの実装としてjemallocを使うように変更したことについてお話します。 背景 私たちが2020年4月から開発しているニコニコ漫画のRails製jsonAPIバックエンド(以降「新バックエンド」と呼びます)は、2010年8月のサービス開始以来サービスを支え続けているPHP製アプリケーションのビジネスロジックに関する式年遷宮的移行先であり、当初よりAWS ECS Fargate上で実行しています。*1 今年8月にリリー

最近Rails7でコードを書いているのですが、 Visual Studio Code(以下VSCode)でhtml.erbファイルを編集する場面が多いです。Rails7のRails Wayでやっていてhtml.erbでturboで書いている場合はJSよりはhtml.erbを編集する機会が増えるのではないかと思っています。VSCodeでhtml.erbを書いているとAuto Formatしてほしくなります。インデントとか空行とかあまり意識せずに勝手に整えてほしいですよね。 結論 いくつか調べたのですが、結局 ERBFormatter/Beautify というVSCodeのExtensionが今の所良さそうでした。 marketplace.visualstudio.com 必要な設定 setting.json "files.associations": { "*.html.erb": "e

概要 原著者の許諾を得て翻訳・公開いたします。英語記事: WhyRuby has Symbols | dmitrytsepelev.dev 原文公開日:2022/04/05 原著者: Dmitry Tsepelev --Evil MartiansのメンバーですRubyを使い始めた初日からシンボルを使う人は大勢います。何しろRailsガイドの「Railsをはじめよう」でも、最初に生成するマイグレーションで早々にシンボルが登場しているほどです。シンボルは一見文字列のように見え(:hiと"hi")、しかも相互に変換可能です。両者の違いを素朴に説明すると、文字列は何らかのデータ(定数や変数の値など)を表すのに使い、シンボルはコードの一部として出現する(メソッド呼び出しの引数など)のが通例ということになります。しかし文字列とシンボルが両方ある理由は何でしょうか?それを解明してみましょう!

縫えたんじゃない、縫ったんだ!Ruby biz グランプリ2022 で大賞を受賞した JUKI 松江株式会社の「楯縫(たてぬい)プロジェクト」について、グループ事業カンパニー開発部 松江開発分室の土江 正人氏にお話を伺った。 〈 グループ事業カンパニー開発部 松江開発分室 土江 正人氏 〉 JUKI松江株式会社は創業が大正12(1923年)年、今年創業100年を迎える。 島根県松江市に「中島ミシン製作所」として創立され、1944年に株式会社中島製作所となり、2006年にJUKI松江株式会社に社名変更した。 設立当初はミシンの部品を作っていたが、現在では工業ミシンでは世界の30%のシェアを持つJUKIのグループ企業として、ミシンの開発から機械加工、塗装、梱包出荷まで一貫して行っている。 さらに、ミシンを使用している製造ラインの自動化に関する支援なども行っている。 ミシンは大きく家庭用ミシ
今年の後半は久しぶりにRubyに機能を追加したりしており、Ruby 3.2に3つの機能(もしくは変更)をいれたので紹介したい。Ruby 3.2リリースまであと一ヶ月くらいあるので、現時点でBugなどをみつけたら教えてほしい。 1.RubyVM::AbstractSyntaxTreeにkeep_tokensオプションを追加した 名前の通りtokenの情報を保持するようにし、あとでNodeからtokenを取得できるようにするためのオプション。RubyVM::AbstractSyntaxTreeの.parse, .parse_file, .ofの3メソッドで使うことができる。 とりだすときはRubyVM::AbstractSyntaxTree::Nodeの#tokensもしくは#all_tokensでtokenを取得できる。 root =RubyVM::AbstractSyntaxTre
この記事は、Rails を主戦場としている自分が今後学ぶべき技術について(随筆) | うなすけとあれこれ についてのアンサー記事です。 うなすけ君がRuby onRails で育ってきたように、僕もJavaScript とともに育ってきたという自覚があります。なので、これについて書くことは、ポジショントークは避けられない、という感覚があります。 冷静に比較しようとも思いましたが、やっぱり開き直って思いっきりポジショントークをすることにしました。そっちのほうが面白いと思うので。 自分の基本的な主張は、こちらの記事にあるとおりです。 Frontend Study #1: 基調講演 - Frontend 領域を再定義する 自分とRuby onRails 僕は、キャリアとしてはRails の会社でJavaScript を書いてきたことが多かったです。学生の頃は socket.io

はじめに PureRubyな形態素解析器Suikaを作成した。開発中でバッリバリにα版だが、思い切ってリリースすることにした。 suika |RubyGems.org | your community gem host 最も有名な形態素解析器であるMeCabもそうだが、形態素解析器は食べ物の名前がつくことが多い。「Rubyなので赤い食べ物が良いかな」と考えて、文字数とかわいらしさからSuika(スイカ)とした。 使い方 SuikaはPureRubyで作られているため、MeCabをはじめ特別なライブラリを別途インストールする必要はない。 gem install suika バッリバリにα版なので、機能はないに等しく、オプションなしのMeCabコマンドと同様となる。 $ irb irb(main):001:0> require 'suika' => true irb(main):002:

みなさんはHomebrewをお使いでしょうか。macOSをお使いの多くの開発者が使っていると思います。 HomebrewのインストーラーはRubyで書かれており、次のコマンドでインストールするようになっていました。 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" HomebrewがRubyに依存していることは良いのですが (formulaの書きやすさはRubyならでは)、インストーラーの話になると事情が変わってきます。HomebrewのインストールコマンドはmacOSの工場出荷状態でも動く必要があります。こういうものにRubyを使っているのはリスクがあります。 将来的にmacOSデフォルトにRubyやPythonが含まれなくなる (参考リンク
YAMLは構造化されたデータを文字列で記述するデータ形式だ。Rubyではyamlライブラリを使って、YAMLとRubyのオブジェクトを相互変換することができる。YAMLからRubyのオブジェクトを得るには、YAML.loadを使う。 require 'yaml'yaml = <<YAML - {name: Alice, age: 16} - {name: Bob, age: 24} - {name: Carol, age: 30}YAML pYAML.load(yaml) #=> [{"name"=>"Alice", "age"=>16}, {"name"=>"Bob", "age"=>24}, {"name"=>"Carol", "age"=>30}] 逆にRubyのオブジェクトをYAMLに変換するには、YAML.dumpを使う。 require 'yaml' obj = [{
Rubyの定数が、他の言語の定数とはちょっと違う意外な仕様なのは理解していたが、もうひとつ意外な仕様があることを最近知った。なんかちょっと釣りっぽいタイトルになっちゃったけど。 再代入可能な定数Rubyの定数は、他の言語のように変更を許さない(再代入させない)定数ではないことは有名。少なくとも自分は、Rubyを始めてから結構早い段階でこの仕様について知った。そして、最初にこれを知ったとき「これって定数じゃなくね?」って思った覚えがある。 HOGE = "hoge" HOGE = "fuga" puts HOGE このように再代入しても、警告は出るものの、実際の値は変わってしまう。 2: warning: already initialized constant HOGE fugaRubyのこういった仕様に対して、良い意味での“ゆるふわ感”を感じる。こんなにゆるくて大丈夫?と思うくらい。

メモっぽい記事を書くのはあまり好きではないのですが、せっかく調べたので書きます。Ruby1.9に移行したらどうなるのかはわかりませんけど、日本語の処理に多少の不安を残すRuby1.8にとって、日本語を含むURL、例えばwikipediaなどは扱いにくいです。Rubyで検索エンジンっぽいものを作っていまして、open-uriというモジュールで日本語を含むURLを開こうとしたらエラーが出てしまいました。 ちなみに私の環境はruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]です。古そうだね。 バイト単位の処理と文字単位の処理を混同してしまうので、文字列処理は難しい。 URLのエンコード ブラウザは、URLにエスケープされた文字列が含まれていた場合それを展開して表示しているようですが、通信するときはエンコードしています。
たのしいRuby 第4版 作者: 高橋征義,後藤裕蔵,まつもとゆきひろ出版社/メーカー: ソフトバンククリエイティブ発売日: 2013/06/04メディア: 単行本この商品を含むブログ (22件) を見る「はじめてのRuby」を読んでのメモ。 今回は第10章「エラー処理と例外処理」 エラー処理について プログラムの実行中に発生するエラーには次のようなものがある。 データのエラー 金額があるべき欄に商品名が書いてあり計算ができない、など。HTMLのような構造を持ったデータの場合は、タグが閉じられていないといった構文上の間違いも含む。 システムのエラー ハードディスクの故障、CDがドライブに挿入されてないといったプログラムの力だけでは回復できない問題。 プログラムのミス 存在しないメソッド呼び出し、引数として渡す値の誤りなど、プログラムのミスによるエラー。 エラーには何らかの対処が必要である。

パンくずRuby Cookbook 一定時間ごとに処理を実行 概要 一定時間ごとに処理を実行 サンプル # 指定したmsecごとに処理を実行する def execute_each_sec(sleep_sec) yield sleep sleep_sec end 5.times do execute_each_sec(1) do || puts "実行時間:#{Time.now}" end end 出力 実行時間:2012-06-24 23:45:40 +0900 実行時間:2012-06-24 23:45:41 +0900 実行時間:2012-06-24 23:45:42 +0900 実行時間:2012-06-24 23:45:43 +0900 実行時間:2012-06-24 23:45:44 +0900
今まで作ったプログラムは、プログラムをテキストエディタで保存したら、 何度実行しても結果は同じでした。これではおもしろくありません。 多くのプログラミング言語では、実行する時にキーボードなどからデータを入力することができます。 もちろんRubyも可能です。 数値を入力しようRubyでキーボードで打った数値を変数に読み込むには以下のようにします。 1: print "数値を入力してください:" 2: a = gets.to_i 3: print a+10, "\n" このプログラムを実行すると、今までとは違って、すぐにプログラムは終了しません。 1行目の"数値を入力してください:" を表示した後に、2行目で利用者がキーボードから 文字列を打ち込むのを待っているからです(getsがこれに相当します)。 利用者が文字列を打ち終わったら、.to_iで打ち込んだ文字列を数値(整数値)に変換します。
2018年12月14日、品川シーズンテラスカンファレンスにてRubyアソシエーションが主催するイベント「Ruby Business Users Conference 2018 Winter」が開催されました。すでにRubyを活用しているユーザーや、これからRubyをビジネスに活用しようと考えている人が集い、情報交換を行いました。基調講演「スタートアップの銀行口座残高と技術選定」に登壇したのは、株式会社SmartHR副社長兼最高開発責任者の内藤研介氏。創業から今日に至るまでの軌跡と、開発言語としてRubyを選択した理由を語ります。 スタートアップの銀行口座残高と技術選定内藤研介氏:お疲れ様です。素晴らしいプレゼンばかりでしたね。もう、まつもと(ゆきひろ)さんの話も聞いたし目当てのプレゼンも聞いたし、花金だし。「そろそろ帰りたいな」なんて方もいらっしゃるかもしれないですが(笑)、もう少しだけお

Objectのhashメソッドは使わないこと hashメソッドの戻り値は、rubyを実行するたびに変わります。従って、ハッシュ値を永続化したい場合等には使えません。 $ irb > "hoge".hash => -3237379387648982978 > "hoge".hash => -3237379387648982978 > exit $ irb > "hoge".hash => 2500386903580634777 MD5のハッシュ関数を使う MD5のハッシュ関数で取得した値は、文字列毎に一意な値が返るので、永続化が可能です。 $ irb > require 'digest/md5' => true > Digest::MD5.new.update('hoge').to_s => "ea703e7aa1efda0064eaa507d9e8ab7e" > exit $ irb >
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く