SMARTCAMP Engineer Blogのフィード
https://zenn.dev/p/smartcamp
SMARTCAMPに所属するエンジニアの個人記事を集めています。 記事の内容は個人の見解であり、社内でのレビュー等は行っておりません。
フィード

会話っぽいリアルタイムなチャットを作った話
SMARTCAMP Engineer Blogのフィード
はじめにこちらスマートキャンプのアドベントカレンダー13日目の記事なっています!学生時代に作ったアプリを振り返ってアイデア出す一連の流れをアウトプットしてみました! 作ったもの複数人でリアルタイムに会話に近いチャットができるWebアプリです。https://www.youtube.com/watch?v=Pt84Y2GsbVw 使ったもの数年前に作成したものなので少し技術スタックが古いです。 フロントエンドReactStyled-componentSocket.io バックエンドGoGingo-socket.io アイデアの出し方...
17時間前

チームに合わせたplan.md生成・管理システムを構築する
SMARTCAMP Engineer Blogのフィード
!この記事は、SmartCamp Advent Calendar 2025 15日目の投稿です。この記事では、弊チームの開発フローの課題を解決するために考えた、SDDアプローチを小さく取り入れたplan.md生成・管理方法について紹介します。 SDD(仕様駆動開発)について2025年は生成AIによるコーディングエージェント元年とも言える年になりました。多様なツールやサービスが登場し、実際の開発現場での活用が進むにつれて、新たな課題が浮上してきています。その中でも、仕様や設計が曖昧なままAIにコーディングを任せることによって意図しない動作やバグを引き起こしたり、後の工程で手戻...
20時間前

WordPressのカスタムHTMLの自由度
SMARTCAMP Engineer Blogのフィード
はじめにこちらスマートキャンプのアドベントカレンダー14日目の記事なっています!WordPressのカスタムHTMLがWordPressがかなり自由度が高かったので備忘録として残しておきます。 WordPressのカスタムHTMLWordPressのカスタムHTMLブロックは以下のようなものです。 ブロックのコードブロックのコードは以下になっており、特別HTMLタグで囲まれているわけではなく、ただWordPressコメント囲まれている箇所がカスタムHTMLと解釈されます。<!-- wp:html --><div>カスタムHTML<...
20時間前

Google MeetのAI議事録を自動でMarkdownファイルに変換する 【GAS】
SMARTCAMP Engineer Blogのフィード
!この記事はSMARTCAMP Advent Calendar 2025 の12日目の記事です。 はじめにみなさんはGeminiによるGoogle Meetの議事録生成機能を使ったことがありますか?筆者はもっぱら1on1で使用しています。ミーティングが終了して少しすると、議事録としてGoogle ドキュメントが自動で生成されてメールで送信されるのでとても便利です。内容としても「要約」・「文字起こし」の2セクションで構成されており、形式を問わず議事録として扱う分には何ら問題ないと思います。(そして現状特に問題を感じていない方にはこの記事は刺さらないかもしれない)筆者は日...
4日前

日本の住所の表記ゆれ vs 正規化を阻む住所
SMARTCAMP Engineer Blogのフィード
こんにちは!スマートキャンプ株式会社のcruiseです。この記事はスマートキャンプ株式会社のアドベントカレンダー 2025 の11日目です。 同一の住所か判定したいみなさんご存知の通り、日本の住所はかなりの表記ゆれがあることで知られています。例えば、弊社オフィスの住所はコーポレートサイトによると、次のように記載されています。〒108-0014 東京都港区芝5-29-11 G-BASE田町 13階しかし、以下の表記であっても、弊社オフィスを指す住所ですよね...?東京都港区芝5-29-11 G-BASE田町13階東京都港区芝5-29-11-13F東京都港区芝5丁目...
5日前

unifiedでHTMLからWordPressに変換する機構を作成した"
SMARTCAMP Engineer Blogのフィード
この記事はSmartCampアドベントカレンダーの10日目の記事になっています!https://qiita.com/advent-calendar/2025/smartcamp はじめに既存のHTMLファイルからWordPressブロックに変化する、みたいなことを行ったので備忘録として残しておきます。WordPressの知識については省きます。 行ったこと実際にやったことは以下です。既存のHTML -> unifiedでHTMLをパース -> 自作したunifiedプラグインでHTMLタグをWordPresブロックに変換 -> 変換したWordPres...
5日前

WordPressブロックの形式
SMARTCAMP Engineer Blogのフィード
この記事はSmartCampアドベントカレンダーの9日目の記事になっています!https://qiita.com/advent-calendar/2025/smartcamp はじめにWordPressブロックは実はカスタマイズされたHTMLであり、自力で直接書くことができます。ブロックの記事も少ないのでここに書いておこうと思います。 WordPressブロックとはWordPress5.0から採用されているブロックエディターで使われている、記事を構成するパーツのことです。例: Paragraphブロック 主な形式WordPressブロックは主にWordPress...
6日前

プロジェクトが迷子にならないチーム運営:オーナー制度をはじめてみた
SMARTCAMP Engineer Blogのフィード
!この記事は SMARTCAMP Advent Calendar 2025 の8日目の記事です。 はじめにこんにちは。初めまして。まるべいじ(malvageee)と申します!今回は、チーム内で機能開発の進捗が追いづらくなり、動きにくさが生まれていた状況を改善するために導入した「プロジェクトオーナー制度」について紹介します。私が率いている開発チームでは、複数の機能開発が同時に走っており、プロジェクトの透明性が低下するという問題を抱えていました。結果として、誰がどこまで進めているのかがわかりにくく、チーム全体が自律的に動きづらい状態になってしまいました。そこで改善策として導...
7日前

そもそもそれをやる意味って何ですか?って投げかける覚悟はできてるか?俺はできてる
SMARTCAMP Engineer Blogのフィード
「そもそもそれをやる意味って何ですか?」って結構勇気のいる問いかけだと思います。でもこの言葉を投げかけたことによって業務効率が上がることもあると思います。でも業務効率が下がることもなきにしもあらずだと思います。最近はそもそも何で?という疑問が頭によく浮かんでくる思考になってきたのですが、やりすぎはよくないと反省をしております。この問いかけを投げるなら、どんな覚悟をするべきなのか理想と現実を言語化し、最後に覚悟するためのヒントをまとめてみました。 この言葉を投げたくなる場面それをやる目的がハッキリせず、納得感が得られないので本音ではやりたくないとき 納得感が得られない...
9日前

レスポンスが返ってくることのありがたみ
SMARTCAMP Engineer Blogのフィード
今回のお話ブラウザ → フロントエンドサーバー → バックエンドサーバー → たまに別のAPIサーバー という構成で、ブラウザからあるURLにリクエストを送信したところ、504 Gateway Timeout がレスポンスとして返ってきたときのトラブルシューティングです。 先に3行まとめレスポンスが返ってこないことだってたまにあるよセキュリティグループに通信が弾かれると、レスポンスは返ってこない他のAPIへの通信は適切にタイムアウト時間を設定しよう ECS で稼働する環境フロントエンドサーバー と バックエンドサーバー をまとめて1つのサービスタスクとしていた...
10日前

Forget `make`, `just` run.
SMARTCAMP Engineer Blogのフィード
!この記事はSMARTCAMP Advent Calendar 2025 の5日目の記事です。 ## はじめにWeb開発の現場で Makefile をタスクランナーとして使用している所は今でも少なくないと思います。が、しかし Makefile は本来C、C++のコンパイルなどのビルド作業での使用を想定されたツールであり、タスクランナーとして使用するとどうしても苦しい場面に遭遇することがあります。コマンド名と同名のファイル名が存在すると実行されない(.PHONY が必要)tab によるインデントが必須引数を渡すのが一癖ある ( make task ARG=hoge など...
11日前

RailsでBulletを入れているのにN+1が起きてしまう
SMARTCAMP Engineer Blogのフィード
!この記事はSMARTCAMP Advent Calendar 2025の4日目の記事です。年末に差し掛かりバタバタしてきましたね。さて、今回は弊社のアドベントカレンダーの4日目としてRailsでBulletを使っているのにN+1が起きてしまうという悲しい事象をしていきます。Railsユーザーには当たり前かもですが、個人的にやられたので温かい目で見てください... Bulletとはhttps://github.com/flyerhzm/bulletBulletとはN+1が起きているときに教えてくれるgemです。READMEにも書いてある通り、eager loading...
11日前

2週間でアート作品のシステムを作った話 ── Vercel + Supabase
SMARTCAMP Engineer Blogのフィード
導入こんにちは!スマートキャンプ株式会社の松下です。この記事はスマートキャンプ株式会社のアドベントカレンダー 2025 の記事として執筆しています。しかし、内容は仕事には関係ないプライベートでの活動についてになっています。何卒ご了承ください。 芸術祭への出展この度、 ATAMI ART GRANT 2025というイベントに、出展作家側で参加しました。熱海の街にあるマンションやお店で様々な芸術作品を展示するイベントです。公式ホームページスクリーンショット今回私が作成したのはイベント全体のシステム(Web ページ等)ではなく、イベントに出展している作品です。友人が モノ・シ...
13日前

WordPress REST API Batch Frameworkで記事を一度に大量に登録してみる
SMARTCAMP Engineer Blogのフィード
WordPressで大量のコンテンツを投稿・更新する機会があり、REST APIで1件ずつ入れていると結構時間がかかった。そこで色々調べていると、複数のAPIをまとめて送るエンドポイントがあったのでそれを使ってみたのでクセも含めてまとめる。結論正直古く、ドキュメントもほぼ見当たらなく不安はあるものの記事の引っ越しや大量のインポートを行う時には使えそうだった。 使ったものWordPress 5.6(2020年12月リリース)で導入された REST API Batchというもの/wp-json/batch/v1ソース(公式発表)https://make.wordpress...
14日前

定数をYamlで管理するツールを作りました
SMARTCAMP Engineer Blogのフィード
はじめにCLIをツールを作ったので感じていた課題を共有しつつ記事を書いてみようと思いました。こちら成果物のリンクになります。https://www.npmjs.com/package/@garebare/shared-constants どういうツールかバックエンドとフロントエンドの言語が別だが共通の定数を持っておきたい場合に使うツールになります。下記のようなYamlから複数の言語向けに定数が定義されたファイルを出力することができます。format: shared-constants //他のフォーマットが実行されるのを防ぐためconstants: values...
14日前

アーキテクトカンファレンス2025 参加報告
SMARTCAMP Engineer Blogのフィード
はじめにこんにちは!りゅうです。先日行われたアーキテクトカンファレンス2025の2日目(11/21)に参加してきました!セキュリティ、SRE、データ分析基盤、レジリエンスなど、普段あまり触れない分野のセッションがたくさんあり、新卒1年目の自分にとって刺激的な1日でした。各セッションで印象的だったことを簡単にまとめていこうと思います!https://architecture-con.findy-tools.io/2025 生成AI時代の新・セキュリティ脅威:アーキテクトはいかにOSS依存とコード生成リスクに立ち向かうかこのセッションは近年のAIの普及に伴う新たなセキュリテ...
20日前

開発するのにPCがない!そんなあなたにGitHub Codespaces + VS Code
SMARTCAMP Engineer Blogのフィード
はじめにこんにちは、りゅうです!先日、会社の先輩方と一緒に開発合宿に参加したのですが、そこで、ありえないポンコツをやらかしました。それが、周辺機器・参考になりそうな技術書・マウス・キーボードを用意しているにも関わらずPCを忘れるという大失態を犯しました。その中でも意外な発見があったので記事を書きます!今回の開発合宿でやっていたことについてはこちらの記事をご覧ください! 実はスマホでもコードが書けるって知ってますか?今回、自分はPCを持ってくることを忘れたのですが、スマホでコードを編集するということをやってみました。最初に言っておきます、かなり不便だったのでおすす...
23日前

【逆リファクタリングバトル】あえて、FizzBuzzを汚してみる
SMARTCAMP Engineer Blogのフィード
はじめにこんにちは、りゅうです!先日、会社の先輩方と「逆リファクタリングバトル」というイベントに参加しました。これは、あえてよくない設計のコードを書くことで、きれいなコードを書くことの大切さを学ぶというもです。イベント当日は、PCを持ってくるのを忘れるという大失態を犯し、劣悪な環境での開発を余儀なくされました。「クソコードはクソ開発環境から生まれる?」という言葉が、まさにぴったり当てはまる状況でしたね。この辺りの詳しい話は別の記事で!他の参加者の作品はこちらから!主催の方がまとめてくれています! 僕がやった逆リファクタリングざっくり、自分がやった逆リファクタリングの内...
23日前

あなたもクソコードの世界に触れてみませんか?? - 逆リファクタリングバトルのイベント報告 -
SMARTCAMP Engineer Blogのフィード
「コードは綺麗に書くべき」そんな呪いにかかっていませんか?「可読性が正義」「保守性が命」確かにその通り。でも、そこに縛られすぎて“自由に書く楽しさ”を忘れていないでしょうか。コードなんて、本来もっと遊んでいい。ときには破壊的に、意味不明に、カオスな方向へ振り切ってみてもいい。今日はその逆方向へ思いっきり振り切る遊び「逆リファクタリングバトル」というイベントをしたので、その内容を共有しようと思います。Hello. クソコード!! はじめにこんにちは。初めまして。まるべいじ(malvageee)と申します!先ほど、少し刺激的な言葉で始めましたが、この記事は「汚いコード...
1ヶ月前

AIにConventional Commitsさせたら最強なんじゃない?
SMARTCAMP Engineer Blogのフィード
はじめにCursor 2.0で登場したComposerに心を奪われています。(あまりZenn上では話題になっていないみたいですが)記事の趣旨から逸れてしまうので多くは語りませんが、Claude CodeやCodexを使って速度に不満を感じたことがあれば一度CursorのComposerを試すことをおすすめします!今回はそんなComposerの強みを活かしたカスタムコマンドを1つ紹介したいと思います。 Conventional Commitsとは人間と機械が読みやすく、意味のあるコミットメッセージにするための仕様https://www.conventionalcom...
1ヶ月前