タグ

ブックマーク / developer.cybozu.co.jp (53)

  • マルコフ連鎖キーボード – 入力結果でキー配列が動的に変わる | 秋元@サイボウズラボ・プログラマー・ブログ

    markovkeyboard は、キーボード配列の新しい提案です。なんと、一字タイプする事にキー配列が変化します。 ツール体は emacs lisp のコードで、emacs の IME として読ませて起動します。 一文字タイプすると、これまでの文字列から次に来そうな文字をより打ちやすい箇所に配置した「新配列」にキーボードが変わります。 ドキュメントによれば、”the”をたくさんタイプする人なら、ホームキーで’t’を打つと、同じキーが次に’h’に変わり、次は’e’になるだろう、ということ。なるほど。予測がうまくはまる文章を打つなら、ホーム付近のキーだけで文章が書けるようになったりするのかもしれませんね。 ガイド無しに打てるとは到底思えないので、下半分に「現在の」キー配列を表示して使ってみました。…これは苦しい。自分の環境のせいかもしれませんが、一文字打ってガイドのキー配列が切り替わるのにも

    マルコフ連鎖キーボード – 入力結果でキー配列が動的に変わる | 秋元@サイボウズラボ・プログラマー・ブログ
    kazuhooku
    kazuhooku 2019/06/06
    「機械に人間はどこまで寄り添えるのかというチャレンジ精神を感じます」wwwwww
  • 恐怖の JVM 大量メモリ消費!メモリリークの謎を追え!! - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、ミドルウェア開発チームの青木(@a_o_k_i_n_g)です。将来の夢は川口浩探検隊に入ることです。 先日、弊社のアプリケーションサーバーで大量にメモリを消費するという現象に遭遇しました。アクセス頻度の低いサーバーがメモリを大量消費するという謎深いものでした。 発生当初の状況はこんな感じです。 アプリケーションサーバーでは Jetty が稼働 現象が発生した JVM は 5GB 程度のメモリを消費しており、明らかに通常ではない量のメモリを消費している 複数台のサーバーで発生していたが、全てで発生したわけではない。 また、発生したサーバーはいずれもアクセス頻度が少ないサーバーだった。 ヒープ、パーマネント、スタック ひとまず、JVM でトラブルが発生した時は何はともあれヒープダンプとスレッドダンプを見るに限ります。各種情報の取得をインフラ部隊へ依頼し、得られたヒープを解析すると、

    恐怖の JVM 大量メモリ消費!メモリリークの謎を追え!! - Cybozu Inside Out | サイボウズエンジニアのブログ
    kazuhooku
    kazuhooku 2015/02/03
  • HTTPパーサにおけるSSE4.2最適化の威力と注意点 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、サイボウズ・ラボの光成です。 PicoHTTPParserは@kazuhoさんたちが開発している高速なHTTPパーサです。 同じ作者によるHTTPサーバH2Oにも使われています。 11月4日の開発ブログによると、その時点でNode.jsなどに使われているhttp-parserの10倍程度の速度を誇るそうです(現在はhttp-parserも速度向上しその差は縮まりました。それでも4倍以上の差があるようです)。 該当ブログにはその高速化のためのノウハウが書かれていて大変興味深いです。ただIntel系CPUに搭載されているSIMD命令は用いられていませんでした。今回、@kazuhoさんと一緒に文字列処理専用のSSE4.2を用いることで1.7~1.9倍の高速化を達成しました(Improving Parser Performance using SSE Instructions (in

    HTTPパーサにおけるSSE4.2最適化の威力と注意点 - Cybozu Inside Out | サイボウズエンジニアのブログ
    kazuhooku
    kazuhooku 2014/12/04
  • kintoneのJSユニットテスト最新事情 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。kintone開発チームの天野 (@ama_ch) です。 最近はJavaScriptのテストツールが著しく進歩し、日々新しいツールが登場しています。kintoneの開発もこれらのツールによって支えられています。 kintone開発チームでは、昨年末頃からテスト環境の改善に取り組み、モダンなツールセットに乗り換えました。今回は、現在のkintoneのJSユニットテスト環境について紹介します。 kintoneとJSユニットテスト 数年前からユニットテストと自動化の仕組みはあったのですが、ごく一部のユーティリティ関数に書かれているのみで、普段の開発には活用されていませんでした。 ここ1,2年ほどで テストスケルトンを生成するジェネレータスクリプトを作る テストの書き方をまとめたドキュメントを用意する MTGで「ユニットテストを書かなくていいのは小学生まで」などと煽る コードレビュー

    kazuhooku
    kazuhooku 2014/05/13
  • kintoneを支えるKAIZENの技術 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、kintone開発チームの佐藤鉄平 (@teppeis) です。 今回はkintone開発チームのKAIZEN(改善)活動について紹介します。 技術的負債が減らない! サービスの開発を続けていくと、次第に技術的負債が溜まっていきます。kintone開発チームでは、開発期間中に溜まってしまった技術的負債kintoneアプリ に登録しておき、あとで時間があるときに返済するようにしていました。 このあたりの開発プロセスについてはこちらの記事をご覧ください。 超速で開発・リリースするための6つのこと | Cybozu Inside Out | サイボウズエンジニアのブログ ところが、最近技術的負債がなかなか減らないという課題に直面していました。kintone開発チームでは主にメンバーの自主性に任せて負債を返済していましたが、この方法だと、 ビジネスサイドからのプレッシャー(もっと新

    kintoneを支えるKAIZENの技術 - Cybozu Inside Out | サイボウズエンジニアのブログ
    kazuhooku
    kazuhooku 2014/04/30
    前向きでいい
  • yrmcds 1.0.0 をリリースしました - Cybozu Inside Out | サイボウズエンジニアのブログ

    @ymmt2005 こと山泰宇です。去る 7 月に yrmcds という memcached 互換な KVS を公開したことをご案内しました。それから 5 ヶ月経ちましたが、今回は安定版となるバージョン 1.0.0 をリリースをご案内します。 ダウンロードはこちらからどうぞ: https://github.com/cybozu/yrmcds/releases/tag/v1.0.0 0.9.0 からの変更点を短くまとめるとバグがなくなって、memcached より多分高速になっています。ちょっと長めの記事ですが、末尾にいいことが書いてありますので、是非ご一読ください。 yrmcds の特長 レプリケーション サーバーサイドロック No slabs その他 memcached との差異 運用実績と性能 クライアント 0.9.0 からの変更一覧 バグ報告を募集します! yrmcds の特長 y

    yrmcds 1.0.0 をリリースしました - Cybozu Inside Out | サイボウズエンジニアのブログ
    kazuhooku
    kazuhooku 2013/12/09
  • cybozu.com を真に常時 SSL にする話 - Cybozu Inside Out | サイボウズエンジニアのブログ

    @ymmt2005 こと山泰宇です。 今回は cybozu.com を安全に利用するために暗号化した通信(SSL)を常時使用するための取り組みを紹介します。 HTTP と HTTPS HSTS とその弱点 Preloaded HSTS Chrome のリストに cybozu.com を組み込む まとめ HTTP と HTTPS Web ブラウザのアドレスバーに "www.cybozu.com" と打ち込むと、通常は暗号化されない HTTP 通信が行われます。そこでまず考えられるのは、Web サーバーにて HTTP 通信を受け付けたら、HTTPS に永続的リダイレクトをすることです。Apache なら以下のような設定になるでしょう。 <VirtualHost *:80> ServerName www.cybozu.com Redirect permanent / https://www.c

    cybozu.com を真に常時 SSL にする話 - Cybozu Inside Out | サイボウズエンジニアのブログ
    kazuhooku
    kazuhooku 2013/10/04
    Googleに送るメールのテンプレまでついてるwww
  • データセンター移転とDRBD - Cybozu Inside Out | サイボウズエンジニアのブログ

    @ymmt2005 こと山泰宇です。今回は去る 5 月から 6 月にかけて行った、cybozu.com のデータセンター移転作業について、失敗してしまったことを中心に解説します。 失敗と書いたのは、移転作業中に何度か、一部のお客様環境でストレージ高負荷による障害を起こしてしまったためです。移転作業自体はスケジュール通り進行し、6 月第二週に完了しています。障害に関しては、こちら(PDF)でお詫びとご報告をしていますが、この記事では技術面ならびに障害を引き起こすにいたった背景について詳述します。 移転に至った背景 移転方式の検討 ストレージ同期の方法 DRBD による同期の詳細 まずは自社環境を移転、成功 そして障害は発生した なぜ障害につながったのか まとめ 移転に至った背景 まず、なぜデータセンターを移転することにしたかを説明します。 端的に言うと、当時のデータセンターが手狭になり拡張

    データセンター移転とDRBD - Cybozu Inside Out | サイボウズエンジニアのブログ
    kazuhooku
    kazuhooku 2013/07/22
  • Kazuho@Cybozu Labs: 「サーバ書くなら epoll 使うべき」は、今でも正しいのか

    多数のTCP接続をハンドリングするサーバを書くなら、1コネクション1スレッドのモデルではなく、epollやkqueueのようなイベント駆動型のI/O多重化を行うべきだ、と言われます。だが、そのような主張は、「C10K問題」が書かれた2002年から7年経過した今でも有効なのでしょうか? echoサーバを書いて、ベンチマークを取ってみることにしました。 ふたつのグラフは、いずれも接続数とスループットの関係を表しています。最初のグラフは、全接続がアクティブに通信した場合、あとのグラフは、全接続のうち小数のコネクションが順次アクティブになっていく、というモデルです。これらのグラフから、以下ようなことが読み取れます。 epoll も per-thread モデルも、良くスケールする epoll は、ワークセットが小さい場合に (最大50%) per-thread モデルよりも高速 少なくとも、1コネ

    kazuhooku
    kazuhooku 2013/06/30
    node.jsの立場って…
  • 父親産休+育休で休みます | 秋元@サイボウズラボ・プログラマー・ブログ

    明日より産前休暇でお休みをいただきます。4月中旬に予定している復帰まで、この社員ブログの更新を停止させていただきます。 休暇休業中の活動について 会社がお休みの間でも個人の活動は(育児等で細切れになりますが)継続します。そちらについては個人ブログのサイドバー等をごらんいただければ幸いです。 # もしとか書かせてくれる話があれば、ちょうど育児の間の細切れな時間に合いそうなんですが…(別に父親育児じゃなく) せっかくなので、父親と育休・産休についてちょっと書いてみますね。まだそんなに一般的ではないみたいなので、他にやってみようと思う方の参考になればと思います。もし大きな間違いや勘違いがあれば教えてください。 男性の産前休暇 産前休暇というのは、子供が生まれる前に取る休みです。女性の場合は、出産の直前まで働いたりすると母子ともに危険なので、法律で強制的に休まされます。働けないと収入も途切れ

    父親産休+育休で休みます | 秋元@サイボウズラボ・プログラマー・ブログ
    kazuhooku
    kazuhooku 2011/01/26
    おめでとうございます!ってちょっと早いかもだけどw
  • 第1回 エンジニアの未来サミット for students 開催終了 | TAKESAKO @ Yet another Cybozu Labs

    2008年、 2009年と過去2回に開催された「エンジニアの未来サミット」のスピンオフ的な位置付けで、より若手向け、というか学生にフォーカスした新卒対象の企画になります。 昨年のイベントの感想で「「エンジニアの未来サミットがこの形で続くならもう次は行かなくていいかなーと思った」などと厳しいご意見もいただいたりしましたので、 今回は限られた時間の中で聞きたいこと、言いたいこと、伝えたいメッセージをより明確にするために、 聴衆対象と登壇人数を絞り、10月、11月、12月と3回に分けて開催することにしました。 IT泥10年の発言に代表されるように「受託中心の日のSI業界の先が明るくない」ということは、このようなイベントに来るITエンジニア志望の学生さんにとっては誰に言われるまでもなくわかりきっていることなので、 高度経済成長を終えた日の今の時代に適したキャリア形成の指針について、人生の選択を

    kazuhooku
    kazuhooku 2010/10/26
    むしろ聞きたかった
  • Cybozu Open Source: Released ordered KVS Mio 0.0.1alpha

    We have released Mio - a distributed Skip Graph based orderd KVS 0.0.1alpha.(mio-0.0.1-alpha.tar.gz) What is Mio? In short, Mio is memcached + "range search". Mio suports range search queries like "get 10 datum which key are between key1 and key2". N.B. At present, it is in alpha quality. Building and Installing Install a recent version of Erlang. make make install with Environment variables for c

    Cybozu Open Source: Released ordered KVS Mio 0.0.1alpha
    kazuhooku
    kazuhooku 2010/09/07
  • Cybozu Inside Out: Ubuntu 10.04 で KVM の vhost-net を試す

    またまたインフラ屋の山です(プロジェクトマネージャーだったり、CTOだったような気もします)。こんにちは。 今日は先日リリースされた Ubuntu 10.04 LTS で KVM の最新機能を試そうというお話です。 解説する必要はさらさら感じませんが、KVMというのは RedHat さん一押しの Linux カーネルに標準搭載されている仮想マシン支援機構です。実際には、QEMU というシステムエミュレーターと組み合わせて使います。最近ではその上にさらに libvirt という便利ツールで仮想マシンを構築するのが普通だと思います。 KVMを実際に評価すると、VMware と比較してまだまだ残念なところがあります。性能面では、I/O性能が良く言われているところでしょう。で、ネットワークの I/O 性能を改善する vhost-net というカーネルモジュールが開発されていて、Linux 2.6

    Cybozu Inside Out: Ubuntu 10.04 で KVM の vhost-net を試す
  • Cybozu Inside Out: MACアドレスからIPを自動設定する

    最近はもっぱらインフラ屋の山です。 今回のネタは掲題の通り、NICのMACアドレスからIPを自動設定できるかな、 ということでやってみました。ちなみに背景としては、 1.VMの仮想NICのMACアドレスは自己管理していて、KVMだと上3バイトは 52:54:00 で固定で、下3バイトで管理。 2.IPアドレスは10.0.0.0/8 なので、下3バイトで管理。お、MACと一緒じゃん。 3.じゃ、VMのIP指定はDHCPとかじゃなくてMACアドレスでできるんじゃね? てな感じです。 材料: ・ /sys/class/net/eth*/address Linux で各NICのMACアドレスはこのファイルを cat すれば入手できます ・ /etc/init/networking.conf Ubuntu の upstart ではネットワークの初期化はこいつがやります。 なかでは "ifup -a

    Cybozu Inside Out: MACアドレスからIPを自動設定する
    kazuhooku
    kazuhooku 2010/05/21
    tnnrg++ ローカルアドレス使えばIPv4全域+netmaskを表現できるんじゃないかしら
  • Cybozu Inside Out: KVM にシリアルコンソールで Ubuntu をインストールする

    最近はインフラ屋な山です。 KVMにシリアルコンソールで Ubuntu をインストールする、と題しているわけですが、 やりたいことはこんな感じです。 インターネットにつながらない環境で X Window System とか VNC とかを使わずに Ubuntu Server をゲスト VM にインストール 実は、インターネットにつながる環境だとこれはとても簡単です。こんな感じ。 $ sudo virt-install --connect=qemu:///system -n test \ -r 2048 --serial pty -v --disk=... --nographics \ -l http://us.archives.ubuntu.com/ubuntu/dists/lucid/main/installer-amd64/ \ --extra-args=console=ttyS0,

    Cybozu Inside Out: KVM にシリアルコンソールで Ubuntu をインストールする
    kazuhooku
    kazuhooku 2010/04/30
  • Kazuho@Cybozu Labs: REST におけるトランザクションについて (Re: Web を支える技術)

    といいつつ、ひとつだけ理解できないというか、納得できないところが。トランザクションのところがなんだかRESTっぽくないのがすごく気になる Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESSプラスシリーズ)(山 陽平) - ただのにっき(2010-04-23) 「Web を支える技術」は自分もとてもいいだと思う (教科書としてすばらしいし復習用としても読みやすいのでイイ) のですが、トランザクションの所だけは分かりづらいなと感じました。その原因は、atomic transaction で解決できる課題を例として使っているという点と、トランザクションと更新クエリのレイヤ分割がされていない、という2つの点によるものではないでしょうか。 HTTP 上でトランザクションを表現する必要があるケースのほとんどは、atomic transaction ではなく

    kazuhooku
    kazuhooku 2010/04/24
    id:yohei 恐れ入ります。すばらしい本ですね。必要ならCC-BYでお使いいただければ光栄です
  • Cybozu Open Source: Mio - a distributed Skip Graph based orderd KVS

    We published Mio - a distributed Skip Graph based orderd KVS at github. In short, mio is memcached + "range search". You can issue a range search query to Mio using memcached client. For more detailed information, see README and following slides I used on Erlang Tokyo Workshop #4. Mio - a distributed Skip Graph based orderd KVSView more presentations from higepon. -- Taro Minowa(Higepon)

    Cybozu Open Source: Mio - a distributed Skip Graph based orderd KVS
    kazuhooku
    kazuhooku 2010/03/05
  • Cybozu Open Source

    SP List Kit is rich feature set to enhance usability of all SharePoint Lists. It supports SharePoint 2010. SP List Kit is a member of SP Apps 2010 family. Available Extensions: SP List Category Filter SP List Advanced Search SP List Item Copy Project Homepage: http://splistkit.codeplex.com/ License: GPLv2 Author: HATA,Shinya (twitter : @SharePointKit) / Cybozu, Inc. SP List Kit is rich feature set

    kazuhooku
    kazuhooku 2010/01/20
    1getズサー
  • 北陸アンカンファレンス開催報告・振り返り | 秋元@サイボウズラボ・プログラマー・ブログ

    11月1日に、石川県津幡町の石川高専をお借りして、初の北陸アンカンファレンスを開催いたしました。 # 開催が今月の初めだったのに、ちゃんとしたまとめを書くのが遅れてしまってすいません。オープニングセッションのプレゼンテーション資料はすぐ公開したのですけど、参加者個人としてじゃなくて主催側の振り返りを残しておかなきゃと思っていました。アンカンファレンスや地方イベント等に共通する話で役に立つところもあることを期待して、会社のブログで書かせていただきます。 アンカンファレンスとは? 一緒に主催したid:amachangが書いてくれたIT アンカンファレンスをやってみたい! – IT戦記がとても良いので、そちらをご覧ください。 また、北陸アンカンファレンス参加者募集ページも、いろいろ書き足していたらかなり詳細な説明になったので、これは良かったなと思っています。 朝一番のセッションで当日の説明をした

    北陸アンカンファレンス開催報告・振り返り | 秋元@サイボウズラボ・プログラマー・ブログ
    kazuhooku
    kazuhooku 2009/11/19
  • 就活生向けIT業界セミナーで講演します | TAKESAKO @ Yet another Cybozu Labs

    最近リクルートスーツに身を固めた学生さんと電車ですれ違うことが多くなった今日この頃、みなさんはいかがお過ごしでしょうか。 サイボウズでは今年も就活生向けの「IT業界セミナー」を開催するのですが、ひとくくりにIT業界と言うのではなく、いろんな会社があって、その中でも社員によっていろんなワークスタイルがあり、広く業界のことを知ってもらおうということで、DeNAさん、はてなさん、P&Aラボさんの3社さんと共催して、全国数ヶ所(東京×2回、大阪×1回、松山×1回)でセミナーを開くことになりました。 ■東京会場(共催:DeNA×サイボウズ、2回開催) 日時:11月29日(日) ※盛況のうちに終了いたしました 場所:DeNA社 日時:12月20日(日) ※盛況のうちに終了いたしました 場所:サイボウズ社 13:00 IT エンジニアの可能性 ~ サービスやビジネスを自ら生み出す力 能登 信晴(De

    kazuhooku
    kazuhooku 2009/11/04
    行きたいなぁ