タグ

ブックマーク / labs.unoh.net (43)

  • ウノウラボ Unoh Labs: yumのローカルミラーリポジトリを構築する方法

    naoya です。 フォト蔵などのサービスは、社内にあるサーバ群で運用しています。現在、サービスの規模が成長するにつれて、サーバの台数も約20台強くらいになってきました。 すべてのサーバには、Fedora Core 5がインストールされていて、すべてのサーバにまったく同じパッケージがインストールされています。パッケージの更新には、Fedora Core 5に付属しているyumを使ってすべてのサーバを定期的に更新をしているのですが、yum-fastestmirrorをインストールしている状態でもパッケージの更新に時間がかかるようなってきました。 そこで、一台のサーバにyumのローカルミラーリポジトリを構築してパッケージのダウンロード時間を減らしてみました。今日は、yumのローカルミラーリポジトリを構築する手順を紹介します。 1.必要なパッケージのインストール yum-utilsとcreate

  • ウノウラボ by Zynga Japan: わんわん

    きゃんきゅーんわんわおんわーんばうきゃんきゃんきゃうんわおんわおんわんきゃんきゃんきゃうんきゃんきゃん! わうわーん。 わんわーんわんわうわん。 わんわおんわんわおんわん! きゃうんわーんわうきゅーんわおんわーんばうわおんわんわおんわん。 わーんわーんきゃんわうわんわんわおん! わんきゃんきゃんわうわーんわんきゃんわおんわんわおんわん! わん。 きゃうんきゃんきゅーん。 わーんわんきゃんわうわーんばうわんわんわうきゅーんきゃんわんわーんわおんわん。 きゃうんわおんわおんわおん! きゃんわおんわおんわんばうわおんわんばうきゃんわおんきゃうんわおん! わんわおんばうきゃん! わうきゃうんきゃんわおんきゃんきゃんわおん! わんきゃんわーんわーんわんきゃうんわんきゃんきゃんきゃんきゃんきゅーんきゅーんわおんわんわおんわーんわーんわんわんわんばうわおんわんきゃんわーん!

  • ウノウラボ by Zynga Japan: サーバ情報を収集する Ruby スクリプトを書くには

    こんにちは。kyagi です。今回はサーバ情報を収集する Ruby スクリプトを書く方法をお知らせいたします。具体的には Facter モジュール(※1)の紹介と使い方になります。 Ruby にはサーバのホスト名、IP アドレス、OS、ハードウェアなど様々な情報を収集するために Facter というモジュールが提供されています。RPM では「facter」というパッケージ名で提供されています。ターミナルから実施できるインターフェイスとして同名の「facter」というコマンド(※2) が用意されており、以下のように実施するだけでそのサーバの色々な情報を一度に取得することができます。 $ facter (... snip ...) architecture => x86_64 domain => local.hoge.bar.net (... snip ...) ipaddress_eth0

  • ウノウラボ Unoh Labs: VMWare ESXi4 で開発サーバを仮想化しよう

    こんにちは、ryosukeです。 現在ウノウでは開発環境にVMware vSphere Hypervisor (ESXi4.1) を使ってプロジェクト単位で仮想サーバを構築しています(たぶん)。 私はインフラチームに関わってないので、実際のところ会社の開発サーバがどうなってるか詳細までは知らないのですが、今回は自宅の開発サーバでVMWare ESXi4を利用して仮想マシン作ってコピーで増やして開発サーバが沢山作れたよ、というところまで順を追っていこうと思います。 物理的に必要なものはサーバとして稼働するマシンと、クライアント(ハイパーバイザを操作するクライアント)として使うwindowsマシンと、DVDブランクメディアが1枚です。 内容は簡単ですが、ステップ数が多いので可能な限り箇条書きにします。 インストール VMWare社のサイトでVMware vSphere Hypervisor

  • ウノウラボ Unoh Labs: MySQLのチューニングのためのデータの集め方

    いつの間にか会社で古株になったyamaokaです。 webアプリケーションのバックエンドにMySQLを使っている場合、 クエリ(SQL)のチューニングをする必要がありますよね。 皆さんはチューニングの計画をどのように立てていますか。 もちろん、既に明らかに重いことが想定されているページがあれば、 その処理で使われているクエリを中心にEXPLAINなどを使って解析していけばいいと思います。 でもそうではなく、全体的にクエリの見直しやチューニングを行いたい場合は 実際に実行されているクエリを確認していくという作業が必要です。 そこで使うことができる3つの方法について書きたいと思います。 遅いクエリを記録する MySQLにはスロークエリログといって、 実行に時間がかかったクエリを記録する機能が最初から付いています。 /etc/my.cnfに次のように設定を書けば実行時間が1秒を超えたクエリが出力

  • ウノウラボ Unoh Labs: 今からはじめるCassandra入門

    こんにちわ、7月に入社したばかりの@emorinsです。 題名の通りですが分散データベース『Apache Cassandra』を紹介したいと思います。 少し前はHadoop(とHBase)と比較されることの多かったCassandraですが、最近はHadoopの人気に押されつつあるようにも感じます。 しかし、CassandraとHadoopは特徴が異なり、よく言われるのがCassandraはリアルタイム処理に向き、一貫性のかわりに可用性を重視し、またHadoopとは違って単一障害点もありません。 今日はそんなHadoopとは違った魅力のある分散データベース『Apache Cassandra』をはじめてみましょう。 目次 Cassandraとは アーキテクチャ Cassandraの特徴 コンシステンシレベル データモデル MemtableとSSTable セットアップ storage-conf

  • ウノウラボ Unoh Labs: 仮想マシンとLVM2で簡単サーバ構築

    はじめまして、7月に入社いたしましたsatoshiと申します。 会社でも自宅でもPCMacにして、Linuxと同じ操作感で使用できて快適な今日この頃ですが、皆様いかがお過ごしでしょうか? 今回、KVM(Kernel-based Virtual Machine)とLVM(Logical Volume Manager)を使用して、サーバ構築すると便利なケースを紹介したいと思います。 新しくサーバを構築する場合、OSインストールイメージをDVDに焼いて、DVDをドライブに挿入して、手順の通り選択して...となると思います。 (中には、Cobblerを使用しているという先進的な方もいらっしゃるかもしれませんが) 仮想マシンでは新たにサーバ環境を構築する場合、既存の仮想ディスクをコピーして使い回せるのでインストールの手間を簡略化できます。 さらに、一歩進んでLVMで作成したスナップショットLVを使

  • ウノウラボ Unoh Labs: zshはじめました。

    今までずっとbashを使ってきて、やっとこzshに乗り換えることに踏み切ったHIROKIです。 昔に同僚がOSデフォルトでついてくるシェルではもの足らず、zshを導入した後にシステムに大きな変更を加えてzshが正常に動作しなくなりました。ユーザーではもちろんログインできず、rootのシェルもzshにしていたために、rootでもログインできず、どうにもこうにもならない状態となっているのを目撃してからはOSデフォルト以外のシェルを使うのをやめていました。 扱うのはLinuxが中心だったので、いままでbashが中心。 FreeBSDを扱うときは、もちろんcshでした。 そして、ウノウではみんなzshであり、魔法のようなコマンドさばきを見ていて、とうとうzshに踏み切りました。 そんなこんながありまして、zshを改めて設定してみました。 皆さんも、導入を検討してみてはいかがでしょうか。 まず、

  • ウノウラボ Unoh Labs: 英語が出来るように思わせてみる

    はじめまして、去年末に入社しましたkayです。 エンジニアとしてまだまだな私ですので、少し英語のお話でもしようと思います。 私自身、アメリカの大学に3年ほど通っており、ついこの間卒業したばかりなのですが、アメリカにいた頃はスラングだということすら知らずに使っていた英語もたくさんありました。 スラングというのはもともAfrican-Americanが使っている言葉として知られていたと思いますが、今は主に若者の言葉や外国の英語の教科書には載っていない用法のことを指しているのではないかと個人的に思っています。 そして、スラングはアメリカ人たちが楽するために使用されるものが多く、仕組みを理解することで外国人でもだいぶ楽して英語を扱える+英語が得意な人だと思わせられるようになります。 ただ、初心者がスラングばかり(特に文法的に間違っている文)を使っているとちゃんとした英語が身に付かない場合も

  • ウノウラボ Unoh Labs: Q4Mを触ってみる

    yukiです。そろそろクリスマスですね。みんな浮かれていればいいと思います!最近急に目が悪くなって、ツリーの赤色電球と居酒屋の赤提灯の色が判別出来なくなってきました。嘘です。 今回は、みんな大好きメッセージキュー、Q4Mを触ってみた感想を今更ながらレポートします。 公式ページはこちらhttp://q4m.31tools.com/ Q4Mはサイボウズラボの奥 一穂氏が開発されており、MySQLの5.1以上でストレージエンジンとして利用できるメッセージキューで、MySQLプラグインとしてGPLライセンスで配布されております。 特長 MySQLのストレージエンジンとして利用できるので、テーブル作成時にストレージエンジンを指定するだけで利用できます。 CREATE TABLE hoge ( ... ) ENGINE = QUEUE キューの作成(enqueue)は通常のレコード操作と同様にINSE

  • ウノウラボ Unoh Labs: サーバのネットワーク速度の調査/測定方法

    こんにちは。kyagi です。先日データセンタ内のサーバ群のうち、なぜか特定の1台だけネットワークの速度が極端に遅いという問題がありました。今回はサーバマシンのネットワーク速度の測定方法と原因についてお話しします。同様のトラブルが発生している方のお役に立てば幸いです。問題解決までの手順としては以下になります。 1. 現在の状態を調べる 2. ハード/ソフト含めて考えられる原因をいくつか挙げる 3. 原因について改善されるまでひとつひとつ検証していく まず現在の NIC の HW 情報とドライバを lspci で調査します。ここでは Broadcom の NetXtreme BCM5722 という NIC を使用していることがわかります。 # lspci -vvv | grep Ether 01:00.0 Ethernet controller: Broadcom Corporation

  • ウノウラボ Unoh Labs: 分かったつもりになるAndroid開発方法

    こんばんは。うちだです。 皆さんAndroid携帯は購入しましたか? 社内ではiPhone勢が多く、Android携帯所持は私だけという悲しい現実を目の当たりにしています。 そこで以前、社内勉強会にて、Androidの素晴らしさを皆に知ってもらおうと発表した内容が今回のエントリーです。 今回のエントリーでは開発者視点で分かったつもりになる為に、広く浅く書いてます。 気で分かるには公式ドキュメントや書籍及び参考リンクをご参照ください。 参考: Android | Official Website 特徴 環境 Linuxカーネル BSD UNIXのlibc アプリケーションはDalvikと呼ばれるVM上で動作 主にJavaで開発 Google提供のSDKあり Eclipseプラグインあり アーキテクチャ 参考: わかった気になる気になるandroid メリット マルチタスク inten

  • ウノウラボ Unoh Labs: PubSubHubbubとは

    yamaokaです。 Twitterのみならず、FriendFeedやFacebookなど よりリアルタイムに近い更新がwebで求められるようになってきています。 従来、更新情報の配信はRSSなどのフィードやAPIを通して行われてきました。 しかしその場合、配信している側のサーバーに 定期的にリクエストを投げないと更新があったかどうかわかりません。 サーバーへのアクセスが多くなった場合、結構な負荷になります。 さらにお行儀の悪いクライアントが存在すると、頻繁なアクセスを繰り返し、 あたかもDoS攻撃のような状況が起こることもありえます。 そこで考えられたオープンなHTTPベースのプロトコルがPubSubHubbubです。 Google ReaderとFriendFeedが対応している他、 日国内ではlivedoor Blogとliverdoor Readerがそれぞれ対応しています。 で

  • ウノウラボ Unoh Labs: 国産MySQLストレージエンジン「Spider」の作者、斯波健徳氏に聞く

    こんにちは。中村です。 MySQLにはMyISAM、InnoDBCSVなどのいくつかストレージエンジンがありますが、皆さんはSpiderというストレージエンジンを聞いたことはありますでしょうか。Spider Storage Engineは斯波健徳さんにより作成されたDatabase Shardingを可能にするストレージエンジンでMySQL 5.1で利用可能です。 先日、某集まりで斯波さんとお会いしたときにSpiderを作っているということを教えてもらったので、早速詳しい内容を教えてもらうことにしました。 ※Spiderについての説明資料はMySQLカンファレンス 2009にて斯波さんが発表されたときのスライドがあります。スライドの直リンク(zip) Spider Storage Engine について posted by (C)フォト蔵 Spider Storage Engineとは?

  • ウノウラボ Unoh Labs: iモードブラウザ 2.0まとめ

    こんばんは、五十川です。 ご存知の通り、5月以降に発売開始されたNTTドコモの携帯電話の殆どには、新しいiモードブラウザ 2.0が搭載されています。iモードブラウザの大幅な仕様の拡張はi-XHTMLの登場以来ということになりますが、iモードの登場から10年経って登場した新しいブラウザは、i-XHTMLのときよりも遥かに大きな、過去最大の変化を遂げています。 iモードブラウザ 2.0の詳細は、ドコモ公式のiモードブラウザ 2.0にまとめられています。以下では主要な変更点を確認していこうと思います。 キャッシュ容量拡大 1画面あたり読み込めるデータの最大量が、従来の100Kバイトから500Kバイトに、大幅に拡大されました。ご存知の通りiモードの場合この値は、画像などの外部リソースもすべてひっくるめた値ですが、iモードブラウザ 2.0では、新たにCSSファイルやJavaScriptファイルも外部

  • ウノウラボ Unoh Labs: 10テラバイトマシンのつくりかた

    「iPodの残り容量が200MBを切った」と社内で発言してから「iPhoneを買おう!」としきりに言われるようになったbokkoです。そんな私は先月、ホコリをかぶっていたデスクトップPCを筐体ごと買い換えました。今ではMacBookからSSHでログインしてコンソール上で快適な生活を送っています。 今月、2TBのHDDを6使ったサーバを立てる機会がありまして、今日はその時のお話です。 HDDの容量とストレージサーバ Webサービスのインフラを構築・運営していると、膨大なデータをどう扱うかといった問題にぶち当たることがあります。仮想化技術の進歩によって複数のOSを1台のマシンで同時に稼働させつつ、物理的なマシンの数を減らすことができるようにはなりましたが、物理的な媒体であるHDDを1台のマシンに搭載できる数には限りがあり、ソフトウェアであるOSの仮想化みたいにじゃんじゃん増やすことができませ

  • ウノウラボ Unoh Labs: RDBで階層構造を扱うには?

    yukiです。ダイエットを始めて3kg減ったと思ったら、風邪を引いて見事に1kg増量。 運動しないと駄目ですね。あと残り20kg、道のりは遠いです。 さて今回は、「RDBで階層構造を扱うには?」です。 あるサイトを構築中に階層構造をもったカテゴリ構造にすることになり、どのようにDBで扱うか悩みました。 DBMySQLを採用していたので、この時点でぱっと頭に浮かんだ選択肢は以下のようなものでした。 XML-DBを利用する 親カテゴリレコードのプライマリIDを子カテゴリレコードに持たせる 親を含めた『絶対パス』を名称として扱い、取り出した後にパース ファイルシステムに同様のディレクトリ構造を作り、毎回パースする (1)のXMLDBはオープンソースのeXistやXindice、Yggdrasillなど様々な選択肢がありましたが、カテゴリのみの利用な割にメンテナンスコストが高すぎるので見送りま

  • ウノウラボ Unoh Labs: Sinatra気に入った

    先日、まちつく!が正式リリースになりました。よろしければ是非携帯でアクセスして遊んでみてください。 おはようございます。内田です。 今までRailsを使うほどでも無いアプリはオレオレフレームワークで作ってたのですが、最近巷で流行ってるsinatraのコードを読んでみたら必要十分な機能があり、センスも良く、とても気にいった。 今回は公式ドキュメントの流れで、使いそうな機能をまとめてみました 一番簡単な例 sudo gem install sinatra # app.rb require 'rubygems' require 'sinatra' get '/' do 'Hello, world' end ruby app.rb curl http://localhost:4567/ Routes HTTPメソッドにURLとブロックを渡します get '/' do end post '/'

  • ウノウラボ Unoh Labs: OpenSocialを始めよう!第1回

    こんにちは五十川です。 先日、gooホームとmixiアプリが立て続けに公開され、いよいよ日でもOpenSocialが注目を集めるようになりました。そこで今回は、これからOpenSocialアプリケーションの開発を始めるにあたっての基礎的な内容をまとめてみたいと思います。 OpenSocialとは Google Code - OpenSocialの冒頭には、OpenSocial は複数のウェブサイト間で使用可能な、ソーシャル アプリケーションの共通 APIの定義であると書かれています。 あるOpenSocial対応のウェブサイトで動作するプログラムは、他のOpenSocial対応アプリケーションでも動作する — 例えばmixiアプリ用のプログラムは、gooホームやMySpaceなどでもそのまま動作する可能性があるというのがOpenSocialの重要な点です。もちろんウェブサイトごとに細部の

  • ウノウラボ Unoh Labs: シェルの仕組み(後編)

    ウノウでは特に最近、積極的にエンジニアを採用しています。 採用ページをご覧になり興味のある方、ぜひご応募ください!! Find Job!でも募集開始してます! 尾藤正人(a.k.a BTO)です 前回の勉強会でシェルの仕組み(前編)というのをやりましたが、今回はその後編をやりました。 前編と合わせて見ていただくと、シェル内部で使われている仕組みが一通り分かるようになるかと思います。 資料及び動画を公開しますので、もしよろしければご覧ください。 Shell 2