並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 168件

新着順 人気順

cybozuの検索結果1 - 40 件 / 168件

  • サイボウズ、「DX人材育成ガイドライン」を無料公開

    サイボウズ、「DX人材育成ガイドライン」を無料公開ノーコードツールを活用したDX人材育成方法を、大企業の実例とともに紹介 サイボウズ株式会社(本社:東京都中央区、代表取締役社長:青野慶久、以下サイボウズ)は、企業のDX責任者・推進者を対象に、企業のDX(デジタル・トランスフォーメーション)人材の育成のためのガイドライン「DX人材育成ガイドライン―ノーコード活用の先進事例―」をエン・ジャパン株式会社(本社:東京都新宿区、代表取締役社長:鈴木孝二、以下エン・ジャパン)と共同で執筆し、無料で公開しました。本ガイドラインは、ITの専門知識がなくてもDX推進の実現を可能にする、ノーコードツールを活用したDX人材育成手法、DX推進事例などを、 京セラ株式会社、日清食品ホールディングス株式会社、日本航空株式会社、星野リゾートなどの企業事例とともに紹介しています。 「DX人材育成ガイドライン―ノーコード活

      サイボウズ、「DX人材育成ガイドライン」を無料公開
    • 私のJavaScriptの情報収集法 2024年版

      個人的なJavaScriptの情報収集の方法についてまとめてみます。 JSer.infoなどをやっているので、JavaScriptの情報については色々な情報源を見るようにしています。 JSer.infoの範囲の中での情報源については、次の記事でまとめています。 JSer.info 13周年: JavaScriptの情報源を整理する - JSer.info この記事では、少しスコープを広げてJavaScriptの情報収集についてまとめてみます。 かなりスコープが広がってしまうので、万人向けの方法ではなく、個人的な情報収集方法としてまとめています。 この記事では、膨大な情報の中から見つけるというアプローチをとっているので、人によって向き不向きがあると思います。 情報収集の方法 情報の元となる情報源はさまざまなサイトや人になると思います。 しかし、そのサイトや人ごとに見ていくというのはかなり大変

        私のJavaScriptの情報収集法 2024年版
      • メンテのいらないソフトウェア - 誰かの役に立てばいいブログ

        ソフトウェアエンジニアとして働き始めて 20 年以上になります。 元々ソフトウェアでいろいろ作りたくて就いた職業なので、結構な数のプロダクトを開発してきました。 私がメインで開発したもので OSS として出ているものでは、 yrmcds: memcached クローンで、レプリケーション機能などを持つ usocksd: SOCKS4/5 サーバー & ライブラリ transocks: アプリのネットワーク通信を透過的に SOCKS サーバーにプロキシする透過プロキシ coil v2: Kubernetes の CNI ネットワークドライバ moco: MySQL を自動運用する Kubernetes オペレーター accurate: Kubernetes 上で namespace ベースのソフトマルチテナンシーを実現するためのソフトウェア などがあります。これらのソフトウェアの多くは、現役

          メンテのいらないソフトウェア - 誰かの役に立てばいいブログ
        • 開発チーム作成ガイドを公開します - Cybozu Inside Out | サイボウズエンジニアのブログ

          こんにちは。シニアスクラムマスターの天野 @ama_ch です。 サイボウズの開発組織において、今後の成長を加速させるためには、組織の基本単位をスクラムチームのような自律的な小さなチームにしてスケールさせることが非常に大切だと考えています。サイボウズは比較的スクラムが普及している組織ではありますが、組織内のすべてのチームがスクラムを採用しているわけではありません。 フレームワークとしてスクラムを採用するかどうかはチームの自由です。しかし、健全なチーム環境を整えることはすべてのチームにとって重要です。チームやチームワークに関する情報は巷に多く存在しますが、我々のようにすでにある程度の規模で活動しているプロダクト開発組織で、チーム環境を整えるために実践的に使える情報がないことが悩みでした。 そこで、これまでのチームに関する学びと実践を踏まえ、サイボウズの開発組織の文脈において、スクラムを実践し

            開発チーム作成ガイドを公開します - Cybozu Inside Out | サイボウズエンジニアのブログ
          • 2023年のエンジニア新人研修の講義資料を公開しました - Cybozu Inside Out | サイボウズエンジニアのブログ

            開発本部 People Experienceチーム オンボーディング担当の久宗(@tignyax)です。 2023年もエンジニア新人研修を行いましたので、軽い紹介と、講義資料および一部講義動画を公開いたします。 2023年のエンジニア研修について コンセプト 今年のエンジニア研修のコンセプトは以下です。 (例年のコンセプトからアップデートを行いました。) 『新入社員メンバーに、"自信を持ってチームにジョインできた!" 』 コンセプトを実感できるように、以下のことを学んだり体験してもらえるようなエンジニア研修を設計していきました。 開発・運用本部のチーム/人や体制、風土/文化 これからのチーム活動となる前提、共通の知識 具体的な方法としては以下のコンテンツになります。各コンテンツにもそれぞれコンセプトを設定しました。 学習コンテンツ(リアル講義・動画視聴) チーム体験 配属面談 実践演習 ス

              2023年のエンジニア新人研修の講義資料を公開しました - Cybozu Inside Out | サイボウズエンジニアのブログ
            • 低レイヤ技術を間接的に仕事で生かしてきた経験の共有。元Linuxカーネル開発技術者の場合 - 覚書

              はじめに ITの世界で「低レイヤ技術」と呼ばれるものがあります。明確に定義されているわけではありませんが、アプリケーションのような直接エンドユーザに触れる部分ではなく、しかもなるべく生のコンピュータに近い部分、たとえばOSカーネルやコンパイラ、CPUを開発する技術などがあります。これらの技術に明るい人はそうそういないのですが、「やってみたい」という根強い人気があります。 学生のかたでもセキュリティキャンプなどで実際にある程度身につけてしまうような人もいます。そしてますますこの手の技術に趣味としてのめり込んでいって楽しくなる…というところまではいいのですが、「ではこの技術を会得した先に何があるのか」と不安になる人も多いようです。とくに学生さんの場合は「低レイヤ技術を使って今後なんらかの仕事をして生きていけるのか?」といったことが気になるようです。今日もそのような話を少し耳にしたので、自分の経

                低レイヤ技術を間接的に仕事で生かしてきた経験の共有。元Linuxカーネル開発技術者の場合 - 覚書
              • 品質保証(QA)とは。定義の三大流派と定義揺れの弊害 - 千里霧中

                近年のソフトウェア業界では、テスト関連活動を担うエンジニアを「QAエンジニア」と呼ぶようになっています。ただQA(品質保証)という言葉は、旧来から二つの定義が共存しているほか、業界内の通例で更に別の意味付けが行われた結果、定義が曖昧になり誤解を生みがちな状態となっています。 そこで今回は、日本語圏で、QA(品質保証)の言葉がどのように定義されているか、整理して解説します(結論からいうと三流派あります) 国際標準規格での定義:品質マネジメントシステムの実証 IEEEやISOといった国際的な標準規格、およびそれに準拠した知識体系や標準では、古くから体系立てて品質マネジメント、品質保証、品質管理の定義を行っています。 有力な文献として、品質マネジメントの標準規格である、ISO 9000:2015の定義を紹介します。 まずISO 9000では、品質保証の前提として品質マネジメントという用語を使って

                  品質保証(QA)とは。定義の三大流派と定義揺れの弊害 - 千里霧中
                • GitHub Actionsのワークフローを可視化するactions-timelineを作った

                  最初に作ったのがCIAnalyzerです。なるべくツール自体の運用の手間がかからないように常駐サーバー無し、データの保存先と可視化はマネージドサービスを使う前提で設計しました。具体的にはデータの保存先をBigQueryとすることによって自前でDBを管理する必要をなくし、webhookを受けるのではなくcronで定期的にAPIを叩くことで常駐サーバーを不要にし、データの可視化はBigQueryと簡単に連携できてマネージドサービスであるLooker Studioを使用する前提としました。 CIAnalyzerのアーキテクチャ CIAnalyzerを作ったきっかけはAzure Pipelineの分析機能に感銘を受けたことで、それと同等の分析を当時自分が業務とプライベートで使用していたJenkins, CircleCI, Bitrise, GitHub Actionsでも可能にしたいと思って開発を

                    GitHub Actionsのワークフローを可視化するactions-timelineを作った
                  • PlaywrightのVSCode拡張を使って効率的にテストを書く

                    この記事では、Playwright の VSCode 拡張を使って GUI 操作のみでテストの記録や実行する方法について紹介します。 Playwright の VSCode 拡張とは? Playwright の VSCode 拡張は、Playwright の作成元である Microsoft が公式に提供している拡張機能で、VSCode 内で直接ブラウザテストの記録や実行を支援するための便利なツールです。 GUI 操作を中心に、テストの記録や実行を手軽に行うことが可能となります。 VSCode 拡張のインストールは、以下のリンクから行うことができます。 VSCode 拡張を活用してテストを書く 本記事では、シンプルな ToDo アプリを例にテストの作成方法を説明します。Playwright のインストール方法は、公式ドキュメントをご参照ください。その後、VSCode に Playwright

                      PlaywrightのVSCode拡張を使って効率的にテストを書く
                    • 誰でも簡単⁉️👀 絵文字ができるまで😃👍

                      現在の私たちが何気なく使っている絵文字たち(😀🥺💦💕🏠💻🌊😈🐱💢…)って、実は誰でも提案📝📮することができて、「この絵文字はワシが作った👴」と言えるチャンス💪があることをご存知ですか❓🤔 このスライド📄では、普段あまり知ることのないUnicode Emoji😀(絵文字の代表格)の仕様策定の流れ💨や、Emojiを提案する方法🙆‍♀️を簡単にご紹介👩‍🏫します! ✅ Zennに本スライド以外の内容(📊通過率・🗑️Emoijのボツ案など)を含めて載せてます↓ https://zenn.dev/cybozu_frontend/articles/how_to_propose_a_new_emoji ※本資料は、2023年6月30日にサイボウズで開催された社内イベント「フロントエンドデー」における登壇資料に一部編集を加えたものです。 ※ここに掲載の内容は2

                        誰でも簡単⁉️👀 絵文字ができるまで😃👍
                      • Tailwind CSSを本気でカスタマイズする方法

                        2024-04-19に開催されたBARフロントえんどう #2 「CSS Library / Framework」(サイボウズ)での登壇資料です。 イベント → https://cybozu.connpass.com/event/311066/

                          Tailwind CSSを本気でカスタマイズする方法
                        • Kubernetesソースコードリーディング入門

                          Kubernetes Novice Tokyo #27 で発表した資料です。 https://k8s-novice-jp.connpass.com/event/293144/ 発表のライブ配信はこちら。 TODO スライドで紹介した参考リンク集: https://bells17.medium.com/things-you-should-know-about-reading-kubernetes-codes-933b0ee6181d https://www.amazon.co.jp/dp/4297104385/ https://www.amazon.co.jp/dp/4297118378/ https://go.dev/tour/welcome/1 https://gopherdojo.org/studyroom/ https://www.amazon.co.jp/dp/4621300253

                            Kubernetesソースコードリーディング入門
                          • スクラムマスターの役割はスクラムを回すだけではない ─ Be Agileを志向するサイボウズの組織改編 - Agile Journey

                            サイボウズにおいてプロダクト開発を担当する開発本部では、2016年頃からスクラムを開発現場に導入してきました。チームにスクラムマスターがいない状況も続いていましたが、2022年にはエンジニアやデザイナーなどと同様の「職能」としてスクラムマスターをバックアップする組織改編に踏み切っています。 ▶ 組織のチームワークを最大化するためにスクラムマスター職能を作りました - Cybozu Inside Out これまでもサイボウズの開発本部ではマネージャー職をいったん撤廃するなど、組織のあり方に野心的な取り組みをしてきました。そういった組織改編の狙いや、スクラムマスター職能化から約1年でどのような効果があったのかを、開発本部副本部長の岡田勇樹さんと、シニアスクラムマスターの天野祐介さん、スクラムマスター職能化にともなって専任となったToshinariさんの3人に伺いました。 スクラムマスターがチー

                              スクラムマスターの役割はスクラムを回すだけではない ─ Be Agileを志向するサイボウズの組織改編 - Agile Journey
                            • ソースコードのハッシュ値を利用したCIの高速化 - Cybozu Inside Out | サイボウズエンジニアのブログ

                              こんにちは、kintoneチームの川向です。 ソースコードハッシュ値計算ツールであるsverを導入してCIの高速化を行ったので、その紹介をさせてください。 この仕組みにより、通常は1時間かかるCIの実行時間が最善のケースでは20分程度に短縮可能になりました。 導入前の課題 解決方法の検討 sverを使ったテストのスキップによるCI高速化 kintoneでのsverの利用方法 sver設定ファイルの書き方 キャシュの保存先(GitHub Actions Cache、Amazon S3) sverを使ったジョブの書き方 sver情報生成ジョブ: ハッシュ生成とキャッシュの存在確認 ビルドジョブ: 依存ファイル以外に依存しないことの確認 テストジョブ: ジョブ成功後にキャッシュ保存 下流ジョブのifの書き方 結果 課題と今後の展開 まとめ 導入前の課題 kintoneのCIの大まかな構成は以下の

                                ソースコードのハッシュ値を利用したCIの高速化 - Cybozu Inside Out | サイボウズエンジニアのブログ
                              • 出回っている「頂き女子マニュアル」をAIに要約してもらおうとしたら倫理的に問題があると断られた→頼み方を変えたらチョロかった

                                NISHIO Hirokazu @nishio Doctor of Science & Master of Tech Mgmt | Research Director of Cybozu | Board Member of Mitou Foundation | Contributor of ⿻Plurality mem.nhiro.org

                                  出回っている「頂き女子マニュアル」をAIに要約してもらおうとしたら倫理的に問題があると断られた→頼み方を変えたらチョロかった
                                • 自作SSDについてキオクシアの方に伺いました - Cybozu Inside Out | サイボウズエンジニアのブログ

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

                                    自作SSDについてキオクシアの方に伺いました - 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 | サイボウズエンジニアのブログ
                                    • State of DevOps Report 2023 のまとめ

                                      2023 年版の State of DevOps Report が公開されました。 State of DevOps Report とは Google の DevOps Research and Assessment(DORA)チームが毎年公開している DevOps や開発生産性にまつわる年次レポートです。 本記事で、今年のレポートの概要を簡単に見ていきたいと思います。 主な調査結果 Goodhart の法則を理解し、パフォーマンス向上の落とし穴を避ける 開発組織のパフォーマンスを評価する際、メトリクスの設定や評価の方法には注意が必要であり、特に「Goodhartの法則」という考え方を知っておくことが大切であると述べられています。 Goodhartの法則とは、簡単に言うと「測定が目標となると、それは良い測定基準でなくなる」という法則です。 この法則を踏まえた、パフォーマンスの評価や向上のため

                                        State of DevOps Report 2023 のまとめ
                                      • 大規模Kubernetesクラスタにおけるコンテナレジストリの高速化 - Cybozu Inside Out | サイボウズエンジニアのブログ

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

                                          大規模Kubernetesクラスタにおけるコンテナレジストリの高速化 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                        • セキュリティインシデントから会社を守る!~小さく始めるCSIRT設計事例~ - Techtouch Developers Blog

                                          はじめに CSIRT とは CSIRT を立ち上げるモチベーション セキュリティインシデントは避けられない 意思決定者の訓練機会の不足 世界的なインシデントレスポンスの重要性の高まり CSIRT 作りの準備 教科書に学ぶ 他社に学ぶ テックタッチにおける CSIRT の設計 スモールスタートするための責任境界 ちゃんと機能する!ハンドリングマニュアル 窓口の明確化 継続的なスペシャリティの維持 さいごに 参考 はじめに こんにちは。SRE 兼 CSIRT の izzii(𝕏)です。Flatt Security mini CTF #4 に参加して入賞景品のTシャツをゲットできたのが最近のプチ自慢です。 さて本日の記事は、テックタッチにおいて私含む現場のメンバー(izzii, kacchan, ue)が Computer Security Incident Response Team (CS

                                            セキュリティインシデントから会社を守る!~小さく始めるCSIRT設計事例~ - Techtouch Developers Blog
                                          • 「実装例から見る React のテストの書き方」をアップデートする

                                            社内の人から、自分が以前書いた次の記事が「便利で助かった!書いた時から何かアップデートある?」ってメッセージがきた。 そんな便利だなんてどうもありがとうございますウフフ、と思いながら書いた日を見てみると 2022-08-09 だった。もうすぐ 2 年経とうとしてる。時の流れが早くて怖い。 この記事に書かれた実装例はリポジトリにまとめていたんだけど、当然、何かメンテをしていたわけもなく、2022 年当時の状態がそのまま残っていた。 せっかく便利に思ってくれる人がいたので、内容をアップデートする。 アップデートまとめ メジャーバージョンのリリースやビルドツールの統一の観点で Jest から Vitest に移行 useFakeTimers({ shouldAdvanceTime: true }) @testing-library/reactを v15 にバージョンアップ MSW を v2 にバ

                                              「実装例から見る React のテストの書き方」をアップデートする
                                            • Blue/Green デプロイを使用した、RDS MySQL/PostgreSQLのアップグレード

                                              TL;DR RDS の メジャーバージョンアップグレード を行なった PostgreSQL 11.6 -> 15.5 MySQL 5.7.44 -> 8.0.36 PostgreSQL は AWS CDK を利用した、自前での手動切り替えをベースにした Blue/Green デプロイによるアップグレードを行なった MySQL は AWS コンソールから AWSが提供している機能である RDS Blue/Green Deployments による MySQL のアップグレードを行なった nginx の ngx_http_proxy_module を活用してサービスのダウンタイムを防止した はじめに 初めまして。株式会社ジーニーの GENIEE CHAT開発チームのマネージャーを担当しています。 今回は、データベースのメジャーアップグレードを行った際の手順やポイントなどを書いていこうと思います

                                                Blue/Green デプロイを使用した、RDS MySQL/PostgreSQLのアップグレード
                                              • 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 | サイボウズエンジニアのブログ
                                                • typescript-eslint v6 アップデートガイド

                                                  typescript-eslint v6 リリース! 2023/07/10 に typescript-eslint の v6 がリリースされました。 メジャーバージョンアップということで多くの BreakingChange があるのですが、その中でもReworked Configuration Namesと呼ばれる変更は利用者に大きな影響を与えそうです。 Reworked Configuration Namesはざっくり言うと「config に書くrecommendedのようなルールセットの名前や枠組みが変わるよ」という変更です。 ルールセットの名前だけでなく、含まれるルールや分類自体に変更があるので、設定ファイルを v5 のままアップデートしてしまうと意図したルールセットと異なる設定になってしまいます。 ここでは上記の記事にある変更点を紹介しつつ、なるべく既存の設定のままアップデートする

                                                    typescript-eslint v6 アップデートガイド
                                                  • Panda CSS - Chakra UI の Zero Runtime CSS フレームワーク

                                                    🐼 パンダが来た / Panda CSS Chakra UI から、新しい CSS フレームワークである Panda CSS がリリースされました。 2023 年 3 月に公開された Chakra UI の今後のロードマップに関するブログ内でもすでに言及されていましたが、今回それが正式にリリースされた形となります。 Panda CSS の特徴 リポジトリ内 README からの抜粋となりますが、次のような特徴があります。 ⚡️ Write style objects or style props, extract them at build time → Style 用のオブジェクトや Props を定義してビルドで抽出 ✨ Modern CSS output — cascade layers @layer, css variables and more → Cascade Layers

                                                      Panda CSS - Chakra UI の Zero Runtime CSS フレームワーク
                                                    • プログラマのフルリモートワークにダジャレが向いている理由とその功罪 - Kengo's blog

                                                      株式会社ヘンリーでSREなどをやっている id:eller です。 この記事は株式会社ヘンリーAdvent Calendar 2023の4日めの記事です。一昨日の記事はkobayangさんのアラートを早く上げる・早く拾うでした。 さて、以下は筆者の日頃の業務を切り取った図です。みなさんはこちらを見て、どのように思われますでしょうか? 図1 ひろく協力を呼びかける図 図2 社内規定の浸透を試みる図 図3 新入社員の皆様に対して規定の確認をリマインドする図 なんだコイツ偉そうだなとか、真面目そうとか、厳しそうとか、そういう印象をお持ちの方が多いのではないでしょうか。実際は柔らかく優しい人格かもしれないし、いつもニコニコして話しやすい人かもしれないし、背後で体調悪くて学校を休んだはずの小学生が飛び跳ねてるかもしれないですが、そういう個性や雰囲気はチャットに頼りがちなフルリモートではなかなか伝える

                                                        プログラマのフルリモートワークにダジャレが向いている理由とその功罪 - Kengo's blog
                                                      • サイボウズOfficeのフロントエンド刷新(DOGOプロジェクト) をやってます! - Cybozu Inside Out | サイボウズエンジニアのブログ

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

                                                          サイボウズOfficeのフロントエンド刷新(DOGOプロジェクト) をやってます! - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                        • 【翻訳】Prettier を Rust で書き換えたプロジェクトに $20k の報奨金を支払うプログラムは Biome が勝ちました

                                                          この記事は vjeux 氏によって Prettier 公式ブログに投稿された「$20k Bounty was Claimed!」を許可をもらって翻訳したものです。 もとのタイトルを翻訳するのが難しかったので、できるだけわかりやすいものに翻訳しました。 PrettierというJavaScriptのコードフォーマッターは、人々がコードを書く様々な方法を慎重に扱うことで、驚くほど広く採用されています。この時点で、フォーマットロジックは安定しており、私たちの三項演算子に関する作業が完了すれば、それは満足のいく状態になるでしょう。 これは、次の重要な側面に注目できるということを意味します:パフォーマンス。Prettierは決して速いとは言えませんが、ほとんどの使用例には十分な速さです。これはいつも不満足な感じがしたので、何かをすることを望んでいました。それには、友好的な競争以上の方法はありません。

                                                            【翻訳】Prettier を Rust で書き換えたプロジェクトに $20k の報奨金を支払うプログラムは Biome が勝ちました
                                                          • Next.js 13 Template と Layout の使い分け

                                                            Next.js 13には、LayoutとTemplateというよく似た機能が存在します。 この記事では、それぞれの特徴と使い分け方についてまとめてみました。 Layoutとは? Layoutは複数のページに渡って共有されるUIのことを指します。 特徴としては画面遷移が行われた際に、その状態を保持し、再レンダリングは行われません。またLayoutはネスト(入れ子)にして使用することも可能です。 Layoutの定義方法 appディレクトリ配下で layout.tsx ファイルを定義するとLayoutとして定義できます。 例えば、以下のようなLayoutを定義することができます。 // app/posts/layout.tsx export default function Layout({ children, }: { children: React.ReactNode; }) { retur

                                                              Next.js 13 Template と Layout の使い分け
                                                            • Next.js 製アプリケーションの CI の実行時間削減や安定性向上のために取り組んだこと - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                              こんにちは!DOGO プロジェクトでソフトウェアエンジニアとして活動している @nissy_dev です。 DOGO プロジェクトでは、画面刷新を進めていく中で CI の実行時間が長く不安定になってしまい、開発生産性に大きな影響が出ていました。今回の記事では、CI の課題改善のために取り組んだことを紹介します。 目次 DOGO について CI を改善することになった背景 CI の改善のために取り組んだこと ビルド時に tsc を実行しない .next/cache を除いて、artifacts にアップデートする E2E テストをより多くの shard 数で分割する Playwright のブラウザのインストールをキャッシュする PR ではコード差分に関連するテストのみを実行する Hydration の挙動によってテストが flaky になっていた問題の解消 CI の改善の結果 今回取り組ま

                                                                Next.js 製アプリケーションの CI の実行時間削減や安定性向上のために取り組んだこと - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                              • 拡張性に優れた React Aria のコンポーネント設計

                                                                React Aria Components は Adobe によって提供されている Headless UI コンポーネントライブラリです。振る舞いや国際化に, アクセシビリティに関する機能を備えており、Button や Input, TextField, Label などのシンプルな要素から、DatePicker や ComboBox などの様々なコンポーネントが提供されています。 今回は React Aria Components の設計について紹介します。 React Aria Components のコンポーネントの設計 React Aria Components の API はコンポジションを中心に設計されています。これにより、パターン間で共通のコンポーネントを共有することも、個別に使用することも可能です。なお、コンポジションについては React Component Compos

                                                                  拡張性に優れた React Aria のコンポーネント設計
                                                                • 誰でも簡単⁉️👀 絵文字ができるまで😃👍

                                                                  こんにちは!サイボウズ株式会社フロントエンドエンジニアの おぐえもん(@oguemon_com) です。 先日開催された社内イベントCybozu Frontend Day 2023にて私が発表した絵文字の仕様策定に関する紹介を、当時の時間的制約から泣く泣く割愛した内容を加えた上で文章の形にまとめました。 また、情報は全て2023年8月1日現在のものです。 はじめに 今や「ぴえん🥺」や「おじさん構文」などの様々な形で老若男女を問わず私たちの生活・文化に深く根ざしている絵文字。ところで、そんな絵文字たちにも生みの親がいることを意識したことがありますか? 例えばこちらの絵文字にも生みの親がいます。 🥱は、Jay Petersさんが2017年9月に提案しました。 Jay Petersさんの職業はニュース編集者。決してデザイン事務所やGAFAなどのエンジニア・デザイナーではありません。 このよう

                                                                    誰でも簡単⁉️👀 絵文字ができるまで😃👍
                                                                  • SPA モードのRemixを GitHub Pages にデプロイする

                                                                    SPA モードの Remix を GitHub Pages にデプロイする方法が Remix のアカウントでポストされていたので、ふとそのリポジトリを見てみると、GitHub Actions を使った GitHub Pages へのデプロイが簡単に行えるようになっていて驚いた。 このポストを見ると GitHub Actions から提供されている Action など知らなかったものがいくつかあったので、Remix SPA モードのデプロイ方法など含め、内容を紹介したい。 動作確認した環境 関連がありそうな依存を記す。 "dependencies": { "@remix-run/node": "^2.8.1", "@remix-run/react": "^2.8.1", "@remix-run/serve": "^2.8.1", "react": "^18.2.0", "react-dom"

                                                                      SPA モードのRemixを GitHub Pages にデプロイする
                                                                    • 社内で使う npm パッケージの作成に Deno を採用した話 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                      こんにちわ。フロントエンドエキスパートチームの@nus3_です。 最近、社内用の npm パッケージを作る必要があり、そのパッケージは依存が少なく、実装もシンプルだったので、npm パッケージの作成には Deno と dnt を採用しました。 dnt とは dnt は Deno で実装したモジュールを CJS、ESM に対応した npm パッケージに変換してくれるビルドツールです。 使い方も簡単で、次のように dnt が提供するbuild関数にエントリーポイントや出力先などの必要な情報を渡すだけです。 import { build } from "https://deno.land/x/dnt@0.38.1/mod.ts"; await build({ entryPoints: ["./mod/index.ts"], // Denoで実装したモジュールのエントリーポイント outDir:

                                                                        社内で使う npm パッケージの作成に Deno を採用した話 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                      • 23新卒エンジニアがチーム開発研修で学んだこと - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                        こんにちは! 2023年新卒エンジニアの伴野・谷・和渕です。 サイボウズでは、2023年エンジニア新人研修の集大成として、チームに分かれてソフトウェア開発を行う実践演習が行われました。この記事では、各チームがどんな成果物を作成したのかを、チームごとにご紹介したいと思います。 エンジニア新人研修全体については以下の記事で詳しく紹介されています。ぜひそちらもご覧ください。 blog.cybozu.io 概要 実践演習では3チーム(「チーム gogo!」・「明日から」・「TEMBIN」)に分かれ、それぞれ一つのソフトウェアを2週間で開発しました。「サイボウズ流チーム開発を新メンバーだけで実践できた」「未知見の課題に対してどう行動すればよいか考えるきっかけになった」というコンセプトのもと、自由な発想で取り組みました。 チーム gogo! チーム gogo! では、演習開始時に Mastodon や

                                                                          23新卒エンジニアがチーム開発研修で学んだこと - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                        • 昼は終わらない事務作業、夜は膨大な書類整理 約1.8万時間の工数削減に成功した、市役所職員の苦労と工夫

                                                                          サイボウズ株式会社が主催する「Cybozu Days 2023」。同イベントでは、全国のkintoneのユーザーのなかから選ばれたファイナリストたちが活用事例を発表する、「kintone hive tokyo vol.18/kintone AWARD」が行われました。本記事では、北九州市役所 保健福祉局の井上望氏が、コロナ禍で挑んだ膨大なバックオフィス業務の効率化について語りました。 コロナ禍に対応した、市役所職員の実体験 井上望氏(以下、井上):みなさん、どうもこんにちは。今日はこの話を聞きに来ていただき、ありがとうございます。それではご説明いたします。北九州市役所の中の保健所の話になります。押し寄せるコロナの波の中、保健所がどのように変わっていったかをお話しさせていただきます。 まずは自己紹介になります。私は北九州市の係長をしております、井上と申します。実は昔からパソコンなどでシステム

                                                                            昼は終わらない事務作業、夜は膨大な書類整理 約1.8万時間の工数削減に成功した、市役所職員の苦労と工夫
                                                                          • Cybozu Frontend Day 2023の社内開催と資料公開 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                            主催のkoba04による写真 こんにちは、フロントエンドエンジニアの@shisama_です。 6月30日にサイボウズ東京オフィスで開催された「Cybozu Frontend Day 2023」の資料と開催レポートを公開します。 「Cybozu Frontend Day 2023」は、サイボウズのフロントエンドエンジニアが集まりフロントエンドに関する知見を共有する社内イベントです。 発表資料 発表資料は以下の通りです。発表者が公開している一部の資料については、発表者の許可を得て掲載しています。 Pages RouterとApp Routerでのi18n対応の違い 発表者: @nissy_dev zenn.dev 誰でも簡単⁉️👀 絵文字ができるまで😃👍 発表者: @oguemon_com speakerdeck.com Node Streamでメモリ性能改善、そしてWeb Stream

                                                                              Cybozu Frontend Day 2023の社内開催と資料公開 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                            • typescript-eslintで新しい構文をサポートする

                                                                              新しい構文がやってくる ご存知の通り、JavaScript の標準仕様である ECMAScript では毎年新しい記法や構文が提案され、採択されています。もちろん JavaScript のスーパーセットである TypeScript もその例外ではありません。 TypeScript では基本的に ECMAScript Proposal の Stage3 になった仕様から順次サポートするという方針があります。最近であれば v5.0 に入った Decorators や v5.2 で導入される using Declarations(Explicit Resource Management)などが該当します。 ここまでのことは普段 TypeScript を利用している方であれば知っている方も多いでしょう。しかし実際に TypeScript で新しい構文がサポートされた後、typescript-esl

                                                                                typescript-eslintで新しい構文をサポートする
                                                                              • 2023年のプロダクトセキュリティを振り返る【各業界の開発・セキュリティエンジニア13人に聞く(前編)】 - #FlattSecurityMagazine

                                                                                プロダクト開発・運用の現場では2023年のセキュリティ関連のトピックをどう受け止めているのか、また、今後のセキュア開発に関する潮流をどう予測しているのか。様々な業界で活躍する開発エンジニア・セキュリティエンジニアの方々13人に見解を伺いました。 今回は、「2023年のプロダクトセキュリティを振り返る」というテーマでお届けします! <13人の方々による「2024年セキュリティトレンド予想」> flatt.tech 今回コメントをいただいた方々 CADDi CTO 小橋昭文さん サイボウズ Cy-PSIRT Finatextホールディングス 取締役CTO/CISO 田島悟史さん Google 小勝純さん グラファー 森田浩平さん IssueHunt 取締役 CTO Junyoung Choiさん カンム 金澤康道さん メルカリ IDP team kokukumaさん メルカリ Product

                                                                                  2023年のプロダクトセキュリティを振り返る【各業界の開発・セキュリティエンジニア13人に聞く(前編)】 - #FlattSecurityMagazine
                                                                                • Next.js Server Actions の裏側を理解したくて動きとコードを追う

                                                                                  Next.js Server Actions Next.js 13.4 で、新機能として Server Actions[1] が追加され、バックエンド側のコードをあたかもクライアントから直接呼び出せるかのようにコードを書くことができるようになりました。 リリースブログに掲載されていた Server Actions のコードを見てみましょう。 // app/post/[id]/page.tsx (Server Component) import kv from "./kv"; export default function Page({ params }) { async function increment() { "use server"; await kv.incr(`post:id:${params.id}`); } return ( <form action={increment}

                                                                                    Next.js Server Actions の裏側を理解したくて動きとコードを追う