philips-labs/terraform-aws-github-runner でオートスケールするセルフホストランナーの構築・運用

こんにちは、生産性向上チームの @miyajan です! この記事は、Cybozu Advent Calendar 2022 の一日目です。philips-labs/terraform-aws-github-runner を使ってオートスケールする GitHub Actions のセルフホストランナーを構築・運用している知見を書きま…

kintone の共通ヘッダー部分の React 化に責任を持つチームの紹介!

こんにちは!kintone フロントエンドリアーキテクチャプロジェクト (フロリア) で、エンジニアとして活動している西川 @nissy_dev です。 フロリアは、現在 4 つのクロスファンクショナルチーム体制で、それぞれが独立したスクラムチームとして活動していま…

フロントエンドのテストコードを書くときに大切にしていること

こんにちは、フロントエンドエキスパートチームの @mugi_unoです! kintone では フロントエンドの刷新プロジェクト(通称フロリア)が進行中です。 blog.cybozu.io kintone の開発では E2E 主体の自動テストを整備していましたが、 フロントエンドの刷新に…

マネージャー、いないと無理だったので、またつくりました

こんにちは。開発副本部長の okady です。 サイボウズ開発本部では2019年に組織変更を実施し、当時のインタビュー記事で私はこんなことを言っていました。 「マネージャー、いないと無理なら、またつくればいい」 サイボウズの開発本部がマネジャーをなくし…

フロントエンド刷新プロジェクトを成功に導くためのテスト手法の紹介

こんにちは、フロリアでQAエンジニアをやっている中園です。 現在サイボウズではkintoneのフロントエンドリアーキテクチャプロジェクト(フロリア)と称して、Closure Tools から React へと置き換えるプロジェクトが進行中です。 今回は、フロリアのチーム…

サイボウズサマーインターン2022 プロダクトセキュリティコース 開催報告

こんにちは!Cy-PSIRTの田口です。 本記事はサマーインターンシップ2022 プロダクトセキュリティコースの開催報告です。 今年は、8月と9月に全2タームでインターンシップを開催しました。 去年に続き、今年もフルリモートで実施しました。 概要 プロダクトセ…

対談:ニューカマーから見たサイボウズのAndroid事情

サイボウズでは去年より、Androidエンジニアの採用活動に力を入れてきました。その結果、今年の上期に新卒入社1名と中途入社3名のあわせて4名のAndroidエンジニアがチームにジョインしてくれました。 今回は、その4名のニューカマーを主役に「ニューカマーか…

DevOpsのチームのQAエンジニアの取り組み - 本番ログを活用した品質向上

こんにちは、QA(品質保証)エンジニアの矢引です。今回はDevOpsのチームのQAエンジニアが本番環境のログを定期的にチェックすることでプロダクトの品質向上を行っている事例を紹介します。 Claraとは 今回の取り組みを行っているClara開発チームを簡単に紹…

チームワークあふれるAndroidコミュニティを目指して

こんにちは、kintone開発チームのモバイル開発担当の藤田です。 この記事では、サイボウズのAndroidエンジニアが「チームワークあふれるAndroidコミュニティ」を目指して始めた新たな取り組みについて紹介させていただきます。 経緯 私自身は2022年4月にAndr…

サイボウズは DroidKaigi 2022 にゴールドスポンサーとして協賛します!

こんにちは!サイボウズ Officeのモバイル開発担当をやっている向井田 (@mr_mkeeda)です。 サイボウズは 2022年10月5日(水)〜7日(金)まで開催される DroidKaigi 2022 にて、ゴールドスポンサーとして協賛します! droidkaigi.jp サイボウズは 昨年のDroidKai…

サイボウズの「モバイル」のこれから

こんにちは!モバイルエンジニアの森嶋です。 この記事では、サイボウズにおける「モバイルチーム」の立ち位置と、 直近取り組んだ大きな変化である「チームの分割」についてお話しさせていただきます。 サイボウズにおけるモバイルチームのミッションと立ち…

サイボウズサマーインターン2022 報告 〜 Kubernetes基盤開発コース&ストレージコース

こんにちは、Necoチームの鎌田、阪上、そしてストレージチームの大神、satです。 サイボウズは毎年サマーインターンシップを開催しています。2022年度のサマーインターンシップもさまざまなコースを用意しました。本記事では8月22日~9月2日の10日間にわたっ…

CocoaPods から Swift Package Manager に移行した話

こんにちは、モバイルエンジニアの中村(@Kyomesuke)です。 私が担当している kintone の iOS アプリでは、脱レガシーを目指して Apple 製の新しいフレームワークやビルドツールの導入/移行に取り組んでいます。 今回はその取り組みの一つである、ライブラ…

High Performance MySQL, 4th Edition の輪読会を開催しました

こんにちは。クラウド基盤エンジニアの飯塚です。 サイボウズが提供している多くのクラウドサービスでは MySQL をプライマリデータストアとして利用しています。安定したサービスを提供するためには MySQL の有効な利用法やアンチパターンについてキャッチア…

iOSDC Japan 2022 にプラチナスポンサーとして協賛します!

こんにちは!モバイルエンジニアの中村(@Kyomesuke)です。 今年も iOSDC Japan の時期が近づいてまいりました! サイボウズは前年に続き「iOSDC Japan 2022」にプラチナスポンサーとして協賛させていただきます! サイボウズでは kintone や サイボウズ Of…

新卒で飛び込んだフロントエンド刷新プロジェクトが学びだらけだった話

こんにちは、kintone フロントエンドリアーキテクチャプロジェクト (フロリア) に所属している 21 新卒の西川 (@nissy_dev) と左治木 (@sajikix) です。 フロントエンド刷新プロジェクトへの配属から約 1 年が経ち、プロジェクトに関わる中で多くの学びがあ…

実装例から見る React のテストの書き方

こんにちは!フロントエンドエキスパートチームの@nus3_です。 kintone のフロントエンド刷新プロジェクト(フロリア)では、品質を保ったまま開発を加速させるためにフロントエンドのテストを積極的に行っています。 今回はそんなフロントエンドのテストの…

サイボウズ・ラボユース夏季交流会2022開催報告

こんにちは、サイボウズ・ラボの内田(@uchan_nos)です。 サイボウズ・ラボユースの現役生と卒業生向けの交流会を開催したので報告します。 交流会では最近改装したオフィスの紹介動画を見て、みんなで自己紹介し、4 件の技術発表を聞き、アンカンファレン…

生産性向上は一筋縄ではいかない Q&A [デブサミ2022夏]

Developers Summit 2022 Summer で発表した「生産性向上は一筋縄ではいかない 〜改善を進める上で生じる課題との付き合い方〜」に寄せられた質問に対して回答します。

安全な証明書自動更新のやり方

cybozu.com Cloud Platformチームのhsnとtomoです。今回はサイボウズで証明書更新の自動化を安全に行うための工夫をご紹介します。 背景 サイボウズではcybozu.comのサービスを提供するために数多くの証明書を取得し、管理しています。 今まではそれらをすべ…

Aurora MySQL 5.6のサポート終了とゼロダウンタイムアップグレードへの挑戦

こんにちは、グローバル向けAWS版kintoneのバックエンドエンジニアをしている@ueokandeです。 8月になって暑い日々が続きますね。そして8月と言えば、Amazon Aurora MySQL-Compatible Edition version 1 with MySQL 5.6 compatibility(以下Aurora MySQL 5.6…

kintone フロントエンド刷新においての Web パフォーマンス方針

kintone フロントエンド刷新プロジェクトリーダーの @koba04 です。この記事では kintone フロントエンド刷新プロジェクトにおける Web パフォーマンス方針について紹介します。 kintone フロントエンド刷新プロジェクト(フロリア)とは プロジェクトの現状…

ユーザーリサーチ勉強会: モバイル端末の利用行動を調査する(日記調査編)

こんにちは。モバイルチームの今野です。 この記事では、弊社のリサーチャーとモバイルエンジニアの有志からなるユーザーリサーチ勉強会の中で実施したモバイル端末での利用行動の調査と分析の事例を2つの記事に分けてご紹介します。 ユーザーリサーチ勉強会…

Jetpack Composeのパフォーマンスのベストプラクティス @Google I/O報告LT会

こんにちは、モバイルチーム・Androidエンジニアの東條です。 今年の5月に Google I/O 2022 のイベントがありました。 モバイルチームでは、私を含めた6名のAndroidエンジニアがイベントの中で興味のあるセッションを一つ選び、その内容について紹介するLT会…

「それで、そのコンテンツに効果はあったの?」という問いに答える 〜CausalImpactを使った動画の効果分析〜

こんにちは、開発本部データサイエンティストの山口です。 製品やサービスのユーザー向けにコンテンツを制作している方は、一度は以下のように考えたことがあるのではないでしょうか。 「このコンテンツは本当に効果があったのだろうか?」と。 ここでは「コ…

アプリが依存している Swift Package ライブラリのライセンスを一覧表示するためにライブラリを作りました

はじめに こんにちは、モバイルエンジニアの中村(@Kyomesuke)です。 私が担当している kintone のモバイルアプリ(iOS)では、現在脱レガシーを目指して幾つかの課題に取り組んでいます。 その一つとして、パッケージマネージャーを CocoaPods から Swift …

トラブルの芽を摘むための一歩進んだOSSのアップグレード戦略

はじめに こんにちは、ストレージチームの大神です。ストレージチームでは様々なOSSを用いて新しいストレージインフラの開発・運用を行っています。OSSを使っていく上でいつどんな機能追加やバグ修正を取り込むかを決める「アップグレード戦略」を立てる事は…

SwiftPMによるマルチモジュール構成でSwiftGenをビルド時に実行する

はじめに こんにちは、モバイルチームのオジマです。 私が担当しているサイボウズ Office 新着通知のiOSアプリでは、これまでXcodeGenとCocoaPodsを用いてマルチモジュールなアーキテクチャを構成していました。しかし、開発環境の構築においてRubyのバージ…

社内のAndroidエンジニア達を集めてGoogle I/O報告LT会をやってみた

こんにちは、モバイルチームの向井田 (@mr_mkeeda) です。 Google I/O 2022は皆さん参加しましたか? Googleの人みんなPixel Watchぽい腕時計付けてましたね。 Googleがタブレット市場に戻ってきたのもアツい話でしたね。 Android関連のセッションもたくさん…

2022年のエンジニア新人研修の講義資料を公開しました

People Experienceチーム*1の酒井(@sakay_y)です。 2022年もエンジニア新人研修を行いましたので、軽い紹介と、講義資料および一部講義動画を公開いたします。 *1:研修を運営するオンボーディングチームと技術広報っぽいコネクト支援チームを兼務していま…