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

StreamlitとElectronで、Excelの内容をチェックするアプリを作った
wwwave's Techblogのフィード
はじめに弊社では業務における一部のデータの管理にMicrosoft AccessやExcelが使われており、VBAによりさまざまな処理が行われています。このようなデータ管理システムはバージョン管理もされず属人化が深刻化しており、保守の面で大きな課題となっています。今回、このデータ管理システムに新機能追加の要求が発生したので、将来的なシステム移行に備え、既存のシステムとは独立しつつ要件を満たせるようなツールを作成しました。 概要StreamlitとElectronでデスクトップアプリを作成した。アプリからGoogle DriveやExcelファイルにアクセスできるよ...
1ヶ月前

Cursorを業務で1ヶ月使ってみて
wwwave's Techblogのフィード
8月も終わり。何度目の9月でしょうか過ぎ去る時の速さに焦りを覚えることが多いです。これが老いでしょうかこんにちは株式会社ウェイブでComicFestaの開発エンジニアをしているほさざえもんです業務でCursorを使うようになって1ヶ月経ったので、振り返りを書きます Cursorって?Cursorは、AIを使ってコーディング作業を効率化できる開発者向けエディタ(VS Codeベース)です。チャット形式でコードの修正や生成を依頼できるペアプログラミングみたいな感覚で使えます。最近はエンジニアが「AIと一緒に開発するための最強ツール」として注目してます。by chatgpt...
1ヶ月前

プロジェクトマネジメント難しい
wwwave's Techblogのフィード
はじめにプロジェクトマネージャー(PM)になって1ヶ月経ちました。今までマネージャーの経験がなく、頭の中ではそういうポジションは必要だと何となく分かっていても、本心では「たくさん責任を負わされて可哀想なポジション」だと思っていました。なぜならチームのメンバーは複数人いるので、その責任が平等ではないなんて変な話だと思っていたからです。しかし、実際に少し経験してみて、このポジションは必要で、多くの責任を持つことはしょうがない、という考えに変わりました。1ヶ月の期間、いろいろ悩んで頭パンクしながら得た知識と実際の経験から大事だと思ったことを残しておきたいと思います。 調整コスト...
1ヶ月前

エンジョイ!ハッカソン!
wwwave's Techblogのフィード
こんにちは、フクロウです。 8/23、24の二日間で先輩達と一緒に、都知事杯オープンデータハッカソンに参加してきました。初めてハッカソンというものに参加しましたが、普段考えないようなことを真剣に考えて何かアウトプットするのは良い経験だな〜と思いました。短期間なので中弛みしにくいのも良いですね。 参加したきっかけ社内でもデータ分析を活用しようという動きがあり、大学時代に分析まわりを勉強していたので、何か役に立てるかも…!!と思い参加しました。また、今回は参加者特典としてclaudeが使えるとのことで、何かしら新しいAIに触れる機会になるかも…という期待もありました(実際かなり助け...
1ヶ月前

AWS JumpStart 参加レポート:未経験から「アーキテクチャ設計」の面白さに目覚めるまで
wwwave's Techblogのフィード
参加のきっかけと期待ITソリューション部 社内開発Gの塚本です。エンジニア歴は5年目で、ウェイブは2社目です。前職では、主に金融、証券系のシステムの設計、開発、テスト、リリースを担当していました。ウェイブに入社してからは、社内システムの運用・保守をしています。今回、上長から「いい機会だから、行ってみない?」という推薦もあり、AWS JumpStartに参加しました。個人的にもクラウドの知識が必要だと感じていたので、これはチャンス!と思い参加しました。 参加前の私のAWSの知識レベルAWSについては、業務で触れる機会がほとんどなく、先輩社員が構築している内容を傍...
3ヶ月前

夏にぴったり!BBQ串ガチャを作ってみた!
wwwave's Techblogのフィード
はじめにこんにちは、フクロウです。 最近は夏バテで寝つきが悪く、二、三時間に一回は起きてしまう寝不足な日々を送っています。毎年こうなるので「ああ、夏がやってきたな」と変なところから季節を感じています。 それはそれとして、今年はまだ一回もセミの鳴き声を聞いていないんですが、奴らはどこに消えたのでしょうか。静かで良いことですけどね。今回はこれからの夏にぴったりなBBQで使える串ガチャを作ったので、その紹介をしたいと思います! きっかけ4月から始まった新卒研修、その最後の一つとしてVueを使ったアプリの作成がありました。「vueの研修、何作ろう…?」と頭を悩ませていた頃、ち...
3ヶ月前

バイブコーディングしてみた
wwwave's Techblogのフィード
どうも、海外向けアニメ配信サービスを開発しているsazです今回は、新規機能開発を全てバイブコーディングで実装してみたのでその時のお話をしようかなと思います。ちなみに、cursor使いました 新規機能今回実装するのは、アニメのエピソードへのコメント機能ですエピソードに対してコメントを書いたり、他のユーザのコメントを見たり...運用の観点でいくと、コメントをレビューする機能も必要です バイブコーディングの流れ全体のざっくりとした流れはこんな感じバックエンド要件定義API設計テーブル、モデル設計実装の流れの確認タスク進捗チェックリスト作成実装フロント...
3ヶ月前

【Rails】APIモードでHttpOnlyなCookieを削除する
wwwave's Techblogのフィード
実現したいことサーバーサイド(Rails)側でCookieを削除できるようにしたい 背景これまではフロントエンド側でCookieの値の操作を行っていた脆弱性対策でCookieにHttpOnly属性を設定したことによって、フロントエンド側(Nuxt3)でCookieを参照することが出来なくなった認証情報の受け渡し方法としてAuthorizationヘッダーの利用も取りやめた従って、HttpOnly属性付きのCookieはJavaScript(フロントエンド側)からの操作ができないため、必ずAPI経由でサーバーサイド(Rails)から削除する必要がある 結論...
3ヶ月前

Serviceクラスの肥大化を防ぐためのPORO導入
wwwave's Techblogのフィード
株式会社ウェイブで国内向けアニメ配信サービス「AnimeFesta」のエンジニアをしているflat山ですRailsのPORO導入のリファクタリングに至った記録です はじめにRailsのServiceクラスが増加し、クラスの役割が分かりにくくなった。この状況をなんとかしたくて、PORO(Plain Old Ruby Object)を導入してみた。 PORO導入の背景Serviceクラスは便利だが、責務が曖昧になりやすい。テーブルに紐づかないロジックの整理に悩むことが多かった。ActiveModelを活用し、バリデーションや属性を持つシンプルなRubyオブジェクト(...
3ヶ月前

サッカーから学ぶプロダクト組織の成長
wwwave's Techblogのフィード
!はじめに: この記事の内容は個人の見解に基づくものであり、多分に独断と偏見が混在しております。さらに筆者はサッカーは未経験者であり、サッカーに関する知識についても、「大人になってから趣味で見始めた人」の域を出ない点をご了承ください。 突然ですが皆さん、サッカーを観たことはありますか?読者の大半は普段エンジニアをされてる方だと思いますが、サッカーがテレビで放送することがなかなか少なくなり、サッカー離れと言われて久しい昨今、サッカーはオリンピックとワールドカップ以外で観たことないな…いやいやサッカーは今まで一度も見たことがないよ!という方も多いのではないでしょうか。そん...
3ヶ月前

新卒がAWS summit行ってみた話
wwwave's Techblogのフィード
初めに株式会社ウェイブに新卒で入社し、立派なエンジニアになるべく研修をしているフクロウです。研修でも扱ったAWSに興味を持ち「AWSsummitに行ってみたいのですが…」と聞いたところOKをいただいたので、2日目の方に参加してきました。今回はその体験記をお届けしたいと思います! 人多くない?駅に着いて真っ先に思ったこと「人多いな」会場に着いて真っ先に思ったこと「人多いな」情報化社会のこの時代、興味がある人はやはり沢山いるみたいですね。個人的にかなり驚いたのが、休憩スペースで明らかに仕事をしている人がいたことです。お疲れ様です…と心の中で呟きながら後ろを通りました。...
3ヶ月前

Google Documentで起動時にサイドバーを開いて、そこからGASを実行する
wwwave's Techblogのフィード
Google Documentで起動時にサイドバーを開いて、そこからGASを実行するGoogle Documentでスクリプトを実行したいとき、スプレッドシートのようにボタン画像にスクリプトを割り当てることができません。しかし、サイドバーを活用することで、ユーザーフレンドリーなスクリプト実行環境を構築できます。ただ、少し苦戦したので記録を残しておきます。 背景・課題Google Documentで以下のような課題に直面していました:ファーストビューでのスクリプト実行: ドキュメントを開いたときに、すぐに使えるスクリプト実行ボタンが欲しいGoogle Spreads...
3ヶ月前

職能を超えて協働するプロダクト開発
wwwave's Techblogのフィード
ウェイブでは、エンジニアだけでなく、デザイナー・企画職と協働してプロダクト開発を行っています。職能の異なるメンバー同士が協働するには、他者理解が欠かせません。 デザイン・ビジネス・エンジニアリングの“三位一体”でプロダクト価値を最大化するプロダクトは、使いやすいだけでも、速いだけでも、稼げるだけでも足りません。デザイン / ビジネス / エンジニアリング の三視点は、どれも欠かすことはできないと考えています。 1. デザイン ── ユーザー志向と“使える”体験設計ゴール: ユーザーの課題を解決し、継続的に利用されるプロダクトの“有用性”を届ける落とし穴: ユーザー体験...
4ヶ月前

僕が考えるフロントエンドの APIクライアント設計:型安全で柔軟なfetchの共通化
wwwave's Techblogのフィード
Next.jsのAPI呼び出し、もっとスマートにしませんか?Next.jsでAPI呼び出しを共通化すると、コードがシンプルになり、開発効率が格段に上がります。この記事では、僕がこだわったAPIクライアントの実装を紹介します。特に、次の2点に力を入れました:• 型安全な戻り値:Result<T>型で成功/失敗を明確にし、TypeScriptの型推論で開発を快適に。• 関数のみのエクスポート:getやpostを直接エクスポートし、シンプルなインターフェースを提供。さらに、以下の点も意識しました:• fetchの隠蔽:URL構築やエラーハンドリングを内部で完結。...
4ヶ月前

test-queueを使ったRSpecの並列化
wwwave's Techblogのフィード
みなさんテスト書いてますかテスト書いてないようじゃ無理かテストはね〜書いとかないと現在minitestからrspecへ移行しており、rspecのテスト時間が伸びてきているのでこのタイミングで並列化しちゃおうということで並列化することにしましたrspecの並列化で有名どころだと、parallel_testがありますが、なぜかCI上でだけテストが失敗してしまう現象が発生したのでやめました今回はtest-queueを使ってRSpecを並列化してみました結果的に8分くらいのテスト時間が2分弱に短縮されました!(4vCPUの場合) test_queueの導入まずはGemfileに...
4ヶ月前

アジャイルを怠惰の言い訳に使うな高校校歌・プロジェクト管理編
wwwave's Techblogのフィード
はじめに株式会社ウェイブでエンジニアをしている者です。ふとここN年くらいのプロジェクト管理について振り返ってみて、思ったことを書きました。似たような話はたまに目にするので、一般的な話よりも実体験に基づく話にしています。 主張(自戒含む)スピード重視でも、チケット管理はする(当たり前)ドキュメントは書く(当たり前)だけではないけどそんな感じ 背景https://zenn.dev/wwwave/articles/3cceb8b0393128#背景N年前、プロダクトチームのメンバーは、(ほぼ)スクラム開発の形骸化を感じ、体制の見直しを検討した。タイムリーな課題...
4ヶ月前

新卒のKさんに職場見学してもらった
wwwave's Techblogのフィード
どうも株式会社ウェイブでComicFestaというサービスのエンジニアやってますとまとまとです🍅今回は新卒のKさんに先輩社員3人が普段どんな風に仕事をしているのか見学してもらったので、そちらの振り返りをしていきたいと思います!! なぜしようと思ったのか 前提弊社では新卒社員には入社後約3ヶ月間の研修を行ってもらっています!研修内容はこちらの記事を参考にしてみてください!https://zenn.dev/wwwave/articles/b197b4f7a58cb3 改めてKさんは悩んでいました「実際にPJジョインしたら何やるんだろう…」「この研修、業務のどの辺...
4ヶ月前

アジャイルを怠惰の言い訳に使うな高校校歌・開発編
wwwave's Techblogのフィード
はじめに株式会社ウェイブでエンジニアをしている者です。ふとここN年くらいの業務における開発体験について振り返ってみて、思ったことを書きました。似たような話はたまに目にするので、一般的な話よりも実体験に基づく話にしています。 主張(自戒含む)スピード重視でも、責務をコピペするのをやめよう「あとでリファクタする」は絶対しないので先にやった方がいいレビュー依頼前からすでにコミュニケーションは始まっているだけではないけどそんな感じ 背景 かつてスクラムっぽいものだったものN年前、私のいるプロダクトチームはスクラムっぽい開発体制をとっていました。全く教科書通...
4ヶ月前

デッドコードを消す中で見えてくるものもあるかも
wwwave's Techblogのフィード
はじめに株式会社ウェイブでCoolmicのエンジニアをしている布施です。Coolmicは日本のコミックを海外向けに配信するWEBサービスです。今デッドコードを削除しまくっています。その中でクラス設計などについて改めて思ったことを書きました。あと以前読んだTidy First?の内容も思い出したのでそれについても少し触れています。サンプルコードはRuby(Rails)です。 概要やっぱり責務を意識してモジュールを分割するのは大事テストもどの責務に対応するものなのか意識するのは大事定期的にリファクタリングするのは大事 背景これまで何度も決済処理周辺の変更が...
4ヶ月前

【緊急アンケート】Waveエンジニアに作業中のBGMについて聞いてみました!
wwwave's Techblogのフィード
最近作業中に音楽を聞くようになって、他の人がどんな音楽を聞いているのか気になったので、、Waveエンジニアに作業中のBGMについて緊急アンケートをとってみました!回答者: 19人 作業のときに曲聞く?? ⭕️ Yes: 11人集中したいときに聞く!でも、深く思考するときは邪魔になるので聴かないですイヤホンしてるけどなにも聞いてない時もある正直耳栓でもいいアニソン最高自分だけの世界に入り込めるから無音で作業するより集中できる気がするからリズムで集中、テンション上げるため。集中したい時にはあまり聴かないが、気分転換・リフレッシュとしてよく聴いている周りの音を...
4ヶ月前