初めてのClaude MCPサーバー設定🛠️Brave Search APIでWEB検索を行うまでの手順メモ
MCPサーバー*1気になるけど何から試してみようかな…と思っていたところ Brave Search APIとClaude Desktopを連携させてWEB検索を行う方法を知り、 とてもわかりやすかったので実際に試してみました💡 この記事は試した手順のメモです✏️
手順
1. Claude Desktop をダウンロードし、開発者モードを有効にする
以下からClaude Desktop をダウンロードする https://claude.ai/download
以下の方法で開発者モードを有効にする
Claude Desktop のヘルプ → 「開発者モードを有効にする」
※開発者モードが有効になっていない時はメニューに「開発者」は表示されません。
以下のスクショは設定後のため表示されています。

設定後は「開発者」メニューからMCPサーバーのログが確認できるようになります。

2. Node.jsをインストール
Node.jsの最新の安定版をインストールする Node.js — どこでもJavaScriptを使おう
私はNode.jsをインストール済み(nvm使用)のため、以下を行いました。
- nvmをアップデート
- Node.jsを最新の安定版にアップデート
まずnvmのアップデートから 以下をターミナルで実行
# 現在のnvmのバージョンを確認 $ nvm -v 0.39.3 # nvmをアップデート $ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash # zshrcを再読み込み $ source ~/.zshrc # アップデート後のnvmのバージョンを確認 $ nvm -v 0.40.3
次に最新の安定版のNode.jsをインストールする
# 現在のNode.jsのバージョンを確認 $ node -v v20.18.0 # 最新の安定版をインストール $ nvm install --lts # Node.jsのバージョンを確認 $ node -v v22.15.0
3. Brave SearchのAPIキーを発行する
- Brave Search APIでアカウントを登録する
- Subscription登録をする
- FreeプランでもOK
以下の手順でAPIキーを取得する
4. 設定ファイルを作成する
設定ファイルをVSCodeで開く
$ code ~/Library/Application\ Support/Claude/claude_desktop_config.json
ファイルに以下を記載する
※Brave Search MCP Server に記載のとおりに設定をしたところ、 WEB検索で失敗してしまいました。
{ "mcpServers": { "brave-search": { "command": "/Users/yourname/.nvm/versions/node/v23.3.0/bin/npx", "args": ["-y", "@modelcontextprotocol/server-brave-search"], "env": { "BRAVE_API_KEY": "YOUR_API_KEY_HERE", "PATH": "/Users/yourname.nvm/versions/node/v23.3.0/bin:/usr/local/bin:/usr/bin:/bin", "NODE_PATH": "/Users/yourname/.nvm/versions/node/v23.3.0/lib/node_modules" } } } }
参考:Resolved MCP Brave Search Issue
Brave Search MCP Server(以下では「公式」と記載) の記述から変えたところ
- command
- 公式の記述:
"npx" - 実際に行った記述:npxコマンドの絶対パス
- パス調べ方:ターミナルで
which npxを実行して表示されるパス
- 公式の記述:
- env
- 公式の記述:
BRAVE_API_KEYのみ - 追加した記述:
BRAVE_API_KEYの他にPATHとNODE_PATH - 調べ方:
PATHはターミナルでecho $PATHを実行、"/Users/yourname.nvm/versions/node/v23.3.0/bin:/usr/local/bin:/usr/bin:/bin"に合致する部分NODE_PATHはnpm root -gを実行して表示されるパス
- 公式の記述:
ちなみに公式の記述は以下でした。
{ "mcpServers": { "brave-search": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-brave-search" ], "env": { "BRAVE_API_KEY": "YOUR_API_KEY_HERE" } } } }
上記の設定のままClaudeでWEB検索を実行し、失敗した時のログは以下です。
fetch is not definedというエラーが出てしまいました😭
2025-04-29T06:34:50.361Z [info] [brave-search] Message from server: {"jsonrpc":"2.0","id":16,"result":{"content":[{"type":"text","text":"Error: fetch is not defined"}],"isError":true}}
5. Claude Desktop を再起動
チャットスペースにある🔨マークをクリック

「利用可能なMCPツール」にbrave_local_search や brave_web_search が追加されていればOK

6. 検索の実行
チャットに「〜をウェブ検索してください。」と入力して実行すると、以下のように外部連携の許可を求めるポップアップが表示される →このチャットで or 一度だけ いずれか任意のものを選択し、許可する

手順は以上です👏 手順4の設定ファイルの作成で少し詰まりましたが、当初の想定より簡単に設定を終えることができました🎉
参考
- Claude MCPのWeb検索(Brave Search)機能を追加する手順
- Claude DesktopとBrave Search MCPサーバーの設定方法 / DeepリサーチGemini
- 【Claudeでウェブ検索が可能に】ClaudeとBrave Search APIの連携完全ガイド - Model Context Protocol導入手順|チャエン | 重要AIニュースを毎日発信⚡️
*1:Model Context Protocolの略称。アプリケーションがLLMにコンテキストを提供する方法を標準化する通信規格のこと。
フィヨルドブートキャンプを卒業しました!
これは フィヨルドブートキャンプ Advent Calendar 2024 Part 1 の12日目の記事です🎄
Part 2もあるので是非あわせてご覧ください🎄✨
昨日はPart 1がYoshiwoさんの「フィヨルドブートキャンプで意識していること」でした。
Yoshiwo さんはなんとPart1と2どちらにも参加されています!すごい👏
Part 2がjyoumaさんのFBCと歩む私の小さな一歩:感謝と思い切り挑戦する日々
でした。
jyoumaさんは昨日がお誕生日だったとのこと!おめでとうございます🎂🎉
はじめに
こんにちは。にこると申します。
私は11月上旬にフィヨルドブートキャンプ(以下FBC)を卒業しました。
この記事ではFBCでの学習生活を振り返りつつ、FBCが私にとってどんなところだったのか書いていこうと思います。
自己紹介
私は経理や総務など主にバックオフィス関連の業務に携わってきたのですが
30代半ばにしてプログラミングに興味を持ち、FBCで学習を開始しました。
元々経理担当として入社した会社の開発チームに異動し、
今年の4月からキャリア関連の自社サービスを運営する事業部でエンジニアとして就業しています。
FBCに入会したきっかけ
プログラミング学習の方法を模索していたタイミングで、
FBC卒業生のエンジニアの方から教えていただいたのがきっかけで入会しました。
詳しい経緯は2年前のアドベントカレンダーの記事に書いています✏️
仕事をしながらパートナーと学習する日々について - にこるの記録
卒業するまでの期間と学習時間
学習期間
およそ2年3ヶ月でした。
今年は3ヶ月休会していた時期があるので、在学期間は2年半です。
エンジニアチームに異動する直前に組織体制の変更に向けて仕事が一時的に立て込み、
平日に学習時間が確保できなくなってしまう時期がありました。
「学習を進めたいのに進められない」という状態が続くと気持ち的にしんどくなりそうだと思ったので休会を決めました。
休会中はFBCのコンテンツやDiscordにアクセスできないので寂しさはありましたが、
割り切って仕事に集中することができたので休会制度はとてもありがたかったです🙏
学習時間
合計学習時間は2,098時間でした。
バグにハマって調査や試行錯誤に熱中していて正確に記録していない時間もあるので
実際に取り組んでいた時間はもう50~100時間くらい長くなりそうです。
直近1年は平日に2~3時間、週末は土日合わせて6時間程度のペースで学習していました✏️
睡眠をしっかり確保する、気分転換する日を作る、等無理のないペースで進めることを心がけていました。
技術面以外にもFBCでの学習生活を通して得られたこと
FBCでの学習生活ではプログラミングの知識や技術面以外にも得られたものがたくさんあると感じています。
1. 学習する習慣
資格試験で一時的に勉強をする期間はあったものの、社会人になってからの私は日常的に勉強したり本を読むといった習慣が全くありませんでした。
その状態で入会したので仕事後や休日に学習することに慣れるまで少し時間を要しましたが、
いつの間にか空き時間に学習するのが当たり前になり、なんなら「もっと学習に充てられる時間はないか」と模索するようになっていきました😳
卒業をしてからも仕事後は自然とPCや技術書を開いています📕
逆に入会前にどう過ごしていたのかが思い出せないくらいです。習慣ってすごい。
技術が日々進歩していく中でエンジニアを続ける限り勉強や情報のキャッチアップは必要だと感じているので、学習習慣を得ることができたのは大きなメリットだと思います。
2. アウトプットしてみようという気持ち
FBCでは「初めてのLT会」というFBC内で行われるLT会や、アドベントカレンダーのようにアウトプットできるチャンスがたくさん用意されています。
ブログ更新を習慣化しよう!と思うとなかなか腰が重いのですが、アドベントカレンダーならひと記事書けばよいので気楽にエントリーできました🙌
またFBCでの学習がひと段落したということもあり、今年は会社のブログに記事を書いたりFBCのLT会で初めて発表をしてみました。
卒業前はアウトプットをほぼしてきていなかったのですが、最近自然と「やってみようかな」という感情が浮かぶようになり自分でもびっくりしています!
LT会での発表を見たり、ブログを更新しているFBC生を見ることで自然と刺激を受けていたのかもしれません。
頻繁にアウトプットできているというわけではないですが、入会したばかりの自分と比べると進歩だと思っています!
3. FBCというコミュニティ
5月にはRuby Kaigi, 10月にはKaigi on Railsと今年は2回カンファレンスに参加したのですが、
FBC関係者の方が多く参加されていたのでご挨拶したりお話しすることができて心細かったり寂しかったりすることがありませんでした。
Ruby Kaigiのミートアップに1人で参加した際は主催会社の方がFBC卒業生のいらっしゃる席に案内してくださったことで輪が広がったり、
Kaigi on Railsでも卒業生の方が声をかけてくださったり、FBCのキャラクター「ピヨルド」のキーホルダーを名札につけていることでFBC関係者の方と思いがけず交流が生まれるという体験をしました。
(キーホルダーは会場でkomagataさん、machidaさん、togoさんが配布してくださっています)
また卒業した後でも前述したLT会やアドベントカレンダーといったイベントや、輪読会等の勉強会にも参加することができるので、
カンファレンス以外でも卒業生・現役生の垣根なく交流する場があるのも嬉しいです!
4. チャレンジしたという成功体験
FBCの卒業はゴールではないのですが「一つの指標までやり切れた」というのは少なからず自信になると思っています。
仕事をしているとまだまだ知らないことだらけだと実感する日々ですが、
落ち込んでも仕方ないのでFBC入会前の自分と比べるように心がけています。
満足するのではなく、学習習慣がなかった自分がここまで学習を継続してこられた。だからこれからもできる!と自らを鼓舞するようなイメージです。
もし今後他に新しいことに挑戦したくなった時でも
大人になって0からのチャレンジをした!という経験は挑戦する勇気やモチベーションアップの糧になるのではないかと思います。
これからやりたいこと
開発チームに異動して8ヶ月ほど経ちますが、「日々未知との遭遇」という感じで改めてプログラミングの奥深さを感じています。
学習を続けるとはいっても、この先はカリキュラムがないので
自分の中で基準となる軸として以下の3つを意識して過ごしたいと考えています。
- 業務を通して知識が不足していると感じた技術の学習
知らないこと、学びたいことが多く、あれもこれもとなってしまいそうなので
まずは業務を通して不足していると感じた箇所から学習していこうと思います。
- 自分の得意領域や強みを見つける
つい目の前の業務でいっぱいいっぱいになってしまいがちですが、業務を通して得意な領域や強みを見つけたいです。
- アウトプット
ブログのように公開するものに限らず、
自分だけが見られるかたちで学習したことを記録する等FBCで習慣化したアウトプットを続けていこうと思います。
技術関連以外だとDJに挑戦して自分の好きな日本語ラップミックスを作りたいとか、
マシンピラティス始めたいとか、他にもやりたいことが色々あるので学習とうまく両立して趣味も楽しみたいです!
最後に
こうして振り返るとプログラミングの知識を始め収穫の多い2年半だったと改めて感じました。
卒業時にkomagataさんやmachidaさんにお伝えした内容と重複してしまうのですが、FBCでの学習は人生の大きな転機になったと思います!
学習中にサポートしてくださったり、交流してくださったみなさんありがとうございました。そして引き続きよろしくお願いします!
余談
怯んだ時に心を奮い立たせるためによく聴く曲と、その中の一節を紹介して終わりにしようと思います。
誰も皆 口を揃え一握りだと言いやがる いいやまず一人きりだとしても俺はやる
その時を想像し、奮えて眠れ
実際はFBCでの学習生活では「やり切れるのは一握りだ」とかネガティブなことを言われることは決してないのでご安心ください!
「やり切れるのは一握りの人だけなのではないか」と囁いてくるのはいつもあれこれ考えて不安になった自分でした🥲
思い出記録サービス「Memo Recall」をリリースしました!
オンラインプログラミングスクール「フィヨルドブートキャンプ」(以下、FBC)で学習中のにこるです。
このたび、思い出記録サービス「Memo Recall(メモリコール)」をリリースしました!
この記事ではサービスの概要や、このサービスを開発しようと思い至ったきっかけ、開発の振り返りを書きたいと思います。 2022年4月末に会社のエンジニアの方に教えていただき、FBCに入会しました。
当時は経理・総務を担当しておりプログラミング未経験からのスタートでしたが、
およそ2年半の学習を経て自作サービスをリリースすることができました! 今年の4月からは事業部内のエンジニアチームへの異動が叶い、仕事でも開発に携わっています。 キャリアチェンジについて自社のテックブログにも書いたので、よければご覧ください。
techtekt.persol-career.co.jp 「メモリコール」と読みます。
思い出の記録と振り返りが簡単にできるサービスにしたいという思いから
思い出・記憶の「Memory(Memories)」と思い出す「recall」を掛け合わせて「Memo Recall」というサービス名に決めました。 サービスの利用にはアカウント登録、ログインが必要です。
はじめにトップページから新規登録、ログインをお願いいたします。 画面右下の「+」アイコンをクリックすると、思い出登録フォームが表示されます。 思い出の内容を入力し、必要に応じてカテゴリーを選択します。
(登録済みのカテゴリーから選択するか、新しいカテゴリーを作成できます。カテゴリーの指定は任意です) 最後に「保存」を押して登録完了です! 思い出登録時だけでなく、カテゴリー一覧ページからも登録ができます。 思い出一覧ページの他に、以下のような方法でも思い出を振り返ることができます。 1.トップページ ログイン後のトップページではランダムで思い出が一つ表示されます。
「他の思い出を見る」を押すと、表示される思い出が変わります。 2.カテゴリー別の思い出一覧ページ カテゴリー一覧ページや、思い出に表示されている「カテゴリー名」をクリックすると、
そのカテゴリーに紐づく思い出の一覧が見られます。 学生時代に机の引き出しにしまっておいた昔の日記や友達からの手紙を見つけて読み耽る、ということがよくありました。 その中には大切な思い出や友達が書いてくれた素敵な言葉が詰まっていて、
時間を超えても尚元気づけてくれたり、心が温まるという経験をしました。 どうしても目の前の出来事や感情に目がいき、普段は忘れてしまっている大切な思い出があると思います。
そういった思い出を簡単に記録でき、時間が経ってからも再会できる場所が欲しいという思いからこのサービスを作ろうと決めました。 1.「ランダムに思い出が表示される」機能 前述のとおり、ログイン後のトップページでは登録済みの思い出がランダムで表示されます。
この機能により直近に記録した思い出だけでなく、「記録してから時間が経っている思い出」も振り返ることができます。 私はこれまで既存の日記アプリに記録したり、自分だけが見られるようXのプライベートアカウントにポストしていたのですが
いくつも前にポストした思い出を見返すためには意図的に記録を遡る必要がありました。
もっと偶発的に昔の思い出を見返せたら嬉しいな〜という思いから、この機能を作りました。 2.思い出の整理について 何らかの理由で、記録した思い出が「残しておきたくない出来事」になってしまうこともあると思います。
しかし記録した時点では大切な思い出だったということを考えると、「削除」という言葉では少しさみしい印象になってしまう気がしました。 「なかったことにする」のではなく、
「確かに大切な思い出だったが、今の自分には必要がなくなった」という意味合いを込めて「手放す」という表現を使うことにしました。 また手放した後に表示されるメッセージは飛び立つ鳥のイラストを添え、少しでも前向きな印象を与えられるようにしています。 Hotwire, TailwindCSS, RSpecは通常のプラクティスに含まれてなく、今回の開発で初めて使用する技術でした。*1
自身でキャッチアップする必要があるため、時間がかかったことの一つです。 RSpecはEveryday Rails - RSpecによるRailsテスト入門、
Hotwireは猫でもわかるHotwire入門 Turbo編が理解の大きな助けになりました。 CI構築、アプリケーションのデプロイも行ったことがなかったので心配していましたが、
公式ドキュメントほかFBCの先輩方の日報も参考にさせていただくことで無事進めることができました。 バックエンドは「期待通りの値を返したら正しく機能している」といったゴールがはっきりしている反面、
デザインはなかなか正解がわからず難しさを感じました。
あれこれ考えて作業を進めるうちに別の箇所も気になってきたり、
時間を置いてみてみると先ほどはいいと思っていた配置の余白が気になったり、試行錯誤の繰り返しでした。 このような苦労はありましたが、リリース前に町田さんがしてくださったデザインレビューがとても勉強になりました。
デザインレビューのプラクティスページには「良いものを作るためのヒントを得る機会」といった趣旨の記載があり、
レビュー内容を実際にサービスに取り入れるかどうかは任意です。
プロのデザイナーの方が自身のサービスの全ページを見てレビューしてくださる上に
受講生が開発を楽しめるような心遣いまでいただくことができ、本当にありがたく貴重な機会だと思っています。
実際に提案いただいた内容を反映することで、レビュー前とは見違えるほど使いやすく整ったデザインになりました! やるべきことの抜け漏れを防ぐため、極力タスクを細かくIssue化してGitHubのカンバンに書き出すことを心がけていました。
抜け漏れ防止以外にも下記のメリットがあったと感じています! 週に一度、駒形さん、町田さん、自作サービス開発中の受講生で進捗を報告するオンラインミーティングが開催されています。
受講生は順番に自身のカンバンやサービスを画面に映しながら、
この1週間取り組んだことの報告や、開発での相談・疑問点等を共有します。 デザイン面で悩んでいた時、画面を一緒に見ながらリアルタイムでアドバイスをいただくことができて勉強になりました。
他の受講生の方の質疑応答も為になるものが多く、貴重な学びの場だったと感じています。 また他の受講生の方の取り組みの様子は、自身のモチベーションアップにもなっていました。 入学した時は遠い未来に感じていた自作サービス開発を終え、無事リリースすることができました。 FBCでの学習は一区切りになりますが、この先もレベルアップしていけるよう技術について学び続けます!
そして成長した自分が、この喜びとふと再会できるように早速Memo Recallに今日のことを記録しようと思います。 プログラミング未経験だった私がこの日を迎えることができたのは、
学習中にサポートしてくださった駒形さん、町田さん、メンターの方々、FBC卒業生、受講生のみなさんのおかげです!
本当にお世話になり、ありがとうございました。
はじめに
自己紹介
思い出記録サービス「Memo Recall」のご紹介
サービス名について
使い方
思い出の登録
カテゴリーの登録
思い出の振り返り
このサービスを作るに至ったきっかけ
サービスの特徴


開発について
技術スタック
時間がかかったところ
初めて使用する技術のキャッチアップ
デザイン
やってよかったこと
タスクを細かく書き出す
自作サービス進捗報告会に出席する
最後に
OSS Gateに参加しました🎉

現在私が在籍しているプログラミングスクール、フィヨルドブートキャンプ(以下、FBCと記載)とOSS Gateとのコラボレーション企画に参加しました。
OSS-*1活動未経験者のため「ビギナー」という枠で参加しましたが、
およそ6時間のワークショップの中で以下の3つを体験することができました🎉
当日の流れ
以下のプログラムに沿って進んでいきました。
| 時間 | やること |
|---|---|
| 10:00 | 講演「今日から参加できる!OSS開発」 |
| 10:30 | アイスブレイク |
| 10:55 | ワークショップ開始(OSS開発手順を説明) |
| 11:15 | 対象OSSを動かす |
| 12:15 | お昼休憩(雑談タイム) |
| 13:15 | 午前の作業のふりかえり |
| 13:40 | プロジェクトにフィードバックする |
| 15:40 | 小休憩 |
| 15:50 | 午後の作業のふりかえり |
| 16:15 | まとめ |
| 16:25 | アンケート記入 |
| 16:35 | ワークショップのふりかえり |
| 17:10 | 終了 |
【Special】OSS Gateオンラインワークショップ - フィヨルドブートキャンプ特別版 2023-09-30 - OSS Gate | Doorkeeperより
講演「今日から参加できる!OSS開発」
未経験者にとってOSS活動というのはハードルが高く感じられてしまうものかと思うのですが、
講演のタイトルにあるとおり「今日から参加できるものだよ〜」というメッセージを投げかけてくださる内容でした👏
特に記憶残ったのは以下の内容でした👀
- OSSといってもすごいものばかりではない
- OSSに関わるメリット
- オープンなものであるため、実績として見せやすい
- モジュールとして使いまわすこともできる
- 恩返し・恩送りができる
- 初学者だからこそ持ち寄れる物がある
- 普通のユーザーの視点
- 初学者の視点
- OSS開発:自分たちが持ち寄れるものを持ち寄れる範囲で
- 協力は自分にできる所まででいい
- 自分にできない部分は他の人の協力に任せる
特に「初学者だから持ち寄れるものがある」、
「自分たちが持ち寄れるものを、持ち寄れる範囲でやるのがOSS活動」という言葉に背中を押されました😊
なんてpeaceで素敵な考え方🙌
仕事で社内用のマニュアルを作成した際に「前提知識を持った自分が書いた文章で0から聞く人にとって説明不足ではないか」という点を確認するために、
社内で展開する前に部署内でレビューを挟んでいるのと同じであることに気づきました。
対象のOSSを動かす
一言自己紹介でのアイスブレイク〜開発手順の説明を受けて、いよいよ対象のOSS決めに入ります。
今回はサポーター1名、ビギナー2名の3名でグループになって進めました✏️
(サポーターがFBCの駒形さんだったのと、
自動で同じ席に割り振られたのが同じくFBC生の夫だったのでなんだかファミリー感のある席でした😂)
対象のOSS決め
対象のOSSはビギナー自身で選びます。
事前にこれというものを決めていなかったのですが、
最近JavaScriptのプラクティスで使用した
enquirer - npmというnpmパッケージでIssueを探してみることにしました💪
まずは対象のライブラリがOSSであるのか確認するために、
GitHubのリポジトリでライセンスを見ます。
今回はLICENAEというファイルに「MIT License」という記述がありました。
オープンソース対象であるライセンスの一覧が載っているOSI Approved Licenses を見てみると、「MIT License」の記載があったのでOSSであることが確認できました💡
改善点を見つける
次に対象のOSSの改善点を見つけるため、実際にサービスをインストールして動かしてみます。
「一度使用しているnpmだし、改善点見つかるだろうか...」と不安に思いつつ、
README に沿ってインストール。
ここは問題なく進めることができました⭕️
ちなみに当日は作業メモとしてGitHubに逐一やったことや気づいたことを記録していきます。
このパートはこんな感じ✏️

次に新規ファイルを作成し、Usage のサンプルコードどおり記述→実行

すると...文法に関するエラーが出ました👀
(技術的な記事ではないので詳細は省きます)

エラーに沿ってコードに追記をし、再度実行したところ無事期待する結果を得ることができました✨
プラクティスで使用した際には以下の理由により気づかなかった部分でした👀
- 自作のコードの中で使用したため、サンプルコードをそのまま入力→実行するという手順を踏まなかった
- 文法の前提知識を持っていたため、エラーが出る書き方をしなかった
ということで、新たな気づきはあったのですがここで一つの不安がよぎります。
今回のエラーが出た原因はenquirerの仕様というよりは言語のルールだからissueの対象とは違うかも...🥺
この不安も含めて作業メモに残したところ、サポーターの駒形さんがすぐにコメントをくださいました!

なるほど!!たしかに!
これこそが冒頭の講義でお話にあった「初学者だからこそ持てる視点」かもしれないとピンときた瞬間でした☀️
その後もこのコード周りを動かして調査を進め、最終的に「サンプルコードをそのまま実行すれば動くものに変更する提案」で進めることに決めました!
午前の振り返り
お昼休憩を挟んで、4つのテーブルに分かれて午前中の振り返りを行いました。
自身の作業メモに沿って
- 対象のOSSを何にしたか?
- 午前中に動かしてみて見つけた改善点
等を各自発表していきました。
他の方の発表を聞いて、さまざまな対象OSSやIssueがあることを改めて実感しました!
また発表に対してサポーターの方がポジティブなコメントやアドバイスをくださり、勉強になりました💡
私の場合は改善案として2つのアプローチがあったので、
2つのアプローチ案をIssueとしてあげるのと、一方に絞るのとどちらがよいか質問をしてみました。
OSSに対して知見のある方に直接質問をし、回答をいただけるのもまたOSS Gateの魅力の一つだと感じました✨
その時のメモ✏️

プロジェクトにフィードバックする
振り返りの後はフィードバックする際のポイントを説明いただき、
実際に午前中に見つけたIssueに対しての改善案を作成していきます。
フィードバックの準備
まずは以下の3点をまとめました✏️
- 「〜なので報告したい」とメモを残す
- リポジトリで報告の方法を探す
- 既存のissueで同じ報告があるか確認する(キーワードで検索する)
1.「〜なので報告したい」とメモを残す
READMEのUsageが、そのまま実行してエラーが出ないサンプルコードだと嬉しいので報告したい!
2.リポジトリで報告の方法を探す
GitHubでissueを立てればよいとのことでした💪
3.既存のissueで同じ報告があるか確認する(キーワードで検索する)
エラー文から単語をピックアップして3回パータンで検索してみましたが、
特にヒットするものはなかったので新規でIssueを立てることに決定しました💡
Issueのドラフト作成
まずは日本語でIssueのドラフトを作成します。
以下の内容をまとめました!
- 状況
- 何が起こっているのかを一言で
- 実行環境
- コードを実行した環境(バージョン)
- インストールしたライブラリのバージョン
- 実行した手順
- インストールからエラーが出るまでの手順
- 改善案
- どうしたらIssueが解決するかの提案
- 期待すること
- どうなったら嬉しいのかを一言で
このドラフトに対してサポーターの駒形さんから頂戴したアドバイスをもとに修正版を作成しました✏️
英語でのIssueの作成
次に完成した日本語のドラフトを翻訳し、 DeepL 先生にお世話になりながら英語でのIssue文面を作成✍️
英訳した文面に対して、駒形さんから英語でよく使われる表現を教えていただきました!
翻訳ソフトを使えば英語で文章を作ることはできても、よく使われる表現までは知ることができないのでとても勉強になります☀️
修正を進めていたところで時間になったので、再び4つのテーブルに移動して午後の振り返りを行いました。
午後の振り返り〜アンケート記入
午前中の振り返りと同様、それぞれ午後に行なった成果を発表していきます。
既にIssueを立てた方や、Issueだけでなくプルリクエストまで出した方もいらっしゃいました!みなさんすごい✨
実際にみなさんの作業メモやIssueを見ることができ、学び多き時間でした😊
最後にアンケートを記入して、本日のプログラムは終了です⏰
ワークショップ修了後
サポーターの駒形さんより、今回の私の改善案はサンプルコードの修正点が複数あることからプルリクエストのほうが良いかもしれない。とご提案をいただきました。
現状と改善案の差分がわかりやすいということもあり、ご提案どおりプルリクエストを作成、送ってみました🚀
今回作成したPRは以下です📮
こうして無事初めてのOSS活動を終えることができました🙌
参加してみての感想
ワークショップ開始までは自分がIssueを立てるところまで辿り着けるイメージが全くわかず、わくわくと同じくらい不安がありました🥲
しかし冒頭の講義やサポーターの方々が背中を押してくださったり、
一緒に進めているビギナーのみなさんとの振り返りに良い刺激をいただき、
学びも多かったですし楽しみながら進めることができました!
ありがとうございました🙇♀️
勇気を出して参加してみてよかったです😊
【後日談】送ったプルリクエストについて
プルリクエストを送ってから半日とたたずに作者の方からメンションをいただきました😭
「This is great, thank you」という光栄なお言葉と共に、
(ここは深く反省している点なのですが...)不要な差分が生まれてしまっていたので「その点のみ元に戻してみてもらえますか?」という内容でした👀
こんなに早々に内容を確認してコメントをいただけなんて思ってもみなかったので、とても感激してしまいました🥲!
早速お礼とお詫びを添えて修正版のコードを提出しました🙏
プラクティスでお世話になったライブラリの作者とこうしてやりとりできるなんて、
OSS活動ってすごい...!
プログラミングを通して世界が広がったのを感じました🌎
今後学習を進める中でOSSに触れる機会はたくさんあると思うので、
気づいたことがあれば関わってみたいと思います!
改めてこうした機会をくださったOSS GateとFBCに感謝します🙇♀️
ありがとうございました🌸
*1:オープンソースソフトウェア、Open Source Software)の略称。ソースコードが公開されており、誰でも自由に変更や再配布ができる無償のソフトウェアのこと。
仕事をしながらパートナーと学習する日々について

これは 「フィヨルドブートキャンプ Part 2 Advent Calendar 2022」 の10日目の記事です(Part 1 もあります🗓)。
昨日はchocoさんの「仕事をしながら、フィヨルドブートキャンプに参加して思ったこと」という記事でした🎉
はじめに
こんにちは。フィヨルドブートキャンプ(以下、FBCと記載)でプログラミング学習中のにこると申します。
FBCには今年2022年のGWに、パートナーであるhirano-vm4さんと一緒に入会をし、
現在は仕事をしながら学習を進めています✏️
学習開始から200日経ったので、振り返りの意味もこめて「仕事をしながらパートナーと学習する日々」について書いてみようと思います。
自己紹介
30代半ばにして未経験からFBCでプログラミング学習を始めました。
新卒から現職に至るまで主にIT系のベンチャー/スタートアップ企業でバックオフィス系の職種を経験してきました。
現在はパートナー(hirano-vm4さん)と猫2匹と暮らしています🐈🐈
入会のきっかけ
職場の社内研修として簡単なSQL学習をしたことがプログラミングの面白さに気づいたきっかけでした。
それまではプログラミングに対してただ「難しそう…」「とっつきにくそう」という印象を持っていたのですが、
短い言葉で必要な情報を呼び出すことのできるコードがまるで魔法のように感じたのでした🪄
「ちょっと学んでみようかな」という思いつきのもとプログラミングスクールについて調べている中、卒業生の方に教えていただきFBCに出会い、入会することを決定🙌
FBCと出会うきっかけを作ってくださり入会前にお話を聞かせてくださったお二方、本当にありがとうございます💐
働きながらの学習について
働き方
現在は以下のような働き方をしています💡
働く時間、場所については自由度が高いので、
学習を始めてから改めてありがたい環境だな〜と感じるようになりました🙇♀️
いつ、どのように学習をしているのか
出社の日
- 通勤中
- 進行中のプラクティスの参考URLを読む
- 参考書籍を読む
- Rubyのリファレンスを読む
- (プラクティスで詰まっているところがあれば)日報を読むor検索をして解決のヒントを集める
- hirano-vm4さんと学習に関する疑問点について話したり情報交換
会社のノートPCを持ち歩いているので、
学習用PCは自宅に置いておき、通勤時間はスマホや本による情報収集や、知識を定着させる時間に充てるようにしています!
ただし、行きの電車は座れることが多いので途中で寝落ちしてしまうことも少なくありません😇
帰りはhirano-vm4さんと合流して、学習について情報交換をしたり二人で疑問点について話しながら帰宅することが多いです🗣
- 退勤後
出社日は基本的に残業はしないようにしているので帰りの時間がそこまで遅くなることはないのですが、
リモート日よりは学習開始時間が遅くなるのと通勤疲れで1時間未満になることも多いです。
コンディションがイマイチの時は「健康優先!」と割り切って学習をスキップすることもあります💨
リモートの日
- 仕事開始前30分+休憩時間20分
朝は全ての準備を終えてから仕事開始まで30分、
休憩時間も昼食と片付けを全て終えてから20分学習をするようにしています。
学習時間を確保したい気持ちで朝も休憩時間もテキパキ用事を済ませることが習慣づきました💪
- 退勤後
夕食の片付けを終えて、食後のコーヒーを楽しみつつ学習を開始します。
つい時間を忘れて取り組みたくなってしまいますが、遅くとも12時には就寝できるように切り上げています。
休日
- 土日どちらかは学習メインの日にすることが多い
- その場合、2日合わせて学習時間6~8時間
- 旅行など土日どちらも予定が入っていることもあり
hirano-vm4さんも私も土日休みなので休日のどちらかは学習メインの日にして、
土日合わせて6~8時間くらいは学習していることが多いです。
ただし旅行など土日どちらも予定が入っている時など、学習時間の確保が難しいときには割り切って予定を楽しむようにしています!
(旅行にも一応PCを持って行くのですが、開かずに終わることが大半です🙃)
仕事をしながらの学習について思うこと
個人的に感じるメリット
- 仕事の優先順位や効率化を更に意識するようになった
どちらも仕事をする上で常に意識ことなのですが、
「学習時間を確保するために仕事はなるべく定時内で終わらせる!」という具体的な目標ができたことで、より意識して取り組むようになりました✨
- 頭の切り替えができる
学習を進める中で謎のエラーが出てしまったり、コードが思うような実行結果にならなかったりと、沼にはまってしまうような場面にしばしば遭遇します。
こうなると解決するまでとことん取り組みたくなってしまうのですが、
一旦時間を置いてから作業を再開するとあっさり解決するということがこれまで何度もありました。
恐らく時間を置くことで、狭くなっていた視野が開けたり固執していた特定の考え方から離れることができ、解決の糸口が見つかるからではないかと思っています👀
- (特に始業前や休憩中など)時間の制約があることで半ば強制的に学習から離れなくてはいけないタイミングが訪れること
- 仕事中はプログラミングのことが頭から自然と抜けること
上記により、一旦頭の切り替えができるのは個人的に感じるメリットの一つです。
今後の課題かもと思うこと
- プラクティスを進めることが優先になってしまう
FBCのDiscordで定期的に開催されている輪読会や質問タイム、ミートアップなどのイベントに参加したり、Ruby関連のイベントにも興味があるものの、プラクティスを優先してしまい参加できていない実情があります。
実際にお仕事や学習と両立して参加されている方もたくさんいるので、「仕事をしているから」というよりは自分が何を優先していきたいのか改めて自問自答し、時間配分や取り組み方を考え直していく必要があると感じています🤔
- 運動不足
平日はリモート勤務メインにしているため終日外に出ないことも多々あります。
以前は家でトレーニングをしたり近所を散歩していたのですが、学習優先にしているため頻度が減ってしまいました。
学習も健康あってのことなので、運動不足対策も考え中です👀
パートナーとの学習について
心がけていること
パートナーと学習をするにあたって以下のようなことを心がけています。
特に話し合って決めたのではなく、お互い共通認識として持っている部分です。
- 楽しむ時は楽しむ!
先ほど「休日の学習」についてでも書きましたが、予定がある時は無理をせず、学習できない日があっても自分を責めないように心がけています。
- 課題の答えを見せたり、丸写しはしない
情報交換する場合は基本的に日報に書く(書いた)内容の共有に留め、
コードを丸っと見せたり、模写することはしないようにしています。
パートナーとの学習について思うこと
個人的に感じるメリット
- 共通の話題が増える
hirano-vm4さんとの間に「FBCでのプログラミング学習」という共通の話題が1つ増えました。
「プラクティスのここ難しいよね〜」とか
学習中のプラクティスの参考URL等を見て「ここってこういう解釈したんだけど、合ってるかな?」とか、学習中だけでなく、食事中や休日お出かけしている時などあらゆる場面で自然に話題としてあがってきます。
わからなければ二人で調べて答えを探したり、説明することで理解が深まったり、ちょっとした疑問点の解消がフランクに行えるのは大きなメリットだと感じています。
話している間に思考が整理されて、コードを書くプラクティスでは新しいアプローチが閃くこともありました💡
- 協力し合える
どうしても沼から抜け出せない時は「こんなところで躓いている」と共有をしています。
お互いプログラミング未経験なので似たような箇所で躓くことも多く、
既に解決済みの時は「さっき同じことがあったよ〜」といって参考にした日報や自身の日報を共有するし、
リアルタイムで同じところで困っている時は一緒に試行錯誤をすることもあります。
ただ、今後のことを考えると身内以外の人にテキストで状況を適切に伝えるという「質問力」をつけることは大切なので、
二人で考えて解決しない時はFBCの質問機能(Q&Aに投稿する、wakaranチャンネルで質問する、日報に書くなど)を利用しようと決めています。
- 生活リズムが作りやすい
同じ目標があることで、二人で出社の日は外食orごはんを買って帰ったり、
早く家事を終えられるにはどうするのが良いかを二人で意識して動けるので生活の中に学習時間を組み込みやすいのもメリットだと感じています。
今後の課題かもと思うこと
- 身内で完結してしまう問題
これはメリットでもあるのですが、学習中の不安や疑問を身近に話せる人がいてくれることで、FBCのコミュニティ的機能の活用が遠のいてしまっているというのもある気がしています。
この先プラクティスの進捗が変わってきたり、チーム開発や自作サービスのプラクティスに入ると状況も変わってくるのかもしれませんが、身内だけで完結してしまわないように意識は持っておこうと話しています。
まとめ
仕事をしながらパートナーと学習する日々はこんな感じです!
- 仕事をしながらの学習はまあまあ時間に追われるけど、それによるメリットもある
- 時間をどう使うかをより意識するようになった
- 沼にはまっている時「もっと作業したい!」と葛藤することもあるけど、強制的に離れることが良い結果を生むことがある
- パートナーと学習始めてみたら嬉しいことがいっぱいあった
- 共通の話題が増える
- 力を合わせて頑張ることができる
- 生活リズムも整えやすい
- 今の個人的課題点
- プラクティス優先に傾いてしまっている
- 身内だけで完結しないことは意識し続けるべし
最後に
思い返すと学習開始してから200日、本当にあっという間でした!
一年前の今頃は、自分がプログラミング学習をしているなんて思ってもいなかったので、人生って何が起こるかわからないな〜としみじみ
完了したプラクティスの一覧を眺めると確かに進んできた軌跡がある一方で
課題に詰まった時は「本当に自分は成長できているのだろうか…」と疑問に思ったりすることもありますが、
入会当初は「仲良くなれるのだろうか...」と心配していた黒い画面(ターミナル)を当然のように毎日開いてプラクティスを進めるようになった今の自分は、自分比でいえば確実に成長できていると感じます🙌
温かく見守り、困った時にはやさしく手を差し伸べてくださるメンターのみなさんや、
詰まった時に日報を検索するとエラー発生〜解消までを丁寧に記録してくださっている受講生のみなさんや卒業生のみなさん、
FBCを教えてくださり入会前にお話しを聞かせてくださったお二方、
そして学習に詰まった時にモヤモヤを聞いて一緒に解決を試みてくれるパートナーであり戦友であるhirano-vm4さん、
手探りながらも私が楽しく学習を続けられているのはみなさんのおかげだと思っています!いつもありがとうございます✨
思うようにいかず沼ることもしばしばありますが、入会前にSQL学習で感じた「プログラミングって魔法みたい!」という感動を学習しながら味わう日々です💡
プログラミング学習はとっても面白い😊!
一年後どこまで成長しているのかを楽しみに、引き続きわくわくしつつ学習を進めていけたらと思います🌸
明日はパートナーのhirano-vm4さんの記事です🐈




