並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 271件

新着順 人気順

gemの検索結果161 - 200 件 / 271件

  • noteの検索をCloudSearch からElasticsearchに移行しつつある話|chov

    記事の概要を3行でまとめ検索システムの移行や導入は組織化しましょう 指標に気を取られすぎないようにしましょう 検索を見ると様々なドメインに触れるので知識が増えてお得 はじめにnote株式会社で検索エンジニアをしているchovです。 早速ですが、noteでは全文検索エンジンを以下の箇所で利用しています。 ハッシュタグの検索 ユーザの検索 マガジンの検索 記事の検索 メンバーシップの検索 CloudSearchを利用した検索結果これまではCloudSearchを利用していましたが、2022年の4月ごろからElasticsearchへの移行プロジェクトを始め、この記事が公開される2023年2月時点でほとんどの検索をElasticsearchに移行するところまで進みました。 本稿では移行プロジェクトの進め方や検証の手法について解説しますが、これから全文検索エンジンの導入・移行を行う方の参考になれば

      noteの検索をCloudSearch からElasticsearchに移行しつつある話|chov
    • git-pr-releaseとGitHub Actionsでワンクリックデプロイを実現する | おそらくはそれさえも平凡な日々

      突然ですが、git-pr-releaseのなんちゃってコラボレーターである私が僭越ながら、その王道の使い方を皆様に伝授していきます。何番煎じかの記事ではありますが、現代の、特にGitHub Actions出現以降の使い方をまとめたいというのが動機です。 https://github.com/x-motemen/git-pr-release https://rubygems.org/gems/git-pr-release git-pr-releaseはGitHubを業務開発で利用している場合に便利なツールで、デフォルトブランチにマージされたpull requestをリリース項目として一覧し、それをpull request化してくれるものです。これにより以下のことが実現できます。 リリース項目が一覧されることによるリリース内容の明確化 マージボタンによる明快なワンクリックデプロイの実現 pul

        git-pr-releaseとGitHub Actionsでワンクリックデプロイを実現する | おそらくはそれさえも平凡な日々
      • WSLの代わりにDockerを使う - ただのにっき(2020-07-23)

        ■ WSLの代わりにDockerを使う 自宅で仕事をするようになって、さすがにWSLのI/Oの遅さに嫌気が差してきた今日このごろ。 世間的にはWindows10 2004*1のWSL2がたいへん評判が良くて、おれもはやく移行したいんだけど、2004にまだけっこう致命的なバグがあって、関係するデバイスを持つうちのPCにはまだ当てられそうにない。PCも古いので買い換える予定なんだけど、まだ機種選定中なものだから、WSL2までのつなぎとして、同じHyper-V上の仮想環境であるDockerをWSLの代わりに使うことにした。 といってもやったことはそんなに難しくはない。ちょっとした自作ツールはだいたいRubyで書いてあるので、ベースにするイメージを「ruby:2」にしてDockerfileを書く。rubyの公式イメージは使い慣れたdebianをベースにしているので都合がいい: FROM ruby:

        • プログラミング言語 Ruby30 周年記念イベント レポート

          プログラミング言語 Ruby30 周年記念イベント 2023 年 2 月 25 日、Ruby 誕生 30 年を記念したイベントが開催されました。 2020 年から流行した新型コロナウィルス感染症の影響で、一時期のイベントはすべてオンラインでの開催が主流となっていました。 本イベントも当初はオンライン形式で予定されていましたが、当日は松江オープンソースラボをメイン会場としてオフラインとオンラインのハイブリッドで開催されました。 開催日 2023-02-25 (土) 13:40 - 17:30 開催場所 松江オープンソースラボ / YouTube 配信 主催 一般財団法人 Ruby アソシエーション / 一般社団法人 日本 Ruby の会 公式ページ プログラミング言語 Ruby30 周年記念イベント 進行 :前田修吾 公式ハッシュタグ #ruby30th 動画 アーカイブ動画 オープニング

          • タイムゾーン呪いの書 (実装編)

            「タイムゾーン呪いの書」は、もともと 2018年に Qiita に投稿した記事でしたが、大幅な改訂を 2021年におこない、同時にこちらの Zenn に引っ越してきました。この改訂で記事全体が長大になったので、「知識編」・「実装編」・「Java 編」と記事を分けることにしました。 この「実装編」は、導入にあたる「知識編」の続きとなる第二部です。おもに Software Design 誌の 2018年 12月号に寄稿した内容をベースにしていますが、修正した内容もかなりあります。本記事全体を通して「知識編」を読んでいることを前提にしているので、ご注意ください。旧 Qiita 版にあった Java 特有の内容は、第三部にあたる「Java 編」にあります。 はじめに 先の「知識編」では、この時刻とタイムゾーンという厄介な概念について一般的な知識を紹介してきました。さて、ではこの知識を具体的に実装に

              タイムゾーン呪いの書 (実装編)
            • 急なレスポンスタイム悪化から、オープンソースプロジェクトにPull Requestを送るまで - 弥生開発者ブログ

              こんにちは、Misoca開発チームの黒曜(@kokuyouwind)です。 最近はシャニマスのイベントシナリオ感想記事をnoteにまとめたりしています。 😨 急に本番のレスポンスタイムが悪化した話 Webエンジニアにとって、「本番障害」という4文字ほど見たくないものはないでしょう。 本番障害ほどではないにしても、「急なレスポンスタイム悪化」もあまり見たくない文字列ですね。まぁ、見たくなくても向こうからやってくるんですが… というわけで、今回は本番レスポンスが急に悪化したときの話です。いろいろ調べた結果、利用しているオープンソースプロジェクトが原因だったことがわかりPull Requestを送ったので、その流れをまとめてみたいと思います。 ❗️ レスポンスタイム悪化の検知 Misocaでは監視ツールとしてMackerelを、APMツールとしてSkylightを利用しています。 本番レスポン

                急なレスポンスタイム悪化から、オープンソースプロジェクトにPull Requestを送るまで - 弥生開発者ブログ
              • GitHub ActionsのイメージビルドをDockerレイヤキャッシュで高速化(翻訳)|TechRacho by BPS株式会社

                概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Build images on GitHub Actions with Docker layer caching — Martian Chronicles, Evil Martians’ team blog 原文公開日: 2021-03-11 著者: progapandist (And[re]y Bar[a]nov)、dragonsmith (Kirill Kuznetsov) サイト: Martian Chronicles, Evil Martians’ team blog -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 はじめに: 適切なDockerレイヤキャッシングでGitHub Actionsでイメージを構築する方法

                  GitHub ActionsのイメージビルドをDockerレイヤキャッシュで高速化(翻訳)|TechRacho by BPS株式会社
                • SuikaというPure Rubyな形態素解析器を作成した - 洋食の日記

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

                    SuikaというPure Rubyな形態素解析器を作成した - 洋食の日記
                  • カオスエンジニアリングを導入したクックパッドの挑戦 マイクロサービス化に伴う可用性の低下に対応 - エンジニアHub|Webエンジニアのキャリアを考える!

                    カオスエンジニアリングを導入したクックパッドの挑戦 マイクロサービス化に伴う可用性の低下に対応 料理のレシピ投稿・検索サービスのクックパッドでは2年前からカオスエンジニアリングに取り組み、さまざまな事例やノウハウを蓄積しています。クックパッドの技術部・SR(Site Reliability)グループの小杉山拓弥さんとDX(Developer Productivity)グループの鈴木康平さんに、導入の理由やさまざまな知見を伺いました。 カオスエンジニアリング(Chaos Engineering)とは、稼働中のサービスにあえて擬似的な障害を発生させることで、システムの耐障害性を検証する手法です。動画配信サービスを提供するNetflix社が2011年ごろから実践し、ソフトウェアや情報を積極的に公開したことで世界中から注目されるようになりました。 国内ではまだ導入事例も少ないなか、料理のレシピ投稿

                      カオスエンジニアリングを導入したクックパッドの挑戦 マイクロサービス化に伴う可用性の低下に対応 - エンジニアHub|Webエンジニアのキャリアを考える!
                    • 今日からエンジニアとして働く皆さんへ - dely Tech Blog

                      こんにちは delyサーバーサイドエンジニアの望月 (@0000_pg)です 4月になり、春の季節がやってきました 新入生・新社会人の皆さん、おめでとうございます🌸🌸 今回は技術的な内容ではなく、せっかく春なので 新社会人となり、エンジニアとして働く皆さんや これからエンジニアとして働いてみようかなと思っている皆さんに向けて ポエム的な内容でお送りします😉🌸 はじめに delyにおける新卒採用 エンジニアという仕事 "技術力" がなくてもできることはある "窓口" になる リポジトリのドメイン知識をつける とにかく模倣する コードを読む、動かす、つくる 他のメンバーを頼る 色んなことに首をつっこみ、チャンスは掴み取る やってみてげんなりすることを繰り返す おわりに はじめに 2020年の7月頃から サーバーサイドエンジニアにおける中途採用のカジュアル面談や 1次面接を担当してきまし

                        今日からエンジニアとして働く皆さんへ - dely Tech Blog
                      • M1 Mac に移行した - 山下泰平の趣味の方法

                        移行しました M1 の Mac に移行した。 最新 Apple MacBook Pro Apple M1 Chip (13インチPro, 8GB RAM, 256GB SSD) - スペースグレイ 発売日: 2020/11/17メディア: Personal Computers CPU のアーキテクチャも変ってるんだけど、これまで使っていた macOS の Mojave と Big Sur でも違いがものすごくある。32bit アプリ使えないとか色々な困惑があり、ここ7年で一番に大きな作業環境の変更となった。 動くかどうか心配していたり、移行どうするのか考えてたのは下みたいな感じであった。 kindai.rb は普通に動いた github.com kindai.rb が必要とするライブラリのアーキテクチャーが違うやつだと動かないので、別々にインストールとかした。私は gem? とか意味不明だ

                          M1 Mac に移行した - 山下泰平の趣味の方法
                        • Runa: Ruby で中規模アプリケーションを書くためのフレームワーク - おんがえしの blog

                          Runa という Ruby で Gem を使ったり複数ファイルで構成された中規模のアプリケーションを簡単に書くためのフレームワークを作っています。 Runa を作った経緯 Ruby は単独のスクリプトファイルとして実行するときは取り回しも簡単で大変使いやすい(小規模アプリケーション) が、特定の gem に依存したり複数ファイルで構成されるようなアプリケーションを作ろうとするとスタンダードな方法が用意されておらず(特に配布や共有のことを考えると)敷居が高くなってしまう(中規模アプリケーション) これが今まで余り問題にならなかったのは、Web アプリであれば Rails がその辺りも面倒をみてくれたり、コンソールアプリケーションなら gem で配布するみたいな方法でやりくりしてきた経緯がある。しかし gem で配布するには RubyGems のアカウントが必要だったり、昨今のセキュリティ問題

                            Runa: Ruby で中規模アプリケーションを書くためのフレームワーク - おんがえしの blog
                          • 入社4ヶ月目で73時間かかるバッチ処理を7倍以上高速化した話 - エムスリーテックブログ

                            こんにちは。エンジニアリンググループの武井です。 私は現在、デジカルチームに所属し、クラウド電子カルテ、エムスリーデジカルの開発に携わっています。 昨年夏にエムスリーに入社し、早くも半年が経過しました。 digikar.co.jp この記事では、私が入社してから4ヶ月目に取り組んだ、バッチ処理の運用改善について振り返ります。 特に、新しくチームに加わったメンバーとして意識した点に焦点を当ててみたいと思います。 これから新しいチームに参加する方の参考になれば幸いです。 改善したバッチ 現状の正確な理解 現状に馴染む技術選定 自分なりの+αを加える 改善の結果 We're hiring 改善したバッチ 今回の改善対象は、特定の医療機関に紐づく全患者の全カルテをPDFファイルとして出力する、というバッチです。 デジカルのデータを医療機関側にエクスポートする用途で使われています。 移行前のアーキテ

                              入社4ヶ月目で73時間かかるバッチ処理を7倍以上高速化した話 - エムスリーテックブログ
                            • Ruby や Rails のアップグレード情報を共有する場を作りました。 - Money Forward Developers Blog

                              こんにちは。 id:Pocke です。最近のマイブームはルピシアのラムレーズンの紅茶です。1 Ruby や Rails のアップグレード情報を共有する場を作ったので、それをご紹介しようと思います。 背景 Ruby や Rails のアップグレードは単純な作業ではありません。 アップグレードには多くの変更が含まれています。変更はそのソフトウェアが成長している証ですが、一方で痛みもあります。Ruby や Rails を使うアプリケーションが、それらの変更に対応する必要があるためです。 そのようなアップグレード作業を楽にする取り組みはすでにいくつか存在します。 例えば Rails ガイドの Rails アップグレードガイドでは、一般的なアドバイスと、各バージョンで注意すべき変更が書かれています。 また 社内版 Rails アップグレードガイドを公開します - Timee Product Team

                                Ruby や Rails のアップグレード情報を共有する場を作りました。 - Money Forward Developers Blog
                              • CircleCI上のRSpecによるテスト実行時間を25min -> 12minに短縮する技術 - ANDPAD Tech Blog

                                株式会社アンドパッドのアカウント基盤チームでテックリードをしているid:shiba_yu36です。 最近自分のサイドプロジェクトとして、生産性を向上するために、CI実行時間の短縮化を行っていました。その結果、とくに時間のかかっていたCircleCI上のRSpecによるテスト実行時間を、25min -> 12minに改善できました。そこで今回はどのような流れでCIの実行時間を改善していったかについて、具体的に書いてみたいと思います。実行時間改善の勘所について参考になれば幸いです。 改善の流れ: CircleCIでボトルネック調査し、大きいボトルネックを解消する 実行速度改善の前に: Flakyなテストを一斉に直す 速度改善1: bundle installのキャッシュがうまく効いていなかった問題を修正 -> 4minの短縮 速度改善2: developブランチ以外ではカバレッジを取らないよう

                                  CircleCI上のRSpecによるテスト実行時間を25min -> 12minに短縮する技術 - ANDPAD Tech Blog
                                • HomebrewのCaskリポジトリを介した任意コード実行

                                  English version is available here: https://blog.ryotak.net/post/homebrew-security-incident-en/ (公式インシデント報告はこちらから読むことができます: https://brew.sh/2021/04/21/security-incident-disclosure/) はじめにHomebrewプロジェクトはHackerOne上で脆弱性開示制度(Vulnerability Disclosure Program)を設けており、脆弱性の診断行為が許可されています。 本記事は、当該制度に参加し、Homebrewプロジェクトのスタッフから許可を得た上で実施した脆弱性診断行為について解説したものであり、無許可の脆弱性診断行為を推奨することを意図したものではありません。 Homebrewに脆弱性を発見した場合は、

                                    HomebrewのCaskリポジトリを介した任意コード実行
                                  • Ruby × jemallocのすすめ - メドピア開発者ブログ

                                    集合知プラットフォーム事業部・エンジニアの榎本です。コロナ禍の運動不足を解消すべく筋肉体操で筋トレを続けてますが、上腕三頭筋がいい感じに成長しており継続の大切さを身に沁みて実感しております。 目次 TL;DR(三行要約) Rubyアプリケーションのメモリ肥大化問題 jemalloc を使ってみる jemalloc とは? jemalloc で改善するのか? jemalloc の設定方法 jemalloc をプロダクション導入してみた結果 まとめ おまけ:jemalloc についてMatzに聞いてみた TL;DR(三行要約) jemalloc でRubyアプリのメモリ効率改善 jemalloc でRubyアプリのパフォーマンス改善 jemalloc の導入も簡単 Rubyアプリケーションのメモリ肥大化問題 Ruby on RailsなどのRubyアプリケーションを運用する上で、メモリ使用量の

                                      Ruby × jemallocのすすめ - メドピア開発者ブログ
                                    • AWSのSecurity Groupの視覚化に便利なツール「aws_security_viz」 | DevelopersIO

                                      こんにちは、コカコーラ大好きカジです。 「規模が大きく大量のセキュリティグループを確認するのは面倒ですよね。」 マネージメントコンソールで名前で検索しながら確認・・・というか、自分もそんな感じです。 Security Groupを図で見れたら・・・と思って調べたら解決していた人がいました。感謝です。 aws_security_vizとは 現在のAWS上のSecurity Group構成を簡単に視覚化するツールです。(MITライセンスです) anaynayak/aws-security-viz: Visualize your aws security groups. 前提条件 MacOSXでの利用法を記載します。 他のOSの場合は、Dockerで動作するようですので、上記URLのReadmeをご参照ください。 aws_security_vizのセットアップ HomebrewとRubyが利用で

                                        AWSのSecurity Groupの視覚化に便利なツール「aws_security_viz」 | DevelopersIO
                                      • 導入1ヵ月で、35,000行分のコーディング時間を削減 定量面・定性面から評価する「GitHub Copilot」

                                        「GitHub Copilotで開発生産性はどのように変わるのか」というタイトルで登壇したのは、GMOペパボ株式会社の黒瀧悠太氏。株式会社タイミー社が主催した「GitHub Copilotで拓く開発生産性」で、「GitHub Copilot 」を開発に導入したことで起こった変化について発表しました。 登壇者の自己紹介 黒瀧悠太氏:よろしくお願いします。GMOペパボの黒瀧です。今日は「GitHub Copilotで開発生産性はどのように変わるのか」というタイトルで発表します。 私は、今GMOペパボ株式会社の「SUZURI」というサービスの技術責任者、シニアエンジニアリングリードというのをやっていて、GMOインターネットグループとしては「デベロッパーエキスパート」専門分野のエキスパートとして活動しています。 SNSアカウントは「@kurotaky」というのでやっています。趣味はドラムを叩くこと

                                          導入1ヵ月で、35,000行分のコーディング時間を削減 定量面・定性面から評価する「GitHub Copilot」
                                        • Railsで成功するには、 コンピュータ書鑑賞、本との出会い方【Rubyistめぐりvol.1 takahashimさん】 - STORES Product Blog

                                          Rubyist Hotlinksにインスパイアされて始まったRubyistめぐり。第1回は高橋征義さんをゲストに迎えて、お話を聞きました。こちらは後編です。前編はこちら。 Rubyが他の言語に与えた影響 藤村:第2部、高橋さんについて聞いてみようと思います。今更ながらRubyについて聞きたいんですけど、好きな機能とかありますか? 高橋:好きな機能ですか?あんまり機能としてこれというのなくて、全体的に使い勝手がいいですね。まあでも、そういう意味でいえばオープンクラスの方がいいんじゃないの?みたいな感じがしますね。オープンクラスじゃないRubyはつらそうだって。 藤村:確かに。 高橋:つらそうというかつまらなさそうですね。オープンクラスが原因でつらいことになるのはわかるんですけど、でもあれがないんだったら他の言語でもいいよね、って。 藤村:Rubyがああじゃなかったら他の言語は今のようになって

                                            Railsで成功するには、 コンピュータ書鑑賞、本との出会い方【Rubyistめぐりvol.1 takahashimさん】 - STORES Product Blog
                                          • Rails 7.0 + Ruby 3.1でゼロからアプリを作ってみたときにハマったところあれこれ - Qiita

                                            Ruby on Rails Advent Calendar 2021の枠が空いていたので、あとから登録しました はじめに 個人的なプロジェクトになりますが、僕が翻訳しているRSpecの入門書「Everyday Rails - RSpecによるRailsテスト入門」を2022年前半にRails 7.0バージョンにアップデートしようと考えています。 そこでこの本の中で使っているサンプルアプリケーションをRails 7.0でゼロから作り直してみました。フロントエンド周りを中心に結構考え方が変わっている部分があったので、「ここでハマった!」とか「こういうポイントを押さえておくといいかも」という点をあれこれ書いてみます。 なお、Rails 7.0版のサンプルアプリケーションはまだ公開できる状態ではないので、公開はもうしばらくお待ちください🙏 今回作成したサンプルアプリケーションはこちらで公開してい

                                              Rails 7.0 + Ruby 3.1でゼロからアプリを作ってみたときにハマったところあれこれ - Qiita
                                            • Google App Engineのスタンダード/フレキシブル環境を選ぶときのヒントと設定の注意点

                                              イメージとしては スタンダード環境の方が気楽にはじめられる フレキシブル環境の方がより細かな設定ができる という感じでしょうか。 「料金が安いのはスタンダード」とは限らない ググって見つかる情報を読むと、多くの人は「スタンダード環境の方が安く済みそうだ」という印象を持つと思います。僕もそのような考えから、当然のようにスタンダード環境を選んでいました。しかし、結果として、Zennの場合にはフレキシブル環境の方が料金は大幅に安く済むことが分かりました。 Zennの場合 具体例があった方が読んでいて楽しいと思うので、恥を捨てて実際にかかっていたGAEの料金を載せてしまいます。ほれっ。 ※ 料金の推移は、サービスへのアクセス数とはほぼ相関していない ピーク時には1万円/日近くいってしまっていますが、設定と環境を見直すと¥500/日くらいで済むようになりました。設定をミスらなければPS5を転売ヤーか

                                                Google App Engineのスタンダード/フレキシブル環境を選ぶときのヒントと設定の注意点
                                              • Ruby on RailsのGPL汚染まとめ(mimemagicの件) - 大根's ITブログ

                                                ("汚染"という言葉をあまり良く思わない方もいると後から知りました。たしかにその通りだと思います。次から気を付けようと思いますが、とりあえず本記事ではそのまま"汚染"の表現を使います。ご了承ください。) 2021年の3月、突如としてRailsのGPL汚染の話題がネット上を駆け巡りました。 リチャードストールマンがFSFへの復帰を発表した途端にこんなことが起きるなんて…。 偶然にしてはすごいタイミングですね。 GitHub Enterpriseのコードが公開されるの?と盛り上がっておりますが、果たしてどうなりますでしょうか。 さて今回は本件についてまとめていきます。技術者だけでなく法務や知財の目線でも分かるように書いていこうかと思います。 ★私は法律の専門家ではありません。この記事に法的根拠はありませんので何かあっても責任は取れません。ご理解ください。 概要(経緯) 概要はこのissueのや

                                                  Ruby on RailsのGPL汚染まとめ(mimemagicの件) - 大根's ITブログ
                                                • anyenv のススメ | DevelopersIO

                                                  anyenv は以前、西村が紹介していましたが、これは現時点の最新情報とあわせてのアップデート記事です。 Tech Lead のお仕事紹介の第 4 弾にあたります。 追記: asdf について はてなブックマークで asdf というツールを教えていただきました。シングルバイナリーで動作し、プロジェクトに必要な依存バージョンを .tool-versions というファイルひとつで共有可能なものです。 とりあえず試してみようとしたのですが、まだインストールに難があるようで手元で動きませんでした。もう少し安定したらとても良い選択肢となりそうなので注目しています。現時点での選択可能な手段としては anyenv が良いでしょう。 contributer の方にサポートしてもらってインストールができたので試してみました。チームがメインで使っている Node.js のサポートがもう一歩なこと、グローバル

                                                    anyenv のススメ | DevelopersIO
                                                  • Rails GraphQL

                                                    Install Totally plug-in-play # Add the gem to your Gemfile $ bundle add rails-graphql # Then run the Rails generator $ rails g graphql:install Define Designed for simple and complex Schemas # app/graphql/app_schema.rb class GraphQL::AppSchema < GraphQL::Schema field(:welcome).resolve { 'Hello World!' } end Run Follows Rails core principles $ curl -d '{"query":"{ welcome }"}' \ -H "Content-Type: ap

                                                      Rails GraphQL
                                                    • 研修で初めてRuby on Railsを触って学んだこと - ドワンゴ教育サービス開発者ブログ

                                                      はじめに 配属研修の課題について エンジニア新入社員研修の個人課題:「JavaScriptでの開発」 配属研修課題1:「RailsでAPIサーバのみ構築」 配属研修課題2:「Railsでフロントエンドも含めた開発」 作ったアプリケーションの概要 JavaScript・Expressで開発した時との違いに関する感想 letやconstが要らない変数定義 falsyな値の違い ブロックをそのまま変数に代入できない 暗黙のreturn 条件文の後置 フレームワークの機能が豊富 ディレクトリ構造の一貫性 リソースベースルーティング 課題を取り組みながら学んだこと OpenAPIを使ったAPI定義ファイルの作成 N+1問題対策 テストコードに関する考えの変化 おわりに We are hiring! サムネイル画像 はじめに こんにちは。2022年4月に新卒で入社しました教育事業本部サービス開発部バッ

                                                        研修で初めてRuby on Railsを触って学んだこと - ドワンゴ教育サービス開発者ブログ
                                                      • Rails6の複数データベースの仕組みと実装時にハマったところ - dely Tech Blog

                                                        こんにちは、開発部の高橋です。 本記事はdely Advent Calendar 2019の14日目の記事です。 昨日はミカサ(acke_red)さんの「デザイン負債を返済する - クラシルのデザインの展望2020」という記事でした。 note.com 目次 目次 はじめに 複数データベースの仕組み 複数データベースに関連するActiveRecordの全体像 1. master/slave構成 利用方法 DatabaseSelectorの利用方法 2. 複数のデータベースの利用 利用方法 アプリケーションでの実際の実装 開発時にハマった箇所 POSTのあとのGETでの更新処理で競合が発生 readingロールに対して更新していることがテストで気付きにくい まとめ 最後に はじめに 10月の半ば辺りにRails6の複数機能を利用し、master/slave構成に対応した新規アプリケーションを

                                                          Rails6の複数データベースの仕組みと実装時にハマったところ - dely Tech Blog
                                                        • Ruby 3の静的解析機能のRBS、TypeProf、Steep、Sorbetの関係についてのノート - クックパッド開発者ブログ

                                                          こんにちは、フルタイムRubyコミッタとして働いてる遠藤(@mametter)です。 Ruby 3 は「静的型解析」を備えることが目標の 1 つになっています。遠藤が開発してる TypeProf は Ruby 3 の静的型解析エコシステムの中の 1 ツールです。しかし Ruby 3 の静的解析というと、RBS、TypeProf、Steep、Sorbet などいろいろなツール名が出てきてよくわからない、という声を何回か聞いたので、かんたんにまとめておきます。 3 行まとめ RBS:Ruby の型情報を扱う言語。Ruby 3 にバンドルされる。 TypeProf:型注釈のない Ruby コードを型解析するツール。Ruby 3 にバンドルされる。 Steep/Sorbet:Ruby で静的型付けのプログラミングができるツール。 詳しくはそれぞれ以下で解説します。 RBS とは RBS は、Rub

                                                            Ruby 3の静的解析機能のRBS、TypeProf、Steep、Sorbetの関係についてのノート - クックパッド開発者ブログ
                                                          • Rails7がもつフロントエンドへの「答え」

                                                            Rails7のアルファ版がリリースされました。 最近、Railsニューリリースの記事をみてもテンションがあがらなかったのですが(個人開発ではもっぱらNext.jsとかFlutterのお世話になってました)、下記のDHHによるデモが久々に 「Railsっていいかも」 って思える内容だったので、背景も含めて解説します。 Railsの存在意義 みなさんは、どうやってRails使い始めましたか? 自分はRails3.1あたりで独学でウェブアプリ開発をはじめました。そのときに「簡単に始められて」「ビジネスロジックが増えても生産性が落ちない」 というあたりで、他に浮気する理由がなかった、というのが私の理由です。 それから数年が経ちますが、最近のRailsのアップデートは Basecamp(Railsの基となった製品)が必要としている機能がポートされているだけ という印象でした。 アプリケーションの複雑

                                                              Rails7がもつフロントエンドへの「答え」
                                                            • HotwireはRailsを「ゼロJavaScript」でリアクティブにできるか?前編(翻訳)|TechRacho by BPS株式会社

                                                              概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Hotwire: Reactive Rails with no JavaScript? — Martian Chronicles, Evil Martians’ team blog 原文公開日: 2021/04/12 原著者: Vladimir Dementyev -- Evil Martiansリード開発者。 サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 長文につき前編と後編に分割しました。 サマリー The HEY stack: - Vanilla Ruby on Rails on the backend, running on edge - Stimulus, Turbolink

                                                                HotwireはRailsを「ゼロJavaScript」でリアクティブにできるか?前編(翻訳)|TechRacho by BPS株式会社
                                                              • 一迅プラスのインフラ構成について - BOOK☆WALKER inside

                                                                こんにちは。 メディアサービス開発部バックエンド開発グループのフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 本記事では株式会社一迅社さまの公式漫画連載サイトであり、ブックウォーカーが開発保守運用を担当している一迅プラスのサービスインフラの概要についてご紹介したいと思います。 もしよければ、前記事のニコニコ漫画のインフラ構成についてならびに読書メーターのインフラ構成についてもご覧ください。 一迅プラスについて 一迅プラスは株式会社一迅社さまが運営する公式漫画連載サービスです。 冒頭試し読みから連載まで、2022/06/10現在で150を超える作品が掲載されています。 一迅プラスのトップページ この一迅プラスにおいてブックウォーカーは開発保守運用を担当し

                                                                  一迅プラスのインフラ構成について - BOOK☆WALKER inside
                                                                • 【個人開発】リモートワーク時代なので、デスク周りに特化した写真投稿サービスを作りました - Qiita

                                                                  こんにちは、Barry(ばりゅー)と申します。 いきなりですが言わせてください。 このサービスは今読んでいるあなたのために作ったサービスです! はじめに リモートワークが当たり前になった今、みなさんはどんなデスクで作業してますか? 「もっと快適にしたい。」「もっとオシャレにしたい。」 デスクワーカーなら一度、いや、二度三度思ったことがあると思います。 そんなとき、他人のデスクが参考になったりしますよね。 そこでこんなサービスを開発しました。 どんなサービス? デスク周りに特化した写真投稿サービス「Buildesk(ビルデスク)」です。 【サービスURL】https://buildesk.app 【GitHub】https://github.com/en-Barry/buildesk Buildeskの一番の特徴は、使ってるアイテムも登録できること。投稿者がどんなアイテムを使っているのか瞬時

                                                                    【個人開発】リモートワーク時代なので、デスク周りに特化した写真投稿サービスを作りました - Qiita
                                                                  • 入社してわかったSmartHR本体の難しさ - SmartHR Tech Blog

                                                                    どうも2022年9月にSmartHRに入社したエンジニアの大澤(@qwyng)と申します。SmartHRの本体を開発しています。 SmartHRというサービスは、従業員情報を集約したアプリケーションをコアとし、そのコアと連携する複数のアプリケーションを配置した構成になっています。 そのコアというのがSmartHR本体です。 SmartHR本体は歴史が長いプロダクトです。カジュアル面談でも「キャッチアップはどうされました?」、「SmartHRの開発って技術的に何が大変ですか?」といった質問をよく頂きます。 本記事はそういったSmartHRの開発の大変さを知りたい方に向けて自分が感じたことを言語化したいと思います。 2022年初頭に弊社の@sugamasaoさんがSaaS.techで発表した. 「アプリケーションが大きくてつらい・・・ってこと!?」*1 というスライドを見たことがある方もいると

                                                                      入社してわかったSmartHR本体の難しさ - SmartHR Tech Blog
                                                                    • 「Rubyは落ちるか、伸びるかの岐路に立っている」 まつもとゆきひろ氏が語る、30年後に向けた生存戦略

                                                                      プログラミング言語「Ruby」の国内最大のビジネスカンファレンス「RubyWorld Conference」。Rubyの先進的な利用事例や最新の技術動向、開発者教育の状況などの情報を発信することで、「Rubyのエコシステム(生態系)」を知ることができる場として開催します。ここで登壇したのは、Rubyアソシエーション 理事長のまつもとゆきひろ氏。プログラミング言語の過去、歴史から学ぶ教訓について発表しました。全4回。4回目は、Rubyコミュニティが生存するために必要なことについて。前回はこちら。 Rubyコミュニティが生存するためには何が必要か まつもとゆきひろ氏(以下、まつもと):さて、これらの教訓をもとに、Rubyの未来はどうなるかについて考えてみましょう。 教訓をもう1回まとめておきますね。アイデアだけでは、価値がない。単純さは、いつもいいこととは限らない。仕様が大きいことは、いつもい

                                                                        「Rubyは落ちるか、伸びるかの岐路に立っている」 まつもとゆきひろ氏が語る、30年後に向けた生存戦略
                                                                      • 「作りたいものをいかに早く完成させるかが正義」 まつもとゆきひろ氏が語る、ソフトウェア開発におけるベロシティの重要性

                                                                        「作りたいものをいかに早く完成させるかが正義」 まつもとゆきひろ氏が語る、ソフトウェア開発におけるベロシティの重要性 #18 動的型付け言語と大規模開発 今回のテーマは「動的型付け言語と大規模開発 まつもとゆきひろ氏:こんにちは。まつもとゆきひろです。Matzチャンネル、18回目になりますね。今日は前回の続きで、「動的型付け言語と大規模開発」について話そうと思います。 本当は前回放送リリースした次の日ぐらいに放送できるようにと思っていたんですけど、意外と忙しくてですね(笑)。 今度、フィンランドのヘルシンキで、「Euruko」というカンファレンスが開かれるんですけれども、まだ物理で海外旅行する気にならないので、キーノートを録画しましょうという話になって、そのキーノートの準備をして、スライドを書いて、英語の講演を録画するみたいな作業をしていたら、あっという間に時間が経ってしまって、「Voic

                                                                          「作りたいものをいかに早く完成させるかが正義」 まつもとゆきひろ氏が語る、ソフトウェア開発におけるベロシティの重要性
                                                                        • 人事労務ソフトで求められる3つの技術的工夫 登録社数3万超えの「SmartHR」開発の勘所

                                                                          「シューマイ」は、“世界をテックリードする日本人エンジニアを多く輩出する”をビジョンに、 日本のエンジニアのレベルの底上げを目指すコミュニティです。今回は、普段CTOやリードエンジニアクラスとして活躍している方々が、SaaSについて熱く語りました。株式会社SmartHRの芹澤氏は、クラウド人事労務ソフト「SmartHR」開発における技術的な工夫について発表しました。 人事労務が「集まって・蓄まって・活用できる」クラウド人事労務ソフト「SmartHR」 芹澤雅人氏(以下、芹澤):それでは始めます。「クラウド人事労務ソフトウェア開発の勘所」というところですね。株式会社SmartHRのCTOを務めています芹澤から発表します。どうぞよろしくお願いします。 簡単に自己紹介をします。改めまして、芹澤と申します。株式会社SmartHRという会社で、「SmartHR」というサービスを作っています。私自身は

                                                                            人事労務ソフトで求められる3つの技術的工夫 登録社数3万超えの「SmartHR」開発の勘所
                                                                          • 薬局向けサービス”kakari”にruby-vipsを導入した話 - メドピア開発者ブログ

                                                                            こんにちは。 外出自粛が続き、大胸筋の育成が疎かになっているエンジニアの宮原です。 ruby-vipsという画像処理用のGemを、かかりつけ薬局化支援サービスの「kakari(かかり)」で導入してみました。 今回は、ruby-vipsとkakariに実装した画像処理の内容について紹介させていただきます。 ruby-vipsとは ruby-vipsは、画像処理ライブラリであるlibvipsのRubyバインディングになります。 こちらのGemを利用することで、Ruby on RailsのWebアプリケーションに画像処理の機能を追加することができます。 実際にruby-vipsの導入方法や、簡単な使い方は下記スライドにて紹介しておりますので、ご参照いただければと思います。 ※昨年の11月に、鹿児島Ruby会議01にてruby-vipsの使い方を紹介させていただきました。 どのような機能で利用して

                                                                              薬局向けサービス”kakari”にruby-vipsを導入した話 - メドピア開発者ブログ
                                                                            • クライアント側のJavaScriptを最小限にするHotwire

                                                                              iCARE Developer Meetupは、月次で開催している株式会社iCAREが主催するエンジニア向けのLT勉強会です。18回目の今回は、Ruby on Railsをテーマに行いました。株式会社iCAREの技術顧問である前島真一氏がHotwireについて話しました。全2回。前半はHotwireのアーキテクチャとTurbolinksについて。 HotwireはWebアプリケーションを作るための新しいアプローチ 前島真一氏:Hotwireについて話します。前島です。ハンドルネームはwillnetや、netwillnetです。iCAREさんをはじめとして、いろいろな会社で技術顧問をしています。空いた時間を使って、「savanna.io」というお仕事情報SNSを開発しています。savanna.ioは、これから話すHotwireを利用して作っています。 Hotwireがどんなものかを簡単に説明

                                                                                クライアント側のJavaScriptを最小限にするHotwire
                                                                              • RailsのGPL混入問題についてまとめ(mimemagic) - Qiita

                                                                                !!New!!Rails 5.2.5, 6.0.3.6, 6.1.3.1はmimemagicに依存しなくなった(3/27追記) mimemagicがMITに戻った(3/26追記) 概要 RailsのGPL混入問題についてまとめました。間違いがあればご指摘ください。(2021/3/25現在) https://github.com/rails/rails/issues/41750 ここには3つの問題がある。 Railsが依存しているmimemagicのライセンスがMITからGPL2.0になった もともとGPLのものが混入していたのにMITになってしまっていた これにより、Railsのbuildができなくなった Railsが依存しているmimemagic0.3.5が削除されたことが原因 Railsの依存モジュールにGPLのものが混入することとなった mimemagicを0.3.6以降にすればbu

                                                                                  RailsのGPL混入問題についてまとめ(mimemagic) - Qiita
                                                                                • Java, MySQLをKotlin, PostgreSQLに移行した - k0kubun's blog

                                                                                  7年前にGitHub Rankingというサービスを作り、APIを叩きすぎてGitHubからの風当たりが強くなって*1からはデータの更新を止めていたが、KubernetesやGraphQLの時みたいに技術を試す砂場用に惰性で動かし続けていた。 Issueの機能要望対応が段々面倒になってきて、サーバー代節約のために潰すかと考えていたのだけど、毎日1000PVくらいあるので試しにGoogle Adsenseを設置してみたところ1日平均 $1 くらいは入ってて黒字になりそうだったので、ちょっとメンテしやすくしてデータの更新再開するかー、ということで今回いろいろ綺麗にした。 DB: MySQL → PostgreSQL なぜPostgreSQLにしたのか 個人的には多くの用途ではMySQLとPostgreSQLどっちでもいいと思っているんだけど、今所属してるチームがメンテしてるサービスのDBの多く

                                                                                    Java, MySQLをKotlin, PostgreSQLに移行した - k0kubun's blog