並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 2912件

新着順 人気順

gemの検索結果241 - 280 件 / 2912件

  • 最終出社日でした - @watson1978 の日記

    今日はReproでの最終出社日。思い返せば 30 歳も過ぎてから Ruby とどう関わっていくかという人生だった。 MacRuby (2010年~) 暇つぶしに Mac OS X のアプリを作ってみようかと思い立った時に出会ったプロジェクトだった。 今のように Swift や clang というコンパイラもなく、 Objective-C 言語というとにかく [] を書きまくらないとならずどうにもなじめなかった。もともと趣味で Ruby はさわっていたのでそれでアプリが作れたら良いのにと思っていたところで、渡りに船的にさわり始めたのがきっかけだった。 私がさわり始めたころはちょっとしたコードを書いてもすぐにクラッシュするような感じで、ちまちま「こういうコードを書くとクラッシュするんだけど何でだろう?」とプロジェクトの issue に書き連ね、気がついたら「こういう風に直すと動くようになるんだ

      最終出社日でした - @watson1978 の日記
    • AWS Lambda でも Rails で Web 開発 - エムスリーテックブログ

      本日はコンシューマチームのブログリレー2日目です。 エムスリーエンジニアリングG コンシューマチームの松原(@ma2ge)です。 今回は以前筆者が M3 Tech Talk で話した AWS Lambda での Web アプリ開発に Rails を使う内容について、 若干内容を変えつつ Tech Blog の方でも紹介をしたいと思います。 最近使っているキーボードの様子 現在のチームで担当している主要なアプリは Rails で書かれていて、ほとんどがコンテナ化され Amazon ECS(ECS) と Fargate を使って運用されています。 そんな中今年の初めに AWS Lambda(Lambda) に適したプロジェクトが話にあがりました。ただ Rails で Lambda しかも Web アプリとなるとあまり採用事例を耳にしません。 とはいえ使い慣れている Rails をそのまま生かし

        AWS Lambda でも Rails で Web 開発 - エムスリーテックブログ
      • Railsアーキテクチャパターン: In-App Gems (アプリ内gem) パターン

        なんとなくパターン・ランゲージ(パターンカタログ)のスタイルが懐かしくなったので、あのスタイルを思い出しながら書いてみます。 目的 特定のアプリと完全に同期していますが、機能的には独立したライブラリをアプリ内のgemとして提供するものです。 動機 アプリで使いたい機能として、ある程度の独立した機能を実装したい 単独のクラスやモジュールとして実装できるものではなく、複数のクラス等が関連して動く程度の粒度を想定する(ので、個別のファイル単位よりはもう少し大きい粒度になる) 独立した機能とアプリが渾然一体となり、気がつくと境界を侵食したり侵食されたりしてしまうことは避けたい 適用可能性 いくつかのclassやmoduleがアプリケーションに依存せず、独立した機能になっている場合 特定のRailsアプリからしか使われる予定がない(共有する必要・予定がない)場合 一定期間しか利用せず、どこかのタイミ

          Railsアーキテクチャパターン: In-App Gems (アプリ内gem) パターン
        • 「エンジニアDB」というサービスを開発しました!【Next.js / Rails / AWS / Terraform / Docker / GitHub Actions】 - Qiita

          3.インフラ(全体構成)について ここから技術的なことについて話していきます。 まず大前提として、プロジェクトの全体構成は、Happiness Chain の卒業課題の条件に基づいて決めれらていました。これらの条件には以下が含まれます Rails APIモード / Reactで完全SPAのポートフォリオを作る。 本番環境と開発環境にDockerを使う。 本番環境にはECS Fargateを使う。 GitHub Actionsを使ってAWSに自動デプロイする。 Terraformでインフラをコード化する。 なので、これに倣って実装しています。 アーキテクチャの全体像 フロントエンドはVercelにデプロイして、バックエンドはAWSのECSにデプロイしています。 ブランチ運用は、GitHub flowを採用しています。 プルリク時にテストが走り、mainブランチにマージされるとデプロイされる感

            「エンジニアDB」というサービスを開発しました!【Next.js / Rails / AWS / Terraform / Docker / GitHub Actions】 - Qiita
          • 上位組織のデプロイ頻度は1週間に約30回 1日1デプロイだったメドピアが挑んだ頻度改善の取り組み

            多数のヘルステックサービスを企画・開発しているメドピアが、リモートワーク継続中でも事業成長を加速させたプロダクト開発の事例や技術的な知見を紹介する「事業成長を加速させたエンジニアリングのウラ側」。ここで「Deploy Rails apps in 2021」テーマに正徳氏が登壇。まずは過去のレポートをもとにした目指すべきデプロイの頻度と、デプロイ改善のために取り組んだことについて紹介します。 自己紹介 正徳巧氏(以下、正徳):「Deploy Rails apps in 2021」というタイトルで発表します。ちょっと私も緊張しているので、ビールを飲みながら発表させてください。 自己紹介です。正徳と言います。会社に入社して1年半ぐらいで、CTO室のSREという部署に所属しています。SNSなどは@shinsokuというハンドルネームで活動しています。よろしくお願いします。 SREでなにをやっている

              上位組織のデプロイ頻度は1週間に約30回 1日1デプロイだったメドピアが挑んだ頻度改善の取り組み
            • rubygems を 1.5 倍に高速化した方法(stackprof --d3-flamegraph の使い方) - まめめも

              タイトルは釣りです。明日 ISUCON 10の予選があると小耳に挟んだので、Ruby で参加する人が絶対に抑えておくべき? Ruby 高速化の tips をひとつ。stackprof --d3-flamegraph のご紹介です。 例題 ちょうど今日、gem install aws-sdk にかかる時間を 37 秒から 24 秒ほどに高速化しました。 変更前: $ time ruby -I lib bin/gem install --no-doc aws-sdk Successfully installed aws-sdk-3.0.1 1 gem installed real 0m37.104s user 0m36.952s sys 0m0.333s 変更後: $ time ruby -I lib bin/gem install --no-doc aws-sdk Successfully

                rubygems を 1.5 倍に高速化した方法(stackprof --d3-flamegraph の使い方) - まめめも
              • ご意見募集: Rubyに名前空間サポート的なものが欲しいという話 - たごもりすメモ

                LFAを書いたときの話にあるKernel#loadの第2引数で名前空間的なものを作れるんだけど、loadした先のファイルでrequireされてたらダメなんだよね、という話の続き。ダメなんだよねー、で終わってたんだけどRubyKaigi2023で@shioyamaさんのMultiverse Rubyを聞いて、ここに仲間がいた!!! ってなって、さらにそのあとバーで飲みながらやろうやろうって盛り上がったので、なんか色々考えている。 RubyKaigiの話は別途書くとして、いまはとりあえずこっち。 後半に、こんなものが欲しい、という話、および読んだ人の意見が欲しいということが書いてあるので、このあたりに何か思うところがある人はぜひ読んでみてください。どっちかというと、自分以外のRubyユーザがどう考えているのかを、bugsに出す前にまず知りたいなと思っています。 動機 Rubyにはみなさんご存知

                  ご意見募集: Rubyに名前空間サポート的なものが欲しいという話 - たごもりすメモ
                • Rails + RSpec + OpenAPI3 + Committeeでスキーマ駆動開発を運用するTips - Timee Product Team Blog

                  こんにちは、タイミーデリバリー開発チームの宮城です。 今回は弊社のOpenAPI3ベースのスキーマ駆動開発の運用方法を紹介します。 TL;DR 技術スタックは OpenAPI3, Swagger UI, Committee, ActiveModelSerializers Committeeを利用してOpenAPI準拠のRequest Specを行う OpenAPI3のrequiredキーワードに注意する 背景 タイミーデリバリーでは、RailsによるAPIサーバーと、Web管理画面としてVue.jsによるSPA、ユーザー向けiOSアプリとしてSwiftを採用しています。 1つのモノリスなRailsで利用者別にネームスペースを区切り、それぞれエンドポイントを提供しています。 サーバーサイドとクライアントサイドを分離し並行して開発を進めるためにスキーマ駆動開発を導入しました。スキーマ駆動開発の

                    Rails + RSpec + OpenAPI3 + Committeeでスキーマ駆動開発を運用するTips - Timee Product Team Blog
                  • anyenv から asdf に移行した - a.out

                    背景 これまで、 Ruby や Python のバージョンを切り替えるために anyenv を使っていた。 しかし anyenv ではいくつか困っていたことがあり、以前から気になっていた asdf というツールに移行することにした。 anyenv で困っていたこと tfenv のような例外に対応できない rbenv などと違って tfenv には init コマンドがない。そのため anyenv init 実行時にエラーが出てしまう anyenv で tfenv をインストールすることはできるが、この点が考慮されていないので自分でなんとかする必要がある anyenvでtfenvを使うときのエラーを抑止する - Qiita tfenv に限らず、今後こういった例外が他にも出てくるかもしれない init スクリプトが遅い 各 env の init コマンドを実行していくので、それなりに時間がか

                      anyenv から asdf に移行した - a.out
                    • スピード優先の開発で溜まった技術的負債の返済計画(サーバーサイド編) - dely Tech Blog

                      こんにちは! dely株式会社サーバーサイドチームの安尾です。 本記事はdely Advent Calendar 2019の5日目の記事になります。 qiita.com adventar.org 昨日は辻さんが「Jupyterもいいけど、SageMath使って可能性もっと伸ばそう!」という記事を書きました。 tech.dely.jp 本日は「スピード優先の開発で溜まった技術的負債の返済計画(サーバーサイド編) 」というタイトルで、今delyのサーバーサイドチームの技術的負債についての考え方から、負債返済のために具体的に行なっていることをご紹介したいと思います。 技術的負債とは 抽象的な言葉なので、組織や人によって微妙に定義が異なるのではないかと思いますが、僕たちのチームでは「未来の開発スピードを下げる原因となるプログラムやアーキテクチャのこと」を総称して技術的負債と呼ぶようにしています。

                        スピード優先の開発で溜まった技術的負債の返済計画(サーバーサイド編) - dely Tech Blog
                      • 『マジック:ザ・ギャザリング』の最強カード「ブラック・ロータス」が現在ebayに出品中。入札価格はすでに1億円超え

                        『マジック:ザ・ギャザリング』の最強カードと名高い「ブラック・ロータス」が1月18日(月)にオークションサイトebayへ出品された。執筆時点で入札額は1億円を突破している。 画像は『マジック:ザ・ギャザリング』日本公式ウェブサイトより画像はebayより 「ブラック・ロータス」とは、トレーディングカードゲーム『マジック:ザ・ギャザリング』のカードの1種。カードを場に出したり、能力を使用する際に必要な「マナ」(コスト)を、「ブラック・ロータス」を生贄に捧げることで3つ生成できるという非常に強い能力を持っており、『マジック:ザ・ギャザリング』初期の強力カード9枚である「パワー9」の筆頭格。 【更新 2021/1/19 12:30】 記事初版にて「場に出すだけで」と記載しておりましたが、正しくは「「ブラック・ロータス」を生贄に捧げることで」でした。訂正しお詫び申し上げます。 その強力すぎる能力ゆえ

                          『マジック:ザ・ギャザリング』の最強カード「ブラック・ロータス」が現在ebayに出品中。入札価格はすでに1億円超え
                        • WHATWG Living StandardとHTMLパーサ - Qiita

                          この記事はドワンゴ Advent Calendar 2020 最終日の記事です。年の瀬ですね。 はじめに 本記事は、WHATWG Living Standardに準拠することを目的としたHTMLパーサである「gammo」の紹介を目的としている。gammoが実現していることを詳細に伝えるため、単なるgemの紹介に留まらず、HTMLの歴史や昨今のHTMLを取り巻く状況を簡単に解説し、WHATWG Living StandardにおけるHTML文書の解析アルゴリズムについて、実例と共に紹介する。 本記事で紹介するgammoの開発に取り掛かった理由は、主に以下の二点が挙げられる。 WHATWG Living Standardに準拠したHTMLパーサをRubyGemsの中から見つけられなかったため。 現在HTMLパーサの機能を持つライブラリの中で、最も利用されていると考えられるNokogiriと比較

                            WHATWG Living StandardとHTMLパーサ - Qiita
                          • ActionMailerでのエラーハンドリングと、メール配信機能の冗長化 - ANDPAD Tech Blog

                            バックエンドエンジニアの宮澤です。 弊社のANDPADでは多くのWebサービスと同じようにメールでの通知機能を持っています。 今回はRailsと複数のメール配信サービスを組み合わせて、メール配信機能を冗長化した事例を紹介します。 ANDPADで導入しているメール配信サービス ANDPADでは2つのメール配信サービスを利用しています Mailgun(メイン) Sendgrid(サブ) 通常はMailgunを主系として利用し、SendgridはMailgunでの送信失敗時に備えて待機する構成になっていて、Mailgunで障害が発生した場合でも自動的にSendgird経由でメール配信できるようになっています。 また、サブにSendgridを採用している理由にRFCに準拠しないメールアドレスへの対策もあります。 ANDPADでは個人の携帯キャリアメールで登録しているアカウントも多く、キャリアメール

                              ActionMailerでのエラーハンドリングと、メール配信機能の冗長化 - ANDPAD Tech Blog
                            • GitHub Appを使ってDependabotが作るpull requestを自動マージさせる - inSmartBank

                              こんにちは。皆さんは自身がメンテナンスするソフトウェアが依存するパッケージの更新、いわゆるdependency updateをどのような形で行っていますか? SmartBankが提供するサービスB/43の開発では主にGitHubのDependabot version updates機能を用いて定期的なdependency updateを行っています*1。これは簡単にいえばGitHub repositoryにYAMLファイルを置いておくだけで自動的かつ定期的にversion updateのpull requestを作ってくれる便利なやつです。 便利ではあるのですが、アプリケーション規模やチーム体制によっては日々作成されるpull requestをさばくのに苦労することがあります。本記事ではそのような運用課題を解決するために導入した、GitHub Appを使った自動マージについて解説します。

                                GitHub Appを使ってDependabotが作るpull requestを自動マージさせる - inSmartBank
                              • 大規模分散DBのCloud Spannerが、RailsのActive Recordに対応。スケーラブルで高可用なRubyアプリケーションの開発が容易に

                                Googleは、同社がクラウドサービスとして提供しているCloud SpannerをRailsのActive Recordに対応させるアダプタ「activerecord-spanner-adapter」が正式版となったことを発表しました。 Cloud Spannerは、Googleの多数のデータセンターにまたがる地球規模で大規模分散処理を行うリレーショナルデータベースです。事実上無制限とされる高いスケーラビリティと99.999%の高可用性を備えつつ、強い一貫性とトランザクション処理、SQLによるクエリなどを実装しています。 メルカリの決済サービスであるメルペイがバックエンドデータベースにCloud Spannerを採用し、数百万ユーザーの処理を行っているとされています。 このCloud SpannerをRailsのActive Recordのバックエンドデータベースとして使えるようにするア

                                  大規模分散DBのCloud Spannerが、RailsのActive Recordに対応。スケーラブルで高可用なRubyアプリケーションの開発が容易に
                                • アプリ内の日付変更線をズラす系の実装 - id:onk のはてなブログ

                                  例えば日記を書くときに、午前 2 時に書いたものは前日分としたいことがある。またユーザがメチャクチャ多いサービスでは、0:00 を回ったら翌日のログインボーナスを配る、としていると、まだユーザが多い時間にサーバの処理が要求されて大変なので、28:00 を日付変更線にしたいことがある。 こういうときには module AppTime def self.beginning_of_day(time) t = time.change(hour: 4) t <= time ? t : t - 1.day end end を作って、 AppTime.beginning_of_day(Time.current) を使うと「アプリ内の日付変更線では何日なのか」が取れる。 # 02:00 は前日扱い time = Time.zone.parse("2021-01-31 02:00") AppTime.beg

                                    アプリ内の日付変更線をズラす系の実装 - id:onk のはてなブログ
                                  • Docker ComposeとDipで開発用コンテナを再利用可能にする(翻訳)|TechRacho by BPS株式会社

                                    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Reusable development containers with Docker Compose and Dip — Martian Chronicles, Evil Martians’ team blog 原文公開日: 2021-04-21 著者: Vladimir Dementyev サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 はじめに: Docker Composeファイルを管理しながら、最小限の労力で複数のDocker環境でコードを実行・テストする方法をご紹介します。YAML設定をいじくる時間を削減し、シンプルなコマンドを1つ実行するだけで任意のホストフォルダから指定の

                                      Docker ComposeとDipで開発用コンテナを再利用可能にする(翻訳)|TechRacho by BPS株式会社
                                    • GitHub Actions がローンチされたのでマイグレートしてる - HsbtDiary(2019-08-11)

                                      ■ GitHub Actions がローンチされたのでマイグレートしてる GitHub が GitHub Actions という built-in CI/CD をローンチしたので夏休み1日目はひたすら触って完全理解していた。 https://github.com/features/actions これ、バックエンドは Azure Pipelines で public repository だと無料、並列数も 20 という内容なので他の CI サービスは CPU/RAM で殴り合いしても MS には勝てないので、Developer Experience(DX) で戦うしかなくなるんだけど、そこも GitHub がちゃんとハンドリングするだろうから、中期的にはとにかく厳しい戦いになると思う。てか、撤退じゃないかな...。 あと、以前にリリースした HCL バージョンの GitHub Actio

                                        GitHub Actions がローンチされたのでマイグレートしてる - HsbtDiary(2019-08-11)
                                      • GistでGemを公開

                                        Gistにファイルを置くだけで、Gemとして公開できる。 最小構成だと、gemspecとソースコードをGistに配置すれば良い。 Gem::Specification.new do |spec| spec.name = 'my_gem' spec.version = '0.0.1' spec.authors = ['Your Name'] spec.email = ['[email protected]'] spec.summary = 'Summary of this gem' spec.files = ['my_gem.rb'] spec.require_path = '.' end # ここに好きなコードを書く 使う側では、gitプロトコルでGistのGitリポジトリとしてのURLを指定すれば良い。 gem 'my_gem', git: 'https://gist.github.co

                                          GistでGemを公開
                                        • 初級者にとっては“補助輪”、中・上級者にとっては“ブースター” 自作ライブラリ開発のハードルをグッと下げてくれる「GitHub Copilot」の使い方

                                          「GitHub Copilotを使って自作ライブラリを作ってみよう」というタイトルで登壇したのは、株式会社タイミーの新谷哲平氏。同社主催の「GitHub Copilotで拓く開発生産性」で、自作ライブラリ作成における「GitHub Copilot」活用について発表しました。 タイミー社・バックエンドエンジニアの新谷氏 新谷哲平氏:では「GitHub Copilotを使って自作ライブラリを作ってみよう」という題でタイミーの新谷が発表させていただきます。よろしくお願いします。 簡単に自己紹介をさせてください。タイミーでバックエンドエンジニアをしています。書くことがなかったので、好きなものはカレーと書いてみたんですが、自分が好きなカレーはジャワカレーです。みなさん、おすすめのカレールーがあれば今回のハッシュタグを使ってポストをして教えてください。よろしくお願いします。 簡単に、タイミーの紹介をさ

                                            初級者にとっては“補助輪”、中・上級者にとっては“ブースター” 自作ライブラリ開発のハードルをグッと下げてくれる「GitHub Copilot」の使い方
                                          • OpenAPIを使ったRailsスキーマ駆動開発 - ドワンゴ教育サービス開発者ブログ

                                            はじめに サービス構成 レポジトリ一覧 サーバー側Railsアプリ クライアント側Railsアプリ 開発の流れ 利用ツール swagger-cli committee-rails 不具合1: ファイルの分割 不具合2: $refとnullableの同時使用 json-schema openapiの記法に合わせた機能拡張 openapi-generator-cli (Ruby client) 不具合1: 中途半端な型チェック 不具合2: oneOf/anyOfに非対応 factory_bot 終わりに We are hiring! はじめに 前回の記事では、OpenAPIで新しいウェブAPIを定義する際に、yamlのままで読みやすいようにファイル構成等を工夫した話をしました。 今回はそのAPIスキーマを使って、Railsでスキーマ駆動開発を実現するにあたって利用しているツール類についてお話し

                                              OpenAPIを使ったRailsスキーマ駆動開発 - ドワンゴ教育サービス開発者ブログ
                                            • 保存版: Railsアプリケーションのセキュリティベストプラクティス(翻訳)|TechRacho by BPS株式会社

                                              概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Security Best Practices for Your Rails Application | AppSignal Blog 原文公開日: 2022/10/05 原著者: Paweł Dąbrowski サイト: AppSignal Blog 参考: 週刊Railsウォッチ20221011 Railsのセキュリティベストプラクティス 日本語タイトルは内容に即したものにしました。原文の章インデントは訳文で一部を変更しています。 以下のRailsセキュリティガイドも合わせてお読みください。 参考: Rails セキュリティガイド - Railsガイド Webアプリケーションを構築するときは、パフォーマンスや使い勝手を重視するのはもちろんですが、セキュリティにも注目する必要があります。ハッキング手法は、技術の進化と変わらない

                                                保存版: Railsアプリケーションのセキュリティベストプラクティス(翻訳)|TechRacho by BPS株式会社
                                              • ECS を利用した検証環境の自動構築 ~運用3年を経て得た知見~ - メドピア開発者ブログ

                                                CTO 室 SRE kenzo0107 です。 以前執筆した ECS を利用した検証環境の自動構築について、運用開始から3年の時を経ました。 実運用とその上で頂いた要望を取り入れ変化してきましたので、その経緯を綴ります。 tech.medpeer.co.jp 本稿、議論を重ね改善を進めて頂いたチームメンバーの知見を集めた元気玉ブログとなっております。 前提 社内では、以下の様に呼び分けしています。 本番相当の検証環境を STG 環境 本記事で説明する自動構築される仕組みを持つ環境を QA 環境*1 検証環境の自動構築の目的 開発した機能を開発担当者以外でも簡易的に確認できる様にし、以下を促進します。 ディレクターと開発者の仕様齟齬を減らす 改善のサイクルを高速化する 当時の検証環境の自動構築の仕組み 大まかな流れ ① ブランチ qa/foo を push ② CircleCI 実行 ③ C

                                                  ECS を利用した検証環境の自動構築 ~運用3年を経て得た知見~ - メドピア開発者ブログ
                                                • RailsアプリをRuby 2.7.0で動かして分かったこと | Recruit Tech Blog

                                                  はじめに (背景) 昨年のクリスマスにRuby 2.7.0がリリースされました。 Ruby 2.7は今年リリース予定のRuby 3への移行を見据えたバージョンであり、多くの新機能や変更点があります。そこで、弊社が企画制作する『Babyプラス』のRailsアプリをRuby 2.6.5 -> 2.7.0に上げて動かしてみたところ、約1,000件のテストケース実行に対して6件のエラーと2,700件ほどのワーニングが発生しました。この結果の分析によりRuby 2.7移行について傾向と対策が見えてきたので、現時点 (2020/01/08) で分かったことを共有します。 結論 (Ruby2.7移行についての傾向と対策) 傾向として、多くのgemがRuby 2.7.0からワーニングとなる言語仕様変更の影響を受ける 具体的には、ブロック無しProc.new/proc/lambdaおよびキーワード引数 (k

                                                    RailsアプリをRuby 2.7.0で動かして分かったこと | Recruit Tech Blog
                                                  • 初学者が Ruby on Rails の広大さに途方にくれたけどなんとかやっていけるようになった話 - Eggshell

                                                    これは「フィヨルドブートキャンプ Part 1 Advent Calendar 2020」の4日目の記事です。 フィヨルドブートキャンプ Part 1 Advent Calendar 2020 - Adventar 昨日は hogucc さんの Rubyでリファクタリングをやってみよう でした。 Part2 もあります。 フィヨルドブートキャンプ Part 2 Advent Calendar 2020 - Adventar また、この記事は2020年ふりかえりアドベントカレンダー 4日目です。昨日の記事は 「数学ガールの秘密ノート/学ぶための対話」感想 です。 今日はフィヨルドブートキャンプで最も苦しんだプラクティス、Ruby on Rails についての思い出を書こうと思います。随分長くなってしまいましたが、ふわっとした話なので暇なときにでもどうぞ.. フィヨルドブートキャンプで Rub

                                                      初学者が Ruby on Rails の広大さに途方にくれたけどなんとかやっていけるようになった話 - Eggshell
                                                    • Ruby フルタイムコミッタの仕事報告 2022年12月 - ANDPAD Tech Blog

                                                      こんにちは、hsbt です。先日、Podcast を収録した際に紹介した PS5 のウィッチャー3がまだ終わらずに引き続き時間を費やしています。いつになったら終わるのでしょう。 今日は前回の Ruby フルタイムコミッタになってからやったこと、の定期シリーズということで 2022年12月にフルタイムコミッタとして行った仕事の一部をご紹介します。 ソフトウェア開発におけるアーカイブの重要性 Ruby に限らずソフトウェア開発において、コードの Why と Why not を把握できる状況を維持することは、自分だけではなくソフトウェアに関わるチームメンバー全員にとって、継続的な開発を行うための重要な取り組みです。 コードには How テストコードには What コミットログには Why コードコメントには Why not を書こうという話をした— Takuto Wada (@t_wada) 2

                                                        Ruby フルタイムコミッタの仕事報告 2022年12月 - ANDPAD Tech Blog
                                                      • 『設計ナイト2024』に行ってきたよメモ - コード日進月歩

                                                        『設計ナイト2024【オフライン】 - connpass』に参加してきたのでそのメモです。 各発表の感想 ※資料スライドは見つけたら貼ります。 ロジックから状態を分離する技術 今日の登壇資料です。 ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyhttps://t.co/XxBNAYiKXS #sekkeinight— わいとん (@ytnobody) 2024年6月14日 感想 純粋関数の話を基軸にいかに容易にしていくのか、という話 入力から必然的に出力が決まるロジック類をDomainとしておこうという発想はよかった 純粋関数の構成デザインパターンの分け方すごくいいなぁと思ったのと、このあたりの話を提唱している人いないのがびっくり 関連リンク 純粋関数とは - 意味をわかりやすく - IT用語辞典 e-Words Flux パターンが解決した課題 -

                                                          『設計ナイト2024』に行ってきたよメモ - コード日進月歩
                                                        • Ruby 3.0の静的型定義をTypeScriptみたいにライブラリに書いてみた所感 - Narazaka::Blog

                                                          Ruby 3.0が先日のクリスマス(というか昨日)にリリースされたと言うことで、型をやっていきたいと思います。 当方TypeScript大好きっ子なのでRuby 3.0で取り込まれた最も注目すべき機能は静的型チェック関係なのですが、どうもその辺についていまいちまとまって書いてある物がなかった気がするので調べたことをメモします。 Rubyの静的解析 型宣言 rbsファイルを作る方法 実際に型宣言を書く(基本) 検査時の型アノテーションが貧弱でつらいぞ…… 所感 gemに型を含める Steepの作者さんからフィードバックをいただきました。(※追記) 実際に型宣言を書く(Rails関連) DefinitelyTyped相当?「gem_rbs」と「rbs_rails」 実際に型宣言を書く(頑張っていい感じにする)(※追記) VSCode拡張機能で充実する 所感 untypedでやっていき Defi

                                                            Ruby 3.0の静的型定義をTypeScriptみたいにライブラリに書いてみた所感 - Narazaka::Blog
                                                          • 2019年、fat gemをやめる - 2019-11-22 - ククログ

                                                            fat gemを簡単に作れるようにするgemであるrake-compilerをメンテナンスしている須藤です。過去にfat gemの作り方をまとめたこともあります。 Ruby 1.8.7/1.9.1どちらでも使えるWindows用バイナリ入りgemをDebian GNU/Linux上で作る方法 Windowsの32bit/64bit版Ruby用バイナリ入りgemをDebian GNU/Linux上で作る方法 fat gemが有用な時代もあったのですが、今はメリットよりもデメリットの方が大きいのでfat gemをやめたらどうか、という話をします。 fat gemについて fat gemとはビルド済みバイナリーが入ったgemのことです。Pythonで言えばwheelのようなものです。 RubyはC言語でRuby用のライブラリーを実装することができます。これを拡張ライブラリーと呼びます。拡張ライブ

                                                              2019年、fat gemをやめる - 2019-11-22 - ククログ
                                                            • ANDPAD Rails 6.0へのアップグレード - ANDPAD Tech Blog

                                                              r7kamuraと言います。2020年9月頃からANDPADの開発に参画しています。 2021年2月、ANDPADで利用しているWebアプリケーションフレームワーク Ruby on Rails (以下Rails) のバージョンを5.2から6.0にアップグレードしました。今後アップグレードを行う方が同様の作業を行えるよう、今回の変更に伴い必要となった作業について、あらためて言語化してこの記事で共有できればと思います。 全体の流れ 大まかに分けると、今回は次のような手順で作業を進めていきました。 Rails 5.2系の最新のバージョンに上げる Rails 6.0版のブランチを用意してテストを通す Rails 5.2と6.0に両対応したコードに変更する Rails 6.0で検証を進める Rails 6.0に本番環境を切り替える Rails 5.2向けの対応を取り除く Gemのバージョン変更 Ra

                                                                ANDPAD Rails 6.0へのアップグレード - ANDPAD Tech Blog
                                                              • Rubyist Hotlinks 【第 38 回】国分崇志 さん

                                                                はじめに 著名な Rubyist にインタビューを行う企画「Rubyist Hotlinks」。第 38 回となる今回は、国分崇志さん。 では、お楽しみください。 インタビュー 聞き手 卜部さん (@shyouhei) 語り手 国分崇志さん (記事中「国分」) 野次馬 遠藤さん、村田さん、柴田さん、sorahさん 日にち 2019 年 9 月 某日 写真提供 村田さん、柴田さん 目次 はじめに インタビュー 目次 プロフィール 代表作 プログラミング経験 Rubyについて 興味ある言語 大学入学後のお話 就職 トレジャーデータ入社 今後の話 普段の生活 普段使っている計算機 将来の夢 村田さんとの関係 次のインタビュイー 若手の読者に一言 プロフィール 卜部 じゃあ録音をします。 柴田 始まり。 卜部 じゃあ、お願いします。 国分 よろしくお願いします。 柴田 おはようございます。 卜部

                                                                • Ruby 3.1はここに注目! 新しいJITとは? デバッガ、エラーメッセージ、そして未来! リリースマネージャーに聞いた |ハイクラス転職・求人情報サイト AMBI(アンビ)

                                                                  Ruby 3.1はここに注目! 新しいJITとは? デバッガ、エラーメッセージ、そして未来! リリースマネージャーに聞いた 2021年12月25日にリリースされたばかりのRuby 3.1では、どのような機能がどういった経緯で採用されているのでしょう。リリースマネージャーのnaruseさんと、フルタイムコミッターのmameさん、ko1さんに詳しくうかがいました。 プログラミング言語Rubyでは2013年の2.1.0以降、毎年クリスマス(12月25日)にメジャーバージョンアップが行われています。2021年も無事にバージョン3.1.0がリリースされました。 ▶ Ruby 3.1.0 リリース Ruby 3.1は、言語機能の面では全体的に穏やかなリリースにも見えますが、新しい方式のJIT(just in time)コンパイラ、標準の新デバッガー、事前アナウンスでも好評だったエラーメッセージの改善な

                                                                    Ruby 3.1はここに注目! 新しいJITとは? デバッガ、エラーメッセージ、そして未来! リリースマネージャーに聞いた |ハイクラス転職・求人情報サイト AMBI(アンビ)
                                                                  • みんなが安心して参加できる勉強会・懇親会のために主催者ができること(自由に再利用 or 改変可能なスライド付き) - give IT a try

                                                                    はじめに 先日、TwitterでIT勉強会や懇親会に関するこちらのツイートを拝見しました。 ↓勉強会に参加したい ・レベルについていけないかも🤯 ・違う目的で参加している人居たら嫌だな(そもそも出会い目的じゃ無いし) ・内輪感あり過ぎてて溶け込めない雰囲気じゃないかな🤔 ・懇親会はコミュ力最大限に使うし目的違うのでいらない ↓不安の結果 やっぱり自宅で勉強しよ😇 ※繰り返し— Shoko Sato 🐶 (@satoshoco) January 11, 2020 勉強会数えきれないくらい行ってるけど人見知りなので未だに懇親会苦手感ある(とっても楽しいのだけど) 懇親会でTokyoGirls.rbのぼっち対策が行われた会を数件見ていて、この活動広まるといいなあ…と思ってる。 https://t.co/40b4y52I3I— makicamel (@makicamel) January

                                                                      みんなが安心して参加できる勉強会・懇親会のために主催者ができること(自由に再利用 or 改変可能なスライド付き) - give IT a try
                                                                    • Swiftのみを使って、今Qiitaを作るとしたら - Qiita

                                                                      Swift は iOS アプリを作るための言語というイメージが強いと思います。しかし、実際にはサーバーサイドプログラムや機械学習、コマンドラインツールの開発など、 多様な目的で利用できる汎用言語です 。 2015 年にオープンソース化され、 Linux でも動作し、近々 Windows もサポートされる予定です。 Swift は Apple の言語ですが、それは TypeScript が Microsoft の、 Go が Google の言語だというのと同じ程度の意味しか持たないと思います。 Swift Core Team には Google のエンジニアも入っていますし、新しい言語の機能はすべて、オープンな場で議論された上で決定されます。 そんな Swift にとって期待される二つの分野が、 Web のクライアントサイドとサーバーサイドです。 WebAssembly に対応することで、

                                                                        Swiftのみを使って、今Qiitaを作るとしたら - Qiita
                                                                      • 社内共通システムをPHPからRuby on Railsにリプレイスした話

                                                                        2019年7月6日、株式会社サイバーエージェントが主催するイベント「Battle Conference U30」が開催されました。30歳以下のエンジニアによる30歳以下のエンジニアのための技術カンファレンスである本イベントには、さまざまな領域で活躍する若手が登壇。企業の枠を超えて、自身の技術・事業・キャリアに関する知見を発表しました。「システムリプレイスで事業を変える開発戦略」に登壇したのは、株式会社エイチームライフスタイル・鈴木就斗氏。 社内共通システムをリプレイス 鈴木就斗 氏:それでは「システムリプレイスで事業を変える開発戦略」ということでお話させていただきます。エイチームのグループ会社である株式会社エイチームフィナジーの鈴木就斗です。ちなみにみなさん、エイチームという会社を知っていますか? 聞いたことある方は手を挙げてほしいんですけど……。 (会場挙手) ありがとうございます。パラ

                                                                          社内共通システムをPHPからRuby on Railsにリプレイスした話
                                                                        • 「人肉レストラン」を運営するサイコなシミュレーションゲーム『Ravenous Devils』Steam版が日本語に対応へ。発売一ヶ月を待たず10万本突破の人気作

                                                                          デベロッパー(開発元)のBad Vices Gamesは5月19日、ホラー経営シミュレーションゲーム『Ravenous Devils』Steam版が日本語に対応したと発表した。 発表によるとXbox One、Xbox Series X|S版、海外向けのNintendo Switch、PS4、PS5版も追って日本語に対応するという。価格は580円で、前述のプラットフォームのほかEpic Gamesストア、GOG.comでも配信している。 本作は日本語を含む5言語に対応し、記事執筆時点でSteamストアよりダウンロードできる無料の体験版は日本語に対応している。 『Ravenous Devils』は仕立て屋として密かに殺人を犯し、新鮮な人肉をレストランで提供する経営シミュレーションゲームだ。犯罪、汚職、貧困が蔓延する街を舞台に、プレイヤーは仕立て屋のパーシヴァルと人肉レストランを運営する料理人ヒ

                                                                            「人肉レストラン」を運営するサイコなシミュレーションゲーム『Ravenous Devils』Steam版が日本語に対応へ。発売一ヶ月を待たず10万本突破の人気作
                                                                          • AWS Lambda でコンテナに入れた Sinatra を動かす - id:onk のはてなブログ

                                                                            何番煎じか分からないけど、最近やったので。 前提知識 AWS Lambda + Amazon API Gateway で HTTP リクエストを受け付けることができる AWS Lambda ではコンテナイメージを動かせる New for AWS Lambda – Container Image Support | AWS News Blog AWS Lambda で Sinatra アプリを動かすための公式サンプルがある https://github.com/aws-samples/serverless-sinatra-sample つまりコンテナ化した Sinatra アプリを Lambda 上にデプロイして HTTP リクエストを受け付けることができる。 動かす準備はもう全部整っていて、お手軽そうですね。 Ruby アプリを Lambda で動かすコンテナイメージを作る Sinatra

                                                                              AWS Lambda でコンテナに入れた Sinatra を動かす - id:onk のはてなブログ
                                                                            • Feature Toggleを用いたRailsアプリの継続的なリリースと要注意事項 - メドピア開発者ブログ

                                                                              はじめに 皆様こんにちは、サーバーサイドエンジニアの草分です。 突然ですが、開発者の皆様、実装したソースコードはこまめにリリースしていますか? 「大きい機能なので開発に時間がかかる」「障害が起きないよう念入りにテストする必要がある」などの理由で、Featureブランチのままコミットグラフが伸びに伸びたりしていませんか? 大きな機能を作ること自体は悪いことではありませんが、大きすぎるFeatureブランチは、本流ブランチとの挙動の乖離やコードの衝突が発生しやすく、レビューやマージに多大な苦労を伴います。 この記事では、この問題の解決策の1つとなる「Feature Toggle」を、Ruby on Railsにおける実装方法と共にご紹介します。 Feature Toggle自体は開発手法の一種であるため、言語/フレームワークを問わず広く活用されています。 Feature Toggleとは 「機

                                                                                Feature Toggleを用いたRailsアプリの継続的なリリースと要注意事項 - メドピア開発者ブログ
                                                                              • GitHub Actions上で独自のワークフローを構築しやすくするための仕組み - Pepabo Tech Portal

                                                                                本エントリはGMOペパボエンジニア Advent Calendar 2021の25日目のエントリです。メリークリスマス! はじめまして、技術部技術基盤チームの@k1LoW と申します。最近はYouTube Musicの「おすすめのアーティスト」をふらふらと漂流するのが好きです。その漂流で見つけた Nubiyan Twist がカッコいいです。 GMOペパボではGitHub Enterprise Server (以下、GHES)を利用しており、CI/CD基盤としてGitHub Actionsを活用しています。 本ブログでも様々なGitHub Actions活用事例を紹介しています。 #GitHub Actions に関する記事一覧 手動で実施していた業務やタスクをGitHub Actionsのワークフローとして構築しなおす GMOペパボではGitHub Actionsをいわゆる「CI/CDの

                                                                                  GitHub Actions上で独自のワークフローを構築しやすくするための仕組み - Pepabo Tech Portal
                                                                                • クジラに乗ったRuby: Evil Martians流Docker+Ruby/Rails開発環境構築(更新翻訳)|TechRacho by BPS株式会社

                                                                                  さて、どこからお話を始めましょうか。ここに到達するまでに長い長い旅路をたどりました。かつて私は開発にVagrantを使っていましたが、当時のVMは私の4GB RAMのノートPCでは少々重すぎました。そして2017年にコンテナへの乗り換えを決意したときに、やっとDockerを使い始めました。 しかしDockerで問題がたちまち解決したという気持ちではありません。自分自身やチーム、そしてすべての人々にとって完璧な設定を追求し続けてきましたが、「これでよし」と言える究極の設定はありません。標準的なアプローチを見出すまでにかなりの時間を要しました(2019年に本記事を最初に公開した時点でも相当の時間を費やしていました)。 本記事を最初に公開して私の秘密を隅々までオープンにして以来、多くのRailsチームや開発者が私の手法を採用し、さらに改良や貢献にもご協力をいただきました。 前置きはこのぐらいにし

                                                                                    クジラに乗ったRuby: Evil Martians流Docker+Ruby/Rails開発環境構築(更新翻訳)|TechRacho by BPS株式会社