ユニファ開発者ブログ

ユニファ株式会社プロダクトデベロップメント本部メンバーによるブログです。

Ruby

変数名やメソッド名、どのように決めていますか?

こんにちは、サーバーサイドエンジニアの横山です。 皆さんは、変数名やメソッド名(関数名)をどのように決めていますか? 私はよく変数やメソッドの命名に苦労しています。 ChatGPTに質問してみたり、翻訳してみたりしますが、しっくりくる名前に中々辿り…

NotionのRepeatをもうちょっと便利にしたいなぁ

こんにちは、サーバーサイドエンジニアのいいだです。 残念ながら夏になりました。夏になるとそうめんのことばかり考えていますが、今年はそうめんサラダが大流行しています。いかにも上品でヘルシーな食べ物という見た目をしておいてしっかり小麦の塊であり…

アーカイブ公開中!「社会課題解決 on Rails!」イベントを開催しました!

皆様こんにちは、ユニファCTOの赤沼です。 もう一ヶ月以上経ってしまいましたが、先日「社会課題解決 on Rails!イノベーションを起こすスタートアップと繋がろう」というイベントを開催しました! X Mile 開発責任者 の蝦名さん、iCARE CTO の工藤さんと共…

Things I have learned from performing Rails upgrade

By Patryk Antkiewicz, backend engineer at Unifa. Recently I have been working on Ruby on Rails upgrade in one of our projects: Ruby: 2.7.2 -> 3.2.2 Rails: 6.0.3.6 -> 7.1.2 I was proceeding according to the official guide , but during the p…

Google Gemini の REST API を Ruby から使ってみる

みなさんこんにちは、ユニファの赤沼です。 この記事は Unifa Advent Calendar 2023 の20日目の記事です。 adventar.org 先日 Google Gemini の API が公開されましたが、Ruby の SDK は公開されていないので Python のクライアントライブラリから触ってみた…

Dev Containers で Ruby や Python の実行環境をサクッと作れるようにしておく

みなさんこんにちは、ユニファの赤沼です。 この記事は Unifa Advent Calendar 2023 の10日目の記事です。 adventar.org 最近はポジション的にプロダクションのコードを書くことはほとんどなくなってしまいましたが、ChatGPTなどLLM界隈の動きもあって手元で…

Ruby から Bedrock Claude 2 のAPI を使ってみる

みなさんこんにちは、ユニファの赤沼です。 この記事は Unifa Advent Calendar 2023 の6日目の記事です。 adventar.org 生成AIといえば OpenAI や Microsoft が主流になっていますが、最近は AWS もかなり力を入れていて、AWS上でマネージドサービスとしてモ…

langchain.rb で OpenAI / Azure OpenAI Service を使ってみる

みなさんこんにちは、ユニファの赤沼です。 この記事は Unifa Advent Calendar 2023 の3日目の記事です。 adventar.org 昨日の記事では ruby-openai で OpenAI API を使ってみる記事を書きましたが、今日はさらに LangChain の Ruby版と言える langchain.rb …

ruby-openai で OpenAI / Azure OpenAI Service を使ってみる

みなさんこんにちは、ユニファの赤沼です。 この記事は Unifa Advent Calendar 2023 の2日目の記事です。 adventar.org ルクミーでは ChatGPT を活用した機能の提供を進めています。最近では多くの ChatGPT 活用事例が世に出ており、サンプルコードなども豊…

Rubyの並列プログラミングについて考える

こんにちは、並列してますか?プロダクトエンジニアリング部の伊東です。 並列処理と言えば、過去に弊社メンバーがこんな記事を投稿しています。 tech.unifa-e.com 私は今までWebアプリケーションを作っていて、並列処理を書く機会はほとんどなかったです。 …

Ruby on Railsのexists? / any? / present?

初めに こんにちは。ユニファのバックエンドエンジニア、シュウです。 最近、社内のRuby on Railsのソースコードを調査している中で、レコードの存在チェックによく使われている3つのメソッドを見ました。 present? exists? any? Ruby on Railsのエンジニア…

MemoryProfilerでメモリについて調べてみる

こんにちはサーバーサイドエンジニアの乙です。 コードを書いているときに「このオブジェクトはどれだけのメモリを使用しているんだろう?」と考えるとことはありませんか?まずはインストール不要で使える組み込みライブラリのObjectSpaceを使ってみましょう…

RubyKaigi 2023 in 松本 参加レポート: Matz Keynote

皆様こんにちは。ユニファCTOの赤沼です。 先日 2023/05/11 から 05/13 まで松本市で開催された RubyKaigi 2023 に参加してきました。RubyKaigi は毎回違う場所で開催され、松本での開催は2020年に予定されていたものの、COVID-19 の影響でキャンセルになっ…

Ruby2.7/Rails6.1へのバージョンアップが完了しました

こんにちは、サーバーサイドエンジニアの山田です。 ユニファ開発者ブログに初投稿です! 以前から続けていたRuby/Railsバージョンアッププロジェクトが完了しましたので、今回は作業を進める中で気をつけたことについて書こうと思います。 この記事は以下2…

Ruby 3.2.0 の WebAssembly を Node.js で実行する

こんにちは、rightgo09 です。 今回は Ruby 3.2.0 で実行可能になった WebAssembly を Node.js で動かしてみます。 WebAssembly の概要について Ruby 3.2.0 について Ruby + WebAssembly について やってみる まとめ

GraphQL on Rails

By Harvey Ico, backend engineer at Unifa. Building your own API structure can be chaotic specially if you have a lot of endpoints, and maintaining documentations are troublesome. If you've been a backend engineer for a while now like me, y…

Try some PaaS for Ruby on Rails

By Peter Chen, backend engineer at Unifa. The PaaS(Platform as a Service) my pet projects used stopped providing free plans from this year. So, recently I've been looking for and trying other alternatives. Tried to google and got a long re…

Visualizing Ruby tests coverage using Codecov

By Patryk Antkiewicz, backend engineer at Unifa. Writing tests that check correctness of each piece of code that at the first glance might look obvious and absolutely bug-resistant is a tedious task that most developers don’t like. It migh…

TurboStream experiment on Ruby on Rails

By Domingo Cividanes, backend engineer at UniFa. With the version release of Ruby on Rails new interesting features comes out. But one of this new features really got my attention: Turbo. Turbo allows to send HTML and not JSON over the wir…

Railsのプロダクションコードを約1万行削除しました

こんにちは。プロダクトエンジニアリング部の伊東です。 現在、私が所属するチームでは、弊社で一番古くから動いているプロダクトのRubyとRailsのバージョンアップを行っています。 記事作成時点では、バージョンアップ作業の途中ですが、着々と進行していま…

bundlerは依存関係のあるライブラリをどうやってダウンロードするか?

この記事は、ユニファ Advent Calendar 2021の15日目の記事です。 adventar.org こんにちは。プロダクトエンジニアリング部のちょうです。 今回は、皆さんがRubyで開発するときよく使うbundlerについてすこし中身を深堀りして説明したいと思います。bundler…

Rubyの並行処理についてまとめてみる

あいわらず鍋ばかり食べているWebエンジニアの本間です。 ただ、鍋の種類はごま豆乳鍋から寄せ鍋に変わりました。 さて1ヶ月以上遅れになりますが、 Ruby 3.0 が無事リリースされました。 まずはリリースに携わった全ての皆さま、本当にありがとうございます…

SORACOM API を Sandbox 環境でテストする

皆様こんにちは、ユニファの赤沼です。 弊社では「ルクミー午睡チェック」というプロダクトで SORACOM Air Sim を使用しています。通常はセルラーモデルの iPad mini での通信用途に使っていて、API の活用はまだまだ十分にはできていないのですが、最近 Rub…

業務サポートslack botを作ってみた

こんにちは、tjinjinです。9月からユニファでインフラエンジニアとして働いています。この記事はユニファアドベントカレンダーの2日目です。昨日は渡部さんのJIRAの便利Tipsでしたね、JIRA力を上げていきたい…! この記事では業務サポート用のslack appを作…

RubyWorld Conference 2019

By Robin Dickson, software engineer at UniFa. The RubyWorld Conference 2019 was held on November 7th and 8th in Matsue, Japan. UniFa joined as a sponsor and had a chance to show the Lookmee Nap Check service (ルクミー午睡チェック), which u…

ルクミーフォト リニューアルで実施した技術的な変更のご紹介

お久しぶりです、Webエンジニアの本間です。 去る2019年10月1日に自分が所属するチームで担当した「ルクミーフォト」のリニューアル版をリリースすることができました。 【プレスリリース】『ルクミーフォト』および ユニファコーポレートサイトリニューアル…

BLE Nano + ホールセンサー + Raspberry Pi でドアセンサーを作る

こんにちは、ユニファの赤沼です。みなさんのオフィスではセキュリティはどうされてますでしょうか?ユニファではエントランスから会議室エリアもしくは執務室へ入る場合にはICカードによるドアロックを設置しています。ただ、会議室エリアと執務室を隔てる…

エラー「A copy of xxx has been removed from the module tree but is still active!」と「ObjectContainer」

こんにちは、システム開発部のちょうです。今回はあるエラーから1つ小さいなライブラリを作った話について共有したいと思います。 先月の開発でまれに「A copy of xxx has been removed from the module tree but is still active!」というエラーに遭遇しま…

net/httpでHTTP API Clientを作ってみました

こんにちは、チョウです。 最近HTTP APIを利用できるようにクライアントを作ってみました。そこで使ってるHTTP Clientのライブラリはnet/httpです。ほかにいろいろライブラリがありますが、依存を増やしたくないため、見送りました。 HTTP API Clientで対応…

Rubyのスレッドで並列化するのに向いている処理を調べてみる

こんにちは、夏に向けて腹筋強化中のWebエンジニア、本間です。 はじめに、この開発者ブログを開設してから、半年が経過しました 気づけばエントリー数も20を超え、開発者ブログっぽくなってきなーと感じております。 この勢いを続けていけるよう、会社とし…