前提条件 Ruby 3.1.0 Rails 7.0.4 やりたいこと 下記データを結合し、ハッシュのネストに追加したい。 @fruits = [['りんご','赤','丸い'],['メロン','緑','丸い'],['バナナ','黄','細長い'],...] @vegetables = [['大根','白','細長い'],['トマト','赤','丸い'],['キャベツ','緑','丸い'],...]
はじめまして。サーバーサイドエンジニアの kinakobo です。 唐突ですが、自動テストの実行にはどんなCIツールを使用していますか? 色々と選択肢があると思いますが、自分は今までCircleCI、GitHub Actionsを使うことが多く、ANDPADに入社して初めてCodeBuildでテストを実行しました。 それまでCodeBuildを使ったのはDocker imageの構築くらいだったので、あまりテストの実行に向いている印象は持っていませんでした。 ですが調べてみると意外と機能が充実しており、中でもテストレポート機能は便利だと思ったので今回紹介したいと思います。 テストレポート機能とは AWS CodeBuild でのテストレポートの使用 - AWS CodeBuild テストレポート機能は、テストのレポートファイルをいい感じに整理して表示してくれる機能です。 CircleCIに
ありがたいことに、たくさんの人に読んでもらっている拙著「プロを目指す人のためのRuby入門(通称・チェリー本)」ですが、本書はそれなりのボリュームがあり、なおかつ後半(7章以降)がかなり難しくなってくるので、読み終わるのに苦労している方もたくさんおられるようです。 すでに他の言語でプログラミングの経験をたくさん積んでいる人であれば、その知識を活かしてスムーズに読み進めることができるかもしれませんが、これからプログラマになろうとしている初心者の方(独学で勉強したり、プログラミングスクールに通われたりしている方たち)は、なかなかハードルが高いと思います。 そこで今回、筆者である僕自身が動画を使って「プロを目指す人のためのRuby入門」の効果的な読み方を初心者のみなさんに指南してみることにしました。 その動画がこちらです↓ 著者自身が語る「プロを目指す人のためのRuby入門」の効果的な読み方 こ
Ubuntu 20.04 に rbenv による Ruby 3.4 環境を整える最小手順をまとめてあります。 前提 Ubuntu 20.04 インストール直後 シェルは Bash インターネット接続環境 ※ WSL2 でも大丈夫です。 インストール rbenv + ライブラリ git clone https://github.com/rbenv/rbenv.git ~/.rbenv echo 'export PATH="~/.rbenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(~/.rbenv/bin/rbenv init -)"' >> ~/.bashrc source ~/.bashrc git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-bu
はじめに 僕はフィヨルドブートキャンプでメンターをやっています。 その一環として生徒さんが書いたRubyのコードをレビューすることもよくあります。 そんなとき「そこはこんなメソッドが使えますよ」「こう書いた方がシンプルですよ」みたいなコメントを入れると、「なんでそんなにたくさんメソッドを知ってるんですか?」「どうしたら豊富な知識を身につけられるんですか?」という返事が返ってくることがあります。 このエントリではその質問に対する回答をあれこれ書いてみようと思います。 【もくじ】 はじめに 前提として 仕事で毎日コードを書いてるから(コードを書いてる時間が長いから) とことんリファクタリングする リファクタリングに欠かせない、テストコードとgit コードレビューしてもらう / コードレビューする モブプロやペアプロをする 人に教える コラム:自分で自分好みの勉強会を主催してみる 情報をインプッ
こんにちは、遠藤(@mametter)です。RubyKaigi Takeout 2020お疲れさまでした。 現在クックパッドには、フルタイムでRubyの開発をしている人が2人います(笹田と遠藤)。 それぞれ、Ruby 3の目標である並列性と静的解析の実現をメインミッションに据えて活動していますが、実はそれ以外にもRubyの開発を支えるための活動をいろいろやっています。 今回は、遠藤が関わっている範囲で、「Ruby開発者会議を支える技術」「Ruby開発のリモート議論を支える技術」「Rubyの品質を支える技術」についてざっと紹介してみます。 1. Ruby開発者会議を支える技術 Rubyに対する機能提案などの議論は、原則として、バグトラッカ上で行われます。 しかし、設計者であり最終決定権を持つmatzの多忙などの理由で、それだけでは議論が停滞してしまうのも事実です。 そこでRubyでは、開発促
AI & MLLearn about artificial intelligence and machine learning across the GitHub ecosystem and the wider industry. Generative AILearn how to build with generative AI. GitHub CopilotChange how you work with GitHub Copilot. LLMsEverything developers need to know about LLMs. Machine learningMachine learning tips, tricks, and best practices. How AI code generation worksExplore the capabilities and be
こんにちは、タイミーデリバリー開発チームの宮城です。 今回は弊社のOpenAPI3ベースのスキーマ駆動開発の運用方法を紹介します。 TL;DR 技術スタックは OpenAPI3, Swagger UI, Committee, ActiveModelSerializers Committeeを利用してOpenAPI準拠のRequest Specを行う OpenAPI3のrequiredキーワードに注意する 背景 タイミーデリバリーでは、RailsによるAPIサーバーと、Web管理画面としてVue.jsによるSPA、ユーザー向けiOSアプリとしてSwiftを採用しています。 1つのモノリスなRailsで利用者別にネームスペースを区切り、それぞれエンドポイントを提供しています。 サーバーサイドとクライアントサイドを分離し並行して開発を進めるためにスキーマ駆動開発を導入しました。スキーマ駆動開発の
RubyからCocoa(macOSのAPI)を使ってみる。 以前、RubyCocoaというものがあった。今は動かなくなっているようだ。 近いものとして、cocoaというgem packageがある。 https://github.com/patrickhno/cocoa/ インストールする。 % gem install cocoa Successfully installed cocoa-0.1.6 Parsing documentation for cocoa-0.1.6 Done installing documentation for cocoa after 3 seconds 1 gem installed サンプルプログラムを実行してみる。 require 'cocoa' Cocoa::NSAutoreleasePool.new app = Cocoa::NSApplicatio
今日 Ruby Hacking Challenge in Hamada.rb に参加したときに ruby_jard という Ruby のデバッグツールを教えてもらいました。 これがかなり凄まじくすごかったのでちょっとまとめてみます。 ruby_jard とは ruby_jard とは Ruby のコードをデバッグするツールになります。 ruby_jard | Just another ruby debugger. Provide a better experience while debugging Ruby rubyjard.org 立ち位置としては byebug のようなデバッグツールになっており、コード上で jard というメソッドを呼び出すとそのタイミングでプロセスが停止して、コンソール上から Ruby のコードを実行できるような形になっています。 実際にどういう形でデバッグするの
はじめに テストダブル(Test Double)について、わかりやすく解説した技術記事はないかな〜と探していたところ、こちらのブログ記事を見つけました。 goyoki.hatenablog.com とても詳しく解説されていたので、まさに打ってつけだったのですが、ふだん僕はRubyを使っているのでサンプルコードをRubyにしてみたいな〜と思いました。 そこで今回のエントリでは、原著者の id:goyoki さんの許諾をいただいた上で、上記のブログ記事の説明文を維持したまま、サンプルコードだけをRubyに書き直してみました。(goyokiさん、どうもありがとうございます!) ただし、Ruby版のコードにあわせて説明文を改変した箇所もいくつかあります。 それでは以下がRuby版の「xUnit Test PatternsのTest Doubleパターン(Mock、Stub、Fake、Dummy等の
はじめに 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:
GraphQL Rubyで定義したスキーマの実行中に起きたエラーをいい感じに通知するようにしたので、それを紹介します。 Problem GraphQL Rubyで定義したスキーマのフィールドのresolve中にエラーが起きた場合、Rubyレベルのバックトレースはあまり当てになりません。 Rubyレベルのバックトレースには、リクエストされたクエリのフィールド名などは出てきません。 そのためどのようなクエリが実行された結果エラーが起きたのか、という情報は見えません。 Solution これを解決するためにGraphQL RubyのTracerを使い、Sentryのextra contextとしてGraphQL RubyレベルでのバックトレースをSentryに送るようにしました。 これによって、次のクエリに対して、次のバックトレースがSentryに送られるようになりました。 GraphQL Qu
Ruby 3.0 に向けた Ruby 2.7 と Rails の状況がめまぐるしく変わっているようなので、現在持っている知識のスナップショットを書き残しておきます。 Rails 6.0 系と Ruby 2.7 系 昨日、Matz によって今後リリースされる Ruby 2.7.2 でキーワード引数の分離への警告出力が Ruby 本体側で取りやめになるだろう旨の投稿が Rails の Discuss フォーラムにありました。 discuss.rubyonrails.org これにより以下の組み合わせでは、キーワード引数の分離への警告が出なくなる見通しが考えられます。 Rails 6.0.3 以上と Ruby 2.7 系 Rails 6.0.2.2 までの Rails 6 系であれば Ruby 2.7.2 以上 というか警告が抑制される場合の Ruby 2.7.2 はジョーカーなので、Rails
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く