タグ

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

  • ウノウラボ Unoh Labs: JavaScriptライブラリといえば jQuery(入門編)

    こんにちわ。山下です。 最近、私の周りではJavaScriptライブラリといえば、jQuery の名前がまず最初に挙がってくるようになってきました。今回は、jQueryって何が便利なの?っていう人向けに、ポイントを掻い摘んで説明します。 1.名前空間を汚さない 他のJavaScriptライブラリとかだとStringとかArrayを直接拡張してたりしますが、jQueryはグローバルな名前空間を汚しません。eachとかmapのような便利な関数もすべてjQueryオブジェクトの属性として定義されています。 jQuery.each, jQuery.extend, jQuery.grep, jQuery.map, jQuery.merge, jQuery.trim, etc. また、標準では $ にショートカットが割り当てられるのですが、jQuery.noConflict()と書くことで proto

  • ウノウラボ Unoh Labs: 5分でできるウェブサーバのセキュリティ向上施策

    こんにちは、naoya です。 先日、ウノウが公開しているサービスの中にいくつかの脆弱性が見つかったため、社内で「脆弱性発見大会」を開催しました。この大会は、二人一チームに分かれてウノウが公開している各サービスの脆弱性を見つけることを目的とした大会です。結果は、いくつか各サービスに脆弱性が見つかり、すぐに修正することができました。 僕のチームは、ウノウのホームページやラボブログなど細かいサービスを担当しました。その中で、いくつかのウェブサーバにセキュリティ上あまい設定がありました。 今日は、ウェブサーバのセキュリティ向上のための設定方法についてエントリします。なお、ウェブサーバはApache 2.2系を前提としています。 サーバ情報の表示しない ウェブサーバ(Apache)で、404などのエラーページを表示したとき、ヘッダやページの下にApacheやOSのバージョンが表示されます。こういっ

  • ウノウラボ Unoh Labs: Flashの新しい可能生 Asynchronous Flash + XMLSocket

    尾藤正人(a.k.a BTO)です 昨日ラボプロジェクトとして実験的に開発している新規プロジェクト「プラッシュ」をβ公開しました。 簡単に説明するとプラッシュはFlashとXMLSocketを使う事でブラウザだけでネットワーク対戦ができるゲームポータルサイトです。 今回はプラッシュで使われているFlashとXMLSocketを使ったアプローチについて考察してみたいと思います。 はじめに 正直に告白すると僕はFlashを一行も書いた事がありません。(汗) なので、Flashの部分に関してはFlash側の開発者であるyossyに聞いたり、Webで調べた情報がほとんどです。 不正確な情報が含まれてる可能性がありますが、その辺を考慮していただければと思います。 FlashのXMLSocketで何ができるのか FlashのXMLSocketを使うと直接ソケット通信を行う事ができます。 AjaxやCo

  • ウノウラボ Unoh Labs: MySQL オペミスでデータが破損してしまった場合の復旧方法

    こんにちは satoです。 オペミスで update に where句を付け忘れたり、プログラムのバグでデータが破損してしまったりした場合でも、バイナリログには更新SQLがすべて書き込まれるので、バックアップデータからオペミスが起こるまでの全てのSQLを流し込めれば、元の状態に戻すことは可能です。 •バイナリログを取っている •オンラインバックアップをとっている(mysqldumpMySQLを止めた状態でのcpによるバックアップとバイナリログ) •バックアップ時点でのバイナリログの書き込み位置を保存している 以上のような状態でデータが壊れた時の復旧手順をまとめてみました。シナリオとして •ある1カラム email をupdateしようとしたら、間違ってwhere 句を付け忘れ 全レコードをupdateしてしまった •気がついたのが半日後 というオペミスが発生したとします 1) データベー

    komz
    komz 2007/08/22
  • ウノウラボ Unoh Labs: ブログパーツ貼り付けタグのまとめ+Googleガジェット@はてな

    ごらんの通りこれらのタグは、一部例外を除き少なくとも上表にあるブログサービスでは、すべてOKかすべてNGかのどちらかで、つまりこれらのひとつがNGなら他のタグもNGであるようなので、どのタグを選択するか、ブログサービス側の制限を考慮して悩む必要はないようです。 そうするとFlashオブジェクトの表示は、「Internet ExplorerでのActiveXコントロールのアクティブ化問題」を考慮するなら、OBJECTタグを直接記述するのは避けて、JavaScriptで行ったほうがよいのかなと。 全般的な留意点 貼り付けコードはブログの投稿設定などに影響されないように配慮しておく必要があります。特に、サイドバーだけではなく記事文中にも貼り付けられることを想定している場合は、以下の設定は、殆どのブログサービスで記事文の投稿についてはデフォルトでONの筈なので、こうした設定に影響を受けないもの

  • ウノウラボ Unoh Labs: フォームのユーザビリティを改善する10のTips

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    ウノウラボ Unoh Labs: フォームのユーザビリティを改善する10のTips
  • ウノウラボ Unoh Labs: 言語モード毎にキーボードマクロを設定する(Emacs)

    こんばんは。bokkoです。 Emacsを使っている人に限らず、タイプ数を減らすために、 キーボードマクロを使っている人は多いと思います。 私の場合、for文やmain関数などをキーボードマクロで自動生成したりしているのですが、 最近、ほかの言語の構文と名前がかぶってしまったり、 RubyPythonで書いているときは欲しいんだけど、 CやC++で書いているときは、全然いらないマクロがあったりするのが気になったので、 整理することにしました。 最初はマクロに言語の名前をつけて区別しようとしたのですが、 Emacsではadd-hookが使えるので、そっちを使って言語モード毎にマクロを設定することにしました。 (setq c_macros_dir "~bokko/emacs-macros/c/") (add-hook 'c-mode-hook '(lambda () (loa

    komz
    komz 2007/08/16
  • ウノウラボ Unoh Labs: Pythonで携帯の機種判別をする

    こんにちは、chihiroです。今回はPythonでモバイルサイトを開発する場合に便利なライブラリ、WSGIUserAgentMobileを紹介します。これはUserAgentからキャリアや端末情報を取得するためのライブラリです。 Google Code WSGIUserAgentMobile http://code.google.com/p/wsgiuseragentmobile/ これは基的にはPHPのPEAR::Net_UserAgent_Mobile、さらに元を辿ればPerlのHTTP-MobileAgentを、僕がPythonに移植したものですが、いくつか独自のメソッドやプロパティを追加しています。インストールから、基的な使い方、Djangoで使用する場合の例をご紹介します。 インストール 諸般の事情によりまだPython Package Indexに登録していないので、開

    komz
    komz 2007/08/16
  • ウノウラボ Unoh Labs: ブラウザ上で翻訳ファイルが編集できるソフト「Pootle」

    komagataです。 アプリケーションを国際化する場合は大体gettextを使ってPOファイルを作って、MOファイルを作ってという感じですが、エンジニアでない人に使ってもらったり、複数の人と共同で翻訳作業をしたい場合に敷居の高さを感じてしまいます。 もっと手軽に翻訳作業が出来るソフトが無いかと思って探したところ、Pootleというソフトを知りました。 Pootleの特徴: ブラウザ上でPOファイルの編集。 CVS, Subversion, darcsといったバージョン管理ソフトとの連系。(updateやcommitができる) 複数プロジェクトの管理。 ブラウザ上でユーザー管理。 プロジェクト毎にユーザー単位の細かい権限管理。 単数系・複数系への対応。 Fuzzyへの対応。 Python製。 BitTorrentやFirefox, GNOME, KDE, OpenOffice.orgの一部

  • ウノウラボ Unoh Labs: Webアプリケーションの国際化

    komagataです。 先日、社内の勉強会でWebアプリケーションの国際化について話したので資料を公開します。 資料内で出てくるソースは下記でダウンロードできます。 hello_gettext.tar.bz2 rails_gettext.tar.bz2 関連: ブラウザ上で翻訳ファイルが編集できるソフト「Pootle」

  • ウノウラボ Unoh Labs: グラフィック作りのコツとカン

    こんにちは。yamazakiです。 前回はレイアウトなどについて非常にざっくりとですが書いてみたわけですが、いかがでしたでしょうか。 そろそろ「グラフィック」のほうも少し書いてみようかという気になってきたので、グラフィック品質を高めるベーシックな技術についても少しずつ書いていってみようと思います。 基のき 具体的な話に入る前に、まずは基的な話から。 とりあえず、ざっとあなたの周囲を見回してみてください。壁にしても、PCにしても、「単なる一色のベタ塗り」にはなっていないのではないかと思います。光の加減などで、「影」や「グラデーション」がついていると思います。また、ものの表面には「つるつる」「ざらざら」といった「質感」があるのが当たり前、という中で私たちは生活しています。 そのため、人の目はそういう「グラデーション」や「影」、「質感」がある状況を「見慣れて」います。 グラフィック上

  • ウノウラボ Unoh Labs: プログラミングに使いやすいフォントを選ぶ

    yukiです。 人によってまちまちですが、見易さや生産性にかなり影響する(と思っている)プログラミング時のフォントについて紹介します。 マカーの方はデフォルトで十分読みやすいフォントが入っているので、ここではwindows向けとして紹介させて頂きます。 個人的に選ぶポイントは、 ゼロ・オーは斜線で区別がつく 日語も使える 長時間見ても疲れない(一番大事) です。これいいよ!というのがあったら絶賛募集中です。 有名どころかもしれませんが M+フォント M+フォント posted by (C)フォト蔵 普段はコレを使わせていただいています。 自分的にはゼロ(0)とオー(O)の差が分かりやすく◎です。 ゼロの中にスラッシュやドットが入っていて読みやすく、等幅なので使いやすいです。 VLゴシックフォントファミリ 上記のM+を元に製作されたフォントです。 弊社CTOが過去に参加

  • ウノウラボ Unoh Labs: buttonタグでサブミットするあれこれ

    CSSでいつも悩まされるのはクロスブラウザですけど、フォームでは特に面倒くさい要素が山盛りですよね。ボタンの文言を動的に変えたいから画像はなるべく使いたくないけど、だからといってブラウザのデフォルトのボタンとか、味気ないですものね。 今日は、フォームにつきもののボタンについて考えてみます。 私たちがボタンに求めるモノって、何でしょう。 データを送信(submit)する どのブラウザでも同じように見える 使い回しが聞く ボタンについている文言がどんなに長くなっても、水平方向の長さがフレキシブル 上記のようにサイズ的にフレキシブルであっても、見た目の美しさを阻害しない ボタンの大きさ=クリックできるエリアの大きさ 画像がdiableされていても使用可 CSSがdisableされていても使用可 ボタンのように見えて実はただのリンクの時のもある これらの要求を解決してくれる方法が複数出

  • ウノウラボ Unoh Labs: PHPで暗号化して、Flashで復号してみたときのメモ

    Keitaです。 もう、半年くらい前になりますが、画像をFlashとPHPの間だけデータを暗号化できないかなーとおもって試したことがあります。結論としては、Flashで解読できているということは、Flashをうまいことやればデータが抜き出せるし、そもそも、暗号化する意味が個人的に皆無だったのと、画像ほど大きいデータになると解読に時間がかかってしまったので、「あー、まぁほかにやることもあるし、いいや」とおもって、忘れることにしました。 でも、まぁ昔こういうことやって遊んだなぁという記録と、もしかすると誰かの役にたつかと思い記事にさせていだきます。 環境は、サーバサイドはPHP5で、クライアントは、Flex2で作成しました。 PHP側でデータをこんな感じに暗号化して、それをクライアントで受け取る感じにしました。 暗号化形式は、Blowfishを利用しました。 まず、データの暗号化の

  • ウノウラボ Unoh Labs: JavaScriptを使わないスターレイティングの作り方

    こんにちわ、山下です。 Amazonなどで使われているような商品を☆の数で評価するスターレイティングというものがあります。今回は、CSS The Star Matrix Pre-loadedに紹介されている記事を参考に、その作り方を簡単に紹介しようと思います。 1.画像を用意する まず次のような1枚の画像を用意します。16×16ピクセルの☆が、横に5個、縦に11個並んでいて、下に向かうに従って色の付いている☆の数が増えているのがポイントです。 2.HTMLを書く HTMLはとてもシンプルで、ULリストを使います。 <ul class="rating onestar"> <li class="one"><a href="#" title="1 Star">1</a></li> <li class="two"><a href="#" title="2 Stars">2</a></li> <l

  • ウノウラボ Unoh Labs: 携帯サイト作成のためにも使えるPHPのライブラリ

    harukiです。 携帯サイト作成の際に使えるPHPのライブラリを知っているだけ羅列してみます。 Net_UserAgent_Mobile 基となるライブラリです。機種判定など、様々な用途に使用します。 細かい情報については、スクレイピングなどをしたりして自前で用意する必要があります。 PEAR::Mail メールの送信に使用できます。 特殊な送信の際は、Mail::factory()にsmtpで使用することになりますが、キャリアの迷惑メールの設定にも気をつける必要があります。 Mail_mime_Decomail (Y-110's Wiki) Mail_mimeと同じ使い方で、デコメール送信用にMIMEを組み立てることができるのでとても便利です。 Mail_mimeDecode 空メール・エラーメールなどを受け取って解析する際に使用します。 解析の際には、Mail_RFC822:

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

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

  • ウノウラボ Unoh Labs: WEBアプリテストのチェック項目リスト

    こんにちは!やまもと@テスト番長です。 TestingGeekという耳障りの良い名前のサイトをご存知でしょうか? 総合的にテストの話を取り扱っており、それでいて読みやすいサイトです。 そこのTemplatesのコーナーにWeb Application Testing Checklist という便利そうなものがありましたので、日語にしてみました。 ちょっとそのままだと物足りない感がありますが、テストポリシー作成の叩き台に使ってみるのも良さそうですね。 この手のリストを他にもご存知の方がいらっしゃれば、是非ご一報ください。 1. 機能テスト 1.1 リンク 1.1.1 記載された通りの先に遷移するか 1.1.2 どこからもリンクされないページは存在しないか 1.1.3 全ての外部リンク 1.1.4 参照しているサイトおよびメールアドレスはハイパーリンクになっているか? 1.1

  • ウノウラボ Unoh Labs: ベンチャー流Webサービスの作り方(開発チーム編)

    尾藤正人(a.k.a BTO)です 前回はWebサービスを作るときの企画の部分について書きました (ベンチャー流Webサービスの作り方(企画編))。 今回はWebサービスを作るときの組織作りについて書いてみたいと思います。 僕がウノウに入って始めたのがフォト蔵の開発でした。 当初は開発が僕、ディレクションが代表の山田という二人体制でやってましたが、 組織が大きくなるにつれてだんだんと人数が増えていきました。 現在は僕も山田もフォト蔵からは離れて新しいチームで開発を行っています。 二人体制から始めて、少しずつ人数を増やしていって、 立ち上げメンバーが開発から離れるまでいろいろ経験しながら 自分が感じた事を簡単にまとめたいと思います。 ・最終決断は一人で 何をするのか、戦略はどうするのか、方向性は何なのか、最終的な決断はリーダーが一人で行います。 個人の主張を尊重しすぎて、各々が好きな事を始め

    komz
    komz 2007/07/27
    *development
  • ウノウラボ Unoh Labs: PHP標準の機能(だけ)でウェブサイトのサムネイルを作る

    ではまず試しにInternet Explorerのウィンドウをキャプチャーして、そのサムネイル(ここでは160×120ピクセル)を表示してみましょう。PHPからIEを操作するにはCOMを使用します。 <?php $url = 'お好みのURLをどーぞ'; if (!extension_loaded('gd')) { exit('GD library is not loaded.'); } elseif (!function_exists('imagegrabwindow')) { exit('Function imageGrabWindow is not exist.'); } try { $ie = new COM('InternetExplorer.Application'); $handle = $ie->HWND; $ie->Width = 800; $ie->Height = 6