Cybozu Inside Out | サイボウズエンジニアのブログ
https://blog.cybozu.io/
サイボウズ株式会社、サイボウズ・ラボ株式会社のエンジニアが提供する技術ブログです。製品やサービスの開発、運用で得た技術情報やエンジニアの活動、採用情報などをお届けします。
フィード
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…
2日前
ローカライズチームが開発部署に所属するということ
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。ローカライズチームの殿岡(@txdriet)です。このブログは、テクニカルライター/ローカライズ リレーブログの8本目の記事です。 ローカライズチームは、名前のとおり製品のローカライズを担うチームです。開発部署に所属し、様々な関係者と連携しながら業務を行っています。 今回は、開発部署にローカライズチームが存在する意義について考えてみたいと思います! ローカライズチームの役割 ローカライズチームは、製品のグローバル展開を支える重要な存在です。 主な業務は製品文言やオンラインヘルプのローカライズですが、それだけにとどまりません。 製品のグローバル展開を成功させるために、他社製品の動向を…
15日前
職能を超えたモブプログラミングが品質に与えた良い影響
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは!kintone 開発チームの Android エンジニア、トニオ(@tonionagauzzi)です。 本日は、私たちがモブプログラミング(以下、モブ)を活用して Android アプリの品質向上に取り組んだ話をします。 目次 はじめに 1. 共同モブの実践例 共同モブの進め方 実装プランニング タスク分割 実装、テスト仕様書作成 コードレビュー、テスト仕様書レビュー 品質保証(テスト実施と修正) マージ 共同モブを始めたきっかけ 開発者のスイッチングコスト QAから見た不透明さ バグの優先度が不明 2. 共同モブで得た成果 シフトレフトテスト レビューコストの削減 探索型テストの…
17日前
Garoonモバイルでウィジェット開発中に直面したGlanceの45秒問題
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。 モバイルエンジニアの臼井(@usuiat)です。 私はサイボウズでGaroonモバイルのAndroidアプリの開発をしています。 Garoonモバイルは2024年10月に公開したv1.11でウィジェットに対応し、ユーザーはホーム画面で自分の今日の予定を確認できるようになりました。 (この記事はAndroid版の開発について紹介していますが、iOS版も同じタイミングでウィジェットに対応しました。) Garoonモバイルのウィジェット この記事では、Garoonモバイルチームが初めてウィジェットを開発する際に直面した「45秒問題」と解決方法を紹介します。 Glanceによるウィジェッ…
21日前
kintone開発チームの取り組み: フロントエンドのコード分割
Cybozu Inside Out | サイボウズエンジニアのブログ
kintone 開発チームの内山です。この記事では、kintone 開発チームで行っている改善活動の一つであるフロントエンドのコード分割について紹介します。最初にコード分割とはどのような活動なのかを述べ、分割の手順、分割後に得られた学びを順に紹介します。 サーバーサイドのコード分割活動も行っており、カンファレンスやブログで発信しているため、興味がある方は合わせてご参照ください。 blog.cybozu.io speakerdeck.com コード分割とは コード分割とは、モノリス化してしまった kintone のコードを機能ごとに分割し、ツールを使って依存関係を監視することを指しています。 本…
22日前
サイボウズサマーインターン2024 プラットフォームAWSコース開催報告
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。Yakumo チーム*1の品田です。 今年は Yakumo チームでサマーインターンシップ(プラットフォームAWSコース)を開催しました。 本記事ではインターンの内容について紹介したいと思います。 概要 プラットフォームAWSコースのインターンは9/9~9/13の5日間開催し、2名のインターン生の方にフルリモートで参加していただきました。 インターンではYakumoチームの普段の業務を体験していただけるようなタスクを用意し体験していただきました。 日程 インターンは下記のような日程で実施しました。 プラットフォームAWSコース スケジュール 雑談イベントや成果報告会以外はインターン…
1ヶ月前
QAでがっつりアクセシビリティテストをやるようになった話
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは、サイボウズでQAエンジニアをしている仙波です!みなさんのチームでは、アクセシビリティテスト、やっていますか? 最近、私が所属しているkintoneの開発チームでは、QAがアクセシビリティテストを担当するようになりました。今回はその経験について記事を書いたので、これからアクセシビリティテストを導入しようと思っている、または既にやっているけど他社はどうやっているのか気になる、という方の参考になれば幸いです! 背景と経緯 今までは? きっかけ 担当することが決まってから テストする観点 実際にやってみて難しかったところ スクリーンリーダーの使い方 「モノクロ表示で情報が伝わるか」の判断 …
1ヶ月前
ヘルプにおけるライティングの品質を標準化するために
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。サイボウズでテクニカルライターをしている小林(@kbys_psb)です。このブログは、テクニカルライター/ローカライズ リレーブログの7本目の記事です。 みなさんは文章を書くときに、考えることや気にすることが多くて、執筆や推敲に時間がかかってしまった経験はありますか?また、ほかの人が書いた文章をレビューするときに、何をどこまでチェックしたらよいか判断に迷ったことはありますか? そんな自分たちの経験から、ヘルプ制作に必要なライティングの観点を洗い出して、まとめることにしました。 どういうものを作るか チェックリストではなく、ヘルプ制作に必要なライティングの観点をまとめる 執筆時の指針…
1ヶ月前
開発チームと QA でcli-kintoneのテスト戦略を策定しました
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。kintone 開発 QA の massan です。 この記事では、kintone を操作するためのCLIツール cli-kintone のテスト戦略を策定したお話をご紹介します。 QA が 0 人のチームから相談を受けた kintone 開発には当時、 cli-kintone の開発をはじめとする、エコシステム開発者の開発者体験向上をめざす kintone DXチーム(以下、開発チーム)がありました。 *本記事は主に 2023 年ごろの内容です。現在は kintone DXチームは解散しており、類似の担当領域を持ち、開発エコシステム支援をミッションとする拡張基盤チームが新設されて…
2ヶ月前
サイボウズサマーインターン2024 プロダクトセキュリティコース 開催報告
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは!Cy-PSIRTの田口です。 本記事はサイボウズ サマーインターンシップ2024 プロダクトセキュリティコースの開催報告です。 今年は8月に1ターム、昨年と同様にフルリモートで開催しました。 概要 プロダクトセキュリティコースは8月26日〜29日で開催し、3名のインターン生にご参加いただきました。 インターンでは、普段Cy-PSIRTが行っている業務をベースにコンテンツを構成しており、以下の内容をインターン生の皆さんに体験していただきました。 製品理解・ハンズオン 脆弱性検証 脆弱性評価 外部通報対応 Cy-PSIRTの具体的な業務内容は以下の記事で紹介しています。 blog.cy…
2ヶ月前
kintoneライターチームのチームビルディング開催レポート
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。テクニカルライターチームのueです。サイボウズでkintoneの画面のUI用語やヘルプの作成を担当しています。 このブログは、テクニカルライター/ローカライズ リレーブログの6本目の記事です。 今回は、kintoneライターチームがチーム作りの一環として、チームビルディングを実施した様子をご紹介します。 チームビルディングの目的 私たち、kintoneライターチームは、現在8名で構成されていますが、昨年から今年にかけてメンバーが大きく変わりました。私自身も今年キャリア入社でチームにジョインしています。 そこで、私たちは、kintoneライターチームとしてもう一歩お互いの理解を深め、…
2ヶ月前
フロントエンド刷新を迅速に終わらせるための2つの軸
Cybozu Inside Out | サイボウズエンジニアのブログ
kintone 新機能開発チームでエンジニアをしているぶっちーと宇都宮です。 6月の中旬から約3ヶ月間、アプリストアという「kintoneアプリ」を作成するための機能を実現している複数のページのフロントエンド刷新に取り組みました。この取り組みは、以前から kintone 開発チーム全体で取り組んでいるフロントエンド刷新の一環であるため、このプロジェクトの概要について説明されている以下の記事をあわせてご覧ください。 blog.cybozu.io 基本的にフロントエンド刷新は開発チームの開発容易性を向上するものであり、新機能開発とは違ってそれ自体が顧客価値を生むものではありません。そのため、出来る…
2ヶ月前
サイボウズサマーインターン 2024 報告 〜kintone開発コース〜
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは、kintone開発チームのWebアプリケーションエンジニアの柿崎(@hiyoko_coder)です。 今年もサイボウズではサマーインターンを開催しました。 本記事では、kitnone開発コースについてご紹介しようと思います。 概要 kitnone開発コースは8月と9月の2つの日程で各10日間ずつ開催し、計5名に参加していただきました。 今年も昨年同様、全日程をオンラインで実施しました。 また内容は、昨年と同じく、インターン用に用意した課題に取り組むのではなく、開発チームの普段の業務にほぼそのまま参加してもらって実際にkintoneのコードに触れながら社員と一緒にタスクに取り組むとい…
2ヶ月前
サイボウズサマーインターン2024 Kubernetes 基盤コース開催報告
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。Neco チームの杉浦、寺嶋、阪上です。 今年も Neco チームでサマーインターンシップ(Kubernetes 基盤開発コース)を開催しました。 インターンには3名の方に参加してもらい、2チームに分かれて開発を行いました。 この記事では、インターンの様子と、各チームで取り組んだタスクについて紹介します。 日程 インターンは 8/19(月)から 8/30(金)までの2週間、フルリモートで開催しました。 初日から2日目の午前まででオリエンテーションや CNI(Container Network Internface)の勉強会などを開催しました。 2日目の午後からはそれぞれのチームでタ…
2ヶ月前
ローカライズの視点で見る、チーム連携のメリット
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。kintoneローカライズチームで英語を担当しているボーエンです。このブログは、テクニカルライター/ローカライズ リレーブログの5本目の記事です。 以前のブログで説明されているように、サイボウズのライターやローカライズを担当するメンバーはそれぞれ製品ごとの開発チームに所属しています。 blog.cybozu.io 製品ごとの開発チームに所属する体制となったことで、担当製品についての専門的な知識をより深め、製品の価値を最大化させることができるようになっています。私もローカライズの専門職として、担当製品に最も適した形で関わることができています。 このブログでは、私が所属するkinton…
2ヶ月前
Android 15 でアクションバー表示時にステータスバーが白くなってしまう問題
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは!kintone 開発チームの Android エンジニア、トニオ(@tonionagauzzi)です。 本日は、Android 15 対応の際に発覚した、アクションバーと Edge-to-edge の組み合わせで発生するステータスバーの背景色の問題について説明します。 概要 Android 14 Android 15 問題が起きる画面構成 問題の詳細 ためしにアクションバーを消してみる 対処法 1. Edge-to-edge を無効化する 2. アクションバーを消す ツールバーに置き換える TopAppBar に置き換える まとめ 採用情報 概要 日本時間 2024 年 10 月 …
2ヶ月前
サイボウズサマーインターン 2024 報告 〜 iOS コース 〜
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは!サイボウズ Officeチームのモバイル開発担当の山根です。 サイボウズでは毎年サマーインターンシップを開催しており、2024年度もさまざまなコースを用意しました。 この記事では、iOSアプリ開発のインターンシップである以下の2コースについて紹介したいと思います! iOS 育成型コース iOS 実務体験型コース iOS 育成型コース(8/19〜8/22) まずは4日間インターンとして開催した育成型コースについての紹介です。 今年はこちらのコースに3名のインターン生に参加していただきました! 概要 育成型コースは、実際の製品のソースコードを用いてプロダクト開発を体験できるコースとなっ…
2ヶ月前
スクラムマスターが大事にすべきはスクラムではなく価値に向き合うこと
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。kintone開発チームでスクラムマスターをしている「とうま」(@toma_cy)です。 サイボウズでは、スクラムマスターの役割や日々の業務をより多くの方々に知ってもらうために、リレーブログ企画を開催しています。 本記事では、スクラムはあくまで手段でありスクラムマスターは価値に向き合うことが大事だという話をします。 blog.cybozu.io スクラムマスターに求められること スクラムガイドでは、スクラムマスターについて以下のように定義されています。 スクラムマスターは、スクラムガイドで定義されたスクラムを確⽴させることの結果に責任を持つ。 「スクラムを確立」とはどういうことでし…
3ヶ月前
Cloudflare の新しいロードバランサ Pingora を試してみる
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。クラウド基盤本部の野島です。 今年のインターンシップでは、プラットフォーム(自社基盤)コースとして2名の方を受け入れ、それぞれ異なる課題をやってもらいました。 そのうちの一つは Pingora に関する課題で、覚道さんに取り組んでいただきました。(もう一つの課題は nginx のキャッシュの性能に関するもので、これについては昨日の記事をご参照ください) Pingora は Cloudflare が開発したロードバランサのためのフレームワークであり、Rust を使って好きなロジックを組み込んだロードバランサを書くことができます。 今回のインターンでは Pingora を使って TLS…
3ヶ月前
新卒社員が"はてな卒業生訪問企画ブログ"をきっかけに「なんでも技術共有場所」を爆誕させるまで
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。クラウド基盤本部、PDX(Platform Developer eXperience)所属のびきニキです。突然ですがみなさん、以下の記事は読まれましたか? developer.hatenastaff.com Hatena Developer Blogの連載企画「卒業生訪問インタビュー」では、創業からはてなの開発に関わってきた取締役の id:onishi、CTOの id:motemen、エンジニアリングマネージャーの id:onkが、いま会いたい元はてなスタッフを訪問してお話を伺っていきます。 id:motemenが担当する第11回のゲストは、サイボウズ株式会社でソフトウェアエンジニ…
3ヶ月前
nginxのproxy_cache_lockと謎の500ms
Cybozu Inside Out | サイボウズエンジニアのブログ
はじめに Cloud Platform部のpddgです。2024年もサマーインターンシップを開催し、プラットフォーム(自社基盤)コースとして2名の方を受け入れました。 昨年の様子は以下からご覧いただけます。興味があれば是非ご覧下さい。 blog.cybozu.io 今回は受け入れたお二方のうち藤本陽人さん(static-fuji)に担当していただいた検証の中で発見したやや直感的でない挙動について、藤本さんによる検証結果を社員がまとめたものになります。 この記事内での検証のほとんどはインターン生である藤本さんによって実施されたものですが、一部社員がインターンシップ完了後にこの記事の執筆のために生…
3ヶ月前
経理からテクニカルライターに異動して学んだこと
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは、テクニカルライターチームのAhiuru-kunです。このブログは、テクニカルライター/ローカライズ リレーブログの4本目の記事です。 今回は、元々経理だった自分がテクニカルライターにキャリアチェンジした経緯と、その後感じたことをお話しします。 これまでの経歴 経理職として計9年ほど働いてきました。サイボウズには5年ほど前に中途入社しました。 経理業務は、(ざっくり書くと)会社全体から数字を集めて、見やすくして、報告するのが仕事です。そんな業務をする中で、もっと自分が興味のある、好きなプロダクトやサービスに貢献したいと思うようになりました。 サイボウズへの転職を決心した理由も、サイボ…
3ヶ月前
その場の思いつきが20日間で100本以上の記事を生む企画になるまで|「CYBOZU SUMMER BLOG FES '24」の経緯と顛末
Cybozu Inside Out | サイボウズエンジニアのブログ
20日間で100本以上の技術記事を投稿したサイボウズのイベント「CYBOZU SUMMER BLOG FES '24」が生まれた経緯や企画の経過を振り返ります。
3ヶ月前
ヘルプサイトに機械翻訳サービスを導入してわかった、機械翻訳のハマりどころ
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。テクニカルライターチームのpiyo(@_chick_p)です。 このブログは、テクニカルライター/ローカライズ リレーブログの3本目の記事(後編)です。 前編の記事では、多言語展開のために製品の画面文言を改善した話を紹介しました。 スペイン語対応でわかった、語順が変わる問題に取り組んだ話 - Cybozu Inside Out | サイボウズエンジニアのブログ 後編では、ヘルプサイトに機械翻訳のサービスを導入する際にわかった、機械翻訳でのハマりどころとその解決策を紹介します。 機械翻訳のハマりどころ ヘルプサイトでは、元々の4言語に加え、スペイン語のコンテンツも提供しています。 ス…
3ヶ月前
サイボウズ・ラボユース夏合宿2024を開催しました
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは、サイボウズ・ラボの内田です。サイボウズ・ラボユースの一環で、2024 年 8 月に夏合宿を開催しました。その様子を紹介します。 ラボユース サイボウズ・ラボユースとは日本の若手エンジニアを発掘し、研究開発の機会を提供する制度です。ラボユース生が作りたいものをサイボウズ・ラボの社員がメンターとしてサポートし、開発機材や開発活動に応じた補助金、旅費の援助をします。開発物をオープンソースとして公開するという条件の元で著作権は開発者本人に帰属します(ここまでテンプレ)。 過去にどんな開発テーマがあるのか気になる方は、毎年 3 月頃に開催している成果発表会の記事がおすすめです。Inside …
3ヶ月前
DroidKaigi 2024 にスポンサーとして参加しました!
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは!kintone 開発チームの Android エンジニア、トニオ(@tonionagauzzi)です。 2024年9月11日(水)〜13日(金) に DroidKaigi 2024 が開催されました!👏 サイボウズは今年もゴールドスポンサーとして協賛し、恒例のブース出展を行いました。また、Android エンジニアの臼井(@usuiat)がセッション登壇しました。 DroidKaigi 2024 の参加レポートを、会場からみなさまにお届けします! 参加レポート 今年はオフラインで、ベルサール渋谷ガーデンにて開催されました! 弊社ブースをオープンしました。いよいよここから! 「Dro…
3ヶ月前
2023年のサイボウズ脆弱性報奨金制度を振り返って
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは、Cy-PSIRTの山西です。 本年でサイボウズの脆弱性報奨金制度はおかげさまで10周年を迎えました。 ここまで制度を続けることができたのは、いつも支えてくださる皆様のおかげです。 このエントリでは、2022年12月17日~2023年12月31日(以降、2023年と記載)で実施した報奨金制度を振り返りたいと思います。 サイボウズ脆弱性報奨金制度とは サイボウズが提供するサービスに存在する脆弱性を早期に発見し、改修することを目的とする制度です。 対象製品の脆弱性を発見し、ご報告いただいた方に謝礼として報奨金をお支払いします。 2023年の活動 バグハンター合宿の開催 今回、4年ぶりとな…
4ヶ月前
スペイン語対応でわかった、語順が変わる問題に取り組んだ話
Cybozu Inside Out | サイボウズエンジニアのブログ
このブログは、テクニカルライター/ローカライズ リレーブログの3本目の記事(前編)です。 こんにちは。テクニカルライターチームのpiyo(@_chick_p)です。 私は、サイボウズ製品のユーザー管理やログイン設定などのサービスを提供する、cybozu.com共通管理のUI文言やヘルプ管理を担当しています。 サイボウズでは、2023年12月にkintoneがスペイン語に対応しました。 kintoneが新たにスペイン語に対応し 多言語対応を推進 日本語・英語・中国語(簡体字・繁体字)と合わせて5つの言語に対応 | サイボウズ株式会社 同様に、cybozu.com共通管理の画面でもスペイン語に対応…
4ヶ月前
iOSDC Japan 2024 にスポンサーとして参加しました
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。 GaroonモバイルでiOSアプリ開発をしている岡です。 2024年8月22日(木)〜24日(土)にiOSDC Japan 2024が開催されました! 昨年に引き続きプラチナスポンサーとして協賛しましたので「参加しました」ブログ書きたいと思います! (下記に昨年の参加記事がありますのでよければそちらもご覧ください) blog.cybozu.io トーク 今年はスポンサーセッションに加え、2名のプロポーザルが採択されましたので、過去最多の3名が登壇しました! スポンサーセッション 登壇者:榎原さん(el_metal_) タイトル:開発を加速する共有Swift Package実践 f…
4ヶ月前
ライターチームで目標をどうやって作っていったのか
Cybozu Inside Out | サイボウズエンジニアのブログ
このブログは、テクニカルライター/ローカライズ リレーブログの2本目の記事になります。 こんにちは、テクニカルライターチーム近藤です。普段はテクニカルイラストレーター兼ライターとして働いており、担当製品はGaroonです。 Garoonのテクニカルライターチーム(以下、Garoon TCと呼びます)には、テクニカルライターやローカライズ担当者が所属しており、Garoonのヘルプの執筆や翻訳、画面文言の作成などを行っています。 今日は、そんなGaroon TCが初めて「チームの目標」を設定したお話をしたいと思います。 目標設定は難しい テクニカルライターやローカライズチームが目標を立てるのは、と…
4ヶ月前