Cybozu Inside Out | サイボウズエンジニアのブログ
https://blog.cybozu.io/
サイボウズ株式会社、サイボウズ・ラボ株式会社のエンジニアが提供する技術ブログです。製品やサービスの開発、運用で得た技術情報やエンジニアの活動、採用情報などをお届けします。
フィード

社内でCTFを開催してみた
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。開発本部内でセキュリティ活動を行っているPSIRTです。PSIRTで初の社内CTF(Capture The Flag)を開催したので、本記事ではその開催準備の様子や開催中の様子を紹介します。 開催背景 2025年2月4日から6日にかけて、開発・運用系のメンバーが一同に集まる「開運冬まつり」が開催されました。このイベントは、部門やチーム、職能を超えて社員同士が交流し、新たな視点や刺激を得ることを目的としています。 昨年の開運冬まつりの様子は以下のブログを御覧ください。 blog.cybozu.io このイベントのコンテンツとして、PSIRT有志のメンバーで初の社内CTFを開催すること…
14日前

【連載】Cybozu.comクラウド基盤の全貌
Cybozu Inside Out | サイボウズエンジニアのブログ
イントロダクション クラウド基盤本部の吉川拓哉です。「Cybozu.comクラウド基盤の全貌」と題して私たちが運用している基盤を連載形式で紹介することになりました。第1回となる本記事はイントロを兼ねたサイボウズのクラウド基盤の概要説明です。 サイボウズのクラウド サイボウズが自社クラウド「cybozu.com」でサービス提供を開始したのは2011年。パッケージ提供していたグループウェア製品であるOfficeやGaroon、メールワイズをクラウド版として移植し、業務アプリケーションを手軽に開発できるkintoneをクラウド製品として新たに開発するなど、クラウドを通じてより多くのユーザーにサービス…
16日前

サイボウズは JaSST'25 Tokyo で協賛&登壇します!
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは、QAエンジニアの小竹です。 サイボウズは 2025年3月27日(木)〜28日(金)に開催されるソフトウェアテストのシンポジウムJaSST'25 Tokyoに、ゴールドスポンサーとして協賛します。 今年はテクノロジーセッションと事例セッションに弊社のメンバーが登壇いたしますので、本記事ではその紹介をさせてください! サイボウズ社員が登壇するセッション紹介 テクノロジーセッションに登壇します! 以下のテクノロジーセッションに登壇します。ぜひご視聴ください。 C3-1)無理なく続ける、サイボウズの社内勉強会 日時 3月27日(木) 14:30〜 登壇者 斉藤 裕希 内容紹介 サイボウズに…
24日前

『モバイルまつり』と題してモバイルエンジニアが集合し、交流会とOSTをしました!
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは!kintoneのAndroidエンジニア、トニオ(@tonionagauzzi)です。 今回は、サイボウズのAndroidエンジニアとiOSエンジニアがプロダクトを超えて集まり、オフライン交流会をしたことを共有します。 モバイルエンジニア集合写真 概要 弊社では、半年に1度『モバイルまつり』と題して、東京オフィスに集合してオフラインで交流しています。参加必須ではありませんが、毎回好評で、ほとんどのモバイルエンジニアが参加します。 テーマ 互いを知る、話す 開催目的 モバイルエンジニア同士が交流し、相互理解を深め、信頼関係を築く それぞれが今抱えている問題意識や悩みに耳を傾け、共感す…
1ヶ月前

25新卒エンジニア5人の内定者アルバイト体験記
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは、サイボウズ 25卒エンジニアチームです。 今回、サイボウズの25卒エンジニアの中で内定者アルバイトを行っているメンバーの中から、内定者バイト体験記を書いてくれる人を募ってこの記事にまとめることにしました。 Webアプリケーションエンジニア、フロントエンドエンジニア、生産性向上エンジニア、プロダクトデザイナー、QAエンジニアの5人が集まってくれたので、それぞれが書いたものを順番に紹介していきます。 Webアプリケーションエンジニア くらっち Webアプリケーションエンジニアとして内定をいただいているくらっちです。 私は、kinotneのアプリ設定画面を改善するチームに週2回のシフトで…
1ヶ月前

コドモンとサイボウズで、XPとスクラムのアプローチの違いを語るイベントを開催しました!
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。kintone開発のAndroidエンジニア、トニオ(@tonionagauzzi)です。 本日は、株式会社コドモンのオフィスでイベントを開催したことを報告します! 目指している姿は同じ! XPとスクラムのそれぞれのアプローチの違いを語ります - connpass コドモンとサイボウズの2社による、初の合同開催イベントでした。 開催の経緯 コドモンさんとはKotlin Festでお互いスポンサーして以来交流しており、合同イベントやりたいですね〜と話していました。それがめでたく開催できたという経緯です。最初に交流させていただいた私にとってはとても感慨深いイベントでした! 会の詳細 開…
1ヶ月前

SwiftUI View Coding Guidelinesを公開しました
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは、iOS Developerの@el_metal_です。 SwiftUIのView実装のためのガイドラインを作成・公開したので紹介します。 SwiftUI View Coding Guidelines SwiftUI View Coding Guidelinesとは SwiftUI View Coding Guidelinesは優れたView実装のためのガイドラインです。 SwiftUIの初学者向けドキュメントはSwiftUI Pathwayを中心に充実してきています。 一方、プロダクトコードで求められるmaintainabilityを持つためのプラクティスを説明するドキュメントは不…
1ヶ月前

フロントエンドでの段階的なコード分割による複雑さの解消
Cybozu Inside Out | サイボウズエンジニアのブログ
はじめに kintoneチームの前田です。 kintoneチームはClosureで書かれているフロントエンドのコードを段階的に分割することに取り組んでいました。 その中で複雑さの解消を実感する機会がありました。 この複雑さはClosureに特有というわけでもなく、形を変えてサーバーサイドでも生じそうなものでした。 今回の記事ではそのような複雑さを紹介しようと思います。 ページ単位でのコード分割による複雑さの解消 コード分割とは、kintoneの機能に沿ったパッケージやディレクトリにコードが配置され、コード間の依存も機能に沿って制限された状態にすることです。 このような取り組みの背景やコード分割…
2ヶ月前

WingArc1st、freee、サイボウズの3社でアジャイルOST交流会を実施しました!
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。kintone開発のAndroidエンジニア、トニオ(@tonionagauzzi)です。 本日は、WingArc1stさん、freeeさんとサイボウズでOST(Open Space Technology)交流会を開催したことを報告します! 目次 開催の経緯 会の詳細 開催日時 テーマ タイムテーブル 当日の様子 乾杯! 会の説明 LT大会 barusさん(WingArc1st) miyachiさん(freee) とうま(サイボウズ) OST大会 OSTについての説明 OSTレポート 「人の価値観の違いと成長支援」 「アウトプットしてもらう為には?」 「提供価値の効果測定してますか…
2ヶ月前

promptfoo でお手軽プロンプト検証
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは! kintone 開発チームの福田(@man_2_fork)です。 kintone では AI を使った RAG 機能をベータ版として提供しています。機能自体については、プレスリリースをご覧ください。 さて、AI 機能の開発のためには複数のモデルやプロンプトの検証が欠かせません。このときに promptfoo という LLM 検証用のツールを使用しました。このツールを使うと簡単な検証が行えたり、複雑な検証をプラグイン機構で行えたりと柔軟かつ非常に便利でした。 この記事では promptfoo の基本的な部分から少し複雑なユースケースまでご紹介していこうと思います。 モチベーション …
2ヶ月前

Sansan vs サイボウズという技術イベントを合同で開催しました
Cybozu Inside Out | サイボウズエンジニアのブログ
みなさんこんにちは。生産性向上チームの平木場とkintone開発の三村です。2024/12/09に Sansan株式会社さんと合同で技術イベントを開催しました。 その名も「Sansan VS サイボウズ - 品質向上Tips冬祭り」です。イベントの内容と、イベントの前後で両社の交流会を行ったので、ここに記します。 sansan.connpass.com
2ヶ月前

生成 AI 技術を活用した kintone の新機能とシステム概要の紹介
Cybozu Inside Out | サイボウズエンジニアのブログ
はじめに こんにちは! kintone 開発チームで EM をしている池田 (motacapla) です。 今回は、生成 AI 技術を活用した kintone の新機能について紹介します。 本機能は、Cybozu Days 2024 での Keynote と共にプレスリリースが発表されました。 topics.cybozu.co.jp こちらの機能を実現しているシステムの概要についても触れます。 用語 kintone AI アシスタント (仮称) とは 生成 AI 技術の Retrieval-Augmented Generation (RAG) を活用した新機能になります。 チャット形式で会話可…
2ヶ月前

大きな機能のコード分割を片手間で完了させることができた要因
Cybozu Inside Out | サイボウズエンジニアのブログ
初めに kintoneチームの前田です。 kintoneはサーバーサイドがJavaで書かれていて、最近ではこれが結構な分量になっており開発上の障壁となっています。 その解消のため、機能毎にコードを分割して管理するコード分割という取り組みを進めています。 コード分割については以下の記事で紹介されています。 blog.cybozu.io この度kintoneのアプリ設定機能のコード分割が完了しました。 アプリ設定機能は主にアプリの管理者が使う管理用の機能です。 kintoneのコア機能の一つでコード量も比較的大きな部分になっています。 分割完了後のコードの詳細や分割以降の取り組みについては、JJU…
2ヶ月前

大規模リファクタリングの一歩目の選択肢 ~コード分割~
Cybozu Inside Out | サイボウズエンジニアのブログ
kintone 新機能開発チームでエンジニアをしているぶっちーです。 以前、以下の記事でサーバーサイドコード分割というプロジェクトの取り組みについて紹介しました。 blog.cybozu.io このプロジェクトが終了した後も継続してアプリ設定機能に関するコードの分割に取り組みました。その結果、約 2 年の月日を経て、無事約 20 個ある全ての機能の分割を終えることができました。そして、分割を終えたことで普段の開発において開発効率の向上につながるメリットを感じられています。 この記事では、実際の機能を例にどのようにコード分割を行ったのか、分割を終えたコードで開発してみてどのようなメリットを感じて…
3ヶ月前

CODE BLUE 2024参加レポート
Cybozu Inside Out | サイボウズエンジニアのブログ
はじめに CyberTAMAGO Prompt Hardenerの発表 その他の発表 発表・ワークショップなど Hacking Google - Lessons learned running and growing an internal red team SBOM and Security Transparency - How it all fits together SecuriTTX for Everyone (Tabletop Exercise)! Android Security Hacker's Guide スポンサーブース おわりに はじめに こんにちは、PSIRTの湯浅です。…
3ヶ月前

2024年 Android のリファクタリングにおいて合意を助けた ADR 5選
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは!kintone 開発チームの Android エンジニア、トニオ(@tonionagauzzi)です。 本日は、Android Advent Calendar 2024 の記事として発信します! 私たちは現在、kintone の Android アプリを継続提供し、かつプロダクト価値を高めていくためにリファクタリングを行っています。その際、ADR を起票することでチーム内でリファクタリングの合意形成を取っています。 この記事では、ADR とは何か?という話と、今年書いてよかった ADR を5つ紹介します。 1. ADR とは ADR (Architecture Decision R…
3ヶ月前

ローカライズチームが開発部署に所属するということ
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。ローカライズチームの殿岡(@txdriet)です。このブログは、テクニカルライター/ローカライズ リレーブログの8本目の記事です。 ローカライズチームは、名前のとおり製品のローカライズを担うチームです。開発部署に所属し、様々な関係者と連携しながら業務を行っています。 今回は、開発部署にローカライズチームが存在する意義について考えてみたいと思います! ローカライズチームの役割 ローカライズチームは、製品のグローバル展開を支える重要な存在です。 主な業務は製品文言やオンラインヘルプのローカライズですが、それだけにとどまりません。 製品のグローバル展開を成功させるために、他社製品の動向を…
4ヶ月前

職能を超えたモブプログラミングが品質に与えた良い影響
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは!kintone 開発チームの Android エンジニア、トニオ(@tonionagauzzi)です。 本日は、私たちがモブプログラミング(以下、モブ)を活用して Android アプリの品質向上に取り組んだ話をします。 目次 はじめに 1. 共同モブの実践例 共同モブの進め方 実装プランニング タスク分割 実装、テスト仕様書作成 コードレビュー、テスト仕様書レビュー 品質保証(テスト実施と修正) マージ 共同モブを始めたきっかけ 開発者のスイッチングコスト QAから見た不透明さ バグの優先度が不明 2. 共同モブで得た成果 シフトレフトテスト レビューコストの削減 探索型テストの…
4ヶ月前

Garoonモバイルでウィジェット開発中に直面したGlanceの45秒問題
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。 モバイルエンジニアの臼井(@usuiat)です。 私はサイボウズでGaroonモバイルのAndroidアプリの開発をしています。 Garoonモバイルは2024年10月に公開したv1.11でウィジェットに対応し、ユーザーはホーム画面で自分の今日の予定を確認できるようになりました。 (この記事はAndroid版の開発について紹介していますが、iOS版も同じタイミングでウィジェットに対応しました。) Garoonモバイルのウィジェット この記事では、Garoonモバイルチームが初めてウィジェットを開発する際に直面した「45秒問題」と解決方法を紹介します。 Glanceによるウィジェッ…
4ヶ月前

kintone開発チームの取り組み: フロントエンドのコード分割
Cybozu Inside Out | サイボウズエンジニアのブログ
kintone 開発チームの内山です。この記事では、kintone 開発チームで行っている改善活動の一つであるフロントエンドのコード分割について紹介します。最初にコード分割とはどのような活動なのかを述べ、分割の手順、分割後に得られた学びを順に紹介します。 サーバーサイドのコード分割活動も行っており、カンファレンスやブログで発信しているため、興味がある方は合わせてご参照ください。 blog.cybozu.io speakerdeck.com コード分割とは コード分割とは、モノリス化してしまった kintone のコードを機能ごとに分割し、ツールを使って依存関係を監視することを指しています。 本…
4ヶ月前

サイボウズサマーインターン2024 プラットフォームAWSコース開催報告
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。Yakumo チーム*1の品田です。 今年は Yakumo チームでサマーインターンシップ(プラットフォームAWSコース)を開催しました。 本記事ではインターンの内容について紹介したいと思います。 概要 プラットフォームAWSコースのインターンは9/9~9/13の5日間開催し、2名のインターン生の方にフルリモートで参加していただきました。 インターンではYakumoチームの普段の業務を体験していただけるようなタスクを用意し体験していただきました。 日程 インターンは下記のような日程で実施しました。 プラットフォームAWSコース スケジュール 雑談イベントや成果報告会以外はインターン…
4ヶ月前

QAでがっつりアクセシビリティテストをやるようになった話
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは、サイボウズでQAエンジニアをしている仙波です!みなさんのチームでは、アクセシビリティテスト、やっていますか? 最近、私が所属しているkintoneの開発チームでは、QAがアクセシビリティテストを担当するようになりました。今回はその経験について記事を書いたので、これからアクセシビリティテストを導入しようと思っている、または既にやっているけど他社はどうやっているのか気になる、という方の参考になれば幸いです! 背景と経緯 今までは? きっかけ 担当することが決まってから テストする観点 実際にやってみて難しかったところ スクリーンリーダーの使い方 「モノクロ表示で情報が伝わるか」の判断 …
4ヶ月前

ヘルプにおけるライティングの品質を標準化するために
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。サイボウズでテクニカルライターをしている小林(@kbys_psb)です。このブログは、テクニカルライター/ローカライズ リレーブログの7本目の記事です。 みなさんは文章を書くときに、考えることや気にすることが多くて、執筆や推敲に時間がかかってしまった経験はありますか?また、ほかの人が書いた文章をレビューするときに、何をどこまでチェックしたらよいか判断に迷ったことはありますか? そんな自分たちの経験から、ヘルプ制作に必要なライティングの観点を洗い出して、まとめることにしました。 どういうものを作るか チェックリストではなく、ヘルプ制作に必要なライティングの観点をまとめる 執筆時の指針…
5ヶ月前

開発チームと QA でcli-kintoneのテスト戦略を策定しました
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。kintone 開発 QA の massan です。 この記事では、kintone を操作するためのCLIツール cli-kintone のテスト戦略を策定したお話をご紹介します。 QA が 0 人のチームから相談を受けた kintone 開発には当時、 cli-kintone の開発をはじめとする、エコシステム開発者の開発者体験向上をめざす kintone DXチーム(以下、開発チーム)がありました。 *本記事は主に 2023 年ごろの内容です。現在は kintone DXチームは解散しており、類似の担当領域を持ち、開発エコシステム支援をミッションとする拡張基盤チームが新設されて…
5ヶ月前

サイボウズサマーインターン2024 プロダクトセキュリティコース 開催報告
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは!Cy-PSIRTの田口です。 本記事はサイボウズ サマーインターンシップ2024 プロダクトセキュリティコースの開催報告です。 今年は8月に1ターム、昨年と同様にフルリモートで開催しました。 概要 プロダクトセキュリティコースは8月26日〜29日で開催し、3名のインターン生にご参加いただきました。 インターンでは、普段Cy-PSIRTが行っている業務をベースにコンテンツを構成しており、以下の内容をインターン生の皆さんに体験していただきました。 製品理解・ハンズオン 脆弱性検証 脆弱性評価 外部通報対応 Cy-PSIRTの具体的な業務内容は以下の記事で紹介しています。 blog.cy…
5ヶ月前

kintoneライターチームのチームビルディング開催レポート
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。テクニカルライターチームのueです。サイボウズでkintoneの画面のUI用語やヘルプの作成を担当しています。 このブログは、テクニカルライター/ローカライズ リレーブログの6本目の記事です。 今回は、kintoneライターチームがチーム作りの一環として、チームビルディングを実施した様子をご紹介します。 チームビルディングの目的 私たち、kintoneライターチームは、現在8名で構成されていますが、昨年から今年にかけてメンバーが大きく変わりました。私自身も今年キャリア入社でチームにジョインしています。 そこで、私たちは、kintoneライターチームとしてもう一歩お互いの理解を深め、…
5ヶ月前

フロントエンド刷新を迅速に終わらせるための2つの軸
Cybozu Inside Out | サイボウズエンジニアのブログ
kintone 新機能開発チームでエンジニアをしているぶっちーと宇都宮です。 6月の中旬から約3ヶ月間、アプリストアという「kintoneアプリ」を作成するための機能を実現している複数のページのフロントエンド刷新に取り組みました。この取り組みは、以前から kintone 開発チーム全体で取り組んでいるフロントエンド刷新の一環であるため、このプロジェクトの概要について説明されている以下の記事をあわせてご覧ください。 blog.cybozu.io 基本的にフロントエンド刷新は開発チームの開発容易性を向上するものであり、新機能開発とは違ってそれ自体が顧客価値を生むものではありません。そのため、出来る…
5ヶ月前

サイボウズサマーインターン 2024 報告 〜kintone開発コース〜
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは、kintone開発チームのWebアプリケーションエンジニアの柿崎(@hiyoko_coder)です。 今年もサイボウズではサマーインターンを開催しました。 本記事では、kitnone開発コースについてご紹介しようと思います。 概要 kitnone開発コースは8月と9月の2つの日程で各10日間ずつ開催し、計5名に参加していただきました。 今年も昨年同様、全日程をオンラインで実施しました。 また内容は、昨年と同じく、インターン用に用意した課題に取り組むのではなく、開発チームの普段の業務にほぼそのまま参加してもらって実際にkintoneのコードに触れながら社員と一緒にタスクに取り組むとい…
5ヶ月前

サイボウズサマーインターン2024 Kubernetes 基盤コース開催報告
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。Neco チームの杉浦、寺嶋、阪上です。 今年も Neco チームでサマーインターンシップ(Kubernetes 基盤開発コース)を開催しました。 インターンには3名の方に参加してもらい、2チームに分かれて開発を行いました。 この記事では、インターンの様子と、各チームで取り組んだタスクについて紹介します。 日程 インターンは 8/19(月)から 8/30(金)までの2週間、フルリモートで開催しました。 初日から2日目の午前まででオリエンテーションや CNI(Container Network Internface)の勉強会などを開催しました。 2日目の午後からはそれぞれのチームでタ…
5ヶ月前

ローカライズの視点で見る、チーム連携のメリット
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。kintoneローカライズチームで英語を担当しているボーエンです。このブログは、テクニカルライター/ローカライズ リレーブログの5本目の記事です。 以前のブログで説明されているように、サイボウズのライターやローカライズを担当するメンバーはそれぞれ製品ごとの開発チームに所属しています。 blog.cybozu.io 製品ごとの開発チームに所属する体制となったことで、担当製品についての専門的な知識をより深め、製品の価値を最大化させることができるようになっています。私もローカライズの専門職として、担当製品に最も適した形で関わることができています。 このブログでは、私が所属するkinton…
5ヶ月前