タグ

ブックマーク / blog.cybozu.io (7)

  • サイボウズ版 MySQL パフォーマンスチューニングとその結果 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。先日親知らずを抜歯した時、つらすぎたので MySQLJOIN のことを考えて心の平静を保っていました。 サイボウズの製品のひとつである kintone はニーズに応じて自由に業務アプリのようなものを手軽に作ることができ、データの検索条件やソート条件も細かくカスタマイズ可能で、様々なレベルでのアクセス権も設定可能という非常に便利なツールです。 しかしその機能を支える裏側では複雑なクエリが発行され、MySQL に多大な負荷をかけています。サイボウズのクラウドには数十テラバイトに登る MySQL データがあり、数千万件オーダーのテーブルを複数 JOIN するクエリが毎秒のように実行されるという、エンジニア魂が滾る環境です。 現在サイボウズでは性能改善に力を入れており、僕もその業務に従事しています。例えば2018年

    サイボウズ版 MySQL パフォーマンスチューニングとその結果 - Cybozu Inside Out | サイボウズエンジニアのブログ
    k-holy
    k-holy 2018/08/09
    "多くの遅いクエリは MySQL の気持ちに沿って書きなおせばきっと超高速化を実現できる"
  • nginx の拡張モジュールを書いて DoS 対策をした - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。インフラチームの野島です。 最近、cybozu.com はロードバランサを Apache から nginx に置き換えました。 (参考: cybozu.com のリバースプロキシを nginx にリプレイス) 置き換えの一環として、Apache に実装していた DoS 対策の仕組みを nginx の拡張モジュールにする形で移植しました。今回、この拡張モジュール nginx-maxconn-module を OSS として公開しましたので紹介します。 背景 DoS 対策 秒間リクエスト数 v.s. 瞬間同時リクエスト数 実装方針 nginx-maxconn-module 基的な使い方 高度な使い方 インストール おわりに 背景 題に入る前に、cybozu.com において、HTTP リクエストがどのように処理されているかを説明します。 cybozu.com では、負荷分散のた

    nginx の拡張モジュールを書いて DoS 対策をした - Cybozu Inside Out | サイボウズエンジニアのブログ
    k-holy
    k-holy 2015/02/25
  • ブラウザのパスワード保存と自動フィルイン - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、開発部の渡辺です。 「最近、パスワードインプットのautocomplete属性周りが盛り上がってるよ、ちょっと調べてよ」という話を頂いたので、現時点での各ブラウザの挙動をさっくりと調べて結果を記します。 背景 6月にリリースされたFirefox 30の対応によって、ほとんどのモダンブラウザではautocomplete=offにしてもパスワードマネージャへの保存を禁止することはできなくなりました1。 しかし、保存されたパスワードがインプットにフィルインされる挙動はブラウザごとに微妙に異なります。すでに幾つかの記事2で言及されている内容ではありますが(二番煎じ感に溢れててごめんなさい)、複数のブラウザで動作を確認する中で、様々な条件があったので、それらをまとめてみようと思います。 調査内容 今回調べる具体的な内容は、「ブラウザに保存されたパスワードが自動フィルインされる条件」です。

    ブラウザのパスワード保存と自動フィルイン - Cybozu Inside Out | サイボウズエンジニアのブログ
  • SAML認証ができるまで - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、Slashチームの渡辺です。 Slashチームでは、ユーザー管理や認証周りなどの、cybozu.comの各サービスに共通する機能を開発しています。今回は、3月にリリースされた、SAML認証を用いたシングルサインオン機能1についてお話させて頂きます。cybozu.comでのSAML認証の概要にくわえて、それらの機能をどのように設計・実装していったか、という誰も興味ないニッチな話題を扱います。 SAML2 って? 「SAMLなんて聞いたこと無いけどなんとなく興味があるぞ!!」という物好きな方のために、SAMLの概要とcybozu.comでの利用について、簡単に説明します。そんなものは既に知っているというSAML猛者な方は読み飛ばして頂いて構いません。 SAMLはSecurity Assertion Markup Languageの略で、OASIS3によって策定された、異なるセキュリ

    SAML認証ができるまで - Cybozu Inside Out | サイボウズエンジニアのブログ
    k-holy
    k-holy 2013/06/20
  • フロントエンドのさらにエンド - Cybozu Inside Out | サイボウズエンジニアのブログ

    「サイボウズ・アドベントカレンダー」の12日目です(これまでの記事一覧)。 こんにちは。kintone 開発チームの神戸です。主にフロントエンドを担当しています、しかし、あまりコードを書かないプログラマです。ユーザーインターフェイスと呼ばれる、入力画面や表示画面のデザインや実装をしています。 「プログラマが画面デザイン?」と思いの方もいるかも知れません。サイボウズの一般的な開発プロセスでは、 PMから要件/仕様と共に画面デザインがPGへ渡される流れになっています。とは言いましても、渡された画面デザインをそのままコード化するのではありません。 今回は、フロントエンドにおける画面デザインを紹介したいと思います。 エンドのエンド フロントエンドとは、最初のプロセスという意味もあります。そのエンドのエンドは、勝手に「プロセスが始まるきかっけ」と考えています。使いやすさの前に、「使ってみたい」と思わ

    k-holy
    k-holy 2012/12/18
    "botton"
  • ミニマムなPHP5.4移行ガイド - Cybozu Inside Out | サイボウズエンジニアのブログ

    「サイボウズ・アドベントカレンダー」の2日目です(これまでの記事一覧)。 こんにちは。Garoonのメンテナンスチームの横田です。 JavaScriptだなんだと言っていますが、今日はPHPのバージョンアップの話です。 以前話題になっていた記事やコメントをみると、恐ろしすぎてついていけないです。しかし、いつかはPHPのサポートが切れて、PHP5.4への移行をしなくてはいけません。gkbrモノですよね!特段すごいことでないと前置きしておきますが、できるだけコードを触らずにPHP5.4で動かすためには、どうしたらいいのかをちょちょいと説明しちゃいます! PHP5.4対策 まずは、php.iniファイルのE_STRICTを切ります。PHP5.4ではデフォルトでONになりますので、明示的に切りましょう。 Call-time pass-by-reference(関数呼び出し時の参照渡し)がPHPの機

    ミニマムなPHP5.4移行ガイド - Cybozu Inside Out | サイボウズエンジニアのブログ
    k-holy
    k-holy 2012/12/12
    "これとE_STRICT切りで、PHP5.4は動いたも同然です!"ちょ
  • 超速で開発・リリースするための6つのこと - Cybozu Inside Out | サイボウズエンジニアのブログ

    「サイボウズ・アドベントカレンダー」の8日目です。ちょうど真ん中まできました(これまでの記事一覧)。 こんにちは。kintone 開発チームの刈川です。いきなりですが、皆さんはどのくらいの頻度でアプリやサービスをリリースしていますか? 1週間? 1ヶ月? 1年? 規模によると思いますがクラウドサービスではリリースのスピードが大事です。せっかくいいアイデアを思いついたのに、それを実現するまでに果てしない時間と労力がかかるとしたら…。ユーザの意見を取り入れるまでに半年も一年もかかっていたのでは、ユーザは他サービスに移ってしまうかもしれません。そこで今回は、私たち kintone チームが取り組んでいる「スピーディな開発・リリース」のための手法を簡単に紹介したいと思います。 アイデアを形にする アイデアというのは形にするまでがゴールです。開発現場ではこのことをリリースと呼び、リリースをするまでに

    超速で開発・リリースするための6つのこと - Cybozu Inside Out | サイボウズエンジニアのブログ
    k-holy
    k-holy 2012/12/12
    pushでドッグフーディング環境に即反映、かっこいい
  • 1