タグ

ブックマーク / lab.klab.org (13)

  • MySQL Bootcamp — MySQL Bootcamp 2013 documentation

    MySQL Bootcamp¶ This document is for programmers new to MySQL. Contents:

    kamipo
    kamipo 2013/05/24
    Webアプリ開発者の基礎研修資料で Data Structure に言及してるのが渋い
  • NFCとAndroidで端末貸出管理を作ってみた。

    福岡事業所のアルバイトmiyachi-nです。 この度Androidに搭載されているNFC機能に興味がわいてきたので、 早速実験がてら弊社のデバッグ用携帯端末の備品管理システムを1人で作ってみました。 NFCタグプリンターは@touchRLさんからお借りしたBrotherのRL-700Sを使っています。 今までは端末の貸出管理を紙に書いて行っていましたが もっと便利なシステムをNFCタグFeliCaとAndroidで作ってみたいとの上司発案ですw 貸出管理システムは以下のような構成になっています。 端末を借りる人の識別は、セキュリティカードに付属するFeliCaで行います。 貸し出す端末の識別は、RL-700SでプリントしたISO15693タグで行います。 この2種類のNFCタグをAndroidアプリで読み取り、貸出情報としてサーバに登録します。 ・ISO15693:RL-700

    kamipo
    kamipo 2012/04/11
  • HandlerSocket Plugin for MySQLのPHPクライアントを公開しました

    takada-atです。HandlerSocketPlugin for MySQLPHPクライアントを公開しました。 リポジトリには、OpenPearでアクセスできます。 http://openpear.org/package/Net_HandlerSocket pure PHPで書いてますが、使い方は、今のところperlクライアントに合わせてあります。 HandlerSocketPlugin for MySQLMySQLを高速なNoSQLストレージとして利用できるようにするMySQLプラグインです。詳しくはgithubのリポジトリなどを参照してみてください。 http://github.com/ahiguti/HandlerSocket-Plugin-for-MySQL

  • 負荷分散システム運用のコツ - KLablabWiki

    はじめに この章ではロードバランサそのものからはちょっと離れて、筆者らが手がけている負荷分散システムで実践している運用の工夫やコツをいくつか紹介したいと思います。 文中で『DSAS』という言葉が出てきますが、これは筆者らが設計・構築・運用しているコンテンツサービス用のネットワーク・サーバインフラの名称です。『DSAS』については筆者らのブログなど[1]でも紹介していますが、その特徴のうちで、誌の読者の方に興味を持ってもらえそうな点を列挙してみます。 ロードバランサやストレージサーバなども含めて、ほぼ全てLinuxベースで構築している。 下まわり(物理配線など)からアプリケーションレイヤに至るまで、各所で多重化しているので障害に強い。 スケーラビリティも考慮して設計している。 『DSAS』の構成についてはまた機会があれば詳しく紹介したいと思いますので、章では日頃の運用に関するノウハウを

  • ロードバランサの冗長化 - KLablabWiki

    ロードバランサを冗長化する keepalivedにはVRRPという機能があります。ロードバランサを2台用意してこの機能を使うと、なんらかのトラブルで1台がダウンしても、もう1台のロードバランサが自動的に役割を引き継いでくれるようになります(この動作を「フェイルオーバ」といいます)。 この章ではkeepalivedのVRRP機能を使い、前章の構成で単一故障点だったロードバランサを冗長化する方法を紹介します。 VRRPとは 実際に使ってみる前に、VRRPとはどのようなものかを簡単に説明します。 VRRPはVirtual Router Redundancy Protocolの略で、RFC3768で定義されています。VRRPでは物理ルータ固有のIPアドレスとは別に「仮想ルータアドレス」[1]というIPアドレスを設定します。仮想ルータアドレスは、複数の物理ルータのどれか1台に割り当てられます。仮

  • ソーシャルアプリの作り方 第三回 - OpenFeint

    umjammer です、 ソーシャルアプリの作り方の第三回になります。 ソーシャルアプリとして Mixi アプリを作成しましたが、単なるゲームを Mixi に持ってきただけではソーシャルな要素が全くなく、ソーシャルなプラットフォームを使う意味がありません。 このシリーズでは前回、前々回にすでに出てきているようにハイスコア管理をソーシャル要素として使用します。アプリの内容がゲームですからソーシャルグラフ上でスコアを競ってもらいます。またできるだけ簡単に作ることを方針としていますので、一から API を実装するつもりはありません。Mixi はゲームに特化した API は公開していませんので、すでに世の中にあるソーシャルプラットフォームを探し出してきて使用します。 今回はゲームに特化したソーシャルプラットフォームとして今 iPhone で盛り上がりつつある OpenFeint を使用することにし

  • PHP Xdebug のProfile の手軽な共有ツールを作ったよ

    お疲れ様です。sasaki-kです。毎日暑いですね。 KLabではPHPで作られたフレームワークの高速化が熱いです。 高速化にあたっては、計測が重要です。 KLabではphpのxdebug extensionを使用し、プロファイル結果をcachegrindファイル形式で取得しWinCacheGrind で解析しています。 また皆でレビューするために Webgrind で解析結果を共有したり、言葉で説明しています。しかし、 Webgrindは一見してボトルネックが分かりにくかったり、言葉では説明がもどかしかったりしていました。 一方、KLabではCodepaste の社内版があり、 フォーマット済みのコードをフォームに貼りつけ、ブラウザのアドレスバーからURLをコピーしてIRC貼りつけてレビュー対象のコードを手軽に共有しています。 WinCacheGrind WebGrind codepa

  • Mod cidr lookup - KLablabWiki

    Overview mod_cidr_lookupは、アクセスしてきたクライアントのIPアドレスが、起動時に読み込んでおいたCIDRブロック群のいずれかにマッチするかどうかを判別するためのモジュールです。Apache 2.0と2.2系に対応しています。 マッチした結果は、環境変数 (X_CLIENT_TYPE) とHTTPリクエストヘッダ (X-Client-Type) にセットするので、Apache自身とバックエンドのWebアプリの両方で同じ情報を参照することができます。 使用例 ※IPアドレス帯域の正確性などについては、情報提供元にお問い合わせください。 クローラからのアクセスは別のサーバにreverse proxyする モバイル用のクローラには、送信元IPアドレスを公開しているものがあります。 Google モバイルウェブクローラー モバイル版Yahoo! livedoor De

  • 非同期I/O Linux

    非同期I/O 概説 Introduction to Asynchronous I/O AIO, I/O Multiplexing… 2007年8月6日 KLab 株式会社 Kラボラトリー 廣瀬 正明 Copyright © KLab Inc. All rights reserved. 今日の目的 非同期I/Oとは何かを知る 非同期I/Oを使うと何がうれしいのかを知る 非同期I/Oを実現する手段(複数)を知る Copyright © KLab Inc. All rights reserved. アジェンダ 非同期I/Oを使う理由 非同期I/Oとは? AIOの実装を紹介 AIOの使い方 落穂ひろい Copyright © KLab Inc. All rights reserved. アジェンダ 非同期I/Oを使う理由 非同期I/Oとは? AIOの実装を紹介 AIOの使い方 落穂ひろ

  • Makuosan - KLablabWiki

    概要 MAKUOSAN (Multicasts All-Kinds of Updating Operation for Servers on Administered Network) makuosan(まくおさん:通称「まくお」)は、複数のサーバへ同時にファイルを転送するソフトウエアです。 以下のような特徴があります。 サーバが増えても転送時間が変わらない サーバが増えても、転送にかかる時間はほとんどかわりません。10台のサーバに転送しても、20台のサーバに転送しても、ほとんど同じ時間で完了します。ただし、転送時間は一番応答が遅いサーバの性能に引っ張られるので、同程度のスペックのサーバで構築された環境で利用することが望ましいです。 すべてのサーバで同時にファイルが更新される マルチキャストを使って全サーバへ同時にファイルを転送するため、「このサーバのファイルは更新されてるけど、あのサ

  • LVSで実現するロードバランサ - KLablabWiki

    環境構築 それでは実際に、Linuxベースのロードバランサを構築していきます。最近では標準でIPVSをサポートしているディストリビューションが多いので、必要なパッケージをインストールして少し設定するだけで動作させることができる便利な世の中になってきています。 今回使用するソフトウエアについて Debian GNU/Linux3.1(sarge) ディストリビューションはDebianを使用します。 IPVS対応カーネル ロードバランサの基機能であるIPVSはカーネルの内部に実装されています。そのためIPVSに対応したカーネルが必要になります。Debian付属のカーネルイメージ(2.6.8-3)でも利用できますし、自前で再構築してもかまいません。カーネルを再構築する際の注意点については後述します。 ipvsadm IPVSを制御するためのツールです。仮想サーバグループの追加やリアル

  • Repcached - KLablabWiki

    repcachedについて repcachedとは、memcachedにデータのレプリケーション機能を追加実装したものです。 memcachedは、以下のようなところによく使われると思います。 一時的なデータの保存場所として キャッシュを保存する場所として RDBMSのデータのキャッシュ 生成したページデータのキャッシュ いずれの場合も消えていいデータなので、万が一memcachedがダウンしても問題はないはずです。 しかし、影響が全くないわけではありません。 例えば、MySQLのデータをmemcachedでキャッシュしている場合、memcachedがダウンしている間は直接MySQLにアクセスがいくことになりDBサーバの負荷が上がります。また、memcachedを再起動してキャッシュが失われた場合は、再びキャッシュが溜まるまではDBサーバに負荷がかかることになってしまいます。 このように

  • symfony × MySQL × Shift_JIS: 0×5c関連

    symfonyでアプリケーションを作成していた際に、文字コード絡みで面白い事象に遭遇したので記事にすることにしたw 携帯用のWebアプリケーションを作っていたのだが、 Webサーバ側での出力データの文字コードをShift_JISに統一するため、 以下のように全ての文字コードをShift_JIS/cp932に統一して実験してみた。 MySQL(my.cnf) [client] default-character-set=cp932 [mysqld] default-character-set=cp932 現在の設定状況を確認。 mysql> show variables like 'character_set%'; +--------------------------+----------------------------+ | Variable_name | Value | +-

  • 1