サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16e
blog.cybozu.io
こんにちは!kintone 開発チームの Android エンジニア、トニオ(@tonionagauzzi)です。 本日は、私たちがモブプログラミング(以下、モブ)を活用して Android アプリの品質向上に取り組んだ話をします。 目次 はじめに 1. 共同モブの実践例 共同モブの進め方 実装プランニング タスク分割 実装、テスト仕様書作成 コードレビュー、テスト仕様書レビュー 品質保証(テスト実施と修正) マージ 共同モブを始めたきっかけ 開発者のスイッチングコスト QAから見た不透明さ バグの優先度が不明 2. 共同モブで得た成果 シフトレフトテスト レビューコストの削減 探索型テストの増加 バグ対応コストの削減 シフトライトテストも可能に 定期的なリリース リリース後の対応の強化 数字で見る実際の効果 2022年6月〜2022年12月(共同モブ未導入) 2024年6月〜2024年1
こんにちは、サイボウズでQAエンジニアをしている仙波です!みなさんのチームでは、アクセシビリティテスト、やっていますか? 最近、私が所属しているkintoneの開発チームでは、QAがアクセシビリティテストを担当するようになりました。今回はその経験について記事を書いたので、これからアクセシビリティテストを導入しようと思っている、または既にやっているけど他社はどうやっているのか気になる、という方の参考になれば幸いです! 背景と経緯 今までは? きっかけ 担当することが決まってから テストする観点 実際にやってみて難しかったところ スクリーンリーダーの使い方 「モノクロ表示で情報が伝わるか」の判断 まとめ 背景と経緯 今までは? 「担当するように」と書きましたが、今まで全くアクセシビリティテストをしていなかったわけではありません。サイボウズには、kintone Design System(以下「
はじめに Cloud Platform部のpddgです。2024年もサマーインターンシップを開催し、プラットフォーム(自社基盤)コースとして2名の方を受け入れました。 昨年の様子は以下からご覧いただけます。興味があれば是非ご覧下さい。 blog.cybozu.io 今回は受け入れたお二方のうち藤本陽人さん(static-fuji)に担当していただいた検証の中で発見したやや直感的でない挙動について、藤本さんによる検証結果を社員がまとめたものになります。 この記事内での検証のほとんどはインターン生である藤本さんによって実施されたものですが、一部社員がインターンシップ完了後にこの記事の執筆のために生成した図等も含まれます。 また、もう一人のインターン生の方にはRustでロードバランサを書くという課題に挑戦していただきました。こちらもインターン生の方に大活躍していただいています。是非ご覧下さい。
こんにちは。クラウド基盤本部の野島です。 今年のインターンシップでは、プラットフォーム(自社基盤)コースとして2名の方を受け入れ、それぞれ異なる課題をやってもらいました。 そのうちの一つは Pingora に関する課題で、覚道さんに取り組んでいただきました。(もう一つの課題は nginx のキャッシュの性能に関するもので、これについては昨日の記事をご参照ください) Pingora は Cloudflare が開発したロードバランサのためのフレームワークであり、Rust を使って好きなロジックを組み込んだロードバランサを書くことができます。 今回のインターンでは Pingora を使って TLS のクライアント証明書を使った認証プロキシを作ってもらいました。 そこで、この開発の中で得られた Pingora や OpenSSL に関する知見を共有しようと思います。 この記事は覚道さんのインター
こんにちは。クラウド基盤本部、PDX(Platform Developer eXperience)所属のびきニキです。 突然ですがみなさん、以下の記事は読まれましたか? developer.hatenastaff.com Hatena Developer Blogの連載企画「卒業生訪問インタビュー」では、創業からはてなの開発に関わってきた取締役の id:onishi、CTOの id:motemen、エンジニアリングマネージャーの id:onkが、いま会いたい元はてなスタッフを訪問してお話を伺っていきます。 id:motemenが担当する第11回のゲストは、サイボウズ株式会社でソフトウェアエンジニアとして活躍しているid:itchynyさんこと、濱田健さんです。 こちらのブログは「弊社の良さ」と「はてなさんの良さ」が詰め込まれていて非常に素敵なブログだなと思っており、弊社社員の中でもたくさん
こんにちは。テクニカルライターチームのpiyo(@_chick_p)です。 このブログは、テクニカルライター/ローカライズ リレーブログの3本目の記事(後編)です。 前編の記事では、多言語展開のために製品の画面文言を改善した話を紹介しました。 スペイン語対応でわかった、語順が変わる問題に取り組んだ話 - Cybozu Inside Out | サイボウズエンジニアのブログ 後編では、ヘルプサイトに機械翻訳のサービスを導入する際にわかった、機械翻訳でのハマりどころとその解決策を紹介します。 機械翻訳のハマりどころ ヘルプサイトでは、元々の4言語に加え、スペイン語のコンテンツも提供しています。 スペイン語のコンテンツの提供には、機械翻訳サービスのWOVNを利用しています。 限られた人的リソースの中で、素早くスペイン語対応を実現するためです。 ヘルプのコンテンツを機械翻訳するにあたって、これまで
こんにちは、フロントエンドエンジニアのおぐえもん(@oguemon_com)です。 先月このブログでもお知らせした技術ブログの夏フェス「CYBOZU SUMMER BLOG FES '24」は、8月20日(火)に20日の会期を終え、無事に幕を閉じました。 結果として、88名の当社エンジニア・デザイナーの手で、104本の記事を投稿することができました!! Cybozu Inside Out(当サイト)の新着記事一覧は連日にわたって直近2日以内の記事だけで埋まった他、ZennのTrending欄には当社のPublicationが出した多くの記事が掲載されるなど、様々な形で本イベントの盛り上がりが見られました。 業務の合間を縫って記事の執筆・レビューをしていただいた当社エンジニア・デザイナーの方々、イベントの実行にご協力いただいた方々、そして投稿記事をお読みくださった皆様に深くお礼申し上げます。
このブログは、テクニカルライター/ローカライズ リレーブログの3本目の記事(前編)です。 こんにちは。テクニカルライターチームのpiyo(@_chick_p)です。 私は、サイボウズ製品のユーザー管理やログイン設定などのサービスを提供する、cybozu.com共通管理のUI文言やヘルプ管理を担当しています。 サイボウズでは、2023年12月にkintoneがスペイン語に対応しました。 kintoneが新たにスペイン語に対応し 多言語対応を推進 日本語・英語・中国語(簡体字・繁体字)と合わせて5つの言語に対応 | サイボウズ株式会社 同様に、cybozu.com共通管理の画面でもスペイン語に対応しています。 今回は、スペイン語対応に向けて、製品の画面文言やヘルプサイトを改善した取り組みを、前後編に分けて紹介します。 前編のこの記事は、製品の画面文言をスペイン語に翻訳したときにわかった「言語に
この記事は、CYBOZU SUMMER BLOG FES '24 (クラウド基盤本部 Stage) DAY 17の記事です。 こんにちは。クラウド基盤本部 Cloud Platform 部で Kubernetes 基盤(Neco)のネットワークを担当している寺嶋です。 Neco の Kubernetes クラスタはネットワークに Cilium を採用しています。 Neco の他のブログは以下を参照してください。 blog.cybozu.io Cilium は 2023 年 10 月に CNCF Graduated Project となった成熟したプロジェクトです。 一方で、大規模な環境で運用する際には性能問題や不具合に遭遇してしまうことがあります。 私たちはそのような Cilium に関連して発生する問題に対して、ツール開発や upstream への貢献などの様々な方法で対処しています。
この記事は、CYBOZU SUMMER BLOG FES '24(クラウド基盤本部 Stage)DAY 16 の記事です。 こんにちは、Cloud Platformチームの竹村です。 私たちのチームでは、Necoと呼ばれるKubernetes基盤の開発や運用をしています。 このブログ記事では、大量の通信を行うアプリケーションをKubernetes上で運用する際に発生したネットワーク通信経路の障害に関してお話しします。 障害の概要 Kubernetes基盤を利用するチームから、クラスタ内のDNSサーバで性能問題が発生しているとの相談を受け、調査を開始しました。具体的には以下のような事象が起きていました。 Pod内のアプリケーションから一秒間に数百リクエストの単位でクラスタ内のserviceの名前解決を行うと、no such hostやi/o timeoutといったエラーが頻繁に発生する 障害
この記事は、CYBOZU SUMMER BLOG FES '24 (kintone Stage) DAY 8 の記事です。 kintone 新機能開発チームでエンジニアをしているぶっちーです。 私のチームでは、有志のメンバーで集まって顧客、ユーザーとの接点の情報がたくさん詰まった「コンタクト履歴」を読んで、顧客の理解を深める活動を行いました。 コンタクト履歴とは、営業やカスタマーサクセスなどのメンバーと顧客のやり取りが記録されているデータベースです。 数ヶ月このコンタクト履歴を読むことを続けた結果、理解が進んだ感覚はあるものの、まだまだ改善の余地があるのではないかと感じました。そこで一度立ち止まって、なぜエンジニアが顧客理解をすると良いのかについて改めて考えてみました。 なぜエンジニアが顧客理解に取り組む必要があるのか 私がなぜ顧客理解に取り組むのか?それは「良いプロダクトを創る」ためです
この記事は、CYBOZU SUMMER BLOG FES '24 (Garoon Stage) DAY 5の記事です。 cybozu.github.io こんにちは、Garoon開発チームの松尾です。中堅・大規模組織向けのグループウェアであるGaroonはバックエンドにPHPを使って開発されています。本記事では、Garoonで使用しているPHPのバージョンを8.1から8.2に更新した作業の一部において、プログラムの本質的構造を示すAST(抽象構文木、Abstract Syntax Treeの略)に差分がないことを確認することにより大幅にテスト工数を削減できたケースを紹介したいと思います。 PHPのリリースサイクルとバージョンアップの必要性 Garoon開発チームにはいくつかのサブチームがあり、私が所属しているサブチームであるYukimiチームは、より安全なGaroonをユーザーに届けること
この記事は、CYBOZU SUMMER BLOG FES '24 (クラウド基盤本部 Stage) DAY 9 の記事です。 こんにちは。DBRE チーム の山下です。 サイボウズではサービスを運用する上で多くのバッチ処理を実行しています。 Kubernetes 基盤を利用するにあたって、バッチ処理によく使われるのが Job だと思います。サイボウズでも多くの Job を活用しています。 そんな Kubernetes の Job ですが、リトライに関して想定と異なる挙動が見つかったためコードリーディング、kind での検証の両面から調査しました。 今回は調査によって得られた Kubernetes の Job のリトライの挙動に関する知見をご紹介します。 Job の概要 まずは簡単に Job について説明します。 Job は単発のジョブを実現するための Kubernetes リソースです。
この記事は、CYBOZU SUMMER BLOG FES '24 (Frontend Stage) DAY 15 の記事です。 こんにちは、フロントエンドエキスパートチームの @mugi_uno です。 DAY 4 の記事で nus3 がすでに一部紹介していますが、2024年7月2日にサイボウズ社内で実施された開発・運用に関わるメンバーの交流イベント "開運夏まつり 2024" に併せて、サイボウズでのWebフロントエンドの祭 "Cybozu Frontend Day 2024 Summer" を実施しました。 その中で、フロントエンドクイズ大会やライブコーディングバトルといった変わり種コンテンツも行われ、大変盛り上がりました。 今回は、Cybozu Frontend Day とは一体何なのかと、具体的にどのような企画が行われたかをご紹介します。 Cybozu Frontend Day っ
この記事は、CYBOZU SUMMER BLOG FES '24 (クラウド基盤 Stage) DAY 10 の記事です。 こんにちは。クラウド基盤本部の野島です。Go は goroutine やチャネルなどの仕組みが備わっており、簡単にマルチスレッドなプログラムを書くことができる言語だと言われています。しかし、マルチスレッドプログラミングには独特の罠があり、何も知らない人が雰囲気でコードを書くとわかりにくいバグを仕込んでしまうリスクが非常に高いです。 この記事では、マルチスレッドプログラミングに詳しくない人に向けて、そのような罠を避けるための方法を紹介します。この記事は Go の基本的な使い方を知っていることを前提としています。 這い寄るデータ競合の恐怖 まずは以下のようなプログラムを考えてみましょう。これは複雑な計算を行って結果を返すような HTTP サーバーのコードです。 // 複雑
この記事は、CYBOZU SUMMER BLOG FES '24 (Frontend stage) DAY13 の記事です。 こんにちは、フロリアでエンジニアとして活動している hacchan です。 現在 kintone ではフロリアというプロジェクトの中で、Closure Tools から React への移行作業に取り組んでいます。 以前、そのフロリアのチームの 1 つである Reactone チーム が Storybook をフル活用してテストを実装した話 を紹介しましたが、今回はそのアフターストーリーを紹介します。 Storybook のフル活用はやめた 以前の Reactone チームでは、Storybook の Test Runner を使って、Integration Test を実行するなど、Storybook をフル活用してテストを実装していましたが、新たな領域の刷新を開
この記事は、CYBOZU SUMMER BLOG FES '24 (kintone Stage) DAY 1の記事です。 初めに kintoneチームの前田です。 kintoneチームでは最近E2Eテストを部分的に実行するという実験を始めています。 これによりテストの実行時間が短縮されフィードバックが迅速になり、 たとえばフロントエンド刷新に貢献するのではないかと期待しています。 本記事ではこのE2Eテストを部分的に実行するという取り組みについて紹介します。 E2Eテストと問題点 kintoneチームのE2Eテストは機能が期待通り動いていることをユーザー視点で確認するテストです。 E2EテストはSeleniumとJavaで実装されています。 試験対象であるkintoneは本番環境とほぼ同じ構成で開発環境にデプロイされ、これに対してテストが実行されています。 kintoneチームでは通常機能
こんにちは、クラウド基盤本部の向井です。 幸いにも cybozu.com を運用しているデータセンター内のネットワークは(担当チームの尽力により)安定していますが、ネットワークコネクションは常に切断されるリスクがあることを念頭においておく必要があります。その原因が一時的なネットワークの不調だったり、関係するコンポーネントのメンテナンスに伴う瞬断であったりした場合、アプリケーションは適切にリトライするなどして処理を継続したいところです。一方で、このような場合には OS によるプロトコルの実装やライブラリによって隠蔽された動作により、一見不思議に見える挙動に悩まされることも少なくありません。本記事では、一例として私が所属するチームで開発している Go を使って開発されたコンポーネントで経験したネットワークコネクションの切断に伴うトラブルと、その解決に利用した Go の HTTP/2 クライアン
この記事は、CYBOZU SUMMER BLOG FES '24 (クラウド基盤本部 Stage) DAY 4の記事です。 クラウド基盤本部Cloud Platform部の pddg です。cybozu.comのインフラ基盤移行まだまだがんばっています。 今回の記事は、社内向けに書いていた「構造化ログとは何か・Goのslogパッケージをどう使うべきか」という話を一般向けに書き直したものです。なんとなくslogを使っているという状態から、チームでどのようにログを取るべきか方針を決められるようになるくらいの状態に持っていくための一助になればと思います。 背景 構造化ログに求められるもの 機械的に読み取り可能なフォーマット ログメッセージとパラメータの分離 一連の操作を特定するパラメータの付与 適切なメタデータの付与 slogパッケージによる実践 機械的に読み取り可能なフォーマットで出力する グ
こんにちは、サイボウズでGaroonモバイル開発チームのスクラムマスターをしている東條です。 私はスクラムマスターになってまだ半年も経っていません。駆け出しの身として、スクラムマスターとしての役割は何なのかを日々模索しています。 本記事は、サイボウズのスクラムマスター職能で開催しているリレーブログ企画の一本です。 リレーブログ企画:スクラムマスターって何をするの?チームを健全に保つ多様なリーダーシップの実際 対象読者:スクラムマスターが近くにいるけどありがたみを感じたことがない人 学習成果 (Learning Outcome):記事の内容に関連する悩みについて、近くのスクラムマスターに相談できるようになる リレーブログ企画の学習成果を得るためには、スクラムマスターに親近感を持ってもらうことが大切です。 本記事は、読者の皆さんに「スクラムマスターに親近感を持てるようになった」と言っていただく
はじめに こんにちは。開発者とスクラムマスター(以下、SM)をしている金丸です。 サイボウズのGaroonという製品の開発チームに所属しています。 サイボウズではSMのことを社内外問わず、より多くの人に知ってもらう啓蒙活動の一環として、サイボウズのSM達によるリレーブログ企画を開催しています。 blog.cybozu.io チームでスクラムを始めて約1年経ち、良い機会と感じましたので、このリレーブログに参戦させていただきます。 今回は、いち開発者がどうやってSMを始めたのか、そして自身の所属するチームにどうやってスクラムを定着させていったのか、自らの経験をベースにお話させていただこうと思います。 駆け出しではありますが、SMが何を行っているかのご理解に役立ちましたら幸いです。 スクラムがチームに定着するまでの流れ スクラムチームの始まり まずはじめに、私のチームの紹介をします。 私のチーム
こんにちは!DOGO プロジェクトでソフトウェアエンジニアとして活動している @nissy_dev です。 DOGO プロジェクトでは、React Aria を活用してアクセシビリティの改善を行っています。 今回の記事では、React Aria を国内にもっと広めて行きたいということで、React Aria を利用することに決めた理由を振り返りつつ、React Aria について簡単に紹介します。 目次 OSS を活用した効率なアクセシビリティの改善 ライブラリの選定 React Aria の概要 Next.js App Router との相性 終わりに OSS を活用した効率なアクセシビリティの改善 DOGO プロジェクトでは、フロントエンドの刷新を進めていく中でアクセシビリティの改善についても取り組んでいます。 具体的な事例などについては、次の記事も参考にしてもらえればと思います。 各
はじめに こんにちは、iOSエンジニアのKyome(@Kyomesuke)です。 私が担当しているkintoneのモバイルアプリはWKWebViewを用いたハイブリッドアプリなのですが、UIKitからSwiftUIへのリプレイスにあたってWebViewをSwiftUIに適したインターフェースで(つまり宣言的UIで)実装したいという需要が高まっていました。 しかし現在、SwiftUIと互換性のある宣言的UIなWebViewのAPIはAppleから提供されていません。 そこで、WKWebViewをSwiftUIに適したインターフェースで扱えるようにしたラッパーライブラリを開発しました! この記事では、開発したライブラリであるWebUIの使い方と工夫した点を紹介します。 github.com WebUIの使い方 WebUIはSwift Package Managerで導入できます。 具体的な導入
こんにちは。kintone 開発チームでスクラムマスター(以下 SM)をしている村田(@kuroppe1819)です。サイボウズでは SM の仕事をより多くの方々に知ってもらう啓蒙活動の一環として、リレーブログ企画を開催しています。 リレーブログ企画:スクラムマスターって何をするの?チームを健全に保つ多様なリーダーシップの実際 - Cybozu Inside Out | サイボウズエンジニアのブログ 対象者 スクラムマスターが近くにいるけどありがたみを感じたことがない人 学習成果 (Learning Outcome) 記事の内容に関連する悩みについて、近くのスクラムマスターに相談できるようになる この記事では、「スクラムマスターって何をするの?」という質問に対する私なりの答えと、kintone 開発チームのメンバーがスクラムマスターの仕事ぶりに対してどのような評価をしているのかアンケートを
こんにちは。 フロントエンドエキスパートチームの Saji です 2024 年 4 月 19 日(金)にサイボウズのフロントエンドエンジニア主催で第 2 回 BARフロントえんどうを開催しました。 本記事では、当日の様子やセッションについて紹介します。 BARフロントえんどうとは BARフロントえんどうは Web フロントエンドのトピックからテーマを選び、登壇者や参加者の間で情報を共有することで知見を深めてもらおうというコンセプトの勉強会です。 第 2 回を迎える今回は「CSS Library / Framework」をテーマとして開催しました。 フロントエンドリアーキテクトをテーマとした第 1 回の開催報告も併せて こちら でご覧になれます。 セッション内容 今回はメインセッションとして poteboy さん、株式会社はてなの mizdra さん、ピクシブ株式会社の f_subal さん
こんにちは。 スクラムマスター(以降、SM)のToshinari(@10shinari)です。 私はkintone開発チーム内の複数のチームを横断的に支援しています。 サイボウズではSMのことを社内外問わず、より多くの人に知ってもらう啓蒙活動の一環として、サイボウズのSM達によるリレーブログ企画を開催しています。 この記事はリレーブログ企画の記念すべき第一本目の投稿です! もし記事の内容に興味関心を持たれた方がいらっしゃれば、社内外関係なくお声がけいただけると嬉しいです。 とくに社内の方は、うちのチームの相談に乗って欲しいなどあればお気軽にお声がくださいね。 さて、本記事では、私がSMとしてポジティブな気持ちから変化を起こせるチームを作るために意識していることをご紹介します。 チームメンバーが声を出しやすい環境を作る チームメンバーが声を出しやすい環境にすることを意識して行動しています。
「ソフトウェアテストをカイゼンする50のアイデア」勉強会を実施しました! こんにちは!Officeチーム所属のAndroidエンジニア、宮﨑(@Tirobou999)です。 先日、社内で 「ソフトウェアテストをカイゼンする50のアイデア」の勉強会 を実施したところ、 テスト改善のモチベーションの高いメンバーが多く集まり、議論が非常に盛り上がりました。 皆で議論している中で、非常に中身の濃いアウトプットが出てきたので、 これを 社外に発信しないのはもったいない と思い、今回ブログを書かせていただきました! 勉強会を開催した背景 今回、勉強会を開催した理由ですが、 先日行われたJasst2024に参加した際、 Fifty Quick Ideas To Improve Your Tests」(日本語訳:「ソフトウェアテストをカイゼンする50のアイデア」) について紹介されているセッションがあり、
こんにちは!DOGO プロジェクトでソフトウェアエンジニアとして活動している @nissy_dev です。 DOGO プロジェクトでは、画面刷新を進めていく中で CI の実行時間が長く不安定になってしまい、開発生産性に大きな影響が出ていました。今回の記事では、CI の課題改善のために取り組んだことを紹介します。 目次 DOGO について CI を改善することになった背景 CI の改善のために取り組んだこと ビルド時に tsc を実行しない .next/cache を除いて、artifacts にアップデートする E2E テストをより多くの shard 数で分割する Playwright のブラウザのインストールをキャッシュする PR ではコード差分に関連するテストのみを実行する Hydration の挙動によってテストが flaky になっていた問題の解消 CI の改善の結果 今回取り組ま
はじめに こんにちは、Necoチームの竹村です。 今回のブログ記事では、新しく開発したプロファイリングツールである necoperf について紹介します。necoperf は Kubernetes 上で動作するコンテナに対して、簡単にプロファイリングを行えるようにするツールです。 本記事では necoperf を開発した背景や特徴、使い方について紹介します。 necoperf をなぜ開発したのか necoperf をなぜ開発したのかを簡単に紹介します。 現在の perf でプロファイリングを取る方法 サイボウズではKubernetesクラスタをマルチテナント運用しており、1つのクラスタに複数のチームがアプリケーションをデプロイしています。 NecoチームではこのKubernetesクラスタを開発・運用しています。 アプリケーション開発者がアプリケーションを運用していると、アプリケーションの
次のページ
このページを最初にブックマークしてみませんか?
『Cybozu Inside Out | サイボウズエンジニアのブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く