kiryuanzuのブックマーク (1,114)

  • やんないほうがいいかも、GitHub Actions の setup-xxx での依存キャッシュ保存 - 誰かの役に立てばいいブログ

    GitHub Actions で CI している皆様、こんにちは。 GitHub Actions 便利ですよね。使わない日がないというくらい毎日お世話になっています。 さて、CI といえば良く問題になるのが実行時間。 長い待ち時間は開発効率を下げますし、プライベートリポジトリだと Runner の費用も嵩んでしまいます。 時間を短縮する方法は色々ありますが、一手目によく行われるのが依存パッケージのキャッシュじゃないかなと思います。 例えば Go で開発していると、依存パッケージは ~/go/pkg/mod にダウンロードして保存されます。 これを CI 実行のたびにダウンロードしてコンパイルするのは時間とお金の無駄というものです。 幸い、GitHub Actions には CI の実行間でこういった依存パッケージを保存して再利用できるキャッシュ機能があります。 詳しくは以下のドキュメントを

    やんないほうがいいかも、GitHub Actions の setup-xxx での依存キャッシュ保存 - 誰かの役に立てばいいブログ
    kiryuanzu
    kiryuanzu 2024/10/02
  • Ruby 3.2にアップデートするときにつまづいたポイント - スタディサプリ Product Team Blog

    こんにちは、ujihisa といいます。現在スタディサプリのProduct Platform Team で Product Platform Engineerとして仕事を行っています。 Ruby 3.2 3ヶ月ちょっと前の2022-12-25 (JST) に、Ruby 3.2.0がリリース されました。2023-03-05現在の最新安定版はRuby 3.2.1です。 スタディサプリではRailsなどのwebアプリケーションが26個あり、それ以外も含めると全部で29個のRubyプロジェクトがあります。記事執筆現在、これらの中で最も古いRubyバージョンは3.0.4です。 一般に、プロジェクトでは常に最新のバージョンのRubyが使えるべきで、当たり前ですが最新バージョンの新機能をうまく使っていって仕事を進めることができるのはとても気持ちいいですよね。逆に、最新バージョンが使えないならば、今後

    Ruby 3.2にアップデートするときにつまづいたポイント - スタディサプリ Product Team Blog
    kiryuanzu
    kiryuanzu 2024/09/09
  • Ruby のバージョンを 3.1 系から 3.2 系にアップデートしたら Ruby on Rails アプリの動きが変わったのを解決した話 - DIGGLE開発者ブログ

    私たちは Ruby on Rails の主要なマルチテナントライブラリ apartment を使ってサービスを提供しています。 Ruby のバージョンを 3.1 系から 3.2 系に上げたときに CSV ファイルを処理する部分でこのテナントの切り替えが意図通りに動作しませんでした。 この事象が興味深かったので共有します。 現在はこの事象に対応済で、私たちの環境は Ruby3.2 系で動作しています。 apartment ではマルチテナント対応部分をほとんど吸収してくれるので、アプリケーションのコードのほうにはあまりマルチテナント特有の処理が出てこず、個別処理のコードに集中できるメリットがあります。 事象が発生したコードは以下のような形式でした。 CSV.parse(filename, headers: true, header_converters: ->(header) { curren

    Ruby のバージョンを 3.1 系から 3.2 系にアップデートしたら Ruby on Rails アプリの動きが変わったのを解決した話 - DIGGLE開発者ブログ
    kiryuanzu
    kiryuanzu 2024/09/09
  • GitHubのMerge Queueとは何か?それと、認識しておきたいこと - Mitsuyuki.Shiiba

    同僚に「GitHubのMerge Queueってあんまり知らないんだけど、どう思う?」って聞かれて「あー。僕もあれよく分かってないんだよね」って返事をして、ちょうどいい機会なので見てみた 見てみた感想としては、いくつか気をつけておきたい点があるけど、チームの開発の進め方にうまくはまれば便利な機能だな、という感じ(なんでもそうか・・・) Merge Queueって? 2023年の7月にGAになったGitHubの機能 プルリクエストをマージするときに「マージ先のブランチ(ベースブランチ)の最新の変更を取り込んでからChecks(つまりCI)を実行して、それが成功したらマージしといて!」ってお願いできる便利機能。名前のとおりQueueになっているので複数のプルリクエストからenqueueできて前から順番に処理してくれる そうは言われても最初に説明を見た僕は「???」状態だった。「なんでこんな機能

    GitHubのMerge Queueとは何か?それと、認識しておきたいこと - Mitsuyuki.Shiiba
    kiryuanzu
    kiryuanzu 2024/08/16
  • STORES Rails アプリを Zeitwerk 有効化するまでの道のり - STORES Product Blog

    こんにちは、ヘイ株式会社でエンジニアをしている id:hogelog です。 2021年6月に入社し CTO 室という部署に所属しつつなんだかあちこちの部署に首を突っ込むような役割をしています。まだ入社したばかりで把握してないものも多いですが、ビジネスの勢い、人の活気、やらなきゃいけないことばかりという雰囲気をとても楽しんでいます。 さてここは技術ブログ。なので技術の話をします。今回は STORES https://stores.jp/ec を支えるなかなか大きなモノリシック Rails アプリケーションのオートローダーを Zeitwerk へと切り替えた業務について紹介します。最新技術でもなく、Rails の設定項目の一つ Rails.application.config.autoloader の値を :classic から :zeitwerk に切り替えるというだけの地味な内容ですが、

    STORES Rails アプリを Zeitwerk 有効化するまでの道のり - STORES Product Blog
    kiryuanzu
    kiryuanzu 2024/07/17
  • GitHub Reusable Workflows と Composite Actions の使い分けについて考えた - stefafafan の fa は3つです

    English translation of this post: GitHub Reusable Workflows vs. Composite Actions | stefafafan's tech blog Composite Actions を触っていたところ、 Reusable Workflows との違いが分かりづらいと感じたので自分の中で考えた使い分けについて整理してまとめてみました。 使い分けイメージ Composite Actions Reusable Workflows 使い分けイメージの根拠 みなさんの使い分けや Tips も教えてください 参考 使い分けイメージ Composite Actions リポジトリ内の「この一連の steps をよくやってるな」というのを部品として切り出したいときに使うと良い Custom Actions を自作する際に、 JavaScr

    GitHub Reusable Workflows と Composite Actions の使い分けについて考えた - stefafafan の fa は3つです
    kiryuanzu
    kiryuanzu 2024/06/13
  • 3D CAD for designing manufacturing-ready models | Shapr3D

    Equip global teams with cutting-edge 3D communication tools, optimizing end-to-end workflows.

    3D CAD for designing manufacturing-ready models | Shapr3D
    kiryuanzu
    kiryuanzu 2024/06/02
  • Exceptional Rails

    kaigi on rails 2023での発表内容です https://kaigionrails.org/2023/talks/willnet/

    Exceptional Rails
    kiryuanzu
    kiryuanzu 2024/04/19
  • できるだけコントローラではなくモデルで例外処理する - kymmt

    問題: コントローラで例外処理している アプリケーションが扱うドメイン特有のエラーを例外として表現する場合に、その例外をコントローラで処理するコードを書くと、ほとんどの場合でコードが読みにくくなったり、コードを変更しづらくなったりする結果となる。そして、開発の効率が落ちたり不具合を作りやすくなったりする。 具体的な問題は次のとおり。 コントローラのアクションの凝集度が下がる コントローラのアクションに、たとえば複数の決済方法のエラーのような微妙に異なる種類の例外に対する処理を書くと、コントローラが肥大化し、凝集度が下がる。結果として、エラーが関わる変更を入れるときに、来ビジネスロジックだけの変更であっても、コントローラとモデルの両方を必ず変更しなければならなくなる。また、関係の薄いさまざまな例外が1箇所で処理されることになり、コードが読みにくくなる。 class ChargesContr

    できるだけコントローラではなくモデルで例外処理する - kymmt
    kiryuanzu
    kiryuanzu 2024/04/19
    “rescue”
  • Ruby のメソッド定義時に仮引数があるとき、それをカッコでくくらないのは私だけなの? - STORES Product Blog

    テクノロジー部門で Ruby インタプリタの開発をしている笹田です。RubyKaigi 2024 楽しみですね。 さて、Ruby のメソッドを定義するとき、仮引数がある場合、カッコを省略することができます。 def foo(x, y) end def bar x, y end bar の定義の方法ですね。私は好んでこの書き方をしてたんですが、同僚の遠藤さんに「そんな書き方をしているのは今時笹田だけだ」と言われてショックを受けたので、ちょっと調べてみました。 ちなみに、カッコがないと使えないメソッド定義の方法があるので、その時には涙を呑んでカッコをつけます。 def foo(kw:) # 必須キーワード引数 end def bar(&) # 無名ブロック引数 end 補足1:Ruby では「メソッド呼び出し時にカッコをつけるかどうか」にいろいろな論争がありますが、ここでは「メソッドを定義する

    Ruby のメソッド定義時に仮引数があるとき、それをカッコでくくらないのは私だけなの? - STORES Product Blog
    kiryuanzu
    kiryuanzu 2024/04/12
  • 自分が会社員だった時の転職活動 - 下町柚子黄昏記 by @yuzutas0

    自分が会社員だった時の転職活動、必ずしも毎回全部できていたわけではないけど、一応こういうステップを意識していたなぁ、というノウハウのシェア。 ①1度に1社だけを受ける。エージェントではなくリファラルで紹介者を見つける。2社以上を同時に受けるのはちょっと大変かなと考えていた。 ②紹介者に社内の課題を聞いて、イシュー度(当に解く価値があるか?)やCan(自分のスキルや経歴に合う領域か?)とのマッチングを確認する。 ③カジュアル面談やリファラル事会で社内課題やカルチャーをヒアリングする。なるべく違う立場のメンバーに来てもらって、見え方や意見のズレを探り、正確な状況を把握する。必要に応じて事前にNDAを締結する。 ④外部事例をリサーチしてその会社にマッチする解決案を考え、提案資料にまとめて送る。入社後に期待される動きの1つを先に実施し、③の参加者が投下した時間コストはこの成果物でお返しとする。

    自分が会社員だった時の転職活動 - 下町柚子黄昏記 by @yuzutas0
    kiryuanzu
    kiryuanzu 2024/04/11
  • 教養としての『ダンジョンズアンドドラゴンズ(D&D)』 - シロクマの屑籠

    はじめに ダンジョン飯 1巻 (HARTA COMIX) 作者:九井 諒子KADOKAWAAmazon アニメ『ダンジョン飯』が人気ですね。 ダンジョンで飯をうという非常識がグルメにもギャグにもなっていて、いちおうシリアスな話も進行していく『ダンジョン飯』。今日のお題は、そのインスパイア元っぽいRPG『ウィザードリィ』のさらにご先祖様の『ダンジョンズアンドドラゴンズ』(以下『D&D』と表記)です。 今、『D&D』の雰囲気をいちばん簡単・忠実に味わえる作品といえば『ダンジョンズ&ドラゴンズ/アウトローたちの誇り』でしょうか。 ダンジョンズ&ドラゴンズ/アウトローたちの誇り 4K Ultra HD+ブルーレイ[4K ULTRA HD + Blu-ray] クリス・パインAmazon 『アウトローたちの誇り』は、種族も性格も技能も違うキャラクターたちが喧嘩したり協力しながら旅を続ける物語ですが

    教養としての『ダンジョンズアンドドラゴンズ(D&D)』 - シロクマの屑籠
    kiryuanzu
    kiryuanzu 2024/02/09
  • gitで最新タグ(現在のブランチ, 全てのブランチ)の取得

    例えば tag でソフトウェアのリリースのバージョンを作っているとしましょう。 そこで最新の tag を取得することで、最新のリリースを取得することができます。 git describe コマンドを用いることで最新の tag を取得できますが、これは現在のブランチに限定された話です。 違うブランチにて最新の tag が打たれている場合は正しく動作しませんので、少し工夫が必要です。 結論 # 現在のブランチの最新タグ(lightweight tag を含む)を取得する場合 $ git describe --abbrev=0 --tags v1 # 全てのブランチにおける最新タグ(lightweight tag を含む)を取得する場合 $ git describe --tags `git rev-list --tags --max-count=1` v2 Memo まずは現在のブランチの最新タ

    kiryuanzu
    kiryuanzu 2024/02/05
  • デプロイ対象環境ごとに別々のSlackチャンネルに通知するGitHub Actionsの実装例 - KAYAC Engineers' Blog

    SREチームの長田です。 SRE関連の記事としては今年最初の記事になります。 今年も定期的にSREチームメンバーによる記事を投稿していく予定です。 よろしくお願いします。 さて、今回はGitHub Actionsのはなしです。 TL;DR デプロイを実行するGitHub Actionsの実行状況を デプロイ対象環境ごとに別々のSlackチャンネルに通知する場合の実装例として、 「slackapi/slack-github-actionで通知をつくりこむ」 「Actions Workflowを分ける」 「Actions Workflow実行の入り口を分ける」 の3つを紹介します。 背景 カヤックでは「まちのコイン」という地域通貨サービスを開発・運用しています。 coin.machino.co まちのコインの開発・運用チームの、特にサーバーサイドに関しては、 アプリケーションやインフラ構成の変

    デプロイ対象環境ごとに別々のSlackチャンネルに通知するGitHub Actionsの実装例 - KAYAC Engineers' Blog
    kiryuanzu
    kiryuanzu 2024/02/01
  • 万城目学氏、直木賞を受賞する - この門をくぐる者は一切の高望みを捨てよ

    昨年、十二月二十一日のことである。 森見登美彦氏は、万城目学氏と、ヨーロッパ企画の上田誠氏との忘年会に参加した。年末の京都に清らかなおっさんたちが集う忘年会も、すでに六回目を数える。 「六回目といえば」 ということで、万城目氏が新作『八月の御所グラウンド』で六回目の直木賞候補になっているという話になった。 しかし万城目氏の顔つきは暗かった。 「どうせあかんねん」 「待ち会はしないんですか?」 「そんなもんせえへんわ。いつもどおりにしてる」 それはいかん、と登美彦氏は思った。度重なる落選にウンザリする気持ちはよく分かるが、直木賞はようするに「お祭り」なのであって、盛りあがらなければ損である。「待ち会」は落ちてからが番なのだ。落選したってええじゃないか! 「何をいじけてるんです。待ち会やりましょう!」 「なんでやねん!」 「やるなら東京まで行きますって」 「あ、それなら僕も行きます」と上田氏

    万城目学氏、直木賞を受賞する - この門をくぐる者は一切の高望みを捨てよ
    kiryuanzu
    kiryuanzu 2024/01/20
  • GitHub Actionsのサードパーティーマネージドランナーの紹介 - いけだや技術ノート

    この記事は はてなエンジニア Advent Calendar 2023 の 2024年1月4日 の記事です。 GitHub Actionsの実行環境であるランナーには、GitHubが提供するGitHub ホステッド ランナーと、自分でランナーを用意・管理するセルフホステッド ランナーの大きく二種類があります。 最近はGitHub ホステッド ランナーにもラージランナーが用意されるようになり、ある程度ランナーのスペックを選べるようにもなりましたが、他のCIサービスと比べてもスペックの割にコストが高めである感じは否めません。一方でセルフホステッド ランナーにはスペックを自分で調整できる自由度がありつつも、管理する手間とコストが掛かってきます。 こうした隙間を突くように、サードパーティーによるマネージドなセルフホステッド ランナーを提供するサービスが増えつつあります。基的には runs-on:

    GitHub Actionsのサードパーティーマネージドランナーの紹介 - いけだや技術ノート
    kiryuanzu
    kiryuanzu 2024/01/05
  • 桐生あんずファンブックのサンプルと仕上がりと裏側 - 感情的ドリル

    こんばんは炬燵です。自宅分納の桐生あんずファンブックが届いたので、何をどうやっていたのかをざっとまとめようと思います。 届いたので長男に検品してもらいました。 検品 #桐生あんずファンブック進捗 pic.twitter.com/edAp7eFGAE— 炬燵(kotatsu) (@sakahukamaki) 2023年12月27日 重たかったです。たった20冊なのに。 あらかた文字なことがわかりますね https://t.co/RZQluNzJA6 pic.twitter.com/1hfSZSE8ZT— 炬燵(kotatsu) (@sakahukamaki) 2023年12月27日 頒布について 事前に宣伝と情報共有です。 あなたのサークルは 日曜日 東地区 “パ” ブロック 03b に配置されています。 目次とか内容とかはBOOTHのサンプルやこのポストのツリーを見て下さい。 桐生あんずフ

    桐生あんずファンブックのサンプルと仕上がりと裏側 - 感情的ドリル
    kiryuanzu
    kiryuanzu 2023/12/27
    本人視点からするととにかく謎の企画なんですが、かかっている労力と時間が異常すぎて本当にすごいなと常々思っています
  • AngularプロジェクトのためのRenovate設定 | Marginalia

    この記事では依存関係の更新を自動化するRenovateを使う上で、Angular CLI ベースのリポジトリに適した設定を紹介する。 またその設定を誰でも利用できるプリセットとして公開したので、その使い方も解説する。 自動化すべきでない依存パッケージRenovate は依存するライブラリなどの新しいバージョンが公開されると一定時間後にそのバージョンへ追従するプルリクエストを自動作成してくれる。 一般的なケースではこの機能はありがたいが、Angular CLI で管理されるリポジトリにおいては注意が必要である。なぜなら Renovate は ng update を実行しないからだ。 ng update コマンドは関連するパッケージグループをまとめてバージョンアップするだけでなく、バージョンアップ時に必要なソースコードのマイグレーションを自動実行する。たとえば angular.json から非

    AngularプロジェクトのためのRenovate設定 | Marginalia
    kiryuanzu
    kiryuanzu 2023/12/27
  • 週報 2023/08/20 C102、醤油ではなく塩で決める、日記の違い - しゅみは人間の分析です

    8/12(土)東京遠征、モルモットの性格の違いはどこから来るのか コミケ東京遠征の日。週報をほぼ完成させ、モルモットにたくさんの🫑、チモシーを与えて家を出た。新幹線で東京へ行く。 東京駅についたら荷物を置いて山手線の某駅で降りた。友人宅を目指す。 いつ東京に来ても思うのだが、東京の道路は東京としか言いようのない雰囲気がある。大阪にも京都にも、私の地元にもない雰囲気。地価の高さからくる家の小ささ、道路の狭さ、なのだろうか。あと商店街が栄えている。どの駅に行っても商店街があることに驚く。 🍐🍐🍐 友人宅で二匹のモルモットたちにご挨拶をした。初めてお目にかかる。二匹のモル様はどちらもうちのモルモットと性格が違っていておもしろい。片方は態度がでかくて凶暴そう。すぐにケージを囓ってアピールする。もう片方はモルモットらしい臆病な性格。なのに好物の餌を見つけたら猪(鼠)突猛進。餌を拾うのに邪魔な

    週報 2023/08/20 C102、醤油ではなく塩で決める、日記の違い - しゅみは人間の分析です
    kiryuanzu
    kiryuanzu 2023/12/23
  • そうめん茹でたら引火した事件を起こしたので再発防止のためにポストモーテムを書いてみる - shiorinのアウトプット

    おはこんばんにちは!1年間の自分に対して最大限の感謝を伝えるために今日人生で初めてうなぎ屋さんに入ってうな重をべましたしおりんです!高かったけど、とーっても美味しかったぁ〜〜!1年間ありがとう私!来年も行こうね ✌️ 今回は、GMOペパボ EC Advent Calendar 2023の17日目の記事です。前回はtakapiさんの個人開発Webアプリケーションを0円で運用するでした!私自身、勉強のために自分でWebアプリケーションを作りたい!と思った際、まず立ちはだかった不安がお金の面だったので、0円で運用できる方法はとても魅力的で参考になる内容でした👀 0円なので気軽に試せそう!私もやってみよう 💪 adventar.org はじめに さて、私が所属しているGMOペパボではサービスでインシデントが発生した際、収束後に振り返りと再発防止を目的としたポストモーテムを作成しています。 こ

    そうめん茹でたら引火した事件を起こしたので再発防止のためにポストモーテムを書いてみる - shiorinのアウトプット
    kiryuanzu
    kiryuanzu 2023/12/19
    そうめんとかパスタ、気を抜くと燃えますよね(燃やしたことはないけど焦がしたことはある)