並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 260件

新着順 人気順

cybozuの検索結果41 - 80 件 / 260件

  • サイボウズが行うフロントエンドの品質保証 / Frontend Quality Assurance at Cybozu

    フロントエンドエキスパートを中心に開発支援チームによるサイボウズのフロントエンドの品質保証に対する活動を発表しました。 質問・感想など: https://twitter.com/shisama_ 発表したイベント: 【オンライン】SaaSを支える品質担保術/レガシーコード、アーキテクチャ、EOL@ラクス - connpass https://rakus.connpass.com/event/177676/

      サイボウズが行うフロントエンドの品質保証 / Frontend Quality Assurance at Cybozu
    • お手軽Kubernetesクラスタ作成ツール "kind"の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ

      こんにちは、Necoプロジェクトのsatです。今回はKubernetesクラスタお手軽に作れるkindというツールを紹介します。kindはKubernetes In Dockerの略です。 本記事の要約 kindとはKubernetesクラスタを簡単に作れるツール インストール、およびクラスタ作成がそれぞれたった1コマンドを実行するだけで完了 他の類似ツールには存在しないマルチノードクラスタ作成機能がある Kubernetesの公式プロジェクトかつ、Kubernetesそのもののテストにも用いられているため、実績や将来性は十分 修正履歴 2019/7/04: 「クラスタの設定を変更する方法」節のapiVersion: kubeadm.k8s.io/v1beta1をapiVersion: kubeadm.k8s.io/v1beta2に修正しました kindとは Kubernetesは複雑なソ

        お手軽Kubernetesクラスタ作成ツール "kind"の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ
      • Go 製ソフトウェアでメモリ使用量の多い関数を特定する - Cybozu Inside Out | サイボウズエンジニアのブログ

        みなさんこんにちは.SRE チームの内田(@uchan_nos)です. この記事では Go 製ソフトウェアのどの関数がどれだけメモリを消費しているかを調べる方法を説明します. Go 製ソフトウェアのヒープメモリの消費量を調べる方法はたくさん解説されているものの,スタックメモリの消費量について調べる方法を説明したサイトを見つけることはできませんでした. この記事では主にスタックメモリの消費量を調べる方法を説明します. 背景 SRE では Go 言語で自社データセンター向けのツール群をたくさん作っています. その中のソフトウェアの 1 つが,本番運用中に予想外にたくさんのメモリを使用してしまうという問題がありました. どの関数が原因なのかを突き止めるために,関数単位でメモリ使用量を調べる必要があります. ソフトウェアが使っているメモリ量の概況は,Linux であれば top コマンドで調べるこ

          Go 製ソフトウェアでメモリ使用量の多い関数を特定する - Cybozu Inside Out | サイボウズエンジニアのブログ
        • Cookie の SameSite 属性について - Cybozu Inside Out | サイボウズエンジニアのブログ

          こんにちは、フロントエンドエキスパートチームの小林(@koba04)です。 フロントエンドエキスパートチームでは、日々の業務としてブラウザやライブラリの更新情報をキャッチアップして社内で共有しています。 例えば先日、CSSのプロパティである image-orientation のデフォルト値が none から from-image に変わったため、画像の Exif 情報の扱いが変更されました。 https://www.fxsitecompat.dev/ja/docs/2020/jpeg-images-are-now-rotated-by-default-according-to-exif-data/ 注: Firefox では COVID-19 の影響により、この変更は延期されました。(Chrome は予定通り 81 で リリースしています) https://blog.chromium.o

            Cookie の SameSite 属性について - Cybozu Inside Out | サイボウズエンジニアのブログ
          • Playwright & Vite ではじめる脱レガシー向け軽量 Visual Regression Test - Cybozu Inside Out | サイボウズエンジニアのブログ

            こんにちは!フロントエンドエキスパートチームの @mugi_uno です。 みなさんは Visual Regression Test は普段活用していますか? 昨今では事例もよく耳にするようになった印象です。一度使って手放せなくなった方もいるのではないでしょうか。 今回の記事では、通常のプロダクト新規開発とは異なる “脱レガシー” の文脈で Playwright を用いた簡易的な Visual Regression Test を試してみたので、導入に至る経緯と、どのように実施しているかを紹介します。 フロントエンドリアーキテクチャとサイレントリリース 現在サイボウズでは kintone のフロントエンドリアーキテクチャプロジェクトと称して、Closure Tools から React への脱レガシー作業が進行中です。プロジェクトの詳細については @koba04 が書いた次の記事をご覧くださ

              Playwright & Vite ではじめる脱レガシー向け軽量 Visual Regression Test - Cybozu Inside Out | サイボウズエンジニアのブログ
            • GitHub Sponsorsを使って「企業」として寄付をした話 - Cybozu Inside Out | サイボウズエンジニアのブログ

              こんにちは。OSS推進チームの平野(@shisama_)です。 2020年12月にGitHub Sponsorsを利用して企業からOSSや個人へ寄付できるようになりました。 www.publickey1.jp この記事では企業からOSSや開発者へGitHub Sponsorsにて寄付する方法について紹介します。 社外のOSSや開発者を支援するモチベーション サイボウズでは日頃の業務でお世話になっているOSSへの寄付をしています。 tech.cybozu.io サイボウズのプロダクト開発には多くのOSSが利用されており、プロダクトの成長はOSSによって支えられています。そこで、そのOSSのおかげで事業が成長した分を還元していく「フィードバック」として寄付を行い、OSSが持続的に発展できるよう支援しています。 これまでOSSプロジェクトに対してOpen Collectiveなどのプラットフォー

                GitHub Sponsorsを使って「企業」として寄付をした話 - Cybozu Inside Out | サイボウズエンジニアのブログ
              • 自作SSDについてキオクシアの方に伺いました - Cybozu Inside Out | サイボウズエンジニアのブログ

                こんにちは。サイボウズ・ラボの内田( @uchan_nos )です。 SSD の自作という活動について、キオクシア株式会社の社員(元キオクシアを含む)にお話を伺う機会がありましたので、ご紹介します。 インタビューの様子は、電子の森ラジオ(電子工作とプログラミング系ポッドキャスト)にて配信しています。 エピソード 019 自作SSD 打ち合わせの様子 普段の収録と異なり、今回は企業からオフィシャルな立場で収録に来てくださるということで、事前に打ち合わせを行いました。 収録に向けた打ち合わせの様子 弊社の東京オフィスにある会議室での打ち合わせの様子です。 写真の左から順に、内田(サイボウズ・ラボ)、日下様(キオクシア)、米澤様(キオクシア)です。 事前の打ち合わせでは、主にどのような話をするかと、出してはいけない話題について確認しました。 企業の看板を背負って出演することの責任をひしひしと感じ

                  自作SSDについてキオクシアの方に伺いました - Cybozu Inside Out | サイボウズエンジニアのブログ
                • フロントエンド刷新プロジェクトを成功に導くためのテスト手法の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ

                  こんにちは、フロリアでQAエンジニアをやっている中園です。 現在サイボウズではkintoneのフロントエンドリアーキテクチャプロジェクト(フロリア)と称して、Closure Tools から React へと置き換えるプロジェクトが進行中です。 今回は、フロリアのチームの1つであるMiraチームのテスト手法について紹介します。 フロリアの詳細については次の記事をご覧ください。 フロリアについて フロリアでは、次のような構成でそれぞれのチームがオーナーシップを持って活動しており、テストの方針はチームごとに決めています。 プロダクトオーナー: 1名 エンジニア: 3-4名 QA: 1名 スクラムマスター: 1名 フロリアのチーム構成 チームのミッションに合わせたテストの目的 Miraチームでは、kintoneのデザインやふるまいを変えずに、利用者に気づかれない形でReactに置き換えるというミ

                    フロントエンド刷新プロジェクトを成功に導くためのテスト手法の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ
                  • フロントエンドの開発体験向上と脱レガシー - Cybozu Inside Out | サイボウズエンジニアのブログ

                    こんにちは。フロントエンドエキスパートチームの@nakajmgです。 私が所属しているフロントエンドエキスパートチームは、プロダクトのフロントエンドを横断的に支援するチームです。今回はフロントエンドエキスパートチームが行っている、プロダクトへの支援活動について紹介します。 フロントエンドエキスパートチームがどういったチームかに関しては、次の記事をご覧ください。 サイボウズのフロントエンドエキスパートチームの紹介 フロントエンドエキスパートチームの活動 サイボウズは主力プロダクトとしてGaroonとkintoneを提供しています。この 2 つのプロダクトはそれぞれ提供開始の時期が 2002 年と 2011 年となっており、浅くない歴史を持っています。 サイボウズの Web フロントエンドは、フロントエンド専任ではないエンジニアがバックエンドと合わせて担当しています。そうした背景もあり、フロン

                      フロントエンドの開発体験向上と脱レガシー - Cybozu Inside Out | サイボウズエンジニアのブログ
                    • インフラのリリース自動化戦略とその行き着く先 - Cybozu Inside Out | サイボウズエンジニアのブログ

                      こんにちは、@ueokandeです。 本番リリースってドキドキしますよね。 本日はkintone.comのリリース自動化と、その戦略についてお話します。 kintone.comのCI/CDパイプライン kintone.comのインフラ構成はモノレポで管理しており、AWSの構成や、Kubernetes上にデプロイするサービスなどが1つのレポジトリに存在します。 現在のkintone.comは、開発環境、ステージング環境、本番環境の3つがあります。 適用タイミングをずらすことによる環境間の乖離を防ぐため、各リリースはすべての環境に適用することとしました。 開発環境でしばらく寝かせたい変更は、機能フラグやカナリアによって切り替えます。 CI/CDパイプラインは以下のようになっています。 それぞれの環境に順に適用し、本番環境適用後にテストが通れば無事リリース完了です。 kintone.comのCI

                        インフラのリリース自動化戦略とその行き着く先 - Cybozu Inside Out | サイボウズエンジニアのブログ
                      • 生産性向上チームの紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ

                        こんにちは、生産性向上チームです。今回は、私たち「生産性向上チーム」について紹介いたします。 生産性向上チームとは サイボウズの技術領域と生産性向上チームの立ち位置 生産性向上チームは主に、次のような業務を行っています。 チームを横断した開発効率を高める基盤の整備 開発チームの業務の自動化や効率化の支援 最新の生産性向上に関わる技術のキャッチアップ、探求 などなど、一言でいうと「サイボウズのエンジニアがつらいと思っている部分を最高にしていく」ために活動しているチームです! メンバー 生産性向上チームメンバーで記念撮影 生産性向上チームのメンバー数は現在5名です。そのうち3名は他のチームと兼務しており、そのつながりを活かして業務に取り組んでいます。 各メンバーについて、簡単に紹介いたします。 宮田 Twitter: @miyajan 出身:東京 得意なこと、好きなこと CI/CD とか自動化

                          生産性向上チームの紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ
                        • 結合テストの自動化にQAはどうかかわっていったか - Cybozu Inside Out | サイボウズエンジニアのブログ

                          こんにちは、サイボウズの永田です。 私は、サイボウズの開発本部、アジャイル・クオリティで、アジャイルの品質を探求する活動をしています。 この記事では、2023年3月9日、JaSST Tokyo 2023のテクノロジーセッションで発表させていただいた内容を、より解説を入れながら紹介します。 結合テストの自動化にQAはどうかかわっていったか 今回取り上げる事例では、kintoneのフロントエンド刷新プロジェクト(フロリア)で結合テストの自動化を決定した際に、QAメンバーがどのように関与し、困難に直面しながらも、信頼性の高いテストコードを作成するに至るまでの過程をご紹介します。 フロリアについては次のブログをご覧ください。 blog.cybozu.io テストのポリシー ~このミッションにおけるQAのチャレンジ~ フロリア内で新しく3つのチームが立ち上がった際、各チームのテスト戦略の中心を、自動

                            結合テストの自動化にQAはどうかかわっていったか - Cybozu Inside Out | サイボウズエンジニアのブログ
                          • MOCO - Kubernetes 用 MySQL クラスタ運用ソフトウェア - Cybozu Inside Out | サイボウズエンジニアのブログ

                            サイボウズの Kubernetes 基盤を開発している Neco プロジェクトの ymmt です。 サイボウズ製品のほとんどはデータベースとして MySQL を採用しています。 現在 400 を越える MySQL のインスタンスを運用しており、これら全てを新しい Kubernetes 基盤に移行していく予定です。 Kubernetes 上でアプリケーションやミドルウェアの運用を自動化するソフトウェアのことをオペレーターと言います。 大量の MySQL インスタンスを Kubernetes 基盤に移行するにはオペレーターが必須であると考え、技術顧問の @yoku0825 さんの監修の下で MOCO というソフトウェアを開発しオープンソースライセンスで公開しました。 本記事では Kubernetes 上の MySQL オペレーターの状況と、開発した MOCO の機能を詳細に解説いたします。 M

                              MOCO - Kubernetes 用 MySQL クラスタ運用ソフトウェア - Cybozu Inside Out | サイボウズエンジニアのブログ
                            • OSSへの寄付のススメ ~ サイボウズのOSSへの寄付戦略 - Cybozu Inside Out | サイボウズエンジニアのブログ

                              はじめに こんにちは、OSS推進チームのsatです。本記事はサイボウズが5年間取り組んできたOSSへの寄付をする取り組みについて紹介します。具体的には寄付をする理由、どのようなポリシーで寄付額や各プロジェクトへの寄付額の配分をするのかについて共有します。 なぜ寄付をするのか サイボウズでは様々なOSSを利用していることもあり、以前お伝えしたようにオープンソースソフトウェアポリシーというものを定めています。 blog.cybozu.io cybozu-oss-policy.readthedocs.io この文書の中で、次のような記述があります。 本規程の第二の目的は、当社がオープンソースコミュニティにおける良き一員であるために必要な規定を定めることである。 この「良き一員」となるためにOSSに貢献するには様々な方法があります。直接的にはバグ報告、修正、機能追加、ドキュメント追加などによって人

                                OSSへの寄付のススメ ~ サイボウズのOSSへの寄付戦略 - Cybozu Inside Out | サイボウズエンジニアのブログ
                              • 大規模Kubernetesクラスタにおけるコンテナレジストリの高速化 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                こんにちは。サマーインターンシップ2023のKubernetes基盤開発コースに参加した、高橋 (TAK848) と花田 (hanapedia) です。 Necoチーム では現在コンテナレジストリの可用性を高めるため、コンテナレジストリミラーをクラスタ内にデプロイしています。 しかし、クラスタが数百台程度まで大きくなり、レジストリミラーからコンテナイメージを同時に大量にPullするようになりました。 そのため、イメージの取得に数十分もの時間がかかってしまう問題が起きました。 この問題に対処するため、Spegel というステートレスなレジストリミラーの動作検証を行い、PodのイメージのPullのタイミングを制御するカスタムコントローラー cat-gate を開発・検証しました。 その成果を紹介します。 課題 KubernetesではPodを起動する際、コンテナイメージを取得する必要があります

                                  大規模Kubernetesクラスタにおけるコンテナレジストリの高速化 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                • スクラムチームで実践しているソロプロとモブプロを両立したスウォーミングの紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                  みなさんこんにちは。kintone フロントエンドリアーキテクチャプロジェクト(フロリア)で、エンジニア兼スクラムマスターとして活動している村田(@kuroppe1819)です。 現在、フロリアには兼務も含めて約 30 人のメンバーが参加しています。フロリアは小さな 4 つのクロスファンクショナルチーム体制で、それぞれが独立したスクラムチームとして活動しています。 今回はその中のひとつのチームである、サイレントリリースを部分的に試みているチーム(Mira チーム)で取り組んだ、ソロプログラミング(以下、ソロプロ)とモブプログラミング(以下、モブプロ)を両立したスウォーミングの実践事例を紹介します。 スウォーミングとは? まずはスウォーミングという言葉について説明します。 Swarming を直訳すると「群れる」です。ソフトウェア開発の文脈では 1 つの問題やタスクを皆で群がって解決するとい

                                    スクラムチームで実践しているソロプロとモブプロを両立したスウォーミングの紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                  • 最速でフロントエンドを刷新するための開発フロー - Cybozu Inside Out | サイボウズエンジニアのブログ

                                    こんにちは、フロリアでQAエンジニアをやっている中園です。 現在サイボウズでは kintone のフロントエンドリアーキテクチャプロジェクト(フロリア)と称して、Closure Tools から React へと置き換えるプロジェクトが進行中です。 フロリアの詳細については 次の記事をご覧ください。 今回は、フロリアのチームの一つで、利用者に気づかれない形で React への置き換えを行っている Mira チーム1の開発・テストフローの紹介をします。 "最速で" React に置き換えたい Mira チームはただ React に置き換えるのではなく「最速で React に置き換える」という目標があります。 フロリアの各チームはそれぞれのチームごとにオーナーシップを持っており、チームごとに意思決定を行っています。Mira チームでは「最速で置き換える」という目標に向かって、開発スピードを向上

                                      最速でフロントエンドを刷新するための開発フロー - Cybozu Inside Out | サイボウズエンジニアのブログ
                                    • Argo CDによる継続的デリバリーのベストプラクティスとその実装 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                      こんにちは。Necoの池添(@zoetro)です。 現在San Diegoで開催されているKubeCon 2019に参加しているのですが、時差ボケで寝付けないのでこんなブログを書いています。 さて、現在我々はKubernetes上のアプリケーションの継続的デリバリーを実現するためにArgo CDというツールを利用しています。 github.com 本記事ではArgo CDについて簡単に解説した後、継続的デリバリーのベストプラクティスと具体的な実践例を紹介したいと思います。 Argo CD とは Kubernetes向けの継続的デリバリーツールとしては、Spinnakerや Jenkins Xなどが有名です。 これらのツールは継続的デリバリーのパイプラインを統合的に管理・実行するためのツールになっています。 一方のArgo CDは、パイプライン全体を管理するのではなくパイプラインの中の1つの

                                        Argo CDによる継続的デリバリーのベストプラクティスとその実装 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                      • CircleCIで勝手に強くなる静的解析の作り方 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                        こんにちは。Garoonチームの杉山(@oogFranz)です。 以前 #PHPerKaigi 2020 にて、「静的解析の育て方」というタイトルで発表いたしました。この発表ではレガシープロダクトにおいて静的解析が有効であることと、「育てる」という比喩表現で静的解析のルールを強くしていく戦略についてお話ししました。 発表後のAsk the Speakerでは様々な方から講演へのフィードバックをいただき、特に既存のプロダクトに静的解析の導入・運用する大変さやその改善方法に関して議論を深めることができました。議論に参加いただいた皆様大変ありがとうございました。 議論の中でルールを自動的に強くしていく方法のヒントをいただきました。そのヒントを元にCircleCIで勝手に強くなる静的解析が実現ができたので紹介したいと思います。 勝手に育つ静的解析の作り方 通常、レガシープロダクトにおいて静的解析を

                                          CircleCIで勝手に強くなる静的解析の作り方 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                        • 安全な証明書自動更新のやり方 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                          cybozu.com Cloud Platformチームのhsnとtomoです。今回はサイボウズで証明書更新の自動化を安全に行うための工夫をご紹介します。 背景 サイボウズではcybozu.comのサービスを提供するために数多くの証明書を取得し、管理しています。 今まではそれらをすべて手動で取得し、入れ替えを行っていました。 しかし、元来の運用ではいくつかの問題が浮上してきました。 手動更新の際は認証局によって更新手順が異なります。 具体的にはドメインの所有確認(DCV: Domain Control Validation)と証明書のダウンロード手順を、それぞれの認証局が独自に提供しています。 そのため、ドメインの更新手順書は複雑に長くなってしまいます。結果として更新の準備に時間がかかり、実施の際にミスも発生しやすくなっていました。 サイボウズでは証明書の有効期限が切れる1か月前に管理用の

                                            安全な証明書自動更新のやり方 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                          • kintoneのフロントエンド刷新に向けた取り組み - Cybozu Inside Out | サイボウズエンジニアのブログ

                                            こんにちは。kintone開発チーム Webエンジニアの村田です。 本記事では kintone のフロントエンドの刷新をはじめるに至った経緯と、その取り組みについて紹介します。 はじめに なぜフロントエンドを刷新するのか 小さくはじめる Proof of Concept リリース戦略を考える 移行前と移行後の技術スタック 既存資産の再利用 Closure Library製の複雑なコンポーネントを再利用する E2Eテストを再利用する スタイルを再利用しない 開発体制 フロントエンドエキスパートチームの支援 アクセシビリティチームの支援 生産性向上チームの支援 これからの活動 おわりに はじめに 現在 kintone 開発チームでは、フロントエンドの開発に使用している Closure Tools (Closure Compiler、Closure Library、Closure Templat

                                              kintoneのフロントエンド刷新に向けた取り組み - Cybozu Inside Out | サイボウズエンジニアのブログ
                                            • TypeScript による Isomorphic な API Client 開発 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                              こんにちは、フロントエンドエキスパートチームの @koba04 です。 本記事では、kintone の REST API を使うためのクライアントである @kintone/rest-api-client (以下 rest-api-client) の構成や工夫した点について紹介します。 本記事は rest-api-client の 1.6.0 のバージョンに基づいています。 @kintone/rest-api-client とは rest-api-client とは、kintone が提供する REST API を利用するためのクライアントライブラリです。 GitHub 上は kintone/js-sdk の Monorepo の 1 パッケージとして開発されています。 kintone/js-sdk での Monorepo 開発については下記の記事を参照してください。 https://blo

                                                TypeScript による Isomorphic な API Client 開発 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                              • Kubernetesへの機能追加にかかわった話と、そこから得た知見 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                はじめに こんにちは、Necoプロジェクトのsatと申します。 みなさんはKubernetesに機能が追加されるまでの流れをご存知でしょうか。githubに存在するプロジェクトであれば典型的にはfeature request用のissueが立てられて、それをもとにPRが作られてレビューを経たのちにマージという流れです。しかしKubernetesはたくさんのプロジェクトから構成される非常に複雑なシステムなので、このような単純なやりかたが難しいのです。KubernetesではそのかわりにKubernetes Enhancement Proposal(以下KEPと表記)というしくみを使って新機能を開発するというスタイルをとっています。 本記事はKEPについて簡単に説明した後に、Kubernetesの機能開発が進んでいく具体的な流れについて、NecoプロジェクトがレビューにかかわったKEPを通して

                                                  Kubernetesへの機能追加にかかわった話と、そこから得た知見 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                • LernaとYarn WorkspacesでMonorepo管理 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                  こんにちは、フロントエンドエキスパートチームの小林(@koba04)です。 本記事では、Lerna と Yarn Workspaces を使った Monorepo 管理について解説します。 Monorepoとは 本記事では、単一のリポジトリで複数のモジュールやパッケージ(今回の場合は npm パッケージ)を管理する手法を Monorepo と呼んでいます。 有名なところだと、Babel や Jest、Create React App などが後述する Lerna を使い複数パッケージを単一のリポジトリで管理しています。 他にも React も Lerna は使っていませんが単一リポジトリで複数パッケージを管理しています。 また、上記のようなライブラリ以外にも企業で利用している npm パッケージを Monorepo として管理している例もあります。下記は Shopify の例です。 pack

                                                    LernaとYarn WorkspacesでMonorepo管理 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                  • インタビュー:MySQLエキスパートのyoku0825さんに聞いてみた - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                    こんにちは。コネクト支援チームの風穴(かざあな)です。 この度サイボウズでは、GMOメディア株式会社とコンサルティング業務委託契約を締結させていただき、MySQLエキスパートのyoku0825さんに、いろいろと相談に乗って頂けることになりました。 MySQLについて検索したことがあるエンジニアなら、yoku0825さんのブログ「日々の覚書」のお世話になったことがない人はいないでしょう。それぐらいポピュラーなブログで、日本語で読めるMySQLの技術情報を長年発信し続けているのがyoku0825さんです。 yoku0825さん ということで、Garoonプログラマの杉山くんと一緒に、yoku0825さんにお話を伺ってみました。 yoku0825さんのお仕事 ──(風穴):普段、どんなお仕事をされてるのですか? yoku0825さん(以下、敬称略):GMOメディアという、BtoC向けのWebサー

                                                      インタビュー:MySQLエキスパートのyoku0825さんに聞いてみた - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                    • サイボウズのフロントエンドエキスパートチームの紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                      こんにちは、フロントエンドエキスパートチームです。 今回は私たちフロントエンドエキスパートチームの紹介をします。 フロントエンドエキスパートチームとは サイボウズの技術領域とフロントエンドエキスパートチームの立ち位置 まずサイボウズのWebフロントエンドについて触れておくと、以下の特徴を持っています。 プロダクトにとって、Webフロントエンドが非常に重要 B2Bのプロダクトを開発しているので、WebおよびPCでのユーザー利用率が高い JavaScriptで製品をカスタマイズするためのAPIやSDKを提供している 継続的な開発が必要で、Webフロントエンドの変化に追従していく必要がある 大規模なWebアプリケーションが多く、プロダクトライフサイクルが非常に長い プロダクトチームにWebフロントエンドがいるわけではない プロダクトチームのエンジニアがWebフロントエンドからバックエンドまで一貫

                                                        サイボウズのフロントエンドエキスパートチームの紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                      • 富岳版XbyakがIntelの深層学習ライブラリoneDNNにmergeされる - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                        初めに サイボウズ・ラボの光成です。 このたび、Intelの公式深層学習ライブラリoneDNNに、富士通が開発しているスーパーコンピュータ富岳向けのPull Requestがmergeされました。 その開発に関わることになった経緯を紹介します。 目次 概要 Xbyakとは 動機 Intelとの関わり 富士通との関わり 概要 富士通研究所はスーパーコンピュータ富岳で深層学習(ディープラーニング)を高速に処理するためのソフトウェアを開発してます。 そのためにIntelが開発している深層学習ライブラリoneDNNを富岳に移植して改良しています。 このたび、その成果の一部が本家のoneDNNに取り込まれました。 富岳はA64FXというArm v8-Aにベクトル演算機能SVEが追加されたCPUを持ちます。 oneDNNを富岳に移植するには、私が開発しているXbyakのA64FX用Xbyak_aarc

                                                          富岳版XbyakがIntelの深層学習ライブラリoneDNNにmergeされる - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                        • 世の中は〇と△と□でできている~テクニカルライターのためのイラストテクニック~ / cybozu illust technique

                                                          イラストは、テキストだけでは伝わりにくいものを、視覚的にわかりやすくてくれる、とても効果的な手法です。ただどうしても、イラストを描くことはハードルが高く感じてしまいがちです。でも大丈夫!世の中のものはだいたい○と△と□でできているのです。本セッションでは、テクニカルライター向けに簡単にイラストを描けるテクニックをご紹介します。

                                                            世の中は〇と△と□でできている~テクニカルライターのためのイラストテクニック~ / cybozu illust technique
                                                          • サイボウズ、本気で採用活動するってよ|Cybozu Developers

                                                            こんにちは、サイボウズ開発本部長の佐藤 鉄平 (@teppeis) です。 勉強会などで社外のエンジニアと話していると、 「サイボウズって採用してたんですか?」 みたいに言われてしまうことがありました。 こりゃいかん、もっと積極的に活動してかないとなー、ということで、今年から開発本部内にも採用チームを設立し、この note を立ち上げて情報発信していくことにしました。 最初の投稿である今回は、サイボウズはなぜ採用したいのか?についてお伝えします。 サイボウズってどうなのよ?サイボウズは「チームワークあふれる社会を創る」という企業理念の元に、情報共有を支援する企業向けの SaaS を提供しています。主要4製品 (kintone, Garoon, Office, Mailwise) はいずれも堅調に成長し、日経コンピュータの顧客満足度調査では2年連続1位を獲得、SaaS の重要 KPI である

                                                              サイボウズ、本気で採用活動するってよ|Cybozu Developers
                                                            • @cybozu/eslint-configから学ぶ、全社共通ESLint configの運用

                                                              The lightning talk for フロントエンドカンファレンス福岡スピンオフ テーマ: ESLint https://fec-fukuoka.connpass.com/event/201334/

                                                                @cybozu/eslint-configから学ぶ、全社共通ESLint configの運用
                                                              • bpftraceを使ってバイナリの謎の性能劣化を突き止めろ - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                サイボウズ社内ではC++で開発している製品があります。 未知のバッファオーバーランなどの脆弱性への対策として、重要なコンポーネントについてはプロダクション環境で利用しているバイナリでも AddressSanitizer を有効にしてビルドしています。 その製品で利用しているコンパイラをgcc5.3.0からgcc7.5.0に更新したところ性能劣化が発生しました。 製品コードとは別の部分が原因のため、根本原因の追跡が難しそうです。perf,bpftraceを使って性能劣化を追いかけてみましょう。 本記事で利用しているAddressSanitizer, bpftrace, perfコマンドはネット上に良質な記事がありますので、使い方などの解説は今回は省略させていただきます。 gcc7.5.0において、性能劣化が発生する再現コードとして次のようなものを用意しました。 #include <strin

                                                                  bpftraceを使ってバイナリの謎の性能劣化を突き止めろ - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                • Storybook をフル活用してテストを実装した話 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                  サムネイル こんにちは、フロリアでエンジニアとして活動している irico です。 現在 kintone ではフロリアというプロジェクトの中で、Closure Tools から React への移行作業に取り組んでいます。 今回は、そのフロリアのチームの 1 つである Reactone チーム が採用した「Storybook をフル活用したテスト手法」についてお話します。 Storybook によるテストアプローチ Storybook の v6.4 から play 関数が導入され、v6.5 から Interaction tests が可能になりました。 これによって Story 上でテストを実行するだけでなく、実行したテストの動作確認がブラウザ上で可能になりました。 今までは Jest や Vitest 上で Testing Library を利用する際、DOM 操作の視覚的な確認が難しく

                                                                    Storybook をフル活用してテストを実装した話 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                  • 30人が参加するプロジェクトで桁違いのパフォーマンスを発揮するためのチームデザイン - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                    こんにちは。シニアスクラムマスター(初めて名乗った!)の天野 @ama_ch です。開発本部に所属するアジャイルコーチとして、組織内を横断的に支援しています。最近は、 kintone フロントエンドリアーキテクチャ(フロリア)プロジェクトの支援に注力しています。 フロリアプロジェクトの概要はこちらの記事をご覧ください。 blog.cybozu.io 現在、フロリアには約30人のメンバーが参加して日々活動しています。チームの規模が大きくなると、コミュニケーションが難しくなり、効果的なチームワークを発揮するのがどんどん難しくなっていきます。フロリアでは、昨年後半頃からだいぶチームの規模が膨らんできたため、今年からチームを再編し4チーム体制に切り替えました。 今回は、フロリアが数十人規模でもチームワークを発揮するために、チームの設計や運用で意識しているポイントを紹介します。 目指している状態 最

                                                                      30人が参加するプロジェクトで桁違いのパフォーマンスを発揮するためのチームデザイン - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                    • 2020年、サイボウズのアクセシビリティを振り返る - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                      こんにちは。開発本部 デザイン&リサーチ アクセシビリティチームの SUGI(@blindsoup2p1)です。 私は今年の4月に新卒で入社した全盲のスクリーンリーダーユーザーで、アクセシビリティ・エンジニアとして活動しています。 サイボウズでは今年、正式にアクセシビリティチームが発足し、グループウェアのアクセシビリティ向上や社内への啓発を進めてきました! この記事では、今年1年アクセシビリティチームが取り組んできた過程と成果をまとめ、来年の展望を示します。 と共に、エクストリームユーザーである私がアクセシビリティ向上にどうかかわっていったのかを合わせて紹介します。 ※アクセシビリティとは、能力・環境・状況にかかわらず、誰もがサービスやコンテンツを利用できること、またはその度合いのことです。 よくアクセシビリティは障害者・高齢者対応という誤解を受けますが、能力・環境・状況(の制約)は障害者

                                                                        2020年、サイボウズのアクセシビリティを振り返る - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                      • kintoneのアクセシビリティ改善とESLintルールの整備 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                        こんにちは。Poca11y(ポカリ)チームのSUGI(@blindsoup2p1)と小林(@sukoyakarizumu)です。 わたしたちPoca11yチームは「kintone」のアクセシビリティ改善活動に参加しています。この記事ではkintoneのアクセシビリティを改善するチーム体制について解説します。さらにPoca11yチームとkintone開発チームが協力して整備したアクセシビリティを強化するためのESLintルールについても解説します。 Poca11y(アクセシビリティ)チームとkintoneのアクセシビリティ改善 Poca11yチームとは Poca11yチームはサイボウズ全体の「アクセシビリティ」向上を目的としたチームです。Poca11yチームでは主に以下3種類の活動を行なっています。 社内啓発:アクセシビリティの社内研修・勉強会・ガイドライン作成などを行います。 製品改善:サ

                                                                          kintoneのアクセシビリティ改善とESLintルールの整備 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                        • データセンター仮想化ツール Placemat v2の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                          こんにちは、Necoチームの鈴木です。 Necoチームでは仮想データセンター構築ツールPlacematを使って、データセンターを丸ごと仮想化し、その上でサーバーのプロビジョニングやKubernetesクラスタ構築、Kubernetes上で動作するアプリケーションのTest Suitesを実行しています。 Placematはプロジェクト初期に開発されたツールで、古いツールに依存していたり、実装方式や設計が洗練されていないなどの課題があっため、4ヶ月前からv2を開発開始し、先日リリースしました。 本記事ではその機能と使い方、今後のCI改善 Placemat on Kubernetesについて紹介します。 特徴 シンプルな構成 YAMLの設定ファイルで多彩なデータセンター環境を再現可能 多彩なVM設定 仮想BMC シンプルな構成 Placematはシングルバイナリで構成されています。 使い方もシ

                                                                            データセンター仮想化ツール Placemat v2の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                          • Aurora MySQL 5.6のサポート終了とゼロダウンタイムアップグレードへの挑戦 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                            こんにちは、グローバル向けAWS版kintoneのバックエンドエンジニアをしている@ueokandeです。 8月になって暑い日々が続きますね。そして8月と言えば、Amazon Aurora MySQL-Compatible Edition version 1 with MySQL 5.6 compatibility(以下Aurora MySQL 5.6)のサポート終了までおよそ半年となりました。 グローバル向けAWS版kintoneでは、Aurora MySQL 5.6を採用しているバックエンドサービスがいくつかあり、チームで移行作業に取り組んできました。この移行作業は単なるアップグレードだけではなく、ダウンタイムなしでデータベースを移行するチャレンジにも取り組みました。この記事ではAmazon Auroraの移行作業の全貌と、移行戦略を紹介します。 Aurora MySQL 5.6のサポ

                                                                              Aurora MySQL 5.6のサポート終了とゼロダウンタイムアップグレードへの挑戦 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                            • サイボウズOfficeのフロントエンド刷新(DOGOプロジェクト) をやってます! - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                              DOGOプロジェクトのマスコット こんにちは。サイボウズOffice開発チームの西谷です。 昨年より、私たちは”DOGO”と銘打ち、サイボウズOfficeのフロントエンド部分をNext.js App Routerを用いて刷新しています。 本ブログではこの刷新プロジェクトの概要やこれまでの取り組みについてご紹介します。 プロジェクト発足の背景 刷新の方針 刷新後のサイボウズOfficeを支える技術 アプリケーションフレームワーク モニタリング テスト インフラ CI・CD これまでの取り組み Next.js側で画面のルーティングを制御する リリースパイプラインの構築 全画面共通部分の実装 今後の取り組み メンバー募集しています! プロジェクト発足の背景 サイボウズOfficeはこれまで、パッケージソフトウェアとしていくつものバージョンを重ね、クラウドサービスへ転身し、時代に合わせて様々な形に

                                                                                サイボウズOfficeのフロントエンド刷新(DOGOプロジェクト) をやってます! - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                              • typescript-generatorを利用して、HTML に埋め込んだ JSON データをフロントエンドで型安全に扱う - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                                こんにちは!kintone フロントエンドリアーキテクチャチーム (フロリア) の西川 @nissy_dev です。 最近のフロントエンド開発で導入されることの多い TypeScript ですが、開発期間の長いプロジェクトに導入する際にはバックエンドとの結合部分の型定義をどう扱うかが問題になる場合があると思います。 今回の記事では、フロリアで取り組み始めた、HTML に埋め込んだ JSON データをフロントエンドで型安全に扱う施策について紹介します。 フロリアのプロジェクトの詳細については、 @koba04 が書いた次の記事をご覧ください。 blog.cybozu.io 目次 フロリアでのバックエンドからのデータ取得 HTML に JSON データを埋め込む方法の問題点 Java のクラスから TypeScript の型定義を生成できる typescript-generator types

                                                                                  typescript-generatorを利用して、HTML に埋め込んだ JSON データをフロントエンドで型安全に扱う - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                                • サイボウズサマーインターン2021 報告 〜 Kubernetes基盤開発コース - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                                  こんにちは、Necoチームの鈴木、石井、そしてストレージチームのsatです。 サイボウズは毎年サマーインターンシップを開催しています。去年に続き、今年もCOVID-19の影響でフルリモート開催でした。 インターンには様々なコースがありますが、本記事ではその中で我々が取り組んだKubernetes基盤開発コースの模様をお届けいたします。ここでいう「Kubernetes基盤」とはKubernetesを用いたサイボウズの次期インフラ基盤Necoのことを指します。 cybozu.co.jp 今年のKubernetes基盤開発コースは8月23日~9月3日(10日間)の日程で開催、7人の学生が参加してくれました。 彼らには本コースが提供する以下3つのチームに分かれて課題に取り組んでもらいました。 コントローラチーム Kubernetesコントローラの実装方法を学び、サイボウズで開発しているKubern

                                                                                    サイボウズサマーインターン2021 報告 〜 Kubernetes基盤開発コース - Cybozu Inside Out | サイボウズエンジニアのブログ