プログラミング

JavaScript のグローバルオブジェクトに立ち向かう

こんにちは kintone のフロントエンド刷新プロジェクトでフロントエンドエンジニアをしている Nokogiri です 現在 kintone ではフロントエンドのレガシーコードの刷新に取り組んでいます。 このプロジェクトでグローバルスコープの JS オブジェクト(以降グ…

kintone アプリ作成フォームの UI の状態管理のライブラリ選定

サムネイル こんにちは!kintone のフロントエンド刷新プロジェクト(フロリア)の@nkgrnkgrです。 フロリアでは、kintone のフロントエンドの ClosureToolsで書かれたコードを React に置き換えています。 本記事では フォーム画面の UI の状態管理に使うラ…

UrlRewriteFilterによるURL書き換え処理をSpring Frameworkの機能に移行する

初めに こんにちは! kintone開発チームでソフトウェアエンジニアをしている池田 (@motacapla) です。 今回が初投稿となります、よろしくお願いいたします! kintoneではHTTPリクエストのURLをルールベースで処理して書き換えたり、特定の属性値を設定するた…

「第10期サイボウズ・ラボユース成果発表会」開催

サイボウズ・ラボの光成です。 今回は2021年3月30日に開催された第10期サイボウズ・ラボユース成果発表会の模様を紹介します。

富岳版XbyakがIntelの深層学習ライブラリoneDNNにmergeされる

初めに サイボウズ・ラボの光成です。 このたび、Intelの公式深層学習ライブラリoneDNNに、富士通が開発しているスーパーコンピュータ富岳向けのPull Requestがmergeされました。 その開発に関わることになった経緯を紹介します。

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

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

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

はじめに こんにちは、Necoプロジェクトのsatと申します。 みなさんはKubernetesに機能が追加されるまでの流れをご存知でしょうか。githubに存在するプロジェクトであれば典型的にはfeature request用のissueが立てられて、それをもとにPRが作られてレビュー…

セキュリティ・キャンプ全国大会に(講師で)参加します!

みなさんこんにちは。SRE チームの内田(@uchan_nos)です。 この記事では 2018 年 8 月に開かれるセキュリティ・キャンプ全国大会 2018 を紹介します。

x86/x64最適化勉強会8 レポート

サイボウズ・ラボの光成です。 今回は2月17日に開催された「x86/x64最適化勉強会8」の模様についてお伝えします。 第7回からなんと約3年振りです。 今回の発表内容はAVX-512周りの話が2件、命令の正確なレイテンシの話、年明けから世間を騒がせているMeltdow…

x86/x64における小数から整数への丸め処理命令の変遷

こんにちは、サイボウズ・ラボの光成です。 今回は小数を整数に丸める処理に関して、x86/x64における命令がどのように変わってきたかを紹介します。

「第6期サイボウズ・ラボユース成果発表会」開催

サイボウズ・ラボの光成です。3月30日に第6期サイボウズ・ラボユース成果発表会を開催したのでその報告をします。

お手軽に使える高速なSSE4.2専用文字検索ライブラリ

サイボウズ・ラボの光成です。 今回はC/C++用文字検索ライブラリmie_stringを紹介します。 mie_stringはテキストの中から複数文字のいずれかが存在する場所を高速に検索する関数を提供します。 本文ではその使い方と性能を紹介します。また後半ではSIMD命令…

Elasticsearch 5.0.0のIngest Node用プラグインを書いた話

こんにちは、アプリケーション基盤チームの渡辺です。好きなライブラリはLombokです。 アプリケーション基盤チームでは、Necoプロジェクト(アーキテクチャ刷新プロジェクト)の一環として、 次世代の検索基盤を検討していて、その候補としてElasticsearchを…

バグゼロを実現した話とその後の顛末

こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。好きなメソッドは emptyIfNull です。 僕は、自社クラウドである cybozu.com のミドルウェアを開発するチームで働いています。具体的には、検索サービスやファイルサーバー、非同期処理用…

「第5期サイボウズ・ラボユース成果報告会」開催

サイボウズ・ラボの光成です。 3月30日にサイボウズ・ラボユースの成果報告会がありましたのでその紹介をします。

NAT をやめて、透過 SOCKS プロキシを導入した

以下の記事内容について、奥一穂氏(@kazuho)より、「connectのエラーコードが信頼できなくなるといった欠点もあるのに透過 SOCKS プロキシが汎用的に良いように読めてしまう」というご指摘をいただきました。確かに、下記内容は当社が抱えていた複数の課題…

半年かかったバグ調査の顛末は

サイボウズ・ラボの光成です。 今回は原因究明に半年以上かかったバグ調査の紹介をいたします。

もうサムネイルで泣かないための ImageMagick ノウハウ集

こんにちわ、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。好きなみかんは紅マドンナです。 今回は、サイボウズのサムネイル事情について記事を書きたいと思います。サイボウズに限らず通常の Web アプリケーションでもサムネイル作成はよくあると…

TCPとタイムアウトと私

本部長や副本部長もプログラミングを(たまに)することで有名なサイボウズの運用本部長、山本泰宇です。 有名じゃないかもしれませんが、ブログに書いたので有名になるということでご了承ください。 今回は、先日発生した yrmcds に起因する障害の原因と対…

Python3.4 の新機能 asyncio を使ってみる

山本泰宇です。こんにちは。 運用本部では最近 Python3 への移行を進めています。そちらの話は別途ご紹介する予定ですが、今回は Python3.4 で追加された asyncio モジュールの使いかた(というか落し穴)を解説します。先に結論を書いておくと、Python3.5 の…

x86/x64最適化勉強会7 レポート

サイボウズ・ラボの光成です。 今回は3月15日に開催された「x86/x64最適化勉強会7」の模様についてお伝えします。前回から約1年半振りと久しぶりの開催です。 今回の発表内容は浮動小数点数周りの話が2件、CSSパーサ周りの話が1件、暗号関係の話が3件でした。…

HTTPパーサにおけるSSE4.2最適化の威力と注意点

こんにちは、サイボウズ・ラボの光成です。 PicoHTTPParserは@kazuhoさんたちが開発している高速なHTTPパーサです。 同じ作者によるHTTPサーバH2Oにも使われています。 11月4日の開発ブログによると、その時点でNode.jsなどに使われているhttp-parserの10倍…

MySQL 5.6 で loss-less semi-sync レプリケーション

こんにちは。運用本部 Hazama チームの深谷です。 今回は MySQL 5.6 で loss-less semi-sync レプリケーションを実現するパッチについて紹介します。

Microsoft Office 2007ファイルに対するパスワード攻撃の実装実験

こんにちはサイボウズ・ラボの光成です。 先日社内でハッカソンというイベントがありました(Cybozu Hackathon開催)。私はMicrosoft Office 2007ファイルに対するパスワード攻撃の実装実験を行ってみたのでその報告をします。 パスワード攻撃とは、暗号化され…

yrmcds 1.0.0 をリリースしました

@ymmt2005 こと山本泰宇です。去る 7 月に yrmcds という memcached 互換な KVS を公開したことをご案内しました。それから 5 ヶ月経ちましたが、今回は安定版となるバージョン 1.0.0 をリリースをご案内します。 ダウンロードはこちらからどうぞ: https://g…

x86/x64最適化勉強会6 レポート

こんにちはサイボウズ・ラボの光成です。 今回は8月31日に開催された「x86/x64最適化勉強会6」の模様についてお伝えします。 今回の勉強会では、6月に発売された Haswell の新しい機能にかかわるものが3件、C++ によるゲーム開発の環境にかかわるもの、ARMと…

Go のチュートリアルに足りないこと

ちょうど今日から夏休みの @ymmt2005 こと山本泰宇です。こんにちは。 夏休みなのにブログを書いている点は突っ込まないでください。 今回は Go を初めて業務に使ったときに躓いた点をまとめた資料を紹介します。これから使いだそうと考えている方は、これを…

yrmcds 0.9.0 リリース

@ymmt2005 こと山本泰宇です。 今回は memcached 互換で冗長構成を簡単に組める自社製 KVS である yrmcds のリリースをご案内します。 ... この Redis 全盛なご時世になんで?とか、repcached や Kyoto Tycoon があるじゃない、といったツッコミの嵐が聞えて…

サイボウズOfficeでZipファイル生成を実現するまで

こんにちは。サイボウズ Officeの開発を担当しています、佐野です。 みなさんよくご存知のZipファイル。ユーザーとして展開や圧縮の方法はよくわかっていても、プログラムとしてどうやって作られているのかを知る人はそう多くないと思います。今回は、この「…

SAML認証ができるまで

こんにちは、Slashチームの渡辺です。 Slashチームでは、ユーザー管理や認証周りなどの、cybozu.comの各サービスに共通する機能を開発しています。今回は、3月にリリースされた、SAML認証を用いたシングルサインオン機能1についてお話させて頂きます。cybozu…