タグ

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

  • ウノウラボ 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: デキるテスターの七つの習慣

    こんにちは!やまもと@テスト番長です。 今回はなんだか怪しいタイトルになってしまいましたが、 テスターの心構えについての良い記事がありましたのでご紹介します。 The Seven Habits of Highly Effective Testers - By Steve Miller 以下、まとめ(超意訳)です。 ぜひ原文もお読みになってください。 1. 前向きであれ プロジェクトが失敗した時、それが他の人や事情のせいだったと考えても得るものはありません。 失敗から得た教訓を次に繋げるべきです。 要件定義に参加するようにしましょう。 漏れがないかトレーサビリティを分析しましょう。 テストの効果をメンバーに伝えましょう。 不具合を分かりやすく報告しましょう。 2. ゴールを念頭に置く 周囲と相談の上、前もってゴールとなる品質基準を決めておくべきです。 評価基準を満たしたかどうか

  • ウノウラボ Unoh Labs: 見ないと損する ソフトウェアテスト関連サイト色々

    こんにちは!やまもと@テスト番長です。 今回は自分が普段チェックしている、ソフトウェアテスト系のサイトを色々ご紹介してみようと思います。既にご存知のサイトもあるかと思いますが、宜しくお付き合いください。 swtest.jp/wiki http://www.swtest.jp/wiki/index.php?swtest.jp/wiki 最近wiki化され、情報更新が活発になっています。必見です。 StickyMinds.com http://www.stickyminds.com/ コラムなどの読み物が充実しています。 Google Testing Blog http://googletesting.blogspot.com/ グーグルのテストチームのブログです。面白くないはずがありません。 Open source software testing tools http://www.

  • ウノウラボ Unoh Labs: 続・Emacsを自分で拡張するためのTips

    今年の春頃からトリプルディスプレイで仕事しているbokkoです。なんだか同僚の視線が気になりますが、あえて空気を読まないことにしています。 前に「EmacsLispを自分で拡張する際のTips」という記事を書きましたが、今回はその続きです。 EmacsLispは難しい? EmacsLisp(以下、elisp)は難しいという意見をたまに耳にしますが、elisp自体はそれほど難しいものではありません。ただ、関数名がバラバラでややこしかったり、マニュアルが巨大でどこを見ていいのかわからず、目的のことをするための関数が見つからない、といったようにユーザが難しいと感じるのはelispという言語そのものではなく、環境(OS、ウインドウ、バッファなど)とのインタフェースにあるため、結果的にEmacsLispは難しいと感じてしまうことが多いようです。 実際、elispでプログラミングしていて感じるのはウ

  • ウノウラボ Unoh Labs: Emacsを自分で拡張する際のTips

    ウノウでは少数派なEmacsユーザのbokkoです。 今回は自分でEmacsLisp(以下、elisp)を書いてEmacsを拡張する際のTipsについて紹介します。 拡張する際に気に留めておくこと Emacsを拡張する上で覚えておくべきなのはEmacs上で行える対話的な動作は「M-x 関数名」で実現できるということです。例えば、C-bはカーソルを1文字分左へ戻しますが、これは「M-x backward-char」とタイプすることと同じです。もしC-bが押しにくい(多分私だけです)のであれば、以下のようなelispを評価してキーバインドを変更することができます。 (global-set-key "\C-l" 'backward-char) Emacsではこのようなキーバインドに限らず、あらゆる操作をelispを使って変更したり、新たに定義することができます。関数名もしくはキーバインドの一方し

  • ウノウラボ Unoh Labs: 画像の遅延読み込み

    yamaokaです。 webページの表示を高速化する手法にはいろいろありますが、 その一つとして遅延読み込みという手法があります。 初期状態で表示する必要のない要素については読み込まず、 必要になったタイミングで読み込み、表示するようにする手法です。 ページの読み込みにかかる時間の大半を 画像の読み込みが占めている場合が多いので、 画像の読み込みを遅延させるという手法が多く取られます。 検討するべきケース では、画像の遅延読み込みはどのような場合に検討されるべきでしょうか。 最初から表示されている必要がない画像が存在し、その画像のサイズが大きかったり、 そうした画像の数が多い場合は検討してみる価値があると思います。 例えば、次のようなケースです。 初期状態では表示されないブロックに属する画像が存在し、 JavaScriptで表示するかしないかを切り替えているような場合 ページのずーっと下の

  • ウノウラボ Unoh Labs: 「視線を導く」方法あれこれ

    yamazakiです。毎度毎度技術系なこのウノウラボには馴染まない話題を振りまいているわけですが、さてはてどの程度お役に立てているものか…。 今回のテーマは「視線」です。例えばWebサイトは「見てもらう」ことが大事ですし、また、UI設計の場面などでも、「視線をうまく導いてやる」のは使い勝手をよくする上でも大切なことだと思います。といったわけで、ユーザの視線をうまく捕まえてみたり導いてみたりする上で役に立つかもしれない情報を簡単にまとめてみます。 1.視線をつかまえる Web上にも街にも広告だの何だのと情報が氾濫しています。その中で「見てもらう」ためには何かしらの工夫が必要になることがあります。というわけでまずは「人の視線をつかまえる」ための方法論を少し。 「人の顔」を使う まずはこの画像を見てみてください。 01 posted by (C)フォト蔵 最初に、どれを「見てしまいました」か?

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

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

  • ウノウラボ Unoh Labs: ECサイトのユーザビリティ・ガイドライン

    こんばんわ、Sashaです。 最近、ECサイトのリニューアルを計画するお手伝いをする、という仕事がありました。特にユーザビリティ的な観点から、どんなことを網羅したらこのリニューアルを成功させることができるだろうか、ということを考えながら、様々なブログを参考にしたり実際のECサイトを検証したりしていたら、以前私が紹介したユーザビリティ・ガイドラインのようなチェックリスト的なものが出来上がったので、もしかしてどこかのだれかのお役に立つこともあるかもしれない、と思い、ここに紹介させていただきます。 まず、ECサイトで実現したい基的な目標をあげ、その目標に沿って細かく、網羅していきたい事を列挙していきました。 基的な目標とは、次の5項目です。 見つけたい商品・情報を見つけやすくする ユーザーの労力を極力削減する 買いたい気にさせる 購入までのプロセスを簡単にする オンラインショッピング

  • ウノウラボ Unoh Labs: railsのテストをevalを駆使して楽しよう

    こんにちは satoです。 testコードではパフォーマンスやセキュリティをさほど気にすることはないと思うので、testコードで evalを使って楽できるケースを書いてみたいと思います。 よく似たModel で Userと Admin があるとします。 二つの Model には confirm というメソッドが定義されていて、ユーザ登録をしてメールで送られてくる URLを をクリックすると status が 'register' から 'confirm' に変更されます。 class UserTest ["status = ?", 'register']) user.confirm assert(user.status == 'confirm', 'confirm error') end end というテストをUserTest と AdminTest に書きます。 しかし以下のような mo

  • ウノウラボ Unoh Labs: rubyで手軽に暗号化文字列やハッシュ値を生成

    こんにちは django派閥とrails派閥の争いが激しい最近のウノウです。ちなみに若干railsが優勢です。 require 'openssl' def encrypt(aaa, solt = 'solt') enc = OpenSSL::Cipher::Cipher.new('aes256') enc.encrypt enc.pkcs5_keyivgen(solt) ((enc.update(aaa) + enc.final).unpack("H*")).to_s rescue false end def decrypt(bbb, solt = 'solt') dec = OpenSSL::Cipher::Cipher.new('aes256') dec.decrypt dec.pkcs5_keyivgen(solt) (dec.update(Array.new([bbb]).pa

  • ウノウラボ Unoh Labs: バグに効く習慣〜より良いテストを実現する企業文化

    こんにちは! やまもと@テスト番長です。 プロダクトの品質を上げるには、会社ぐるみで品質管理に取り組む意識が重要です。 より良いソフトウェアテストを実現する為の企業文化として、大事だと思うことを幾つか挙げてみたいと思います。 新人にまずやってもらうことは? 新人テスターをいきなりテストに参加させるのは良くありません。製品への理解が深くないと有効なテストは出来ないからです。 まずは製品の仕様を覚えてもらったり、バグレポートの書き方を覚えてもらったりしなくてはいけないのですが、仕様書をポンと渡して、「これを見ながら製品を全部動かしてみて」といった指示を出しても現実味がなくモチベーションは揚がらないでしょう。 最初にやってもらうことは、先輩テスターの書いた障害報告の再テストか、 画面遷移図の更新など手探りで学習しながら行えることが良いと思います。 極力固定したビルドでテストする テスト対象の

  • ウノウラボ Unoh Labs: Global standard programming with GNU Autotools

    尾藤正人です。 UNIXのソフトウェアをインストールするときに、よくやるのが ./configure make make install という手順ですが、この configure スクリプトや Makefile を自動的に生成してくれるツールは GNU Autotools と呼ばれます。 GNU Autotools は使うとすごく便利なんだけど、結構知らない人が多そうだった(実際あまり知らなかった)ので、昨日の勉強会の時に紹介しました。せっかくなので資料を公開します。 プレゼン資料(OpenOffice) プレゼン資料(PowerPoint) bat.tar.gz bat-0.0.1.tar.gz プレゼン資料はOpenOfficeで作りました。念のためPowerPoint用に変換したのもおいておきます。 単に説明だけだと内容がよく分からないので簡単な例として bat コマンドを作

  • ウノウラボ Unoh Labs: ユーザビリティって何だろう?(基本のまとめ)

    こんばんわ、Sashaです。フォト蔵のUI改善への要望が高まっているのをうけて、最近、ユーザビリティについてみんなで考えています。 基の基が気になる私は、「ユーザビリティって何だろう」というところから考えるべく、『ユーザビリティのguru』と呼ばれるJakob Nielsenの「ユーザビリティ」の定義を復習しました。以下はそのまとめです。 ユーザビリティって何だろう? ユーザビリティは、UIがどのくらい使いやすいものであるのかを示す質的属性です。「ユーザビリティ」という言葉は、モノをデザインする過程で「使いやすさ」を改善するための方法でもあります。 ユーザビリティは、次の5つの品質によって表すことができます。 「学習しやすさ」 初めてそのデザインに触れるユーザーが、どれだけ容易に基的なタスクを発見し、遂行できるだろう? 「効率のよさ」 ひとたびそのデザインを学習したユーザーが

  • ウノウラボ Unoh Labs: Web2.0エンジニアのためのJavaScriptリファレンス集

    こんにちは、hideです。 近年のAjax技術の台頭により、Web2.0時代のエンジニアにとってJavaScriptは欠かすことのできない技術となってきました。しかし、2000年頃のWeb1.0時代には低機能な言語として認知されていました。このことは、"Rediscover the JavaScript"と題された次の文章に良く表れていると思います。 10 年。世界が JavaScript の真の実力を発見するのに要した時間である。 1995 年、Netscape 社の Brendan Eich により開発・設計された JavaScript は、「世界で最も誤解されたプログラミング言語」などと呼ばれもした、ともすれば不遇とすらいい得る歳月を経て、あたりのそこここに満ち充ちていた「Web の旧来的なインタラクションの窮屈さを革命したい」という思いによって、ふたたび表舞台に招来された。(S

  • ウノウラボ Unoh Labs: デザインセンスの無い人がwebサイトを作成する際に参考にしているサイト

    こんにちは satoです。 いくら面白くて、高機能なwebサイトを作成しても、デザインがダサいとサイトの魅力や開発意欲は半減です。 僕もまったくデザインセンスが全く無いのですが、新しい物を作成する際には以下のサイトを参考にしています。 (1)Color Scheme Generator 2 デザインの大まかな配色等を決めるのに使用することがあります。 真似するだけで、Coolなサイトに見えるような気がします。 (2)Color Palette Generator ロゴ等の画像を指定すると、その画像に合ったカラースキームを 教えてくれます。 (3)Web 2.0 Colour Palette 有名なサイトのカラースキームの一覧があります。 (4)pmob.co.uk CSSや画面分割などのさまざまなサンプルや解説があります。 (5)logopond さまざまなロゴのサンプルがありま

  • ウノウラボ Unoh Labs: VMwareとCentOSでウェブ開発の環境をさっさと整える手順書(前編)

    最近オイルヒーター,ガスファンヒーター,石油ファンヒーターのどれを買おうか悩みつつPHPのフレームワークはSymfonyにかなり転がりそうなjokagiです. 私が遅いので気を遣ってkomagataさんが先に書いてくださいました. ナイスフォローありがとうございます. さて今回は,先日参加した開発合宿をはじめ最近何度かLinux環境を用意する必要性が連続したので,その辺りの作業を手短にする手順を紹介します. 慣れれば最低限の環境は10分程度,全部で30分あれば十分ウェブ開発に必要な環境を用意できるようになります. とりあえずLinuxはCentOSでバージョン4.4用にServerCDというのがあるので,それとVMware Serverを使います. まずVMware ServerのインストールとCentOSのisoイメージを下記リンクあたりからダウンロードしてください. VMware Se

  • ウノウラボ Unoh Labs: php で 簡単にデバッグする方法

    尾藤正人です。 Ruby で debug する7つの方法 Perl での print debug の方法の紹介がブーム(?)だったので、自分がよく行ってる Ruby での debug 方法7つについて書いてみます。 ということなので、僕が PHP でやってること書いてみたいと思います。 preprint_r() print_r() とか var_dump() だと HTML の中に出してブラウザで見るときにすごく見にくくなります。 そこで preprint_r() という関数を定義して、<pre></pre> で囲んで見やすいように出力しています。 function preprint_r(&$var, $title = '') { echo _preprint_r($var, $title); } function &_preprint_r(&$var, $title = '') { if

  • ウノウラボ Unoh Labs: Dojoで簡単にクロスドメインAjaxを実現

    こんにちわ、hideです。 最近、JavaScriptライブラリのDojoを使い初めて、その便利さに目覚めてしまいました。Ajaxで使用される通常のXMLHttpRequestではセキュリティ上の理由から、現在表示しているページ以外のドメインに対してリクエストを送ることができません。そこで考え出されたのが、JSONP(JSON with padding)という方法です。JavaScriptのインクルードは、同一ドメインでなくても読み込めるという性質を利用しています。 まずは下のボタンを押してみてください。実際にYahoo!から画像検索が実行されます。サーバを介さずにブラウザから直接Yahoo!APIを呼び出しているところがポイントです。 簡単に説明するとこういう仕組みです。次のようにリクエスト時のパラメータとして、callback関数を指定します。 http://example.c

  • ウノウラボ Unoh Labs: linuxで○○が壊れた時の対処法

    こんにちは satoです。 障害の多くの場合はハードディスク障害ですが、実際障害が起きた際に、どのように復旧するかをケース別に書いてみようと思います。 hdd のセクタが壊れた /var/log/message等に kernel: hda: dma_intr: status=0x51などど表示されているとハードディスク障害の可能性が高いです。 badblocks -vs -o hda1.sector /dev/hda1 (かなり時間がかかる)とやると 不良セクタが書き出されたファイル hda1.sector ができます。 fsck -l hda1.sector /dev/hda1 とやると不良セクタを使用しないようになります。いずれにしても早めの交換をお勧めします。 memoryが壊れた http://blog.miraclelinux.com/mita/cat218683/index.