株式会社ビットキー の技術ブログ

[Linux][Node.js]インタラクティブにgitのブランチを削除するCLIツールを作ってみた

TL;DR 標準ストリームを監視 ターミナルをRaw Modeに変更 Node.jsのexecSync()でgitコマンドを実行 stdout.write()でターミナルに描画 この記事で作成する最終的なコード gitInteract.js #!/usr/bin/env node const { execSync } = require("child_process"); const CTRL_C = "\u0003"; const ARROW_UP = "\x1b[A"; const ARROW_DOWN = "\x1b[B"; const ENTER = "\r"

「構文エラー浦島太郎」はAIという玉手箱を手にいれる 〜AI支援による学習のコツは「ヒントをもとに手を動かす」こと!〜

Bitkey Developers Advent Calendar 2025の 3日目の記事です! 🙌 1. はじめに 新しいプログラミング言語などの勉強中、慣れないうちは特に構文エラーにつまずきませんか? 私はうまく記法を覚えられず構文エラーを出しまくることがあります。 そこで、AIに正解を出してもらい効率的に業務を進める工夫を紹介します。 一方で、AIの正解に頼りきらずに手を動かして勉強を続ける

なぜ未経験者だけのチームが機能したのか?「傾聴」と「共有」で乗り越えた立ち上げの記録

はじめに ご挨拶と自己紹介 はじめまして!2025年1月1日に株式会社ビットキーに入社しました、Software QAチーム所属のKuddyと申します。 今回は筆者が全くの未経験からSoftware QAという仕事に就き、宮崎オフィス初のQAチーム立ち上げメンバーとなって奮闘した経緯、その中で偶然得たチームビルディングのヒントなどを共有できたらと思います。 対象読者 未経験からのキャ

Geminiと対話して簡単なアプリを作ろう!アイデアを形にする生成AI実践ガイド

Bitkey Developers Advent Calendar 2025 2日目の記事です。 本日は、Software QCチーム所属の 田上_ビットキー が担当します。 はじめに 技術イベントに出展するブース設計で、生成AIを活用したコンテンツの企画を経験しました。 特に印象深かったのは、GoogleのAI「Gemini」を使ったクイズアプリの作成です。 専門知識がなくても、AIとの対話で簡単に様々なものが作れます。 アイデア

サイロ化はさせない!チームを越えて学び合う場の設計

チームの境界によって必然的に生まれるコミュニケーションの隔たり 「チームを分ける」ことは、多くの企業で行われている合理的な判断です。組織の成長による人数の増加に対応したり、効率化のために責務を分割したりと、ごく自然な選択といえるでしょう。 しかしその一方で、組織間にコミュニケーションの隔たりが生まれてしまう、という課題に心当たりはない

Node.js on Dockerでスリムかつセキュアなコンテナイメージを作る - 2025年版

はじめに みなさんはDockerfileを書いていますか? 近年はAIによる支援でDockerfileをスクラッチで書く機会が減っていると考えられます。 しかしながら、AIに書かせる場合でも良い書き方を知っていることで、その後の修正が容易になります。 この記事では、Node.jsアプリケーションのDockerfileを作成する際に、私ならこのように書くという提案をします。 作成するDockerfileとデ

リモートワークにおけるコミュニケーションの壁を壊す!「ナイス挙手制度」のススメ

ハイブリッドワークの落とし穴 私たちのチーム は、オフィス出社とリモートワークを組み合わせたハイブリッド型の働き方を採用しているため、出社メンバーがオフィスで顔を合わせ、リモートメンバーは各自の自宅から参加しています。 しかし、このハイブリッドワークがもたらす課題として顕著に浮き彫りになってきたのが、スプリントレビューやプランニング、

- QAとUXの境界を越える体験を - ビットキーは「JaSST’25 Niigata」にブースを出展します!

はじめに こんにちは。株式会社ビットキー Software QAチームからお知らせです。 ビットキーは、9/12(金)に開催の「JaSST'25 Niigata」にスポンサーブースを出展いたします✨ ブースでは、JaSST'25 Tokyoで好評だったクイズ企画「bitbox Challenge」を実施します。 今回はイベントテーマにもある「UX」から着想を得て、よりゲーム感覚で直感的に楽しめる企画へアップデートしました。

- AIと創るインタラクティブな体験 - ビットキーは「JaSST’25 Hokkaido」にポスターセッションを出展します!

はじめに こんにちは。株式会社ビットキー Software QAチームからお知らせです。 この度ビットキーは、7/25(金)に開催の「JaSST’25 Hokkaido」にポスターセッションを出展いたします✨ 前回実施したJaSST’25 Kansaiのポスター企画を、AIの力を使ってさらに進化させました! 皆様と一緒に創り上げる新しいブース体験にご期待ください👏🏻 この記事では、皆様に楽しんでいただ

ビットキーは「JaSST’25 Kansai」にポスターセッションを出展します!

はじめに こんにちは。株式会社ビットキー Software QAチームからお知らせです。 この度ビットキーは、6/27(金)に開催の「JaSST’25 Kansai」にポスターセッションを出展いたします✨ 今回は、参加者の皆様と一緒に創り上げるインタラクティブな企画をご用意しました👏🏻 この記事では、皆様に楽しんでいただくための企画内容を一足先にご紹介いたします。 JaSSTとは JaSST(

Agentic Coding を Reconciliation Loop で効果的に実現するための実装戦略

はじめに @t_wadaさんの 「Agentic Coding とは Reconciliation Loop である」 という金言を踏まえて、自分なりに咀嚼し、この前提でよりよくAgentic Codingを実現するための実装パターンを考察した内容となります。 https://x.com/t_wada/status/1922110843270885789 「ここで記載した実装パターンでAgentic Codingが上手くいった!」…というもの ではない ことにご留意ください。あ

なぜ「Event Sourcing」を選択したのか 〜事実に基づくことの重要性

はじめに なぜチームで Event Sourcing というアーキテクチャパターンを選択したのか、その背景と実際に導入してみての知見を共有させていただきます。以前イベントソーシング・CQRS勉強会のLTで発表した内容に少し補足説明を追加して記事としてまとめています。 対象読者 Event Sourcingに興味がある人 Event Sourcingで具体的にどんなメリデメがあるか知りたい人 設計やモデリ

理想のブースを設計してみた - JaSST'25 Tokyo 編 -

はじめに こんにちは。株式会社ビットキー Software QCチーム所属の田上です。 先日、2025年3月27日・28日に開催されたソフトウェアテストのイベント「JaSST'25 Tokyo」に参加しました。 ビットキーはプラチナスポンサーとして協賛し、スポンサー用のブースを出展しました。 今回、私はこちらのブース設計を担当しました。 ブース設計は私にとって初めての挑戦であり、未知

PointFreeのSharingGRDBをベースにSharingFirestoreを作ってみた

Point-FreeのSharingライブラリの機能をFirebase Firestoreに拡張した「SharingFirestore」というライブラリを作ってみました。 https://github.com/bitkey-oss/sharing-firestore SharingFirestoreとは? Firestoreって便利なんですけど、SwiftUIと組み合わせようとすると大変じゃないけどボイラープレートが多かったりして意外とめんどう。 特にaddSnapshotListenerの管理とか、それを適切にViewModelで状態管理す

ビットキーは「JaSST’25 Tokyo」にブースを出展します!

はじめに こんにちは。株式会社ビットキー Software QAチームからお知らせです。 この度ビットキーは、3/27(木)、3/28(金)に開催の「JaSST’25 Tokyo」にブースを出展いたします✨ JaSSTのイベントにブースを出展するのは今回が初の試みです。 ビットキーを初めて知る方も気軽にブースを楽しんでいただけるよう、イベント用の企画やノベルティグッズをご用意しました。 こ