esm アジャイル事業部 開発者ブログ

永和システムマネジメント アジャイル事業部の開発者ブログです。

Rubyで任意の文字列を削除するメソッドの速度を比較してみた

はじめに こんにちは、wai-doiです。 Railsアプリケーションを開発していて、文字列の削除をするコードを書くことがあると思います。 例えば以下のようなコードです。 zip_code = '123-4567' zip_code.gsub(/-/, '') #=> 1234567 この例では String#gsub を…

RDBMS付属のツールで大規模データをインポートする

こんにちわ、swamp09です。 先日Railsプロジェクトで遭遇した大規模データのインポートについてお話しします。 ある外部システムから大規模なデータの連携をファイルで行うことになり、ファイルからの大規模データのインポートについていくつか方法を試しま…

Rails / OSS パッチ会オンライン 2021年5月のお知らせ

2021年5月の Rails / OSS パッチ会を 5月27日(木)にオンライン開催します。 この会をひとことでいうと、日頃のお仕事で使っている Rails をはじめとする OSS への upstream にパッチを送る会です。 会には Ruby と Rails のコミッターである顧問の a_matsuda…

浮動小数点数のバイナリ表現を10進数表記へ変換してみる

こんにちは、星野源です。すみません取り乱しました、はたけやまです。 最近は趣味でCPUを自作しています。自作のCPUを浮動小数点演算に対応させるためにオープンソースのFPUコア(浮動小数点演算装置)の使い方を調べていたのですが、FPUとやりとりするデー…

RuboCop オリジナル Cop 活用のオススメ

こんにちは、夜な夜なフォーチュンタワーに登っている nsgc です。 複数人でプロダクトやサービスを作る際に可読性や保守性を向上させるため、 コーディング規約を用意してフォーマットを統一したり、あきらかに不要な記述を静的解析ツールでチェックするこ…

価値創造契約10周年

アジャイル事業部で価値創造契約を担当している平田です。 価値創造契約という新しいサービスを発表して、また、最初のソフトウェアリリースから今年で10年になります。 価値創造契約についてはこちらから。(現在は新規受付は停止しています) https://agil…

ActiveRecord::LogSubscriber を使って追加でログを出力する

どうも muryoimpl です。 先日 ActiveRecord::LobSubscriber を使ってログ出力に手を加えたので、その意図と実装例をご紹介したいと思います。 ActiveRecord::LogSubscriber とは ActiveRecord で発行されたクエリをログに出力する役割を担ったクラスです。…

失敗するということはどのようなことか

突然ですが。 みなさんはソフトウェア開発でどれくらい失敗をしていますか? 失敗することについて、私見をまじえつつ考察してみたいと思います。 プロジェクトで失敗していますか? そもそも失敗とは? いつ失敗するか? うまく失敗できているか? 失敗した…

Rails / OSS パッチ会オンライン 2021年4月のお知らせ

2021年4月の Rails / OSS パッチ会を 4月22日(木)にオンライン開催します。 この会をひとことでいうと、日頃のお仕事で使っている Rails をはじめとする OSS への upstream にパッチを送る会です。 会には Ruby と Rails のコミッターである顧問の a_matsuda…

開発環境と金の弾丸

昨今の IT エンジニア募集企業では『開発 PC を選べる』というのが一つの潮流にある気がしています。永和システムマネジメント (以下 ESM) でも自分のパフォーマンスが最も出せる PC を選ぶといった制度が古くからあり、今回はそれにまつわるストーリーを書…

読みやすいテストコードについて考える

こんにちは、@kasumi8pon です。 アプリケーションの機能の追加開発をするときには、既存のテストに追加や修正を行う必要があります。また、既存のテストは現状の仕様を理解するのにも役に立ちます。そのため、テストコードが読みやすいと追加の開発がとても…

asdf のススメ

こんにちわ。 仕事以外のすべての時間を原神に捧げている @kajisha です。 asdf とは asdf の README から引用すると asdf は単一のCLIツールで複数のランタイムバージョンを管理します。 asdfは、プロジェクトごとに複数の言語のランタイムバージョンを管理…

見積りのための「スパイク」

こんにちは。@junk0612です。今回は、普段の仕事の中でぶつかった疑問を解決した話をお送りします。 解決したかった問題 今関わっているプロジェクトでは、実際のエンドユーザーとは別にお客様の社内の方が使う画面で RailsAdmin を使っています。これまで R…

Rails / OSS パッチ会オンライン 2021年3月のお知らせ

2021年3月の Rails / OSS パッチ会を 3月25日(木)にオンライン開催します。 この会をひとことでいうと、日頃のお仕事で使っている Rails をはじめとする OSS への upstream にパッチを送る会です。 会には Ruby と Rails のコミッターである顧問の a_matsuda…

仕様把握と開発をしやすくするためにコミット時に気をつけていること

こんにちは @color_box です。 チームとしてサービス開発に関わっていると、普段の開発の中で、自分の書いたものではないコードや、数年前に作成されたコードを修正する機会が多くあります。 そのような時に修正しやすいと感じたコミットやそれに関わる有用…

GitHub Actions との距離を縮めるツールたち

試行錯誤しながら何かを作っているとき、ひとつひとつの作業に対するフィードバックに時間がかかるとなかなか捗らないことがあります。特にCI/CDの設定では、リモートのサーバ上で何が起きているのかを把握するのに手間や時間がかかったりして思うようにいか…

Ruby組み込みライブラリの型を書くのはそんなに大変じゃなかった

aikyoです。 はじめに Ruby3.0で、型定義を書けるRBSが導入されました。 私は以前にRubyのFileクラスの型定義を書いたので、Cで書かれたRubyの組み込みライブラリの型定義を書くのもそこまで大変ではないよということについて書いていきます。 現在のRBSの状…

【Rails 6.1】AS 句で作ったカラムに DB の型情報はない

本記事の環境 Rails 6.1.1 結論 9sako6 です。突然ですが、 AS 句で作ったカラムに DB の型情報はありません。 次の例をご覧ください。スキーマに日時型で定義されている created_at カラムは TimeWithZone オブジェクトが返るのに対し、AS 句で作った lates…

Rails / OSS パッチ会オンライン 2021年2月のお知らせ

2021年2月の Rails / OSS パッチ会を 2月25日(木)にオンライン開催します。 この会をひとことでいうと、日頃のお仕事で使っている Rails をはじめとする OSS への upstream にパッチを送る会です。 会には Ruby と Rails のコミッターである顧問の a_matsuda…

BuriKaigi2021 で Emoji の話をしました

はじめに はじめまして。 @ima1zumi と申します。2021 年 1 月に株式会社永和システムマネジメントに中途入社しました。好きな gem は Reline と irb で、最近は文字コードに興味を持っています。どうぞよろしくお願いします。 さて、先日オンラインで開催さ…

コミットハッシュからプルリクエストを特定する

Dolce Gustoを買ってからコーヒーを飲みすぎてしまっている wat-aro です。 開発をしていると書かれているコードの意図がわからないことがあります。 そういうときは git blame で該当コミットを確認しますが、コミットを確認しても意図がわからない場合には…

standard librariesとdefault gemsとbundled gemsの違い

日本のハワイ、宮崎よりお送りします。yoshinoです。 先日、XMLでレスポンスを返すAPIがあったので、require 'rexml/document'でロードしてXMLをパースしようとすると、cannot load such file -- rexml/documentが起きてしまう事象に遭遇しました。 Ruby 3.0…

Railsのバグレポートの書き方

こんにちは。Railsを普段使いしていて、想定しない挙動をしたり/この挙動は不具合ではないかと疑うことがあるかと思います。 今回enum関連の不具合報告をしました。本記事では、バグレポートの書き方と実際に報告した不具合の内容を説明したいと思います。 …

コミュニケーションに必要なもの

こんにちは。 はじめまして。tkywtnb です。 ソフトウェア開発を行っていると様々な場面で人とのコミュニケーションが発生します。 コミュニケーションが上手くいっているかどうかがソフトウェア開発に大きな影響を与えることがあるのは、みなさんも心当りが…

昨年末は "どう書く"(プログラミングイベント) を開催しました

こんにちは、新卒2年目の @wai-doi です。 今回は、昨年(2020年)の年末にアジャイル事業部内で「どう書く」というイベントを開催したことについて書きます。(※社内でのみ行ったイベントです) 例年、年内最後の営業日には事業部のメンバーでオフィスの大…

Rails / OSS パッチ会オンライン 2021年1月のお知らせ

2021年1月の Rails / OSS パッチ会を 1月14日(木)にオンライン開催します。 この会をひとことでいうと、日頃のお仕事で使っている Rails をはじめとする OSS への upstream にパッチを送る会です。 今回は終わった後に、有志でオンライン新年会を行います。 …

プロファイラを使ってRubyのコードをパフォーマンス改善したい

こんにちは。永和システムマネジメントの内角低め担当、はたけやまです。 作成したプログラムが想定していた速度で動かず困ってしまうこと、ありますよね? パフォーマンス改善を行う場合、プロファイラなどを使ってプログラムを計測し、どこがパフォーマン…

CurrentAttributesを使ってリクエストごとのdefault_scopeを設定する

こんにちは、永和システムマネジメントに新卒で入社して4年目になりました swamp09 です。 この記事では、以前関わったRailsプロジェクトの default_scope のユースケースと実装例の話をします。 ユーザーが記事を投稿したり、記事にコメントしたりするWeb…

プロジェクト参画直後にやってよかった3つのこと

エンジニア2年目に突入しましたyuki0920です。 私は、入社から1年ちょっとの間に、4つのRailsを使ったプロジェクトに携わりました。 おおよそ約3ヶ月に1プロジェクトを経験していることになりますね。 本記事では、この4つのプロジェクトにエンジニアとして…

ユーザーストーリーマッピングのすすめ

アジャイル事業部の山岸です。 私のプロジェクトでは、作るもの(開発するもの)を決めていくときにユーザーストーリーマッピングのワークショップを開発チームでやっています。ユーザーストーリーマッピングはシンプルな手法であるため、導入のハードルが低…