タグ

tech-kazuhisaのブックマーク (4,632)

  • 週刊Railsウォッチ: Packwerkの詳しい解説書『Gradual Modularization for Ruby and Rails』ほか(20221101前編)|TechRacho by BPS株式会社

    #46197のコメント(bensheldon)より 「元の振る舞いがアプリケーションのコードで当てにされていたりするでしょうか?」「同じレコードインスタンスを2回destroyすることは普通ないかなとも思ったけど、アプリのつくりによっては削除ボタンを連打したりすると起きる可能性もありそうですね」「なるほど」 🔗 ErrorReporterで複数のエラークラスを扱えるようになった PR: Allow ErrorReporter to handle several error classes by spickermann · Pull Request #46299 · rails/rails 動機/背景 ErrorReporterは、以下のようなエラーハンドリングコードの定型文を置き換えるのが目的。 begin do_something rescue SomethingIsBroken =>

    週刊Railsウォッチ: Packwerkの詳しい解説書『Gradual Modularization for Ruby and Rails』ほか(20221101前編)|TechRacho by BPS株式会社
  • Rails 6からActiveRecordのAssociationはscopingの影響を受けなくなっている件と対処法

    こんにちは。日ではすっかり秋の空が近づいてきました。個人的に夏は暑さが苦手であまり好きではないのですが、終わってしまうとなると毎年どこか寂しい気持ちになります。 一方で、秋はご飯が美味しいのでべる事が好きな僕にとっては一番好きな季節でもあり、結構心が踊っています。笑 さて、前置きは置いといて今回は表題の通り、とあるRails 5.2プロジェクトRails 6にアップグレードした際に、ActiveRecordのscopingの仕様変更を踏んでしまったのでその対処法をご紹介します。 そもそもscopingとは ActiveRecord::Relation の機能で、引数にブロックを受け取り、その中では、実行時に適用されていたスコープを全クエリでデフォルトで適用する、と言う物になります。 例として、deleted_at (timestamp, nullable) と言うattributeを

    Rails 6からActiveRecordのAssociationはscopingの影響を受けなくなっている件と対処法
  • ActiveRecordの #or を使うときは、こう考えると良さそう - nisshieeのブログ

    Rails5で追加された #or について。 (どうでもいいけど、このメソッド、ググラビリティ低すぎぃ) 社内で話してたら、Twitterで会話されてた。 @kamipo https://t.co/UQaAbt7M7T これrails 5.1でも .or(where(...)) が括弧で囲まれないんだけどバグちゃうの?— FUJI Goro (@__gfx__) 2017年7月3日 つまりこう考えれば良いということか。 ↓ 「whereを AND だと思ったうえで、メソッドのチェーン順に従う。」 と思えば良いのか。 Model .where(A) .where(B).or(C) は改行のせいでgroupingが存在している気になるけど、字句解析結果は結局のところこう↓ Model.where(A).where(B).or(C) これを、チェーン順に解釈すれば確かに A and B or C

    ActiveRecordの #or を使うときは、こう考えると良さそう - nisshieeのブログ
  • Fixing issue in shrine.rb undefined method url · nezirz/rails_admin@6fb120d

  • 契約書自動作成・弁護士相談プラットフォーム「クラウドリーガル」を開発するa23s株式会社がシードラウンドで総額約7,000万円の資金調達を実施

    契約書自動作成・弁護士相談サービスを含む、個人事業主・中小企業向けのバーチャル法律事務所プラットフォーム「クラウドリーガル」を開発するa23s株式会社(社:東京都中央区、代表取締役:﨑地康文)は、East Ventures(社:東京都港区)及び複数の個人投資家への第三者割当並びに融資他により、総額約7,000万円の資金調達を実施しました。 資金調達の背景と目的 a23s株式会社(以下「当社」といいます。)は、契約書自動作成・弁護士相談サービスを含むバーチャル法律事務所プラットフォームを開発し、2022年5月からなゆた国際法律事務所との提携によりサービスの提供を行っております。サービス品質の向上及びより多くのユーザーへとサービスを届けるために、資金調達を行いました。 サービス概要 当社の開発する「クラウドリーガル」は、質問に答えるだけで簡単・迅速に法律文書の作成ができる「契約書自動作成サ

    契約書自動作成・弁護士相談プラットフォーム「クラウドリーガル」を開発するa23s株式会社がシードラウンドで総額約7,000万円の資金調達を実施
  • Controller Specでcookiesの値を指定して処理する。 - Qiita

    環境 macOS High Sierra 10.13.6 Docker Version: 18.09.2 rails 5.2.1 問題 RspecのController Specでcookiesの値を指定して処理をしたい。 解決法 cookies.signed[:key] = 'value' として、その後リクエストを送ります。 describe "#index" do let(:guest_token) { 'abcde' } let!(:order) do create( :order_with_line_items, guest_token: guest_token ) end before do cookies.signed[:guest_token] = guest_token get :index end it "assigns the guest's current orde

    Controller Specでcookiesの値を指定して処理する。 - Qiita
  • Rails Admin:Custom Actionの追加 - Qiita

    デフォルトのアクションオプション まずはじめに、Rails Adminのアクションにはこんなデフォルトオプションがあるよ、というご紹介。 オプションのデフォルト値一覧は以下のファイルに書かれている。 rails_admin/lib/rails_admin/config/actions/base.rb register_instance_option :collection? モデル単位のアクションか デフォルト値: false register_instance_option :member? オブジェクト単位のアクションか デフォルト値: false register_instance_option :controller コントローラーアクションの中身 register_instance_option :bulkable? 一括更新か デフォルト値: false モデル単位のアクション

    Rails Admin:Custom Actionの追加 - Qiita
  • Installing with OAuth

    Slack apps are installed with a v2 OAuth 2.0 flow. We're sorry about all the "2s": OAuth 2.0 refers to the 2.0 version of the OAuth spec, and this is our second version of OAuth 2.0. For the rest of this guide, we'll just refer to it as "OAuth". For posterity, this OAuth flow works the same as the OAuth flow for legacy Slack apps. Only a few details have changed; URL and method names have gained a

    Installing with OAuth
    tech-kazuhisa
    tech-kazuhisa 2023/07/27
    slackのOAuth手順
  • Tutorial: Open Authorization

  • App manifestでSlackアプリを簡単インストール&GPTチャットボット体験

    はじめに 皆さん。ChatGPTやBing AIを使って楽しんでいますか? OpenAIのアカウント登録時に**18ドル分クレジット (有効期限3ヶ月)**が付与されています。 クレジットが勿体ないのと、技術的に興味があったのでbotでも作って見るかーというのが、今回の記事のきっかけとなっています。 今回は単純なチャットボットを作るだけでなく、App manifestという機能を使ってSlackアプリケーションのインストールを簡単化する方法を試してみました。App manifestは以前から気になっていた機能です。 App manifestって何? SlackのApp Manifestとは、Slackアプリの設定をYAMLまたはJSON形式でまとめたものです。 App Manifestを使うと、UIAPIを通して、あらかじめ定義された設定でSlackアプリを作成したり、既存のアプリの設定

    App manifestでSlackアプリを簡単インストール&GPTチャットボット体験
  • チーム トポロジ | Atlassian

    適切なチームが配置されているか 担当チームのいない分野に対する能力の欠落があるか チームの自律性と他のチームからのサポートの間で、必要なバランスが取れているか 開発および運用のリーダーは、チーム トポロジのレンズを通して組織を見ることで、適切なチームが配置されているかどうかを的確に把握できます。チームのバリエーションの数を 4 つの基チーム トポロジにまで減らして、経営幹部と実際のチーム メンバーの両方が容易に理解できるようにすることをお勧めします。 ストリーム基準のチーム プラットフォーム チーム 複雑サブシステム チーム イネーブリング チーム これらのチーム タイプは、企業の規模と成熟度に応じて異なる形態を取ることにご注意ください。実際には、複数のタイプのチームを組み合わせたりチームを別のタイプに転換させたりすることが、多くの場合で最良のアプローチとなります。 ストリーム基準のチー

    チーム トポロジ | Atlassian
  • Cloudflare Workers で Slack アプリを動かす方法

    最近、週末の趣味プロジェクトとして Cloudflare Workers(と Vercel Edge Functions)向けの Slack アプリ開発フレームワークを作りました。 私は普段 Slack の Developer Relations Engineer として Qiita の Slack チームの公式な記事を書いているのですが、この Cloudflare Workers 向けのものは業務で開発した公式ツールではなく、完全に個人プロジェクトなので、Qiita の Org ではなく Zenn に個人的な記事として書くことにします。 ・・・そして、書き終わってみると、随分と長い記事になってしまいました。興味のあるところだけでもぜひ読んでみてください。 この記事で説明するもの この記事では、Slack アプリ開発の基と、以下のライブラリの使い方について解説していきます。 「Slack

    Cloudflare Workers で Slack アプリを動かす方法
  • TBS金曜ドラマ『トリリオンゲーム』のハッキングシーン舞台裏 - 株式会社リチェルカセキュリティ

    7/14/20232023年7月14日よりTBS金曜ドラマ『トリリオンゲーム』の放送が始まりました。弊社エンジニアチームは、1話のハッキングシーン作成にITセキュリティ技術協力として携っています。記事では、その背景と詳細を解説します。 『トリリオンゲーム』は起業家とエンジニアの成長物語で、原作からドラマに至るまで、Flatt Security様による的確な技術監修がなされています。このたび弊社は、原作と台のシナリオに基づいて、 現実的に可能なハッキングシナリオの具体化 詳細が設定されていなかったプログラムの作成 実際のプログラム・コマンドに合わせたセリフ・演技指導 セキュリティチャンピオンシップのルール設定、画面作成支援 を行いました。 金曜ドラマ『トリリオンゲーム』|TBSテレビ 以降、作成した資料や作成の舞台裏をピックアップして紹介します。 ■ 免責事項 記事は、ドラマ中の技術

    TBS金曜ドラマ『トリリオンゲーム』のハッキングシーン舞台裏 - 株式会社リチェルカセキュリティ
    tech-kazuhisa
    tech-kazuhisa 2023/07/15
    予選はリモートだから100人の協力者がいても問題ないってこと?
  • なぜ雑談が重要か - stmn tech blog

    これはなに? こんにちは、リファクタリング大好きなミノ駆動です。2023年7月より株式会社スタメンにジョインしました。 コミュニケーションには会議体やテキストベースなど様々な手段があります。 その中で雑談がなぜ重要であるかについて、私の考えを記したものです。 大事な前提 〜目的と手段の関係〜 人々の活動には目的があります。そして目的を満たすための手段を追い求めています(ここでいう手段とはシステムであったり情報であったり、「目的の役に立つもの」と考えてください)。 目的と手段の関係性を次の図で表現します。目的と手段それぞれの円の重なりが大きいほど、目的に対して相応しい手段である、ということをここでは表します。 この図を使った例を出します。 今の時期、だんだん暑くなってきましたね。「暑さを解消したい」という目的に対して、「扇風機を点ける」「エアコンを点ける」「かき氷をべる」「南極に送り込む」

    なぜ雑談が重要か - stmn tech blog
  • 祝・再販!ブーメラン考察編①

    なかなかええんちゃう? 交換パーツ 850メタル 5個 1150プラベアリング 13個 フルベアにする場合、OP-1002 ホットショットのベアリングセットでいけます! 2×6 ボタンビス 12個(フロントアーム部) 2ミリ系は材質チタンのビスしかありません…… 3×6 ボタンビス 2個 3×8 ボタンビス 9個 3×8 皿ビス 4個 3×10 ボタンビス 1個 (サーボ部/私の愛用してる中華サーボの場合) 3×10 フランジタッピングビス 4個(サーボマウント部) ここを、3×10ボタンビス 4個と3ミリワッシャー 4個に交換します! 3×12 ボタンビス 18個 3×20 ボタンビス 7個 3×27 ボタンビス 5個 3×30 ボタンビス 1個 フロント、リヤアーム部で使われてるスクリューピンの数も一応、記載しときます 3×32 スクリューピン 6個 3×38 スクリューピン 2個 3

    祝・再販!ブーメラン考察編①
  • 流行する高い目標設定とその副作用 | Q by Livesense

    一筋縄でいかないような難解な仕事を抱えていると、何をしているときでも、頭の片すみにずっとその仕事が居座っている感じがする。 憂というほどではないけれど、邪魔になるときもある。楽しい飲み会の最中とか、ゆっくり休まるはずのバスタブでも、ふと気づくとそのことについて考えてしまったりする。気分転換が下手になる。 それはしかし、少なくともぼくの場合は、半分くらいは意図的にそうなっている。チャレンジングな仕事に携わるのは幸運なことだし、基的には楽しいことだ。難しい問題について考え続けたい、考え抜きたいという前向きな気持ちもある。通勤路を歩いているときに仕事のことを考えるのは、ちょうどいい暇つぶしにもなっている。それゆえ、塩梅が難しい。 「シャワーを浴びているときに、いいアイディアが降ってくる」みたいな話とも、ちょっと近い。移動中の電車、お昼ごはん、夜寝る前のベッドの中。考える仕事は、わりとどこでで

    流行する高い目標設定とその副作用 | Q by Livesense
  • 【コードリーディング】 Delayed::Jobのジョブ登録と実行

    はじめに Ruby on Railsで非同期処理を行う際に、Delayed::Jobを触る機会がありました。 このDelayed::Jobについて動かし方を少し知ってはいたものの、内部処理まではほとんど知らないままでした。 内部構造をほとんど知らなくても動かせることは良いことなのですが、どんな仕組みで動いているのか興味があったので、コードリーディングしながら理解することにしました。 環境 Ruby: 2.7.4 Ruby on Rails: 6.0.4 MySQL: 5.7 delayed_job: 4.1.9 delayed_job_active_record: 4.1.9 Delayed::Jobとは Delayed::Job (or DJ) encapsulates the common pattern of asynchronously executing longer tasks

    【コードリーディング】 Delayed::Jobのジョブ登録と実行
  • DelayedJobでジョブの状態を取得する - Qiita

    DelayedJobを使っていて、ちょっとジョブの状態を知りたくなったのですが、各ジョブがどんな状態かを明確に取得する方法がなく、少々ハマってしまいました。 ここにその時調べたりソース読んだりしたことをメモしておきます。 各状態のジョブを取得する 失敗ジョブを削除する場合 working = Delayed::Job.where('locked_at IS NOT NULL') failed = Delayed::Job.where('last_error IS NOT NULL') pending = Delayed::Job.where(attempts: 0, locked_at: nil) enqueued = Delayed::Job.all working = Delayed::Job.where('locked_at IS NOT NULL').where(last_erro

    DelayedJobでジョブの状態を取得する - Qiita
  • Delayed::Job再起動時にジョブがロックされたままにさせない - ゆるりと

    Delayed::Jobを気軽に再起動させたいために挙動確認した時のメモです. 実行環境 Ruby ... 2.6 Ruby on Rails ... 5.2.2 MySQL ... 5.7 delayed_job_active_record ... 5.1.3 daemons .... 1.3.1 また、Delayed::Jobを起動する際に共通するオプションとして-n 2を指定する前提で書きます. ソースコードは、graceful_delayedにまとめてあります. 再起動時にジョブがロックされたままにさせない Delayed::Jobをbin/delayed_job経由で操作すると、daemonsというGemでWorkerプロセスが起動します. このdaemonsは停止命令(stop)が実行されると、そのプロセスで処理が終了するまで待ち、プロセスを終了させます. 終了待機時間のデフォ

    Delayed::Job再起動時にジョブがロックされたままにさせない - ゆるりと
  • Ruby の型チェッカーの比較 | Wantedly Engineer Blog

    はじめにこんにちは、Wantedly の 2021 年サマーインターンに参加した宮下と申します。今回のインターンでは三週間の間 DX (Developer Experience) チームに所属し、Wantedly のコードベースに Ruby の型チェッカーの導入を試みることをテーマにしていました。 インターンの前半では、様々な型チェッカーの性能を調べたり、それぞれの型チェッカーを実際に使ってみることで、開発効率を基準とした比較を行いました。インターンの後半では、現段階では一番実務に適しているだろうと判断した Sorbet に焦点を当て、Wantedly のいくつかのコードベースに実験的に Sorbet を導入した環境を作った型情報をつけていく作業をしていました。 記事は、主にインターンの前半で調査した、型チェッカーの比較という部分に焦点を当て、文章の形にまとめたものになります。 Ruby

    Ruby の型チェッカーの比較 | Wantedly Engineer Blog