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

TypeScriptの型演算子の優先順位はどこで決まっているのか?
SMARTCAMP Engineer Blogのフィード
TypeScriptの型演算子とはTypeScriptの型システムでは、型を組み合わせたり変換したりするための演算子が用意されています。// ユニオン型 - いずれかの型type A = string | number;// インターセクション型 - すべてを満たす型type B = Foo & Bar;// 型演算子 - 型を修飾する演算子type C = keyof T;type D = typeof obj;type E = readonly T[];type F = T[K]; // Indexed Access// 配列型typ...
16時間前

TypeScriptの型を収集してからコンテキストとしてLLMに与えてみる
SMARTCAMP Engineer Blogのフィード
問題: LLMが推測でコードを修正するTypeScriptのプロジェクトでLLMにコード修正を依頼すると、LLMは型情報を推測して回答することがあります。//極端な例User: "createUserの引数を追加して"LLM: 「nameとemailを受け取っていますね。そこにroleを追加します」// 実際の型は { repo: UserRepository, data: CreateUserRequest } だった…実際は型の書き方が違う、使い方違う、asを使ってしまう等に収まると思いますが。 既存の選択肢TypeScriptのコードを理解する方法として、現在...
1日前

Rails 8 アップグレードで一番ハマった「テスト DB から RLS が失踪した」話
SMARTCAMP Engineer Blogのフィード
はじめにこんにちは、りゅうです!少し前に、担当しているプロダクトで Rails 7.2 → 8.0 → 8.1 / Ruby 3.3 → 3.4 → 4.0 というメジャーアップグレードを行いました。その時の話を記事にしてみようと思います!特に、Rails のメジャーバージョン変更で詰まってしまった出来事は、条件が揃えば誰にでも起こりうる内容です。同じところでハマる方の役に立てばと思い、書いていきます。gem の引き上げ、非推奨対応、テスト API の移行……と、大小さまざまな作業がありました。ただ、この記事では 特に大変だった部分 を中心に話したいと思います。それが...
6日前

論理削除とデータ再利用、どう判断する?【慣例に従う前に考えたいこと】
SMARTCAMP Engineer Blogのフィード
はじめにこんにちは、りゅうです!新卒2年目でチームが変わり、主体的に動く必要がある環境では色々と考えることが増えてきました。今日はそのような日々の中で 論理削除とデータ再利用 の設計判断に向き合う機会があったため、この記事を書いてみました!今回の記事では論理削除を主テーマに設計の判断軸を整理しつつ、あわせて 「慣例に従うこと」の是非 についても考えていきたいと思います!最近、プロダクト開発で論理削除の扱いについて立ち止まって考える出来事がありました。担当しているプロダクトでは論理削除を主に使用しているのですが、実装の中で割と思考停止に近い状態で論理削除を適用していて、「既存...
7日前

インフラをTypeScriptで管理する - はじめてのAWS CDK
SMARTCAMP Engineer Blogのフィード
TsKaigi 2026以下のセッションでAWS CDKをはじめて知りました。https://2026.tskaigi.org/talks/20AWS Cloud Development Kit (AWS CDK) は、コードでクラウドインフラストラクチャを定義し、AWS CloudFormation を通じてプロビジョニングするための、オープンソースのソフトウェア開発フレームワークです。https://docs.aws.amazon.com/ja_jp/cdk/v2/guide/home.html要するにIaCですね。IaCツールとして、自分はTerraformしか知らず、...
15日前

ゲームボーイアドバンスで、mrubyのバイトコードを実行する
SMARTCAMP Engineer Blogのフィード
はじめにRubyKaigi 2026 で @yhara さんが発表された Ruby on NES - how to make the smallest ruby ever に影響を受け「GBA でも Ruby を動かしたい」と思い立ち、GBA で Ruby を実行してみました。発表ページ: https://rubykaigi.org/2026/presentations/yhara.htmlスライド公開のポスト: https://x.com/yhara/status/2047586239814259034 作ったものリポジトリ: https://github.c...
1ヶ月前

Ruby における Frame(フレーム)と Lightweight Frames
SMARTCAMP Engineer Blogのフィード
!弊社スマートキャンプは、今回RubyKaigiに会社として初めて参加しました!当日の詳細な様子については、別途レポートを公開していますので、ぜひあわせてご覧ください。▼ RubyKaigi2026 初参加レポートhttps://zenn.dev/smartcamp/articles/fa049e31b5c6faさて、本記事は、私たちがRubyKaigi2026で得た学びや経験をアウトプットしていく「リレー記事」の第4本目となります。 RubyのframeとはRuby VM においてFrame(フレーム、制御フレーム)とは、メソッド呼び出しやブロック実行時に VM スタ...
2ヶ月前

形式仕様 × Property-Based Testing で作るAI時代のテストハーネス — RubyKaigi 2026 セッションから
SMARTCAMP Engineer Blogのフィード
!弊社スマートキャンプは、今回RubyKaigiに会社として初めて参加しました!当日の詳細な様子については、別途レポートを公開していますので、ぜひあわせてご覧ください。▼ RubyKaigi2026 初参加レポートhttps://zenn.dev/smartcamp/articles/fa049e31b5c6faさて、本記事は、私たちがRubyKaigi2026で得た学びや経験をアウトプットしていく「リレー記事」の第3本目となります。この記事はRubyKaigi 2026のセッションを聴講し、一度自分なりに理解した上での解釈をアウトプットしているものになります。解釈・理解に間...
2ヶ月前

RubyのパーサーにおけるBindingPower
SMARTCAMP Engineer Blogのフィード
!弊社スマートキャンプは、今回RubyKaigiに会社として初めて参加しました!当日の詳細な様子については、弊社開発メンバーが別途レポートを公開していますので、ぜひあわせてご覧ください。▼ RubyKaigi2026 初参加レポートhttps://zenn.dev/smartcamp/articles/fa049e31b5c6faさて、本記事は、私たちがRubyKaigi2026で得た学びや経験をアウトプットしていく「リレー記事」の第2本目となります。間違っている箇所もあるかもしれませんのでご了承ください。 Binding PowerとはRubyのパーサーにおけるBi...
2ヶ月前

Building the Next-Generation Garbage Collector in Ruby まとめ
SMARTCAMP Engineer Blogのフィード
!弊社スマートキャンプは、今回RubyKaigiに会社として初めて参加しました!当日の詳細な様子については、弊社開発メンバーが別途レポートを公開していますので、ぜひあわせてご覧ください。▼ RubyKaigi2026 初参加レポートhttps://zenn.dev/smartcamp/articles/fa049e31b5c6faさて、本記事は、私たちがRubyKaigi2026で得た学びや経験をアウトプットしていく「リレー記事」の第1本目となります。RubyKaigi2026 Day2 11:30-12:00Building the Next-Generation Gar...
2ヶ月前

.git/info/exclude を symlink で日常使いにする
SMARTCAMP Engineer Blogのフィード
!この記事は SMARTCAMP Engineer Blog のリレー記事企画:「開発環境」のリレー記事、始めます の 4 本目の記事です。.git/info/exclude、みなさんどう付き合ってますか?個人的な感覚だと、そもそも存在を知らない知っているが、毎回 vim .git/info/exclude を打つのが地味に面倒面倒だから使うのを諦めて、git status に差分をキープし続けているの3パターンくらいありそうだなと感じています。自分は長らく3番目で、git status に毎回数行の差分が残ったまま開発していました。ただ、worktree が汚れて ...
2ヶ月前

RubyKaigi2026 初参加レポート
SMARTCAMP Engineer Blogのフィード
はじめにこんにちは!りゅうです!2026年4月22日~24日に行われたRubyKaigi2026に参加させていただきました!その内容を簡単にまとめようと思います!別途一番刺さったセッションについては別記事でより深掘りする予定です。本記事では、以下の内容を書かせていただきます。私が聴講させていただいたセッション・ひとことメモセッションの中で印象に残ったものをいくつか紹介Drink UpやAfter Eventの様子購入した本知らなかった・学んだことここが初参加の人には参考になるかも!今年のRubyKaigiの雰囲気をお伝えして、次に参加しようと考えている...
3ヶ月前

Claude Code の「1.ラーメン」を物理ボタンで殴る
SMARTCAMP Engineer Blogのフィード
!この記事は SMARTCAMP Engineer Blog のリレー記事企画:「開発環境」のリレー記事、始めます の 3 本目の記事です。みなさんこんにちは!今日も元気に Vibe Coding!スマートキャンプ株式会社の ma2Cta です。開発環境リレー記事ということで、私からは一つ小ネタを投稿しようと思います。 Claude Code は承認を求めてくるClaude Code を使ったコーディング、みなさん行なっていますよね。私も、公私共に Claude Code をヘビーユースしています。そんな Claude Code ですが、よく我々人間に承認や確認を求めてきま...
3ヶ月前

Cicaフォントをおすすめする
SMARTCAMP Engineer Blogのフィード
!この記事は SMARTCAMP Engineer Blog のリレー記事企画:「開発環境」のリレー記事、始めます の2本目の記事です。 CicaとはCica(シカ)は、プログラミングでの利用に最適化された日本語等幅フォントです。英数字や記号には「Hack」や「DejaVu Sans Mono」、日本語には「Rounded Mgen+」、絵文字に「Noto Emoji」などが採要された合成フォントです。https://github.com/miiton/Cica等幅フォントは英数字と日本語が交じると端が揃わなかったり、視認性が悪いなどの状態となることがあるため英数字・日本...
3ヶ月前

Claude Teamプランでできること・管理画面まるっと紹介
SMARTCAMP Engineer Blogのフィード
はじめにこんにちは。まるべいじです。皆さんは、日々の業務や私生活でClaudeをどのくらい使い倒していますか?私は、業務では「Claude Team」のPremiumシートを、個人では「Maxプラン」を契約しており、もはやClaudeなしでは生活が成り立たないレベルで依存まくっています。私が所属している開発チームでは、AIを利用した開発を積極的に進めており、CursorやClaude、Devinなどのコーディングエージェントをチーム全体で導入しています。また、3ヶ月周期で「AI活用に関する社内アンケート」を実施し、チーム内のトレンドや細かな要望を吸い上げることで、常に最適な...
3ヶ月前

開発環境現状確認 2026/03
SMARTCAMP Engineer Blogのフィード
!この記事は SMARTCAMP Engineer Blog のリレー記事企画:「開発環境」のリレー記事、始めます の1本目の記事です。最近このタイトルの記事をよく見かけるので自分も便乗することにします。 GUI周り エディタRust製の Zed を使ってます。以前は Cursor を使っていたんですがあまりにも動作が重すぎるため移行しました。起動も早いし動作も軽いしで快適です。テーマは Catppuccin をカスタマイズしてちょっぴり透過したり背景色を揃えたりしてます。ずっとダークモードで使ってましたがなんかライトモードのほうがおしゃれだし目に良さそうなので最...
4ヶ月前

「開発環境」のリレー記事、始めます
SMARTCAMP Engineer Blogのフィード
はじめにこんにちは、ながひろと申します。今回は社内のメンバーで「開発環境」をテーマにしたリレー記事を始めていく案内の記事になります! 「開発環境」の定義ここでの「開発環境」は、かなり広い意味で使っています。ターミナルやエディタといったソフトウェアはもちろん、実際の動作環境、さらにはキーボードやマイクといった入力デバイスまで、開発体験に関わるものはすべて開発環境として扱う想定です。 なぜ「開発環境」?最近、AI関連の話題を聞かない日はないと思います。毎日どこかで話題になっています。そしてその波は、開発の現場にも確実に押し寄せています。CursorやClaude Co...
4ヶ月前

実務で役立つCS(コンピュータサイエンス)のすゝめ 〜社内LT会レポート〜
SMARTCAMP Engineer Blogのフィード
はじめにこんにちは!りゅうです🌟先日、社内のLT会で「実務が100倍面白くなる『CS(コンピュータサイエンス)』のすゝめ」というテーマで発表しました。25新卒として入社してから約半年、実務を通じて感じたことをまとめた内容です。僕は大学・大学院で情報工学(CS)を専攻していたのですが、学生時代はずっと「この知識、実務で使うのかな...?」と不安に思っていました。でも実際に働いてみると、想像以上にCSの知識が役立つ場面が多くて驚きました!この記事では、そんな「学生時代の悩み」から「入社後の発見」まで、具体的なエピソードを交えながらお伝えします。 この記事で分かること学生時...
5ヶ月前

役割から考えた方が課題のイメージしやすいという考察
SMARTCAMP Engineer Blogのフィード
最近社会学の入門本を読みその時に頭に浮かんできた考えを書いてみます!あくまで一考察であり事実ではなく、裏取りも行っていません、学問に関しても素人なのでお手柔らかにお願いします。 社会学での役割社会学での役割は各個人や集団が社会内で果たす振る舞いのことです。 役割には期待される行動や責任があります。社会から期待されている役割なので例で言うと、学生・主婦・営業などです。理論によって役割の見なし方や定義が違うのですがこの記事内では以上の理解で進めます。 役割から課題を考える社会に役割があるのであれば、社会的課題は共通の役割を持った人間が同じ悩みを抱えていおり顕在化するのではな...
6ヶ月前

before_action、どう使う? Fizzyのコードを読んで整理してみた
SMARTCAMP Engineer Blogのフィード
はじめにこの記事は、Railsで開発をしていて before_action の使いどころに迷ったことがある方に向けて書いています。最近Railsで開発をしていて、before_action の使い方についてコードレビューで指摘を受けました。具体的には、リソース取得(@card = Card.find(params[:id]) のような処理)を before_action で書いていたところ、「アクションメソッドが増えて only オプションを使い始めると、どのアクションでどの変数が使えるか把握しづらくなる」という理由で、やめてほしいと言われました。その通りだなと納得はしたもの...
7ヶ月前