アプリなら、コメントが見やすい!
トップへ戻る
なごみ系Wikipedia
blog.cybozu.io
People Experienceチーム*1の酒井(@sakay_y)です。 2022年もエンジニア新人研修を行いましたので、軽い紹介と、講義資料および一部講義動画を公開いたします。 2022年のエンジニア研修について 講義資料公開(2022年版) モバイルアプリ開発 サイボウズのアジャイル・クオリティ MySQL - テストデータが偏るということ モブに早く慣れたい人のためのガイド テクニカルライティングの基本 ソフトウェアテスト セキュリティ ソフトウェアライセンス 社内限定の講義や昨年と同じ講義について 最後に 2022年のエンジニア研修について 研修のコンセプトは例年とほぼ同じです。 誰に 新入社員メンバーに 何と言ってもらう 基礎的な知識/技術/ツールを学べた! 開発/運用本部のチーム/人を知ることができた! スケジュールは以下のとおりです。(一部は、予定になります。) 講義期間
はじめに こんにちは、OSS推進チームのsatです。本記事はサイボウズが5年間取り組んできたOSSへの寄付をする取り組みについて紹介します。具体的には寄付をする理由、どのようなポリシーで寄付額や各プロジェクトへの寄付額の配分をするのかについて共有します。 なぜ寄付をするのか サイボウズでは様々なOSSを利用していることもあり、以前お伝えしたようにオープンソースソフトウェアポリシーというものを定めています。 blog.cybozu.io cybozu-oss-policy.readthedocs.io この文書の中で、次のような記述があります。 本規程の第二の目的は、当社がオープンソースコミュニティにおける良き一員であるために必要な規定を定めることである。 この「良き一員」となるためにOSSに貢献するには様々な方法があります。直接的にはバグ報告、修正、機能追加、ドキュメント追加などによって人
こんにちは、フロリアでQAエンジニアをやっている中園です。 現在サイボウズでは kintone のフロントエンドリアーキテクチャプロジェクト(フロリア)と称して、Closure Tools から React へと置き換えるプロジェクトが進行中です。 フロリアの詳細については 次の記事をご覧ください。 今回は、フロリアのチームの一つで、利用者に気づかれない形で React への置き換えを行っている Mira チーム1の開発・テストフローの紹介をします。 "最速で" React に置き換えたい Mira チームはただ React に置き換えるのではなく「最速で React に置き換える」という目標があります。 フロリアの各チームはそれぞれのチームごとにオーナーシップを持っており、チームごとに意思決定を行っています。Mira チームでは「最速で置き換える」という目標に向かって、開発スピードを向上
みなさんこんにちは。kintone フロントエンドリアーキテクチャプロジェクト(フロリア)で、エンジニア兼スクラムマスターとして活動している村田(@mys_x101)です。 現在、フロリアには兼務も含めて約 30 人のメンバーが参加しています。フロリアは小さな 4 つのクロスファンクショナルチーム体制で、それぞれが独立したスクラムチームとして活動しています。 今回はその中のひとつのチームである、サイレントリリースを部分的に試みているチーム(Mira チーム)で取り組んだ、ソロプログラミング(以下、ソロプロ)とモブプログラミング(以下、モブプロ)を両立したスウォーミングの実践事例を紹介します。 スウォーミングとは? まずはスウォーミングという言葉について説明します。 Swarming を直訳すると「群れる」です。ソフトウェア開発の文脈では 1 つの問題やタスクを皆で群がって解決するという意味
みなさんこんにちは。油そばと同居したいテクニカルコミュニケーションチームの近藤です。油そば先輩に一生ついていきます。 この記事は、頑張って作った機能解説動画が、いかにして多くの製品利用者に見てもらえるようになったか 〜制作編〜の続きです。先に「制作編」を読んでいただくと、「改善編」がより理解しやすく、興味深く読んでもらえること、間違いなしです! 公開すれば終わり、ではない 制作編では、動画に取り組むようになったきっかけや制作環境、ルールなどをお話ししました。チームを超え、いろんな人を巻き込みつつ、無事Garoonのワークフロー動画を公開することができたわけですが、動画を公開したら終わりというわけにはいきません。動画制作のあるあるな悩みなど、その後も数々の試練が待っていました。 ここでは、作った動画をより多くの人に見てもらうための工夫についてお話ししたいと思います。 サクッと最後まで見れる長
サイボウズ・ラボの内田(uchan)です。 先日「CPU+コンパイラ自作ワークショップ」というイベントを開催しましたので、その報告をします。 イベントの概要 2022 年 4 月 29 日、FPGA ボードを用いたオリジナルの CPU と、CPU 用の機械語を生成するための C コンパイラを自作するという趣旨の「CPU+コンパイラ自作ワークショップ」を開催しました。 10 名の参加枠が募集開始 40 分で埋まるという人気ぶりで、当日はみなさんとても楽しそうに作業されていました。 作った CPU 基板はこんなものです。 Tang Nano 9K という FPGA ボードに CPU 内部の値を表示するための LED 表示器やスイッチを接続するための基板となっています。 USB シリアル変換基板を取り付けることで、パソコンと CPU が通信し、機械語をダウンロードしたり演算結果を出力することがで
こんにちは。シニアスクラムマスター(初めて名乗った!)の天野 @ama_ch です。開発本部に所属するアジャイルコーチとして、組織内を横断的に支援しています。最近は、 kintone フロントエンドリアーキテクチャ(フロリア)プロジェクトの支援に注力しています。 フロリアプロジェクトの概要はこちらの記事をご覧ください。 blog.cybozu.io 現在、フロリアには約30人のメンバーが参加して日々活動しています。チームの規模が大きくなると、コミュニケーションが難しくなり、効果的なチームワークを発揮するのがどんどん難しくなっていきます。フロリアでは、昨年後半頃からだいぶチームの規模が膨らんできたため、今年からチームを再編し4チーム体制に切り替えました。 今回は、フロリアが数十人規模でもチームワークを発揮するために、チームの設計や運用で意識しているポイントを紹介します。 目指している状態 最
こんにちは。Cy-PSIRTの長友(@naga_hito)です。 このエントリでは、2021年度実施した報奨金制度を振りかえります。 数字で見る2021年度脆弱性報奨金制度 まずは、2021年度の報告数や認定数についてお伝えします。 着信数と認定率 全体 着信数 認定数 認定率 支払額 49件 8件 16% 885,000円 ここ数年と比較すると減少傾向にあります。対象製品の変更や、お支払額の変更などが影響しているのでは、と考えています。 今年度もお支払額やポイントに関する変更点がございます。詳しくはこちらのエントリをご覧ください。特にポイント制度は大幅に変更されています。 なお、2021年度に報奨金とポイントを一番多く獲得されたのは閏間 修一さま(560 pt)でした。おめでとうございます。 製品別の報告数 製品 着信数 認定数 Office 10件 4件 Garoon 9件 1件 ki
こんにちは、kintone 開発チームの @hikoma です。kintone のテストを JUnit 4 から JUnit 5 に移行した話を公開したいと思います。 背景 2017 年に JUnit 5 がリリースされてから約 4 年半、みなさんは既に JUnit 5 を利用していることかと思います。 kintone では JUnit 5 への移行がなかなか進みませんでした。テストのボリュームがそれなりにあり(Java の単体テストが約 6500、REST API のテストが約 4000、Selenium のテストが約 3000)、E2E テストで並列実行やリトライのために JUnit 4 の仕組みを利用していたので、目に見える問題が起きていない状況では優先度も上がりませんでした。 しかし、このような状況ではテストの改善に着手しにくく、持続的な開発のリスクも感じていたため、何度目かの移行
ymmt (@ymmt2005) です。 昨年までは Neco プロジェクトとして自社データセンターを Kubernetes を中心としたシステムに刷新していました。 次の活動として、今度は Identity and Access Management (IAM) 分野に取り組むことにしました。 IAM というのは、複数のサービスを跨いでサインインするシングルサインオン(SSO)や自動的にユーザーを作成・削除するプロビジョニングなどを実現するものです。 代表的な製品としては Okta や Azure Active Directory があります。 今回はなぜ IAM 分野に取り組むことにしたのかの背景と、今後の取り組みについてご紹介します。 サイボウズ製品の構成と課題 サイボウズでは約 20 年前の創業時から Web グループウェアを開発し販売しています。 サイボウズ Office および
こんにちは。Poca11y(ポカリ)チームのSUGI(@blindsoup2p1)と小林(@sukoyakarizumu)です。 わたしたちPoca11yチームは「kintone」のアクセシビリティ改善活動に参加しています。この記事ではkintoneのアクセシビリティを改善するチーム体制について解説します。さらにPoca11yチームとkintone開発チームが協力して整備したアクセシビリティを強化するためのESLintルールについても解説します。 Poca11y(アクセシビリティ)チームとkintoneのアクセシビリティ改善 Poca11yチームとは Poca11yチームはサイボウズ全体の「アクセシビリティ」向上を目的としたチームです。Poca11yチームでは主に以下3種類の活動を行なっています。 社内啓発:アクセシビリティの社内研修・勉強会・ガイドライン作成などを行います。 製品改善:サ
こんにちは、Cy-PSIRTの久保です。 いよいよ2022年度のサイボウズ脆弱性報奨金制度が開始となります! 本記事では今年度の概要や変更点についてご紹介したいと思います。 サイボウズ脆弱性報奨金制度とは サイボウズ脆弱性報奨金制度は、弊社サービスに存在する脆弱性を早期に発見・改修することを目的とする制度です。対象製品の脆弱性を報告いただいた方に、謝礼として報奨金をお支払いしています。検証に際して参加者ごとに専用の環境を提供しており、本番環境への影響を気にすることなくご参加いただけます。 脆弱性報奨金制度2022 期間 2022年4月22日(金) 10:00 〜 2022年12月16日(金) 23:59 [JST] ※2022年12月17日(土)以降もご報告を受け付けますが、適用されるルールは次年度の脆弱性報奨金制度のルールです。 ルール 脆弱性報奨金制度のルールは脆弱性報奨金制度ルールブ
こんにちは!フロントエンドエキスパートチーム兼 Mira チームで活動している@nus3_です。 サイボウズが提供するkintoneは 10 年以上にわたり多くのユーザーにご利用頂いています。現在、kintone の開発が引き続きスケールできるように、Closure Toolsから React へと置き換えるフロントエンドリアーキテクチャプロジェクト(フロリア)が絶賛進行中です。 フロリアの詳細については次の記事をご覧ください。 Mira ってなんですか? フロリアプロジェクトにはいくつかのチームがあります。それぞれのチームはフロリアのゴールを達成するために、チームごとにオーナーシップを持って日々活動しています。 フロリアのゴールの一つに 「kintone のすべてのページが React によって表示されている」というものがあります。このゴールを達成するために、kintone の内部をこっ
こんにちは!kintone フロントエンドリアーキテクチャチーム (フロリア) の西川 @nissy_dev です。 最近のフロントエンド開発で導入されることの多い TypeScript ですが、開発期間の長いプロジェクトに導入する際にはバックエンドとの結合部分の型定義をどう扱うかが問題になる場合があると思います。 今回の記事では、フロリアで取り組み始めた、HTML に埋め込んだ JSON データをフロントエンドで型安全に扱う施策について紹介します。 フロリアのプロジェクトの詳細については、 @koba04 が書いた次の記事をご覧ください。 blog.cybozu.io 目次 フロリアでのバックエンドからのデータ取得 HTML に JSON データを埋め込む方法の問題点 Java のクラスから TypeScript の型定義を生成できる typescript-generator types
こんにちは!フロントエンドエキスパートチームの @mugi_uno です。 みなさんは Visual Regression Test は普段活用していますか? 昨今では事例もよく耳にするようになった印象です。一度使って手放せなくなった方もいるのではないでしょうか。 今回の記事では、通常のプロダクト新規開発とは異なる “脱レガシー” の文脈で Playwright を用いた簡易的な Visual Regression Test を試してみたので、導入に至る経緯と、どのように実施しているかを紹介します。 フロントエンドリアーキテクチャとサイレントリリース 現在サイボウズでは kintone のフロントエンドリアーキテクチャプロジェクトと称して、Closure Tools から React への脱レガシー作業が進行中です。プロジェクトの詳細については @koba04 が書いた次の記事をご覧くださ
春ですね〜、ユーザー体験を最高にするチームプロジェクトオーナーのsakitoです。 以前、kintone フロントエンドリアーキテクチャプロジェクトをスタートさせたブログ記事が公開されました。 今回はこの取り組みの一つのチームである「ユーザー体験を最高にするチーム 」について紹介します。 ユーザー体験を最高にするチームとは? kintoneのフロントエンドリアーキテクチャのアプリケーション構成はMonorepoを採用し、チーム単位でオーナーシップを担うことを意識しています。開発者視点では分割されていますが、ユーザー視点では1つのkintoneアプリケーションであり、各チームが足並みを揃えてデザインの一貫性や品質を意識しながら開発を行う必要があります。そこで、各チームを横断してkintoneのユーザーにより良い体験を届けることを目標としたチームが「ユーザー体験を最高にするチーム」です。 ユー
こんにちは、モバイルチームの中村(@Kyomesuke)です。 モバイルチームでは、現在トレンドになっているユーザーインターフェースの実装方法を探求することを目的として、他社アプリのインターフェースやアニメーションを SwiftUI でトレース実装する会を開催しています。 本記事ではその成果の一つをご紹介いたします。 この勉強会について 「モバイルアプリのインターフェースをトレース実装する会(自称モイト会)」は1回あたり1時間不定期で開催している勉強会です。 モバイルチームはいくつかのプロダクトチームに分かれているのですが、その垣根を超えて有志のメンバー4,5人が参加しています。 トレース実装をするインターフェースについては、サイボウズの製品に活かせそうなものとしてカレンダーやカンバンのような複数データの制御を扱っていそうなアプリに着目して選定しています。 特にユーザーの操作に伴う動的な構
kintone フロントエンドリアーキテクチャプロジェクトリーダーの @koba04です。 昨年末から、kintone フロントエンドリアーキテクチャをプロジェクト(フロリア)として再構成してスタートさせました。フロリアという名前は社内での公募により決定しました。 今回はプロジェクトで目指していることについて紹介します。本プロジェクトの開始前に Cybozu Meetup で話したスライドや動画も公開されているのでよければ見てください。 speakerdeck.com www.youtube.com これまでの取り組みについては下記の記事にて紹介しています。 blog.cybozu.io 3 行まとめ フロリアのゴール 全てのページが React によって表示されている 現状 今後 フロントエンドが技術的にもチーム的にも分割されている モノリスな構成からの脱却 アーキテクチャとチーム(
初めに サイボウズ・ラボの光成です。 いきなりですがクイズです。次のうち正しい説明はどれでしょう。 SSHやFIDO2などの公開鍵認証はチャレンジを秘密鍵で暗号化し、公開鍵で復号して認証する。 ビットコインでは相手の公開鍵を用いてハッシュ値を暗号化して相手に送る。 TLS1.3ではサーバ公開鍵を用いてAESの秘密鍵を暗号化する。 答えはどれも間違いです。 公開鍵認証は、(デジタル)署名を使って相手先の正しさを検証するものであり、暗号化は行われません。 同様にビットコインもデータや相手の正当性を確認するために署名が用いられ、暗号化は行われません。 TLS 1.3ではRSA暗号の公開鍵を用いて暗号化する方式(static RSA)は廃止され、ECDH鍵共有された値を元に秘密鍵を生成し、AES-GCMなどの認証つき暗号で暗号化します。 公開鍵暗号とは いわゆる公開鍵暗号には大きく2種類の意味があ
こんにちは、Garoon 開発の杉山(@oogFranz)です。サイボウズは、インフィニットループ社のいがらし様のブログ記事「インフィニットループは PHP の継続的な発展を目指す The PHP Foundation に寄付をしました」に賛同し、The PHP Foundation に寄付を行うことにしました。来年度以降も継続的に寄付を行おうと考えています。 サイボウズと OSS 現在のソフトウェア開発において、OSS を利用せずに開発を進めることはまず不可能と言って良いでしょう。Garoon も例外ではなく、PHP をはじめとして多くの OSS を利用し開発を進めています。 サイボウズでは、 OSS を利用したおかげで事業が成長できたと考え、事業成長のフィードバックとして、OSS へ寄付しています。OSS への寄付は OSS 推進チームが中心となって行なっており、過去にもいくつかの O
これはCybozu Advent Calendar 2021の14日目の記事です。 こんにちは、モバイルチームの向井田 (@mr_mkeeda) です✌️ 2021年10月14日にサイボウズ Office のAndroid利用を目的とした「サイボウズ Office 新着通知 Android」をアップデートしました。 office-users.cybozu.co.jp 実はこのアップデートは、モバイルチームが1年間取り組んできたサイボウズ Office 新着通知 Androidのコードリプレイス完了を意味していました。 そこで今回は、新しくなったサイボウズ Office 新着通知 Androidのコードについて紹介していきます。 ※ 以後、「サイボウズ Office 新着通知 Android」は「Office Android」と呼称します。 この記事を読むにあたって 本記事はDroidKai
こんにちは、フロントエンドエキスパートチームのsakitoです。 本記事ではkintoneをマイクロサービス化するためのPoCプロジェクトにおけるWebフロントエンドの技術選定について紹介します。 プロジェクト背景 本記事で扱うプロジェクトは「kintoneマイクロサービス化Proof of concept(PoC)プロジェクト」です。 現在サイボウズの主力製品であるkintoneは大きなモノリシックなアーキテクチャになっています。 モノリシックなサービスに関わる人数が増えるに伴って、意思決定や開発速度の低下が課題となってきています。 モノリシックなアーキテクチャや組織によって起こる課題を、マイクロサービスとして切り離して小さくすることで解決ができるのではないかと考えました。マイクロサービス化にあたって、まずはPoCとして一部の機能をマイクロサービス化するプロジェクトを発足し、kinton
こんにちは、kintone.comのバックエンドエンジニアをしている@ueokandeです。 いきなりですが、メールって難しいですよね。 普段HTTPに慣れていると、メール周りのプロトコルの理解は難しく、トラブルにも見舞われることも少なくないです。 またメールプロトコルの性質上、メールを送った後にもトラブルは起こりがちです。 グローバル向けkintone.comはAWSで運用しており、メールの機能はAmazon Simple Email Service(SES)を利用しています。 この記事ではkintone.comのメール基盤の全貌と、Amazon SESを利用する上での運用プラクティスを紹介します。 kintone.comとメール kintone.comでは、ユーザーの招待やkintone上の更新を知らせるためにメールを利用し、メール送信は重要な機能の1つです。 kintone.comは
kintoneチームの川向です。 kintoneチームではCIツールとしてJenkinsを長い間使用してきましたが、 2021年の夏でCircleCIへの移行を完了しました。 今回はその時の様子を共有したいと思います。 2021年初めの状況 2021年初め頃のkintoneチームでは、メインのCIとしてJenkinsを使用し、CircleCIをサブとして併用していました。 リリース候補のブランチのCI(メインのCI)では、Jenkinsを使用して複数のジョブを用意し、 それをJoinプラグインで繋げていました。 このプラグインを使うことで、別々のジョブを同時実行することができます。 これをDelivery Pipelineプラグインで可視化していました。 また、メインのCIではE2Eのテストも自動で実行しています。 テストでは特別にセットアップした開発機材を使う必要があり、その排他制御のた
サイボウズ社内ではC++で開発している製品があります。 未知のバッファオーバーランなどの脆弱性への対策として、重要なコンポーネントについてはプロダクション環境で利用しているバイナリでも AddressSanitizer を有効にしてビルドしています。 その製品で利用しているコンパイラをgcc5.3.0からgcc7.5.0に更新したところ性能劣化が発生しました。 製品コードとは別の部分が原因のため、根本原因の追跡が難しそうです。perf,bpftraceを使って性能劣化を追いかけてみましょう。 本記事で利用しているAddressSanitizer, bpftrace, perfコマンドはネット上に良質な記事がありますので、使い方などの解説は今回は省略させていただきます。 gcc7.5.0において、性能劣化が発生する再現コードとして次のようなものを用意しました。 #include <strin
こんにちは!SREチーム兼Manekiチームのhsnとaoi1です。今回サイボウズでの障害対応研修の紹介をします。 背景 cybozu.comでは現在2つの運用基盤が存在しています。 Forest と呼ばれている旧インフラ基盤と、2019年に運用を開始した Kubernetes をベースにした Neco と呼ばれている新基盤です。 Forest 基盤で動いているサービスを Neco 基盤に移すと同時に、サービスの運用体制を見直す機会に直面しています。これを担当しているのが我々Manekiチームです。 Forest 基盤の仕組み上、ほとんどの障害対応は Forest 基盤を運用する SRE チームにしかできなかったため、製品開発チーム(以下:開発チーム)と運用チームが完全に分れていました。 しかしこのチーム体制はコミュニケーションに時間がかかる、製品開発チームが自分たちの開発物をコントロール
こんにちは、フロントエンドエキスパートチームの麦島(@mugi_uno)です! 2021年5月に新しくメンバーとして加わり、富山からフルリモートで働いています。 最近はチームメンバーに誕生日を祝ってもらって嬉しかったです🎉 さて、以前に "kintoneのフロントエンド刷新に向けた取り組み"*1 というエントリでもご紹介しましたが、現在サイボウズ社内では kintone で利用するフロントエンドの技術スタックを刷新する取り組みを進めています。 その一環として、 "Closure Tools DevTools" という Google Chrome 向け拡張機能を作成しました。 作成した DevTools は kintone に限らず利用することができるため、Chrome ウェブストアで公開しています。 chrome.google.com ソースコードも次のリポジトリでご確認いただけます。
こんにちは、Necoチームの鈴木、石井、そしてストレージチームのsatです。 サイボウズは毎年サマーインターンシップを開催しています。去年に続き、今年もCOVID-19の影響でフルリモート開催でした。 インターンには様々なコースがありますが、本記事ではその中で我々が取り組んだKubernetes基盤開発コースの模様をお届けいたします。ここでいう「Kubernetes基盤」とはKubernetesを用いたサイボウズの次期インフラ基盤Necoのことを指します。 cybozu.co.jp 今年のKubernetes基盤開発コースは8月23日~9月3日(10日間)の日程で開催、7人の学生が参加してくれました。 彼らには本コースが提供する以下3つのチームに分かれて課題に取り組んでもらいました。 コントローラチーム Kubernetesコントローラの実装方法を学び、サイボウズで開発しているKubern
こんにちは。テクニカルコミュニケーションチームの澤井です。 今回はInside Outとしては珍しく、働きながら、仕事に関する知識を大学院で学ぶという活動について紹介したいと思います。ちょっと長いですが、同じようなことを始めたいと思っている方の参考になれば嬉しいです。 ちなみに先日、LINEさんのTechnical Writing Meetupにて、同じテーマでお話をさせていただきました。下記から動画が視聴できますので、興味のある方はぜひご覧ください👀 www.youtube.com 大学院を始めるきっかけ 申し込みから開始まで 授業の内容、先生や生徒の雰囲気 授業の内容 民間のeラーニングと大学の講義の2本立て 大学の講義の形式 先生や生徒の雰囲気 先生 生徒 英語でやれるもの? 入学に必要なレベル 卒業に必要なレベル 落差をどう埋める? 個人的に面白かった授業3選 Project M
次のページ
このページを最初にブックマークしてみませんか?
『Cybozu Inside Out | サイボウズエンジニアのブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く