指数関数expのAVX-512によるベクトル化

初めに

サイボウズ・ラボの光成です。

C++で単精度配列に対する指数関数のベクトル化をAVX-512を使って実装しました。 標準関数std::exp(float)に対する相対誤差は2e-6、速度は10倍ぐらいです。 指数関数をどうやって計算するのか、一般的な話とAVX-512に特有の部分を紹介します。

続きを読む

OSSへの貢献ノウハウ

はじめに

こんにちは、Necoプロジェクトsatと申します。本記事は世間で何かと重要といわれつつもなぜ重要なのかがわかりにくく、かつ、広くやりかたが知られていないOSSへの貢献ノウハウについて述べます。本記事は筆者が過去にはLinuxカーネル、現在ではRookというOSSへの貢献に業務で取り組んできた経験に基づいて書きました。

ひとくちに貢献といっても様々な方法がありますが、ここではissue発行やPR発行などのOSSの開発へ開発者が直接かかわるような貢献に焦点を絞ります。

本記事の想定読者は次のようなかたがたです。

  • 業務でLinuxやKubernetes,MySQLなどの有名どころのOSSを使っている
  • バグや機能不足で困っている
  • OSSへ貢献したことがない
  • 貢献する必要性ががわからない
  • 自分では必要性がわかっているが、会社にうまく伝えられない
  • 貢献したいものの、やりかたがわからない
続きを読む

Kubernetesへの機能追加にかかわった話と、そこから得た知見

はじめに

こんにちは、Necoプロジェクトsatと申します。

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

本記事はKEPについて簡単に説明した後に、Kubernetesの機能開発が進んでいく具体的な流れについて、NecoプロジェクトがレビューにかかわったKEPを通して紹介します。

続きを読む

AWS版kintone.comリリースの裏側

こんにちは!Yakumoチームの@ueokandeです。

昨年9月、US向けにAWS 基盤のkintoneがリリースしました。 以前まではUS向けkintone (kintone.com) は日本のオンプレデータセンターから提供してましたが、このリリースによりUS内のAWSリージョンから提供が始まりました。 本日はAWS版kintone.comリリースの裏側を紹介します。

続きを読む

テナントがArgoCD Applicationを任意に作れるようにする

こんにちは😸 Necoの@dulltzです。

皆さんはマルチテナントでGitOpsするためにどのような構成をとっていますか? 我々はArgoCDを利用しています。

以前、@zoetroからArgoCDについての紹介がありました。

blog.cybozu.io

上の記事でもテナント*1に対しArgoCDを提供する方法に触れているのですが、 最近そこからもう一歩踏み込んで、テナントがApplicationを任意のタイミングで安全に作れるようにしました。これについて説明します。 なおNecoでは実装をOSSにしているので、記事内にソースコードへのリンクを適宜貼っておきます。気になる方はそちらも御覧ください。

*1:Kubernetesの管理者権限を持たないユーザとそのグループ

続きを読む

Navigation Component のニッチな落とし穴から得た Android アプリ開発の学び

あけましておめでとうございます! (遅すぎ)

モバイルチームの向井田 (@mk_mkee) です。
モバイル系の 2020 年最初のブログは Android について書いていこうと思います!

皆さん、Android Jetpack の Navigation Component は使っていますか? Navigation Component は Android アプリの画面遷移やバックスタック管理を楽にしてくれるライブラリです。 弊社では kintone モバイルの Android アプリで導入しています。

今回の記事では、Navigation Component を利用していて気になった画面遷移の挙動を調査し、その過程で得た学びをお伝えしたいと思います。 Navigation Component の学びというよりは、Android アプリ開発全般における学びとなるので、よかったら読んでいってください。

続きを読む