wwwave's Techblogのフィード

https://zenn.dev/p/wwwave

株式会社ウェイブのエンジニアによるテックブログです。 弊社では、電子コミック、アニメ配信などのエンタメコンテンツを自社開発で運営しております! https://wwwave.jp/service/

フィード

記事のアイキャッチ画像
Zapierを使ってフォームからJiraへ起票できるようにした話
wwwave's Techblogのフィード
はじめにこんにちは、塚本です。私たちのチームでは、以前こちらの記事『カイゼン・ジャーニー』を読んだ話で紹介した通り、タスク管理の透明性を高めるためにJiraのカンバンボードを導入しました。カンバンの導入によってチーム内のタスクは見える化されたのですが、他部署や社内メンバーからの依頼をどうカンバンに集約するかという問題にぶつかりました。そこで、開発コストを一切かけず、かつJiraのライセンス費用を節約しながらフォームの依頼をカンバンに一元管理する仕組みを構築しようと考えました。前回のカンバン導入に続きのステップとして今回お話しするのは、ノーコードiPaaSの Zapier:ザ...
8日前
記事のアイキャッチ画像
【ラストマンシップ】自分が最後の砦であり、すべての責任を負う
wwwave's Techblogのフィード
はじめにみなさんは「ラストマンシップ」という言葉を聞いたことはありますでしょうか?以前、3ヶ月規模のプロジェクトを無事に完遂した際、いつもと違う強い「成長実感」がありました。今回は何か違う動きをしたか振り返った際、「自分がこのプロジェクトを最速で終わらせる」という強い気持ちがあり、普段なら絶対にやらないような行動をしていたことに気が付きました。これこそがまさに「ラストマンシップ」です。つまり、「自分が最後の砦であり、すべての責任を負う」というマインドセットのことです。 行動変化ラストマンシップを持つと、日々の行動が劇的に変わります。例えば、外部サービスを利用した...
11日前
記事のアイキャッチ画像
『カイゼン・ジャーニー』を読んだ話
wwwave's Techblogのフィード
はじめにこんにちは、塚本です。最近、私たちのグループでは「RSpecによる自動テストの導入」などを進め、コードの内部品質(開発の安心感)を少しずつ上げていく取り組みを行っています。一方で、私たちのグループにはもう一つ、長年抱え続けてきた致命的な課題がありました。それが、業務が完全に個人に集中しており、チームでの開発(仕事)があまりできていないことです。個人のスキルや担当領域に依存し、お互いの領域がブラックボックスになった結果として、長年「トラック係数1(その人が倒れたらプロジェクトが止まる数値)」の業務が存在するという深刻な状態を引き起こしていました。コードを安全に保つ仕組み...
20日前
記事のアイキャッチ画像
マクロキー作成にチャレンジしました ^ↀᴥↀ^
wwwave's Techblogのフィード
初めてのIOTデバイス作成へのチャレンジとして、マクロキー作成をしました。社内の技術遊戯部(テクノロジーで遊ぼうという部活)の活動の一環で実施しました。(部活動制度タスカリマス!)活動の雰囲気の様子は、【IOT初挑戦!】 マクロキー作ってみた =^ovo^=|wwwave for engineer | ウェイブ エンジニア ブログ にまとめています。この記事では、技術的な部分をまとめます。IOT初心者のため、誤っている記述がありましたら、ご指摘いただけると助かります。今回は初めてのIOTデバイス作成ということで、1キーのみのマクロキーを作成することにしました。 材料まずは...
21日前
記事のアイキャッチ画像
Railsの設計パターンと責務分離18選|AI時代に見直すFat Controller / Fat Model対策
wwwave's Techblogのフィード
はじめにRailsで開発していると、Service Object、Serializer、Finder Object、Value Object などの言葉を見かけることがあります。どれもざっくり言うと、ControllerやModelに処理を詰め込みすぎないための切り出し先です。いわゆる Fat Controller / Fat Model を避けるための考え方ですね。AIに実装を任せられる場面が増えた今だからこそ、ただ動くだけではなく、どこに何の責務を置くかを考える力もより大事になっていると感じます。!設計の観点をプロンプトやSkillsに組み込むことで、AIが生成する...
21日前
記事のアイキャッチ画像
Claude CodeのAgents Viewを使ってみた
wwwave's Techblogのフィード
Claude Code Agent Viewとはworktree使ってないときは、claude -rのみで昔のセッションどれだっけーと管理してました。別のディレクトリにcdで移動して、とかもいちいちやってましたそれが全部解決!https://code.claude.com/docs/ja/agent-view複数のエージェントをエージェントビューで管理する! 主な使い方claude agentsで呼べますclaude agents開くとこんな感じ セッションについて管理画面で指示を入力したらセッションが追加されます。名前は勝手に付けられます。作業している...
25日前
記事のアイキャッチ画像
公開されているskillを使ってClaudeのハーネスを設定してみる
wwwave's Techblogのフィード
はじめに公開されているスキルを組み合わせればハーネスができるのでは?と思ってまとめてみました。本記事で扱う「公開されているスキル」は次の3つを対象としています。Claude Codeに組み込まれているもの (/initなどデフォルトで使える)公式プラグインに登録されているもの (anthropics/claude-plugins-official配下)著名なサードパーティ製のもの (Anthropic外の開発者が公開しているプラグイン) 前提Claude Code CLI ハーネスとは何かハーネスはこの記事で説明されている考え方を参考にしています...
1ヶ月前
記事のアイキャッチ画像
テスト駆動開発(TDD)をやってみた
wwwave's Techblogのフィード
はじめに初めてTDDを聞いた時は「テストから書き始めて手戻りを減らす手法」程度に思ってしまっていました。そのような認識でいた時にAIエージェントが流行り、「TDDで実装させた方が品質が良くなる」ことをTwitterで見ました。自分の認識していたTDDから「TDDがAIが開発するときになぜ良い影響がもたらすのか」という疑問がずっと存在していて、ようやくTDDについて調べ、実践してみました。 やってみたTDDのお題rubyで探したら以下のサイトを発見したのでお題にしました。エンジニアのスキルを伸ばす“テスト駆動開発”を学んでみよう | 初学者のためのTDD(テスト駆動開発)...
1ヶ月前
記事のアイキャッチ画像
HTMLをGASを使って社内でサッと共有したい
wwwave's Techblogのフィード
発端次のポストを見たのがきっかけでした。AIでHTMLを作ることが増えてきたのですが、できあがった HTML を社内で気軽に見せる場所がありませんでした。社内は Google Workspace を使っているので、Google Apps Script(GAS)と Google Drive だけで作れるのでは?と思って作ってみました。 作ったものDrive のフォルダに置いた HTML を、URL ひとつで社内共有できるウェブアプリです。トップを開くと管理画面が出ます。ここに .html ファイルをドラッグ&ドロップするだけでアップロードできます。管理画面(オーナー...
1ヶ月前
記事のアイキャッチ画像
Claude Code会話履歴を振り返り->改善のルーティーン化
wwwave's Techblogのフィード
Claude Codeを利用しており、日々CLAUDE.mdを更新したり、スキル化したり、サブエージェント化したり、改善しています。作業途中でこの作業/知識をスキル化しようかな〜と思うものの、どの範囲でスキル化すると最適化など考えるのに時間がかかったり、めんどくさくてスキル化は後回しにしてしまったりします。そこで、Claude自身で会話履歴を振り返って、改善を提案してもらえばいいのでは??それをルーティーン化してしまえばいいのでは?と思い立ちました。 Claude Code 自己振り返りスキル 処理の流れスキルの大まかな処理の流れとしては、以下となります。 出力以下の...
1ヶ月前
記事のアイキャッチ画像
レガシーコード脱却への挑戦:実際にRSpecを書いてみた
wwwave's Techblogのフィード
はじめにこんにちは、塚本です。前回の記事では、書籍『レガシーコードからの脱却』との出会いを経て、「手動テスト中心の現場」から脱却するために自動テストへの一歩を踏み出した背景をお話ししました。今回はその実践編として、ビジネスロジックが集約されているモデルクラス(今回は仮に Hoge モデルとします)を対象に、実際にどのような設計思想でRSpecを導入したのか、具体的なコードを交えて共有します。「動いているはず」という推測のコードから、「仕様通りに動いている」と自動で証明できるコードへ。私が考えたテストの設計思想が、少しでも皆さんの参考になれば幸いです。 1. なぜ、いまテ...
1ヶ月前
記事のアイキャッチ画像
OpenClawをGemini無料枠で試す:セットアップからSlack連携、ブラウザ操作まで
wwwave's Techblogのフィード
はじめにAIにブラウザ操作を任せるとどのように動くのか気になったので、今回はOpenClawをセットアップして触ってみました。この記事を読むと、OpenClawとSlackを連携し、SlackからAIエージェントにブラウザ操作を依頼できるようになります。!OpenClaw本体はオープンソースのため無料で利用でき、Gemini APIなど無料枠のあるAIモデルを使えば、完全無料で試すことも可能です。!今回は安全面を考慮してAmazon WorkSpaces上で検証しているため、本記事のように同じ仮想環境で試す場合は、別途利用料が発生します。⚠️OpenClawの機能を...
2ヶ月前
記事のアイキャッチ画像
『レガシーコードからの脱却』を読み、RSpecを導入した話
wwwave's Techblogのフィード
はじめにこんにちは、塚本です。私の所属するグループでは、ビジネスの根幹を支える数多くの業務システムを保守・開発しています。長年運用されてきたシステムも多く、中にはロジックが複雑化し、変更のハードルが高くなっているものもあります。そんな技術的負債を解消すべく、先日、一部のシステムを対象としたものではありますが、コードの構造を整理して見通しを良くする「リファクタリングプロジェクト」を無事に完遂しました。このプロジェクトをやり遂げた達成感がある一方で、私の心のどこかには拭い去れない不安が残っていました。それは、テストコードを書いていないということです。「せっかく綺麗にしたこのコ...
2ヶ月前
記事のアイキャッチ画像
AmazonQ でAWSコストチェックをサポートしてもらう
wwwave's Techblogのフィード
Amazon Qの存在は知っていたのですが、実際に使ったことがなかったので、使用してみました。 AmazonQとはAmazonが提供しているAIアシスタントです。AI アシスタント - Amazon Q - AWSAmazon Bedrock をベースに構築されており、タスクに最適なモデルが選ばれて実行されるようです。サービス形態は2種類あります。Amazon Q Business企業向け、データ統合やワークフロー生成など。Amazon Q Developer開発者向け、コーディングやQAチャットなど。今回利用した、Amazon Qチャットは、Amazo...
2ヶ月前
記事のアイキャッチ画像
ディレクトリ管理をしよう
wwwave's Techblogのフィード
社内で共有されていたこちらの記事を参考に、VScodeの開発環境を整えてみました記事はclaude code用ですが、私はgithub copilotを使用しているので少しだけ変えてますhttps://dev.classmethod.jp/articles/claude-code-directory-autonomy/ きっかけこの記事はざっくりいうと、コーディングエージェントにとって作業しやすいフォルダ構成にしようというものです。私はこれまで、特に理由もなくリポジトリごとに別々に開いて作業していました。copilotもそれぞれで動くので、backendからfrontに渡して...
2ヶ月前
記事のアイキャッチ画像
物理ネットワーク構築ハンズオンやってみた
wwwave's Techblogのフィード
はじめに普段何気なく使用しているネットワーク。クラウド上で構築したことがあっても、L2スイッチ、L3スイッチ、ファイアウォールを使用して物理的なネットワーク構築は今まで行ったことがありませんでした。今回は、たまたま物理ネットワーク構築のハンズオンの講習を発見したので、受けてきました。構築したものと感想を簡単に紹介します! L2、L3スイッチについて簡単に用語の説明をしておきます。資格の勉強などでL2,L3スイッチという単語を聞いたことがある方は多いと思います。!L2スイッチ:OSI参照モデルのレイヤー2、データリンク層に位置する。MACアドレスを用いて同じLA...
3ヶ月前
記事のアイキャッチ画像
Claude Codeにレビューを任せてチームの負担を減らす
wwwave's Techblogのフィード
はじめにチームのコードレビューの負担を少しでも減らすために、Claude Code の Skills を使い、backend(Rails)レビュー用の /review-backend を作成しました。!組み込みの /review は手軽ですが、汎用的なコマンドである以上、標準のままではプロダクト固有の仕様や既存ルールまで踏み込んだレビューは期待しづらいです。Skills にレビュー基準を持たせることで、毎回の指摘の粒度や出力のブレを抑え、より実務で使いやすいレビュー結果に近づけられます。この記事では、/review-backend の使い方と、実際に配置した設定ファイルを...
3ヶ月前
記事のアイキャッチ画像
ClaudeでFixtureをFactoryBotに移行した
wwwave's Techblogのフィード
概要RailsのMinitestで使用していたFixtureをFactoryBotに移行した。Claude Codeで移行計画と実装を行い、人がレビューした。人が修正内容を確認できるように、小さいスコープを修正するサイクルを繰り返した。 想定読者Railsアプリ開発者テストの改善を検討している方 背景古いテストはFixtureに依存しているものが多いかつFixtureのYAMLファイルの数が多いため、Fixture起因のテスト失敗時の原因特定と、修正および修正による副作用の有無の確認が大変だった。 FixtureとFactoryBotの比較...
3ヶ月前
記事のアイキャッチ画像
OpenSearchと仲良くなろう
wwwave's Techblogのフィード
新卒入社してから一年が経ちましたこの一年でいろんなことを学んだので「ちょっとできるようになってきたかも!」と調子に乗っていたら、OpenSearchにボコボコにされました🫠🫠 やりたいこと検索に使う情報を追加検索キーワードを完全一致から部分一致にする 検索データの追加まず引っかかったのはここです。OpenSearch用語が全くわからない。私は名称を覚えるのが苦手です。特にカタカナ。OpenSearchの用語は、普段見る単語でも絶妙に意味が違うので理解するのに苦労しました。OpenSearchの代表的な単語インデックスデータベースでいうところのスキーマ情報。ど...
3ヶ月前
記事のアイキャッチ画像
クッキー型3Dモデルメーカーでオリジナルクッキー型を作ろう
wwwave's Techblogのフィード
会社の懇親会がバレンタイン時期だったこともあり、クッキーを作って配ることにしました。(いきなり)(参照: エンジニアチームのカオスな懇親会|wwwave for engineer | ウェイブ エンジニア)最近会社で3Dプリンタを利用できるようになったので、オリジナルクッキー型を印刷して、それを使って型抜きしてみようと思いました!当初は自分で書いたイラストをSVGにして、Blenderで読み込み、メッシュ化して、、と手作業で型を作っていたのですが、慣れない作業でとても大変でした。そこで、クッキー型3Dモデルメーカーを作成することになりました。 クッキー型3Dモデルメーカークッ...
4ヶ月前